From 14e4ab4367e15549373cc7c8e0d25ff05d6510c6 Mon Sep 17 00:00:00 2001 From: Katerina Patticha Date: Wed, 2 Nov 2022 16:11:03 +0100 Subject: [PATCH 01/37] [APM] Mobile most used pie charts with Lens (#144232) * WIP * Fix eslint * split code * Add unit tests * respect search bar filter * Fix i18n id * Add open in Lens action * Clean up attributes * Organise react components * Move most used chart to service overview * Remove kuery from filters * Pass mobile filters to Lens * Use same ES fields as mobile filters * Fix tests * Clean up code * Fix i18n * Use i18n for lens labels * Address PR comments --- .../elasticsearch_fieldnames.test.ts.snap | 6 +- .../apm/common/elasticsearch_fieldnames.ts | 2 +- x-pack/plugins/apm/kibana.json | 3 +- .../plugins/apm/public/application/index.tsx | 1 + .../most_used_chart.test.tsx.snap | 101 +++++++++++++++ .../most_used_chart/get_lens_attributes.ts | 115 +++++++++++++++++ .../most_used_chart/index.tsx | 122 ++++++++++++++++++ .../most_used_chart/most_used_chart.test.tsx | 102 +++++++++++++++ .../service_oveview_mobile_charts.tsx | 81 +++++++++++- .../use_filters_for_mobile_charts.ts | 4 +- x-pack/plugins/apm/public/plugin.ts | 2 + .../routes/mobile/get_mobile_filters.ts | 4 +- 12 files changed, 532 insertions(+), 11 deletions(-) create mode 100644 x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/__snapshots__/most_used_chart.test.tsx.snap create mode 100644 x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/get_lens_attributes.ts create mode 100644 x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/index.tsx create mode 100644 x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/most_used_chart.test.tsx diff --git a/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap b/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap index d30a32fd04fc3b..ab7a6d4139d4a2 100644 --- a/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap +++ b/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap @@ -45,7 +45,7 @@ exports[`Error CONTAINER_IMAGE 1`] = `undefined`; exports[`Error DESTINATION_ADDRESS 1`] = `undefined`; -exports[`Error DEVICE_MODEL_IDENTIFIER 1`] = `undefined`; +exports[`Error DEVICE_MODEL_NAME 1`] = `undefined`; exports[`Error ERROR_CULPRIT 1`] = `"handleOopsie"`; @@ -310,7 +310,7 @@ exports[`Span CONTAINER_IMAGE 1`] = `undefined`; exports[`Span DESTINATION_ADDRESS 1`] = `undefined`; -exports[`Span DEVICE_MODEL_IDENTIFIER 1`] = `undefined`; +exports[`Span DEVICE_MODEL_NAME 1`] = `undefined`; exports[`Span ERROR_CULPRIT 1`] = `undefined`; @@ -571,7 +571,7 @@ exports[`Transaction CONTAINER_IMAGE 1`] = `undefined`; exports[`Transaction DESTINATION_ADDRESS 1`] = `undefined`; -exports[`Transaction DEVICE_MODEL_IDENTIFIER 1`] = `undefined`; +exports[`Transaction DEVICE_MODEL_NAME 1`] = `undefined`; exports[`Transaction ERROR_CULPRIT 1`] = `undefined`; diff --git a/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts b/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts index 4915dff2da4f30..1734742c31d86d 100644 --- a/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts +++ b/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts @@ -161,5 +161,5 @@ export const TIER = '_tier'; export const INDEX = '_index'; // Mobile -export const DEVICE_MODEL_IDENTIFIER = 'device.model.identifier'; export const NETWORK_CONNECTION_TYPE = 'network.connection.type'; +export const DEVICE_MODEL_NAME = 'device.model.name'; diff --git a/x-pack/plugins/apm/kibana.json b/x-pack/plugins/apm/kibana.json index 9572e06b63483c..ff8f2c24cfd93a 100644 --- a/x-pack/plugins/apm/kibana.json +++ b/x-pack/plugins/apm/kibana.json @@ -21,6 +21,7 @@ "unifiedSearch", "dataViews", "advancedSettings", + "lens", "maps" ], "optionalPlugins": [ @@ -51,4 +52,4 @@ "esUiShared", "maps" ] -} +} \ No newline at end of file diff --git a/x-pack/plugins/apm/public/application/index.tsx b/x-pack/plugins/apm/public/application/index.tsx index c3cf929a402092..438283a9128e4c 100644 --- a/x-pack/plugins/apm/public/application/index.tsx +++ b/x-pack/plugins/apm/public/application/index.tsx @@ -53,6 +53,7 @@ export const renderApp = ({ observabilityRuleTypeRegistry, dataViews: pluginsStart.dataViews, unifiedSearch: pluginsStart.unifiedSearch, + lens: pluginsStart.lens, }; // render APM feedback link in global help menu diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/__snapshots__/most_used_chart.test.tsx.snap b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/__snapshots__/most_used_chart.test.tsx.snap new file mode 100644 index 00000000000000..b98475f93e0aaa --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/__snapshots__/most_used_chart.test.tsx.snap @@ -0,0 +1,101 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Most used chart with Lens gets lens attributes 1`] = ` +Object { + "references": Array [ + Object { + "id": "apm_static_index_pattern_id", + "name": "indexpattern-datasource-layer-host-os-version", + "type": "index-pattern", + }, + ], + "state": Object { + "datasourceStates": Object { + "formBased": Object { + "layers": Object { + "host-os-version": Object { + "columnOrder": Array [ + "termsColumn", + "countColumn", + ], + "columns": Object { + "countColumn": Object { + "dataType": "number", + "isBucketed": false, + "label": "Count of records", + "operationType": "count", + "scale": "ratio", + "sourceField": "___records___", + }, + "termsColumn": Object { + "dataType": "string", + "isBucketed": true, + "label": "Top 5 values of host.os.version", + "operationType": "terms", + "params": Object { + "orderBy": Object { + "columnId": "countColumn", + "type": "column", + }, + "orderDirection": "desc", + "size": 5, + }, + "scale": "ordinal", + "sourceField": "host.os.version", + }, + }, + }, + }, + }, + }, + "filters": Array [ + Object { + "meta": Object {}, + "query": Object { + "term": Object { + "processor.event": "transaction", + }, + }, + }, + Object { + "meta": Object {}, + "query": Object { + "term": Object { + "service.name": "opbeans-swift", + }, + }, + }, + Object { + "meta": Object {}, + "query": Object { + "term": Object { + "transaction.type": "request", + }, + }, + }, + ], + "query": Object { + "language": "kuery", + "query": "", + }, + "visualization": Object { + "layers": Array [ + Object { + "categoryDisplay": "default", + "layerId": "host-os-version", + "layerType": "data", + "legendDisplay": "hide", + "metric": "countColumn", + "numberDisplay": "percent", + "primaryGroups": Array [ + "termsColumn", + ], + }, + ], + "shape": "pie", + }, + }, + "title": "most-used-host-os-version", + "visualizationType": "lnsPie", +} +`; diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/get_lens_attributes.ts b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/get_lens_attributes.ts new file mode 100644 index 00000000000000..87435bbe689691 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/get_lens_attributes.ts @@ -0,0 +1,115 @@ +/* + * 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 { + CountIndexPatternColumn, + TermsIndexPatternColumn, + PersistedIndexPatternLayer, + PieVisualizationState, + TypedLensByValueInput, +} from '@kbn/lens-plugin/public'; +import type { Filter } from '@kbn/es-query'; +import { APM_STATIC_DATA_VIEW_ID } from '../../../../../../common/data_view_constants'; +import { MostUsedMetricTypes } from '.'; + +const BUCKET_SIZE = 5; + +export function getLensAttributes({ + metric, + filters, + kuery = '', +}: { + metric: MostUsedMetricTypes; + filters: Filter[]; + kuery?: string; +}): TypedLensByValueInput['attributes'] { + const metricId = metric.replaceAll('.', '-'); + + const columnA = 'termsColumn'; + const columnB = 'countColumn'; + + const dataLayer: PersistedIndexPatternLayer = { + columnOrder: [columnA, columnB], + columns: { + [columnA]: { + label: i18n.translate( + 'xpack.apm.serviceOverview.lensFlyout.topValues', + { + defaultMessage: 'Top {BUCKET_SIZE} values of {metric}', + values: { + BUCKET_SIZE, + metric, + }, + } + ), + dataType: 'string', + operationType: 'terms', + scale: 'ordinal', + sourceField: metric, + isBucketed: true, + params: { + size: BUCKET_SIZE, + orderBy: { + type: 'column', + columnId: columnB, + }, + orderDirection: 'desc', + }, + } as TermsIndexPatternColumn, + [columnB]: { + label: i18n.translate( + 'xpack.apm.serviceOverview.lensFlyout.countRecords', + { + defaultMessage: 'Count of records', + } + ), + dataType: 'number', + operationType: 'count', + scale: 'ratio', + isBucketed: false, + sourceField: '___records___', + } as CountIndexPatternColumn, + }, + }; + + return { + title: `most-used-${metricId}`, + visualizationType: 'lnsPie', + references: [ + { + type: 'index-pattern', + id: APM_STATIC_DATA_VIEW_ID, + name: `indexpattern-datasource-layer-${metricId}`, + }, + ], + state: { + visualization: { + shape: 'pie', + layers: [ + { + layerId: metricId, + primaryGroups: [columnA], + metric: columnB, + categoryDisplay: 'default', + legendDisplay: 'hide', + numberDisplay: 'percent', + layerType: 'data', + }, + ], + } as PieVisualizationState, + datasourceStates: { + formBased: { + layers: { + [metricId]: dataLayer, + }, + }, + }, + filters, + query: { language: 'kuery', query: kuery }, + }, + }; +} diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/index.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/index.tsx new file mode 100644 index 00000000000000..b78df50106e7ee --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/index.tsx @@ -0,0 +1,122 @@ +/* + * 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 { EuiTitle, EuiFlexItem, EuiPanel } from '@elastic/eui'; +import React, { useMemo, useCallback } from 'react'; +import type { Filter } from '@kbn/es-query'; +import { i18n } from '@kbn/i18n'; +import { ViewMode } from '@kbn/embeddable-plugin/public'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; +import { ApmPluginStartDeps } from '../../../../../plugin'; +import { getLensAttributes } from './get_lens_attributes'; +import { + DEVICE_MODEL_NAME, + HOST_OS_VERSION, + NETWORK_CONNECTION_TYPE, + SERVICE_VERSION, +} from '../../../../../../common/elasticsearch_fieldnames'; + +export type MostUsedMetricTypes = + | typeof DEVICE_MODEL_NAME + | typeof SERVICE_VERSION + | typeof HOST_OS_VERSION + | typeof NETWORK_CONNECTION_TYPE; + +export function MostUsedChart({ + title, + start, + end, + kuery, + filters, + metric, +}: { + title: React.ReactNode; + start: string; + end: string; + kuery?: string; + filters: Filter[]; + metric: MostUsedMetricTypes; +}) { + const { services } = useKibana(); + const { + lens: { EmbeddableComponent, navigateToPrefilledEditor, canUseEditor }, + } = services; + + const lensAttributes = useMemo( + () => + getLensAttributes({ + kuery, + filters, + metric, + }), + [kuery, filters, metric] + ); + + const openInLens = useCallback(() => { + if (lensAttributes) { + navigateToPrefilledEditor( + { + id: `dataVisualizer-${metric}`, + timeRange: { + from: start, + to: end, + }, + attributes: lensAttributes, + }, + { + openInNewTab: true, + } + ); + } + }, [navigateToPrefilledEditor, lensAttributes, start, end, metric]); + + const getOpenInLensAction = () => { + return { + id: 'openInLens', + type: 'link', + getDisplayName() { + return i18n.translate('xpack.apm.serviceOverview.openInLens', { + defaultMessage: 'Open in Lens', + }); + }, + getIconType() { + return 'visArea'; + }, + async isCompatible() { + return true; + }, + async execute() { + openInLens(); + return; + }, + }; + }; + + return ( + + + +

{title}

+
+
+ + + +
+ ); +} diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/most_used_chart.test.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/most_used_chart.test.tsx new file mode 100644 index 00000000000000..fa4a5bf3657f67 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/most_used_chart.test.tsx @@ -0,0 +1,102 @@ +/* + * 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 { render } from '@testing-library/react'; +import { MemoryRouter } from 'react-router-dom'; +import { CoreStart } from '@kbn/core/public'; +import React, { ReactNode } from 'react'; +import { createKibanaReactContext } from '@kbn/kibana-react-plugin/public'; +import { MockApmPluginContextWrapper } from '../../../../../context/apm_plugin/mock_apm_plugin_context'; +import { getLensAttributes } from './get_lens_attributes'; +import { MostUsedChart, MostUsedMetricTypes } from '.'; +import { HOST_OS_VERSION } from '../../../../../../common/elasticsearch_fieldnames'; + +const mockEmbeddableComponent = jest.fn(); + +function Wrapper({ children }: { children?: ReactNode }) { + const KibanaReactContext = createKibanaReactContext({ + lens: { + EmbeddableComponent: mockEmbeddableComponent.mockReturnValue( +
+ ), + canUseEditor: jest.fn(() => true), + navigateToPrefilledEditor: jest.fn(), + }, + } as Partial); + + return ( + + + {children} + + + ); +} + +const renderOptions = { wrapper: Wrapper }; + +describe('Most used chart with Lens', () => { + const props = { + metric: HOST_OS_VERSION as MostUsedMetricTypes, + filters: [ + { + meta: {}, + query: { + term: { + 'processor.event': 'transaction', + }, + }, + }, + { + meta: {}, + query: { + term: { + 'service.name': 'opbeans-swift', + }, + }, + }, + { + meta: {}, + query: { + term: { + 'transaction.type': 'request', + }, + }, + }, + ], + }; + test('gets lens attributes', () => { + expect(getLensAttributes(props)).toMatchSnapshot(); + }); + + test('Renders most used chart with Lens', () => { + const start = '2022-10-30T20%3A52%3A47.080Z'; + const end = '2022-10-31T20%3A52%3A47.080Z'; + + render( + , + renderOptions + ); + + expect(mockEmbeddableComponent).toHaveBeenCalledTimes(1); + expect(mockEmbeddableComponent.mock.calls[0][0]).toEqual( + expect.objectContaining({ + timeRange: { + from: start, + to: end, + }, + attributes: getLensAttributes(props), + }) + ); + }); +}); diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx index cf603a189e1782..62e8743049552a 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx @@ -18,10 +18,16 @@ import { TransactionsTable } from '../../../shared/transactions_table'; import { AggregatedTransactionsBadge } from '../../../shared/aggregated_transactions_badge'; import { useApmParams } from '../../../../hooks/use_apm_params'; import { useTimeRange } from '../../../../hooks/use_time_range'; +import { MostUsedChart } from './most_used_chart'; import { LatencyMap } from './latency_map'; import { MobileFilters } from './filters'; import { useFiltersForMobileCharts } from './use_filters_for_mobile_charts'; - +import { + DEVICE_MODEL_NAME, + HOST_OS_VERSION, + NETWORK_CONNECTION_TYPE, + SERVICE_VERSION, +} from '../../../../../common/elasticsearch_fieldnames'; interface Props { latencyChartHeight: number; rowDirection: 'column' | 'row'; @@ -46,10 +52,10 @@ export function ServiceOverviewMobileCharts({ kuery, rangeFrom, rangeTo, + netConnectionType, device, osVersion, appVersion, - netConnectionType, }, } = useApmParams('/services/{serviceName}/overview'); @@ -148,11 +154,82 @@ export function ServiceOverviewMobileCharts({ + + + + + {/* Device */} + + + + {/* NCT */} + + + + + + + + {/* OS Version */} + + + + {/* App version */} + + + + + ); } diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts index 5116a794949787..2c79c5a34dc75c 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts @@ -16,7 +16,7 @@ import { TRANSACTION_TYPE, PROCESSOR_EVENT, HOST_OS_VERSION, - DEVICE_MODEL_IDENTIFIER, + DEVICE_MODEL_NAME, NETWORK_CONNECTION_TYPE, SERVICE_VERSION, } from '../../../../../common/elasticsearch_fieldnames'; @@ -52,7 +52,7 @@ export function useFiltersForMobileCharts() { ...termQuery(SERVICE_NAME, serviceName), ...termQuery(TRANSACTION_TYPE, transactionType), ...termQuery(HOST_OS_VERSION, osVersion), - ...termQuery(DEVICE_MODEL_IDENTIFIER, device), + ...termQuery(DEVICE_MODEL_NAME, device), ...termQuery(NETWORK_CONNECTION_TYPE, netConnectionType), ...termQuery(SERVICE_VERSION, appVersion), ...environmentQuery(environment), diff --git a/x-pack/plugins/apm/public/plugin.ts b/x-pack/plugins/apm/public/plugin.ts index 0b3137ee6ad998..0ea3fa56d1dda8 100644 --- a/x-pack/plugins/apm/public/plugin.ts +++ b/x-pack/plugins/apm/public/plugin.ts @@ -21,6 +21,7 @@ import type { DataPublicPluginStart, DataPublicPluginSetup, } from '@kbn/data-plugin/public'; +import { LensPublicStart } from '@kbn/lens-plugin/public'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import type { EmbeddableStart } from '@kbn/embeddable-plugin/public'; import type { HomePublicPluginSetup } from '@kbn/home-plugin/public'; @@ -97,6 +98,7 @@ export interface ApmPluginStartDeps { dataViews: DataViewsPublicPluginStart; unifiedSearch: UnifiedSearchPublicPluginStart; storage: IStorageWrapper; + lens: LensPublicStart; } const servicesTitle = i18n.translate('xpack.apm.navigation.servicesTitle', { diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts index 3bbd43e8ca9ec7..2aac36c721ba1e 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts @@ -12,7 +12,7 @@ import { rangeQuery, } from '@kbn/observability-plugin/server'; import { - DEVICE_MODEL_IDENTIFIER, + DEVICE_MODEL_NAME, HOST_OS_VERSION, NETWORK_CONNECTION_TYPE, SERVICE_NAME, @@ -76,7 +76,7 @@ export async function getMobileFilters({ aggs: { devices: { terms: { - field: DEVICE_MODEL_IDENTIFIER, + field: DEVICE_MODEL_NAME, size: 10, }, }, From 79f3e448733153304f4dcf8d0117f050f1e9a8e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20=C3=81brah=C3=A1m?= Date: Wed, 2 Nov 2022 16:14:21 +0100 Subject: [PATCH 02/37] [Security Solution][Endpoint] Guided onboarding configures events only for endpoint policy (#144087) * update comment * use previous setting instead of possibly enabling features * disable protections for default Endpoint config * refactor tests * extract config preset selection logic * fix fleet_integration jest tests * use original logic for basic tier policy factory * update tests for `disableProtections` * apply license limitations as the final step Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../common/endpoint/models/policy_config.ts | 8 +- .../models/policy_config_helpers.test.ts | 175 ++++++++++++++++++ .../endpoint/models/policy_config_helpers.ts | 105 +++++++++++ .../fleet_integration.test.ts | 3 +- .../handlers/create_default_policy.test.ts | 54 +++++- .../handlers/create_default_policy.ts | 43 +++-- 6 files changed, 360 insertions(+), 28 deletions(-) create mode 100644 x-pack/plugins/security_solution/common/endpoint/models/policy_config_helpers.test.ts create mode 100644 x-pack/plugins/security_solution/common/endpoint/models/policy_config_helpers.ts diff --git a/x-pack/plugins/security_solution/common/endpoint/models/policy_config.ts b/x-pack/plugins/security_solution/common/endpoint/models/policy_config.ts index 1b3c3105121e5b..eb5389586b2a83 100644 --- a/x-pack/plugins/security_solution/common/endpoint/models/policy_config.ts +++ b/x-pack/plugins/security_solution/common/endpoint/models/policy_config.ts @@ -200,7 +200,7 @@ export const policyFactoryWithoutPaidFeatures = ( ...policy.windows.popup, malware: { message: '', - enabled: true, + enabled: true, // disabling/configuring malware popup is a paid feature }, ransomware: { message: '', @@ -230,7 +230,7 @@ export const policyFactoryWithoutPaidFeatures = ( ...policy.mac.popup, malware: { message: '', - enabled: true, + enabled: true, // disabling/configuring malware popup is a paid feature }, memory_protection: { message: '', @@ -256,7 +256,7 @@ export const policyFactoryWithoutPaidFeatures = ( ...policy.linux.popup, malware: { message: '', - enabled: true, + enabled: true, // disabling/configuring malware popup is a paid feature }, memory_protection: { message: '', @@ -272,7 +272,7 @@ export const policyFactoryWithoutPaidFeatures = ( }; /** - * Strips paid features from an existing or new `PolicyConfig` for gold and below license + * Enables support for paid features for an existing or new `PolicyConfig` for platinum and above license */ export const policyFactoryWithSupportedFeatures = ( policy: PolicyConfig = policyFactory() diff --git a/x-pack/plugins/security_solution/common/endpoint/models/policy_config_helpers.test.ts b/x-pack/plugins/security_solution/common/endpoint/models/policy_config_helpers.test.ts new file mode 100644 index 00000000000000..d5ba6d03cd4302 --- /dev/null +++ b/x-pack/plugins/security_solution/common/endpoint/models/policy_config_helpers.test.ts @@ -0,0 +1,175 @@ +/* + * 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 { PolicyConfig } from '../types'; +import { ProtectionModes } from '../types'; +import { policyFactory } from './policy_config'; +import { disableProtections } from './policy_config_helpers'; + +describe('Policy Config helpers', () => { + describe('disableProtections', () => { + it('disables all the protections in the default policy', () => { + expect(disableProtections(policyFactory())).toEqual(eventsOnlyPolicy); + }); + + it('does not enable supported fields', () => { + const defaultPolicy: PolicyConfig = policyFactory(); + + const notSupported: PolicyConfig['windows']['memory_protection'] = { + mode: ProtectionModes.off, + supported: false, + }; + + const inputPolicyWithoutSupportedProtections: PolicyConfig = { + ...defaultPolicy, + windows: { + ...defaultPolicy.windows, + memory_protection: notSupported, + behavior_protection: notSupported, + ransomware: notSupported, + }, + mac: { + ...defaultPolicy.mac, + memory_protection: notSupported, + behavior_protection: notSupported, + }, + linux: { + ...defaultPolicy.linux, + memory_protection: notSupported, + behavior_protection: notSupported, + }, + }; + + const expectedPolicyWithoutSupportedProtections: PolicyConfig = { + ...eventsOnlyPolicy, + windows: { + ...eventsOnlyPolicy.windows, + memory_protection: notSupported, + behavior_protection: notSupported, + ransomware: notSupported, + }, + mac: { + ...eventsOnlyPolicy.mac, + memory_protection: notSupported, + behavior_protection: notSupported, + }, + linux: { + ...eventsOnlyPolicy.linux, + memory_protection: notSupported, + behavior_protection: notSupported, + }, + }; + + const policy = disableProtections(inputPolicyWithoutSupportedProtections); + + expect(policy).toEqual(expectedPolicyWithoutSupportedProtections); + }); + + it('does not enable events', () => { + const defaultPolicy: PolicyConfig = policyFactory(); + + const windowsEvents: typeof defaultPolicy.windows.events = { + dll_and_driver_load: false, + dns: false, + file: false, + network: false, + process: false, + registry: false, + security: false, + }; + + const macEvents: typeof defaultPolicy.mac.events = { + file: false, + process: false, + network: false, + }; + + const linuxEvents: typeof defaultPolicy.linux.events = { + file: false, + process: false, + network: false, + session_data: false, + tty_io: false, + }; + + const expectedPolicy: PolicyConfig = { + ...eventsOnlyPolicy, + windows: { ...eventsOnlyPolicy.windows, events: { ...windowsEvents } }, + mac: { ...eventsOnlyPolicy.mac, events: { ...macEvents } }, + linux: { ...eventsOnlyPolicy.linux, events: { ...linuxEvents } }, + }; + + const inputPolicy = { + ...defaultPolicy, + windows: { ...defaultPolicy.windows, events: { ...windowsEvents } }, + mac: { ...defaultPolicy.mac, events: { ...macEvents } }, + linux: { ...defaultPolicy.linux, events: { ...linuxEvents } }, + }; + + expect(disableProtections(inputPolicy)).toEqual(expectedPolicy); + }); + }); +}); + +// This constant makes sure that if the type `PolicyConfig` is ever modified, +// the logic for disabling protections is also modified due to type check. +export const eventsOnlyPolicy: PolicyConfig = { + windows: { + events: { + dll_and_driver_load: true, + dns: true, + file: true, + network: true, + process: true, + registry: true, + security: true, + }, + malware: { mode: ProtectionModes.off, blocklist: false }, + ransomware: { mode: ProtectionModes.off, supported: true }, + memory_protection: { mode: ProtectionModes.off, supported: true }, + behavior_protection: { mode: ProtectionModes.off, supported: true }, + popup: { + malware: { message: '', enabled: false }, + ransomware: { message: '', enabled: false }, + memory_protection: { message: '', enabled: false }, + behavior_protection: { message: '', enabled: false }, + }, + logging: { file: 'info' }, + antivirus_registration: { enabled: false }, + attack_surface_reduction: { credential_hardening: { enabled: false } }, + }, + mac: { + events: { process: true, file: true, network: true }, + malware: { mode: ProtectionModes.off, blocklist: false }, + behavior_protection: { mode: ProtectionModes.off, supported: true }, + memory_protection: { mode: ProtectionModes.off, supported: true }, + popup: { + malware: { message: '', enabled: false }, + behavior_protection: { message: '', enabled: false }, + memory_protection: { message: '', enabled: false }, + }, + logging: { file: 'info' }, + }, + linux: { + events: { + process: true, + file: true, + network: true, + session_data: false, + tty_io: false, + }, + malware: { mode: ProtectionModes.off, blocklist: false }, + behavior_protection: { mode: ProtectionModes.off, supported: true }, + memory_protection: { mode: ProtectionModes.off, supported: true }, + popup: { + malware: { message: '', enabled: false }, + behavior_protection: { message: '', enabled: false }, + memory_protection: { message: '', enabled: false }, + }, + logging: { file: 'info' }, + }, +}; diff --git a/x-pack/plugins/security_solution/common/endpoint/models/policy_config_helpers.ts b/x-pack/plugins/security_solution/common/endpoint/models/policy_config_helpers.ts new file mode 100644 index 00000000000000..27a15e0be5401f --- /dev/null +++ b/x-pack/plugins/security_solution/common/endpoint/models/policy_config_helpers.ts @@ -0,0 +1,105 @@ +/* + * 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 { PolicyConfig } from '../types'; +import { ProtectionModes } from '../types'; + +/** + * Returns a copy of the passed `PolicyConfig` with all protections set to disabled. + * + * @param policy + * @returns + */ +export const disableProtections = (policy: PolicyConfig): PolicyConfig => { + const result = disableCommonProtections(policy); + + return { + ...result, + windows: { + ...result.windows, + ...getDisabledWindowsSpecificProtections(result), + popup: { + ...result.windows.popup, + ...getDisabledWindowsSpecificPopups(result), + }, + }, + }; +}; + +const disableCommonProtections = (policy: PolicyConfig) => { + let policyOutput = policy; + + for (const key in policyOutput) { + if (Object.prototype.hasOwnProperty.call(policyOutput, key)) { + const os = key as keyof PolicyConfig; + + policyOutput = { + ...policyOutput, + [os]: { + ...policyOutput[os], + ...getDisabledCommonProtectionsForOS(policyOutput, os), + popup: { + ...policyOutput[os].popup, + ...getDisabledCommonPopupsForOS(policyOutput, os), + }, + }, + }; + } + } + return policyOutput; +}; + +const getDisabledCommonProtectionsForOS = (policy: PolicyConfig, os: keyof PolicyConfig) => ({ + behavior_protection: { + ...policy[os].behavior_protection, + mode: ProtectionModes.off, + }, + memory_protection: { + ...policy[os].memory_protection, + mode: ProtectionModes.off, + }, + malware: { + ...policy[os].malware, + blocklist: false, + mode: ProtectionModes.off, + }, +}); + +const getDisabledCommonPopupsForOS = (policy: PolicyConfig, os: keyof PolicyConfig) => ({ + behavior_protection: { + ...policy[os].popup.behavior_protection, + enabled: false, + }, + malware: { + ...policy[os].popup.malware, + enabled: false, + }, + memory_protection: { + ...policy[os].popup.memory_protection, + enabled: false, + }, +}); + +const getDisabledWindowsSpecificProtections = (policy: PolicyConfig) => ({ + ransomware: { + ...policy.windows.ransomware, + mode: ProtectionModes.off, + }, + attack_surface_reduction: { + ...policy.windows.attack_surface_reduction, + credential_hardening: { + enabled: false, + }, + }, +}); + +const getDisabledWindowsSpecificPopups = (policy: PolicyConfig) => ({ + ransomware: { + ...policy.windows.popup.ransomware, + enabled: false, + }, +}); diff --git a/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts b/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts index 17d1d8f9a92957..44f9a8bafae3d1 100644 --- a/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts +++ b/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts @@ -47,6 +47,7 @@ import type { DeletePackagePoliciesResponse } from '@kbn/fleet-plugin/common'; import { createMockPolicyData } from '../endpoint/services/feature_usage/mocks'; import { ALL_ENDPOINT_ARTIFACT_LIST_IDS } from '../../common/endpoint/service/artifacts/constants'; import { ENDPOINT_EVENT_FILTERS_LIST_ID } from '@kbn/securitysolution-list-constants'; +import { disableProtections } from '../../common/endpoint/models/policy_config_helpers'; jest.mock('uuid', () => ({ v4: (): string => 'NEW_UUID', @@ -89,7 +90,7 @@ describe('ingest_integration tests ', () => { streams: [], config: { integration_config: {}, - policy: { value: policyFactory() }, + policy: { value: disableProtections(policyFactory()) }, artifact_manifest: { value: manifest }, }, }); diff --git a/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts b/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts index 73440a310b625c..916d3adbe96ae1 100644 --- a/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts +++ b/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts @@ -9,11 +9,9 @@ import type { ILicense } from '@kbn/licensing-plugin/common/types'; import { licenseMock } from '@kbn/licensing-plugin/common/licensing.mock'; import { LicenseService } from '../../../common/license'; import { createDefaultPolicy } from './create_default_policy'; +import { ProtectionModes } from '../../../common/endpoint/types'; import type { PolicyConfig } from '../../../common/endpoint/types'; -import { - policyFactory as policyConfigFactory, - policyFactoryWithoutPaidFeatures as policyConfigFactoryWithoutPaidFeatures, -} from '../../../common/endpoint/models/policy_config'; +import { policyFactory } from '../../../common/endpoint/models/policy_config'; import type { AnyPolicyCreateConfig, PolicyCreateCloudConfig, @@ -37,16 +35,52 @@ describe('Create Default Policy tests ', () => { licenseEmitter.next(Platinum); // set license level to platinum }); describe('When no config is set', () => { - it('Should return the Default Policy Config when license is at least platinum', () => { + it('Should return PolicyConfig for events only when license is at least platinum', () => { + const defaultPolicy = policyFactory(); + const policy = createDefaultPolicyCallback(undefined); - expect(policy).toEqual(policyConfigFactory()); + + // events are the same + expect(policy.windows.events).toEqual(defaultPolicy.windows.events); + expect(policy.linux.events).toEqual(defaultPolicy.linux.events); + expect(policy.mac.events).toEqual(defaultPolicy.mac.events); + + // check some of the protections to be disabled + const disabledButSupported = { mode: ProtectionModes.off, supported: true }; + expect(policy.windows.behavior_protection).toEqual(disabledButSupported); + expect(policy.mac.memory_protection).toEqual(disabledButSupported); + expect(policy.linux.behavior_protection).toEqual(disabledButSupported); + + // malware popups should be disabled + expect(policy.windows.popup.malware.enabled).toBeFalsy(); + expect(policy.mac.popup.malware.enabled).toBeFalsy(); + expect(policy.linux.popup.malware.enabled).toBeFalsy(); }); - it('Should return the Default Policy Config without paid features when license is below platinum', () => { + + it('Should return PolicyConfig for events only without paid features when license is below platinum', () => { + const defaultPolicy = policyFactory(); licenseEmitter.next(Gold); + const policy = createDefaultPolicyCallback(undefined); - expect(policy).toEqual(policyConfigFactoryWithoutPaidFeatures()); + + // events are the same + expect(policy.windows.events).toEqual(defaultPolicy.windows.events); + expect(policy.linux.events).toEqual(defaultPolicy.linux.events); + expect(policy.mac.events).toEqual(defaultPolicy.mac.events); + + // check some of the protections to be disabled and unsupported + const disabledAndUnsupported = { mode: ProtectionModes.off, supported: false }; + expect(policy.windows.behavior_protection).toEqual(disabledAndUnsupported); + expect(policy.mac.memory_protection).toEqual(disabledAndUnsupported); + expect(policy.linux.behavior_protection).toEqual(disabledAndUnsupported); + + // malware popups are enabled on unpaid license + expect(policy.windows.popup.malware.enabled).toBeTruthy(); + expect(policy.mac.popup.malware.enabled).toBeTruthy(); + expect(policy.linux.popup.malware.enabled).toBeTruthy(); }); }); + describe('When endpoint config is set', () => { const createEndpointConfig = ( endpointConfig: PolicyCreateEndpointConfig['endpointConfig'] @@ -112,8 +146,8 @@ describe('Create Default Policy tests ', () => { it('Should return the default config when preset is EDR Complete', () => { const config = createEndpointConfig({ preset: 'EDRComplete' }); const policy = createDefaultPolicyCallback(config); - const policyFactory = policyConfigFactory(); - expect(policy).toMatchObject(policyFactory); + const defaultPolicy = policyFactory(); + expect(policy).toMatchObject(defaultPolicy); }); }); describe('When cloud config is set', () => { diff --git a/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.ts b/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.ts index a2da989a9c08da..9e598198ba9a09 100644 --- a/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.ts +++ b/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.ts @@ -10,11 +10,15 @@ import { policyFactoryWithoutPaidFeatures as policyConfigFactoryWithoutPaidFeatures, } from '../../../common/endpoint/models/policy_config'; import type { LicenseService } from '../../../common/license/license'; -import { isAtLeast } from '../../../common/license/license'; import { ProtectionModes } from '../../../common/endpoint/types'; import type { PolicyConfig } from '../../../common/endpoint/types'; import type { AnyPolicyCreateConfig, PolicyCreateEndpointConfig } from '../types'; -import { ENDPOINT_CONFIG_PRESET_EDR_ESSENTIAL, ENDPOINT_CONFIG_PRESET_NGAV } from '../constants'; +import { + ENDPOINT_CONFIG_PRESET_EDR_COMPLETE, + ENDPOINT_CONFIG_PRESET_EDR_ESSENTIAL, + ENDPOINT_CONFIG_PRESET_NGAV, +} from '../constants'; +import { disableProtections } from '../../../common/endpoint/models/policy_config_helpers'; /** * Create the default endpoint policy based on the current license and configuration type @@ -23,19 +27,21 @@ export const createDefaultPolicy = ( licenseService: LicenseService, config: AnyPolicyCreateConfig | undefined ): PolicyConfig => { - const policy = isAtLeast(licenseService.getLicenseInformation(), 'platinum') - ? policyConfigFactory() - : policyConfigFactoryWithoutPaidFeatures(); + const factoryPolicy = policyConfigFactory(); - if (config?.type === 'cloud') { - return getCloudPolicyConfig(policy); - } + const defaultPolicyPerType = + config?.type === 'cloud' + ? getCloudPolicyConfig(factoryPolicy) + : getEndpointPolicyWithIntegrationConfig(factoryPolicy, config); - return getEndpointPolicyWithIntegrationConfig(policy, config); + // Apply license limitations in the final step, so it's not overriden (see malware popup) + return licenseService.isPlatinumPlus() + ? defaultPolicyPerType + : policyConfigFactoryWithoutPaidFeatures(defaultPolicyPerType); }; /** - * Set all keys of the given object to false + * Create a copy of an object with all keys set to false */ const falsyObjectKeys = >(obj: T): T => { return Object.keys(obj).reduce((accumulator, key) => { @@ -43,6 +49,14 @@ const falsyObjectKeys = >(obj: T): T => { }, {} as T); }; +const getEndpointPolicyConfigPreset = (config: PolicyCreateEndpointConfig | undefined) => { + const isNGAV = config?.endpointConfig?.preset === ENDPOINT_CONFIG_PRESET_NGAV; + const isEDREssential = config?.endpointConfig?.preset === ENDPOINT_CONFIG_PRESET_EDR_ESSENTIAL; + const isEDRComplete = config?.endpointConfig?.preset === ENDPOINT_CONFIG_PRESET_EDR_COMPLETE; + + return { isNGAV, isEDREssential, isEDRComplete }; +}; + /** * Retrieve policy for endpoint based on the preset selected in the endpoint integration config */ @@ -50,9 +64,11 @@ const getEndpointPolicyWithIntegrationConfig = ( policy: PolicyConfig, config: PolicyCreateEndpointConfig | undefined ): PolicyConfig => { - const isEDREssential = config?.endpointConfig?.preset === ENDPOINT_CONFIG_PRESET_EDR_ESSENTIAL; + const { isNGAV, isEDREssential, isEDRComplete } = getEndpointPolicyConfigPreset(config); - if (config?.endpointConfig?.preset === ENDPOINT_CONFIG_PRESET_NGAV || isEDREssential) { + if (isEDRComplete) { + return policy; + } else if (isNGAV || isEDREssential) { const events = { process: true, file: isEDREssential, @@ -85,7 +101,8 @@ const getEndpointPolicyWithIntegrationConfig = ( }; } - return policy; + // data collection by default + return disableProtections(policy); }; /** From 2db1920f94d548afda38ae22e4916c4acaf61e8e Mon Sep 17 00:00:00 2001 From: Yaroslav Kuznietsov Date: Wed, 2 Nov 2022 17:19:06 +0200 Subject: [PATCH 03/37] [Lens] Legacy metric expression types improvement. (#144236) * FontFn converted to builder. * labelFontFn added. * visdimensionFn added. * Added legacyMetricVisFn. * Added expression-legacy-metric-plugin as optional dependency to lens. --- .../expression_functions/vis_dimension.ts | 6 +- x-pack/plugins/lens/kibana.json | 1 + .../legacy_metric/visualization.test.ts | 4 +- .../legacy_metric/visualization.tsx | 119 ++++++++---------- x-pack/plugins/lens/tsconfig.json | 1 + 5 files changed, 58 insertions(+), 73 deletions(-) diff --git a/src/plugins/visualizations/common/expression_functions/vis_dimension.ts b/src/plugins/visualizations/common/expression_functions/vis_dimension.ts index 99574e1c367567..88397e9218563b 100644 --- a/src/plugins/visualizations/common/expression_functions/vis_dimension.ts +++ b/src/plugins/visualizations/common/expression_functions/vis_dimension.ts @@ -32,12 +32,14 @@ export type ExpressionValueVisDimension = ExpressionValueBoxed< } >; -export const visDimension = (): ExpressionFunctionDefinition< +export type ExpressionFunctionVisDimension = ExpressionFunctionDefinition< 'visdimension', Datatable, Arguments, ExpressionValueVisDimension -> => ({ +>; + +export const visDimension = (): ExpressionFunctionVisDimension => ({ name: 'visdimension', help: i18n.translate('visualizations.function.visDimension.help', { defaultMessage: 'Generates visConfig dimension object', diff --git a/x-pack/plugins/lens/kibana.json b/x-pack/plugins/lens/kibana.json index 5f0b48608dab09..6921d2afa5082c 100644 --- a/x-pack/plugins/lens/kibana.json +++ b/x-pack/plugins/lens/kibana.json @@ -31,6 +31,7 @@ "unifiedFieldList" ], "optionalPlugins": [ + "expressionLegacyMetricVis", "usageCollection", "taskManager", "globalSearch", diff --git a/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.test.ts b/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.test.ts index 517e331634880d..6724b9aafa0d1e 100644 --- a/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.test.ts +++ b/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.test.ts @@ -368,7 +368,9 @@ describe('metric_visualization', () => { "type": "expression", }, ], - "palette": Array [], + "percentageMode": Array [ + false, + ], "showLabels": Array [ true, ], diff --git a/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.tsx b/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.tsx index c4546fc8e71412..c98aa37dfd641b 100644 --- a/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.tsx +++ b/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.tsx @@ -16,6 +16,15 @@ import { ColorMode, CustomPaletteState } from '@kbn/charts-plugin/common'; import { VIS_EVENT_TO_TRIGGER } from '@kbn/visualizations-plugin/public'; import { IconChartMetric } from '@kbn/chart-icons'; import { LayerTypes } from '@kbn/expression-xy-plugin/public'; +import { + buildExpression, + buildExpressionFunction, + ExpressionFunctionFont, + FontWeight, + TextAlignment, +} from '@kbn/expressions-plugin/common'; +import { ExpressionFunctionVisDimension } from '@kbn/visualizations-plugin/common'; +import type { MetricVisExpressionFunctionDefinition } from '@kbn/expression-legacy-metric-vis-plugin/common'; import { getSuggestions } from './metric_suggestions'; import { Visualization, OperationMetadata, DatasourceLayers } from '../../types'; import type { LegacyMetricState } from '../../../common/types'; @@ -97,78 +106,48 @@ const toExpression = ( }; const metricFontSize = labelToMetricFontSizeMap[state?.size || DEFAULT_TITLE_SIZE]; + const fontFn = buildExpressionFunction('font', { + align: (state?.textAlign || DEFAULT_TEXT_ALIGNMENT) as TextAlignment, + size: metricFontSize, + weight: '600' as FontWeight, + lHeight: metricFontSize * 1.5, + sizeUnit: labelFont.sizeUnit, + }); + + const labelFontFn = buildExpressionFunction('font', { + align: (state?.textAlign || DEFAULT_TEXT_ALIGNMENT) as TextAlignment, + size: labelFont.size, + lHeight: labelFont.size * 1.5, + sizeUnit: labelFont.sizeUnit, + }); + + const visdimensionFn = buildExpressionFunction('visdimension', { + accessor: state.accessor, + }); + + const legacyMetricVisFn = buildExpressionFunction( + 'legacyMetricVis', + { + autoScaleMetricAlignment: state?.autoScaleMetricAlignment, + labelPosition: state?.titlePosition || DEFAULT_TITLE_POSITION, + font: buildExpression([fontFn]), + labelFont: buildExpression([labelFontFn]), + metric: buildExpression([visdimensionFn]), + showLabels: !attributes?.mode || attributes?.mode === 'full', + colorMode: !canColor ? ColorMode.None : state?.colorMode || ColorMode.None, + autoScale: true, + colorFullBackground: true, + palette: + state?.colorMode && state?.colorMode !== ColorMode.None + ? paletteService.get(CUSTOM_PALETTE).toExpression(paletteParams) + : undefined, + percentageMode: false, + } + ); + return { type: 'expression', - chain: [ - ...(datasourceExpression?.chain ?? []), - { - type: 'function', - function: 'legacyMetricVis', - arguments: { - ...(state?.autoScaleMetricAlignment - ? { autoScaleMetricAlignment: [state?.autoScaleMetricAlignment] } - : {}), - labelPosition: [state?.titlePosition || DEFAULT_TITLE_POSITION], - font: [ - { - type: 'expression', - chain: [ - { - type: 'function', - function: 'font', - arguments: { - align: [state?.textAlign || DEFAULT_TEXT_ALIGNMENT], - size: [metricFontSize], - weight: ['600'], - lHeight: [metricFontSize * 1.5], - sizeUnit: [labelFont.sizeUnit], - }, - }, - ], - }, - ], - labelFont: [ - { - type: 'expression', - chain: [ - { - type: 'function', - function: 'font', - arguments: { - align: [state?.textAlign || DEFAULT_TEXT_ALIGNMENT], - size: [labelFont.size], - lHeight: [labelFont.size * 1.5], - sizeUnit: [labelFont.sizeUnit], - }, - }, - ], - }, - ], - metric: [ - { - type: 'expression', - chain: [ - { - type: 'function', - function: 'visdimension', - arguments: { - accessor: [state.accessor], - }, - }, - ], - }, - ], - showLabels: [!attributes?.mode || attributes?.mode === 'full'], - colorMode: !canColor ? [ColorMode.None] : [state?.colorMode || ColorMode.None], - autoScale: [true], - colorFullBackground: [true], - palette: - state?.colorMode && state?.colorMode !== ColorMode.None - ? [paletteService.get(CUSTOM_PALETTE).toExpression(paletteParams)] - : [], - }, - }, - ], + chain: [...(datasourceExpression?.chain ?? []), legacyMetricVisFn.toAst()], }; }; diff --git a/x-pack/plugins/lens/tsconfig.json b/x-pack/plugins/lens/tsconfig.json index 3a70a796373e61..f4f343bbb4e5bf 100644 --- a/x-pack/plugins/lens/tsconfig.json +++ b/x-pack/plugins/lens/tsconfig.json @@ -33,6 +33,7 @@ { "path": "../../../src/plugins/field_formats/tsconfig.json"}, { "path": "../../../src/plugins/chart_expressions/expression_heatmap/tsconfig.json"}, { "path": "../../../src/plugins/chart_expressions/expression_gauge/tsconfig.json"}, + { "path": "../../../src/plugins/chart_expressions/expression_legacy_metric/tsconfig.json"}, { "path": "../../../src/plugins/chart_expressions/expression_metric/tsconfig.json"}, { "path": "../../../src/plugins/data_view_editor/tsconfig.json"}, { "path": "../../../src/plugins/event_annotation/tsconfig.json"}, From cbaa32bc2caf47b2167a35e2dabadded2e1752b8 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Wed, 2 Nov 2022 11:22:35 -0400 Subject: [PATCH 04/37] [Fleet] Support per agent policy Fleet Server hosts (#144242) --- .../migrations/check_registered_types.test.ts | 2 +- .../hooks.test.tsx | 16 ++--- .../agent_policy_advanced_fields/hooks.tsx | 67 ++++++++++++++++-- .../agent_policy_advanced_fields/index.tsx | 58 ++++++++++++--- .../multi_page_layout/index.tsx | 10 +-- .../components/settings/index.tsx | 6 +- .../agent_enrollment_flyout/index.tsx | 15 ++-- .../agent_enrollment_flyout/instructions.tsx | 8 +-- .../steps/compute_steps.tsx | 10 +-- .../agent_enrollment_flyout/types.ts | 5 +- x-pack/plugins/fleet/public/hooks/index.ts | 1 + ...use_fleet_server_hosts_for_policy.test.tsx | 70 +++++++++++++++++++ .../use_fleet_server_hosts_for_policy.ts | 36 ++++++++++ .../fleet_server_policy_config/handler.ts | 17 ++++- .../fleet/server/saved_objects/index.ts | 1 + .../fleet/server/services/agent_policy.ts | 67 ++++++++++++++++++ .../server/services/fleet_server_host.ts | 7 +- .../preconfiguration/fleet_server_host.ts | 8 ++- x-pack/plugins/fleet/server/services/setup.ts | 1 + .../fleet/server/types/models/agent_policy.ts | 1 + 20 files changed, 342 insertions(+), 64 deletions(-) create mode 100644 x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.test.tsx create mode 100644 x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.ts diff --git a/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts b/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts index af572532a13e61..ad86d9d3cd9807 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/check_registered_types.test.ts @@ -95,7 +95,7 @@ describe('checking migration metadata changes on all registered SO types', () => "index-pattern": "48e77ca393c254e93256f11a7cdc0232dd754c08", "infrastructure-monitoring-log-view": "e2c78c1076bd35e57d7c5fa1b410e5c126d12327", "infrastructure-ui-source": "7c8dbbc0a608911f1b683a944f4a65383f6153ed", - "ingest-agent-policies": "5d728f483dc3b14dcfa6bbad95c2024d2da68890", + "ingest-agent-policies": "9170cdad95d887c036b87adf0ff38a3f12800c05", "ingest-download-sources": "1e69dabd6db5e320fe08c5bda8f35f29bafc6b54", "ingest-outputs": "29b867bf7bfd28b1e17c84697dce5c6d078f9705", "ingest-package-policies": "e8707a8c7821ea085e67c2d213e24efa56307393", 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 874f60a604bfe2..446d33a91af910 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 @@ -113,7 +113,7 @@ describe('useOutputOptions', () => { Object { "disabled": false, "inputDisplay": "Default (currently Output 1)", - "value": "@@##DEFAULT_OUTPUT_VALUE##@@", + "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": false, @@ -137,7 +137,7 @@ describe('useOutputOptions', () => { Object { "disabled": undefined, "inputDisplay": "Default (currently Output 1)", - "value": "@@##DEFAULT_OUTPUT_VALUE##@@", + "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": false, @@ -175,7 +175,7 @@ describe('useOutputOptions', () => { Object { "disabled": false, "inputDisplay": "Default (currently Output 1)", - "value": "@@##DEFAULT_OUTPUT_VALUE##@@", + "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": true, @@ -199,7 +199,7 @@ describe('useOutputOptions', () => { Object { "disabled": undefined, "inputDisplay": "Default (currently Output 1)", - "value": "@@##DEFAULT_OUTPUT_VALUE##@@", + "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": true, @@ -237,7 +237,7 @@ describe('useOutputOptions', () => { Object { "disabled": false, "inputDisplay": "Default (currently Logstash 1)", - "value": "@@##DEFAULT_OUTPUT_VALUE##@@", + "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": false, @@ -256,7 +256,7 @@ describe('useOutputOptions', () => { Object { "disabled": undefined, "inputDisplay": "Default (currently Logstash 1)", - "value": "@@##DEFAULT_OUTPUT_VALUE##@@", + "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": false, @@ -315,7 +315,7 @@ describe('useOutputOptions', () => { /> , - "value": "@@##DEFAULT_OUTPUT_VALUE##@@", + "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": false, @@ -352,7 +352,7 @@ describe('useOutputOptions', () => { Object { "disabled": undefined, "inputDisplay": "Default (currently Logstash 1)", - "value": "@@##DEFAULT_OUTPUT_VALUE##@@", + "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": false, diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.tsx index a5c8c68564d395..83573a17c2c8e9 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.tsx @@ -10,7 +10,12 @@ import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiText, EuiSpacer } from '@elastic/eui'; -import { useGetOutputs, useLicense, useGetDownloadSources } from '../../../../hooks'; +import { + useGetOutputs, + useLicense, + useGetDownloadSources, + useGetFleetServerHosts, +} from '../../../../hooks'; import { LICENCE_FOR_PER_POLICY_OUTPUT, FLEET_APM_PACKAGE, @@ -19,8 +24,7 @@ import { import type { NewAgentPolicy, AgentPolicy } from '../../../../types'; // The super select component do not support null or '' as a value -export const DEFAULT_OUTPUT_VALUE = '@@##DEFAULT_OUTPUT_VALUE##@@'; -export const DEFAULT_DOWNLOAD_SOURCE_VALUE = '@@##DEFAULT_DOWNLOAD_SOURCE_VALUE##@@'; +export const DEFAULT_SELECT_VALUE = '@@##DEFAULT_SELECT##@@'; function getOutputLabel(name: string, disabledMessage?: React.ReactNode) { if (!disabledMessage) { @@ -49,7 +53,7 @@ function getDefaultOutput( }), defaultOutputDisabledMessage ), - value: DEFAULT_OUTPUT_VALUE, + value: DEFAULT_SELECT_VALUE, disabled: defaultOutputDisabled, }; } @@ -184,7 +188,60 @@ function getDefaultDownloadSource( }), defaultDownloadSourceDisabledMessage ), - value: DEFAULT_DOWNLOAD_SOURCE_VALUE, + value: DEFAULT_SELECT_VALUE, disabled: defaultDownloadSourceDisabled, }; } + +export function useFleetServerHostsOptions(agentPolicy: Partial) { + const fleetServerHostsRequest = useGetFleetServerHosts(); + + const fleetServerHostsOptions = useMemo(() => { + if (fleetServerHostsRequest.isLoading || !fleetServerHostsRequest.data) { + return []; + } + + const defaultFleetServerHosts = fleetServerHostsRequest.data.items.find( + (item) => item.is_default + ); + const defaultFleetServerHostsName = defaultFleetServerHosts?.name; + + return [ + getDefaultFleetServerHosts(defaultFleetServerHostsName), + ...fleetServerHostsRequest.data.items + .filter((item) => !item.is_default) + .map((item) => { + return { + value: item.id, + inputDisplay: item.name, + }; + }), + ]; + }, [fleetServerHostsRequest]); + + return useMemo( + () => ({ + fleetServerHostsOptions, + isLoading: fleetServerHostsRequest.isLoading, + }), + [fleetServerHostsOptions, fleetServerHostsRequest.isLoading] + ); +} + +function getDefaultFleetServerHosts( + defaultFleetServerHostsName?: string, + defaultFleetServerHostsDisabled?: boolean, + defaultFleetServerHostsDisabledMessage?: React.ReactNode +) { + return { + inputDisplay: getOutputLabel( + i18n.translate('xpack.fleet.agentPolicy.fleetServerHostsOptions.defaultOutputText', { + defaultMessage: 'Default (currently {defaultFleetServerHostsName})', + values: { defaultFleetServerHostsName }, + }), + defaultFleetServerHostsDisabledMessage + ), + value: DEFAULT_SELECT_VALUE, + disabled: defaultFleetServerHostsDisabled, + }; +} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.tsx index f8eab1fe8513e3..179f61db9a5b78 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/index.tsx @@ -36,8 +36,8 @@ import { policyHasFleetServer } from '../../../../services'; import { useOutputOptions, useDownloadSourcesOptions, - DEFAULT_OUTPUT_VALUE, - DEFAULT_DOWNLOAD_SOURCE_VALUE, + DEFAULT_SELECT_VALUE, + useFleetServerHostsOptions, } from './hooks'; interface Props { @@ -65,6 +65,9 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent = const { dataDownloadSourceOptions, isLoading: isLoadingDownloadSources } = useDownloadSourcesOptions(agentPolicy); + const { fleetServerHostsOptions, isLoading: isLoadingFleetServerHostsOption } = + useFleetServerHostsOptions(agentPolicy); + // agent monitoring checkbox group can appear multiple times in the DOM, ids have to be unique to work correctly const monitoringCheckboxIdSuffix = Date.now(); @@ -292,6 +295,45 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent = /> + + + + } + description={ + + } + > + + { + updateAgentPolicy({ + fleet_server_host_id: e !== DEFAULT_SELECT_VALUE ? e : null, + }); + }} + options={fleetServerHostsOptions} + /> + + @@ -319,12 +361,12 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent = > { updateAgentPolicy({ - data_output_id: e !== DEFAULT_OUTPUT_VALUE ? e : null, + data_output_id: e !== DEFAULT_SELECT_VALUE ? e : null, }); }} options={dataOutputOptions} @@ -358,12 +400,12 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent = > { updateAgentPolicy({ - monitoring_output_id: e !== DEFAULT_OUTPUT_VALUE ? e : null, + monitoring_output_id: e !== DEFAULT_SELECT_VALUE ? e : null, }); }} options={monitoringOutputOptions} @@ -397,12 +439,12 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent = isInvalid={Boolean(touchedFields.download_source_id && validation.download_source_id)} > { updateAgentPolicy({ - download_source_id: e !== DEFAULT_DOWNLOAD_SOURCE_VALUE ? e : null, + download_source_id: e !== DEFAULT_SELECT_VALUE ? e : null, }); }} options={dataDownloadSourceOptions} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/index.tsx index ff6168dd2423e5..e11d30511c9af2 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/index.tsx @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; import { splitPkgKey } from '../../../../../../../common/services'; -import { useGetPackageInfoByKey, useGetFleetServerHosts, useLink } from '../../../../hooks'; +import { useGetPackageInfoByKey, useLink, useFleetServerHostsForPolicy } from '../../../../hooks'; import type { AddToPolicyParams, CreatePackagePolicyParams } from '../types'; @@ -92,9 +92,7 @@ export const CreatePackagePolicyMultiPage: CreatePackagePolicyParams = ({ setOnSplash(false); }; - const fleetServerHostsRequest = useGetFleetServerHosts(); - const fleetServerHosts = - fleetServerHostsRequest.data?.items?.filter((f) => true)?.[0]?.host_urls ?? []; + const { fleetServerHosts, isLoadingInitialRequest } = useFleetServerHostsForPolicy(agentPolicy); const cancelUrl = getHref('add_integration_to_policy', { pkgkey, @@ -106,9 +104,7 @@ export const CreatePackagePolicyMultiPage: CreatePackagePolicyParams = ({ if (onSplash || !packageInfo) { return ( ( monitoring_output_id, // eslint-disable-next-line @typescript-eslint/naming-convention download_source_id, + // eslint-disable-next-line @typescript-eslint/naming-convention + fleet_server_host_id, } = agentPolicy; const { data, error } = await sendUpdateAgentPolicy(agentPolicy.id, { name, @@ -101,6 +103,7 @@ export const SettingsView = memo<{ agentPolicy: AgentPolicy }>( data_output_id, monitoring_output_id, download_source_id, + fleet_server_host_id, }); if (data) { notifications.toasts.addSuccess( @@ -144,7 +147,8 @@ export const SettingsView = memo<{ agentPolicy: AgentPolicy }>( 'unenroll_timeout', 'data_output_id', 'monitoring_output_id', - 'download_source_id' + 'download_source_id', + 'fleet_server_host_id' ) ), [agentPolicy] diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/index.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/index.tsx index bccda5dfa62760..4773a30f1e8222 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/index.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/index.tsx @@ -27,7 +27,7 @@ import { useStartServices, useFleetStatus, useAgentEnrollmentFlyoutData, - useGetFleetServerHosts, + useFleetServerHostsForPolicy, } from '../../hooks'; import { FLEET_SERVER_PACKAGE } from '../../constants'; import type { PackagePolicy, AgentPolicy } from '../../types'; @@ -57,12 +57,8 @@ export const AgentEnrollmentFlyout: React.FunctionComponent = ({ return policies.find((p) => p.id === id); }; - const fleetServerHostsRequest = useGetFleetServerHosts(); - const fleetStatus = useFleetStatus(); const { docLinks } = useStartServices(); - const fleetServerHosts = - fleetServerHostsRequest.data?.items?.filter((f) => true)?.[0]?.host_urls ?? []; const [selectedPolicyId, setSelectedPolicyId] = useState(agentPolicy?.id); const [isFleetServerPolicySelected, setIsFleetServerPolicySelected] = useState(false); @@ -79,6 +75,10 @@ export const AgentEnrollmentFlyout: React.FunctionComponent = ({ const { agentPolicyWithPackagePolicies } = useAgentPolicyWithPackagePolicies(selectedPolicyId); + const { fleetServerHosts, isLoadingInitialRequest } = useFleetServerHostsForPolicy( + agentPolicyWithPackagePolicies + ); + const selectedPolicy = agentPolicyWithPackagePolicies ? agentPolicyWithPackagePolicies : findPolicyById(agentPolicies, selectedPolicyId); @@ -101,9 +101,6 @@ export const AgentEnrollmentFlyout: React.FunctionComponent = ({ const { isK8s } = useIsK8sPolicy(selectedPolicy ? selectedPolicy : undefined); - const isLoadingInitialRequest = - fleetServerHostsRequest.isLoading && fleetServerHostsRequest.isInitialRequest; - return ( @@ -192,7 +189,7 @@ export const AgentEnrollmentFlyout: React.FunctionComponent = ({ ) : ( { const fleetServers = agents?.items || []; - const displayFleetServerHosts = useMemo(() => { - return fleetServerHosts?.filter((f) => f.is_default)?.[0]?.host_urls || []; - }, [fleetServerHosts]); - if (isLoadingAgents || isLoadingAgentPolicies) return ; - const hasNoFleetServerHost = fleetStatus.isReady && displayFleetServerHosts.length === 0; + const hasNoFleetServerHost = fleetStatus.isReady && (fleetServerHosts?.length ?? 0) === 0; const showAgentEnrollment = fleetStatus.isReady && !isFleetServerUnhealthy && fleetServers.length > 0 && - displayFleetServerHosts.length > 0; + (fleetServerHosts?.length ?? 0) > 0; const showFleetServerEnrollment = fleetServers.length === 0 || diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx index 4bb167fb2494ea..9d39364876da03 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/steps/compute_steps.tsx @@ -207,15 +207,7 @@ export const ManagedSteps: React.FunctionComponent = ({ const enrolledAgentIds = usePollingAgentCount(selectedPolicy?.id || ''); - const displayFleetServerHosts = useMemo(() => { - return fleetServerHosts?.filter((f) => f.is_default)?.[0]?.host_urls ?? []; - }, [fleetServerHosts]); - - const installManagedCommands = ManualInstructions( - enrollToken, - displayFleetServerHosts, - kibanaVersion - ); + const installManagedCommands = ManualInstructions(enrollToken, fleetServerHosts, kibanaVersion); const instructionsSteps = useMemo(() => { const steps: EuiContainedStepProps[] = !agentPolicy diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/types.ts b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/types.ts index 7215cba9e417fd..0cbae55c6ffd91 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/types.ts +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/types.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { AgentPolicy, FleetServerHost } from '../../types'; +import type { AgentPolicy } from '../../types'; import type { InstalledIntegrationPolicy } from './use_get_agent_incoming_data'; @@ -19,8 +19,6 @@ export interface BaseProps { */ agentPolicy?: AgentPolicy; - fleetServerHosts?: FleetServerHost[]; - isFleetServerPolicySelected?: boolean; isK8s?: K8sMode; @@ -51,4 +49,5 @@ export interface InstructionProps extends BaseProps { setSelectionType: (type: SelectionType) => void; selectedApiKeyId?: string; setSelectedAPIKeyId: (key?: string) => void; + fleetServerHosts: string[]; } diff --git a/x-pack/plugins/fleet/public/hooks/index.ts b/x-pack/plugins/fleet/public/hooks/index.ts index b155ccf63a0dbd..236392144e18b3 100644 --- a/x-pack/plugins/fleet/public/hooks/index.ts +++ b/x-pack/plugins/fleet/public/hooks/index.ts @@ -29,3 +29,4 @@ export * from './use_package_installations'; export * from './use_agent_enrollment_flyout_data'; export * from './use_flyout_context'; export * from './use_is_guided_onboarding_active'; +export * from './use_fleet_server_hosts_for_policy'; diff --git a/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.test.tsx b/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.test.tsx new file mode 100644 index 00000000000000..9da0b8ea1704cc --- /dev/null +++ b/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.test.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 { renderHook } from '@testing-library/react-hooks'; + +import { useFleetServerHostsForPolicy } from './use_fleet_server_hosts_for_policy'; +import { useGetFleetServerHosts } from './use_request/fleet_server_hosts'; + +jest.mock('./use_request/fleet_server_hosts'); + +const mockedUseGetFleetServerHosts = useGetFleetServerHosts as jest.MockedFunction< + typeof useGetFleetServerHosts +>; + +describe('useFleetServerHostsForPolicy', () => { + beforeEach(() => { + mockedUseGetFleetServerHosts.mockReturnValue({ + isLoading: false, + isInitialRequest: false, + data: { + items: [ + { + id: 'default', + is_default: true, + host_urls: ['https://defaultfleetserver:8220'], + is_preconfigured: false, + name: 'Default', + }, + { + id: 'custom1', + is_default: false, + host_urls: ['https://custom1:8220'], + is_preconfigured: false, + name: 'Custom 1', + }, + ], + page: 1, + perPage: 100, + total: 2, + }, + } as any); + }); + it('should return default hosts if used without agent policy', () => { + const { result } = renderHook(() => useFleetServerHostsForPolicy()); + expect(result.current.fleetServerHosts).toEqual(['https://defaultfleetserver:8220']); + }); + + it('should return default hosts if used with agent policy that do not override fleet server host', () => { + const { result } = renderHook(() => + useFleetServerHostsForPolicy({ + id: 'testpolicy1', + } as any) + ); + expect(result.current.fleetServerHosts).toEqual(['https://defaultfleetserver:8220']); + }); + + it('should return custom hosts if used with agent policy that override fleet server hosts', () => { + const { result } = renderHook(() => + useFleetServerHostsForPolicy({ + id: 'testpolicy1', + fleet_server_host_id: 'custom1', + } as any) + ); + expect(result.current.fleetServerHosts).toEqual(['https://custom1:8220']); + }); +}); diff --git a/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.ts b/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.ts new file mode 100644 index 00000000000000..14b00a4f137633 --- /dev/null +++ b/x-pack/plugins/fleet/public/hooks/use_fleet_server_hosts_for_policy.ts @@ -0,0 +1,36 @@ +/* + * 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 { AgentPolicy } from '../types'; + +import { useGetFleetServerHosts } from './use_request'; + +/** + * Return Fleet server hosts urls for a given agent policy + */ +export function useFleetServerHostsForPolicy(agentPolicy?: AgentPolicy | null) { + const fleetServerHostsRequest = useGetFleetServerHosts(); + const fleetServerHosts = useMemo(() => { + return ( + fleetServerHostsRequest.data?.items.filter((item) => + agentPolicy?.fleet_server_host_id + ? item.id === agentPolicy?.fleet_server_host_id + : item.is_default + )?.[0]?.host_urls ?? [] + ); + }, [agentPolicy, fleetServerHostsRequest]); + + const isLoadingInitialRequest = + fleetServerHostsRequest.isLoading && fleetServerHostsRequest.isInitialRequest; + + return useMemo( + () => ({ isLoadingInitialRequest, fleetServerHosts }), + [fleetServerHosts, isLoadingInitialRequest] + ); +} diff --git a/x-pack/plugins/fleet/server/routes/fleet_server_policy_config/handler.ts b/x-pack/plugins/fleet/server/routes/fleet_server_policy_config/handler.ts index 3df4daf1261190..705cde4d87e329 100644 --- a/x-pack/plugins/fleet/server/routes/fleet_server_policy_config/handler.ts +++ b/x-pack/plugins/fleet/server/routes/fleet_server_policy_config/handler.ts @@ -78,9 +78,11 @@ export const getFleetServerPolicyHandler: RequestHandler< export const deleteFleetServerPolicyHandler: RequestHandler< TypeOf > = async (context, request, response) => { - const soClient = (await context.core).savedObjects.client; try { - await deleteFleetServerHost(soClient, request.params.itemId); + const coreContext = await context.core; + const soClient = coreContext.savedObjects.client; + const esClient = coreContext.elasticsearch.client.asInternalUser; + await deleteFleetServerHost(soClient, esClient, request.params.itemId); const body = { id: request.params.itemId, }; @@ -102,13 +104,22 @@ export const putFleetServerPolicyHandler: RequestHandler< undefined, TypeOf > = async (context, request, response) => { - const soClient = (await context.core).savedObjects.client; try { + const coreContext = await await context.core; + const esClient = coreContext.elasticsearch.client.asInternalUser; + const soClient = coreContext.savedObjects.client; + const item = await updateFleetServerHost(soClient, request.params.itemId, request.body); const body = { item, }; + if (item.is_default) { + await agentPolicyService.bumpAllAgentPolicies(soClient, esClient); + } else { + await agentPolicyService.bumpAllAgentPoliciesForFleetServerHosts(soClient, esClient, item.id); + } + return response.ok({ body }); } catch (error) { if (SavedObjectsErrorHelpers.isNotFoundError(error)) { diff --git a/x-pack/plugins/fleet/server/saved_objects/index.ts b/x-pack/plugins/fleet/server/saved_objects/index.ts index 5721d2e6b7ed6a..b0fbe456246c62 100644 --- a/x-pack/plugins/fleet/server/saved_objects/index.ts +++ b/x-pack/plugins/fleet/server/saved_objects/index.ts @@ -105,6 +105,7 @@ const getSavedObjectTypes = ( data_output_id: { type: 'keyword' }, monitoring_output_id: { type: 'keyword' }, download_source_id: { type: 'keyword' }, + fleet_server_host_id: { type: 'keyword' }, }, }, migrations: { diff --git a/x-pack/plugins/fleet/server/services/agent_policy.ts b/x-pack/plugins/fleet/server/services/agent_policy.ts index b9978d85ee73d2..44696a7f1a9975 100644 --- a/x-pack/plugins/fleet/server/services/agent_policy.ts +++ b/x-pack/plugins/fleet/server/services/agent_policy.ts @@ -545,6 +545,41 @@ class AgentPolicyService { } } + /** + * Remove a Fleet Server from all agent policies that are using it, to use the default one instead. + */ + public async removeFleetServerHostFromAll( + soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient, + fleetServerHostId: string + ) { + const agentPolicies = ( + await soClient.find({ + type: SAVED_OBJECT_TYPE, + fields: ['revision', 'fleet_server_host_id'], + searchFields: ['fleet_server_host_id'], + search: escapeSearchQueryPhrase(fleetServerHostId), + perPage: SO_SEARCH_LIMIT, + }) + ).saved_objects.map((so) => ({ + id: so.id, + ...so.attributes, + })); + + if (agentPolicies.length > 0) { + await pMap( + agentPolicies, + (agentPolicy) => + this.update(soClient, esClient, agentPolicy.id, { + fleet_server_host_id: null, + }), + { + concurrency: 50, + } + ); + } + } + public async bumpAllAgentPoliciesForOutput( soClient: SavedObjectsClientContract, esClient: ElasticsearchClient, @@ -955,6 +990,38 @@ class AgentPolicyService { return res; } + + public async bumpAllAgentPoliciesForFleetServerHosts( + soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient, + fleetServerHostId: string, + options?: { user?: AuthenticatedUser } + ): Promise> { + const currentPolicies = await soClient.find({ + type: SAVED_OBJECT_TYPE, + fields: ['revision', 'fleet_server_host_id'], + searchFields: ['fleet_server_host_id'], + search: escapeSearchQueryPhrase(fleetServerHostId), + perPage: SO_SEARCH_LIMIT, + }); + const bumpedPolicies = currentPolicies.saved_objects.map((policy) => { + policy.attributes = { + ...policy.attributes, + revision: policy.attributes.revision + 1, + updated_at: new Date().toISOString(), + updated_by: options?.user ? options.user.username : 'system', + }; + return policy; + }); + const res = await soClient.bulkUpdate(bumpedPolicies); + await pMap( + currentPolicies.saved_objects, + (policy) => this.triggerAgentPolicyUpdatedEvent(soClient, esClient, 'updated', policy.id), + { concurrency: 50 } + ); + + return res; + } } export const agentPolicyService = new AgentPolicyService(); diff --git a/x-pack/plugins/fleet/server/services/fleet_server_host.ts b/x-pack/plugins/fleet/server/services/fleet_server_host.ts index 42f03d6e269c08..68b688bcbfcc11 100644 --- a/x-pack/plugins/fleet/server/services/fleet_server_host.ts +++ b/x-pack/plugins/fleet/server/services/fleet_server_host.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { SavedObjectsClientContract } from '@kbn/core/server'; +import type { ElasticsearchClient, SavedObjectsClientContract } from '@kbn/core/server'; import { normalizeHostsForAgents } from '../../common/services'; import { @@ -24,6 +24,8 @@ import type { } from '../types'; import { FleetServerHostUnauthorizedError } from '../errors'; +import { agentPolicyService } from './agent_policy'; + export async function createFleetServerHost( soClient: SavedObjectsClientContract, data: NewFleetServerHost, @@ -91,6 +93,7 @@ export async function listFleetServerHosts(soClient: SavedObjectsClientContract) export async function deleteFleetServerHost( soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient, id: string, options?: { fromPreconfiguration?: boolean } ) { @@ -108,6 +111,8 @@ export async function deleteFleetServerHost( ); } + await agentPolicyService.removeFleetServerHostFromAll(soClient, esClient, id); + return await soClient.delete(FLEET_SERVER_HOST_SAVED_OBJECT_TYPE, id); } diff --git a/x-pack/plugins/fleet/server/services/preconfiguration/fleet_server_host.ts b/x-pack/plugins/fleet/server/services/preconfiguration/fleet_server_host.ts index 13de4e8ec64b5a..c666bc0a343a5a 100644 --- a/x-pack/plugins/fleet/server/services/preconfiguration/fleet_server_host.ts +++ b/x-pack/plugins/fleet/server/services/preconfiguration/fleet_server_host.ts @@ -5,7 +5,7 @@ * 2.0. */ -import type { SavedObjectsClientContract } from '@kbn/core/server'; +import type { ElasticsearchClient, SavedObjectsClientContract } from '@kbn/core/server'; import { isEqual } from 'lodash'; import { decodeCloudId, normalizeHostsForAgents } from '../../../common/services'; @@ -79,10 +79,11 @@ export function getPreconfiguredFleetServerHostFromConfig(config?: FleetConfigTy export async function ensurePreconfiguredFleetServerHosts( soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient, preconfiguredFleetServerHosts: FleetServerHost[] ) { await createOrUpdatePreconfiguredFleetServerHosts(soClient, preconfiguredFleetServerHosts); - await cleanPreconfiguredFleetServerHosts(soClient, preconfiguredFleetServerHosts); + await cleanPreconfiguredFleetServerHosts(soClient, esClient, preconfiguredFleetServerHosts); } export async function createOrUpdatePreconfiguredFleetServerHosts( @@ -141,6 +142,7 @@ export async function createOrUpdatePreconfiguredFleetServerHosts( export async function cleanPreconfiguredFleetServerHosts( soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient, preconfiguredFleetServerHosts: FleetServerHost[] ) { const existingFleetServerHosts = await listFleetServerHosts(soClient); @@ -166,7 +168,7 @@ export async function cleanPreconfiguredFleetServerHosts( } ); } else { - await deleteFleetServerHost(soClient, existingFleetServerHost.id, { + await deleteFleetServerHost(soClient, esClient, existingFleetServerHost.id, { fromPreconfiguration: true, }); } diff --git a/x-pack/plugins/fleet/server/services/setup.ts b/x-pack/plugins/fleet/server/services/setup.ts index 1f39062bf93939..3cb2dc030cf758 100644 --- a/x-pack/plugins/fleet/server/services/setup.ts +++ b/x-pack/plugins/fleet/server/services/setup.ts @@ -86,6 +86,7 @@ async function createSetupSideEffects( logger.debug('Setting up Fleet Sever Hosts'); await ensurePreconfiguredFleetServerHosts( soClient, + esClient, getPreconfiguredFleetServerHostFromConfig(appContextService.getConfig()) ); diff --git a/x-pack/plugins/fleet/server/types/models/agent_policy.ts b/x-pack/plugins/fleet/server/types/models/agent_policy.ts index 406dcbafc8894e..487969cb93eb9a 100644 --- a/x-pack/plugins/fleet/server/types/models/agent_policy.ts +++ b/x-pack/plugins/fleet/server/types/models/agent_policy.ts @@ -35,6 +35,7 @@ export const AgentPolicyBaseSchema = { data_output_id: schema.maybe(schema.nullable(schema.string())), monitoring_output_id: schema.maybe(schema.nullable(schema.string())), download_source_id: schema.maybe(schema.nullable(schema.string())), + fleet_server_host_id: schema.maybe(schema.nullable(schema.string())), }; export const NewAgentPolicySchema = schema.object({ From 979b96b248c652dc1576b06a1c72bb956cb3ece7 Mon Sep 17 00:00:00 2001 From: Shahzad Date: Wed, 2 Nov 2022 16:29:49 +0100 Subject: [PATCH 05/37] [Synthetics] Step details add network timings breakdown (#144336) --- .../observability_data_views.ts | 13 +++- .../e2e/page_objects/synthetics_app.tsx | 2 +- .../network_timings_breakdown.tsx | 60 +++++++++++++++++++ .../step_details_page/step_detail_page.tsx | 5 +- 4 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx diff --git a/x-pack/plugins/observability/public/utils/observability_data_views/observability_data_views.ts b/x-pack/plugins/observability/public/utils/observability_data_views/observability_data_views.ts index 241e2ba021f3e5..12bbf802538c01 100644 --- a/x-pack/plugins/observability/public/utils/observability_data_views/observability_data_views.ts +++ b/x-pack/plugins/observability/public/utils/observability_data_views/observability_data_views.ts @@ -118,12 +118,23 @@ export class ObservabilityDataViews { async createDataView(app: AppDataType, indices: string) { const appIndicesPattern = getAppIndicesWithPattern(app, indices); - return await this.dataViews.create({ + + const { runtimeFields } = getFieldFormatsForApp(app); + + const dataView = await this.dataViews.create({ title: appIndicesPattern, id: getAppDataViewId(app, indices), timeFieldName: '@timestamp', fieldFormats: this.getFieldFormats(app), }); + + if (runtimeFields !== null) { + runtimeFields.forEach(({ name, field }) => { + dataView.addRuntimeField(name, field); + }); + } + + return dataView; } async createAndSavedDataView(app: AppDataType, indices: string) { diff --git a/x-pack/plugins/synthetics/e2e/page_objects/synthetics_app.tsx b/x-pack/plugins/synthetics/e2e/page_objects/synthetics_app.tsx index 66d086fcea9d7b..2813427ae52258 100644 --- a/x-pack/plugins/synthetics/e2e/page_objects/synthetics_app.tsx +++ b/x-pack/plugins/synthetics/e2e/page_objects/synthetics_app.tsx @@ -82,7 +82,7 @@ export function syntheticsAppPageProvider({ page, kibanaUrl }: { page: Page; kib async navigateToEditMonitor() { await this.clickByTestSubj('syntheticsMonitorListActions'); - await page.click('text=Edit', { timeout: 2 * 60 * 1000 }); + await page.click('text=Edit', { timeout: 2 * 60 * 1000, delay: 800 }); await this.findByText('Edit monitor'); }, diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx new file mode 100644 index 00000000000000..2413d917665d4f --- /dev/null +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/network_timings_breakdown.tsx @@ -0,0 +1,60 @@ +/* + * 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 { useKibana } from '@kbn/kibana-react-plugin/public'; +import { useParams } from 'react-router-dom'; +import { ReportTypes } from '@kbn/observability-plugin/public'; +import { EuiSpacer, EuiTitle } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { ClientPluginsStart } from '../../../../plugin'; + +export const NetworkTimingsBreakdown = () => { + const { observability } = useKibana().services; + + const ExploratoryViewEmbeddable = observability.ExploratoryViewEmbeddable; + + const { checkGroupId, stepIndex } = useParams<{ checkGroupId: string; stepIndex: string }>(); + + return ( + <> + +

{LAST_24_HOURS}

+
+ + + + ); +}; + +const LAST_24_HOURS = i18n.translate('xpack.synthetics.stepDetailsRoute.last24Hours', { + defaultMessage: 'Last 24 hours', +}); diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx index f7e2752dcfd9d7..f0bb1b91d5a8e7 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx @@ -18,6 +18,7 @@ import { } from '@elastic/eui'; import { WaterfallChartContainer } from './components/network_waterfall/step_detail/waterfall/waterfall_chart_container'; import { ObjectWeightList } from './components/object_weight_list'; +import { NetworkTimingsBreakdown } from './network_timings_breakdown'; import { StepImage } from './components/step_image'; import { useJourneySteps } from '../monitor_details/hooks/use_journey_steps'; import { MonitorDetailsLinkPortal } from '../monitor_add_edit/monitor_details_portal'; @@ -73,8 +74,8 @@ export const StepDetailPage = () => { {/* TODO: Add breakdown of network timings donut*/} - - {/* TODO: Add breakdown of network events*/} + + From 2e23aa0c3178452015e88807733f2f00a23e62b2 Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Wed, 2 Nov 2022 16:38:32 +0100 Subject: [PATCH 06/37] added fix for add and edit integrations page not loading for prerelease versions (#144431) --- .../create_package_policy_page/multi_page_layout/index.tsx | 2 +- .../create_package_policy_page/single_page_layout/index.tsx | 2 +- .../sections/agent_policy/edit_package_policy_page/index.tsx | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/index.tsx index e11d30511c9af2..46f12816f02c09 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/index.tsx @@ -70,7 +70,7 @@ export const CreatePackagePolicyMultiPage: CreatePackagePolicyParams = ({ data: packageInfoData, error: packageInfoError, isLoading: isPackageInfoLoading, - } = useGetPackageInfoByKey(pkgName, pkgVersion); + } = useGetPackageInfoByKey(pkgName, pkgVersion, { prerelease: true }); const { agentPolicy, diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.tsx index 02f36e2cadcfee..0192b7a4a79284 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.tsx @@ -99,7 +99,7 @@ export const CreatePackagePolicySinglePage: CreatePackagePolicyParams = ({ data: packageInfoData, error: packageInfoError, isLoading: isPackageInfoLoading, - } = useGetPackageInfoByKey(pkgName, pkgVersion); + } = useGetPackageInfoByKey(pkgName, pkgVersion, { prerelease: true }); const packageInfo = useMemo(() => { if (packageInfoData && packageInfoData.item) { return packageInfoData.item; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx index e11d1ccda3b91a..aa9ca6277a43c1 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx @@ -265,7 +265,8 @@ export const EditPackagePolicyForm = memo<{ const { data: packageData } = await sendGetPackageInfoByKey( _packageInfo!.name, - _packageInfo!.version + _packageInfo!.version, + { prerelease: true } ); if (packageData?.item) { From c1070e63a1e591ab9a47eb6a61de35b65a1b52e6 Mon Sep 17 00:00:00 2001 From: "Devin W. Hurley" Date: Wed, 2 Nov 2022 11:41:48 -0400 Subject: [PATCH 07/37] [Security Solution] [Exceptions] Updates the exceptions list table to match mockups (#142289) Co-authored-by: Gloria Hornero --- .../src/import_query_schema/index.test.ts | 3 + .../src/import_query_schema/index.ts | 4 +- .../server/routes/import_exceptions_route.ts | 1 + .../exception_list_client.test.ts | 1 + .../exception_lists/exception_list_client.ts | 3 + .../exception_list_client_types.ts | 1 + .../import_exception_list_and_items.test.ts | 3 + .../import_exception_list_and_items.ts | 38 ++- .../utils/import/import_exception_lists.ts | 3 + ...xception_items_to_create_or_update.test.ts | 14 +- .../sort_exception_items_to_create_update.ts | 25 -- ...xception_lists_to_create_or_update.test.ts | 4 + .../sort_exception_lists_to_create_update.ts | 23 ++ .../exceptions_table.cy.ts | 11 +- .../cypress/screens/exceptions.ts | 7 +- .../cypress/tasks/exceptions_table.ts | 34 ++- .../public/app/translations.ts | 2 +- .../navigation/breadcrumbs/index.test.ts | 4 +- .../__snapshots__/index.test.tsx.snap | 2 +- .../pages/exceptions/columns.tsx | 175 ----------- .../pages/exceptions/types.ts | 13 - .../components/rules_table/helpers.test.ts | 2 +- .../public/exceptions/jest.config.js | 26 ++ .../exceptions_list_card.tsx | 150 ++++++++++ .../exceptions_search_bar.tsx | 2 +- .../exceptions_table.test.tsx | 41 +-- .../manage_exceptions}/exceptions_table.tsx | 272 +++++++++++------- .../exceptions_table_utility_bar.test.tsx | 2 +- .../exceptions_table_utility_bar.tsx | 4 +- .../import_exceptions_list_flyout.tsx | 201 +++++++++++++ .../manage_exceptions/title_badge.tsx | 37 +++ .../manage_exceptions/translations.ts | 106 +++++++ .../translations_exceptions_table.ts} | 36 ++- .../use_all_exception_lists.tsx | 4 +- .../use_import_exception_list.tsx | 48 ++++ .../public/exceptions/routes.tsx | 2 +- 36 files changed, 914 insertions(+), 390 deletions(-) delete mode 100644 x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/columns.tsx delete mode 100644 x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/types.ts create mode 100644 x-pack/plugins/security_solution/public/exceptions/jest.config.js create mode 100644 x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_list_card.tsx rename x-pack/plugins/security_solution/public/{detection_engine/rule_exceptions_ui/pages/exceptions => exceptions/manage_exceptions}/exceptions_search_bar.tsx (95%) rename x-pack/plugins/security_solution/public/{detection_engine/rule_exceptions_ui/pages/exceptions => exceptions/manage_exceptions}/exceptions_table.test.tsx (74%) rename x-pack/plugins/security_solution/public/{detection_engine/rule_exceptions_ui/pages/exceptions => exceptions/manage_exceptions}/exceptions_table.tsx (61%) rename x-pack/plugins/security_solution/public/{detection_engine/rule_exceptions_ui/pages/exceptions => exceptions/manage_exceptions}/exceptions_table_utility_bar.test.tsx (96%) rename x-pack/plugins/security_solution/public/{detection_engine/rule_exceptions_ui/pages/exceptions => exceptions/manage_exceptions}/exceptions_table_utility_bar.tsx (92%) create mode 100644 x-pack/plugins/security_solution/public/exceptions/manage_exceptions/import_exceptions_list_flyout.tsx create mode 100644 x-pack/plugins/security_solution/public/exceptions/manage_exceptions/title_badge.tsx create mode 100644 x-pack/plugins/security_solution/public/exceptions/manage_exceptions/translations.ts rename x-pack/plugins/security_solution/public/{detection_engine/rule_exceptions_ui/pages/exceptions/translations.ts => exceptions/manage_exceptions/translations_exceptions_table.ts} (84%) rename x-pack/plugins/security_solution/public/{detection_engine/rule_exceptions_ui/pages/exceptions => exceptions/manage_exceptions}/use_all_exception_lists.tsx (95%) create mode 100644 x-pack/plugins/security_solution/public/exceptions/manage_exceptions/use_import_exception_list.tsx diff --git a/packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.test.ts b/packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.test.ts index 31a3eed8b7fbf2..d2f84b4ee3708e 100644 --- a/packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.test.ts +++ b/packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.test.ts @@ -13,6 +13,7 @@ import { exactCheck, foldLeftRight, getPaths } from '@kbn/securitysolution-io-ts describe('importQuerySchema', () => { test('it should validate proper schema', () => { const payload: ImportQuerySchema = { + as_new_list: false, overwrite: true, overwrite_exceptions: true, }; @@ -26,6 +27,7 @@ describe('importQuerySchema', () => { test('it should NOT validate a non boolean value for "overwrite"', () => { const payload: Omit & { overwrite: string } = { + as_new_list: false, overwrite: 'wrong', overwrite_exceptions: true, }; @@ -43,6 +45,7 @@ describe('importQuerySchema', () => { const payload: Omit & { overwrite_exceptions: string; } = { + as_new_list: false, overwrite: true, overwrite_exceptions: 'wrong', }; diff --git a/packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.ts b/packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.ts index f84f16fddabdb9..ca0e35c4aa176f 100644 --- a/packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.ts +++ b/packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.ts @@ -14,14 +14,16 @@ export const importQuerySchema = t.exact( t.partial({ overwrite: DefaultStringBooleanFalse, overwrite_exceptions: DefaultStringBooleanFalse, + as_new_list: DefaultStringBooleanFalse, }) ); export type ImportQuerySchema = t.TypeOf; export type ImportQuerySchemaDecoded = Omit< ImportQuerySchema, - 'overwrite' | 'overwrite_exceptions' + 'overwrite' | 'overwrite_exceptions' | 'as_new_list' > & { overwrite: boolean; overwrite_exceptions: boolean; + as_new_list: boolean; }; diff --git a/x-pack/plugins/lists/server/routes/import_exceptions_route.ts b/x-pack/plugins/lists/server/routes/import_exceptions_route.ts index 78e0d571b2dc29..955e2debdea27c 100644 --- a/x-pack/plugins/lists/server/routes/import_exceptions_route.ts +++ b/x-pack/plugins/lists/server/routes/import_exceptions_route.ts @@ -58,6 +58,7 @@ export const importExceptionsRoute = (router: ListsPluginRouter, config: ConfigT const importsSummary = await exceptionListsClient.importExceptionListAndItems({ exceptionsToImport: request.body.file, + generateNewListId: request.query.as_new_list, maxExceptionsImportSize: config.maxExceptionsImportSize, overwrite: request.query.overwrite, }); diff --git a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.test.ts b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.test.ts index 043ffcd48fe77b..8ad92f5d14bff2 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.test.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.test.ts @@ -299,6 +299,7 @@ describe('exception_list_client', () => { (): ReturnType => { return exceptionListClient.importExceptionListAndItems({ exceptionsToImport: toReadable([getExceptionListItemSchemaMock()]), + generateNewListId: false, maxExceptionsImportSize: 10_000, overwrite: true, }); diff --git a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts index baa9d943127f76..ecdaa70d7869bb 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts @@ -984,6 +984,7 @@ export class ExceptionListClient { exceptionsToImport, maxExceptionsImportSize, overwrite, + generateNewListId, }: ImportExceptionListAndItemsOptions): Promise => { const { savedObjectsClient, user } = this; @@ -1004,6 +1005,7 @@ export class ExceptionListClient { return importExceptions({ exceptions: parsedObjects, + generateNewListId, overwrite, savedObjectsClient, user, @@ -1038,6 +1040,7 @@ export class ExceptionListClient { return importExceptions({ exceptions: parsedObjects, + generateNewListId: false, overwrite, savedObjectsClient, user, diff --git a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client_types.ts b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client_types.ts index 048930e51b93d7..35a28c01160355 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client_types.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client_types.ts @@ -502,6 +502,7 @@ export interface ImportExceptionListAndItemsOptions { maxExceptionsImportSize: number; /** whether or not to overwrite an exception list with imported list if a matching list_id found */ overwrite: boolean; + generateNewListId: boolean; } /** diff --git a/x-pack/plugins/lists/server/services/exception_lists/import_exception_list_and_items.test.ts b/x-pack/plugins/lists/server/services/exception_lists/import_exception_list_and_items.test.ts index 375e211cabe46d..e1181cc656d3eb 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/import_exception_list_and_items.test.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/import_exception_list_and_items.test.ts @@ -56,6 +56,7 @@ describe('import_exception_list_and_items', () => { getImportExceptionsListSchemaMock('test_list_id'), getImportExceptionsListItemSchemaMock('test_item_id', 'test_list_id'), ]), + generateNewListId: false, maxExceptionsImportSize: 10000, overwrite: false, }); @@ -82,6 +83,7 @@ describe('import_exception_list_and_items', () => { getImportExceptionsListSchemaMock('test_list_id'), getImportExceptionsListItemSchemaMock('test_item_id', 'test_list_id'), ]), + generateNewListId: false, maxExceptionsImportSize: 10000, overwrite: false, }); @@ -102,6 +104,7 @@ describe('import_exception_list_and_items', () => { getImportExceptionsListSchemaMock('test_list_id'), getImportExceptionsListItemSchemaMock('test_item_id', 'test_list_id'), ]), + generateNewListId: false, maxExceptionsImportSize: 10000, overwrite: false, }); diff --git a/x-pack/plugins/lists/server/services/exception_lists/import_exception_list_and_items.ts b/x-pack/plugins/lists/server/services/exception_lists/import_exception_list_and_items.ts index deef7b7b219174..46fe83bccd6dd7 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/import_exception_list_and_items.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/import_exception_list_and_items.ts @@ -18,6 +18,7 @@ import { import { createPromiseFromStreams } from '@kbn/utils'; import { SavedObjectsClientContract } from '@kbn/core/server'; import { chunk } from 'lodash/fp'; +import uuid from 'uuid'; import { importExceptionLists } from './utils/import/import_exception_lists'; import { importExceptionListItems } from './utils/import/import_exception_list_items'; @@ -49,6 +50,7 @@ export interface ImportDataResponse { interface ImportExceptionListAndItemsOptions { exceptions: PromiseFromStreams; overwrite: boolean; + generateNewListId: boolean; savedObjectsClient: SavedObjectsClientContract; user: string; } @@ -90,6 +92,7 @@ export const importExceptionsAsStream = async ({ return importExceptions({ exceptions: parsedObjects, + generateNewListId: false, overwrite, savedObjectsClient, user, @@ -99,14 +102,44 @@ export const importExceptionsAsStream = async ({ export const importExceptions = async ({ exceptions, overwrite, + generateNewListId, savedObjectsClient, user, }: ImportExceptionListAndItemsOptions): Promise => { + let exceptionsToValidate = exceptions; + if (generateNewListId) { + // we need to generate a new list id and update the old list id references + // in each list item to point to the new list id + exceptionsToValidate = exceptions.lists.reduce( + (acc, exceptionList) => { + if (exceptionList instanceof Error) { + return { items: [...acc.items], lists: [...acc.lists] }; + } + const newListId = uuid.v4(); + + return { + items: [ + ...acc.items, + ...exceptions.items + .filter( + (item) => + !(item instanceof Error) && + !(exceptionList instanceof Error) && + item?.list_id === exceptionList?.list_id + ) + .map((item) => ({ ...item, list_id: newListId })), + ], + lists: [...acc.lists, { ...exceptionList, list_id: newListId }], + }; + }, + { items: [], lists: [] } as PromiseFromStreams + ); + } // removal of duplicates const [exceptionListDuplicateErrors, uniqueExceptionLists] = - getTupleErrorsAndUniqueExceptionLists(exceptions.lists); + getTupleErrorsAndUniqueExceptionLists(exceptionsToValidate.lists); const [exceptionListItemsDuplicateErrors, uniqueExceptionListItems] = - getTupleErrorsAndUniqueExceptionListItems(exceptions.items); + getTupleErrorsAndUniqueExceptionListItems(exceptionsToValidate.items); // chunking of validated import stream const chunkParsedListObjects = chunk(CHUNK_PARSED_OBJECT_SIZE, uniqueExceptionLists); @@ -115,6 +148,7 @@ export const importExceptions = async ({ // where the magic happens - purposely importing parent exception // containers first, items second const importExceptionListsResponse = await importExceptionLists({ + generateNewListId, isOverwrite: overwrite, listsChunks: chunkParsedListObjects, savedObjectsClient, diff --git a/x-pack/plugins/lists/server/services/exception_lists/utils/import/import_exception_lists.ts b/x-pack/plugins/lists/server/services/exception_lists/utils/import/import_exception_lists.ts index 13141a7a164004..cd2d730c584f77 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/utils/import/import_exception_lists.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/utils/import/import_exception_lists.ts @@ -26,11 +26,13 @@ import { sortImportResponses } from './sort_import_responses'; */ export const importExceptionLists = async ({ isOverwrite, + generateNewListId, listsChunks, savedObjectsClient, user, }: { isOverwrite: boolean; + generateNewListId: boolean; listsChunks: ImportExceptionListSchemaDecoded[][]; savedObjectsClient: SavedObjectsClientContract; user: string; @@ -56,6 +58,7 @@ export const importExceptionLists = async ({ const { errors, listItemsToDelete, listsToCreate, listsToUpdate } = sortExceptionListsToUpdateOrCreate({ existingLists: foundLists, + generateNewListId, isOverwrite, lists: listChunk, user, diff --git a/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_items_to_create_or_update.test.ts b/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_items_to_create_or_update.test.ts index a4d1e3d0691ce2..54029c53593b96 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_items_to_create_or_update.test.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_items_to_create_or_update.test.ts @@ -169,7 +169,7 @@ describe('sort_exception_lists_items_to_create_update', () => { }); }); - it('assigns error if matching item_id found but differing list_id', () => { + it('assigns no error if matching item_id found but differing list_id', () => { const result = sortExceptionItemsToUpdateOrCreate({ existingItems: { 'item-id-1': { @@ -185,17 +185,7 @@ describe('sort_exception_lists_items_to_create_update', () => { }); expect(result).toEqual({ - errors: [ - { - error: { - message: - 'Error trying to update item_id: "item-id-1" and list_id: "list-id-1". The item already exists under list_id: list-id-2', - status_code: 409, - }, - item_id: 'item-id-1', - list_id: 'list-id-1', - }, - ], + errors: [], itemsToCreate: [], itemsToUpdate: [], }); diff --git a/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_items_to_create_update.ts b/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_items_to_create_update.ts index 9bfc1a333969e8..d9c9b6702fc492 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_items_to_create_update.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_items_to_create_update.ts @@ -131,31 +131,6 @@ export const sortExceptionItemsToUpdateOrCreate = ({ type: savedObjectType, }, ]; - } else { - // If overwrite is true, the list parent container is deleted first along - // with its items, so to get here would mean the user hit a bit of an odd scenario. - // Sample scenario would be as follows: - // In system we have: - // List A ---> with item list_item_id - // Import is: - // List A ---> with item list_item_id_1 - // List B ---> with item list_item_id_1 - // If we just did an update of the item, we would overwrite - // list_item_id_1 of List A, which would be weird behavior - // What happens: - // List A and items are deleted and recreated - // List B is created, but list_item_id_1 already exists under List A and user warned - results.errors = [ - ...results.errors, - { - error: { - message: `Error trying to update item_id: "${itemId}" and list_id: "${listId}". The item already exists under list_id: ${existingItems[itemId].list_id}`, - status_code: 409, - }, - item_id: itemId, - list_id: listId, - }, - ]; } } else if (existingItems[itemId] != null) { results.errors = [ diff --git a/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_lists_to_create_or_update.test.ts b/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_lists_to_create_or_update.test.ts index 0e47292e7d4e58..a5b5974772669d 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_lists_to_create_or_update.test.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_lists_to_create_or_update.test.ts @@ -25,6 +25,7 @@ describe('sort_exception_lists_to_create_update', () => { it('assigns list to create if its list_id does not match an existing one', () => { const result = sortExceptionListsToUpdateOrCreate({ existingLists: {}, + generateNewListId: false, isOverwrite: false, lists: [getImportExceptionsListSchemaDecodedMock('list-id-1')], user: 'elastic', @@ -66,6 +67,7 @@ describe('sort_exception_lists_to_create_update', () => { existingLists: { 'list-id-1': { ...getExceptionListSchemaMock(), list_id: 'list-id-1' }, }, + generateNewListId: false, isOverwrite: false, lists: [getImportExceptionsListSchemaDecodedMock('list-id-1')], user: 'elastic', @@ -93,6 +95,7 @@ describe('sort_exception_lists_to_create_update', () => { it('assigns list to be created if its list_id does not match an existing one', () => { const result = sortExceptionListsToUpdateOrCreate({ existingLists: {}, + generateNewListId: false, isOverwrite: true, lists: [getImportExceptionsListSchemaDecodedMock('list-id-1')], user: 'elastic', @@ -134,6 +137,7 @@ describe('sort_exception_lists_to_create_update', () => { existingLists: { 'list-id-1': { ...getExceptionListSchemaMock(), list_id: 'list-id-1' }, }, + generateNewListId: false, isOverwrite: true, lists: [getImportExceptionsListSchemaDecodedMock('list-id-1')], user: 'elastic', diff --git a/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_lists_to_create_update.ts b/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_lists_to_create_update.ts index 3c7e6217559e5c..da91b04d6acf57 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_lists_to_create_update.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/utils/import/sort_exception_lists_to_create_update.ts @@ -21,11 +21,13 @@ export const sortExceptionListsToUpdateOrCreate = ({ lists, existingLists, isOverwrite, + generateNewListId, user, }: { lists: ImportExceptionListSchemaDecoded[]; existingLists: Record; isOverwrite: boolean; + generateNewListId: boolean; user: string; }): { errors: BulkErrorSchema[]; @@ -102,6 +104,27 @@ export const sortExceptionListsToUpdateOrCreate = ({ type: savedObjectType, }, ]; + } else if (existingLists[listId] != null && generateNewListId) { + const attributes: ExceptionListSoSchema = { + ...existingLists[listId], + comments: undefined, + created_at: dateNow, + created_by: user, + description, + entries: undefined, + immutable: false, + item_id: undefined, + list_type: 'list', + tie_breaker_id: uuid.v4(), + updated_by: user, + }; + results.listsToCreate = [ + ...results.listsToCreate, + { + attributes, + type: savedObjectType, + }, + ]; } else if (existingLists[listId] != null) { results.errors = [ ...results.errors, diff --git a/x-pack/plugins/security_solution/cypress/e2e/exceptions/exceptions_management_flow/exceptions_table.cy.ts b/x-pack/plugins/security_solution/cypress/e2e/exceptions/exceptions_management_flow/exceptions_table.cy.ts index 213ea64fc4ceb8..4a806eae4d53dc 100644 --- a/x-pack/plugins/security_solution/cypress/e2e/exceptions/exceptions_management_flow/exceptions_table.cy.ts +++ b/x-pack/plugins/security_solution/cypress/e2e/exceptions/exceptions_management_flow/exceptions_table.cy.ts @@ -20,6 +20,7 @@ import { searchForExceptionList, waitForExceptionsTableToBeLoaded, clearSearchSelection, + expandExceptionActions, } from '../../../tasks/exceptions_table'; import { EXCEPTIONS_TABLE_DELETE_BTN, @@ -67,16 +68,11 @@ describe('Exceptions Table', () => { ); visitWithoutDateRange(EXCEPTIONS_URL); - - // Using cy.contains because we do not care about the exact text, - // just checking number of lists shown - cy.contains(EXCEPTIONS_TABLE_SHOWING_LISTS, '3'); }); it('Exports exception list', function () { cy.intercept(/(\/api\/exception_lists\/_export)/).as('export'); - visitWithoutDateRange(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); exportExceptionList(); @@ -91,7 +87,6 @@ describe('Exceptions Table', () => { }); it('Filters exception lists on search', () => { - visitWithoutDateRange(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); // Using cy.contains because we do not care about the exact text, @@ -142,7 +137,6 @@ describe('Exceptions Table', () => { }); it('Deletes exception list without rule reference', () => { - visitWithoutDateRange(EXCEPTIONS_URL); waitForExceptionsTableToBeLoaded(); // Using cy.contains because we do not care about the exact text, @@ -189,6 +183,7 @@ describe('Exceptions Table - read only', () => { }); it('Delete icon is not shown', () => { - cy.get(EXCEPTIONS_TABLE_DELETE_BTN).should('not.exist'); + expandExceptionActions(); + cy.get(EXCEPTIONS_TABLE_DELETE_BTN).should('be.disabled'); }); }); diff --git a/x-pack/plugins/security_solution/cypress/screens/exceptions.ts b/x-pack/plugins/security_solution/cypress/screens/exceptions.ts index bf97d3e2e20392..00f06777bd1110 100644 --- a/x-pack/plugins/security_solution/cypress/screens/exceptions.ts +++ b/x-pack/plugins/security_solution/cypress/screens/exceptions.ts @@ -34,7 +34,10 @@ export const ENTRY_DELETE_BTN = '[data-test-subj="builderItemEntryDeleteButton"] export const CANCEL_BTN = '[data-test-subj="cancelExceptionAddButton"]'; -export const EXCEPTIONS_TABLE = '[data-test-subj="exceptions-table"]'; +export const EXCEPTIONS_OVERFLOW_ACTIONS_BTN = + '[data-test-subj="exceptionsListCardOverflowActions"]'; + +export const EXCEPTIONS_TABLE = '[data-test-subj="pageContainer"]'; export const EXCEPTIONS_TABLE_SEARCH = '[data-test-subj="exceptionsHeaderSearchInput"]'; @@ -47,7 +50,7 @@ export const EXCEPTIONS_TABLE_EXPORT_BTN = '[data-test-subj="exceptionsTableExpo export const EXCEPTIONS_TABLE_SEARCH_CLEAR = '[data-test-subj="allExceptionListsPanel"] button.euiFormControlLayoutClearButton'; -export const EXCEPTIONS_TABLE_LIST_NAME = '[data-test-subj="exceptionsTableName"]'; +export const EXCEPTIONS_TABLE_LIST_NAME = '[data-test-subj="exception-list-name"]'; export const EXCEPTIONS_TABLE_MODAL = '[data-test-subj="referenceErrorModal"]'; diff --git a/x-pack/plugins/security_solution/cypress/tasks/exceptions_table.ts b/x-pack/plugins/security_solution/cypress/tasks/exceptions_table.ts index f2bc0c1f7e6ed3..cee6929b3887de 100644 --- a/x-pack/plugins/security_solution/cypress/tasks/exceptions_table.ts +++ b/x-pack/plugins/security_solution/cypress/tasks/exceptions_table.ts @@ -13,37 +13,45 @@ import { EXCEPTIONS_TABLE_MODAL, EXCEPTIONS_TABLE_MODAL_CONFIRM_BTN, EXCEPTIONS_TABLE_EXPORT_BTN, + EXCEPTIONS_OVERFLOW_ACTIONS_BTN, } from '../screens/exceptions'; -export const waitForExceptionsTableToBeLoaded = () => { - cy.get(EXCEPTIONS_TABLE).should('exist'); - cy.get(EXCEPTIONS_TABLE_SEARCH).should('exist'); +export const clearSearchSelection = () => { + cy.get(EXCEPTIONS_TABLE_SEARCH_CLEAR).first().click(); }; -export const searchForExceptionList = (searchText: string) => { - if (Cypress.browser.name === 'firefox') { - cy.get(EXCEPTIONS_TABLE_SEARCH).type(`${searchText}{enter}`, { force: true }); - } else { - cy.get(EXCEPTIONS_TABLE_SEARCH).type(searchText, { force: true }).trigger('search'); - } +export const expandExceptionActions = () => { + cy.get(EXCEPTIONS_OVERFLOW_ACTIONS_BTN).first().click(); +}; + +export const exportExceptionList = () => { + cy.get(EXCEPTIONS_OVERFLOW_ACTIONS_BTN).first().click(); + cy.get(EXCEPTIONS_TABLE_EXPORT_BTN).first().click(); }; export const deleteExceptionListWithoutRuleReference = () => { + cy.get(EXCEPTIONS_OVERFLOW_ACTIONS_BTN).first().click(); cy.get(EXCEPTIONS_TABLE_DELETE_BTN).first().click(); cy.get(EXCEPTIONS_TABLE_MODAL).should('not.exist'); }; export const deleteExceptionListWithRuleReference = () => { + cy.get(EXCEPTIONS_OVERFLOW_ACTIONS_BTN).first().click(); cy.get(EXCEPTIONS_TABLE_DELETE_BTN).first().click(); cy.get(EXCEPTIONS_TABLE_MODAL).should('exist'); cy.get(EXCEPTIONS_TABLE_MODAL_CONFIRM_BTN).first().click(); cy.get(EXCEPTIONS_TABLE_MODAL).should('not.exist'); }; -export const exportExceptionList = () => { - cy.get(EXCEPTIONS_TABLE_EXPORT_BTN).first().click(); +export const searchForExceptionList = (searchText: string) => { + if (Cypress.browser.name === 'firefox') { + cy.get(EXCEPTIONS_TABLE_SEARCH).type(`${searchText}{enter}`, { force: true }); + } else { + cy.get(EXCEPTIONS_TABLE_SEARCH).type(searchText, { force: true }).trigger('search'); + } }; -export const clearSearchSelection = () => { - cy.get(EXCEPTIONS_TABLE_SEARCH_CLEAR).first().click(); +export const waitForExceptionsTableToBeLoaded = () => { + cy.get(EXCEPTIONS_TABLE).should('exist'); + cy.get(EXCEPTIONS_TABLE_SEARCH).should('exist'); }; diff --git a/x-pack/plugins/security_solution/public/app/translations.ts b/x-pack/plugins/security_solution/public/app/translations.ts index 0e74f701eefdfd..e7c4e3eeb3003c 100644 --- a/x-pack/plugins/security_solution/public/app/translations.ts +++ b/x-pack/plugins/security_solution/public/app/translations.ts @@ -54,7 +54,7 @@ export const RULES = i18n.translate('xpack.securitySolution.navigation.rules', { }); export const EXCEPTIONS = i18n.translate('xpack.securitySolution.navigation.exceptions', { - defaultMessage: 'Exception lists', + defaultMessage: 'Rule Exceptions', }); export const ALERTS = i18n.translate('xpack.securitySolution.navigation.alerts', { diff --git a/x-pack/plugins/security_solution/public/common/components/navigation/breadcrumbs/index.test.ts b/x-pack/plugins/security_solution/public/common/components/navigation/breadcrumbs/index.test.ts index e0b200d94012b1..84aec148913280 100644 --- a/x-pack/plugins/security_solution/public/common/components/navigation/breadcrumbs/index.test.ts +++ b/x-pack/plugins/security_solution/public/common/components/navigation/breadcrumbs/index.test.ts @@ -304,7 +304,7 @@ describe('Navigation Breadcrumbs', () => { expect(breadcrumbs).toEqual([ securityBreadCrumb, { - text: 'Exception lists', + text: 'Rule Exceptions', href: '', }, ]); @@ -623,7 +623,7 @@ describe('Navigation Breadcrumbs', () => { securityBreadCrumb, manageBreadcrumbs, { - text: 'Exception lists', + text: 'Rule Exceptions', href: '', }, ]); diff --git a/x-pack/plugins/security_solution/public/common/components/navigation/use_security_solution_navigation/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/navigation/use_security_solution_navigation/__snapshots__/index.test.tsx.snap index ec824632e1aee9..c4639b8ff8a820 100644 --- a/x-pack/plugins/security_solution/public/common/components/navigation/use_security_solution_navigation/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/navigation/use_security_solution_navigation/__snapshots__/index.test.tsx.snap @@ -97,7 +97,7 @@ Object { "href": "securitySolutionUI/exceptions", "id": "exceptions", "isSelected": false, - "name": "Exception lists", + "name": "Rule Exceptions", "onClick": [Function], }, ], diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/columns.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/columns.tsx deleted file mode 100644 index 4b196968de008d..00000000000000 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/columns.tsx +++ /dev/null @@ -1,175 +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 React from 'react'; -import type { EuiBasicTableColumn } from '@elastic/eui'; -import { EuiButtonIcon, EuiToolTip } from '@elastic/eui'; - -import type { NamespaceType } from '@kbn/securitysolution-io-ts-list-types'; -import { DEFAULT_RELATIVE_DATE_THRESHOLD } from '../../../../../common/constants'; -import type { FormatUrl } from '../../../../common/components/link_to'; -import { PopoverItems } from '../../../../common/components/popover_items'; -import { FormattedRelativePreferenceDate } from '../../../../common/components/formatted_date'; -import { getRuleDetailsUrl } from '../../../../common/components/link_to/redirect_to_detection_engine'; -import { LinkAnchor } from '../../../../common/components/links'; -import * as i18n from './translations'; -import type { ExceptionListInfo } from './use_all_exception_lists'; -import type { ExceptionsTableItem } from './types'; - -export type AllExceptionListsColumns = EuiBasicTableColumn; - -const RULES_TO_DISPLAY = 1; - -export const getAllExceptionListsColumns = ( - onExport: (arg: { id: string; listId: string; namespaceType: NamespaceType }) => () => void, - onDelete: (arg: { id: string; listId: string; namespaceType: NamespaceType }) => () => void, - formatUrl: FormatUrl, - navigateToUrl: (url: string) => Promise, - isKibanaReadOnly: boolean -): AllExceptionListsColumns[] => [ - { - align: 'left', - field: 'list_id', - name: i18n.EXCEPTION_LIST_ID_TITLE, - truncateText: true, - dataType: 'string', - width: '20%', - render: (value: ExceptionListInfo['list_id']) => ( - - {value} - - ), - }, - { - align: 'left', - field: 'name', - name: i18n.EXCEPTION_LIST_NAME, - truncateText: true, - dataType: 'string', - width: '20%', - render: (value: ExceptionListInfo['name']) => ( - - {value} - - ), - }, - { - field: 'rules', - name: i18n.RULES_ASSIGNED_TO_TITLE, - dataType: 'string', - width: '30%', - render: (rules: ExceptionListInfo['rules']) => { - const renderItem = ( - { id, name }: T, - index: number, - items: T[] - ) => { - const ruleHref = formatUrl(getRuleDetailsUrl(id)); - const isSeparator = index !== items.length - 1; - return ( - <> - - <> - void }) => { - ev.preventDefault(); - navigateToUrl(ruleHref); - }} - href={ruleHref} - > - {name} - {isSeparator && ','} - - - - {isSeparator && ' '} - - ); - }; - - return ( - - ); - }, - }, - { - align: 'left', - field: 'created_at', - name: i18n.LIST_DATE_CREATED_TITLE, - truncateText: true, - dataType: 'date', - width: '15%', - render: (value: ExceptionListInfo['created_at']) => ( - - ), - }, - { - align: 'left', - field: 'updated_at', - name: i18n.LIST_DATE_UPDATED_TITLE, - truncateText: true, - width: '15%', - render: (value: ExceptionListInfo['updated_at']) => ( - - ), - }, - { - align: 'left', - width: '76px', - name: i18n.EXCEPTION_LIST_ACTIONS, - actions: [ - { - render: ({ id, list_id: listId, namespace_type: namespaceType }: ExceptionListInfo) => ( - - ), - }, - { - render: ({ id, list_id: listId, namespace_type: namespaceType }: ExceptionListInfo) => { - return listId === 'endpoint_list' || isKibanaReadOnly ? ( - <> - ) : ( - - ); - }, - }, - ], - }, -]; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/types.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/types.ts deleted file mode 100644 index 316ad93ad8183b..00000000000000 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/types.ts +++ /dev/null @@ -1,13 +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 type { ExceptionListInfo } from './use_all_exception_lists'; - -export interface ExceptionsTableItem extends ExceptionListInfo { - isDeleting: boolean; - isExporting: boolean; -} diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/helpers.test.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/helpers.test.ts index babedf3c14905e..1ef07451103e6f 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/helpers.test.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/helpers.test.ts @@ -6,7 +6,7 @@ */ import { Query } from '@elastic/eui'; -import { EXCEPTIONS_SEARCH_SCHEMA } from '../../../rule_exceptions_ui/pages/exceptions/exceptions_search_bar'; +import { EXCEPTIONS_SEARCH_SCHEMA } from '../../../../exceptions/manage_exceptions/exceptions_search_bar'; import { caseInsensitiveSort, getSearchFilters } from './helpers'; describe('AllRulesTable Helpers', () => { diff --git a/x-pack/plugins/security_solution/public/exceptions/jest.config.js b/x-pack/plugins/security_solution/public/exceptions/jest.config.js new file mode 100644 index 00000000000000..f4b96b3f07e7a0 --- /dev/null +++ b/x-pack/plugins/security_solution/public/exceptions/jest.config.js @@ -0,0 +1,26 @@ +/* + * 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. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../../..', + roots: ['/x-pack/plugins/security_solution/public/exceptions'], + coverageDirectory: + '/target/kibana-coverage/jest/x-pack/plugins/security_solution/public/exceptions', + coverageReporters: ['text', 'html'], + collectCoverageFrom: [ + '/x-pack/plugins/security_solution/public/exceptions/**/*.{ts,tsx}', + ], + // See: https://github.com/elastic/kibana/issues/117255, the moduleNameMapper creates mocks to avoid memory leaks from kibana core. + moduleNameMapper: { + 'core/server$': '/x-pack/plugins/security_solution/server/__mocks__/core.mock.ts', + 'task_manager/server$': + '/x-pack/plugins/security_solution/server/__mocks__/task_manager.mock.ts', + 'alerting/server$': '/x-pack/plugins/security_solution/server/__mocks__/alert.mock.ts', + 'actions/server$': '/x-pack/plugins/security_solution/server/__mocks__/action.mock.ts', + }, +}; diff --git a/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_list_card.tsx b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_list_card.tsx new file mode 100644 index 00000000000000..cc2552b4f9fd77 --- /dev/null +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_list_card.tsx @@ -0,0 +1,150 @@ +/* + * 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, { memo, useState } from 'react'; + +import { + EuiLink, + EuiButtonIcon, + EuiContextMenuItem, + EuiContextMenuPanel, + EuiFlexGroup, + EuiFlexItem, + EuiTextColor, + EuiPanel, + EuiPopover, + EuiText, +} from '@elastic/eui'; +import type { HttpSetup } from '@kbn/core-http-browser'; +import type { NamespaceType } from '@kbn/securitysolution-io-ts-list-types'; +import type { ExceptionListInfo } from './use_all_exception_lists'; +import { TitleBadge } from './title_badge'; +import * as i18n from './translations'; + +interface ExceptionsListCardProps { + exceptionsList: ExceptionListInfo; + http: HttpSetup; + handleDelete: ({ + id, + listId, + namespaceType, + }: { + id: string; + listId: string; + namespaceType: NamespaceType; + }) => () => Promise; + handleExport: ({ + id, + listId, + namespaceType, + }: { + id: string; + listId: string; + namespaceType: NamespaceType; + }) => () => Promise; + readOnly: boolean; +} + +export const ExceptionsListCard = memo( + ({ exceptionsList, http, handleDelete, handleExport, readOnly }) => { + const [isPopoverOpen, setIsPopoverOpen] = useState(false); + + const onItemActionsClick = () => setIsPopoverOpen((isOpen) => !isOpen); + const onClosePopover = () => setIsPopoverOpen(false); + + return ( + + + + + + + + + + + {exceptionsList.name.toString()} + + + + + {exceptionsList.description} + + + + + + + + + + + + + + + } + panelPaddingSize="none" + isOpen={isPopoverOpen} + closePopover={onClosePopover} + > + { + onClosePopover(); + handleDelete({ + id: exceptionsList.id, + listId: exceptionsList.list_id, + namespaceType: exceptionsList.namespace_type, + })(); + }} + > + {i18n.DELETE_EXCEPTION_LIST} + , + { + onClosePopover(); + handleExport({ + id: exceptionsList.id, + listId: exceptionsList.list_id, + namespaceType: exceptionsList.namespace_type, + })(); + }} + > + {i18n.EXPORT_EXCEPTION_LIST} + , + ]} + /> + + + + + + + ); + } +); + +ExceptionsListCard.displayName = 'ExceptionsListCard'; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_search_bar.tsx b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_search_bar.tsx similarity index 95% rename from x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_search_bar.tsx rename to x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_search_bar.tsx index 0a348a28a0a386..bcd9e99498f583 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_search_bar.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_search_bar.tsx @@ -9,7 +9,7 @@ import React from 'react'; import type { EuiSearchBarProps } from '@elastic/eui'; import { EuiSearchBar } from '@elastic/eui'; -import * as i18n from './translations'; +import * as i18n from './translations_exceptions_table'; interface ExceptionListsTableSearchProps { onSearch: (args: Parameters>[0]) => void; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_table.test.tsx b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_table.test.tsx similarity index 74% rename from x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_table.test.tsx rename to x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_table.test.tsx index c443968c14015b..03196264b79c29 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_table.test.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_table.test.tsx @@ -8,18 +8,18 @@ import React from 'react'; import { mount } from 'enzyme'; -import { TestProviders } from '../../../../common/mock'; +import { TestProviders } from '../../common/mock'; import { getExceptionListSchemaMock } from '@kbn/lists-plugin/common/schemas/response/exception_list_schema.mock'; -import { useUserData } from '../../../../detections/components/user_info'; +import { useUserData } from '../../detections/components/user_info'; import { ExceptionListsTable } from './exceptions_table'; import { useApi, useExceptionLists } from '@kbn/securitysolution-list-hooks'; import { useAllExceptionLists } from './use_all_exception_lists'; import { useHistory } from 'react-router-dom'; -import { generateHistoryMock } from '../../../../common/utils/route/mocks'; +import { generateHistoryMock } from '../../common/utils/route/mocks'; -jest.mock('../../../../detections/components/user_info'); -jest.mock('../../../../common/lib/kibana'); +jest.mock('../../detections/components/user_info'); +jest.mock('../../common/lib/kibana'); jest.mock('./use_all_exception_lists'); jest.mock('@kbn/securitysolution-list-hooks'); jest.mock('react-router-dom', () => { @@ -39,7 +39,7 @@ jest.mock('@kbn/i18n-react', () => { }; }); -jest.mock('../../../../detections/containers/detection_engine/lists/use_lists_config', () => ({ +jest.mock('../../detections/containers/detection_engine/lists/use_lists_config', () => ({ useListsConfig: jest.fn().mockReturnValue({ loading: false }), })); @@ -90,26 +90,25 @@ describe('ExceptionListsTable', () => { ]); }); - it('does not render delete option if list is "endpoint_list"', async () => { + it('renders delete option as disabled if list is "endpoint_list"', async () => { const wrapper = mount( ); - expect(wrapper.find('[data-test-subj="exceptionsTableListId"]').at(0).text()).toEqual( - 'endpoint_list' - ); - expect(wrapper.find('[data-test-subj="exceptionsTableListId"]').at(1).text()).toEqual( - 'not_endpoint_list' - ); + wrapper + .find('[data-test-subj="exceptionsListCardOverflowActions"] button') + .at(0) + .simulate('click'); + expect(wrapper.find('[data-test-subj="exceptionsTableDeleteButton"] button')).toHaveLength(1); expect( wrapper.find('[data-test-subj="exceptionsTableDeleteButton"] button').at(0).prop('disabled') - ).toBeFalsy(); + ).toBeTruthy(); }); - it('does not render delete option if user is read only', async () => { + it('renders delete option as disabled if user is read only', async () => { (useUserData as jest.Mock).mockReturnValue([ { loading: false, @@ -123,10 +122,12 @@ describe('ExceptionListsTable', () => { ); - - expect(wrapper.find('[data-test-subj="exceptionsTableListId"]').at(1).text()).toEqual( - 'not_endpoint_list' - ); - expect(wrapper.find('[data-test-subj="exceptionsTableDeleteButton"] button')).toHaveLength(0); + wrapper + .find('[data-test-subj="exceptionsListCardOverflowActions"] button') + .at(0) + .simulate('click'); + expect( + wrapper.find('[data-test-subj="exceptionsTableDeleteButton"] button').at(0).prop('disabled') + ).toBeTruthy(); }); }); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_table.tsx b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_table.tsx similarity index 61% rename from x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_table.tsx rename to x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_table.tsx index b2d3d078abb544..3eb7b0bdd28891 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_table.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/exceptions_table.tsx @@ -5,11 +5,18 @@ * 2.0. */ -import React, { useMemo, useEffect, useCallback, useState } from 'react'; -import type { CriteriaWithPagination, EuiSearchBarProps } from '@elastic/eui'; +import React, { useEffect, useCallback, useState } from 'react'; +import type { EuiSearchBarProps } from '@elastic/eui'; + import { - EuiBasicTable, - EuiEmptyPrompt, + EuiButtonEmpty, + EuiContextMenuItem, + EuiContextMenuPanel, + EuiPagination, + EuiPopover, + EuiButton, + EuiFlexGroup, + EuiFlexItem, EuiLoadingContent, EuiProgress, EuiSpacer, @@ -20,28 +27,25 @@ import { import type { NamespaceType, ExceptionListFilter } from '@kbn/securitysolution-io-ts-list-types'; import { useApi, useExceptionLists } from '@kbn/securitysolution-list-hooks'; -import { AutoDownload } from '../../../../common/components/auto_download/auto_download'; -import { useFormatUrl } from '../../../../common/components/link_to'; -import { Loader } from '../../../../common/components/loader'; -import { useKibana } from '../../../../common/lib/kibana'; -import { useAppToasts } from '../../../../common/hooks/use_app_toasts'; -import { hasUserCRUDPermission } from '../../../../common/utils/privileges'; +import { AutoDownload } from '../../common/components/auto_download/auto_download'; +import { Loader } from '../../common/components/loader'; +import { useKibana } from '../../common/lib/kibana'; +import { useAppToasts } from '../../common/hooks/use_app_toasts'; -import * as i18n from './translations'; +import * as i18n from './translations_exceptions_table'; import { ExceptionsTableUtilityBar } from './exceptions_table_utility_bar'; -import type { AllExceptionListsColumns } from './columns'; -import { getAllExceptionListsColumns } from './columns'; import { useAllExceptionLists } from './use_all_exception_lists'; -import { ReferenceErrorModal } from '../../../../detections/components/value_lists_management_flyout/reference_error_modal'; -import { patchRule } from '../../../rule_management/api/api'; +import { ReferenceErrorModal } from '../../detections/components/value_lists_management_flyout/reference_error_modal'; +import { patchRule } from '../../detection_engine/rule_management/api/api'; import { ExceptionsSearchBar } from './exceptions_search_bar'; -import { getSearchFilters } from '../../../rule_management_ui/components/rules_table/helpers'; -import { SecurityPageName } from '../../../../../common/constants'; -import { useUserData } from '../../../../detections/components/user_info'; -import { useListsConfig } from '../../../../detections/containers/detection_engine/lists/use_lists_config'; -import type { ExceptionsTableItem } from './types'; -import { MissingPrivilegesCallOut } from '../../../../detections/components/callouts/missing_privileges_callout'; -import { ALL_ENDPOINT_ARTIFACT_LIST_IDS } from '../../../../../common/endpoint/service/artifacts/constants'; +import { getSearchFilters } from '../../detection_engine/rule_management_ui/components/rules_table/helpers'; +import { useUserData } from '../../detections/components/user_info'; +import { useListsConfig } from '../../detections/containers/detection_engine/lists/use_lists_config'; +import { MissingPrivilegesCallOut } from '../../detections/components/callouts/missing_privileges_callout'; +import { ALL_ENDPOINT_ARTIFACT_LIST_IDS } from '../../../common/endpoint/service/artifacts/constants'; +import { ExceptionsListCard } from './exceptions_list_card'; + +import { ImportExceptionListFlyout } from './import_exceptions_list_flyout'; export type Func = () => Promise; @@ -62,15 +66,13 @@ const exceptionReferenceModalInitialState: ReferenceModalState = { }; export const ExceptionListsTable = React.memo(() => { - const { formatUrl } = useFormatUrl(SecurityPageName.rules); const [{ loading: userInfoLoading, canUserCRUD, canUserREAD }] = useUserData(); - const hasPermissions = hasUserCRUDPermission(canUserCRUD); const { loading: listsConfigLoading } = useListsConfig(); const loading = userInfoLoading || listsConfigLoading; const { - services: { http, notifications, timelines, application }, + services: { http, notifications, timelines }, } = useKibana(); const { exportExceptionList, deleteExceptionList } = useApi(http); @@ -91,12 +93,12 @@ export const ExceptionListsTable = React.memo(() => { const [loadingTableInfo, exceptionListsWithRuleRefs, exceptionsListsRef] = useAllExceptionLists({ exceptionLists: exceptions ?? [], }); + const [initLoading, setInitLoading] = useState(true); const [lastUpdated, setLastUpdated] = useState(Date.now()); - const [deletingListIds, setDeletingListIds] = useState([]); - const [exportingListIds, setExportingListIds] = useState([]); + const [exportDownload, setExportDownload] = useState<{ name?: string; blob?: Blob }>({}); - const { navigateToUrl } = application; + const [displayImportListFlyout, setDisplayImportListFlyout] = useState(false); const { addError, addSuccess } = useAppToasts(); const handleDeleteSuccess = useCallback( @@ -121,11 +123,6 @@ export const ExceptionListsTable = React.memo(() => { ({ id, listId, namespaceType }: { id: string; listId: string; namespaceType: NamespaceType }) => async () => { try { - setDeletingListIds((ids) => [...ids, id]); - if (refreshExceptions != null) { - refreshExceptions(); - } - if (exceptionsListsRef[id] != null && exceptionsListsRef[id].rules.length === 0) { await deleteExceptionList({ id, @@ -150,8 +147,6 @@ export const ExceptionListsTable = React.memo(() => { // route to patch rules with associated exception list } catch (error) { handleDeleteError(error); - } finally { - setDeletingListIds((ids) => ids.filter((_id) => _id !== id)); } }, [ @@ -182,7 +177,6 @@ export const ExceptionListsTable = React.memo(() => { const handleExport = useCallback( ({ id, listId, namespaceType }: { id: string; listId: string; namespaceType: NamespaceType }) => async () => { - setExportingListIds((ids) => [...ids, id]); await exportExceptionList({ id, listId, @@ -194,18 +188,6 @@ export const ExceptionListsTable = React.memo(() => { [exportExceptionList, handleExportError, handleExportSuccess] ); - const exceptionsColumns = useMemo((): AllExceptionListsColumns[] => { - // Defaulting to true to default to the lower privilege first - const isKibanaReadOnly = (canUserREAD && !canUserCRUD) ?? true; - return getAllExceptionListsColumns( - handleExport, - handleDelete, - formatUrl, - navigateToUrl, - isKibanaReadOnly - ); - }, [handleExport, handleDelete, formatUrl, navigateToUrl, canUserREAD, canUserCRUD]); - const handleRefresh = useCallback((): void => { if (refreshExceptions != null) { setLastUpdated(Date.now()); @@ -219,16 +201,6 @@ export const ExceptionListsTable = React.memo(() => { } }, [initLoading, loading, loadingExceptions, loadingTableInfo]); - const emptyPrompt = useMemo((): JSX.Element => { - return ( - {i18n.NO_EXCEPTION_LISTS}} - titleSize="xs" - body={i18n.NO_LISTS_BODY} - /> - ); - }, []); - const handleSearch = useCallback( async ({ query, @@ -253,7 +225,6 @@ export const ExceptionListsTable = React.memo(() => { ); const handleCloseReferenceErrorModal = useCallback((): void => { - setDeletingListIds([]); setShowReferenceErrorModal(false); setReferenceModalState({ contentText: '', @@ -297,7 +268,6 @@ export const ExceptionListsTable = React.memo(() => { handleDeleteError(err); } finally { setReferenceModalState(exceptionReferenceModalInitialState); - setDeletingListIds([]); setShowReferenceErrorModal(false); if (refreshExceptions != null) { refreshExceptions(); @@ -313,51 +283,108 @@ export const ExceptionListsTable = React.memo(() => { refreshExceptions, ]); - const paginationMemo = useMemo( - () => ({ - pageIndex: pagination.page - 1, - pageSize: pagination.perPage, - totalItemCount: pagination.total || 0, - pageSizeOptions: [5, 10, 20, 50, 100, 200, 300], - }), - [pagination] - ); - const handleOnDownload = useCallback(() => { setExportDownload({}); }, []); - const tableItems = useMemo( - () => - (exceptionListsWithRuleRefs ?? []).map((item) => ({ - ...item, - isDeleting: deletingListIds.includes(item.id), - isExporting: exportingListIds.includes(item.id), - })), - [deletingListIds, exceptionListsWithRuleRefs, exportingListIds] + const [activePage, setActivePage] = useState(0); + const [rowSize, setRowSize] = useState(5); + const [isRowSizePopoverOpen, setIsRowSizePopoverOpen] = useState(false); + const onRowSizeButtonClick = () => setIsRowSizePopoverOpen((val) => !val); + const closeRowSizePopover = () => setIsRowSizePopoverOpen(false); + + const rowSizeButton = ( + + {`Rows per page: ${rowSize}`} + ); - const handlePaginationChange = useCallback( - (criteria: CriteriaWithPagination) => { - const { index, size } = criteria.page; - setPagination((currentPagination) => ({ - ...currentPagination, - perPage: size, - page: index + 1, - })); - }, - [setPagination] - ); + const getIconType = (size: number) => { + return size === rowSize ? 'check' : 'empty'; + }; + + const rowSizeItems = [ + { + closeRowSizePopover(); + setRowSize(5); + }} + > + {'5 rows'} + , + { + closeRowSizePopover(); + setRowSize(10); + }} + > + {'10 rows'} + , + { + closeRowSizePopover(); + setRowSize(25); + }} + > + {'25 rows'} + , + ]; + + useEffect(() => { + setPagination({ + // off-by-one error + // we should really update the api to be zero-index based + // the same way the pagination component in EUI is zero based. + page: activePage + 1, + perPage: rowSize, + total: 0, + }); + }, [activePage, rowSize, setPagination]); + + const goToPage = (pageNumber: number) => setActivePage(pageNumber); return ( <> - {timelines.getLastUpdated({ showUpdating: loading, updatedAt: lastUpdated })}

- } - /> + + + + + + setDisplayImportListFlyout(true)}> + {i18n.IMPORT_EXCEPTION_LIST} + + + + + {displayImportListFlyout && ( + + )} +
{loadingTableInfo && ( @@ -375,7 +402,7 @@ export const ExceptionListsTable = React.memo(() => { )} - {initLoading ? ( + {initLoading || loadingTableInfo ? ( ) : ( <> @@ -383,18 +410,51 @@ export const ExceptionListsTable = React.memo(() => { totalExceptionLists={exceptionListsWithRuleRefs.length} onRefresh={handleRefresh} /> - - data-test-subj="exceptions-table" - columns={exceptionsColumns} - isSelectable={hasPermissions} - itemId="id" - items={tableItems} - noItemsMessage={emptyPrompt} - onChange={handlePaginationChange} - pagination={paginationMemo} - /> + + {exceptionListsWithRuleRefs.length > 0 && canUserCRUD !== null && canUserREAD !== null && ( + + {exceptionListsWithRuleRefs.map((excList) => ( + + ))} + + )} )} + + + + + + + + + + + + + + + + + + void; diff --git a/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/import_exceptions_list_flyout.tsx b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/import_exceptions_list_flyout.tsx new file mode 100644 index 00000000000000..ab19d153181b7e --- /dev/null +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/import_exceptions_list_flyout.tsx @@ -0,0 +1,201 @@ +/* + * 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 { SetStateAction, Dispatch } from 'react'; +import React, { useEffect, useRef, useCallback, useState } from 'react'; + +import { + useGeneratedHtmlId, + EuiButton, + EuiButtonEmpty, + EuiCheckbox, + EuiFilePicker, + EuiFlexGroup, + EuiFlexItem, + EuiFlyoutBody, + EuiFlyoutHeader, + EuiSpacer, + EuiText, + EuiTitle, + EuiFlyoutFooter, + EuiTextColor, + EuiFlyout, +} from '@elastic/eui'; +import type { + BulkErrorSchema, + ImportExceptionsResponseSchema, +} from '@kbn/securitysolution-io-ts-list-types'; +import type { HttpSetup } from '@kbn/core-http-browser'; +import type { ToastInput, Toast, ErrorToastOptions } from '@kbn/core-notifications-browser'; + +import { useImportExceptionList } from './use_import_exception_list'; + +import * as i18n from './translations'; + +export const ImportExceptionListFlyout = React.memo( + ({ + handleRefresh, + http, + addSuccess, + addError, + setDisplayImportListFlyout, + }: { + handleRefresh: () => void; + http: HttpSetup; + addSuccess: (toastOrTitle: ToastInput, options?: unknown) => Toast; + addError: (error: unknown, options: ErrorToastOptions) => Toast; + setDisplayImportListFlyout: Dispatch>; + }) => { + const filePickerRef = useRef(null); + + const filePickerId = useGeneratedHtmlId({ prefix: 'filePicker' }); + const [file, setFile] = useState(null); + const [overwrite, setOverwrite] = useState(false); + const [asNewList, setAsNewList] = useState(false); + + const resetForm = useCallback(() => { + if (filePickerRef.current?.fileInput) { + filePickerRef.current.fileInput.value = ''; + filePickerRef.current.handleChange(); + } + setFile(null); + setAlreadyExistingItem(false); + setAsNewList(false); + setOverwrite(false); + }, []); + const { start: importExceptionList, ...importExceptionListState } = useImportExceptionList(); + const ctrl = useRef(new AbortController()); + + const handleImportExceptionList = useCallback(() => { + if (!importExceptionListState.loading && file) { + ctrl.current = new AbortController(); + + importExceptionList({ + file, + http, + signal: ctrl.current.signal, + overwrite, + overwriteExceptions: overwrite, + asNewList, + }); + } + }, [asNewList, file, http, importExceptionList, importExceptionListState.loading, overwrite]); + + const handleImportSuccess = useCallback( + (response: ImportExceptionsResponseSchema) => { + resetForm(); + addSuccess({ + text: i18n.uploadSuccessMessage(file?.name ?? ''), + title: i18n.UPLOAD_SUCCESS_TITLE, + }); + handleRefresh(); + }, + // looking for file.name but we don't wan't to render success every time file name changes. + // eslint-disable-next-line react-hooks/exhaustive-deps + [resetForm, addSuccess, handleRefresh] + ); + const handleImportError = useCallback( + (errors: BulkErrorSchema[]) => { + errors.forEach((error) => { + if (!error.error.message.includes('AbortError')) { + addError(error.error.message, { title: i18n.UPLOAD_ERROR }); + } + }); + }, + [addError] + ); + const [alreadyExistingItem, setAlreadyExistingItem] = useState(false); + + useEffect(() => { + if (!importExceptionListState.loading) { + if (importExceptionListState?.result?.success) { + handleImportSuccess(importExceptionListState?.result); + } else if (importExceptionListState?.result?.errors) { + handleImportError(importExceptionListState?.result?.errors); + } + } + }, [ + handleImportError, + handleImportSuccess, + importExceptionListState.error, + importExceptionListState.loading, + importExceptionListState.result, + setAlreadyExistingItem, + ]); + const handleFileChange = useCallback((files: FileList | null) => { + setFile(files?.item(0) ?? null); + }, []); + return ( + setDisplayImportListFlyout(false)}> + + +

{i18n.IMPORT_EXCEPTION_LIST_HEADER}

+
+
+ + {i18n.IMPORT_EXCEPTION_LIST_BODY} + + + {alreadyExistingItem && ( + <> + + {i18n.IMPORT_EXCEPTION_LIST_WARNING} + + { + setOverwrite(!overwrite); + setAsNewList(false); + }} + /> + { + setAsNewList(!asNewList); + setOverwrite(false); + }} + /> + + )} + + + + + setDisplayImportListFlyout(false)} + flush="left" + > + {i18n.CLOSE_FLYOUT} + + + + + {i18n.UPLOAD_BUTTON} + + + + +
+ ); + } +); diff --git a/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/title_badge.tsx b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/title_badge.tsx new file mode 100644 index 00000000000000..a4572cc65788b8 --- /dev/null +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/title_badge.tsx @@ -0,0 +1,37 @@ +/* + * 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, { memo } from 'react'; +import styled from 'styled-components'; + +import { EuiBadge, EuiFlexGroup, EuiFlexItem, EuiText } from '@elastic/eui'; + +interface TitleBadgeProps { + title: string; + badgeString: string; +} + +const StyledFlexItem = styled(EuiFlexItem)` + border-right: 1px solid #d3dae6; + padding: 4px 12px 4px 0; +`; +export const TitleBadge = memo(({ title, badgeString }) => { + return ( + + + + {title} + + + {badgeString}{' '} + + + + ); +}); + +TitleBadge.displayName = 'TitleBadge'; diff --git a/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/translations.ts b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/translations.ts new file mode 100644 index 00000000000000..ada66d4e9b6027 --- /dev/null +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/translations.ts @@ -0,0 +1,106 @@ +/* + * 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'; + +export const uploadSuccessMessage = (fileName: string) => + i18n.translate('xpack.securitySolution.lists.exceptionListImportSuccess', { + defaultMessage: "Exception list '{fileName}' was imported", + values: { fileName }, + }); + +export const CREATED_BY = i18n.translate('xpack.securitySolution.exceptionsTable.createdBy', { + defaultMessage: 'Created By', +}); + +export const CREATED_AT = i18n.translate('xpack.securitySolution.exceptionsTable.createdAt', { + defaultMessage: 'Created At', +}); + +export const DELETE_EXCEPTION_LIST = i18n.translate( + 'xpack.securitySolution.exceptionsTable.deleteExceptionList', + { + defaultMessage: 'Delete Exception List', + } +); + +export const EXPORT_EXCEPTION_LIST = i18n.translate( + 'xpack.securitySolution.exceptionsTable.exportExceptionList', + { + defaultMessage: 'Export Exception List', + } +); + +export const IMPORT_EXCEPTION_LIST_HEADER = i18n.translate( + 'xpack.securitySolution.exceptionsTable.importExceptionListFlyoutHeader', + { + defaultMessage: 'Import shared exception list', + } +); + +export const IMPORT_EXCEPTION_LIST_BODY = i18n.translate( + 'xpack.securitySolution.exceptionsTable.importExceptionListFlyoutBody', + { + defaultMessage: 'Select shared exception lists to import', + } +); + +export const IMPORT_EXCEPTION_LIST_WARNING = i18n.translate( + 'xpack.securitySolution.exceptionsTable.importExceptionListWarning', + { + defaultMessage: 'We found a pre-existing list with that id', + } +); + +export const IMPORT_EXCEPTION_LIST_OVERWRITE = i18n.translate( + 'xpack.securitySolution.exceptionsTable.importExceptionListOverwrite', + { + defaultMessage: 'Overwrite the existing list', + } +); + +export const IMPORT_EXCEPTION_LIST_AS_NEW_LIST = i18n.translate( + 'xpack.securitySolution.exceptionsTable.importExceptionListAsNewList', + { + defaultMessage: 'Create new list', + } +); + +export const UPLOAD_SUCCESS_TITLE = i18n.translate( + 'xpack.securitySolution.lists.exceptionListImportSuccessTitle', + { + defaultMessage: 'Exception list imported', + } +); + +export const UPLOAD_ERROR = i18n.translate( + 'xpack.securitySolution.lists.exceptionListUploadError', + { + defaultMessage: 'There was an error uploading the exception list.', + } +); + +export const UPLOAD_BUTTON = i18n.translate( + 'xpack.securitySolution.exceptions.exceptionListsImportButton', + { + defaultMessage: 'Import list', + } +); + +export const CLOSE_FLYOUT = i18n.translate( + 'xpack.securitySolution.exceptions.exceptionListsCloseImportFlyout', + { + defaultMessage: 'Close', + } +); + +export const IMPORT_PROMPT = i18n.translate( + 'xpack.securitySolution.exceptions.exceptionListsFilePickerPrompt', + { + defaultMessage: 'Select or drag and drop multiple files', + } +); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/translations.ts b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/translations_exceptions_table.ts similarity index 84% rename from x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/translations.ts rename to x-pack/plugins/security_solution/public/exceptions/manage_exceptions/translations_exceptions_table.ts index 3d817adb2605cf..a862a25b2d773f 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/translations.ts +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/translations_exceptions_table.ts @@ -88,7 +88,7 @@ export const EXCEPTIONS_LISTS_SEARCH_PLACEHOLDER = i18n.translate( export const ALL_EXCEPTIONS = i18n.translate( 'xpack.securitySolution.detectionEngine.rules.allExceptions.tableTitle', { - defaultMessage: 'Exception lists', + defaultMessage: 'Rule Exceptions', } ); @@ -167,3 +167,37 @@ export const REFRESH_EXCEPTIONS_TABLE = i18n.translate( defaultMessage: 'Refresh', } ); + +export const UPLOAD_BUTTON = i18n.translate( + 'xpack.securitySolution.exceptions.exceptionListsImportButton', + { + defaultMessage: 'Import list', + } +); + +export const uploadSuccessMessage = (fileName: string) => + i18n.translate('xpack.securitySolution.lists.exceptionListImportSuccess', { + defaultMessage: "Exception list '{fileName}' was imported", + values: { fileName }, + }); + +export const UPLOAD_SUCCESS_TITLE = i18n.translate( + 'xpack.securitySolution.lists.exceptionListImportSuccessTitle', + { + defaultMessage: 'Exception list imported', + } +); + +export const UPLOAD_ERROR = i18n.translate( + 'xpack.securitySolution.lists.exceptionListUploadError', + { + defaultMessage: 'There was an error uploading the exception list.', + } +); + +export const IMPORT_EXCEPTION_LIST = i18n.translate( + 'xpack.securitySolution.lists.importExceptionListButton', + { + defaultMessage: 'Import exception list', + } +); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/use_all_exception_lists.tsx b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/use_all_exception_lists.tsx similarity index 95% rename from x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/use_all_exception_lists.tsx rename to x-pack/plugins/security_solution/public/exceptions/manage_exceptions/use_all_exception_lists.tsx index cd77e727221327..688ad352a147ff 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui/pages/exceptions/use_all_exception_lists.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/use_all_exception_lists.tsx @@ -8,8 +8,8 @@ import { useCallback, useEffect, useState } from 'react'; import type { ExceptionListSchema } from '@kbn/securitysolution-io-ts-list-types'; -import type { Rule } from '../../../rule_management/logic'; -import { fetchRules } from '../../../rule_management/api/api'; +import type { Rule } from '../../detection_engine/rule_management/logic'; +import { fetchRules } from '../../detection_engine/rule_management/api/api'; export interface ExceptionListInfo extends ExceptionListSchema { rules: Rule[]; } diff --git a/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/use_import_exception_list.tsx b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/use_import_exception_list.tsx new file mode 100644 index 00000000000000..ca766c102efd37 --- /dev/null +++ b/x-pack/plugins/security_solution/public/exceptions/manage_exceptions/use_import_exception_list.tsx @@ -0,0 +1,48 @@ +/* + * 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 { EXCEPTION_LIST_URL } from '@kbn/securitysolution-list-constants'; + +import type { ImportExceptionsResponseSchema } from '@kbn/securitysolution-io-ts-list-types'; + +import type { HttpStart } from '@kbn/core/public'; +import { useAsync, withOptionalSignal } from '@kbn/securitysolution-hook-utils'; + +export const importExceptionList = async ({ + file, + http, + signal, + overwrite, + overwriteExceptions, + asNewList, +}: { + // TODO: Replace these with kbn packaged versions once we have those available to us + // These originally came from this location below before moving them to this hacked "any" types: + // import { HttpStart, NotificationsStart } from '../../../../../src/core/public'; + http: HttpStart; + signal: AbortSignal; + file: File; + overwrite: boolean; + overwriteExceptions: boolean; + asNewList: boolean; +}): Promise => { + const formData = new FormData(); + formData.append('file', file as Blob); + + const res = await http.post(`${EXCEPTION_LIST_URL}/_import`, { + body: formData, + query: { overwrite, overwrite_exceptions: overwriteExceptions, as_new_list: asNewList }, + headers: { 'Content-Type': undefined }, + method: 'POST', + signal, + }); + return res; +}; + +const importListWithOptionalSignal = withOptionalSignal(importExceptionList); + +export const useImportExceptionList = () => useAsync(importListWithOptionalSignal); diff --git a/x-pack/plugins/security_solution/public/exceptions/routes.tsx b/x-pack/plugins/security_solution/public/exceptions/routes.tsx index b977a987224446..367474aa12ae75 100644 --- a/x-pack/plugins/security_solution/public/exceptions/routes.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/routes.tsx @@ -11,7 +11,7 @@ import { Route } from '@kbn/kibana-react-plugin/public'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; import * as i18n from './translations'; import { EXCEPTIONS_PATH, SecurityPageName } from '../../common/constants'; -import { ExceptionListsTable } from '../detection_engine/rule_exceptions_ui/pages/exceptions/exceptions_table'; +import { ExceptionListsTable } from './manage_exceptions/exceptions_table'; import { SpyRoute } from '../common/utils/route/spy_routes'; import { NotFoundPage } from '../app/404'; import { useReadonlyHeader } from '../use_readonly_header'; From 6412057399114ef647364ef79c24b3853f58dbdf Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Wed, 2 Nov 2022 17:02:47 +0100 Subject: [PATCH 08/37] adding missing action types to Agent activity UI (#144437) --- .../components/agent_activity_flyout.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_activity_flyout.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_activity_flyout.tsx index c3b5605ecd4845..d40948f2323c67 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_activity_flyout.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_activity_flyout.tsx @@ -259,6 +259,16 @@ const actionNames: { completedText: 'updated settings', cancelledText: 'update settings', }, + POLICY_CHANGE: { + inProgressText: 'Changing policy of', + completedText: 'changed policy', + cancelledText: 'change policy', + }, + INPUT_ACTION: { + inProgressText: 'Input action in progress of', + completedText: 'input action completed', + cancelledText: 'input action', + }, ACTION: { inProgressText: 'Actioning', completedText: 'actioned', cancelledText: 'action' }, }; From 8ea2f3b7157ac1610a8253fb8d108b5e7050e7e6 Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Wed, 2 Nov 2022 10:04:21 -0600 Subject: [PATCH 09/37] [Maps] add in product help for layer group drag and drop instructions (#144259) * [Maps] add in product help for layer group drag and drop instructions * [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix' * render callout above panel * review feedback on copy * [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix' * Update x-pack/plugins/maps/public/connected_components/edit_layer_panel/layer_settings/layer_settings.tsx Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * Update x-pack/plugins/maps/public/connected_components/edit_layer_panel/layer_settings/layer_settings.tsx Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * Update x-pack/plugins/maps/public/connected_components/edit_layer_panel/layer_settings/layer_settings.tsx Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> * update title Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com> --- .../layer_settings/layer_settings.tsx | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/x-pack/plugins/maps/public/connected_components/edit_layer_panel/layer_settings/layer_settings.tsx b/x-pack/plugins/maps/public/connected_components/edit_layer_panel/layer_settings/layer_settings.tsx index 6d63fc08ef85ea..162f43f0911a67 100644 --- a/x-pack/plugins/maps/public/connected_components/edit_layer_panel/layer_settings/layer_settings.tsx +++ b/x-pack/plugins/maps/public/connected_components/edit_layer_panel/layer_settings/layer_settings.tsx @@ -7,6 +7,8 @@ import React, { ChangeEvent, Fragment } from 'react'; import { + EuiCallOut, + EuiText, EuiTitle, EuiPanel, EuiFormRow, @@ -242,8 +244,44 @@ export function LayerSettings(props: Props) { ); }; + const renderLayerGroupInstructions = () => { + return isLayerGroup(props.layer) ? ( + <> + + +
    +
  • + {i18n.translate('xpack.maps.layerPanel.settingsPanel.layerGroupAddToFront', { + defaultMessage: 'To add your first layer, drag it onto the group name.', + })} +
  • +
  • + {i18n.translate('xpack.maps.layerPanel.settingsPanel.layerGroupAddToPosition', { + defaultMessage: + 'To add another layer, drag it anywhere above the last layer in the group.', + })} +
  • +
  • + {i18n.translate('xpack.maps.layerPanel.settingsPanel.layerGroupRemove', { + defaultMessage: 'To remove a layer, drag it above or below the group.', + })} +
  • +
+
+
+ + + ) : null; + }; + return ( + {renderLayerGroupInstructions()}
From 02a2a6a5004f82385f2f459d17e1e1a4f778b38b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Wed, 2 Nov 2022 17:32:34 +0100 Subject: [PATCH 10/37] [Guided onboarding] Fix multiple API requests when fetching guide state (#144160) * [Guided onboarding] Fix multiple API requests when fetching guide state * [Guided onboarding] Skip the Observability tour test if not on Cloud * [Guided onboarding] Fix the logic for the loading const when the request fails and when the subscription unsubscribes * [Guided onboarding] Fix the logic when a subsequent subscription was not getting the new state value * [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix' * [Guided onboarding] Fix requests in a loop when there is no state * [Guided onboarding] Fix the completed state not being broadcast * [Guided onboarding] Fix types error Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-guided-onboarding/index.ts | 9 +- .../public/components/guide_panel.test.tsx | 17 +- .../public/components/guide_panel.tsx | 2 +- .../public/services/api.mocks.ts | 18 ++ .../public/services/api.test.ts | 95 +++++-- .../guided_onboarding/public/services/api.ts | 57 ++-- x-pack/test/functional/apps/infra/tour.ts | 257 +++++++++--------- 7 files changed, 283 insertions(+), 172 deletions(-) diff --git a/packages/kbn-guided-onboarding/index.ts b/packages/kbn-guided-onboarding/index.ts index f98f330cd4be35..b22a8a2057c169 100644 --- a/packages/kbn-guided-onboarding/index.ts +++ b/packages/kbn-guided-onboarding/index.ts @@ -6,6 +6,13 @@ * Side Public License, v 1. */ -export type { GuideState, GuideId, GuideStepIds, StepStatus, GuideStep } from './src/types'; +export type { + GuideState, + GuideId, + GuideStepIds, + StepStatus, + GuideStep, + GuideStatus, +} from './src/types'; export { GuideCard, ObservabilityLinkCard } from './src/components/landing_page'; export type { UseCase } from './src/components/landing_page'; 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 9420e05e9d3fed..9be6326da1d06c 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx @@ -109,10 +109,21 @@ describe('Guided setup', () => { }); describe('Button component', () => { - // TODO check for the correct button behavior once https://github.com/elastic/kibana/issues/141129 is implemented - test.skip('should be disabled in there is no active guide', async () => { + test('should be hidden in there is no guide state', async () => { const { exists } = testBed; - expect(exists('disabledGuideButton')).toBe(true); + expect(exists('guideButton')).toBe(false); + expect(exists('guidePanel')).toBe(false); + }); + + test('should be hidden if the guide is not active', async () => { + const { component, exists } = testBed; + + await updateComponentWithState( + component, + { ...mockActiveSearchGuideState, isActive: false }, + true + ); + expect(exists('guideButton')).toBe(false); expect(exists('guidePanel')).toBe(false); }); diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.tsx index 759f4a83c6852d..823637b23247a1 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.tsx @@ -139,7 +139,7 @@ export const GuidePanel = ({ api, application }: GuidePanelProps) => { // TODO handle loading, error state // https://github.com/elastic/kibana/issues/139799, https://github.com/elastic/kibana/issues/139798 - if (!guideConfig) { + if (!guideConfig || !guideState || !guideState.isActive) { // TODO button show/hide logic https://github.com/elastic/kibana/issues/141129 return null; } diff --git a/src/plugins/guided_onboarding/public/services/api.mocks.ts b/src/plugins/guided_onboarding/public/services/api.mocks.ts index 2294607f91b380..47b7f6c9900e03 100644 --- a/src/plugins/guided_onboarding/public/services/api.mocks.ts +++ b/src/plugins/guided_onboarding/public/services/api.mocks.ts @@ -77,6 +77,24 @@ export const testGuideStep2InProgressState: GuideState = { ], }; +export const readyToCompleteGuideState: GuideState = { + ...testGuideStep1ActiveState, + steps: [ + { + ...testGuideStep1ActiveState.steps[0], + status: 'complete', + }, + { + ...testGuideStep1ActiveState.steps[1], + status: 'complete', + }, + { + ...testGuideStep1ActiveState.steps[2], + status: 'complete', + }, + ], +}; + export const testGuideNotActiveState: GuideState = { ...testGuideStep1ActiveState, isActive: false, diff --git a/src/plugins/guided_onboarding/public/services/api.test.ts b/src/plugins/guided_onboarding/public/services/api.test.ts index 56a5755f0ee554..24ade7de1a8492 100644 --- a/src/plugins/guided_onboarding/public/services/api.test.ts +++ b/src/plugins/guided_onboarding/public/services/api.test.ts @@ -11,6 +11,7 @@ import { httpServiceMock } from '@kbn/core/public/mocks'; import type { GuideState } from '@kbn/guided-onboarding'; import { firstValueFrom, Subscription } from 'rxjs'; +import { GuideStatus } from '@kbn/guided-onboarding'; import { API_BASE_PATH } from '../../common/constants'; import { ApiService } from './api'; import { @@ -24,12 +25,14 @@ import { testIntegration, wrongIntegration, testGuideStep2InProgressState, + readyToCompleteGuideState, } from './api.mocks'; describe('GuidedOnboarding ApiService', () => { let httpClient: jest.Mocked; let apiService: ApiService; let subscription: Subscription; + let anotherSubscription: Subscription; beforeEach(() => { httpClient = httpServiceMock.createStartContract({ basePath: '/base/path' }); @@ -41,9 +44,8 @@ describe('GuidedOnboarding ApiService', () => { }); afterEach(() => { - if (subscription) { - subscription.unsubscribe(); - } + subscription?.unsubscribe(); + anotherSubscription?.unsubscribe(); jest.restoreAllMocks(); }); @@ -53,6 +55,64 @@ describe('GuidedOnboarding ApiService', () => { expect(httpClient.get).toHaveBeenCalledTimes(1); expect(httpClient.get).toHaveBeenCalledWith(`${API_BASE_PATH}/state`, { query: { active: true }, + signal: new AbortController().signal, + }); + }); + + it(`doesn't send multiple requests when there are several subscriptions`, () => { + subscription = apiService.fetchActiveGuideState$().subscribe(); + anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); + expect(httpClient.get).toHaveBeenCalledTimes(1); + }); + + it(`re-sends the request if the previous one failed`, async () => { + httpClient.get.mockRejectedValueOnce(new Error('request failed')); + subscription = apiService.fetchActiveGuideState$().subscribe(); + // wait until the request fails + await new Promise((resolve) => process.nextTick(resolve)); + anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); + expect(httpClient.get).toHaveBeenCalledTimes(2); + }); + + it(`re-sends the request if there is no guide state and there is another subscription`, async () => { + httpClient.get.mockResolvedValueOnce({ + state: [], + }); + subscription = apiService.fetchActiveGuideState$().subscribe(); + // wait until the request completes + await new Promise((resolve) => process.nextTick(resolve)); + anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); + expect(httpClient.get).toHaveBeenCalledTimes(2); + }); + + it(`doesn't send multiple requests in a loop when there is no state`, async () => { + httpClient.get.mockResolvedValueOnce({ + state: [], + }); + subscription = apiService.fetchActiveGuideState$().subscribe(); + // wait until the request completes + await new Promise((resolve) => process.nextTick(resolve)); + expect(httpClient.get).toHaveBeenCalledTimes(1); + }); + + it(`re-sends the request if the subscription was unsubscribed before the request completed`, async () => { + httpClient.get.mockImplementationOnce(() => { + return new Promise((resolve) => setTimeout(resolve)); + }); + // subscribe and immediately unsubscribe + apiService.fetchActiveGuideState$().subscribe().unsubscribe(); + anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); + expect(httpClient.get).toHaveBeenCalledTimes(2); + }); + + it(`the second subscription gets the state broadcast to it`, (done) => { + // first subscription + apiService.fetchActiveGuideState$().subscribe(); + // second subscription + anotherSubscription = apiService.fetchActiveGuideState$().subscribe((state) => { + if (state) { + done(); + } }); }); @@ -95,6 +155,17 @@ describe('GuidedOnboarding ApiService', () => { body: JSON.stringify(updatedState), }); }); + + it('the completed state is being broadcast after the update', async () => { + const completedState = { + ...readyToCompleteGuideState, + isActive: false, + status: 'complete' as GuideStatus, + }; + await apiService.updateGuideState(completedState, false); + const state = await firstValueFrom(apiService.fetchActiveGuideState$()); + expect(state).toMatchObject(completedState); + }); }); describe('isGuideStepActive$', () => { @@ -149,24 +220,6 @@ describe('GuidedOnboarding ApiService', () => { }); describe('completeGuide', () => { - const readyToCompleteGuideState: GuideState = { - ...testGuideStep1ActiveState, - steps: [ - { - ...testGuideStep1ActiveState.steps[0], - status: 'complete', - }, - { - ...testGuideStep1ActiveState.steps[1], - status: 'complete', - }, - { - ...testGuideStep1ActiveState.steps[2], - status: 'complete', - }, - ], - }; - beforeEach(async () => { await apiService.updateGuideState(readyToCompleteGuideState, false); }); diff --git a/src/plugins/guided_onboarding/public/services/api.ts b/src/plugins/guided_onboarding/public/services/api.ts index cd33f9505c546a..89790024cdde78 100644 --- a/src/plugins/guided_onboarding/public/services/api.ts +++ b/src/plugins/guided_onboarding/public/services/api.ts @@ -7,7 +7,7 @@ */ import { HttpSetup } from '@kbn/core/public'; -import { BehaviorSubject, map, from, concatMap, of, Observable, firstValueFrom } from 'rxjs'; +import { BehaviorSubject, map, concatMap, of, Observable, firstValueFrom } from 'rxjs'; import type { GuideState, GuideId, GuideStep, GuideStepIds } from '@kbn/guided-onboarding'; import { GuidedOnboardingApi } from '../types'; @@ -26,6 +26,7 @@ import { API_BASE_PATH } from '../../common/constants'; export class ApiService implements GuidedOnboardingApi { private client: HttpSetup | undefined; private onboardingGuideState$!: BehaviorSubject; + private isGuideStateLoading: boolean | undefined; public isGuidePanelOpen$: BehaviorSubject = new BehaviorSubject(false); public setup(httpClient: HttpSetup): void { @@ -33,30 +34,46 @@ export class ApiService implements GuidedOnboardingApi { this.onboardingGuideState$ = new BehaviorSubject(undefined); } + private createGetStateObservable(): Observable { + return new Observable((observer) => { + const controller = new AbortController(); + const signal = controller.signal; + this.isGuideStateLoading = true; + this.client!.get<{ state: GuideState[] }>(`${API_BASE_PATH}/state`, { + query: { + active: true, + }, + signal, + }) + .then((response) => { + this.isGuideStateLoading = false; + // There should only be 1 active guide + const hasState = response.state.length === 1; + if (hasState) { + this.onboardingGuideState$.next(response.state[0]); + } + observer.complete(); + }) + .catch((error) => { + this.isGuideStateLoading = false; + observer.error(error); + }); + return () => { + this.isGuideStateLoading = false; + controller.abort(); + }; + }); + } + /** * An Observable with the active guide state. * Initially the state is fetched from the backend. * Subsequently, the observable is updated automatically, when the state changes. */ public fetchActiveGuideState$(): Observable { - // TODO add error handling if this.client has not been initialized or request fails return this.onboardingGuideState$.pipe( concatMap((state) => - state === undefined - ? from( - this.client!.get<{ state: GuideState[] }>(`${API_BASE_PATH}/state`, { - query: { - active: true, - }, - }) - ).pipe( - map((response) => { - // There should only be 1 active guide - const hasState = response.state.length === 1; - return hasState ? response.state[0] : undefined; - }) - ) - : of(state) + !state && !this.isGuideStateLoading ? this.createGetStateObservable() : of(state) ) ); } @@ -83,7 +100,7 @@ export class ApiService implements GuidedOnboardingApi { /** * Updates the SO with the updated guide state and refreshes the observables * This is largely used internally and for tests - * @param {GuideState} guideState the updated guide state + * @param {GuideState} newState the updated guide state * @param {boolean} panelState boolean to determine whether the dropdown panel should open or not * @return {Promise} a promise with the updated guide state */ @@ -99,8 +116,8 @@ export class ApiService implements GuidedOnboardingApi { const response = await this.client.put<{ state: GuideState }>(`${API_BASE_PATH}/state`, { body: JSON.stringify(newState), }); - // If the guide has been deactivated, we return undefined - this.onboardingGuideState$.next(newState.isActive ? newState : undefined); + // broadcast the newState + this.onboardingGuideState$.next(newState); this.isGuidePanelOpen$.next(panelState); return response; } catch (error) { diff --git a/x-pack/test/functional/apps/infra/tour.ts b/x-pack/test/functional/apps/infra/tour.ts index 81ca07eef4c05f..2f9dfa314c1686 100644 --- a/x-pack/test/functional/apps/infra/tour.ts +++ b/x-pack/test/functional/apps/infra/tour.ts @@ -15,6 +15,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const pageObjects = getPageObjects(['common', 'infraHome']); const find = getService('find'); const supertest = getService('supertest'); + const deployment = getService('deployment'); const setInitialTourState = async (activeStep?: number) => { await browser.setLocalStorageItem(observTourStepStorageKey, String(activeStep || 1)); @@ -23,8 +24,9 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { describe('Onboarding Observability tour', function () { this.tags('includeFirefox'); - + let isCloud: boolean; before(async () => { + isCloud = await deployment.isCloud(); await esArchiver.load('x-pack/test/functional/es_archives/infra/metrics_and_logs'); await pageObjects.common.navigateToApp('observability'); // Need to increase the browser height so the tour steps fit to screen @@ -37,131 +39,134 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); describe('Tour enabled', () => { - beforeEach(async () => { - // Activate the Observability guide, step 3, in order to trigger the EuiTour - await supertest - .put(`/api/guided_onboarding/state`) - .set('kbn-xsrf', 'true') - .send({ - status: 'in_progress', - guideId: 'observability', - isActive: true, - steps: [ - { - id: 'add_data', - status: 'complete', - }, - { - id: 'view_dashboard', - status: 'complete', - }, - { - id: 'tour_observability', - status: 'in_progress', - }, - ], - }) - .expect(200); - }); - - it('can complete tour', async () => { - await setInitialTourState(); - - // Step 1: Overview - await pageObjects.infraHome.waitForTourStep('overviewStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - - // Step 2: Streams - await pageObjects.infraHome.waitForTourStep('streamStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); - - // Step 3: Metrics explorer - await pageObjects.infraHome.waitForTourStep('metricsExplorerStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('metricsExplorerStep'); - - // Step 4: Services - await pageObjects.infraHome.waitForTourStep('servicesStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('servicesStep'); - - // Step 5: Alerts - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); - - // Step 6: Guided setup - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickTourEndButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); - - it('can skip tour', async () => { - await setInitialTourState(); - - await pageObjects.infraHome.waitForTourStep('overviewStep'); - await pageObjects.infraHome.clickTourSkipButton(); - - // Verify current step ("Overview") is not displayed - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - // Verify next step ("Streams") is not displayed - await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); - - await browser.refresh(); - - // Verify current step ("Overview") is not displayed after browser refresh, - // i.e., localStorage has been updated to not show the tour again - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - }); - - it('can start mid-tour', async () => { - await setInitialTourState(5); - - // Step 5: Alerts - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); - - // Step 6: Guided setup - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickTourEndButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); - - it('navigates the user to the guided setup step', async () => { - // For brevity, starting the tour at step 5 - await setInitialTourState(5); - - await pageObjects.infraHome.waitForTourStep('alertStep'); - - // Click on Alerts link - await (await find.byCssSelector('[data-nav-id="alerts"]')).click(); - - // Verify user correctly navigated to the Alerts page - const alertsPageUrl = await browser.getCurrentUrl(); - expect(alertsPageUrl).to.contain('/app/observability/alerts'); - - // Verify Step 5 persists on Alerts page, then continue with tour - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - - // Verify user navigated back to the overview page, and guided setup step renders (Step 6) - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - const overviewPageUrl = await browser.getCurrentUrl(); - expect(overviewPageUrl).to.contain('/app/observability/overview'); - }); - - it('ends the tour if the user clicks on the guided setup button', async () => { - // For brevity, starting the tour at step 5, "Alerts" - await setInitialTourState(5); - - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickGuidedSetupButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); + // only run these tests on Cloud + if (isCloud) { + beforeEach(async () => { + // Activate the Observability guide, step 3, in order to trigger the EuiTour + await supertest + .put(`/api/guided_onboarding/state`) + .set('kbn-xsrf', 'true') + .send({ + status: 'in_progress', + guideId: 'observability', + isActive: true, + steps: [ + { + id: 'add_data', + status: 'complete', + }, + { + id: 'view_dashboard', + status: 'complete', + }, + { + id: 'tour_observability', + status: 'in_progress', + }, + ], + }) + .expect(200); + }); + + it('can complete tour', async () => { + await setInitialTourState(); + + // Step 1: Overview + await pageObjects.infraHome.waitForTourStep('overviewStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + + // Step 2: Streams + await pageObjects.infraHome.waitForTourStep('streamStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); + + // Step 3: Metrics explorer + await pageObjects.infraHome.waitForTourStep('metricsExplorerStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('metricsExplorerStep'); + + // Step 4: Services + await pageObjects.infraHome.waitForTourStep('servicesStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('servicesStep'); + + // Step 5: Alerts + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); + + // Step 6: Guided setup + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickTourEndButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); + + it('can skip tour', async () => { + await setInitialTourState(); + + await pageObjects.infraHome.waitForTourStep('overviewStep'); + await pageObjects.infraHome.clickTourSkipButton(); + + // Verify current step ("Overview") is not displayed + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + // Verify next step ("Streams") is not displayed + await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); + + await browser.refresh(); + + // Verify current step ("Overview") is not displayed after browser refresh, + // i.e., localStorage has been updated to not show the tour again + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + }); + + it('can start mid-tour', async () => { + await setInitialTourState(5); + + // Step 5: Alerts + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); + + // Step 6: Guided setup + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickTourEndButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); + + it('navigates the user to the guided setup step', async () => { + // For brevity, starting the tour at step 5 + await setInitialTourState(5); + + await pageObjects.infraHome.waitForTourStep('alertStep'); + + // Click on Alerts link + await (await find.byCssSelector('[data-nav-id="alerts"]')).click(); + + // Verify user correctly navigated to the Alerts page + const alertsPageUrl = await browser.getCurrentUrl(); + expect(alertsPageUrl).to.contain('/app/observability/alerts'); + + // Verify Step 5 persists on Alerts page, then continue with tour + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + + // Verify user navigated back to the overview page, and guided setup step renders (Step 6) + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + const overviewPageUrl = await browser.getCurrentUrl(); + expect(overviewPageUrl).to.contain('/app/observability/overview'); + }); + + it('ends the tour if the user clicks on the guided setup button', async () => { + // For brevity, starting the tour at step 5, "Alerts" + await setInitialTourState(5); + + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickGuidedSetupButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); + } }); }); }; From 20d91f1be00ffff7eb6a6042e368ef71c86e8444 Mon Sep 17 00:00:00 2001 From: Maxim Palenov Date: Wed, 2 Nov 2022 18:40:23 +0200 Subject: [PATCH 11/37] [Security Solution] Fix rules table refresh after rule's import (#144359) **Resolves:** https://github.com/elastic/kibana/issues/136758 ## Summary It fixes the problem of the rules table refresh after importing a rule. *Before:* https://user-images.githubusercontent.com/3775283/199319505-e70918ec-1621-4048-92ba-0b83a5b19652.mov *After:* https://user-images.githubusercontent.com/3775283/199319768-3513dfc7-f9d2-4a84-a7ff-0b78dcf4795f.mov ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../cypress/e2e/detection_rules/import_rules.cy.ts | 12 +++++++++++- .../pages/rule_management/index.tsx | 10 ++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/security_solution/cypress/e2e/detection_rules/import_rules.cy.ts b/x-pack/plugins/security_solution/cypress/e2e/detection_rules/import_rules.cy.ts index 48f3ffaf184123..7ee3a7e40647fb 100644 --- a/x-pack/plugins/security_solution/cypress/e2e/detection_rules/import_rules.cy.ts +++ b/x-pack/plugins/security_solution/cypress/e2e/detection_rules/import_rules.cy.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { TOASTER } from '../../screens/alerts_detection_rules'; +import { RULES_ROW, RULES_TABLE, TOASTER } from '../../screens/alerts_detection_rules'; import { importRules, importRulesWithOverwriteAll } from '../../tasks/alerts_detection_rules'; import { cleanKibana, deleteAlertsAndRules, reload } from '../../tasks/common'; import { login, visitWithoutDateRange } from '../../tasks/login'; @@ -24,6 +24,9 @@ describe('Import rules', () => { }); it('Imports a custom rule with exceptions', function () { + const expectedNumberOfRules = 1; + const expectedImportedRuleName = 'Test Custom Rule'; + importRules('7_16_rules.ndjson'); cy.wait('@import').then(({ response }) => { @@ -32,6 +35,13 @@ describe('Import rules', () => { 'have.text', 'Successfully imported 1 ruleSuccessfully imported 2 exceptions.' ); + + cy.get(RULES_TABLE).then(($table) => { + const rulesRow = cy.wrap($table.find(RULES_ROW)); + + rulesRow.should('have.length', expectedNumberOfRules); + rulesRow.should('include.text', expectedImportedRuleName); + }); }); }); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/pages/rule_management/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/pages/rule_management/index.tsx index e49c6b61a0019d..16a30acb296519 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/pages/rule_management/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/pages/rule_management/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { useCallback } from 'react'; import { EuiButton, EuiFlexGroup, EuiFlexItem, EuiToolTip } from '@elastic/eui'; import { APP_UI_ID } from '../../../../../common/constants'; @@ -32,6 +32,7 @@ import { useListsConfig } from '../../../../detections/containers/detection_engi import { redirectToDetections } from '../../../../detections/pages/detection_engine/rules/helpers'; import { useInvalidateFindRulesQuery } from '../../../rule_management/api/hooks/use_find_rules_query'; +import { useInvalidateFetchPrebuiltRulesStatusQuery } from '../../../rule_management/api/hooks/use_fetch_prebuilt_rules_status_query'; import { importRules } from '../../../rule_management/logic'; import { usePrePackagedRulesInstallationStatus } from '../../../rule_management/logic/use_pre_packaged_rules_installation_status'; import { usePrePackagedTimelinesInstallationStatus } from '../../../rule_management/logic/use_pre_packaged_timelines_installation_status'; @@ -47,6 +48,11 @@ const RulesPageComponent: React.FC = () => { const [isValueListFlyoutVisible, showValueListFlyout, hideValueListFlyout] = useBoolState(); const { navigateToApp } = useKibana().services.application; const invalidateFindRulesQuery = useInvalidateFindRulesQuery(); + const invalidateFetchPrebuiltRulesStatusQuery = useInvalidateFetchPrebuiltRulesStatusQuery(); + const invalidateRules = useCallback(() => { + invalidateFindRulesQuery(); + invalidateFetchPrebuiltRulesStatusQuery(); + }, [invalidateFindRulesQuery, invalidateFetchPrebuiltRulesStatusQuery]); const [ { @@ -94,7 +100,7 @@ const RulesPageComponent: React.FC = () => { description={i18n.SELECT_RULE} errorMessage={i18n.IMPORT_FAILED} failedDetailed={i18n.IMPORT_FAILED_DETAILED} - importComplete={invalidateFindRulesQuery} + importComplete={invalidateRules} importData={importRules} successMessage={i18n.SUCCESSFULLY_IMPORTED_RULES} showModal={isImportModalVisible} From a4445f959da98c03da2a755da26d63a36f44b8be Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Wed, 2 Nov 2022 09:44:16 -0700 Subject: [PATCH 12/37] Revert "[Guided onboarding] Fix multiple API requests when fetching guide state (#144160)" This reverts commit 02a2a6a5004f82385f2f459d17e1e1a4f778b38b. --- packages/kbn-guided-onboarding/index.ts | 9 +- .../public/components/guide_panel.test.tsx | 17 +- .../public/components/guide_panel.tsx | 2 +- .../public/services/api.mocks.ts | 18 -- .../public/services/api.test.ts | 95 ++----- .../guided_onboarding/public/services/api.ts | 57 ++-- x-pack/test/functional/apps/infra/tour.ts | 257 +++++++++--------- 7 files changed, 172 insertions(+), 283 deletions(-) diff --git a/packages/kbn-guided-onboarding/index.ts b/packages/kbn-guided-onboarding/index.ts index b22a8a2057c169..f98f330cd4be35 100644 --- a/packages/kbn-guided-onboarding/index.ts +++ b/packages/kbn-guided-onboarding/index.ts @@ -6,13 +6,6 @@ * Side Public License, v 1. */ -export type { - GuideState, - GuideId, - GuideStepIds, - StepStatus, - GuideStep, - GuideStatus, -} from './src/types'; +export type { GuideState, GuideId, GuideStepIds, StepStatus, GuideStep } from './src/types'; export { GuideCard, ObservabilityLinkCard } from './src/components/landing_page'; export type { UseCase } from './src/components/landing_page'; 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 9be6326da1d06c..9420e05e9d3fed 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx @@ -109,21 +109,10 @@ describe('Guided setup', () => { }); describe('Button component', () => { - test('should be hidden in there is no guide state', async () => { + // TODO check for the correct button behavior once https://github.com/elastic/kibana/issues/141129 is implemented + test.skip('should be disabled in there is no active guide', async () => { const { exists } = testBed; - expect(exists('guideButton')).toBe(false); - expect(exists('guidePanel')).toBe(false); - }); - - test('should be hidden if the guide is not active', async () => { - const { component, exists } = testBed; - - await updateComponentWithState( - component, - { ...mockActiveSearchGuideState, isActive: false }, - true - ); - + expect(exists('disabledGuideButton')).toBe(true); expect(exists('guideButton')).toBe(false); expect(exists('guidePanel')).toBe(false); }); diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.tsx index 823637b23247a1..759f4a83c6852d 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.tsx @@ -139,7 +139,7 @@ export const GuidePanel = ({ api, application }: GuidePanelProps) => { // TODO handle loading, error state // https://github.com/elastic/kibana/issues/139799, https://github.com/elastic/kibana/issues/139798 - if (!guideConfig || !guideState || !guideState.isActive) { + if (!guideConfig) { // TODO button show/hide logic https://github.com/elastic/kibana/issues/141129 return null; } diff --git a/src/plugins/guided_onboarding/public/services/api.mocks.ts b/src/plugins/guided_onboarding/public/services/api.mocks.ts index 47b7f6c9900e03..2294607f91b380 100644 --- a/src/plugins/guided_onboarding/public/services/api.mocks.ts +++ b/src/plugins/guided_onboarding/public/services/api.mocks.ts @@ -77,24 +77,6 @@ export const testGuideStep2InProgressState: GuideState = { ], }; -export const readyToCompleteGuideState: GuideState = { - ...testGuideStep1ActiveState, - steps: [ - { - ...testGuideStep1ActiveState.steps[0], - status: 'complete', - }, - { - ...testGuideStep1ActiveState.steps[1], - status: 'complete', - }, - { - ...testGuideStep1ActiveState.steps[2], - status: 'complete', - }, - ], -}; - export const testGuideNotActiveState: GuideState = { ...testGuideStep1ActiveState, isActive: false, diff --git a/src/plugins/guided_onboarding/public/services/api.test.ts b/src/plugins/guided_onboarding/public/services/api.test.ts index 24ade7de1a8492..56a5755f0ee554 100644 --- a/src/plugins/guided_onboarding/public/services/api.test.ts +++ b/src/plugins/guided_onboarding/public/services/api.test.ts @@ -11,7 +11,6 @@ import { httpServiceMock } from '@kbn/core/public/mocks'; import type { GuideState } from '@kbn/guided-onboarding'; import { firstValueFrom, Subscription } from 'rxjs'; -import { GuideStatus } from '@kbn/guided-onboarding'; import { API_BASE_PATH } from '../../common/constants'; import { ApiService } from './api'; import { @@ -25,14 +24,12 @@ import { testIntegration, wrongIntegration, testGuideStep2InProgressState, - readyToCompleteGuideState, } from './api.mocks'; describe('GuidedOnboarding ApiService', () => { let httpClient: jest.Mocked; let apiService: ApiService; let subscription: Subscription; - let anotherSubscription: Subscription; beforeEach(() => { httpClient = httpServiceMock.createStartContract({ basePath: '/base/path' }); @@ -44,8 +41,9 @@ describe('GuidedOnboarding ApiService', () => { }); afterEach(() => { - subscription?.unsubscribe(); - anotherSubscription?.unsubscribe(); + if (subscription) { + subscription.unsubscribe(); + } jest.restoreAllMocks(); }); @@ -55,64 +53,6 @@ describe('GuidedOnboarding ApiService', () => { expect(httpClient.get).toHaveBeenCalledTimes(1); expect(httpClient.get).toHaveBeenCalledWith(`${API_BASE_PATH}/state`, { query: { active: true }, - signal: new AbortController().signal, - }); - }); - - it(`doesn't send multiple requests when there are several subscriptions`, () => { - subscription = apiService.fetchActiveGuideState$().subscribe(); - anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); - expect(httpClient.get).toHaveBeenCalledTimes(1); - }); - - it(`re-sends the request if the previous one failed`, async () => { - httpClient.get.mockRejectedValueOnce(new Error('request failed')); - subscription = apiService.fetchActiveGuideState$().subscribe(); - // wait until the request fails - await new Promise((resolve) => process.nextTick(resolve)); - anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); - expect(httpClient.get).toHaveBeenCalledTimes(2); - }); - - it(`re-sends the request if there is no guide state and there is another subscription`, async () => { - httpClient.get.mockResolvedValueOnce({ - state: [], - }); - subscription = apiService.fetchActiveGuideState$().subscribe(); - // wait until the request completes - await new Promise((resolve) => process.nextTick(resolve)); - anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); - expect(httpClient.get).toHaveBeenCalledTimes(2); - }); - - it(`doesn't send multiple requests in a loop when there is no state`, async () => { - httpClient.get.mockResolvedValueOnce({ - state: [], - }); - subscription = apiService.fetchActiveGuideState$().subscribe(); - // wait until the request completes - await new Promise((resolve) => process.nextTick(resolve)); - expect(httpClient.get).toHaveBeenCalledTimes(1); - }); - - it(`re-sends the request if the subscription was unsubscribed before the request completed`, async () => { - httpClient.get.mockImplementationOnce(() => { - return new Promise((resolve) => setTimeout(resolve)); - }); - // subscribe and immediately unsubscribe - apiService.fetchActiveGuideState$().subscribe().unsubscribe(); - anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); - expect(httpClient.get).toHaveBeenCalledTimes(2); - }); - - it(`the second subscription gets the state broadcast to it`, (done) => { - // first subscription - apiService.fetchActiveGuideState$().subscribe(); - // second subscription - anotherSubscription = apiService.fetchActiveGuideState$().subscribe((state) => { - if (state) { - done(); - } }); }); @@ -155,17 +95,6 @@ describe('GuidedOnboarding ApiService', () => { body: JSON.stringify(updatedState), }); }); - - it('the completed state is being broadcast after the update', async () => { - const completedState = { - ...readyToCompleteGuideState, - isActive: false, - status: 'complete' as GuideStatus, - }; - await apiService.updateGuideState(completedState, false); - const state = await firstValueFrom(apiService.fetchActiveGuideState$()); - expect(state).toMatchObject(completedState); - }); }); describe('isGuideStepActive$', () => { @@ -220,6 +149,24 @@ describe('GuidedOnboarding ApiService', () => { }); describe('completeGuide', () => { + const readyToCompleteGuideState: GuideState = { + ...testGuideStep1ActiveState, + steps: [ + { + ...testGuideStep1ActiveState.steps[0], + status: 'complete', + }, + { + ...testGuideStep1ActiveState.steps[1], + status: 'complete', + }, + { + ...testGuideStep1ActiveState.steps[2], + status: 'complete', + }, + ], + }; + beforeEach(async () => { await apiService.updateGuideState(readyToCompleteGuideState, false); }); diff --git a/src/plugins/guided_onboarding/public/services/api.ts b/src/plugins/guided_onboarding/public/services/api.ts index 89790024cdde78..cd33f9505c546a 100644 --- a/src/plugins/guided_onboarding/public/services/api.ts +++ b/src/plugins/guided_onboarding/public/services/api.ts @@ -7,7 +7,7 @@ */ import { HttpSetup } from '@kbn/core/public'; -import { BehaviorSubject, map, concatMap, of, Observable, firstValueFrom } from 'rxjs'; +import { BehaviorSubject, map, from, concatMap, of, Observable, firstValueFrom } from 'rxjs'; import type { GuideState, GuideId, GuideStep, GuideStepIds } from '@kbn/guided-onboarding'; import { GuidedOnboardingApi } from '../types'; @@ -26,7 +26,6 @@ import { API_BASE_PATH } from '../../common/constants'; export class ApiService implements GuidedOnboardingApi { private client: HttpSetup | undefined; private onboardingGuideState$!: BehaviorSubject; - private isGuideStateLoading: boolean | undefined; public isGuidePanelOpen$: BehaviorSubject = new BehaviorSubject(false); public setup(httpClient: HttpSetup): void { @@ -34,46 +33,30 @@ export class ApiService implements GuidedOnboardingApi { this.onboardingGuideState$ = new BehaviorSubject(undefined); } - private createGetStateObservable(): Observable { - return new Observable((observer) => { - const controller = new AbortController(); - const signal = controller.signal; - this.isGuideStateLoading = true; - this.client!.get<{ state: GuideState[] }>(`${API_BASE_PATH}/state`, { - query: { - active: true, - }, - signal, - }) - .then((response) => { - this.isGuideStateLoading = false; - // There should only be 1 active guide - const hasState = response.state.length === 1; - if (hasState) { - this.onboardingGuideState$.next(response.state[0]); - } - observer.complete(); - }) - .catch((error) => { - this.isGuideStateLoading = false; - observer.error(error); - }); - return () => { - this.isGuideStateLoading = false; - controller.abort(); - }; - }); - } - /** * An Observable with the active guide state. * Initially the state is fetched from the backend. * Subsequently, the observable is updated automatically, when the state changes. */ public fetchActiveGuideState$(): Observable { + // TODO add error handling if this.client has not been initialized or request fails return this.onboardingGuideState$.pipe( concatMap((state) => - !state && !this.isGuideStateLoading ? this.createGetStateObservable() : of(state) + state === undefined + ? from( + this.client!.get<{ state: GuideState[] }>(`${API_BASE_PATH}/state`, { + query: { + active: true, + }, + }) + ).pipe( + map((response) => { + // There should only be 1 active guide + const hasState = response.state.length === 1; + return hasState ? response.state[0] : undefined; + }) + ) + : of(state) ) ); } @@ -100,7 +83,7 @@ export class ApiService implements GuidedOnboardingApi { /** * Updates the SO with the updated guide state and refreshes the observables * This is largely used internally and for tests - * @param {GuideState} newState the updated guide state + * @param {GuideState} guideState the updated guide state * @param {boolean} panelState boolean to determine whether the dropdown panel should open or not * @return {Promise} a promise with the updated guide state */ @@ -116,8 +99,8 @@ export class ApiService implements GuidedOnboardingApi { const response = await this.client.put<{ state: GuideState }>(`${API_BASE_PATH}/state`, { body: JSON.stringify(newState), }); - // broadcast the newState - this.onboardingGuideState$.next(newState); + // If the guide has been deactivated, we return undefined + this.onboardingGuideState$.next(newState.isActive ? newState : undefined); this.isGuidePanelOpen$.next(panelState); return response; } catch (error) { diff --git a/x-pack/test/functional/apps/infra/tour.ts b/x-pack/test/functional/apps/infra/tour.ts index 2f9dfa314c1686..81ca07eef4c05f 100644 --- a/x-pack/test/functional/apps/infra/tour.ts +++ b/x-pack/test/functional/apps/infra/tour.ts @@ -15,7 +15,6 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const pageObjects = getPageObjects(['common', 'infraHome']); const find = getService('find'); const supertest = getService('supertest'); - const deployment = getService('deployment'); const setInitialTourState = async (activeStep?: number) => { await browser.setLocalStorageItem(observTourStepStorageKey, String(activeStep || 1)); @@ -24,9 +23,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { describe('Onboarding Observability tour', function () { this.tags('includeFirefox'); - let isCloud: boolean; + before(async () => { - isCloud = await deployment.isCloud(); await esArchiver.load('x-pack/test/functional/es_archives/infra/metrics_and_logs'); await pageObjects.common.navigateToApp('observability'); // Need to increase the browser height so the tour steps fit to screen @@ -39,134 +37,131 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); describe('Tour enabled', () => { - // only run these tests on Cloud - if (isCloud) { - beforeEach(async () => { - // Activate the Observability guide, step 3, in order to trigger the EuiTour - await supertest - .put(`/api/guided_onboarding/state`) - .set('kbn-xsrf', 'true') - .send({ - status: 'in_progress', - guideId: 'observability', - isActive: true, - steps: [ - { - id: 'add_data', - status: 'complete', - }, - { - id: 'view_dashboard', - status: 'complete', - }, - { - id: 'tour_observability', - status: 'in_progress', - }, - ], - }) - .expect(200); - }); - - it('can complete tour', async () => { - await setInitialTourState(); - - // Step 1: Overview - await pageObjects.infraHome.waitForTourStep('overviewStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - - // Step 2: Streams - await pageObjects.infraHome.waitForTourStep('streamStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); - - // Step 3: Metrics explorer - await pageObjects.infraHome.waitForTourStep('metricsExplorerStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('metricsExplorerStep'); - - // Step 4: Services - await pageObjects.infraHome.waitForTourStep('servicesStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('servicesStep'); - - // Step 5: Alerts - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); - - // Step 6: Guided setup - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickTourEndButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); - - it('can skip tour', async () => { - await setInitialTourState(); - - await pageObjects.infraHome.waitForTourStep('overviewStep'); - await pageObjects.infraHome.clickTourSkipButton(); - - // Verify current step ("Overview") is not displayed - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - // Verify next step ("Streams") is not displayed - await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); - - await browser.refresh(); - - // Verify current step ("Overview") is not displayed after browser refresh, - // i.e., localStorage has been updated to not show the tour again - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - }); - - it('can start mid-tour', async () => { - await setInitialTourState(5); - - // Step 5: Alerts - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); - - // Step 6: Guided setup - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickTourEndButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); - - it('navigates the user to the guided setup step', async () => { - // For brevity, starting the tour at step 5 - await setInitialTourState(5); - - await pageObjects.infraHome.waitForTourStep('alertStep'); - - // Click on Alerts link - await (await find.byCssSelector('[data-nav-id="alerts"]')).click(); - - // Verify user correctly navigated to the Alerts page - const alertsPageUrl = await browser.getCurrentUrl(); - expect(alertsPageUrl).to.contain('/app/observability/alerts'); - - // Verify Step 5 persists on Alerts page, then continue with tour - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - - // Verify user navigated back to the overview page, and guided setup step renders (Step 6) - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - const overviewPageUrl = await browser.getCurrentUrl(); - expect(overviewPageUrl).to.contain('/app/observability/overview'); - }); - - it('ends the tour if the user clicks on the guided setup button', async () => { - // For brevity, starting the tour at step 5, "Alerts" - await setInitialTourState(5); - - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickGuidedSetupButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); - } + beforeEach(async () => { + // Activate the Observability guide, step 3, in order to trigger the EuiTour + await supertest + .put(`/api/guided_onboarding/state`) + .set('kbn-xsrf', 'true') + .send({ + status: 'in_progress', + guideId: 'observability', + isActive: true, + steps: [ + { + id: 'add_data', + status: 'complete', + }, + { + id: 'view_dashboard', + status: 'complete', + }, + { + id: 'tour_observability', + status: 'in_progress', + }, + ], + }) + .expect(200); + }); + + it('can complete tour', async () => { + await setInitialTourState(); + + // Step 1: Overview + await pageObjects.infraHome.waitForTourStep('overviewStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + + // Step 2: Streams + await pageObjects.infraHome.waitForTourStep('streamStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); + + // Step 3: Metrics explorer + await pageObjects.infraHome.waitForTourStep('metricsExplorerStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('metricsExplorerStep'); + + // Step 4: Services + await pageObjects.infraHome.waitForTourStep('servicesStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('servicesStep'); + + // Step 5: Alerts + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); + + // Step 6: Guided setup + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickTourEndButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); + + it('can skip tour', async () => { + await setInitialTourState(); + + await pageObjects.infraHome.waitForTourStep('overviewStep'); + await pageObjects.infraHome.clickTourSkipButton(); + + // Verify current step ("Overview") is not displayed + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + // Verify next step ("Streams") is not displayed + await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); + + await browser.refresh(); + + // Verify current step ("Overview") is not displayed after browser refresh, + // i.e., localStorage has been updated to not show the tour again + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + }); + + it('can start mid-tour', async () => { + await setInitialTourState(5); + + // Step 5: Alerts + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); + + // Step 6: Guided setup + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickTourEndButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); + + it('navigates the user to the guided setup step', async () => { + // For brevity, starting the tour at step 5 + await setInitialTourState(5); + + await pageObjects.infraHome.waitForTourStep('alertStep'); + + // Click on Alerts link + await (await find.byCssSelector('[data-nav-id="alerts"]')).click(); + + // Verify user correctly navigated to the Alerts page + const alertsPageUrl = await browser.getCurrentUrl(); + expect(alertsPageUrl).to.contain('/app/observability/alerts'); + + // Verify Step 5 persists on Alerts page, then continue with tour + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + + // Verify user navigated back to the overview page, and guided setup step renders (Step 6) + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + const overviewPageUrl = await browser.getCurrentUrl(); + expect(overviewPageUrl).to.contain('/app/observability/overview'); + }); + + it('ends the tour if the user clicks on the guided setup button', async () => { + // For brevity, starting the tour at step 5, "Alerts" + await setInitialTourState(5); + + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickGuidedSetupButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); }); }); }; From 32bbab85d05ada01b942072d5a3e6e8c9a8fc5ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Louv-Jansen?= Date: Wed, 2 Nov 2022 17:49:04 +0100 Subject: [PATCH 13/37] [8.5] [APM] Disable refresh in ML links (#144390) (#144426) (cherry picked from commit 0f79e349cd508bcc98515c5f434379d933fc9deb) --- .../machine_learning_links/mlexplorer_link.test.tsx | 2 +- .../machine_learning_links/mlexplorer_link.tsx | 11 +---------- .../mlmanage_jobs_link.test.tsx | 2 +- .../mlsingle_metric_link.test.tsx | 4 ++-- .../machine_learning_links/mlsingle_metric_link.tsx | 13 ++----------- .../apm/public/hooks/use_ml_manage_jobs_href.ts | 11 +---------- 6 files changed, 8 insertions(+), 35 deletions(-) diff --git a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlexplorer_link.test.tsx b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlexplorer_link.test.tsx index 49c9c6c244c019..ad0b06b73df535 100644 --- a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlexplorer_link.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlexplorer_link.test.tsx @@ -23,7 +23,7 @@ describe('MLExplorerLink', () => { ); expect(href).toMatchInlineSnapshot( - `"/app/ml/explorer?_g=(ml:(jobIds:!(myservicename-mytransactiontype-high_mean_response_time)),refreshInterval:(pause:!t,value:0),time:(from:now%2Fw,to:now-4h))&_a=(explorer:(mlExplorerFilter:(),mlExplorerSwimlane:()))"` + `"/app/ml/explorer?_g=(ml:(jobIds:!(myservicename-mytransactiontype-high_mean_response_time)),refreshInterval:(pause:!t,value:10000),time:(from:now%2Fw,to:now-4h))&_a=(explorer:(mlExplorerFilter:(),mlExplorerSwimlane:()))"` ); }); diff --git a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlexplorer_link.tsx b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlexplorer_link.tsx index 9da957f97c9747..0990a961c0d4b2 100644 --- a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlexplorer_link.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlexplorer_link.tsx @@ -7,11 +7,9 @@ import React, { ReactNode } from 'react'; import { EuiLink } from '@elastic/eui'; -import { UI_SETTINGS } from '@kbn/data-plugin/common'; import { useMlHref, ML_PAGES } from '@kbn/ml-plugin/public'; import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context'; import { useLegacyUrlParams } from '../../../../context/url_params_context/use_url_params'; -import { TimePickerRefreshInterval } from '../../date_picker/typings'; interface Props { children?: ReactNode; @@ -39,17 +37,10 @@ export function useExplorerHref({ jobId }: { jobId: string }) { } = useApmPluginContext(); const { urlParams } = useLegacyUrlParams(); - const timePickerRefreshIntervalDefaults = - core.uiSettings.get( - UI_SETTINGS.TIMEPICKER_REFRESH_INTERVAL_DEFAULTS - ); - const { // hardcoding a custom default of 1 hour since the default kibana timerange of 15 minutes is shorter than the ML interval rangeFrom = 'now-1h', rangeTo = 'now', - refreshInterval = timePickerRefreshIntervalDefaults.value, - refreshPaused = timePickerRefreshIntervalDefaults.pause, } = urlParams; const href = useMlHref(ml, core.http.basePath.get(), { @@ -57,7 +48,7 @@ export function useExplorerHref({ jobId }: { jobId: string }) { pageState: { jobIds: [jobId], timeRange: { from: rangeFrom, to: rangeTo }, - refreshInterval: { pause: refreshPaused, value: refreshInterval }, + refreshInterval: { pause: true, value: 10000 }, }, }); diff --git a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlmanage_jobs_link.test.tsx b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlmanage_jobs_link.test.tsx index c2ce967768502c..c7f31866702485 100644 --- a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlmanage_jobs_link.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlmanage_jobs_link.test.tsx @@ -17,6 +17,6 @@ test('MLManageJobsLink', async () => { } as Location); expect(href).toMatchInlineSnapshot( - `"/app/ml/jobs?_a=(jobs:(queryText:'groups:(apm)'))&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-5h,to:now-2h))"` + `"/app/ml/jobs?_a=(jobs:(queryText:'groups:(apm)'))&_g=(refreshInterval:(pause:!t,value:10000),time:(from:now-5h,to:now-2h))"` ); }); diff --git a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlsingle_metric_link.test.tsx b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlsingle_metric_link.test.tsx index dcf9cc9a06ffc1..eb6ae275563a3a 100644 --- a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlsingle_metric_link.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlsingle_metric_link.test.tsx @@ -23,7 +23,7 @@ describe('MLSingleMetricLink', () => { ); expect(href).toMatchInlineSnapshot( - `"/app/ml/timeseriesexplorer?_g=(ml:(jobIds:!(myservicename-mytransactiontype-high_mean_response_time)),refreshInterval:(pause:!t,value:0),time:(from:now%2Fw,to:now-4h))&_a=(timeseriesexplorer:(mlTimeSeriesExplorer:()))"` + `"/app/ml/timeseriesexplorer?_g=(ml:(jobIds:!(myservicename-mytransactiontype-high_mean_response_time)),refreshInterval:(pause:!t,value:10000),time:(from:now%2Fw,to:now-4h))&_a=(timeseriesexplorer:(mlTimeSeriesExplorer:()))"` ); }); it('should produce the correct URL with jobId, serviceName, and transactionType', async () => { @@ -42,7 +42,7 @@ describe('MLSingleMetricLink', () => { ); expect(href).toMatchInlineSnapshot( - `"/app/ml/timeseriesexplorer?_g=(ml:(jobIds:!(myservicename-mytransactiontype-high_mean_response_time)),refreshInterval:(pause:!t,value:0),time:(from:now%2Fw,to:now-4h))&_a=(timeseriesexplorer:(mlTimeSeriesExplorer:(entities:(service.name:opbeans-test,transaction.type:request))))"` + `"/app/ml/timeseriesexplorer?_g=(ml:(jobIds:!(myservicename-mytransactiontype-high_mean_response_time)),refreshInterval:(pause:!t,value:10000),time:(from:now%2Fw,to:now-4h))&_a=(timeseriesexplorer:(mlTimeSeriesExplorer:(entities:(service.name:opbeans-test,transaction.type:request))))"` ); }); diff --git a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlsingle_metric_link.tsx b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlsingle_metric_link.tsx index cc2d855550af32..7c4232866157ba 100644 --- a/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlsingle_metric_link.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/machine_learning_links/mlsingle_metric_link.tsx @@ -7,11 +7,9 @@ import React, { ReactNode } from 'react'; import { EuiLink } from '@elastic/eui'; -import { UI_SETTINGS } from '@kbn/data-plugin/common'; import { useMlHref, ML_PAGES } from '@kbn/ml-plugin/public'; import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context'; import { useLegacyUrlParams } from '../../../../context/url_params_context/use_url_params'; -import { TimePickerRefreshInterval } from '../../date_picker/typings'; interface Props { children?: ReactNode; @@ -40,7 +38,7 @@ export function MLSingleMetricLink({ ); } -export function useSingleMetricHref({ +function useSingleMetricHref({ jobId, serviceName, transactionType, @@ -55,17 +53,10 @@ export function useSingleMetricHref({ } = useApmPluginContext(); const { urlParams } = useLegacyUrlParams(); - const timePickerRefreshIntervalDefaults = - core.uiSettings.get( - UI_SETTINGS.TIMEPICKER_REFRESH_INTERVAL_DEFAULTS - ); - const { // hardcoding a custom default of 1 hour since the default kibana timerange of 15 minutes is shorter than the ML interval rangeFrom = 'now-1h', rangeTo = 'now', - refreshInterval = timePickerRefreshIntervalDefaults.value, - refreshPaused = timePickerRefreshIntervalDefaults.pause, } = urlParams; const entities = @@ -83,7 +74,7 @@ export function useSingleMetricHref({ pageState: { jobIds: [jobId], timeRange: { from: rangeFrom, to: rangeTo }, - refreshInterval: { pause: refreshPaused, value: refreshInterval }, + refreshInterval: { pause: true, value: 10000 }, ...entities, }, }); diff --git a/x-pack/plugins/apm/public/hooks/use_ml_manage_jobs_href.ts b/x-pack/plugins/apm/public/hooks/use_ml_manage_jobs_href.ts index 5eb1f6bb8f0bf9..c5b9b0dba5a3ae 100644 --- a/x-pack/plugins/apm/public/hooks/use_ml_manage_jobs_href.ts +++ b/x-pack/plugins/apm/public/hooks/use_ml_manage_jobs_href.ts @@ -5,9 +5,7 @@ * 2.0. */ -import { UI_SETTINGS } from '@kbn/data-plugin/public'; import { ML_PAGES, useMlHref } from '@kbn/ml-plugin/public'; -import { TimePickerRefreshInterval } from '../components/shared/date_picker/typings'; import { useApmPluginContext } from '../context/apm_plugin/use_apm_plugin_context'; import { useLegacyUrlParams } from '../context/url_params_context/use_url_params'; @@ -19,17 +17,10 @@ export function useMlManageJobsHref({ jobId }: { jobId?: string } = {}) { const { urlParams } = useLegacyUrlParams(); - const timePickerRefreshIntervalDefaults = - core.uiSettings.get( - UI_SETTINGS.TIMEPICKER_REFRESH_INTERVAL_DEFAULTS - ); - const { // hardcoding a custom default of 1 hour since the default kibana timerange of 15 minutes is shorter than the ML interval rangeFrom = 'now-1h', rangeTo = 'now', - refreshInterval = timePickerRefreshIntervalDefaults.value, - refreshPaused = timePickerRefreshIntervalDefaults.pause, } = urlParams; const mlADLink = useMlHref(ml, core.http.basePath.get(), { @@ -39,7 +30,7 @@ export function useMlManageJobsHref({ jobId }: { jobId?: string } = {}) { jobId, globalState: { time: { from: rangeFrom, to: rangeTo }, - refreshInterval: { pause: refreshPaused, value: refreshInterval }, + refreshInterval: { pause: true, value: 10000 }, }, }, }); From 34af9e79138866617e8292fd2d238fc61ea166d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Louv-Jansen?= Date: Wed, 2 Nov 2022 18:07:49 +0100 Subject: [PATCH 14/37] =?UTF-8?q?[APM]=20Prefix=20services=20from=20syntht?= =?UTF-8?q?race=20scenarios=20with=20=E2=80=9Csynth=E2=80=9D=20instead=20o?= =?UTF-8?q?f=20=E2=80=9Copbeans=E2=80=9D=20(#144416)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/scenarios/distributed_trace.ts | 44 +++++++++---------- .../src/scenarios/distributed_trace_long.ts | 34 +++++++------- .../src/scenarios/simple_trace.ts | 2 +- 3 files changed, 40 insertions(+), 40 deletions(-) diff --git a/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace.ts b/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace.ts index 7834011afa69ae..319534f8217198 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace.ts @@ -23,61 +23,61 @@ const scenario: Scenario = async (runOptions: RunOptions) => { const transactionName = '240rpm/75% 1000ms'; const successfulTimestamps = range.interval('1s').rate(3); - const opbeansRum = apm - .service({ name: 'opbeans-rum', environment: ENVIRONMENT, agentName: 'rum-js' }) + const synthRum = apm + .service({ name: 'synth-rum', environment: ENVIRONMENT, agentName: 'rum-js' }) .instance('my-instance'); - const opbeansNode = apm - .service({ name: 'opbeans-node', environment: ENVIRONMENT, agentName: 'nodejs' }) + const synthNode = apm + .service({ name: 'synth-node', environment: ENVIRONMENT, agentName: 'nodejs' }) .instance('my-instance'); - const opbeansGo = apm - .service({ name: 'opbeans-go', environment: ENVIRONMENT, agentName: 'go' }) + const synthGo = apm + .service({ name: 'synth-go', environment: ENVIRONMENT, agentName: 'go' }) .instance('my-instance'); const traces = successfulTimestamps.generator((timestamp) => { - // opbeans-rum - return opbeansRum + // synth-rum + return synthRum .transaction({ transactionName }) .duration(400) .timestamp(timestamp) .children( - // opbeans-rum -> opbeans-node - opbeansRum + // synth-rum -> synth-node + synthRum .span( httpExitSpan({ spanName: 'GET /api/products/top', - destinationUrl: 'http://opbeans-node:3000', + destinationUrl: 'http://synth-node:3000', }) ) .duration(300) .timestamp(timestamp) .children( - // opbeans-node - opbeansNode - .transaction({ transactionName: 'Initial transaction in opbeans-node' }) + // synth-node + synthNode + .transaction({ transactionName: 'Initial transaction in synth-node' }) .duration(300) .timestamp(timestamp) .children( - opbeansNode - // opbeans-node -> opbeans-go + synthNode + // synth-node -> synth-go .span( httpExitSpan({ - spanName: 'GET opbeans-go:3000', - destinationUrl: 'http://opbeans-go:3000', + spanName: 'GET synth-go:3000', + destinationUrl: 'http://synth-go:3000', }) ) .timestamp(timestamp) .duration(400) .children( - // opbeans-go - opbeansGo + // synth-go + synthGo - .transaction({ transactionName: 'Initial transaction in opbeans-go' }) + .transaction({ transactionName: 'Initial transaction in synth-go' }) .timestamp(timestamp) .duration(200) .children( - opbeansGo + synthGo .span({ spanName: 'custom_operation', spanType: 'custom' }) .timestamp(timestamp) .duration(100) diff --git a/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace_long.ts b/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace_long.ts index 32542ee2c1d493..a55710c6478ef2 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace_long.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/distributed_trace_long.ts @@ -24,48 +24,48 @@ const scenario: Scenario = async (runOptions: RunOptions) => { const traceDuration = 1100; const rootTransactionName = `${ratePerMinute}rpm / ${traceDuration}ms`; - const opbeansRum = apm - .service({ name: 'opbeans-rum', environment: ENVIRONMENT, agentName: 'rum-js' }) + const synthRum = apm + .service({ name: 'synth-rum', environment: ENVIRONMENT, agentName: 'rum-js' }) .instance('my-instance'); - const opbeansNode = apm - .service({ name: 'opbeans-node', environment: ENVIRONMENT, agentName: 'nodejs' }) + const synthNode = apm + .service({ name: 'synth-node', environment: ENVIRONMENT, agentName: 'nodejs' }) .instance('my-instance'); - const opbeansGo = apm - .service({ name: 'opbeans-go', environment: ENVIRONMENT, agentName: 'go' }) + const synthGo = apm + .service({ name: 'synth-go', environment: ENVIRONMENT, agentName: 'go' }) .instance('my-instance'); - const opbeansDotnet = apm - .service({ name: 'opbeans-dotnet', environment: ENVIRONMENT, agentName: 'dotnet' }) + const synthDotnet = apm + .service({ name: 'synth-dotnet', environment: ENVIRONMENT, agentName: 'dotnet' }) .instance('my-instance'); - const opbeansJava = apm - .service({ name: 'opbeans-java', environment: ENVIRONMENT, agentName: 'java' }) + const synthJava = apm + .service({ name: 'synth-java', environment: ENVIRONMENT, agentName: 'java' }) .instance('my-instance'); const traces = timerange(from, to) .ratePerMinute(ratePerMinute) .generator((timestamp) => { return new DistributedTrace({ - serviceInstance: opbeansRum, + serviceInstance: synthRum, transactionName: rootTransactionName, timestamp, children: (_) => { _.service({ repeat: 10, - serviceInstance: opbeansNode, + serviceInstance: synthNode, transactionName: 'GET /nodejs/products', latency: 100, children: (_) => { _.service({ - serviceInstance: opbeansGo, + serviceInstance: synthGo, transactionName: 'GET /go', children: (_) => { _.service({ repeat: 20, - serviceInstance: opbeansJava, + serviceInstance: synthJava, transactionName: 'GET /java', children: (_) => { _.external({ @@ -84,19 +84,19 @@ const scenario: Scenario = async (runOptions: RunOptions) => { }); _.service({ - serviceInstance: opbeansNode, + serviceInstance: synthNode, transactionName: 'GET /nodejs/users', latency: 100, repeat: 10, children: (_) => { _.service({ - serviceInstance: opbeansGo, + serviceInstance: synthGo, transactionName: 'GET /go/security', latency: 50, children: (_) => { _.service({ repeat: 10, - serviceInstance: opbeansDotnet, + serviceInstance: synthDotnet, transactionName: 'GET /dotnet/cases/4', latency: 50, children: (_) => diff --git a/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts b/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts index 8f3c84564787cf..c125196999a92d 100644 --- a/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts +++ b/packages/kbn-apm-synthtrace/src/scenarios/simple_trace.ts @@ -32,7 +32,7 @@ const scenario: Scenario = async (runOptions: RunOptions) => { const instances = [...Array(numServices).keys()].map((index) => apm - .service({ name: `opbeans-go-${index}`, environment: ENVIRONMENT, agentName: 'go' }) + .service({ name: `synth-go-${index}`, environment: ENVIRONMENT, agentName: 'go' }) .instance('instance') ); const instanceSpans = (instance: Instance) => { From a1150b549deb0e7a633b5835af67283d6f375502 Mon Sep 17 00:00:00 2001 From: Saarika <55930906+saarikabhasi@users.noreply.github.com> Date: Wed, 2 Nov 2022 13:31:45 -0400 Subject: [PATCH 15/37] [App-search] should not show 'nested' option in managed docs (#144333) * [App-search] should not show 'nested' option in managed docs * Changed variable name - IgnoreSchemaType to plural --- .../applications/shared/schema/field_type_select/index.tsx | 7 +++++-- .../public/applications/shared/schema/types.ts | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/schema/field_type_select/index.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/schema/field_type_select/index.tsx index fb6c0f2047b120..8fd744c4ebe6f3 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/schema/field_type_select/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/schema/field_type_select/index.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { EuiSelect } from '@elastic/eui'; -import { SchemaType } from '../types'; +import { SchemaType, IgnoreSchemaTypes } from '../types'; interface Props { fieldName: string; @@ -25,7 +25,10 @@ export const SchemaFieldTypeSelect: React.FC = ({ disabled, ...rest }) => { - const fieldTypeOptions = Object.values(SchemaType).map((type) => ({ value: type, text: type })); + const fieldTypeOptions = Object.values(SchemaType) + .filter((type) => !IgnoreSchemaTypes.includes(type)) + .map((type) => ({ value: type, text: type })); + return ( Date: Wed, 2 Nov 2022 17:47:57 +0000 Subject: [PATCH 16/37] [Fleet] Fix test packages & add validation test (#144432) * add script to verify test packages * fix test packages * add jest test * validate zip packages * remove commented code --- .../scripts/verify_test_packages/index.js | 9 ++ .../verify_test_packages.test.ts | 15 +++ .../verify_test_packages.ts | 106 ++++++++++++++++++ .../server/services/epm/archive/parse.ts | 50 ++++++--- .../all_assets/0.1.0/manifest.yml | 2 + .../all_assets/0.2.0/manifest.yml | 2 + .../datastreams/0.1.0/manifest.yml | 2 + .../datastreams/0.2.0/manifest.yml | 2 + .../deprecated/0.1.0/manifest.yml | 2 + .../error_handling/0.1.0/manifest.yml | 2 + .../error_handling/0.2.0/manifest.yml | 4 +- .../experimental/0.1.0/manifest.yml | 2 + .../experimental2/0.1.0/manifest.yml | 2 + .../test_packages/filetest/0.1.0/manifest.yml | 2 + .../multiple_versions/0.1.0/manifest.yml | 4 +- .../multiple_versions/0.2.0/manifest.yml | 4 +- .../multiple_versions/0.3.0/manifest.yml | 4 +- .../only_dashboard/0.1.0/manifest.yml | 2 + .../overrides/0.1.0/manifest.yml | 2 + .../package_policy_upgrade/0.1.0/manifest.yml | 2 + .../manifest.yml | 3 + .../0.2.5-non-breaking-change/manifest.yml | 3 + .../0.3.0-remove-test-var/manifest.yml | 3 + .../0.4.0-add-test-var-as-bool/manifest.yml | 3 + .../0.5.0-restructure-inputs/manifest.yml | 3 + .../manifest.yml | 3 + .../manifest.yml | 3 + .../manifest.yml | 3 + .../prerelease/0.1.0-dev.0+abc/manifest.yml | 2 + .../0.1.0/manifest.yml | 2 + 30 files changed, 230 insertions(+), 18 deletions(-) create mode 100644 x-pack/plugins/fleet/scripts/verify_test_packages/index.js create mode 100644 x-pack/plugins/fleet/scripts/verify_test_packages/verify_test_packages.test.ts create mode 100644 x-pack/plugins/fleet/scripts/verify_test_packages/verify_test_packages.ts diff --git a/x-pack/plugins/fleet/scripts/verify_test_packages/index.js b/x-pack/plugins/fleet/scripts/verify_test_packages/index.js new file mode 100644 index 00000000000000..2c3f64739962b1 --- /dev/null +++ b/x-pack/plugins/fleet/scripts/verify_test_packages/index.js @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +require('../../../../../src/setup_node_env'); +require('./verify_test_packages').run(); diff --git a/x-pack/plugins/fleet/scripts/verify_test_packages/verify_test_packages.test.ts b/x-pack/plugins/fleet/scripts/verify_test_packages/verify_test_packages.test.ts new file mode 100644 index 00000000000000..219d101d6e1ad5 --- /dev/null +++ b/x-pack/plugins/fleet/scripts/verify_test_packages/verify_test_packages.test.ts @@ -0,0 +1,15 @@ +/* + * 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 { verifyAllTestPackages } from './verify_test_packages'; + +describe('Test packages', () => { + test('All test packages should be valid (node scripts/verify_test_packages) ', async () => { + const { errors } = await verifyAllTestPackages(); + expect(errors).toEqual([]); + }); +}); diff --git a/x-pack/plugins/fleet/scripts/verify_test_packages/verify_test_packages.ts b/x-pack/plugins/fleet/scripts/verify_test_packages/verify_test_packages.ts new file mode 100644 index 00000000000000..ff7347e599ee69 --- /dev/null +++ b/x-pack/plugins/fleet/scripts/verify_test_packages/verify_test_packages.ts @@ -0,0 +1,106 @@ +/* + * 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 path from 'path'; +import { readdirSync, statSync, readFile } from 'fs'; +import { promisify } from 'util'; + +import partition from 'lodash/partition'; +import type { Logger } from '@kbn/core/server'; + +import { ToolingLog } from '@kbn/tooling-log'; + +import { + _generatePackageInfoFromPaths, + generatePackageInfoFromArchiveBuffer, +} from '../../server/services/epm/archive/parse'; + +const readFileAsync = promisify(readFile); + +const TEST_PACKAGE_DIRECTORIES = [ + '../../../../test/fleet_api_integration/apis/fixtures/bundled_packages', + '../../../../test/fleet_api_integration/apis/fixtures/test_packages', + '../../../../test/fleet_api_integration/apis/fixtures/package_verification/packages', +]; + +const getAllPathsFromDir = (dir: string): string[] => + readdirSync(dir).flatMap((file) => { + const joinedPath = path.join(dir, file); + if (!statSync(joinedPath).isDirectory()) return joinedPath; + + return getAllPathsFromDir(joinedPath); + }); + +const getAllPackagesFromDir = (packagesDir: string) => + readdirSync(packagesDir).flatMap((packageDir) => { + const packagePath = path.join(packagesDir, packageDir); + + if (packagePath.endsWith('.zip')) return packagePath; + + if (!statSync(packagePath).isDirectory()) return []; + + return readdirSync(packagePath) + .map((version) => path.join(packagePath, version)) + .filter((versionPath) => statSync(versionPath).isDirectory() || packagePath.endsWith('.zip')); + }); + +export const run = async () => { + const logger = new ToolingLog({ + level: 'info', + writeTo: process.stdout, + }); + + const { errors } = await verifyAllTestPackages(logger); + + if (errors.length) { + logger.error(`${errors.length} packages failed validation. Exiting with error.`); + process.exit(1); + } +}; + +export const verifyAllTestPackages = async ( + logger?: ToolingLog | Logger +): Promise<{ successCount: number; errors: Error[] }> => { + const errors = []; + let successCount = 0; + for (const dir of TEST_PACKAGE_DIRECTORIES) { + const packageVersionPaths = getAllPackagesFromDir(path.join(__dirname, dir)); + + const [zips, dirs] = partition(packageVersionPaths, (p) => p.endsWith('.zip')); + + for (const zipPath of zips) { + const buffer = await readFileAsync(zipPath); + + try { + const { packageInfo } = await generatePackageInfoFromArchiveBuffer( + buffer, + 'application/zip' + ); + logger?.info(`Successfully parsed zip pkg ${packageInfo.name}-${packageInfo.version}`); + successCount++; + } catch (e) { + logger?.error(`Error parsing ${zipPath} : ${e}`); + errors.push(e); + } + } + + const allPackageDirPaths = dirs.map(getAllPathsFromDir); + for (const [i, packagePaths] of allPackageDirPaths.entries()) { + const topLevelDir = packageVersionPaths[i]; + try { + const packageInfo = await _generatePackageInfoFromPaths(packagePaths, topLevelDir); + logger?.info(`Successfully parsed ${packageInfo.name}-${packageInfo.version}`); + successCount++; + } catch (e) { + logger?.error(`Error parsing ${topLevelDir} : ${e}`); + errors.push(e); + } + } + } + + return { successCount, errors }; +}; diff --git a/x-pack/plugins/fleet/server/services/epm/archive/parse.ts b/x-pack/plugins/fleet/server/services/epm/archive/parse.ts index 3fe7087ffb79bd..ba190a30c8c0d8 100644 --- a/x-pack/plugins/fleet/server/services/epm/archive/parse.ts +++ b/x-pack/plugins/fleet/server/services/epm/archive/parse.ts @@ -5,6 +5,11 @@ * 2.0. */ +import { readFile } from 'fs'; + +import { promisify } from 'util'; +import path from 'path'; + import { merge } from '@kbn/std'; import yaml from 'js-yaml'; import { pick, uniq } from 'lodash'; @@ -32,6 +37,7 @@ import { pkgToPkgKey } from '../registry'; import { unpackBufferEntries } from '.'; +const readFileAsync = promisify(readFile); const MANIFESTS: Record = {}; const MANIFEST_NAME = 'manifest.yml'; @@ -136,9 +142,9 @@ export async function generatePackageInfoFromArchiveBuffer( ): Promise<{ paths: string[]; packageInfo: ArchivePackage }> { const entries = await unpackBufferEntries(archiveBuffer, contentType); const paths: string[] = []; - entries.forEach(({ path, buffer }) => { - paths.push(path); - if (path.endsWith(MANIFEST_NAME) && buffer) MANIFESTS[path] = buffer; + entries.forEach(({ path: bufferPath, buffer }) => { + paths.push(bufferPath); + if (bufferPath.endsWith(MANIFEST_NAME) && buffer) MANIFESTS[bufferPath] = buffer; }); return { @@ -147,17 +153,33 @@ export async function generatePackageInfoFromArchiveBuffer( }; } -function parseAndVerifyArchive(paths: string[]): ArchivePackage { +/* +This is a util function for verifying packages from a directory not an archive. +It is only to be called from test scripts. +*/ +export async function _generatePackageInfoFromPaths( + paths: string[], + topLevelDir: string +): Promise { + await Promise.all( + paths.map(async (filePath) => { + if (filePath.endsWith(MANIFEST_NAME)) MANIFESTS[filePath] = await readFileAsync(filePath); + }) + ); + return parseAndVerifyArchive(paths, topLevelDir); +} + +function parseAndVerifyArchive(paths: string[], topLevelDirOverride?: string): ArchivePackage { // The top-level directory must match pkgName-pkgVersion, and no other top-level files or directories may be present - const toplevelDir = paths[0].split('/')[0]; - paths.forEach((path) => { - if (path.split('/')[0] !== toplevelDir) { + const toplevelDir = topLevelDirOverride || paths[0].split('/')[0]; + paths.forEach((filePath) => { + if (!filePath.startsWith(toplevelDir)) { throw new PackageInvalidArchiveError('Package contains more than one top-level directory.'); } }); // The package must contain a manifest file ... - const manifestFile = `${toplevelDir}/${MANIFEST_NAME}`; + const manifestFile = path.join(toplevelDir, MANIFEST_NAME); const manifestBuffer = MANIFESTS[manifestFile]; if (!paths.includes(manifestFile) || !manifestBuffer) { throw new PackageInvalidArchiveError(`Package must contain a top-level ${MANIFEST_NAME} file.`); @@ -189,7 +211,7 @@ function parseAndVerifyArchive(paths: string[]): ArchivePackage { // Package name and version from the manifest must match those from the toplevel directory const pkgKey = pkgToPkgKey({ name: parsed.name, version: parsed.version }); - if (toplevelDir !== pkgKey) { + if (!topLevelDirOverride && toplevelDir !== pkgKey) { throw new PackageInvalidArchiveError( `Name ${parsed.name} and version ${parsed.version} do not match top-level directory ${toplevelDir}` ); @@ -238,9 +260,9 @@ export function parseAndVerifyDataStreams( // pick all paths matching name-version/data_stream/DATASTREAM_PATH/... // from those, pick all unique data stream paths paths - .filter((path) => path.startsWith(`${pkgKey}/data_stream/`)) - .forEach((path) => { - const parts = path.split('/'); + .filter((filePath) => filePath.startsWith(`${pkgKey}/data_stream/`)) + .forEach((filePath) => { + const parts = filePath.split('/'); if (parts.length > 2 && parts[2]) dataStreamPaths.push(parts[2]); }); @@ -280,8 +302,8 @@ export function parseAndVerifyDataStreams( } let ingestPipeline; - const ingestPipelinePaths = paths.filter((path) => - path.startsWith(`${pkgKey}/data_stream/${dataStreamPath}/elasticsearch/ingest_pipeline`) + const ingestPipelinePaths = paths.filter((filePath) => + filePath.startsWith(`${pkgKey}/data_stream/${dataStreamPath}/elasticsearch/ingest_pipeline`) ); if ( diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/all_assets/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/all_assets/0.1.0/manifest.yml index 3c11b5103fbeb6..fa6e65f4970686 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/all_assets/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/all_assets/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/all_assets/0.2.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/all_assets/0.2.0/manifest.yml index 70da51a14bce83..33c7c020b4c499 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/all_assets/0.2.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/all_assets/0.2.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/datastreams/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/datastreams/0.1.0/manifest.yml index 28979cca0771bc..9cddc5f1f863e9 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/datastreams/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/datastreams/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/datastreams/0.2.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/datastreams/0.2.0/manifest.yml index b389a86702fa83..55c50f340d1100 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/datastreams/0.2.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/datastreams/0.2.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/deprecated/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/deprecated/0.1.0/manifest.yml index 755c49e1af388c..da357e14a0d453 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/deprecated/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/deprecated/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet conditions: # Version number is not compatible with current version diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/error_handling/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/error_handling/0.1.0/manifest.yml index 312cd2874804ce..4b5afcac953eb8 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/error_handling/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/error_handling/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/error_handling/0.2.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/error_handling/0.2.0/manifest.yml index c473ce29b87d53..d45489caee7b4c 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/error_handling/0.2.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/error_handling/0.2.0/manifest.yml @@ -7,7 +7,9 @@ categories: [] release: beta type: integration license: basic - +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/experimental/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/experimental/0.1.0/manifest.yml index 62f605c5828f85..c626ae209c4904 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/experimental/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/experimental/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: experimental type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/experimental2/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/experimental2/0.1.0/manifest.yml index 766835dbde0370..c72242b1bc7ce3 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/experimental2/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/experimental2/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: experimental type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/filetest/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/filetest/0.1.0/manifest.yml index c4fb3f967913d7..f5b8ba129cb615 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/filetest/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/filetest/0.1.0/manifest.yml @@ -10,6 +10,8 @@ release: beta # The default type is integration and will be set if empty. type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.1.0/manifest.yml index f4b6eccbda9577..16cb91526651f7 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.1.0/manifest.yml @@ -7,7 +7,9 @@ categories: [] release: beta type: integration license: basic - +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.2.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.2.0/manifest.yml index be7c93484d9875..d3f7f8b5f88d40 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.2.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.2.0/manifest.yml @@ -7,7 +7,9 @@ categories: [] release: beta type: integration license: basic - +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.3.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.3.0/manifest.yml index 630788b00fca70..15411c855cd092 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.3.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/multiple_versions/0.3.0/manifest.yml @@ -7,7 +7,9 @@ categories: [] release: beta type: integration license: basic - +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/only_dashboard/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/only_dashboard/0.1.0/manifest.yml index 129ee4e2c133cc..48b7db29c8296c 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/only_dashboard/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/only_dashboard/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/overrides/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/overrides/0.1.0/manifest.yml index ba9fd0fada006d..2189a9c30754c2 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/overrides/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/overrides/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: ['security'] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/manifest.yml index 7856c6eb9df34d..aa64596bba6a02 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/manifest.yml @@ -7,6 +7,8 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/manifest.yml index 58688c78519f60..2d5dcb7f8d6d4b 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/manifest.yml @@ -7,6 +7,9 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.5-non-breaking-change/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.5-non-breaking-change/manifest.yml index 2105ee451ffaee..04d03dd2b5b8d8 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.5-non-breaking-change/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.5-non-breaking-change/manifest.yml @@ -7,6 +7,9 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/manifest.yml index 5f3f4938692735..e58b0406d75ab4 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/manifest.yml @@ -7,6 +7,9 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/manifest.yml index 8cd629c98d3eb8..b50e3d1378722b 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/manifest.yml @@ -7,6 +7,9 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/manifest.yml index 6c26bb545424de..d1967d77c6a2e7 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/manifest.yml @@ -7,6 +7,9 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/manifest.yml index 82c9d7059e2a6e..a9b2a39028e3f7 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/manifest.yml @@ -7,6 +7,9 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.7.0-add-stream-with-no-vars/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.7.0-add-stream-with-no-vars/manifest.yml index 346ea4d2bcfad0..9ad64c2d8e54b1 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.7.0-add-stream-with-no-vars/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.7.0-add-stream-with-no-vars/manifest.yml @@ -7,6 +7,9 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.8.0-add-vars-to-stream-with-no-vars/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.8.0-add-vars-to-stream-with-no-vars/manifest.yml index bd61453fdaac83..2ea0bfae993a19 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.8.0-add-vars-to-stream-with-no-vars/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.8.0-add-vars-to-stream-with-no-vars/manifest.yml @@ -7,6 +7,9 @@ categories: [] release: beta type: integration license: basic +owner: + github: elastic/fleet + requirement: elasticsearch: versions: '>7.7.0' diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/prerelease/0.1.0-dev.0+abc/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/prerelease/0.1.0-dev.0+abc/manifest.yml index a0adb184cfc59f..a01ab8e438d550 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/prerelease/0.1.0-dev.0+abc/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/prerelease/0.1.0-dev.0+abc/manifest.yml @@ -7,6 +7,8 @@ categories: ['security'] release: beta type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/with_required_variables/0.1.0/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/with_required_variables/0.1.0/manifest.yml index 472888818e7179..cb9799e4d04ef2 100644 --- a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/with_required_variables/0.1.0/manifest.yml +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/with_required_variables/0.1.0/manifest.yml @@ -10,6 +10,8 @@ release: beta # The default type is integration and will be set if empty. type: integration license: basic +owner: + github: elastic/fleet requirement: elasticsearch: From 259caffdd2c3f7b42dfb8eb17906c63ddfd475e1 Mon Sep 17 00:00:00 2001 From: Catherine Liu Date: Wed, 2 Nov 2022 10:56:02 -0700 Subject: [PATCH 17/37] [Input Controls Vis] Fixes list control popover background color in dark mode (#144204) * Fixed combo box popover background color in dark mode * Wrap formrow instead * Removed unused var * Updated snapshots --- .../__snapshots__/list_control.test.tsx.snap | 96 ++++++++++--------- .../components/vis/input_control_vis.tsx | 2 + .../public/components/vis/list_control.tsx | 23 +++-- .../public/vis_controller.tsx | 4 + 4 files changed, 71 insertions(+), 54 deletions(-) diff --git a/src/plugins/input_control_vis/public/components/vis/__snapshots__/list_control.test.tsx.snap b/src/plugins/input_control_vis/public/components/vis/__snapshots__/list_control.test.tsx.snap index eab52795fefaa3..f8e7048f7a9d6a 100644 --- a/src/plugins/input_control_vis/public/components/vis/__snapshots__/list_control.test.tsx.snap +++ b/src/plugins/input_control_vis/public/components/vis/__snapshots__/list_control.test.tsx.snap @@ -1,53 +1,61 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`disableMsg 1`] = ` - - - + + + + `; exports[`renders ListControl 1`] = ` - - - + + + + `; diff --git a/src/plugins/input_control_vis/public/components/vis/input_control_vis.tsx b/src/plugins/input_control_vis/public/components/vis/input_control_vis.tsx index faeae649021df2..3331f0eb012d5a 100644 --- a/src/plugins/input_control_vis/public/components/vis/input_control_vis.tsx +++ b/src/plugins/input_control_vis/public/components/vis/input_control_vis.tsx @@ -39,6 +39,7 @@ interface InputControlVisProps { hasChanges: () => boolean; hasValues: () => boolean; refreshControl: (controlIndex: number, query: any) => Promise; + isDarkMode?: boolean; } export class InputControlVis extends Component { @@ -83,6 +84,7 @@ export class InputControlVis extends Component { fetchOptions={(query) => { this.props.refreshControl(index, query); }} + isDarkMode={this.props.isDarkMode} /> ); } else if (isRangeControl(control)) { diff --git a/src/plugins/input_control_vis/public/components/vis/list_control.tsx b/src/plugins/input_control_vis/public/components/vis/list_control.tsx index 6ffc342bede2a5..729f0953927445 100644 --- a/src/plugins/input_control_vis/public/components/vis/list_control.tsx +++ b/src/plugins/input_control_vis/public/components/vis/list_control.tsx @@ -10,7 +10,7 @@ import React, { PureComponent } from 'react'; import _ from 'lodash'; import { injectI18n, InjectedIntlProps } from '@kbn/i18n-react'; -import { EuiFieldText, EuiComboBox } from '@elastic/eui'; +import { EuiFieldText, EuiComboBox, EuiThemeProvider } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormRow } from './form_row'; @@ -31,6 +31,7 @@ export type ListControlUiProps = InjectedIntlProps & { controlIndex: number; stageFilter: (controlIndex: number, value: any) => void; fetchOptions?: (searchValue: string) => void; + isDarkMode?: boolean; }; class ListControlUi extends PureComponent { @@ -164,15 +165,17 @@ class ListControlUi extends PureComponent - {this.renderControl()} - + + + {this.renderControl()} + + ); } } diff --git a/src/plugins/input_control_vis/public/vis_controller.tsx b/src/plugins/input_control_vis/public/vis_controller.tsx index 8916f311bf9123..e13b29d41a6e9a 100644 --- a/src/plugins/input_control_vis/public/vis_controller.tsx +++ b/src/plugins/input_control_vis/public/vis_controller.tsx @@ -42,6 +42,7 @@ export const createInputControlVisController = ( updateSubsciption: any; timeFilterSubscription: Subscription; visParams?: InputControlVisParams; + isDarkMode?: boolean; constructor() { this.controls = []; @@ -59,6 +60,8 @@ export const createInputControlVisController = ( isLoaded = false; } }); + + this.isDarkMode = deps.core.uiSettings.get('theme:darkMode'); } async render(visParams: InputControlVisParams) { @@ -100,6 +103,7 @@ export const createInputControlVisController = ( hasChanges={this.hasChanges} hasValues={this.hasValues} refreshControl={this.refreshControl} + isDarkMode={this.isDarkMode} /> , From 610f04a833b439bef66e1257b3d405a4b8e5b6af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Wed, 2 Nov 2022 18:57:50 +0100 Subject: [PATCH 18/37] Revert "Revert "[Guided onboarding] Fix multiple API requests when fetching guide state (#144160)"" (#144459) * Revert "Revert "[Guided onboarding] Fix multiple API requests when fetching guide state (#144160)"" This reverts commit a4445f959da98c03da2a755da26d63a36f44b8be. * [Guided onboarding] Fix type errors --- packages/kbn-guided-onboarding/index.ts | 9 +- .../public/components/guide_panel.test.tsx | 18 +- .../public/components/guide_panel.tsx | 2 +- .../public/services/api.mocks.ts | 18 ++ .../public/services/api.test.ts | 95 +++++-- .../guided_onboarding/public/services/api.ts | 57 ++-- x-pack/test/functional/apps/infra/tour.ts | 257 +++++++++--------- 7 files changed, 283 insertions(+), 173 deletions(-) diff --git a/packages/kbn-guided-onboarding/index.ts b/packages/kbn-guided-onboarding/index.ts index f98f330cd4be35..b22a8a2057c169 100644 --- a/packages/kbn-guided-onboarding/index.ts +++ b/packages/kbn-guided-onboarding/index.ts @@ -6,6 +6,13 @@ * Side Public License, v 1. */ -export type { GuideState, GuideId, GuideStepIds, StepStatus, GuideStep } from './src/types'; +export type { + GuideState, + GuideId, + GuideStepIds, + StepStatus, + GuideStep, + GuideStatus, +} from './src/types'; export { GuideCard, ObservabilityLinkCard } from './src/components/landing_page'; export type { UseCase } from './src/components/landing_page'; 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 9420e05e9d3fed..3bf4ae8f91c8c7 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx @@ -109,10 +109,21 @@ describe('Guided setup', () => { }); describe('Button component', () => { - // TODO check for the correct button behavior once https://github.com/elastic/kibana/issues/141129 is implemented - test.skip('should be disabled in there is no active guide', async () => { + test('should be hidden in there is no guide state', async () => { const { exists } = testBed; - expect(exists('disabledGuideButton')).toBe(true); + expect(exists('guideButton')).toBe(false); + expect(exists('guidePanel')).toBe(false); + }); + + test('should be hidden if the guide is not active', async () => { + const { component, exists } = testBed; + + await updateComponentWithState( + component, + { ...mockActiveTestGuideState, isActive: false }, + true + ); + expect(exists('guideButton')).toBe(false); expect(exists('guidePanel')).toBe(false); }); @@ -123,7 +134,6 @@ describe('Guided setup', () => { // Enable the "test" guide await updateComponentWithState(component, mockActiveTestGuideState, true); - expect(exists('disabledGuideButton')).toBe(false); expect(exists('guideButton')).toBe(true); expect(find('guideButton').text()).toEqual('Setup guide'); }); diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.tsx index 759f4a83c6852d..823637b23247a1 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.tsx @@ -139,7 +139,7 @@ export const GuidePanel = ({ api, application }: GuidePanelProps) => { // TODO handle loading, error state // https://github.com/elastic/kibana/issues/139799, https://github.com/elastic/kibana/issues/139798 - if (!guideConfig) { + if (!guideConfig || !guideState || !guideState.isActive) { // TODO button show/hide logic https://github.com/elastic/kibana/issues/141129 return null; } diff --git a/src/plugins/guided_onboarding/public/services/api.mocks.ts b/src/plugins/guided_onboarding/public/services/api.mocks.ts index 2294607f91b380..47b7f6c9900e03 100644 --- a/src/plugins/guided_onboarding/public/services/api.mocks.ts +++ b/src/plugins/guided_onboarding/public/services/api.mocks.ts @@ -77,6 +77,24 @@ export const testGuideStep2InProgressState: GuideState = { ], }; +export const readyToCompleteGuideState: GuideState = { + ...testGuideStep1ActiveState, + steps: [ + { + ...testGuideStep1ActiveState.steps[0], + status: 'complete', + }, + { + ...testGuideStep1ActiveState.steps[1], + status: 'complete', + }, + { + ...testGuideStep1ActiveState.steps[2], + status: 'complete', + }, + ], +}; + export const testGuideNotActiveState: GuideState = { ...testGuideStep1ActiveState, isActive: false, diff --git a/src/plugins/guided_onboarding/public/services/api.test.ts b/src/plugins/guided_onboarding/public/services/api.test.ts index 56a5755f0ee554..24ade7de1a8492 100644 --- a/src/plugins/guided_onboarding/public/services/api.test.ts +++ b/src/plugins/guided_onboarding/public/services/api.test.ts @@ -11,6 +11,7 @@ import { httpServiceMock } from '@kbn/core/public/mocks'; import type { GuideState } from '@kbn/guided-onboarding'; import { firstValueFrom, Subscription } from 'rxjs'; +import { GuideStatus } from '@kbn/guided-onboarding'; import { API_BASE_PATH } from '../../common/constants'; import { ApiService } from './api'; import { @@ -24,12 +25,14 @@ import { testIntegration, wrongIntegration, testGuideStep2InProgressState, + readyToCompleteGuideState, } from './api.mocks'; describe('GuidedOnboarding ApiService', () => { let httpClient: jest.Mocked; let apiService: ApiService; let subscription: Subscription; + let anotherSubscription: Subscription; beforeEach(() => { httpClient = httpServiceMock.createStartContract({ basePath: '/base/path' }); @@ -41,9 +44,8 @@ describe('GuidedOnboarding ApiService', () => { }); afterEach(() => { - if (subscription) { - subscription.unsubscribe(); - } + subscription?.unsubscribe(); + anotherSubscription?.unsubscribe(); jest.restoreAllMocks(); }); @@ -53,6 +55,64 @@ describe('GuidedOnboarding ApiService', () => { expect(httpClient.get).toHaveBeenCalledTimes(1); expect(httpClient.get).toHaveBeenCalledWith(`${API_BASE_PATH}/state`, { query: { active: true }, + signal: new AbortController().signal, + }); + }); + + it(`doesn't send multiple requests when there are several subscriptions`, () => { + subscription = apiService.fetchActiveGuideState$().subscribe(); + anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); + expect(httpClient.get).toHaveBeenCalledTimes(1); + }); + + it(`re-sends the request if the previous one failed`, async () => { + httpClient.get.mockRejectedValueOnce(new Error('request failed')); + subscription = apiService.fetchActiveGuideState$().subscribe(); + // wait until the request fails + await new Promise((resolve) => process.nextTick(resolve)); + anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); + expect(httpClient.get).toHaveBeenCalledTimes(2); + }); + + it(`re-sends the request if there is no guide state and there is another subscription`, async () => { + httpClient.get.mockResolvedValueOnce({ + state: [], + }); + subscription = apiService.fetchActiveGuideState$().subscribe(); + // wait until the request completes + await new Promise((resolve) => process.nextTick(resolve)); + anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); + expect(httpClient.get).toHaveBeenCalledTimes(2); + }); + + it(`doesn't send multiple requests in a loop when there is no state`, async () => { + httpClient.get.mockResolvedValueOnce({ + state: [], + }); + subscription = apiService.fetchActiveGuideState$().subscribe(); + // wait until the request completes + await new Promise((resolve) => process.nextTick(resolve)); + expect(httpClient.get).toHaveBeenCalledTimes(1); + }); + + it(`re-sends the request if the subscription was unsubscribed before the request completed`, async () => { + httpClient.get.mockImplementationOnce(() => { + return new Promise((resolve) => setTimeout(resolve)); + }); + // subscribe and immediately unsubscribe + apiService.fetchActiveGuideState$().subscribe().unsubscribe(); + anotherSubscription = apiService.fetchActiveGuideState$().subscribe(); + expect(httpClient.get).toHaveBeenCalledTimes(2); + }); + + it(`the second subscription gets the state broadcast to it`, (done) => { + // first subscription + apiService.fetchActiveGuideState$().subscribe(); + // second subscription + anotherSubscription = apiService.fetchActiveGuideState$().subscribe((state) => { + if (state) { + done(); + } }); }); @@ -95,6 +155,17 @@ describe('GuidedOnboarding ApiService', () => { body: JSON.stringify(updatedState), }); }); + + it('the completed state is being broadcast after the update', async () => { + const completedState = { + ...readyToCompleteGuideState, + isActive: false, + status: 'complete' as GuideStatus, + }; + await apiService.updateGuideState(completedState, false); + const state = await firstValueFrom(apiService.fetchActiveGuideState$()); + expect(state).toMatchObject(completedState); + }); }); describe('isGuideStepActive$', () => { @@ -149,24 +220,6 @@ describe('GuidedOnboarding ApiService', () => { }); describe('completeGuide', () => { - const readyToCompleteGuideState: GuideState = { - ...testGuideStep1ActiveState, - steps: [ - { - ...testGuideStep1ActiveState.steps[0], - status: 'complete', - }, - { - ...testGuideStep1ActiveState.steps[1], - status: 'complete', - }, - { - ...testGuideStep1ActiveState.steps[2], - status: 'complete', - }, - ], - }; - beforeEach(async () => { await apiService.updateGuideState(readyToCompleteGuideState, false); }); diff --git a/src/plugins/guided_onboarding/public/services/api.ts b/src/plugins/guided_onboarding/public/services/api.ts index cd33f9505c546a..89790024cdde78 100644 --- a/src/plugins/guided_onboarding/public/services/api.ts +++ b/src/plugins/guided_onboarding/public/services/api.ts @@ -7,7 +7,7 @@ */ import { HttpSetup } from '@kbn/core/public'; -import { BehaviorSubject, map, from, concatMap, of, Observable, firstValueFrom } from 'rxjs'; +import { BehaviorSubject, map, concatMap, of, Observable, firstValueFrom } from 'rxjs'; import type { GuideState, GuideId, GuideStep, GuideStepIds } from '@kbn/guided-onboarding'; import { GuidedOnboardingApi } from '../types'; @@ -26,6 +26,7 @@ import { API_BASE_PATH } from '../../common/constants'; export class ApiService implements GuidedOnboardingApi { private client: HttpSetup | undefined; private onboardingGuideState$!: BehaviorSubject; + private isGuideStateLoading: boolean | undefined; public isGuidePanelOpen$: BehaviorSubject = new BehaviorSubject(false); public setup(httpClient: HttpSetup): void { @@ -33,30 +34,46 @@ export class ApiService implements GuidedOnboardingApi { this.onboardingGuideState$ = new BehaviorSubject(undefined); } + private createGetStateObservable(): Observable { + return new Observable((observer) => { + const controller = new AbortController(); + const signal = controller.signal; + this.isGuideStateLoading = true; + this.client!.get<{ state: GuideState[] }>(`${API_BASE_PATH}/state`, { + query: { + active: true, + }, + signal, + }) + .then((response) => { + this.isGuideStateLoading = false; + // There should only be 1 active guide + const hasState = response.state.length === 1; + if (hasState) { + this.onboardingGuideState$.next(response.state[0]); + } + observer.complete(); + }) + .catch((error) => { + this.isGuideStateLoading = false; + observer.error(error); + }); + return () => { + this.isGuideStateLoading = false; + controller.abort(); + }; + }); + } + /** * An Observable with the active guide state. * Initially the state is fetched from the backend. * Subsequently, the observable is updated automatically, when the state changes. */ public fetchActiveGuideState$(): Observable { - // TODO add error handling if this.client has not been initialized or request fails return this.onboardingGuideState$.pipe( concatMap((state) => - state === undefined - ? from( - this.client!.get<{ state: GuideState[] }>(`${API_BASE_PATH}/state`, { - query: { - active: true, - }, - }) - ).pipe( - map((response) => { - // There should only be 1 active guide - const hasState = response.state.length === 1; - return hasState ? response.state[0] : undefined; - }) - ) - : of(state) + !state && !this.isGuideStateLoading ? this.createGetStateObservable() : of(state) ) ); } @@ -83,7 +100,7 @@ export class ApiService implements GuidedOnboardingApi { /** * Updates the SO with the updated guide state and refreshes the observables * This is largely used internally and for tests - * @param {GuideState} guideState the updated guide state + * @param {GuideState} newState the updated guide state * @param {boolean} panelState boolean to determine whether the dropdown panel should open or not * @return {Promise} a promise with the updated guide state */ @@ -99,8 +116,8 @@ export class ApiService implements GuidedOnboardingApi { const response = await this.client.put<{ state: GuideState }>(`${API_BASE_PATH}/state`, { body: JSON.stringify(newState), }); - // If the guide has been deactivated, we return undefined - this.onboardingGuideState$.next(newState.isActive ? newState : undefined); + // broadcast the newState + this.onboardingGuideState$.next(newState); this.isGuidePanelOpen$.next(panelState); return response; } catch (error) { diff --git a/x-pack/test/functional/apps/infra/tour.ts b/x-pack/test/functional/apps/infra/tour.ts index 81ca07eef4c05f..2f9dfa314c1686 100644 --- a/x-pack/test/functional/apps/infra/tour.ts +++ b/x-pack/test/functional/apps/infra/tour.ts @@ -15,6 +15,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const pageObjects = getPageObjects(['common', 'infraHome']); const find = getService('find'); const supertest = getService('supertest'); + const deployment = getService('deployment'); const setInitialTourState = async (activeStep?: number) => { await browser.setLocalStorageItem(observTourStepStorageKey, String(activeStep || 1)); @@ -23,8 +24,9 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { describe('Onboarding Observability tour', function () { this.tags('includeFirefox'); - + let isCloud: boolean; before(async () => { + isCloud = await deployment.isCloud(); await esArchiver.load('x-pack/test/functional/es_archives/infra/metrics_and_logs'); await pageObjects.common.navigateToApp('observability'); // Need to increase the browser height so the tour steps fit to screen @@ -37,131 +39,134 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); describe('Tour enabled', () => { - beforeEach(async () => { - // Activate the Observability guide, step 3, in order to trigger the EuiTour - await supertest - .put(`/api/guided_onboarding/state`) - .set('kbn-xsrf', 'true') - .send({ - status: 'in_progress', - guideId: 'observability', - isActive: true, - steps: [ - { - id: 'add_data', - status: 'complete', - }, - { - id: 'view_dashboard', - status: 'complete', - }, - { - id: 'tour_observability', - status: 'in_progress', - }, - ], - }) - .expect(200); - }); - - it('can complete tour', async () => { - await setInitialTourState(); - - // Step 1: Overview - await pageObjects.infraHome.waitForTourStep('overviewStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - - // Step 2: Streams - await pageObjects.infraHome.waitForTourStep('streamStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); - - // Step 3: Metrics explorer - await pageObjects.infraHome.waitForTourStep('metricsExplorerStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('metricsExplorerStep'); - - // Step 4: Services - await pageObjects.infraHome.waitForTourStep('servicesStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('servicesStep'); - - // Step 5: Alerts - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); - - // Step 6: Guided setup - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickTourEndButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); - - it('can skip tour', async () => { - await setInitialTourState(); - - await pageObjects.infraHome.waitForTourStep('overviewStep'); - await pageObjects.infraHome.clickTourSkipButton(); - - // Verify current step ("Overview") is not displayed - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - // Verify next step ("Streams") is not displayed - await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); - - await browser.refresh(); - - // Verify current step ("Overview") is not displayed after browser refresh, - // i.e., localStorage has been updated to not show the tour again - await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); - }); - - it('can start mid-tour', async () => { - await setInitialTourState(5); - - // Step 5: Alerts - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); - - // Step 6: Guided setup - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickTourEndButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); - - it('navigates the user to the guided setup step', async () => { - // For brevity, starting the tour at step 5 - await setInitialTourState(5); - - await pageObjects.infraHome.waitForTourStep('alertStep'); - - // Click on Alerts link - await (await find.byCssSelector('[data-nav-id="alerts"]')).click(); - - // Verify user correctly navigated to the Alerts page - const alertsPageUrl = await browser.getCurrentUrl(); - expect(alertsPageUrl).to.contain('/app/observability/alerts'); - - // Verify Step 5 persists on Alerts page, then continue with tour - await pageObjects.infraHome.waitForTourStep('alertStep'); - await pageObjects.infraHome.clickTourNextButton(); - - // Verify user navigated back to the overview page, and guided setup step renders (Step 6) - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - const overviewPageUrl = await browser.getCurrentUrl(); - expect(overviewPageUrl).to.contain('/app/observability/overview'); - }); - - it('ends the tour if the user clicks on the guided setup button', async () => { - // For brevity, starting the tour at step 5, "Alerts" - await setInitialTourState(5); - - await pageObjects.infraHome.clickTourNextButton(); - await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); - await pageObjects.infraHome.clickGuidedSetupButton(); - await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); - }); + // only run these tests on Cloud + if (isCloud) { + beforeEach(async () => { + // Activate the Observability guide, step 3, in order to trigger the EuiTour + await supertest + .put(`/api/guided_onboarding/state`) + .set('kbn-xsrf', 'true') + .send({ + status: 'in_progress', + guideId: 'observability', + isActive: true, + steps: [ + { + id: 'add_data', + status: 'complete', + }, + { + id: 'view_dashboard', + status: 'complete', + }, + { + id: 'tour_observability', + status: 'in_progress', + }, + ], + }) + .expect(200); + }); + + it('can complete tour', async () => { + await setInitialTourState(); + + // Step 1: Overview + await pageObjects.infraHome.waitForTourStep('overviewStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + + // Step 2: Streams + await pageObjects.infraHome.waitForTourStep('streamStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); + + // Step 3: Metrics explorer + await pageObjects.infraHome.waitForTourStep('metricsExplorerStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('metricsExplorerStep'); + + // Step 4: Services + await pageObjects.infraHome.waitForTourStep('servicesStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('servicesStep'); + + // Step 5: Alerts + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); + + // Step 6: Guided setup + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickTourEndButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); + + it('can skip tour', async () => { + await setInitialTourState(); + + await pageObjects.infraHome.waitForTourStep('overviewStep'); + await pageObjects.infraHome.clickTourSkipButton(); + + // Verify current step ("Overview") is not displayed + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + // Verify next step ("Streams") is not displayed + await pageObjects.infraHome.ensureTourStepIsClosed('streamStep'); + + await browser.refresh(); + + // Verify current step ("Overview") is not displayed after browser refresh, + // i.e., localStorage has been updated to not show the tour again + await pageObjects.infraHome.ensureTourStepIsClosed('overviewStep'); + }); + + it('can start mid-tour', async () => { + await setInitialTourState(5); + + // Step 5: Alerts + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('alertStep'); + + // Step 6: Guided setup + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickTourEndButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); + + it('navigates the user to the guided setup step', async () => { + // For brevity, starting the tour at step 5 + await setInitialTourState(5); + + await pageObjects.infraHome.waitForTourStep('alertStep'); + + // Click on Alerts link + await (await find.byCssSelector('[data-nav-id="alerts"]')).click(); + + // Verify user correctly navigated to the Alerts page + const alertsPageUrl = await browser.getCurrentUrl(); + expect(alertsPageUrl).to.contain('/app/observability/alerts'); + + // Verify Step 5 persists on Alerts page, then continue with tour + await pageObjects.infraHome.waitForTourStep('alertStep'); + await pageObjects.infraHome.clickTourNextButton(); + + // Verify user navigated back to the overview page, and guided setup step renders (Step 6) + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + const overviewPageUrl = await browser.getCurrentUrl(); + expect(overviewPageUrl).to.contain('/app/observability/overview'); + }); + + it('ends the tour if the user clicks on the guided setup button', async () => { + // For brevity, starting the tour at step 5, "Alerts" + await setInitialTourState(5); + + await pageObjects.infraHome.clickTourNextButton(); + await pageObjects.infraHome.waitForTourStep('guidedSetupStep'); + await pageObjects.infraHome.clickGuidedSetupButton(); + await pageObjects.infraHome.ensureTourStepIsClosed('guidedSetupStep'); + }); + } }); }); }; From 4103969a64047efb5a05121e308c63dfb382d120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Kopyci=C5=84ski?= Date: Wed, 2 Nov 2022 19:12:21 +0100 Subject: [PATCH 19/37] [Osquery] Fix missing data view when viewing results in Discover/Lens in non-default Kibana space (#144210) --- .../osquery/cypress/e2e/all/discover.cy.ts | 66 +++++++++++++------ .../common/hooks/use_logs_data_view.tsx | 38 ++++++----- .../discover/view_results_in_discover.tsx | 4 +- .../public/lens/view_results_in_lens.tsx | 2 +- .../packs/pack_queries_status_table.tsx | 4 +- .../scripts/roles_users/soc_manager/role.json | 1 + 6 files changed, 74 insertions(+), 41 deletions(-) diff --git a/x-pack/plugins/osquery/cypress/e2e/all/discover.cy.ts b/x-pack/plugins/osquery/cypress/e2e/all/discover.cy.ts index 3e47b983dcda4a..4494757128a648 100644 --- a/x-pack/plugins/osquery/cypress/e2e/all/discover.cy.ts +++ b/x-pack/plugins/osquery/cypress/e2e/all/discover.cy.ts @@ -12,28 +12,54 @@ import { ROLES } from '../../test'; // TODO: So far just one test, but this is a good place to start. Move tests from pack view into here. describe('ALL - Discover', () => { - beforeEach(() => { - login(ROLES.soc_manager); - navigateTo('/app/osquery'); + before(() => { + login(ROLES.admin); + cy.request({ + method: 'POST', + url: '/api/spaces/space', + body: { + id: 'custom-space', + name: 'custom-space', + }, + headers: { 'kbn-xsrf': 'create-space' }, + }); }); - it('should be opened in new tab in results table', () => { - cy.contains('New live query').click(); - selectAllAgents(); - inputQuery('select * from uptime; '); - submitQuery(); - checkResults(); - cy.contains('View in Lens').should('exist'); - cy.contains('View in Discover') - .should('exist') - .should('have.attr', 'href') - .then(($href) => { - // @ts-expect-error-next-line href string - check types - cy.visit($href); - cy.getBySel('breadcrumbs').contains('Discover').should('exist'); - cy.getBySel('discoverDocTable', { timeout: 60000 }).contains( - 'action_data.queryselect * from uptime' - ); + after(() => { + login(ROLES.admin); + cy.request({ + method: 'DELETE', + url: '/api/spaces/space/custom-space', + headers: { 'kbn-xsrf': 'delete-space' }, + }); + }); + + ['default', 'custom-space'].forEach((space) => { + describe(`[${space}]`, () => { + beforeEach(() => { + login(ROLES.soc_manager); + navigateTo(`/s/${space}/app/osquery`); + }); + + it('should be opened in new tab in results table', () => { + cy.contains('New live query').click(); + selectAllAgents(); + inputQuery('select * from uptime; '); + submitQuery(); + checkResults(); + cy.contains('View in Lens').should('exist'); + cy.contains('View in Discover') + .should('exist') + .should('have.attr', 'href') + .then(($href) => { + // @ts-expect-error-next-line href string - check types + cy.visit($href); + cy.getBySel('breadcrumbs').contains('Discover').should('exist'); + cy.getBySel('discoverDocTable', { timeout: 60000 }).contains( + 'action_data.queryselect * from uptime' + ); + }); }); + }); }); }); diff --git a/x-pack/plugins/osquery/public/common/hooks/use_logs_data_view.tsx b/x-pack/plugins/osquery/public/common/hooks/use_logs_data_view.tsx index cf5a9e42d89117..8af764e6c8399f 100644 --- a/x-pack/plugins/osquery/public/common/hooks/use_logs_data_view.tsx +++ b/x-pack/plugins/osquery/public/common/hooks/use_logs_data_view.tsx @@ -16,6 +16,11 @@ export interface LogsDataView extends DataView { interface UseLogsDataView { skip?: boolean; + /* + this flag is used to retrieve the persistent logs data view + and should be used only for external links, eg. discover, lens + */ + checkOnly?: boolean; } export const useLogsDataView = (payload?: UseLogsDataView) => { @@ -24,34 +29,35 @@ export const useLogsDataView = (payload?: UseLogsDataView) => { return useQuery( ['logsDataView'], async () => { - try { - await dataViews.getFieldsForWildcard({ - pattern: 'logs-osquery_manager.result*', - }); - } catch (e) { - return undefined; - } - let dataView; try { const data = await dataViews.find('logs-osquery_manager.result*', 1); if (data.length) { dataView = data[0]; + } else { + throw new Error('No data view found'); } - } catch (e) { - if (dataViews.getCanSaveSync()) { + // eslint-disable-next-line no-empty + } catch (e) {} + + if (!dataView && dataViews.getCanSaveSync()) { + try { dataView = await dataViews.createAndSave({ title: 'logs-osquery_manager.result*', timeFieldName: '@timestamp', }); - } + // eslint-disable-next-line no-empty + } catch (e) {} } - if (!dataView) { - dataView = await dataViews.create({ - title: 'logs-osquery_manager.result*', - timeFieldName: '@timestamp', - }); + if (!dataView && !payload?.checkOnly) { + try { + dataView = await dataViews.create({ + title: 'logs-osquery_manager.result*', + timeFieldName: '@timestamp', + }); + // eslint-disable-next-line no-empty + } catch (e) {} } return dataView as LogsDataView; diff --git a/x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx b/x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx index 2106f11b892202..127b01b5259f92 100644 --- a/x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx +++ b/x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx @@ -32,7 +32,7 @@ const ViewResultsInDiscoverActionComponent: React.FC(''); @@ -125,7 +125,7 @@ const ViewResultsInDiscoverActionComponent: React.FC ); diff --git a/x-pack/plugins/osquery/public/lens/view_results_in_lens.tsx b/x-pack/plugins/osquery/public/lens/view_results_in_lens.tsx index a61e986fd12012..1e3c8b896f0488 100644 --- a/x-pack/plugins/osquery/public/lens/view_results_in_lens.tsx +++ b/x-pack/plugins/osquery/public/lens/view_results_in_lens.tsx @@ -39,7 +39,7 @@ const ViewResultsInLensActionComponent: React.FC = mode, }) => { const lensService = useKibana().services.lens; - const { data: logsDataView } = useLogsDataView({ skip: !actionId }); + const { data: logsDataView } = useLogsDataView({ skip: !actionId, checkOnly: true }); const handleClick = useCallback( (event) => { diff --git a/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx b/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx index df08fa6d1bf9bb..c9a323d1c4a5a1 100644 --- a/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx +++ b/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx @@ -211,7 +211,7 @@ const ViewResultsInLensActionComponent: React.FC { const lensService = useKibana().services.lens; const isLensAvailable = lensService?.canUseEditor(); - const { data: logsDataView } = useLogsDataView({ skip: !actionId }); + const { data: logsDataView } = useLogsDataView({ skip: !actionId, checkOnly: true }); const handleClick = useCallback( (event) => { @@ -274,7 +274,7 @@ const ViewResultsInDiscoverActionComponent: React.FC(''); diff --git a/x-pack/plugins/osquery/scripts/roles_users/soc_manager/role.json b/x-pack/plugins/osquery/scripts/roles_users/soc_manager/role.json index adfd5389234188..332a06db68314f 100644 --- a/x-pack/plugins/osquery/scripts/roles_users/soc_manager/role.json +++ b/x-pack/plugins/osquery/scripts/roles_users/soc_manager/role.json @@ -17,6 +17,7 @@ "feature": { "discover": ["all"], "infrastructure": ["read"], + "indexPatterns": ["all"], "observabilityCases": ["all"], "securitySolutionCases": ["all"], "ml": ["all"], From 21472f81256da61561d28d424fedb0c8d54df23f Mon Sep 17 00:00:00 2001 From: Alexander Wert Date: Wed, 2 Nov 2022 19:13:11 +0100 Subject: [PATCH 20/37] Correct compute usage: sum over all invocations in a bucket (#144382) * Correct compute usage a sum over all invocations in a bucket (rather than the average) * [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix' * fixing tests and clean up Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: cauemarcondes --- .../serverless/get_compute_usage_chart.ts | 45 ++++++------------- .../serverless/get_serverless_summary.ts | 2 + .../routes/metrics/serverless/helper.test.ts | 2 + .../routes/metrics/serverless/helper.ts | 15 +++++-- .../serverless_metrics_charts.spec.ts | 8 +++- 5 files changed, 36 insertions(+), 36 deletions(-) diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_compute_usage_chart.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_compute_usage_chart.ts index 201961113cac0a..1c08588d9ec64a 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_compute_usage_chart.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_compute_usage_chart.ts @@ -22,32 +22,10 @@ import { SERVICE_NAME, } from '../../../../common/elasticsearch_fieldnames'; import { environmentQuery } from '../../../../common/utils/environment_query'; -import { isFiniteNumber } from '../../../../common/utils/is_finite_number'; import { getMetricsDateHistogramParams } from '../../../lib/helpers/metrics'; import { GenericMetricsChart } from '../fetch_and_transform_metrics'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; - -/** - * To calculate the compute usage we need to multiply the "system.memory.total" by "faas.billed_duration". - * But the result of this calculation is in Bytes-milliseconds, as the "system.memory.total" is stored in bytes and the "faas.billed_duration" is stored in milliseconds. - * But to calculate the overall cost AWS uses GB-second, so we need to convert the result to this unit. - */ -const GB = 1024 ** 3; -function calculateComputeUsageGBSeconds({ - faasBilledDuration, - totalMemory, -}: { - faasBilledDuration?: number | null; - totalMemory?: number | null; -}) { - if (!isFiniteNumber(faasBilledDuration) || !isFiniteNumber(totalMemory)) { - return 0; - } - - const totalMemoryGB = totalMemory / GB; - const faasBilledDurationSec = faasBilledDuration / 1000; - return totalMemoryGB * faasBilledDurationSec; -} +import { calcComputeUsageGBSeconds } from './helper'; export async function getComputeUsageChart({ environment, @@ -71,6 +49,7 @@ export async function getComputeUsageChart({ const aggs = { avgFaasBilledDuration: { avg: { field: FAAS_BILLED_DURATION } }, avgTotalMemory: { avg: { field: METRIC_SYSTEM_TOTAL_MEMORY } }, + countInvocations: { value_count: { field: FAAS_BILLED_DURATION } }, }; const params = { @@ -137,16 +116,20 @@ export async function getComputeUsageChart({ ), key: 'compute_usage', type: 'bar', - overallValue: calculateComputeUsageGBSeconds({ - faasBilledDuration: aggregations?.avgFaasBilledDuration.value, - totalMemory: aggregations?.avgTotalMemory.value, - }), + overallValue: + calcComputeUsageGBSeconds({ + billedDuration: aggregations?.avgFaasBilledDuration.value, + totalMemory: aggregations?.avgTotalMemory.value, + countInvocations: aggregations?.countInvocations.value, + }) ?? 0, color: theme.euiColorVis0, data: timeseriesData.buckets.map((bucket) => { - const computeUsage = calculateComputeUsageGBSeconds({ - faasBilledDuration: bucket.avgFaasBilledDuration.value, - totalMemory: bucket.avgTotalMemory.value, - }); + const computeUsage = + calcComputeUsageGBSeconds({ + billedDuration: bucket.avgFaasBilledDuration.value, + totalMemory: bucket.avgTotalMemory.value, + countInvocations: bucket.countInvocations.value, + }) ?? 0; return { x: bucket.key, y: computeUsage, diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_summary.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_summary.ts index 1b35e8fd22ed35..7d8f94606f86b4 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_summary.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_summary.ts @@ -120,6 +120,7 @@ export async function getServerlessSummary({ faasBilledDurationAvg: { avg: { field: FAAS_BILLED_DURATION } }, avgTotalMemory: { avg: { field: METRIC_SYSTEM_TOTAL_MEMORY } }, avgFreeMemory: { avg: { field: METRIC_SYSTEM_FREE_MEMORY } }, + countInvocations: { value_count: { field: FAAS_BILLED_DURATION } }, sample: { top_metrics: { metrics: [{ field: HOST_ARCHITECTURE }], @@ -160,6 +161,7 @@ export async function getServerlessSummary({ transactionThroughput, billedDuration: response.aggregations?.faasBilledDurationAvg.value, totalMemory: response.aggregations?.avgTotalMemory.value, + countInvocations: response.aggregations?.countInvocations.value, }), }; } diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/helper.test.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/helper.test.ts index d92b7edece8dcb..23b322663353e4 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/helper.test.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/helper.test.ts @@ -104,6 +104,7 @@ describe('calcEstimatedCost', () => { totalMemory: 536870912, // 0.5gb transactionThroughput: 100000, awsLambdaRequestCostPerMillion: 0.2, + countInvocations: 1, }) ).toEqual(0.03); }); @@ -119,6 +120,7 @@ describe('calcEstimatedCost', () => { totalMemory: 536870912, // 0.5gb transactionThroughput: 200000, awsLambdaRequestCostPerMillion: 0.2, + countInvocations: 1, }) ).toEqual(0.05); }); diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/helper.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/helper.ts index 2026cc9990a7b4..df3ba8c4b9898a 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/helper.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/helper.ts @@ -47,17 +47,23 @@ const GB = 1024 ** 3; export function calcComputeUsageGBSeconds({ billedDuration, totalMemory, + countInvocations, }: { billedDuration?: number | null; totalMemory?: number | null; + countInvocations?: number | null; }) { - if (!isFiniteNumber(billedDuration) || !isFiniteNumber(totalMemory)) { + if ( + !isFiniteNumber(billedDuration) || + !isFiniteNumber(totalMemory) || + !isFiniteNumber(countInvocations) + ) { return undefined; } const totalMemoryGB = totalMemory / GB; - const billedDurationSec = billedDuration / 1000; - return totalMemoryGB * billedDurationSec; + const faasBilledDurationSec = billedDuration / 1000; + return totalMemoryGB * faasBilledDurationSec * countInvocations; } export function calcEstimatedCost({ @@ -67,6 +73,7 @@ export function calcEstimatedCost({ billedDuration, totalMemory, awsLambdaRequestCostPerMillion, + countInvocations, }: { awsLambdaPriceFactor?: AWSLambdaPriceFactor; architecture?: AwsLambdaArchitecture; @@ -74,11 +81,13 @@ export function calcEstimatedCost({ billedDuration?: number | null; totalMemory?: number | null; awsLambdaRequestCostPerMillion?: number; + countInvocations?: number | null; }) { try { const computeUsage = calcComputeUsageGBSeconds({ billedDuration, totalMemory, + countInvocations, }); if ( !awsLambdaPriceFactor || diff --git a/x-pack/test/apm_api_integration/tests/metrics/serverless/serverless_metrics_charts.spec.ts b/x-pack/test/apm_api_integration/tests/metrics/serverless/serverless_metrics_charts.spec.ts index f660e218eba1be..2915ff95e86cfb 100644 --- a/x-pack/test/apm_api_integration/tests/metrics/serverless/serverless_metrics_charts.spec.ts +++ b/x-pack/test/apm_api_integration/tests/metrics/serverless/serverless_metrics_charts.spec.ts @@ -177,7 +177,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { describe('Compute usage', () => { const GBSeconds = 1024 * 1024 * 1024 * 1000; - const expectedValue = (memoryTotal * billedDurationMs) / GBSeconds; let computeUsageMetric: typeof serverlessMetrics.charts[0] | undefined; before(() => { computeUsageMetric = serverlessMetrics.charts.find((chart) => { @@ -185,10 +184,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); }); it('returns correct overall value', () => { + const expectedValue = + ((memoryTotal * billedDurationMs) / GBSeconds) * numberOfTransactionsCreated * 2; expect(computeUsageMetric?.series[0].overallValue).to.equal(expectedValue); }); it('returns correct mean value', () => { + const expectedValue = ((memoryTotal * billedDurationMs) / GBSeconds) * 2; const meanValue = meanBy( computeUsageMetric?.series[0]?.data.filter((item) => item.y !== 0), 'y' @@ -298,7 +300,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { describe('Compute usage', () => { const GBSeconds = 1024 * 1024 * 1024 * 1000; - const expectedValue = (memoryTotal * billedDurationMs) / GBSeconds; let computeUsageMetric: typeof serverlessMetrics.charts[0] | undefined; before(() => { computeUsageMetric = serverlessMetrics.charts.find((chart) => { @@ -306,10 +307,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); }); it('returns correct overall value', () => { + const expectedValue = + ((memoryTotal * billedDurationMs) / GBSeconds) * numberOfTransactionsCreated; expect(computeUsageMetric?.series[0].overallValue).to.equal(expectedValue); }); it('returns correct mean value', () => { + const expectedValue = (memoryTotal * billedDurationMs) / GBSeconds; const meanValue = meanBy( computeUsageMetric?.series[0]?.data.filter((item) => item.y !== 0), 'y' From 57dce56bba0f4105bae4ff25be35ed3f89173a7b Mon Sep 17 00:00:00 2001 From: Katerina Patticha Date: Wed, 2 Nov 2022 19:55:28 +0100 Subject: [PATCH 21/37] [APM] Use consistent filtering for fetching mobile data (#144453) * [APM] Use consistent filtering for fetching mobile data * Clean up console logs --- .../service_overview_charts/filters/index.tsx | 6 ++-- .../service_oveview_mobile_charts.tsx | 2 ++ .../use_filters_for_mobile_charts.ts | 3 -- .../routes/mobile/get_mobile_filters.ts | 20 ++++++------- .../plugins/apm/server/routes/mobile/route.ts | 28 ++++++++----------- 5 files changed, 28 insertions(+), 31 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/filters/index.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/filters/index.tsx index 8cad711759aa19..22a1544d2013f4 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/filters/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/filters/index.tsx @@ -19,6 +19,7 @@ type MobileFilter = interface Props { end: string; environment: Environment; + transactionType?: string; kuery: string; start: string; filters: Record; @@ -32,6 +33,7 @@ const ALL_OPTION = { export function MobileFilters({ end, environment, + transactionType, kuery, start, filters, @@ -45,12 +47,12 @@ export function MobileFilters({ { params: { path: { serviceName }, - query: { end, environment, kuery, start }, + query: { end, environment, kuery, start, transactionType }, }, } ); }, - [end, environment, kuery, serviceName, start] + [end, environment, kuery, serviceName, start, transactionType] ); function toSelectOptions(items?: string[]) { diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx index 62e8743049552a..12948d098af571 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx @@ -56,6 +56,7 @@ export function ServiceOverviewMobileCharts({ device, osVersion, appVersion, + transactionType, }, } = useApmParams('/services/{serviceName}/overview'); @@ -75,6 +76,7 @@ export function ServiceOverviewMobileCharts({ start={start} end={end} environment={environment} + transactionType={transactionType} kuery={kuery} filters={{ device, diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts index 2c79c5a34dc75c..3412decc3f9beb 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts @@ -8,13 +8,11 @@ import { useMemo } from 'react'; import { type QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types'; import { isNil, isEmpty } from 'lodash'; -import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { environmentQuery } from '../../../../../common/utils/environment_query'; import { useApmParams } from '../../../../hooks/use_apm_params'; import { SERVICE_NAME, TRANSACTION_TYPE, - PROCESSOR_EVENT, HOST_OS_VERSION, DEVICE_MODEL_NAME, NETWORK_CONNECTION_TYPE, @@ -48,7 +46,6 @@ export function useFiltersForMobileCharts() { return useMemo( () => [ - ...termQuery(PROCESSOR_EVENT, ProcessorEvent.transaction), ...termQuery(SERVICE_NAME, serviceName), ...termQuery(TRANSACTION_TYPE, transactionType), ...termQuery(HOST_OS_VERSION, osVersion), diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts index 2aac36c721ba1e..bdd1667b4c8e89 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts @@ -11,19 +11,17 @@ import { kqlQuery, rangeQuery, } from '@kbn/observability-plugin/server'; +import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { DEVICE_MODEL_NAME, HOST_OS_VERSION, NETWORK_CONNECTION_TYPE, SERVICE_NAME, SERVICE_VERSION, + TRANSACTION_TYPE, } from '../../../common/elasticsearch_fieldnames'; import { environmentQuery } from '../../../common/utils/environment_query'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; -import { - getDocumentTypeFilterForTransactions, - getProcessorEventForTransactions, -} from '../../lib/helpers/transactions'; type MobileFiltersTypes = | 'device' @@ -40,22 +38,26 @@ export async function getMobileFilters({ kuery, apmEventClient, serviceName, + transactionType, environment, start, end, - searchAggregatedTransactions, }: { kuery: string; apmEventClient: APMEventClient; serviceName: string; + transactionType?: string; environment: string; start: number; end: number; - searchAggregatedTransactions: boolean; }): Promise { const response = await apmEventClient.search('get_mobile_filters', { apm: { - events: [getProcessorEventForTransactions(searchAggregatedTransactions)], + events: [ + ProcessorEvent.error, + ProcessorEvent.metric, + ProcessorEvent.transaction, + ], }, body: { track_total_hits: false, @@ -64,12 +66,10 @@ export async function getMobileFilters({ bool: { filter: [ ...termQuery(SERVICE_NAME, serviceName), + ...termQuery(TRANSACTION_TYPE, transactionType), ...rangeQuery(start, end), ...environmentQuery(environment), ...kqlQuery(kuery), - ...getDocumentTypeFilterForTransactions( - searchAggregatedTransactions - ), ], }, }, diff --git a/x-pack/plugins/apm/server/routes/mobile/route.ts b/x-pack/plugins/apm/server/routes/mobile/route.ts index 584d6d85f362f8..81042f9522d92b 100644 --- a/x-pack/plugins/apm/server/routes/mobile/route.ts +++ b/x-pack/plugins/apm/server/routes/mobile/route.ts @@ -7,8 +7,6 @@ import * as t from 'io-ts'; import { getApmEventClient } from '../../lib/helpers/get_apm_event_client'; -import { setupRequest } from '../../lib/helpers/setup_request'; -import { getSearchTransactionsEvents } from '../../lib/helpers/transactions'; import { createApmServerRoute } from '../apm_routes/create_apm_server_route'; import { environmentRt, kueryRt, rangeRt } from '../default_api_types'; import { getMobileFilters } from './get_mobile_filters'; @@ -19,7 +17,14 @@ const mobileFilters = createApmServerRoute({ path: t.type({ serviceName: t.string, }), - query: t.intersection([kueryRt, rangeRt, environmentRt]), + query: t.intersection([ + kueryRt, + rangeRt, + environmentRt, + t.partial({ + transactionType: t.string, + }), + ]), }), options: { tags: ['access:apm'] }, handler: async ( @@ -27,28 +32,19 @@ const mobileFilters = createApmServerRoute({ ): Promise<{ mobileFilters: Awaited>; }> => { - const [setup, apmEventClient] = await Promise.all([ - setupRequest(resources), - getApmEventClient(resources), - ]); + const apmEventClient = await getApmEventClient(resources); const { params } = resources; const { serviceName } = params.path; - const { kuery, environment, start, end } = params.query; - const searchAggregatedTransactions = await getSearchTransactionsEvents({ - apmEventClient, - config: setup.config, - kuery, - start, - end, - }); + const { kuery, environment, start, end, transactionType } = params.query; + const filters = await getMobileFilters({ kuery, environment, + transactionType, start, end, serviceName, apmEventClient, - searchAggregatedTransactions, }); return { mobileFilters: filters }; }, From 0ba81e12d40561f675b0a11977117b4c165417f6 Mon Sep 17 00:00:00 2001 From: "Christiane (Tina) Heiligers" Date: Wed, 2 Nov 2022 12:00:17 -0700 Subject: [PATCH 22/37] IDM: Migrate core server-side core_app to package (#144075) Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: spalger --- .github/CODEOWNERS | 1 + package.json | 1 + packages/BUILD.bazel | 2 + .../core-apps-server-internal/BUILD.bazel | 140 + .../apps/core-apps-server-internal/README.md | 3 + .../apps/core-apps-server-internal/index.ts | 15 + .../core-apps-server-internal/jest.config.js | 6 +- .../core-apps-server-internal/kibana.jsonc | 7 + .../core-apps-server-internal/package.json | 9 + .../assets/favicons/favicon.distribution.ico | Bin 0 -> 15086 bytes .../assets/favicons/favicon.distribution.png | Bin 0 -> 5234 bytes .../assets/favicons/favicon.distribution.svg | 4 + .../src/assets/favicons/favicon.ico | Bin 0 -> 15086 bytes .../src/assets/favicons/favicon.png | Bin 0 -> 4335 bytes .../src/assets/favicons/favicon.svg | 4 + .../src}/assets/fonts/inter/Inter-Black.woff | Bin .../src}/assets/fonts/inter/Inter-Black.woff2 | Bin .../assets/fonts/inter/Inter-BlackItalic.woff | Bin .../fonts/inter/Inter-BlackItalic.woff2 | Bin .../src}/assets/fonts/inter/Inter-Bold.woff | Bin .../src}/assets/fonts/inter/Inter-Bold.woff2 | Bin .../assets/fonts/inter/Inter-BoldItalic.woff | Bin .../assets/fonts/inter/Inter-BoldItalic.woff2 | Bin .../assets/fonts/inter/Inter-ExtraBold.woff | Bin .../assets/fonts/inter/Inter-ExtraBold.woff2 | Bin .../fonts/inter/Inter-ExtraBoldItalic.woff | Bin .../fonts/inter/Inter-ExtraBoldItalic.woff2 | Bin .../assets/fonts/inter/Inter-ExtraLight.woff | Bin .../assets/fonts/inter/Inter-ExtraLight.woff2 | Bin .../fonts/inter/Inter-ExtraLightItalic.woff | Bin .../fonts/inter/Inter-ExtraLightItalic.woff2 | Bin .../src}/assets/fonts/inter/Inter-Italic.woff | Bin .../assets/fonts/inter/Inter-Italic.woff2 | Bin .../src}/assets/fonts/inter/Inter-Light.woff | Bin .../src}/assets/fonts/inter/Inter-Light.woff2 | Bin .../assets/fonts/inter/Inter-LightItalic.woff | Bin .../fonts/inter/Inter-LightItalic.woff2 | Bin .../src}/assets/fonts/inter/Inter-Medium.woff | Bin .../assets/fonts/inter/Inter-Medium.woff2 | Bin .../fonts/inter/Inter-MediumItalic.woff | Bin .../fonts/inter/Inter-MediumItalic.woff2 | Bin .../assets/fonts/inter/Inter-Regular.woff | Bin .../assets/fonts/inter/Inter-Regular.woff2 | Bin .../assets/fonts/inter/Inter-SemiBold.woff | Bin .../assets/fonts/inter/Inter-SemiBold.woff2 | Bin .../fonts/inter/Inter-SemiBoldItalic.woff | Bin .../fonts/inter/Inter-SemiBoldItalic.woff2 | Bin .../src}/assets/fonts/inter/Inter-Thin.woff | Bin .../src}/assets/fonts/inter/Inter-Thin.woff2 | Bin .../assets/fonts/inter/Inter-ThinItalic.woff | Bin .../assets/fonts/inter/Inter-ThinItalic.woff2 | Bin .../assets/fonts/inter/Inter-italic.var.woff2 | Bin .../assets/fonts/inter/Inter-roman.var.woff2 | Bin .../src}/assets/fonts/inter/Inter.var.woff2 | Bin .../src}/assets/fonts/inter/LICENSE.txt | 0 .../src}/assets/fonts/readme.md | 0 .../src}/assets/fonts/roboto_mono/LICENSE.txt | 0 .../fonts/roboto_mono/RobotoMono-Bold.ttf | Bin .../roboto_mono/RobotoMono-BoldItalic.ttf | Bin .../fonts/roboto_mono/RobotoMono-Italic.ttf | Bin .../fonts/roboto_mono/RobotoMono-Light.ttf | Bin .../roboto_mono/RobotoMono-LightItalic.ttf | Bin .../fonts/roboto_mono/RobotoMono-Medium.ttf | Bin .../roboto_mono/RobotoMono-MediumItalic.ttf | Bin .../fonts/roboto_mono/RobotoMono-Regular.ttf | Bin .../fonts/roboto_mono/RobotoMono-Thin.ttf | Bin .../roboto_mono/RobotoMono-ThinItalic.ttf | Bin .../src}/assets/legacy_dark_theme.css | 0 .../src}/assets/legacy_dark_theme.min.css | 0 .../src/assets/legacy_light_theme.css | 4419 +++++++++++++++++ .../src}/assets/legacy_light_theme.min.css | 0 .../bundle_routes/bundle_route.test.mocks.ts | 0 .../src}/bundle_routes/bundle_route.test.ts | 0 .../src}/bundle_routes/bundles_route.ts | 0 .../bundle_routes/dynamic_asset_response.ts | 2 +- .../bundle_routes/file_hash.test.mocks.ts | 0 .../src}/bundle_routes/file_hash.test.ts | 0 .../src}/bundle_routes/file_hash.ts | 2 +- .../bundle_routes/file_hash_cache.test.ts | 0 .../src}/bundle_routes/file_hash_cache.ts | 0 .../src}/bundle_routes/fs.ts | 0 .../src}/bundle_routes/index.ts | 2 + .../register_bundle_routes.test.mocks.ts | 0 .../register_bundle_routes.test.ts | 2 +- .../bundle_routes/register_bundle_routes.ts | 6 +- .../bundle_routes/select_compressed_file.ts | 0 .../src}/bundle_routes/utils.ts | 0 .../src}/core_app.test.mocks.ts | 0 .../src}/core_app.test.ts | 21 +- .../src}/core_app.ts | 8 +- .../core-apps-server-internal/src/index.ts | 15 + .../src}/internal_types.ts | 6 +- .../core-apps-server-internal/tsconfig.json | 16 + .../core_app/bundle_routes.test.ts | 3 +- src/core/server/server.ts | 6 +- src/dev/precommit_hook/casing_check_config.js | 2 +- tsconfig.base.json | 2 + yarn.lock | 4 + 98 files changed, 4679 insertions(+), 29 deletions(-) create mode 100644 packages/core/apps/core-apps-server-internal/BUILD.bazel create mode 100644 packages/core/apps/core-apps-server-internal/README.md create mode 100644 packages/core/apps/core-apps-server-internal/index.ts rename src/core/server/core_app/index.ts => packages/core/apps/core-apps-server-internal/jest.config.js (70%) create mode 100644 packages/core/apps/core-apps-server-internal/kibana.jsonc create mode 100644 packages/core/apps/core-apps-server-internal/package.json create mode 100644 packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.distribution.ico create mode 100644 packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.distribution.png create mode 100644 packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.distribution.svg create mode 100644 packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.ico create mode 100644 packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.png create mode 100644 packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.svg rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Black.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Black.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-BlackItalic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-BlackItalic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Bold.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Bold.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-BoldItalic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-BoldItalic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ExtraBold.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ExtraBold.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ExtraBoldItalic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ExtraLight.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ExtraLight.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ExtraLightItalic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ExtraLightItalic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Italic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Italic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Light.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Light.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-LightItalic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-LightItalic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Medium.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Medium.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-MediumItalic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-MediumItalic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Regular.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Regular.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-SemiBold.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-SemiBold.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-SemiBoldItalic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-SemiBoldItalic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Thin.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-Thin.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ThinItalic.woff (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-ThinItalic.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-italic.var.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter-roman.var.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/Inter.var.woff2 (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/inter/LICENSE.txt (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/readme.md (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/LICENSE.txt (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-Bold.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-BoldItalic.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-Italic.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-Light.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-LightItalic.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-Medium.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-MediumItalic.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-Regular.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-Thin.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/fonts/roboto_mono/RobotoMono-ThinItalic.ttf (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/legacy_dark_theme.css (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/legacy_dark_theme.min.css (100%) create mode 100644 packages/core/apps/core-apps-server-internal/src/assets/legacy_light_theme.css rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/assets/legacy_light_theme.min.css (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/bundle_route.test.mocks.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/bundle_route.test.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/bundles_route.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/dynamic_asset_response.ts (98%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/file_hash.test.mocks.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/file_hash.test.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/file_hash.ts (94%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/file_hash_cache.test.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/file_hash_cache.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/fs.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/index.ts (76%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/register_bundle_routes.test.mocks.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/register_bundle_routes.test.ts (98%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/register_bundle_routes.ts (94%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/select_compressed_file.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/bundle_routes/utils.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/core_app.test.mocks.ts (100%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/core_app.test.ts (90%) rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/core_app.ts (95%) create mode 100644 packages/core/apps/core-apps-server-internal/src/index.ts rename {src/core/server/core_app => packages/core/apps/core-apps-server-internal/src}/internal_types.ts (72%) create mode 100644 packages/core/apps/core-apps-server-internal/tsconfig.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 43ff2c0fa9791e..9cdf6e013bd253 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -708,6 +708,7 @@ packages/core/application/core-application-browser-mocks @elastic/kibana-core packages/core/application/core-application-common @elastic/kibana-core packages/core/apps/core-apps-browser-internal @elastic/kibana-core packages/core/apps/core-apps-browser-mocks @elastic/kibana-core +packages/core/apps/core-apps-server-internal @elastic/kibana-core packages/core/base/core-base-browser-internal @elastic/kibana-core packages/core/base/core-base-browser-mocks @elastic/kibana-core packages/core/base/core-base-common @elastic/kibana-core diff --git a/package.json b/package.json index a63be94afb18f8..e95bd6e7d81163 100644 --- a/package.json +++ b/package.json @@ -161,6 +161,7 @@ "@kbn/core-application-common": "link:bazel-bin/packages/core/application/core-application-common", "@kbn/core-apps-browser-internal": "link:bazel-bin/packages/core/apps/core-apps-browser-internal", "@kbn/core-apps-browser-mocks": "link:bazel-bin/packages/core/apps/core-apps-browser-mocks", + "@kbn/core-apps-server-internal": "link:bazel-bin/packages/core/apps/core-apps-server-internal", "@kbn/core-base-browser-internal": "link:bazel-bin/packages/core/base/core-base-browser-internal", "@kbn/core-base-browser-mocks": "link:bazel-bin/packages/core/base/core-base-browser-mocks", "@kbn/core-base-common": "link:bazel-bin/packages/core/base/core-base-common", diff --git a/packages/BUILD.bazel b/packages/BUILD.bazel index f01c019499c712..81aec2ac8a1ba1 100644 --- a/packages/BUILD.bazel +++ b/packages/BUILD.bazel @@ -28,6 +28,7 @@ filegroup( "//packages/core/application/core-application-common:build", "//packages/core/apps/core-apps-browser-internal:build", "//packages/core/apps/core-apps-browser-mocks:build", + "//packages/core/apps/core-apps-server-internal:build", "//packages/core/base/core-base-browser-internal:build", "//packages/core/base/core-base-browser-mocks:build", "//packages/core/base/core-base-common:build", @@ -386,6 +387,7 @@ filegroup( "//packages/core/application/core-application-common:build_types", "//packages/core/apps/core-apps-browser-internal:build_types", "//packages/core/apps/core-apps-browser-mocks:build_types", + "//packages/core/apps/core-apps-server-internal:build_types", "//packages/core/base/core-base-browser-internal:build_types", "//packages/core/base/core-base-browser-mocks:build_types", "//packages/core/base/core-base-common:build_types", diff --git a/packages/core/apps/core-apps-server-internal/BUILD.bazel b/packages/core/apps/core-apps-server-internal/BUILD.bazel new file mode 100644 index 00000000000000..adf8562deb1aa9 --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/BUILD.bazel @@ -0,0 +1,140 @@ +load("@npm//@bazel/typescript:index.bzl", "ts_config") +load("@build_bazel_rules_nodejs//:index.bzl", "js_library") +load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") + +PKG_DIRNAME = "core-apps-server-internal" +PKG_REQUIRE_NAME = "@kbn/core-apps-server-internal" + +SOURCE_FILES = glob( + [ + "**/*.ts", + "src/**/*.css", + "src/**/*.ttf", + "src/**/*.woff", + "src/**/*.woff2", + "src/**/*.ico", + "src/**/*.png", + "src/**/*.svg", + ], + exclude = [ + "**/*.config.js", + "**/*.mock.*", + "**/*.test.*", + "**/*.stories.*", + "**/__snapshots__/**", + "**/integration_tests/**", + "**/mocks/**", + "**/scripts/**", + "**/storybook/**", + "**/test_fixtures/**", + "**/test_helpers/**", + ], +) + +SRCS = SOURCE_FILES + +filegroup( + name = "srcs", + srcs = SRCS, +) + +NPM_MODULE_EXTRA_FILES = [ + "package.json", +] + +RUNTIME_DEPS = [ + "@npm//elastic-apm-node", + "@npm//lru-cache", + "@npm//mime-types", + "//packages/kbn-config", + "//packages/kbn-config-schema", + "//packages/kbn-utils", + "//packages/kbn-logging", + "//packages/kbn-ui-shared-deps-npm", + "//packages/kbn-ui-shared-deps-src", + "//packages/core/base/core-base-server-internal", + "//packages/core/lifecycle/core-lifecycle-server-internal", + "//packages/core/plugins/core-plugins-base-server-internal", +] + +TYPES_DEPS = [ + "@npm//elastic-apm-node", + "@npm//@types/node", + "@npm//@types/jest", + "@npm//@types/lru-cache", + "@npm//@types/mime-types", + "//packages/kbn-config:npm_module_types", + "//packages/kbn-config-schema:npm_module_types", + "//packages/kbn-ui-shared-deps-npm:npm_module_types", + "//packages/kbn-ui-shared-deps-src:npm_module_types", + "//packages/kbn-utils:npm_module_types", + "//packages/kbn-logging:npm_module_types", + "//packages/core/base/core-base-server-internal:npm_module_types", + "//packages/core/http/core-http-resources-server:npm_module_types", + "//packages/core/http/core-http-server:npm_module_types", + "//packages/core/lifecycle/core-lifecycle-server-internal:npm_module_types", + "//packages/core/plugins/core-plugins-base-server-internal:npm_module_types", +] + +jsts_transpiler( + name = "target_node", + srcs = SRCS, + build_pkg_name = package_name(), + additional_args = [ + "--copy-files", + "--quiet" + ], +) + +ts_config( + name = "tsconfig", + src = "tsconfig.json", + deps = [ + "//:tsconfig.base.json", + "//:tsconfig.bazel.json", + ], +) + +ts_project( + name = "tsc_types", + args = ['--pretty'], + srcs = SRCS, + deps = TYPES_DEPS, + declaration = True, + emit_declaration_only = True, + out_dir = "target_types", + tsconfig = ":tsconfig", +) + +js_library( + name = PKG_DIRNAME, + srcs = NPM_MODULE_EXTRA_FILES, + deps = RUNTIME_DEPS + [":target_node"], + package_name = PKG_REQUIRE_NAME, + visibility = ["//visibility:public"], +) + +js_library( + name = "npm_module_types", + srcs = NPM_MODULE_EXTRA_FILES, + deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], + package_name = PKG_REQUIRE_NAME, + visibility = ["//visibility:public"], +) + +pkg_npm( + name = "npm_module", + deps = [":" + PKG_DIRNAME], +) + +filegroup( + name = "build", + srcs = [":npm_module"], + visibility = ["//visibility:public"], +) + +pkg_npm( + name = "build_types", + deps = [":npm_module_types"], + visibility = ["//visibility:public"], +) diff --git a/packages/core/apps/core-apps-server-internal/README.md b/packages/core/apps/core-apps-server-internal/README.md new file mode 100644 index 00000000000000..979146f37207cb --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/README.md @@ -0,0 +1,3 @@ +# @kbn/core-apps-server-internal + +This package contains the internal types and implementation of Core's server-side `coreApps` service. diff --git a/packages/core/apps/core-apps-server-internal/index.ts b/packages/core/apps/core-apps-server-internal/index.ts new file mode 100644 index 00000000000000..7a28e9f9d2f872 --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/index.ts @@ -0,0 +1,15 @@ +/* + * 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 { CoreAppsService } from './src'; +export type { + InternalCoreAppsServiceRequestHandlerContext, + InternalCoreAppsServiceRouter, +} from './src'; +// only used by integration tests +export { FileHashCache, registerRouteForBundle } from './src'; diff --git a/src/core/server/core_app/index.ts b/packages/core/apps/core-apps-server-internal/jest.config.js similarity index 70% rename from src/core/server/core_app/index.ts rename to packages/core/apps/core-apps-server-internal/jest.config.js index e2846537bda65e..d52363b8a2c1ee 100644 --- a/src/core/server/core_app/index.ts +++ b/packages/core/apps/core-apps-server-internal/jest.config.js @@ -6,4 +6,8 @@ * Side Public License, v 1. */ -export { CoreApp } from './core_app'; +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../../../..', + roots: ['/packages/core/apps/core-apps-server-internal'], +}; diff --git a/packages/core/apps/core-apps-server-internal/kibana.jsonc b/packages/core/apps/core-apps-server-internal/kibana.jsonc new file mode 100644 index 00000000000000..976f82a69e7c91 --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-apps-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [], +} diff --git a/packages/core/apps/core-apps-server-internal/package.json b/packages/core/apps/core-apps-server-internal/package.json new file mode 100644 index 00000000000000..04c52e856bf2a3 --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/package.json @@ -0,0 +1,9 @@ +{ + "name": "@kbn/core-apps-server-internal", + "private": true, + "version": "1.0.0", + "main": "./target_node/index.js", + "author": "Kibana Core", + "license": "SSPL-1.0 OR Elastic License 2.0", + "types": "./target_types/index.d.ts" +} diff --git a/packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.distribution.ico b/packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.distribution.ico new file mode 100644 index 0000000000000000000000000000000000000000..b466b3b4f4eb3dada6c419d23a74439e7924579e GIT binary patch literal 15086 zcmche33MG*8OJ9rDz2>pwq$1BOWu2J(ITRC!!2{m$Hb^ z0tQ+|mI`|4K|Jk&B1=F@dt?&|($-j71d_C&P13%;@%O)Tr%tBx<}C^2oSVCR%l+>5 z-S7MEJjZEqCOZ4>>yWoO*G_YscR7yJ)@JLI9p@?9CX)+(!Y+<;HVAux1Br7SN$uvZ z6lUY`f94*0yr$^;#}#w_RmGh5FsY9ekT#MYEBW5<$&dFu?+xS8-+1xJ<#Mkt<@~u; zPRSdkGG&cnORP<>&7^txe16aIlA&2XrJQ>hvOHtu+g8kbHx=^UQ8V)S_Bc&o;xi;JVXGIq#o_kMCV99;H(06|@~=&Wi8#6qRz`0{S~*=FFKdZ>FCl4g25_ zcvcEI?}cfe_wFRTk@{Y)yBoZgn=$0Pi{SZ`El1~md#t{ym}`AsBm9%Ng+gHx{MM5y zrCjT$lkjHh(>>3H-_xO-?uJs{|9Y`F<&EN{IdAv<53nYSLbx~7p38l#nSMkAkMqQ* z;Cojz%Oj1Bv-BM+|5wxCYSUQPCz__^>3dH+{gcxfFsX*gMJ(5zvNAJ4)W3rzNhkw51x6(8Am=!`>Ylg*?%ZkvTm zhba9GeYIb`eX_3iLNiz|elvLRe~u*k^hr`Ar*hd@*yR3YdzWXiY3Fu>??#g<2G3K^t4A^)F$7wiE2LT%<4I%G$XU&@R zGTCd?pC!qL_%-+w;xx^cjqeuv5ySP`;Za|*kB~?EYmMwzwKJBz?ObmzwRxQpuJX3F z*1d$QF-Vt1G;y3p%i6=@CqJ%HTHzzd^`bBM{^x9cNyyJVHjSUP86OJA;4Re|NyDqB zZF(+OfKNYZQ)%kdJ?f!J;#j>J&L{J2409^AhrLSCd~Pnd(`#q=erp_7 zt*kw&GaB~e&8~*mWcvhU31bhT|8DF~`dTA9G>s?c=3FbwnzVI5-pQQJ1Hn5-`&08^ z@teO0xi*Ue~F4?ZTUS~yiC-nzyyL3#Hi0`3qm>>Ggj3LBj zYP2l=^z%@?bh^*MkKgx_w=Dfaet~>E)?%vo!Q0pYjm8G*l|^_uTlCx42#ui&-&CHF z{Zeh+!o6f{r_2~aqkYHm?H#){-d3y3etsQeR?PW^EL_$??-^BN2wAlC!r-s7`)s}V z!b7)ClU%aXvgnGQS2FV37(y0qGcer;@Yi{KxDk5AGOS#;)}U(vZ-9ODd=0#&z|!-Q zqnY?ObnA8Yr8l!W=X@&d7bBob}Tu1?O5?-ZZ_x)kBL|4-`n_!c%{18qwPYHiQA?5#1XHo+`Q%4 z^~NtcJq!0mfK5bx6U!jqD*LgP?uulX*5>Yu9{YxfTIOVb?d|PTkV$7kv4QBERLynIAp5!Xu2-_Z z7prdG4~hAhHNXaDEPbR+B;pPJ1IYY4&gkJ|d1DKLmLLcmCm41*Og>P_o4hyZG5N}% z_Z-2ygMk+19l`K0d8H%RUg;w53d)s^Fb~MfK~PTQ6r%Zur>jFbZx!dLn5diY9UB6U4)|7uQ1|*vC^qDO(~oRZ#XM)*xb?(hzV*G-SIA$L{;VZ~d23VLvcXuR z_!3um2Yr>3dMk|Y8$CC#R{zk?NB=FVg_j0rj(3HATUwlkyY66M`Ys|f9tO_Cx+~N8 z*V6|5g9YC`A&G14cGOAs_lD5-DR!EqueToFDgI?ieA!-h{F!@7{WtO+p6tiIpZ=Zp z35r9?cC+7%{s-QJs&`g7Q?lXFbE_5mPV%j{&N=)D{TTmS*>fI*Ygg zwoP)6N{<4QJ+3#r=Spqvd+O~ojtA}ejNwtecc=LXdK(1iA!N8EqO-B;5zgrM!Z@pU zp==lG`$stSfvIE%-`+cV0<+`TKH zxhDf>2ME0Rq+9JbyUTX~VgR?%F7qdWIJns?l@=$gsU&7u8i!zb_llzqFmxeK|cb%(^*>{PTqtnP8W?Hsrh zLaZUW3uOc7Z4~@pLbr+jpCUhbpD9yb9ieMq(`g`sCL}^wn~W4cv7k z-D}IKAJJLm9K&OxjW2HjZ`Ah?mVXPfuVmhct@}$D&n4CRjoOWF2*3UKQPfr|*LgzL zZKRXqxU`={|1apR9Qlp}zNOatg!T(~eUV=q=a*I1JV7_id6(a~t36kG+daV2$-i7m zTA}yPBrmn;ofY^hz0D@!_0;V*Hu5nB7{}_kog{k2OlZFoxZZbXOCM=XD9bmI{UX|} zF`4V>b`*}C=XIS`_Kd#Kl@6jG`Kaqyqib|maE|mIHbLh~b2o}<0~Kor4c8!kVr@0}`Px8;Ihc*rGf;GP5iSr2WWaC@Oeo@R0oontlz55NKyMGYJuU0m5 z7RI{!YTZX^Ji>Ph-rd6Zsj(X=e^N5Amv1Pxw)$ywYST9s==b};?brQP4X>GY)*`xR zrP~+FFGV*T#=bp@@)@+Avhj-jrpSq3ZhniifWG9H>n@kwsozLlDLXWUW~ZiL zSr7y{#T*}-U(h?6bh>Pt=zCN7 znTB`lwoU*w*r`_dG-_=?!Sq+Cl<)+ jC_O;iQ;u_L&T;1OCB*4Nj&t)i$9W=_Hq%zgJI?({R$ zBOFHM__QdBa~!AIQ8G?yR}{q>e_s|waj*XSq1vtu?@Jb$(4GMTPl}?r#BnTi1}l(! z`A}__(OwY8$b|L)kaz|nb1biGC`-Oj$3wMU^!ZwvkO?h>Q8_*VffbR@B04oi?s-uZ zHxJeJK7#XcicDz7fHj_i$WrcvE8KzD$+#q$(2f9$d{Y#~haR53^0%*2Aa*8nM}Ww) zo>*iP6tSm$c11FwJ783fC$P#c1HBdgG+9eqiO&Yta7BJP{#4>f<+f4aT7EheA@CsROdhGgA0-g%|Hhi;}*VXG^yxOIaZ{; zYT=To)#Wnww0b7A0U-0za@oFx3>K|g(304S)U$_bI~P2)PRN8NFe=CAATxKF-r$D! zCXgDH;~9u;Sdw{zfT{O&5zy7=7S=jCQb$i{T;xehZFQrSP_nAbV6E<%H}&g7wVhd>Q`CUb zSXjgiQIR@ILgS)dfyl1X$rY^6yvdqc1c1>8M_tgOF6C`3aYIyu)`%=!;PVwe?+ce? zRE`%6Ke89{l?zzt?$KP6qtGW%0~hayr)srN%B?_z{|J1)iOkhd$gF@2;YY?x)harN zWesWp)D@ZA*>+H{nY*}AmN>8Rc9{BDhE&I8cd&BU9ZznD_IaiwIEOjI9SLS-Vh2{fwITMY9;)rB@1NpLw!@Rnd17~Xx<%@5;Xa(> zfuYVJXtW+PkeD)MNK5$KUg1-R=IrvQbzae>3J(hPuq=lt&)EQ3QpzYO%zSIpUI>kP z43qDwbl!81YQj13Z-ZAfn3!QTYr-+Zk~@Vj3vCLlb^($WR8W&u4F=$PnC@*_godhN z3c$RQ8G#{%Y@wMzdb}cDeGCqGfe#C93Jg96NLo%0o2 z^Jf3qArK%^R{9JzJK~VG(59s(RKEvGAI<)AJ49inr3p=yW8MW!DN~9|w$LpAD@`dL zUXoN|goe98AxKJ@vGip^w+FR@=a|8X&XBaw6mhD6*4Y#gCf5YqBTPohq%L)aB%!I3 z4>=Yg2ZTa^G1w5Fo~(t=giaTf+fkyhNeq&NZmin~Twk06LRpyZt*F}}LTJNNNG(aC z$N`}|kR+otX;D2|%0g3w4w;1`m%F^p${8pt-Ah7K2&p1a7js4YTZSDdLfh;Zvc}K| zP5E!xI=cgTEhTHDr3g*A6(O6EP!>At&yK)w-Nf7u5keb&ke4EreIQV!cFbf8?G{w< z-#ZH(Bgh9Sw<>TBYL)Jng$9~}EYYBV0Cf?ANr?#~$ciUP=*A!9t2TBIIUw|lAo8pv zp{XTYyh!B$C=EIj+An(PLsNwI+VcW35w&wB6WTAtR_NcQK3MI`8Oh1^p{1MxE)pYXm7$W;^El{QSdI91*h>m6d6zf(eYm{MA!Cin+@ zUbRQ?ww5%PjK+ny35`A%Hv(PwOC0a;Jv)$l4T5vE<4ov*pcA26OiSvDV~|@NUq|A(2(2GFRu(dvSNs>d5ns{qMGe;8WSYamMi=`bFzCI+=;kh6w4C1!X7NZDi93*lL z{QswaLpoe1xer$+`_FP{j9VmEMb=0POET{;N}|)wZV+52xr>Qb`v^LMELC8j>7NZh zPjucRm(Xh_nMLNJ6wmd{I>BA|;n!#fo8bsHLpm{c-RUZ6B(#Ok>~&%kR*g%IG|w&k@Q-LTn9=Rp+lmGIP^)sq2a^+ZFqmwQ&zP=lX@tFj2}w{EyMx}J6P-1EB!%2<0RLHK&&?-gBjK%Tj>@+ zT(c0!E3}Tqn(CoB1xC{zHD)mdemO9-1Xe$;Sg^6&=B7#;)@^n+y&^O|#N^n2?vvaF zzl>@mQ!)k#WdJA-UNU2pTBcLHdTY_pM;X+m?R`09p-uivsJSRzk*%}?K$iQ)B=fDV zIV<7dq1s-8*c^+kzT>;i6s;FNG-DRG@|#clTK_OA$4i5}_cpgPXoh7C&+S9CC5dSH zd8{~R-$EO$SkH@jq8bv}Cm^u4A)nEzBB}L;X|4a__|#7pnjzCAA#aV!@x3A7{UeX1 zcm@=&1v7EAgO+Ti7~wnSj4gXRjL&YoKe~lBStqYMwFQxVX(lv{nM>x&Hu9%h^&hJ3 z1U@$f9GlY09NdKrYu*v$VtFWF_HR=GCGfhh73bR zt*Ke9>`N1XIA9~oox93OFiHKXNzSV+G-aK4frtD^z%(RsD%rz0WeGvXV?R;DS*P>oK&?dqwP2T@dxVM&)>6 zQTqAOSEd-{6?eo-Uah1iLT?h^70vl=C6-}D?5mWBt;upG{kOns_9j48;*7D9KHU=& zp_APejV0D*cf~O>W&f!6_FdYutd)qSke z1DTi1jmI0*?}RjN#(1ax%h8b9WWirtJ8WI{4%J{wX!+3tfi72LUP4E@cB-l?Z{@8eyUQ>h+-&HAo_USO@vOu<r~um&p+t`_wpOZk_p3@4@b!_YML`ry0nWJF@!}{8NNJ zIWk0!K?cpYg~h%%CrhmIH?>{NrW)QRlsM;_*sU{=wmY&_Yk?k?Hc?qWbao4cO z{%u_Qi`bs8$n-}CV%MqlA8k_WXq3oxv%bbA%UOVY0FMmWz~~8Wnf-H4W*utj22uW{ z0u)2KmO`CcXEj=}tV>ZbL!WECNkS`?V}fO>3DNF?wv?qr8*Lu~&TrCjc4GlQeZKGS zw~*zmcVx#1Od&o9MQC+V{vpoWYu{%s5Xmo?L@_o!@o>IVNPb;X?-d@71p;<%qr~3G zavYF^R(&}P9r{-Ye4;_y>|YFk3vtzPP*Uy6aFvWcHP$3yO0Lwh9py(~#8mrhxg%M8 ztB@_U{%&0ZNE=x$rMh;Ki#4H5epM8tu-uXCZL3flXaVFO9RtWF+{RG)=^J`0Fe;@O zyh)=)_OF-0kCs}WI+*wsm7C=fh6az7o+*rWTfc?I+PWQ8XlSYR(~hb2=-e#FAa_{l zgf=x_d9`KS2P`z!WFmPjwQkcOT;aN>y}NBd?ty(GG_(1N*RgGu*}py&*s!1lkZ+g) zWYSXzU{EQUa=qX1`~M^XLlr?~^<;kOrgqN`)+H@8nI!vpfhLNu@j+-=b+?<=^Hm8%AMtXgJCy^jva`z1i^z>=fTam zVUU^RN@qfAC)9Q~b558z0<-+L39CJl`|MxBeGrYSxHCf60I_Ebi=9m4lbB#Z4ih#t zxz(Q%iW45d1=9$s5rf7~Ud{w?`L!CA(sg==cHBk6aEU#g+$q}%pX&M?DQgUw^OmFoC1D#wN9hu0*3 zA|W2Msb!3H3%8W*&x;Y-uuUuL%yJ0XG4?_y?5G@XK<-J4K=t6v8xtfg^dLtrM*!-& zzl92NiQ`;oZexwJ7N5UErnpsnCGB!#cmx7*$`Y=%sjQFc5>`^3;9Z(XcEueUOSWFY zB?(Q{MrR8x1IjvAhlqmzx6pTeAaK)3?jjRRVFO>ev+5O!(AkHU0YzxGjtpWwkqc6w zPVlb1_i9uaapx=-kzJ0oKLRxHet<@H6@GsGiDREaD@@sgN9%Y;q`F=l3)YIa=7ey@;S zj&wkgB)UYF)MPbDLQ@wpnlW)Hz|=lB;2uKn91tV4As;Wchpf9z28@6( zS@-0|K?IngRDW85P-EG!q`Kam1%?;1(L0M?80U=zCKMgMvzsKGP zjU-D&yyRUjSmJ}xCCQs)r%gDcuuF>20DHu3h7pvD=514~MrKoYC95u?ZQ+&B@Si9v zeTEM78D<3cpW$XSwJXrE@-?X;#1CXPvewu46h}?uw%--Z5CtQ2!CyXin1VD| zQadKIB!bVL4BD&_$(FB%m#O7-IdJ7;&LFdzpJKX}lBmb81$7aFTId?oJVOnGv(&K6 zbH-HOr-@Nm_2wRXpFCy&+f1yIKrDpj&Zr&?sV&@$gY&N;*$!~(g zwuMAJ$bKm?7sVx_B6MLtt9s)*6D0|zHea}Ky|4l3w7x9@dDC(1kszckttS zTd8N^ViZ}%q!A^d3wu%*s1KR-=|&^)yJA}90xQxqlernu61uPp6m>)wc^?9{D_vRq zHY=ZbsEC@-h5d4@BRXQkB2QY#X`N?a4+YT^y0A+y9KtQ8mIe!MpfJo(7i?QtbRA35 zq7Uc=p=)57Hf_XgLWM2#b00paCX-EDYQPn&a<5c|(C8JRi*7E6j;hvGp{;gyOSDqU z%Z`<5MRqaTqj!X^fn6Im#pWigkbc*XCY)$31TIl>=_19Pt#U{7me9rXvVPT~_&he$ zTl{abRqlpf6S@Xc=2tzP3UKRdi~kUi1fgqy*wY?Z?AjvFQ%T#$f}{vt1FpyvM@%yj zHz4vNTVxp|NoXCYUaJpR0i+GQ%7sHm@`Tm_$!`K>LdxIXX_DX~yA*ygC_?W81V4xD scCN{B97|s9NqmpHs55~Bq9}_00e?uvBRsGQ9smFU07*qoM6N<$f<%wLlK=n! literal 0 HcmV?d00001 diff --git a/packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.distribution.svg b/packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.distribution.svg new file mode 100644 index 00000000000000..2d02461a0b8f96 --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.distribution.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.ico b/packages/core/apps/core-apps-server-internal/src/assets/favicons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7ac743a2d1fe4660ca6dd3675197f7c049b3326a GIT binary patch literal 15086 zcmeHO3zSt=89u{gS`iRPz&-n%bLZYWK(R6&y)$Qezbs2bGc9`()mm2e0JFLzEkUu6 z%#_GREDgvCA0*adK}|8{f|(-42Md{TgwaA~285ZB%bdP%Kkl4+xcA(1FN0)x*V?lm z|MTqg?|=XM-)AhV#;UcZPq$DftyT4w^*YP4l1bekV_A=4Yz%6`=f1$Qt^mSR;DE&X zBnrpnFQckre>1KGll%4VHH)4E{vW@;3$N3`qJ422#=b)45yZpwA8pgf~Lp66_=k2QrQuvQ$=0kRs> z;$60IJ;^rKRw=#B_;BivdH#@;i**>(pJU-4*8RVX4$yfC;j}@F9l_eTll@twjdoyFhs=u3fGvz}50`fQW&oz;9#k^2?+USsW-C2@OtrM<^z9~~qeJRKA&TbgO zJKFAsQU5)sO_=Z!B~#oL)IZYxJ@GJU_=B#0%T2g-u`c}Uy6(#$=dVVV z(VxDMuwVhsHN?xf?kmX!e)u9or|bP0?MpMRvor+D``ya*cWw&mL0<=7`l__&d=2Zc zqd*SUa}YP!1|Iacx0^Ap*#cVmZ1!xz;ZxrohM9il`WL=G!{RRXppS!)ZXTKGGWFPmzsHfoG4qy3uiR+2G&0Zfx6NEALPI>kZ;6I;G^27t! zBa%U!xNYwFnnx>Q@Sma0IPz2F=o5*=i-Eh2_$XV_=?O0{M^h)nX^4S-0erR3su*sA z=Fw&1pmKb|aL_ZxJBacSdDYd`O$g%@>#O+CSxFj{9g|%*RSYlX+HVJ(=RtX{A#TdC z=OSi!5%6nFyp8b#JdYOR5j6(7CnYW7KGspVMPN0cxeA5P(8V((aT;-!LEQ6E*y2_V z^Hppw&IWh{ae_bC(&vGfLphxB#Ak!Bs5Z=Q3}}vUFGtPyx;qNL6pZI4&~koz(vH0l z{C1(uXCm+0&H1VnJ;(8$&V+rbxEee#B+oQaH1Pi)p&V`dooEkCn>Ou*Q8cAsh+!^N z`bxd~(O!{ECYb(<{o@%9&&zd{b*9;AtC*L#y*0Xo>a*a5tJ9w&;X z9E|#4J^UIxxsEy+r_<-@wMJj_OgR2A>jAKK&+{gglR-FbRQq+TBYSQfnhJ16ARqBV z{R}C?in;p&6`Hk5%%_`#mXfMyW--4;cMb$>4P$KHE&6yCAG!2faXZI$py+4f}W zg&f+?qv+B?WTgJC*bs$REo|EO@gu>XYw_=u@X$F)?9bw!GIWgNdgz17;8g{NUA|Ax z&+<;cF){h9 zWjx=g?^|eBJac0FF%93#7_wSfK{|B?k}~&{*>i(rMcdRFbMdIwknD52xZ;1Vz z>vexyoHKDzL3$ARgtvhgW0NDpWs|f&IoFQ(E%a|Pg~G2L$+}@_m#Rna8O44XxxV~amZ_UM{SH58Sq;7Z0$KMD ziY)uN`Pl~6evQ9W){Fd>0rs2xPSj0)gWrqn7VG{l%W50U`Z=6}T6(g+kBmjHrRx4s zs?Gt<@f`3=)q`2UvkgA$!EBSCL+yK>pYu^K80`!e;V!lykxw@4CdA&UF9<62WDZRJG& zu$C6WZvIeA51B`zT_YYX2G?VV&-qQ7{MKb3?=TQIjg7#UAgq@UgNA#=gQzbqh0n7R z;D<7f{jDGl)+6%s@}BDvz`Ma`5!WZ`zmaFTGpEj>8~|-E+d`AK^Z8^CMOc7 z;`^9yqx~eFwF7#6HF)RCa~JLq?*KgV4wUN~exeO{doj-+56cYqwT}k8*9= z82IdtxPu&_ad?h<9J>AzxrHxiKgBhEFW{G!lT!+=_aNSBME$r|@2{&%ObH_?dsZ<` z7#63mnG`d@X8x7vg+9N~VFSJ&NCIi@m(lFynD+`X0t_%sCqx z*b&b(`{B25rJiOyTx0FN26)?~YX*_T7iIEvnJ-a?qlb2>Mr@vS{%GFIs0n#bC^4P|jjdVB`}8$4I8N1TgkkJy`L^ZbS9 z`37x)d`i)q@whehmwWWkJem25RZCiZF6S#%=Q(G!xm%O-Bk!DP%XSm}M&Q-s%*#1) zRtCp_Glo8Z{t&)$3HnLG)&CtitNG1~!N%%q`|R zF@t*0m*X9ukGZ=B{nbWBxTb!L8NmNN28OYT(0P-&dk;U8!80{vEH`b|>U$S;#%7;6 z^hSN}#D4h4xeSjn)`k2t<##SJ=U`yd~8AD+Rva~9u0y%4Vt;_%Pvp<9B}NJ|{+3Ta}iIor;8ngjQV*fxOoEe+Br@ z_4r`uABk&4>8WPwLqbB$_^*(T&4pf&kkIF=Bj5%BIa_acyk=CGdPlN?)91;=bsct} zKDm)BRE-Q1jP;E-8)$^a)OH>A)>;sKE9XT@P-rH{Q`szB-;_p z``IxbMF* zFP5)^Sl=UJxv^-H*8M!5&?BP-K$&+t{Rt?vcQ*QVh)+u5Did5XW6?GkE0*<|KC8Z& zJ@fWAo%GmQauo(C((X^_TaVC6^N!ff!)@ntPo_&?-yLlIi$|_oiSf}yKZ#5SS}K@d?4HC*>gT%0Y+4M96sLgd1FEJ z6mw@}?pXM7P!=nr06me5K0Ce+pY2yE-5Ud z^?Na?ddTl3$H69lxzmE}+CMocG;*plrzZo0o+XXk`=*tvGQH!XggecSK2;d}-8VOW z{DXVd>j=SuFSMWU;A4AI2MgXN3o99LG4Ts@;JSv!NWdAN`pRRFlu^N@L+b_eOxP#I zCh#loWC}R~_TB;y!#Qt%5V+?I!qfMprfWk#@yuK}QrNSLrY0hr8>|>L5_d3e>m@8W z3K*(jSR=2-X_hrYWCozl3KQTL3O15dS$q|NQUyTvP)ShA`oxrTH;J3gsVpT~phX9e z)(bqNLBS%mtt(i);mTuc_SjrkGTYKqzx}8HaQmx9Uo|l&6vP5ONCVQKq9Yv0PCQ)$ zkD$mBy=XqC+dE7@15w+(+82(Fr6haulVJdmRIp>VU#n)yFVNL@p3h*E@XnM(?kh_m zD!)us>;1%3*~&sUhLgfRqrhU*8mj`aHcvfI@sunRS>|RA0?=5=zvAK;Q_{DB^e0QC zwWFeOeRk##<$5)|bd{*4@8)QAVz~q%6;+f0h|(K1i=n=P@RC^r0a6=?HH}+`%_#Hq zYDqE8Cj`-^hOL}g`auVf+sVbA-z%gB5N?yNq4KhcBVQOlL^Xfo>NC1 zaf=3PcU6A)OgFIMjDu05Ry{B+cu@)8Cy&I;vIFj zhB$!??q1HIR;NLz!EZk3Oi=#7Olz&V7Tc^xdFKYISy|urYZ6T#jT+xtX~bVf`r#-m zr4W4%)@zuvO+5{n$Ir!%`tB+2J~K4kj~|&HYZEuIg+$|OFmaNzd$Sg>PFicKS!4I9 zyK9whuV}Ga_>SQQW4N9E@1yXJb;ngLB7P3-(Rgm6DR}7dGp5KyMgVNw{8cwN?hz7-3eP}Md{F(>Xt>1Vj~SNb2{W= z=5Jmxku9(q1rG%rs?(~ny1CMJ4GuUJ=1rSbHfhbVA_i9Or!hV;4U|nvq{7_I*4|ujoeCLjn}dY2UE7aCEsKf(May4 zpGkJ|BMK8Rt%%r+gHeDZl~Cd|UtANIkwiL0pTiiv-7c-9=CdCPPiPZUm2SpGf4C)l zTqkB@enacNe9+nUdH-L%KR=2;!$KQP)?)(95~i#-zVmWi-+hxi)O+WqI;PSWo-=>! z-!^I1#TEys@KW)YB5=B;8jtqT^;J-%&ve^%0;+^8Z#UdgYn>Fa2As||Q{SI{oV!d<$s z53e?eWgB8FdRGu96G!tY?Z+(i1#zJma4UyO!J@bp5`orGK|7{m;rC`G2ftaEzn z_~kb~k%nEvn_c(`kH`z>c$|M6f$ebzE90q*Uh~JFkN7c?Jr|=-22RO#)QgUcqAU_D ziS@o;e`%DDmhuOqTczqJ3GY^vdJWSN8asb<@B0F*`q8qJW+ZLg+Ed=z$-Q-kLND7?0pT2R^WJ4v!iXb^pcJpC7ISH-X77!32r(1YxWh75lJfAc z@+Y5eRvQbSJ%v6U#mJShmNR#k{mR#1Nyn3syLx^r$pOii)Wf`$&pCFjP&WonW2~y z1!m9uJ5T80P75bY;*_;0ErcY~Wk20@uv%H#yy{#?pkW#B0#}&eJv{x&#hm2Jc`IVA z4d%u%txCPl1xVDBG;ZoLalc>5X8XGd4#70P9c(hd3 zz7-%{b|}d#r#M6Spihk7D%B>iFq%iDeV)Ux3jCJjd0`O=gwV>yjywI5d5O=Vp7aV! z!Nr<`ly|#82c^_y7}cG0<(FChh?RMI5iDL&a%sgPVJa!abjqcA=uZxq0j{HmMVtIR za7d+plxy4dYl>uFhvx-2WSGPMS=)%PNMBF=ls_8bt1o67_zjwT(>B%jQ4Gm`ot-}D zO{nu6?1gWDguuI%0-4FfXuqSgXz?HYV_Ftqo>QItN=6BuDlNlfm~7f)WnXM|=J~T} z8z#>>)CfPEt7I@ADd)Zv*R*dhWq3LgPO?7>gnT$AS6g;K3;eAJQaxwjX-K!zG_ zyQ7rGy>Ct8SB>Gzoil=&^TnbuzWgD=!&ZlQyt~8{e+`)%c0NNW!ho1EsG*Re7__X*@L40;c8$&Maw-dFHTO=m$EnVZ#mSK=w?uGJLL-^h)RahxQO@k zaB9On>XQK})V+23J8U{LQN}qV%+w+V5kRw2Dh9kR=>J>a!7{&B0{j<)j;g5m&#pRL zeqooB)DAk-qOI`>wq7{GaQrCkF`z3s*lU0_C@=eKj%8UP3XK?(*FZe zbB4KY&(=O1)jZTk4QJKQ1mt8qR}OK+I}cz@8^LQFvVK8^qMq#HXB)Zr!ls6T<+Kmq z*WYBO-b6`pSv_&G%VyUm53&*ohv^hnurG~B@FVoQV@X8Z?1;#}O>90j1W$Jw247KJ z1S+OrwUI+H_;0~1ZK`t`kD%EEuw9NrTb-3wj4)NP3o2~c8|ohH5-Ef_q7VFEG2uD= zBG+}#-Cnby&!kOC~yk5$Mq9@+{1+_7>5J~ydp>GUW!NFTT$U}c)9HU$1LXX%j_5$ zvuHcT@2sK@gnO{siF~|X=g9$aqEMn4{+2nu49Aj5&(ct6;;%e(jj@GO6O+m)4B-XtV`m6`6ln zS>yEU5QnzI2kmR7as2vkue*V7Cg3Go5Pn!d7Ue%s+FX4$VlsI`FzrsYWxT?S$|v@#__{ot9NB$Zoej@2*(z2 zr4JyencNF5o}(*ZUUvAf@bA`&tiLl02Rh1%vt4ZTmp0G_NpowNg}Ac5&4QG^O%j88 zJB+Ga>KuRXoUSBD%23PbtYCoc>#DU*_t(bTE|J*F_R=E}?yP&bR%MJn3!!$VHwVxH z|Mm{^YF z$tPjWs8gnDnL>d|N}lvAKnwJX;#>Bi#idkydScf~x9!DJMXjJ7(dpw_c4}W|c2S9u zb(R=Y=t=oZ2R|i;65uJf*38_W4cC%Z3JXhCr=aal? + + + \ No newline at end of file diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Black.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Black.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Black.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Black.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Black.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Black.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Black.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Black.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-BlackItalic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-BlackItalic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-BlackItalic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-BlackItalic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-BlackItalic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-BlackItalic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-BlackItalic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-BlackItalic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Bold.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Bold.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Bold.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Bold.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Bold.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Bold.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Bold.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Bold.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-BoldItalic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-BoldItalic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-BoldItalic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-BoldItalic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-BoldItalic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-BoldItalic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-BoldItalic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-BoldItalic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ExtraBold.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraBold.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ExtraBold.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraBold.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ExtraBold.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraBold.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ExtraBold.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraBold.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ExtraBoldItalic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraBoldItalic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ExtraBoldItalic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraBoldItalic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraBoldItalic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ExtraLight.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraLight.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ExtraLight.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraLight.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ExtraLight.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraLight.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ExtraLight.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraLight.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ExtraLightItalic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraLightItalic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ExtraLightItalic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraLightItalic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ExtraLightItalic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraLightItalic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ExtraLightItalic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ExtraLightItalic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Italic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Italic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Italic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Italic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Italic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Italic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Italic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Italic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Light.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Light.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Light.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Light.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Light.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Light.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Light.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Light.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-LightItalic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-LightItalic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-LightItalic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-LightItalic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-LightItalic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-LightItalic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-LightItalic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-LightItalic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Medium.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Medium.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Medium.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Medium.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Medium.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Medium.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Medium.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Medium.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-MediumItalic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-MediumItalic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-MediumItalic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-MediumItalic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-MediumItalic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-MediumItalic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-MediumItalic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-MediumItalic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Regular.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Regular.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Regular.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Regular.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Regular.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Regular.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Regular.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Regular.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-SemiBold.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-SemiBold.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-SemiBold.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-SemiBold.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-SemiBold.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-SemiBold.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-SemiBold.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-SemiBold.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-SemiBoldItalic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-SemiBoldItalic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-SemiBoldItalic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-SemiBoldItalic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-SemiBoldItalic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-SemiBoldItalic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-SemiBoldItalic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-SemiBoldItalic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Thin.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Thin.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Thin.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Thin.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-Thin.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Thin.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-Thin.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-Thin.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ThinItalic.woff b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ThinItalic.woff similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ThinItalic.woff rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ThinItalic.woff diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-ThinItalic.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ThinItalic.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-ThinItalic.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-ThinItalic.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-italic.var.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-italic.var.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-italic.var.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-italic.var.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter-roman.var.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-roman.var.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter-roman.var.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter-roman.var.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/Inter.var.woff2 b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter.var.woff2 similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/Inter.var.woff2 rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/Inter.var.woff2 diff --git a/src/core/server/core_app/assets/fonts/inter/LICENSE.txt b/packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/LICENSE.txt similarity index 100% rename from src/core/server/core_app/assets/fonts/inter/LICENSE.txt rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/inter/LICENSE.txt diff --git a/src/core/server/core_app/assets/fonts/readme.md b/packages/core/apps/core-apps-server-internal/src/assets/fonts/readme.md similarity index 100% rename from src/core/server/core_app/assets/fonts/readme.md rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/readme.md diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/LICENSE.txt b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/LICENSE.txt similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/LICENSE.txt rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/LICENSE.txt diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Bold.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Bold.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Bold.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Bold.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-BoldItalic.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-BoldItalic.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-BoldItalic.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-BoldItalic.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Italic.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Italic.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Italic.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Italic.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Light.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Light.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Light.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Light.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-LightItalic.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-LightItalic.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-LightItalic.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-LightItalic.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Medium.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Medium.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Medium.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Medium.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-MediumItalic.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-MediumItalic.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-MediumItalic.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-MediumItalic.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Regular.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Regular.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Regular.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Regular.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Thin.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Thin.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-Thin.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-Thin.ttf diff --git a/src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-ThinItalic.ttf b/packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-ThinItalic.ttf similarity index 100% rename from src/core/server/core_app/assets/fonts/roboto_mono/RobotoMono-ThinItalic.ttf rename to packages/core/apps/core-apps-server-internal/src/assets/fonts/roboto_mono/RobotoMono-ThinItalic.ttf diff --git a/src/core/server/core_app/assets/legacy_dark_theme.css b/packages/core/apps/core-apps-server-internal/src/assets/legacy_dark_theme.css similarity index 100% rename from src/core/server/core_app/assets/legacy_dark_theme.css rename to packages/core/apps/core-apps-server-internal/src/assets/legacy_dark_theme.css diff --git a/src/core/server/core_app/assets/legacy_dark_theme.min.css b/packages/core/apps/core-apps-server-internal/src/assets/legacy_dark_theme.min.css similarity index 100% rename from src/core/server/core_app/assets/legacy_dark_theme.min.css rename to packages/core/apps/core-apps-server-internal/src/assets/legacy_dark_theme.min.css diff --git a/packages/core/apps/core-apps-server-internal/src/assets/legacy_light_theme.css b/packages/core/apps/core-apps-server-internal/src/assets/legacy_light_theme.css new file mode 100644 index 00000000000000..c5c639f60e3be5 --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/src/assets/legacy_light_theme.css @@ -0,0 +1,4419 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/* @notice + * This product bundles bootstrap@3.3.6 which is available under a + * "MIT" license. + * + * The MIT License (MIT) + * + * Copyright (c) 2011-2015 Twitter, Inc + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +.row { + margin-left: -15px; + margin-right: -15px; +} +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; + font-size: 14px; +} +.table thead { + font-size: 12px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #D3DAE6; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 1px solid #D3DAE6; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #D3DAE6; +} +.table .table { + background-color: #FFF; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; + font-size: 12px; +} +.table-bordered { + border: 1px solid #D3DAE6; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #D3DAE6; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #D3DAE6; +} +.table-hover > tbody > tr:hover { + background-color: #D3DAE6; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #D3DAE6; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #c3ccdd; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #017D73; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #01645c; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #006BB4; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #005c9b; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #F5A700; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #dc9600; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #BD271E; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #a7221b; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #D3DAE6; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 5px 15px; + font-size: 14px; + line-height: 1.42857143; + color: #343741; + background-color: #fafbfd; + background-image: none; + border: 1px solid #D3DAE6; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #006BB4; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0, 107, 180, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0, 107, 180, 0.6); +} +.form-control::-moz-placeholder { + color: #98A2B3; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #98A2B3; +} +.form-control::-webkit-input-placeholder { + color: #98A2B3; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #D3DAE6; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +.form-group:not(:empty) { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 6px; + padding-bottom: 6px; + margin-bottom: 0; + min-height: 34px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 32px; + padding: 6px 9px; + font-size: 12px; + line-height: 1.5; + border-radius: 4px; +} +select.input-sm { + height: 32px; + line-height: 32px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 32px; + padding: 6px 9px; + font-size: 12px; + line-height: 1.5; + border-radius: 4px; +} +.form-group-sm select.form-control { + height: 32px; + line-height: 32px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 32px; + min-height: 32px; + padding: 7px 9px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 62px; + padding: 18px 27px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 4px; +} +select.input-lg { + height: 62px; + line-height: 62px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 62px; + padding: 18px 27px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 4px; +} +.form-group-lg select.form-control { + height: 62px; + line-height: 62px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 62px; + min-height: 38px; + padding: 19px 27px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 62px; + height: 62px; + line-height: 62px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 32px; + height: 32px; + line-height: 32px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #FFF; +} +.has-success .form-control { + border-color: #FFF; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-success .input-group-addon { + color: #FFF; + border-color: #FFF; + background-color: #017D73; +} +.has-success .form-control-feedback { + color: #FFF; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #FFF; +} +.has-warning .form-control { + border-color: #FFF; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-warning .input-group-addon { + color: #FFF; + border-color: #FFF; + background-color: #F5A700; +} +.has-warning .form-control-feedback { + color: #FFF; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #FFF; +} +.has-error .form-control { + border-color: #FFF; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #e6e6e6; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; +} +.has-error .input-group-addon { + color: #FFF; + border-color: #FFF; + background-color: #BD271E; +} +.has-error .form-control-feedback { + color: #FFF; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #6d7388; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 6px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 26px; +} +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 6px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 19px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 7px; + font-size: 12px; + } +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-muted { + color: #b2bac6; +} +.text-primary { + color: #343741; +} +a.text-primary:hover, +a.text-primary:focus { + color: #1d1f25; +} +.text-success { + color: #FFF; +} +a.text-success:hover, +a.text-success:focus { + color: #e6e6e6; +} +.text-info { + color: #FFF; +} +a.text-info:hover, +a.text-info:focus { + color: #e6e6e6; +} +.text-warning { + color: #FFF; +} +a.text-warning:hover, +a.text-warning:focus { + color: #e6e6e6; +} +.text-danger { + color: #FFF; +} +a.text-danger:hover, +a.text-danger:focus { + color: #e6e6e6; +} +.bg-info { + background-color: #006BB4; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #004d81; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +@media (min-width: 0) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +/** + * ui/angular-ui-select depends upon these styles. Don't use them in your markup. + * Please use the UI Framework styles instead. + */ +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 5px 15px; + font-size: 14px; + line-height: 1.42857143; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + box-shadow: 0 0 0 1px white, 0 0 0 2px #0079a5; + /* 3 */ +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #FFF; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #FFF; + background-color: #006BB4; + border-color: #006BB4; +} +.btn-default:focus, +.btn-default.focus { + color: #FFF; + background-color: #004d81; + border-color: #001f35; +} +.btn-default:hover { + color: #FFF; + background-color: #004d81; + border-color: #004777; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #FFF; + background-color: #004d81; + border-color: #004777; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #FFF; + background-color: #00375d; + border-color: #001f35; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #006BB4; + border-color: #006BB4; +} +.btn-default .badge { + color: #006BB4; + background-color: #FFF; +} +.btn-primary { + color: #FFF; + background-color: #006BB4; + border-color: #006BB4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #FFF; + background-color: #004d81; + border-color: #001f35; +} +.btn-primary:hover { + color: #FFF; + background-color: #004d81; + border-color: #004777; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #FFF; + background-color: #004d81; + border-color: #004777; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #FFF; + background-color: #00375d; + border-color: #001f35; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #006BB4; + border-color: #006BB4; +} +.btn-primary .badge { + color: #006BB4; + background-color: #FFF; +} +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 4px; +} +.navbar { + position: relative; + min-height: 45px; + margin-bottom: 0px; + border: 1px solid transparent; +} +@media (min-width: 0) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 0) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 10px; + padding-left: 10px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 0) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -10px; + margin-left: -10px; +} +@media (min-width: 0) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1050; +} +@media (min-width: 0) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 12.5px 10px; + font-size: 18px; + line-height: 20px; + height: 45px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 0) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -10px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 10px; + padding: 9px 10px; + margin-top: 5.5px; + margin-bottom: 5.5px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 0) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 6.25px -10px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: -1) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 0) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 12.5px; + padding-bottom: 12.5px; + } +} +.navbar-form { + margin-left: -10px; + margin-right: -10px; + padding: 10px 10px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 6.5px; + margin-bottom: 6.5px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: -1) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 0) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-text { + margin-top: 12.5px; + margin-bottom: 12.5px; +} +@media (min-width: 0) { + .navbar-text { + float: left; + margin-left: 10px; + margin-right: 10px; + } +} +@media (min-width: 0) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -10px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #F5F7FA; + border-color: transparent; +} +.navbar-default .navbar-brand { + color: #69707D; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #69707D; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #69707D; +} +.navbar-default .navbar-nav > li > a { + color: #69707D; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #69707D; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #343741; + background-color: transparent; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #69707D; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #d3dce9; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #d3dce9; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #FFF; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: transparent; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: transparent; + color: #343741; +} +@media (max-width: -1) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #69707D; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #69707D; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #343741; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #69707D; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #69707D; +} +.navbar-default .navbar-link:hover { + color: #69707D; +} +.navbar-inverse { + background-color: #343741; + border-color: #1d1f25; +} +.navbar-inverse .navbar-brand { + color: #FFF; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #FFF; + background-color: #4b4f5d; +} +.navbar-inverse .navbar-text { + color: #FFF; +} +.navbar-inverse .navbar-nav > li > a { + color: #D3DAE6; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #FFF; + background-color: #61677a; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #FFF; + background-color: #69707D; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #b2bac6; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #1d1f25; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #1d1f25; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #FFF; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #24262d; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #69707D; + color: #FFF; +} +@media (max-width: -1) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #1d1f25; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #1d1f25; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #D3DAE6; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #FFF; + background-color: #61677a; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #FFF; + background-color: #69707D; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #b2bac6; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #D3DAE6; +} +.navbar-inverse .navbar-link:hover { + color: #FFF; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: none; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1070; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #FFF; + border: 1px solid #98A2B3; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 4px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1060; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #b8bec8; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #FFF; + text-align: center; + background-color: #54B399; + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #017D73; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #006BB4; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #F5A700; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #BD271E; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #FFF; + border: 1px solid #D3DAE6; +} +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item--noBorder { + border-top: 0; +} +a.list-group-item, +button.list-group-item { + color: #69707D; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #343741; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #69707D; + background-color: #F5F7FA; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #D3DAE6; + color: #b2bac6; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #b2bac6; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #343741; + background-color: #343741; + border-color: #343741; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #969bab; +} +.list-group-item-success { + color: #FFF; + background-color: #017D73; +} +a.list-group-item-success, +button.list-group-item-success { + color: #FFF; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #FFF; + background-color: #01645c; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #FFF; + border-color: #FFF; +} +.list-group-item-info { + color: #FFF; + background-color: #006BB4; +} +a.list-group-item-info, +button.list-group-item-info { + color: #FFF; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #FFF; + background-color: #005c9b; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #FFF; + border-color: #FFF; +} +.list-group-item-warning { + color: #FFF; + background-color: #F5A700; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #FFF; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #FFF; + background-color: #dc9600; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #FFF; + border-color: #FFF; +} +.list-group-item-danger { + color: #FFF; + background-color: #BD271E; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #FFF; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #FFF; + background-color: #a7221b; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #FFF; + border-color: #FFF; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #D3DAE6; +} +.nav > li.disabled > a { + color: #b2bac6; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #b2bac6; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #D3DAE6; + border-color: #006BB4; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #D3DAE6; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #D3DAE6; + background-color: #FFF; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #343741; + background-color: #FFF; + border: 1px solid #D3DAE6; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #FFF; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #FFF; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #FFF; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #FFF; + background-color: #006BB4; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #FFF; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #FFF; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #FFF; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #017D73; + border-color: #014a44; + color: #FFF; +} +.alert-success hr { + border-top-color: #00312d; +} +.alert-success .alert-link { + color: #e6e6e6; +} +.alert-info { + background-color: #006BB4; + border-color: #004d81; + color: #FFF; +} +.alert-info hr { + border-top-color: #003e68; +} +.alert-info .alert-link { + color: #e6e6e6; +} +.alert-warning { + background-color: #F5A700; + border-color: #c28400; + color: #FFF; +} +.alert-warning hr { + border-top-color: #a97300; +} +.alert-warning .alert-link { + color: #e6e6e6; +} +.alert-danger { + background-color: #BD271E; + border-color: #911e17; + color: #FFF; +} +.alert-danger hr { + border-top-color: #7b1914; +} +.alert-danger .alert-link { + color: #e6e6e6; +} +.bsTooltip { + position: absolute; + z-index: 1040; + display: block; + font-family: 'Open Sans', Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.bsTooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} +.bsTooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.bsTooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.bsTooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.bsTooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.bsTooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} +.bsTooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.bsTooltip.top .bsTooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.bsTooltip.top-left .bsTooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.bsTooltip.top-right .bsTooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.bsTooltip.right .bsTooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.bsTooltip.left .bsTooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.bsTooltip.bottom .bsTooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.bsTooltip.bottom-left .bsTooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.bsTooltip.bottom-right .bsTooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #FFF; + border: 1px solid #D3DAE6; + border-radius: 4px; + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #D3DAE6; +} +.dropdown-menu > li > a, +.dropdown-menu > li > button { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #7b7b7b; + white-space: nowrap; +} +.dropdown-menu > li > button { + appearance: none; + background: none; + border: none; + width: 100%; + text-align: left; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > button:hover, +.dropdown-menu > li > a:focus, +.dropdown-menu > li > button:focus { + text-decoration: none; + color: #FFF; + background-color: #343741; +} +.dropdown-menu > .active > button, +.dropdown-menu > .active > a, +.dropdown-menu > .active > button:hover, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > button:focus, +.dropdown-menu > .active > a:focus { + color: #FFF; + text-decoration: none; + outline: 0; + background-color: #343741; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #98A2B3; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #98A2B3; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 0) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon { + height: 62px; + padding: 18px 27px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 4px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon { + height: 62px; + line-height: 62px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon { + height: 32px; + padding: 6px 9px; + font-size: 12px; + line-height: 1.5; + border-radius: 4px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon { + height: 32px; + line-height: 32px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon { + height: auto; +} +.input-group-addon, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 5px 15px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #343741; + text-align: center; + background-color: #D3DAE6; + border: 1px solid #D3DAE6; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 6px 9px; + font-size: 12px; + border-radius: 4px; +} +.input-group-addon.input-lg { + padding: 18px 27px; + font-size: 18px; + border-radius: 4px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 5px 15px; + line-height: 1.42857143; + text-decoration: none; + color: #006BB4; + background-color: transparent; + border: 1px solid transparent; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #006BB4; + background-color: rgba(0, 0, 0, 0); + border-color: transparent; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #343741; + background-color: rgba(0, 0, 0, 0); + border-color: transparent; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #343741; + background-color: rgba(38, 38, 38, 0); + border-color: transparent; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 18px 27px; + font-size: 18px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 6px 9px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pager { + padding-left: 0; + margin: 20px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: rgba(0, 0, 0, 0); +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #FFF; + background-color: transparent; + cursor: not-allowed; +} +.label { + display: inline; + padding: 0.2em 0.6em 0.3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #FFF; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25em; +} +a.label:hover, +a.label:focus { + color: #FFF; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.label-default { + background-color: #006BB4; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #004d81; +} +.label-primary { + background-color: #343741; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #1d1f25; +} +.label-success { + background-color: #017D73; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #014a44; +} +.label-info { + background-color: #006BB4; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #004d81; +} +.label-warning { + background-color: #F5A700; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #c28400; +} +.label-danger { + background-color: #BD271E; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #911e17; +} +.panel { + margin-bottom: 20px; + background-color: #FFF; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #F5F7FA; + border-top: 1px solid #D3DAE6; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #D3DAE6; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #D3DAE6; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #D3DAE6; +} +.panel-default { + border-color: #D3DAE6; +} +.panel-default > .panel-heading { + color: #7b7b7b; + background-color: #F5F7FA; + border-color: #D3DAE6; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #D3DAE6; +} +.panel-default > .panel-heading .badge { + color: #F5F7FA; + background-color: #7b7b7b; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #D3DAE6; +} +.panel-primary { + border-color: #343741; +} +.panel-primary > .panel-heading { + color: #FFF; + background-color: #343741; + border-color: #343741; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #343741; +} +.panel-primary > .panel-heading .badge { + color: #343741; + background-color: #FFF; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #343741; +} +.panel-success { + border-color: #014a44; +} +.panel-success > .panel-heading { + color: #FFF; + background-color: #017D73; + border-color: #014a44; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #014a44; +} +.panel-success > .panel-heading .badge { + color: #017D73; + background-color: #FFF; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #014a44; +} +.panel-info { + border-color: #004d81; +} +.panel-info > .panel-heading { + color: #FFF; + background-color: #006BB4; + border-color: #004d81; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #004d81; +} +.panel-info > .panel-heading .badge { + color: #006BB4; + background-color: #FFF; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #004d81; +} +.panel-warning { + border-color: #c28400; +} +.panel-warning > .panel-heading { + color: #FFF; + background-color: #F5A700; + border-color: #c28400; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #c28400; +} +.panel-warning > .panel-heading .badge { + color: #F5A700; + background-color: #FFF; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #c28400; +} +.panel-danger { + border-color: #911e17; +} +.panel-danger > .panel-heading { + color: #FFF; + background-color: #BD271E; + border-color: #911e17; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #911e17; +} +.panel-danger > .panel-heading .badge { + color: #BD271E; + background-color: #FFF; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #911e17; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + font-family: 'Open Sans', Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 14px; + background-color: #FFF; + background-clip: padding-box; + border: 1px solid #D3DAE6; + border-radius: 4px; + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 3px 3px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #92a3c1; + border-top-color: #d3dae6; + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #FFF; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #92a3c1; + border-right-color: #d3dae6; +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #FFF; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #92a3c1; + border-bottom-color: #d3dae6; + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #FFF; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #92a3c1; + border-left-color: #d3dae6; +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #FFF; + bottom: -10px; +} +.clearfix:before, +.clearfix:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.nav:before, +.nav:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after { + content: " "; + display: table; +} +.clearfix:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.dl-horizontal dd:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.modal-header:after, +.modal-footer:after, +.nav:after, +.pager:after, +.panel-body:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +.navbar > .container-fluid > .navbar-nav:not(.pull-right):first-child, +.navbar > .container-fluid > .navbar-form:not(.pull-right):first-child { + margin-left: -15px; + margin-top: 4px; +} +.navbar { + border-width: 0; +} +.navbar-btn-link { + margin: 0; + border-radius: 0; +} +@media (max-width: 768px) { + .navbar-btn-link { + width: 100%; + text-align: left; + } +} +.navbar-default .badge { + background-color: #FFF; + color: #F5F7FA; +} +.navbar-inverse .kbnGlobalNav__logoBrand { + height: 45px; + width: 252px; + background-color: #4b4f5d; +} +.navbar-inverse .kbnGlobalNav__smallLogoBrand { + height: 45px; + width: 45px; + background-color: #4b4f5d; +} +.navbar-inverse .badge { + background-color: #FFF; + color: #4b4f5d; +} +.navbar-brand { + cursor: default; + font-size: 1.8em; + user-select: none; +} +.navbar-nav { + font-size: 12px; +} +.navbar-nav > .active > a { + border-bottom-color: #7b7b7b; + background-color: transparent; +} +.navbar-toggle { + margin-top: 4px; +} +.text-primary, +.text-primary:hover { + color: #343741; +} +.text-success, +.text-success:hover { + color: #017D73; +} +.text-danger, +.text-danger:hover { + color: #BD271E; +} +.text-warning, +.text-warning:hover { + color: #F5A700; +} +.text-info, +.text-info:hover { + color: #006BB4; +} +table .success, +.table .success, +table .warning, +.table .warning, +table .danger, +.table .danger, +table .info, +.table .info { + color: #FFF; +} +table .success a, +.table .success a, +table .warning a, +.table .warning a, +table .danger a, +.table .danger a, +table .info a, +.table .info a { + color: #FFF; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #D3DAE6; +} +.form-control, +input { + border-width: 1px; + -webkit-box-shadow: none; + box-shadow: none; +} +.form-control:focus, +input:focus { + -webkit-box-shadow: none; + box-shadow: none; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning .form-control-feedback { + color: #F5A700; +} +.has-warning .form-control, +.has-warning .form-control:focus { + border: 1px solid; + border-color: #F5A700; +} +.has-warning .input-group-addon { + border-color: #F5A700; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error .form-control-feedback { + color: #BD271E; +} +.has-error .form-control, +.has-error .form-control:focus { + border: 1px solid; + border-color: #BD271E; +} +.has-error .input-group-addon { + border-color: #BD271E; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success .form-control-feedback { + color: #017D73; +} +.has-success .form-control, +.has-success .form-control:focus { + border: solid #017D73; +} +.has-success .input-group-addon { + border-color: #017D73; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + border-color: transparent; +} +.pager a, +.pager a:hover { + color: #FFF; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + background-color: rgba(38, 38, 38, 0); +} +.panel { + border-radius: 0; + -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + box-shadow: 0 0 0 rgba(0, 0, 0, 0); +} +.progress { + -webkit-box-shadow: none; + box-shadow: none; +} +.progress .progress-bar { + font-size: 10px; + line-height: 10px; +} +.well { + -webkit-box-shadow: none; + box-shadow: none; +} diff --git a/src/core/server/core_app/assets/legacy_light_theme.min.css b/packages/core/apps/core-apps-server-internal/src/assets/legacy_light_theme.min.css similarity index 100% rename from src/core/server/core_app/assets/legacy_light_theme.min.css rename to packages/core/apps/core-apps-server-internal/src/assets/legacy_light_theme.min.css diff --git a/src/core/server/core_app/bundle_routes/bundle_route.test.mocks.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/bundle_route.test.mocks.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/bundle_route.test.mocks.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/bundle_route.test.mocks.ts diff --git a/src/core/server/core_app/bundle_routes/bundle_route.test.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/bundle_route.test.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/bundle_route.test.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/bundle_route.test.ts diff --git a/src/core/server/core_app/bundle_routes/bundles_route.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/bundles_route.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts diff --git a/src/core/server/core_app/bundle_routes/dynamic_asset_response.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/dynamic_asset_response.ts similarity index 98% rename from src/core/server/core_app/bundle_routes/dynamic_asset_response.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/dynamic_asset_response.ts index 5287ff483f7ab6..219beced6ca65c 100644 --- a/src/core/server/core_app/bundle_routes/dynamic_asset_response.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/dynamic_asset_response.ts @@ -13,7 +13,7 @@ import agent from 'elastic-apm-node'; import type { RequestHandler } from '@kbn/core-http-server'; import { fstat, close } from './fs'; -import { IFileHashCache } from './file_hash_cache'; +import type { IFileHashCache } from './file_hash_cache'; import { getFileHash } from './file_hash'; import { selectCompressedFile } from './select_compressed_file'; diff --git a/src/core/server/core_app/bundle_routes/file_hash.test.mocks.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash.test.mocks.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/file_hash.test.mocks.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash.test.mocks.ts diff --git a/src/core/server/core_app/bundle_routes/file_hash.test.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash.test.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/file_hash.test.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash.test.ts diff --git a/src/core/server/core_app/bundle_routes/file_hash.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash.ts similarity index 94% rename from src/core/server/core_app/bundle_routes/file_hash.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash.ts index e3098732549998..da3c85edb377e4 100644 --- a/src/core/server/core_app/bundle_routes/file_hash.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash.ts @@ -8,7 +8,7 @@ import type { Stats } from 'fs'; import { generateFileHash, getFileCacheKey } from './utils'; -import { IFileHashCache } from './file_hash_cache'; +import type { IFileHashCache } from './file_hash_cache'; /** * Get the hash of a file via a file descriptor diff --git a/src/core/server/core_app/bundle_routes/file_hash_cache.test.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash_cache.test.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/file_hash_cache.test.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash_cache.test.ts diff --git a/src/core/server/core_app/bundle_routes/file_hash_cache.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash_cache.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/file_hash_cache.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/file_hash_cache.ts diff --git a/src/core/server/core_app/bundle_routes/fs.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/fs.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/fs.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/fs.ts diff --git a/src/core/server/core_app/bundle_routes/index.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/index.ts similarity index 76% rename from src/core/server/core_app/bundle_routes/index.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/index.ts index 5b2374a74356a7..1877d85f834091 100644 --- a/src/core/server/core_app/bundle_routes/index.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/index.ts @@ -7,3 +7,5 @@ */ export { registerBundleRoutes } from './register_bundle_routes'; +export { type IFileHashCache, FileHashCache } from './file_hash_cache'; +export { registerRouteForBundle } from './bundles_route'; diff --git a/src/core/server/core_app/bundle_routes/register_bundle_routes.test.mocks.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.mocks.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/register_bundle_routes.test.mocks.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.mocks.ts diff --git a/src/core/server/core_app/bundle_routes/register_bundle_routes.test.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts similarity index 98% rename from src/core/server/core_app/bundle_routes/register_bundle_routes.test.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts index f816a85404f7ad..6ec56031373408 100644 --- a/src/core/server/core_app/bundle_routes/register_bundle_routes.test.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts @@ -8,7 +8,7 @@ import { registerRouteForBundleMock } from './register_bundle_routes.test.mocks'; -import { PackageInfo } from '@kbn/config'; +import type { PackageInfo } from '@kbn/config'; import { httpServiceMock } from '@kbn/core-http-server-mocks'; import type { InternalPluginInfo, UiPlugins } from '@kbn/core-plugins-base-server-internal'; import { registerBundleRoutes } from './register_bundle_routes'; diff --git a/src/core/server/core_app/bundle_routes/register_bundle_routes.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.ts similarity index 94% rename from src/core/server/core_app/bundle_routes/register_bundle_routes.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.ts index 4adb50fdc96caf..d0b5094edf94cc 100644 --- a/src/core/server/core_app/bundle_routes/register_bundle_routes.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.ts @@ -7,10 +7,10 @@ */ import { join } from 'path'; -import { PackageInfo } from '@kbn/config'; +import type { PackageInfo } from '@kbn/config'; import { fromRoot } from '@kbn/utils'; import UiSharedDepsNpm from '@kbn/ui-shared-deps-npm'; -import * as UiSharedDepsSrc from '@kbn/ui-shared-deps-src'; +import { distDir as UiSharedDepsSrcDistDir } from '@kbn/ui-shared-deps-src'; import type { IRouter } from '@kbn/core-http-server'; import type { UiPlugins } from '@kbn/core-plugins-base-server-internal'; import { FileHashCache } from './file_hash_cache'; @@ -53,7 +53,7 @@ export function registerBundleRoutes({ registerRouteForBundle(router, { publicPath: `${serverBasePath}/${buildNum}/bundles/kbn-ui-shared-deps-src/`, routePath: `/${buildNum}/bundles/kbn-ui-shared-deps-src/`, - bundlesPath: UiSharedDepsSrc.distDir, + bundlesPath: UiSharedDepsSrcDistDir, fileHashCache, isDist, }); diff --git a/src/core/server/core_app/bundle_routes/select_compressed_file.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/select_compressed_file.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/select_compressed_file.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/select_compressed_file.ts diff --git a/src/core/server/core_app/bundle_routes/utils.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/utils.ts similarity index 100% rename from src/core/server/core_app/bundle_routes/utils.ts rename to packages/core/apps/core-apps-server-internal/src/bundle_routes/utils.ts diff --git a/src/core/server/core_app/core_app.test.mocks.ts b/packages/core/apps/core-apps-server-internal/src/core_app.test.mocks.ts similarity index 100% rename from src/core/server/core_app/core_app.test.mocks.ts rename to packages/core/apps/core-apps-server-internal/src/core_app.test.mocks.ts diff --git a/src/core/server/core_app/core_app.test.ts b/packages/core/apps/core-apps-server-internal/src/core_app.test.ts similarity index 90% rename from src/core/server/core_app/core_app.test.ts rename to packages/core/apps/core-apps-server-internal/src/core_app.test.ts index 31e4b6176a8895..13122b4b09eb7f 100644 --- a/src/core/server/core_app/core_app.test.ts +++ b/packages/core/apps/core-apps-server-internal/src/core_app.test.ts @@ -11,11 +11,12 @@ import { registerBundleRoutesMock } from './core_app.test.mocks'; import { mockCoreContext } from '@kbn/core-base-server-mocks'; import { mockRouter } from '@kbn/core-http-router-server-mocks'; import type { UiPlugins } from '@kbn/core-plugins-base-server-internal'; -import { coreMock, httpServerMock } from '../mocks'; +import { httpServerMock } from '@kbn/core-http-server-mocks'; import { httpResourcesMock } from '@kbn/core-http-resources-server-mocks'; import { PluginType } from '@kbn/core-base-common'; -import { CoreApp } from './core_app'; -import { RequestHandlerContext } from '..'; +import type { RequestHandlerContext } from '@kbn/core-http-request-handler-context-server'; +import { coreInternalLifecycleMock } from '@kbn/core-lifecycle-server-mocks'; +import { CoreAppsService } from './core_app'; const emptyPlugins = (): UiPlugins => ({ internal: new Map(), @@ -25,16 +26,17 @@ const emptyPlugins = (): UiPlugins => ({ describe('CoreApp', () => { let coreContext: ReturnType; - let coreApp: CoreApp; - let internalCorePreboot: ReturnType; + let coreApp: CoreAppsService; + let internalCorePreboot: ReturnType; let prebootHTTPResourcesRegistrar: ReturnType; - let internalCoreSetup: ReturnType; + let internalCoreSetup: ReturnType; let httpResourcesRegistrar: ReturnType; beforeEach(() => { coreContext = mockCoreContext.create(); - internalCorePreboot = coreMock.createInternalPreboot(); + internalCorePreboot = coreInternalLifecycleMock.createInternalPreboot(); + internalCorePreboot.http.registerRoutes.mockImplementation((path, callback) => callback(mockRouter.create()) ); @@ -43,10 +45,11 @@ describe('CoreApp', () => { prebootHTTPResourcesRegistrar ); - internalCoreSetup = coreMock.createInternalSetup(); + internalCoreSetup = coreInternalLifecycleMock.createInternalSetup(); + httpResourcesRegistrar = httpResourcesMock.createRegistrar(); internalCoreSetup.httpResources.createRegistrar.mockReturnValue(httpResourcesRegistrar); - coreApp = new CoreApp(coreContext); + coreApp = new CoreAppsService(coreContext); }); afterEach(() => { diff --git a/src/core/server/core_app/core_app.ts b/packages/core/apps/core-apps-server-internal/src/core_app.ts similarity index 95% rename from src/core/server/core_app/core_app.ts rename to packages/core/apps/core-apps-server-internal/src/core_app.ts index 83665512767e7d..97c9eadd757072 100644 --- a/src/core/server/core_app/core_app.ts +++ b/packages/core/apps/core-apps-server-internal/src/core_app.ts @@ -22,9 +22,9 @@ import type { } from '@kbn/core-http-server'; import type { UiPlugins } from '@kbn/core-plugins-base-server-internal'; import type { HttpResources, HttpResourcesServiceToolkit } from '@kbn/core-http-resources-server'; -import { InternalCorePreboot, InternalCoreSetup } from '@kbn/core-lifecycle-server-internal'; +import type { InternalCorePreboot, InternalCoreSetup } from '@kbn/core-lifecycle-server-internal'; import { registerBundleRoutes } from './bundle_routes'; -import type { InternalCoreAppRequestHandlerContext } from './internal_types'; +import type { InternalCoreAppsServiceRequestHandlerContext } from './internal_types'; /** @internal */ interface CommonRoutesParams { @@ -39,7 +39,7 @@ interface CommonRoutesParams { } /** @internal */ -export class CoreApp { +export class CoreAppsService { private readonly logger: Logger; private readonly env: Env; @@ -91,7 +91,7 @@ export class CoreApp { private registerDefaultRoutes(coreSetup: InternalCoreSetup, uiPlugins: UiPlugins) { const httpSetup = coreSetup.http; - const router = httpSetup.createRouter(''); + const router = httpSetup.createRouter(''); const resources = coreSetup.httpResources.createRegistrar(router); router.get({ path: '/', validate: false }, async (context, req, res) => { diff --git a/packages/core/apps/core-apps-server-internal/src/index.ts b/packages/core/apps/core-apps-server-internal/src/index.ts new file mode 100644 index 00000000000000..d2eca9036f40ed --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/src/index.ts @@ -0,0 +1,15 @@ +/* + * 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 { CoreAppsService } from './core_app'; +export type { + InternalCoreAppsServiceRequestHandlerContext, + InternalCoreAppsServiceRouter, +} from './internal_types'; +// only used by integration tests +export { registerRouteForBundle, FileHashCache } from './bundle_routes'; diff --git a/src/core/server/core_app/internal_types.ts b/packages/core/apps/core-apps-server-internal/src/internal_types.ts similarity index 72% rename from src/core/server/core_app/internal_types.ts rename to packages/core/apps/core-apps-server-internal/src/internal_types.ts index 49e73a67a11a89..f294c80664ae4a 100644 --- a/src/core/server/core_app/internal_types.ts +++ b/packages/core/apps/core-apps-server-internal/src/internal_types.ts @@ -13,15 +13,15 @@ import type { UiSettingsRequestHandlerContext } from '@kbn/core-ui-settings-serv * Request handler context used by core's coreApp routes. * @internal */ -export interface InternalCoreAppRequestHandlerContext extends RequestHandlerContextBase { +export interface InternalCoreAppsServiceRequestHandlerContext extends RequestHandlerContextBase { core: Promise<{ uiSettings: UiSettingsRequestHandlerContext; }>; } /** - * Router bound to the {@link InternalCoreAppRequestHandlerContext}. + * Router bound to the {@link InternalCoreAppsServiceRequestHandlerContext}. * Used by core's coreApp routes. * @internal */ -export type InternalCoreAppRouter = IRouter; +export type InternalCoreAppsServiceRouter = IRouter; diff --git a/packages/core/apps/core-apps-server-internal/tsconfig.json b/packages/core/apps/core-apps-server-internal/tsconfig.json new file mode 100644 index 00000000000000..ff48529c6f303b --- /dev/null +++ b/packages/core/apps/core-apps-server-internal/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../../../tsconfig.bazel.json", + "compilerOptions": { + "declaration": true, + "emitDeclarationOnly": true, + "outDir": "target_types", + "stripInternal": false, + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + ] +} diff --git a/src/core/server/integration_tests/core_app/bundle_routes.test.ts b/src/core/server/integration_tests/core_app/bundle_routes.test.ts index b3b02cef691d9a..af3782b0159125 100644 --- a/src/core/server/integration_tests/core_app/bundle_routes.test.ts +++ b/src/core/server/integration_tests/core_app/bundle_routes.test.ts @@ -15,8 +15,7 @@ import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; import type { IRouter } from '@kbn/core-http-server'; import { HttpService } from '@kbn/core-http-server-internal'; import { createHttpServer } from '@kbn/core-http-server-mocks'; -import { registerRouteForBundle } from '../../core_app/bundle_routes/bundles_route'; -import { FileHashCache } from '../../core_app/bundle_routes/file_hash_cache'; +import { registerRouteForBundle, FileHashCache } from '@kbn/core-apps-server-internal'; const buildNum = 1234; const fooPluginFixture = resolve(__dirname, './__fixtures__/plugin/foo'); diff --git a/src/core/server/server.ts b/src/core/server/server.ts index 7bddb8da80da1d..2b5c2ed5beb097 100644 --- a/src/core/server/server.ts +++ b/src/core/server/server.ts @@ -79,7 +79,7 @@ import { PluginsService, config as pluginsConfig, } from '@kbn/core-plugins-server-internal'; -import { CoreApp } from './core_app'; +import { CoreAppsService } from '@kbn/core-apps-server-internal'; import { elasticApmConfig } from './root/elastic_config'; const coreId = Symbol('core'); @@ -118,7 +118,7 @@ export class Server { private readonly httpResources: HttpResourcesService; private readonly status: StatusService; private readonly logging: LoggingService; - private readonly coreApp: CoreApp; + private readonly coreApp: CoreAppsService; private readonly coreUsageData: CoreUsageDataService; private readonly i18n: I18nService; private readonly deprecations: DeprecationsService; @@ -161,7 +161,7 @@ export class Server { this.node = new NodeService(core); this.metrics = new MetricsService(core); this.status = new StatusService(core); - this.coreApp = new CoreApp(core); + this.coreApp = new CoreAppsService(core); this.httpResources = new HttpResourcesService(core); this.logging = new LoggingService(core); this.coreUsageData = new CoreUsageDataService(core); diff --git a/src/dev/precommit_hook/casing_check_config.js b/src/dev/precommit_hook/casing_check_config.js index f79c53e1151499..1289768bfbcd96 100644 --- a/src/dev/precommit_hook/casing_check_config.js +++ b/src/dev/precommit_hook/casing_check_config.js @@ -31,7 +31,7 @@ export const IGNORE_FILE_GLOBS = [ '**/.*', '**/__mocks__/**/*', 'x-pack/docs/**/*', - 'src/core/server/core_app/assets/fonts/**/*', + 'packages/core/apps/core-apps-server-internal/src/assets/fonts/**/*', 'src/dev/code_coverage/ingest_coverage/integration_tests/mocks/**/*', 'packages/kbn-utility-types/test-d/**/*', '**/Jenkinsfile*', diff --git a/tsconfig.base.json b/tsconfig.base.json index ef94f9bef56c29..95f620b6e43820 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -44,6 +44,8 @@ "@kbn/core-apps-browser-internal/*": ["packages/core/apps/core-apps-browser-internal/*"], "@kbn/core-apps-browser-mocks": ["packages/core/apps/core-apps-browser-mocks"], "@kbn/core-apps-browser-mocks/*": ["packages/core/apps/core-apps-browser-mocks/*"], + "@kbn/core-apps-server-internal": ["packages/core/apps/core-apps-server-internal"], + "@kbn/core-apps-server-internal/*": ["packages/core/apps/core-apps-server-internal/*"], "@kbn/core-base-browser-internal": ["packages/core/base/core-base-browser-internal"], "@kbn/core-base-browser-internal/*": ["packages/core/base/core-base-browser-internal/*"], "@kbn/core-base-browser-mocks": ["packages/core/base/core-base-browser-mocks"], diff --git a/yarn.lock b/yarn.lock index 5ce08cea40dffa..ca156c451e3c21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2788,6 +2788,10 @@ version "0.0.0" uid "" +"@kbn/core-apps-server-internal@link:bazel-bin/packages/core/apps/core-apps-server-internal": + version "0.0.0" + uid "" + "@kbn/core-base-browser-internal@link:bazel-bin/packages/core/base/core-base-browser-internal": version "0.0.0" uid "" From 82537934b5c7e10571e1dd26faeb888a6b345f07 Mon Sep 17 00:00:00 2001 From: Alison Goryachev Date: Wed, 2 Nov 2022 15:38:29 -0400 Subject: [PATCH 23/37] [Guided onboarding] Implement telemetry (#143896) --- .../public/components/guide_panel.test.tsx | 38 ++++---- .../public/components/guide_panel.tsx | 26 +++++- .../public/components/guide_panel_step.tsx | 5 +- .../public/components/quit_guide_modal.tsx | 86 +++++++++++++------ .../getting_started.test.tsx.snap | 2 +- .../getting_started.test.tsx | 2 +- .../guided_onboarding/getting_started.tsx | 2 +- 7 files changed, 113 insertions(+), 48 deletions(-) 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 3bf4ae8f91c8c7..da1931120d3718 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.test.tsx @@ -232,15 +232,21 @@ describe('Guided setup', () => { expect(find('guideDescription').text()).toContain( `You've completed the Elastic Testing example guide` ); - expect(exists('useElasticButton')).toBe(true); + expect(exists('onboarding--completeGuideButton--testGuide')).toBe(true); }); describe('Steps', () => { - const clickActiveStepButton = async () => { + const clickStepButton = async ({ + telemetryGuideId, + stepNumber, + }: { + telemetryGuideId: string; + stepNumber: number; + }) => { const { component, find } = testBed; await act(async () => { - find('activeStepButton').simulate('click'); + find(`onboarding--stepButton--${telemetryGuideId}--step${stepNumber}`).simulate('click'); }); component.update(); @@ -251,9 +257,9 @@ describe('Guided setup', () => { await updateComponentWithState(component, mockActiveTestGuideState, true); - expect(find('activeStepButton').text()).toEqual('Start'); + expect(find('onboarding--stepButton--testGuide--step1').text()).toEqual('Start'); - await clickActiveStepButton(); + await clickStepButton({ telemetryGuideId: 'testGuide', stepNumber: 1 }); expect(exists('guidePanel')).toBe(false); }); @@ -263,9 +269,9 @@ describe('Guided setup', () => { await updateComponentWithState(component, mockInProgressTestGuideState, true); - expect(find('activeStepButton').text()).toEqual('Continue'); + expect(find('onboarding--stepButton--testGuide--step1').text()).toEqual('Continue'); - await clickActiveStepButton(); + await clickStepButton({ telemetryGuideId: 'testGuide', stepNumber: 1 }); expect(exists('guidePanel')).toBe(false); }); @@ -275,14 +281,14 @@ describe('Guided setup', () => { await updateComponentWithState(component, mockReadyToCompleteTestGuideState, true); - expect(find('activeStepButton').text()).toEqual('Mark done'); + expect(find('onboarding--stepButton--testGuide--step2').text()).toEqual('Mark done'); - await clickActiveStepButton(); + await clickStepButton({ telemetryGuideId: 'testGuide', stepNumber: 2 }); // The guide panel should remain open after marking a step done expect(exists('guidePanel')).toBe(true); - // Dependent on the Search guide config, which expects another step to start - expect(find('activeStepButton').text()).toEqual('Start'); + // Dependent on the Search guide config, which expects step 3 to start + expect(find('onboarding--stepButton--testGuide--step3').text()).toEqual('Start'); }); test('should render the step description as a paragraph if it is only one sentence', async () => { @@ -357,19 +363,19 @@ describe('Guided setup', () => { component.update(); - expect(exists('quitGuideModal')).toBe(true); + expect(exists('onboarding--quitGuideModal')).toBe(true); }); test('quit a guide', async () => { const { component, find, exists } = testBed; await act(async () => { - find('confirmModalConfirmButton').simulate('click'); + find('onboarding--quitGuideButton--testGuide').simulate('click'); }); component.update(); - expect(exists('quitGuideModal')).toBe(false); + expect(exists('onboarding--quitGuideModal')).toBe(false); // TODO check for the correct button behavior once https://github.com/elastic/kibana/issues/141129 is implemented }); @@ -378,12 +384,12 @@ describe('Guided setup', () => { const { component, find, exists } = testBed; await act(async () => { - find('confirmModalCancelButton').simulate('click'); + find('onboarding--cancelQuitGuideButton--testGuide').simulate('click'); }); component.update(); - expect(exists('quitGuideModal')).toBe(false); + expect(exists('onboarding--quitGuideModal')).toBe(false); expect(exists('guideButton')).toBe(true); }); }); diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.tsx index 823637b23247a1..c81844bc0dbbf0 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.tsx @@ -31,6 +31,7 @@ import { i18n } from '@kbn/i18n'; import { ApplicationStart } from '@kbn/core/public'; import type { GuideState, GuideStep as GuideStepStatus } from '@kbn/guided-onboarding'; +import { GuideId } from '@kbn/guided-onboarding'; import type { GuideConfig, StepConfig } from '../types'; import type { ApiService } from '../services/api'; @@ -58,6 +59,20 @@ const getProgress = (state?: GuideState): number => { return 0; }; +// Temporarily provide a different guide ID for telemetry purposes +// Should not be necessary once https://github.com/elastic/kibana/issues/144452 is addressed +const getTelemetryGuideId = (guideId: GuideId) => { + switch (guideId) { + case 'security': + return 'siem'; + case 'observability': + return 'kubernetes'; + case 'search': + default: + return guideId; + } +}; + export const GuidePanel = ({ api, application }: GuidePanelProps) => { const { euiTheme } = useEuiTheme(); const [isGuideOpen, setIsGuideOpen] = useState(false); @@ -146,6 +161,7 @@ export const GuidePanel = ({ api, application }: GuidePanelProps) => { const stepsCompleted = getProgress(guideState); const isGuideReadyToComplete = guideState?.status === 'ready_to_complete'; + const telemetryGuideId = getTelemetryGuideId(guideState.guideId); return ( <> @@ -265,6 +281,7 @@ export const GuidePanel = ({ api, application }: GuidePanelProps) => { stepNumber={index + 1} handleButtonClick={() => handleStepButtonClick(stepState, step)} key={accordionId} + telemetryGuideId={telemetryGuideId} /> ); } @@ -276,7 +293,8 @@ export const GuidePanel = ({ api, application }: GuidePanelProps) => { completeGuide(guideConfig.completedGuideRedirectLocation)} fill - data-test-subj="useElasticButton" + // data-test-subj used for FS tracking and testing + data-test-subj={`onboarding--completeGuideButton--${telemetryGuideId}`} > {i18n.translate('guidedOnboarding.dropdownPanel.elasticButtonLabel', { defaultMessage: 'Continue using Elastic', @@ -353,7 +371,11 @@ export const GuidePanel = ({ api, application }: GuidePanelProps) => { )} {isQuitGuideModalOpen && ( - + )} ); diff --git a/src/plugins/guided_onboarding/public/components/guide_panel_step.tsx b/src/plugins/guided_onboarding/public/components/guide_panel_step.tsx index 1def8ce0a266af..eb153efca9102a 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel_step.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel_step.tsx @@ -31,6 +31,7 @@ interface GuideStepProps { stepConfig: StepConfig; stepNumber: number; handleButtonClick: () => void; + telemetryGuideId: string; } export const GuideStep = ({ @@ -39,6 +40,7 @@ export const GuideStep = ({ stepNumber, stepConfig, handleButtonClick, + telemetryGuideId, }: GuideStepProps) => { const { euiTheme } = useEuiTheme(); const styles = getGuidePanelStepStyles(euiTheme, stepStatus); @@ -111,7 +113,8 @@ export const GuideStep = ({ handleButtonClick()} fill - data-test-subj="activeStepButton" + // data-test-subj used for FS tracking and tests + data-test-subj={`onboarding--stepButton--${telemetryGuideId}--step${stepNumber}`} > {getStepButtonLabel()} diff --git a/src/plugins/guided_onboarding/public/components/quit_guide_modal.tsx b/src/plugins/guided_onboarding/public/components/quit_guide_modal.tsx index 171750cd83db59..7325ffb6114d1f 100644 --- a/src/plugins/guided_onboarding/public/components/quit_guide_modal.tsx +++ b/src/plugins/guided_onboarding/public/components/quit_guide_modal.tsx @@ -7,7 +7,16 @@ */ import React, { useState } from 'react'; -import { EuiText, EuiConfirmModal } from '@elastic/eui'; +import { + EuiText, + EuiButton, + EuiButtonEmpty, + EuiModal, + EuiModalBody, + EuiModalFooter, + EuiModalHeader, + EuiModalHeaderTitle, +} from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import type { GuideState } from '@kbn/guided-onboarding'; import { apiService } from '../services/api'; @@ -15,9 +24,14 @@ import { apiService } from '../services/api'; interface QuitGuideModalProps { closeModal: () => void; currentGuide: GuideState; + telemetryGuideId: string; } -export const QuitGuideModal = ({ closeModal, currentGuide }: QuitGuideModalProps) => { +export const QuitGuideModal = ({ + closeModal, + currentGuide, + telemetryGuideId, +}: QuitGuideModalProps) => { const [isDeleting, setIsDeleting] = useState(false); const deleteGuide = async () => { @@ -27,32 +41,52 @@ export const QuitGuideModal = ({ closeModal, currentGuide }: QuitGuideModalProps }; return ( - - -

- {i18n.translate('guidedOnboarding.quitGuideModal.modalDescription', { - defaultMessage: - 'You can restart anytime by opening the Setup guide from the Help menu.', + + + {i18n.translate('guidedOnboarding.quitGuideModal.modalTitle', { + defaultMessage: 'Quit this guide?', + })} + + + + +

+ {i18n.translate('guidedOnboarding.quitGuideModal.modalDescription', { + defaultMessage: + 'You can restart anytime by opening the Setup guide from the Help menu.', + })} +

+
+ + + + {i18n.translate('guidedOnboarding.quitGuideModal.cancelButtonLabel', { + defaultMessage: 'Cancel', + })} + + + + {i18n.translate('guidedOnboarding.quitGuideModal.quitButtonLabel', { + defaultMessage: 'Quit guide', })} -

- -
+
+ + ); }; diff --git a/src/plugins/home/public/application/components/guided_onboarding/__snapshots__/getting_started.test.tsx.snap b/src/plugins/home/public/application/components/guided_onboarding/__snapshots__/getting_started.test.tsx.snap index 0886dd9fb0ad89..685e36e46810c4 100644 --- a/src/plugins/home/public/application/components/guided_onboarding/__snapshots__/getting_started.test.tsx.snap +++ b/src/plugins/home/public/application/components/guided_onboarding/__snapshots__/getting_started.test.tsx.snap @@ -102,7 +102,7 @@ exports[`getting started should render getting started component 1`] = ` className="eui-textCenter" > I’d like to do something else (skip) diff --git a/src/plugins/home/public/application/components/guided_onboarding/getting_started.test.tsx b/src/plugins/home/public/application/components/guided_onboarding/getting_started.test.tsx index 45b643fd114333..624e56b85538e8 100644 --- a/src/plugins/home/public/application/components/guided_onboarding/getting_started.test.tsx +++ b/src/plugins/home/public/application/components/guided_onboarding/getting_started.test.tsx @@ -58,7 +58,7 @@ describe('getting started', () => { test('skip button should disable home welcome screen', async () => { const component = mountWithIntl(); - const skipButton = findTestSubject(component, 'onboarding--skipUseCaseTourLink'); + const skipButton = findTestSubject(component, 'onboarding--skipGuideLink'); skipButton.simulate('click'); expect(localStorage.getItem(KEY_ENABLE_WELCOME)).toBe('false'); diff --git a/src/plugins/home/public/application/components/guided_onboarding/getting_started.tsx b/src/plugins/home/public/application/components/guided_onboarding/getting_started.tsx index c82b200dfb6bde..eb7f05ef7161ab 100644 --- a/src/plugins/home/public/application/components/guided_onboarding/getting_started.tsx +++ b/src/plugins/home/public/application/components/guided_onboarding/getting_started.tsx @@ -145,7 +145,7 @@ export const GettingStarted = () => {
{/* data-test-subj used for FS tracking */} - + {skipText}
From 56e8555d8b73178f041edff67b98fa0d5cc5e2d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Wed, 2 Nov 2022 15:52:17 -0400 Subject: [PATCH 24/37] [APM] Metadata API does not filter by environment (#144472) --- .../app/metrics_details/service_node_metrics/index.tsx | 3 ++- .../apm/server/routes/services/get_service_node_metadata.ts | 5 +++-- x-pack/plugins/apm/server/routes/services/route.ts | 5 +++-- .../tests/services/get_service_node_metadata.spec.ts | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/metrics_details/service_node_metrics/index.tsx b/x-pack/plugins/apm/public/components/app/metrics_details/service_node_metrics/index.tsx index b78542f291f72d..4a6dd62b46e7c4 100644 --- a/x-pack/plugins/apm/public/components/app/metrics_details/service_node_metrics/index.tsx +++ b/x-pack/plugins/apm/public/components/app/metrics_details/service_node_metrics/index.tsx @@ -93,13 +93,14 @@ export function ServiceNodeMetrics({ serviceNodeName }: Props) { kuery, start, end, + environment, }, }, } ); } }, - [kuery, serviceName, serviceNodeName, start, end] + [kuery, serviceName, serviceNodeName, start, end, environment] ); const { docLinks } = useApmPluginContext().core; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_node_metadata.ts b/x-pack/plugins/apm/server/routes/services/get_service_node_metadata.ts index 227dcab3deb41f..f85bed4b77bbac 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_node_metadata.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_node_metadata.ts @@ -20,7 +20,6 @@ import { environmentQuery, serviceNodeNameQuery, } from '../../../common/utils/environment_query'; -import { ENVIRONMENT_ALL } from '../../../common/environment_filter_values'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; export async function getServiceNodeMetadata({ @@ -30,6 +29,7 @@ export async function getServiceNodeMetadata({ apmEventClient, start, end, + environment, }: { kuery: string; serviceName: string; @@ -37,6 +37,7 @@ export async function getServiceNodeMetadata({ apmEventClient: APMEventClient; start: number; end: number; + environment: string; }) { const params = { apm: { @@ -50,7 +51,7 @@ export async function getServiceNodeMetadata({ filter: [ { term: { [SERVICE_NAME]: serviceName } }, ...rangeQuery(start, end), - ...environmentQuery(ENVIRONMENT_ALL.value), + ...environmentQuery(environment), ...kqlQuery(kuery), ...serviceNodeNameQuery(serviceNodeName), ], diff --git a/x-pack/plugins/apm/server/routes/services/route.ts b/x-pack/plugins/apm/server/routes/services/route.ts index 0dc2de2d68b45b..d1b0e25fb4d053 100644 --- a/x-pack/plugins/apm/server/routes/services/route.ts +++ b/x-pack/plugins/apm/server/routes/services/route.ts @@ -426,7 +426,7 @@ const serviceNodeMetadataRoute = createApmServerRoute({ serviceName: t.string, serviceNodeName: t.string, }), - query: t.intersection([kueryRt, rangeRt]), + query: t.intersection([kueryRt, rangeRt, environmentRt]), }), options: { tags: ['access:apm'] }, handler: async ( @@ -435,7 +435,7 @@ const serviceNodeMetadataRoute = createApmServerRoute({ const apmEventClient = await getApmEventClient(resources); const { params } = resources; const { serviceName, serviceNodeName } = params.path; - const { kuery, start, end } = params.query; + const { kuery, start, end, environment } = params.query; return getServiceNodeMetadata({ kuery, @@ -444,6 +444,7 @@ const serviceNodeMetadataRoute = createApmServerRoute({ serviceNodeName, start, end, + environment, }); }, }); diff --git a/x-pack/test/apm_api_integration/tests/services/get_service_node_metadata.spec.ts b/x-pack/test/apm_api_integration/tests/services/get_service_node_metadata.spec.ts index faa160063dfa16..9e64bc127db7c8 100644 --- a/x-pack/test/apm_api_integration/tests/services/get_service_node_metadata.spec.ts +++ b/x-pack/test/apm_api_integration/tests/services/get_service_node_metadata.spec.ts @@ -28,6 +28,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { start: new Date(start).toISOString(), end: new Date(end).toISOString(), kuery: '', + environment: 'production', }, }, }); From f84b88bd583a318b98fddedb1f7b2b4ee85bad79 Mon Sep 17 00:00:00 2001 From: John Dorlus Date: Wed, 2 Nov 2022 17:47:51 -0400 Subject: [PATCH 25/37] CCS Console test for integration test framework (#144477) * Removed comment of the issue that was referenced for the skip. But the tests were already skipped. * Added a describe block for the tests that involve space b. There is an accessibility issue that causes one test to fail and then the subsequent test fails. The issue has been logged. The rest of the tests have been unskipped. * Added CCS Test for integration test. * [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix' Co-authored-by: cuffs Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../apps/ccs/ccs_console.js | 41 +++++++++++++++++++ .../apps/ccs/index.js | 1 + 2 files changed, 42 insertions(+) create mode 100644 x-pack/test/stack_functional_integration/apps/ccs/ccs_console.js diff --git a/x-pack/test/stack_functional_integration/apps/ccs/ccs_console.js b/x-pack/test/stack_functional_integration/apps/ccs/ccs_console.js new file mode 100644 index 00000000000000..8a86c5fc65f157 --- /dev/null +++ b/x-pack/test/stack_functional_integration/apps/ccs/ccs_console.js @@ -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 expect from '@kbn/expect'; + +export default function ({ getService, getPageObjects }) { + const retry = getService('retry'); + const log = getService('log'); + const PageObjects = getPageObjects(['common', 'console']); + + describe('Integration Tests - Console App CCS', function describeIndexTests() { + this.tags('includeFirefox'); + before(async () => { + log.debug('navigateTo console'); + await PageObjects.common.navigateToApp('console'); + await retry.try(async () => { + await PageObjects.console.collapseHelp(); + }); + }); + + describe('Perform CCS Search in Console', () => { + before(async () => { + await PageObjects.console.clearTextArea(); + }); + it('it should be able to access remote data', async () => { + await PageObjects.console.enterRequest( + '\nGET data:makelogs工程-*/_search\n {\n "query": {\n "bool": {\n "must": [\n {"match": {"extension" : "jpg"' + ); + await PageObjects.console.clickPlay(); + await retry.try(async () => { + const actualResponse = await PageObjects.console.getResponse(); + expect(actualResponse).to.contain('"_index": "data:makelogs工程-0"'); + }); + }); + }); + }); +} diff --git a/x-pack/test/stack_functional_integration/apps/ccs/index.js b/x-pack/test/stack_functional_integration/apps/ccs/index.js index ac82ca0dfda654..2f24a0e31d7dc4 100644 --- a/x-pack/test/stack_functional_integration/apps/ccs/index.js +++ b/x-pack/test/stack_functional_integration/apps/ccs/index.js @@ -8,5 +8,6 @@ export default function ({ loadTestFile }) { describe('ccs test', function () { loadTestFile(require.resolve('./ccs_discover')); + loadTestFile(require.resolve('./ccs_console')); }); } From e41569b4a6f10cc0b03bd772d0f6094dde942f6e Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 3 Nov 2022 01:04:55 +0000 Subject: [PATCH 26/37] fix(NA): wrongly spread stripInternal and rootDir configs across packages (#144463) * chore(NA): remove overrides for rootDir on packages * chore(NA): replace './target_types' with 'target_types' on packages * chore(NA): removes stripInternal false configs * chore(NA): remove unused strip internals --- packages/analytics/client/tsconfig.json | 1 - packages/analytics/shippers/elastic_v3/browser/tsconfig.json | 1 - packages/analytics/shippers/elastic_v3/common/tsconfig.json | 1 - packages/analytics/shippers/elastic_v3/server/tsconfig.json | 1 - packages/analytics/shippers/fullstory/tsconfig.json | 1 - packages/analytics/shippers/gainsight/tsconfig.json | 1 - packages/content-management/table_list/tsconfig.json | 1 - .../analytics/core-analytics-browser-internal/tsconfig.json | 1 - .../core/analytics/core-analytics-browser-mocks/tsconfig.json | 1 - packages/core/analytics/core-analytics-browser/tsconfig.json | 1 - .../analytics/core-analytics-server-internal/tsconfig.json | 1 - .../core/analytics/core-analytics-server-mocks/tsconfig.json | 1 - packages/core/analytics/core-analytics-server/tsconfig.json | 1 - .../core-application-browser-internal/tsconfig.json | 2 -- .../application/core-application-browser-mocks/tsconfig.json | 2 -- .../core/application/core-application-browser/tsconfig.json | 2 -- .../core/application/core-application-common/tsconfig.json | 2 -- packages/core/apps/core-apps-browser-internal/tsconfig.json | 1 - packages/core/apps/core-apps-browser-mocks/tsconfig.json | 1 - packages/core/base/core-base-browser-internal/tsconfig.json | 1 - packages/core/base/core-base-browser-mocks/tsconfig.json | 1 - packages/core/base/core-base-common-internal/tsconfig.json | 1 - packages/core/base/core-base-common/tsconfig.json | 1 - packages/core/base/core-base-server-internal/tsconfig.json | 1 - packages/core/base/core-base-server-mocks/tsconfig.json | 1 - .../core-capabilities-browser-internal/tsconfig.json | 2 -- .../capabilities/core-capabilities-browser-mocks/tsconfig.json | 2 -- .../core/capabilities/core-capabilities-common/tsconfig.json | 1 - .../core-capabilities-server-internal/tsconfig.json | 1 - .../capabilities/core-capabilities-server-mocks/tsconfig.json | 1 - .../core/capabilities/core-capabilities-server/tsconfig.json | 1 - .../core/chrome/core-chrome-browser-internal/tsconfig.json | 1 - packages/core/chrome/core-chrome-browser-mocks/tsconfig.json | 1 - packages/core/chrome/core-chrome-browser/tsconfig.json | 1 - packages/core/config/core-config-server-internal/tsconfig.json | 1 - .../core-deprecations-browser-internal/tsconfig.json | 1 - .../deprecations/core-deprecations-browser-mocks/tsconfig.json | 1 - .../core/deprecations/core-deprecations-browser/tsconfig.json | 1 - .../core/deprecations/core-deprecations-common/tsconfig.json | 1 - .../core-deprecations-server-internal/tsconfig.json | 1 - .../deprecations/core-deprecations-server-mocks/tsconfig.json | 1 - .../core/deprecations/core-deprecations-server/tsconfig.json | 2 -- .../doc-links/core-doc-links-browser-internal/tsconfig.json | 1 - .../core/doc-links/core-doc-links-browser-mocks/tsconfig.json | 1 - packages/core/doc-links/core-doc-links-browser/tsconfig.json | 1 - .../doc-links/core-doc-links-server-internal/tsconfig.json | 1 - .../core/doc-links/core-doc-links-server-mocks/tsconfig.json | 1 - packages/core/doc-links/core-doc-links-server/tsconfig.json | 1 - .../core-elasticsearch-client-server-internal/tsconfig.json | 1 - .../core-elasticsearch-client-server-mocks/tsconfig.json | 1 - .../core-elasticsearch-server-internal/tsconfig.json | 1 - .../core-elasticsearch-server-mocks/tsconfig.json | 1 - .../core/elasticsearch/core-elasticsearch-server/tsconfig.json | 1 - .../environment/core-environment-server-internal/tsconfig.json | 1 - .../environment/core-environment-server-mocks/tsconfig.json | 1 - .../core-execution-context-browser-internal/tsconfig.json | 1 - .../core-execution-context-browser-mocks/tsconfig.json | 1 - .../core-execution-context-browser/tsconfig.json | 1 - .../core-execution-context-common/tsconfig.json | 1 - .../core-execution-context-server-internal/tsconfig.json | 1 - .../core-execution-context-server-mocks/tsconfig.json | 1 - .../core-execution-context-server/tsconfig.json | 1 - .../core-fatal-errors-browser-internal/tsconfig.json | 1 - .../fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json | 1 - .../core/fatal-errors/core-fatal-errors-browser/tsconfig.json | 1 - packages/core/http/core-http-browser-internal/tsconfig.json | 1 - packages/core/http/core-http-browser-mocks/tsconfig.json | 1 - packages/core/http/core-http-browser/tsconfig.json | 1 - packages/core/http/core-http-common/tsconfig.json | 1 - .../core/http/core-http-context-server-internal/tsconfig.json | 1 - .../core/http/core-http-context-server-mocks/tsconfig.json | 1 - .../tsconfig.json | 1 - .../core-http-request-handler-context-server/tsconfig.json | 1 - .../http/core-http-resources-server-internal/tsconfig.json | 1 - .../core/http/core-http-resources-server-mocks/tsconfig.json | 1 - packages/core/http/core-http-resources-server/tsconfig.json | 1 - .../core/http/core-http-router-server-internal/tsconfig.json | 1 - packages/core/http/core-http-router-server-mocks/tsconfig.json | 1 - packages/core/http/core-http-server-internal/tsconfig.json | 1 - packages/core/http/core-http-server-mocks/tsconfig.json | 1 - packages/core/http/core-http-server/tsconfig.json | 1 - packages/core/i18n/core-i18n-browser-internal/tsconfig.json | 1 - packages/core/i18n/core-i18n-browser-mocks/tsconfig.json | 1 - packages/core/i18n/core-i18n-browser/tsconfig.json | 1 - packages/core/i18n/core-i18n-server-internal/tsconfig.json | 2 -- packages/core/i18n/core-i18n-server-mocks/tsconfig.json | 1 - packages/core/i18n/core-i18n-server/tsconfig.json | 1 - .../core-injected-metadata-browser-internal/tsconfig.json | 1 - .../core-injected-metadata-browser-mocks/tsconfig.json | 1 - .../core-injected-metadata-browser/tsconfig.json | 1 - .../core-injected-metadata-common-internal/tsconfig.json | 1 - .../core-integrations-browser-internal/tsconfig.json | 1 - .../integrations/core-integrations-browser-mocks/tsconfig.json | 1 - .../lifecycle/core-lifecycle-browser-internal/tsconfig.json | 1 - .../core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json | 1 - packages/core/lifecycle/core-lifecycle-browser/tsconfig.json | 1 - .../lifecycle/core-lifecycle-server-internal/tsconfig.json | 1 - .../core/lifecycle/core-lifecycle-server-mocks/tsconfig.json | 1 - packages/core/lifecycle/core-lifecycle-server/tsconfig.json | 1 - .../core/logging/core-logging-browser-internal/tsconfig.json | 1 - packages/core/logging/core-logging-browser-mocks/tsconfig.json | 1 - .../core/logging/core-logging-common-internal/tsconfig.json | 1 - .../core/logging/core-logging-server-internal/tsconfig.json | 1 - packages/core/logging/core-logging-server-mocks/tsconfig.json | 1 - packages/core/logging/core-logging-server/tsconfig.json | 1 - .../core-metrics-collectors-server-internal/tsconfig.json | 1 - .../metrics/core-metrics-collectors-server-mocks/tsconfig.json | 1 - .../core/metrics/core-metrics-server-internal/tsconfig.json | 1 - packages/core/metrics/core-metrics-server-mocks/tsconfig.json | 1 - packages/core/metrics/core-metrics-server/tsconfig.json | 1 - .../core-mount-utils-browser-internal/tsconfig.json | 1 - .../core/mount-utils/core-mount-utils-browser/tsconfig.json | 1 - packages/core/node/core-node-server-internal/tsconfig.json | 1 - packages/core/node/core-node-server-mocks/tsconfig.json | 1 - packages/core/node/core-node-server/tsconfig.json | 1 - .../core-notifications-browser-internal/tsconfig.json | 1 - .../core-notifications-browser-mocks/tsconfig.json | 1 - .../notifications/core-notifications-browser/tsconfig.json | 1 - .../core/overlays/core-overlays-browser-internal/tsconfig.json | 1 - .../core/overlays/core-overlays-browser-mocks/tsconfig.json | 1 - packages/core/overlays/core-overlays-browser/tsconfig.json | 1 - .../plugins/core-plugins-base-server-internal/tsconfig.json | 1 - .../core/plugins/core-plugins-browser-internal/tsconfig.json | 1 - packages/core/plugins/core-plugins-browser-mocks/tsconfig.json | 1 - packages/core/plugins/core-plugins-browser/tsconfig.json | 1 - .../core/plugins/core-plugins-server-internal/tsconfig.json | 1 - packages/core/plugins/core-plugins-server-mocks/tsconfig.json | 1 - packages/core/plugins/core-plugins-server/tsconfig.json | 1 - .../core/preboot/core-preboot-server-internal/tsconfig.json | 1 - packages/core/preboot/core-preboot-server-mocks/tsconfig.json | 1 - packages/core/preboot/core-preboot-server/tsconfig.json | 1 - .../rendering/core-rendering-browser-internal/tsconfig.json | 1 - .../core/rendering/core-rendering-browser-mocks/tsconfig.json | 1 - .../rendering/core-rendering-server-internal/tsconfig.json | 1 - .../core/rendering/core-rendering-server-mocks/tsconfig.json | 1 - packages/core/root/core-root-browser-internal/tsconfig.json | 1 - .../saved-objects/core-saved-objects-api-browser/tsconfig.json | 1 - .../core-saved-objects-api-server-internal/tsconfig.json | 2 -- .../core-saved-objects-api-server-mocks/tsconfig.json | 2 -- .../saved-objects/core-saved-objects-api-server/tsconfig.json | 1 - .../core-saved-objects-base-server-internal/tsconfig.json | 1 - .../core-saved-objects-base-server-mocks/tsconfig.json | 1 - .../core-saved-objects-browser-internal/tsconfig.json | 1 - .../core-saved-objects-browser-mocks/tsconfig.json | 1 - .../saved-objects/core-saved-objects-browser/tsconfig.json | 1 - .../core/saved-objects/core-saved-objects-common/tsconfig.json | 1 - .../tsconfig.json | 2 -- .../tsconfig.json | 2 -- .../core-saved-objects-migration-server-internal/tsconfig.json | 2 -- .../core-saved-objects-migration-server-mocks/tsconfig.json | 2 -- .../core-saved-objects-server-internal/tsconfig.json | 2 -- .../core-saved-objects-server-mocks/tsconfig.json | 2 -- .../core/saved-objects/core-saved-objects-server/tsconfig.json | 1 - .../core-saved-objects-utils-server/tsconfig.json | 1 - packages/core/status/core-status-common-internal/tsconfig.json | 1 - packages/core/status/core-status-common/tsconfig.json | 1 - packages/core/status/core-status-server-internal/tsconfig.json | 1 - packages/core/status/core-status-server-mocks/tsconfig.json | 1 - packages/core/status/core-status-server/tsconfig.json | 1 - .../core-test-helpers-deprecations-getters/tsconfig.json | 1 - .../core-test-helpers-http-setup-browser/tsconfig.json | 1 - .../core-test-helpers-so-type-serializer/tsconfig.json | 1 - .../test-helpers/core-test-helpers-test-utils/tsconfig.json | 1 - packages/core/theme/core-theme-browser-internal/tsconfig.json | 1 - packages/core/theme/core-theme-browser-mocks/tsconfig.json | 1 - packages/core/theme/core-theme-browser/tsconfig.json | 1 - .../core-ui-settings-browser-internal/tsconfig.json | 1 - .../ui-settings/core-ui-settings-browser-mocks/tsconfig.json | 1 - .../core/ui-settings/core-ui-settings-browser/tsconfig.json | 1 - .../core/ui-settings/core-ui-settings-common/tsconfig.json | 1 - .../ui-settings/core-ui-settings-server-internal/tsconfig.json | 1 - .../ui-settings/core-ui-settings-server-mocks/tsconfig.json | 1 - .../core/ui-settings/core-ui-settings-server/tsconfig.json | 1 - .../core-usage-data-base-server-internal/tsconfig.json | 2 -- .../usage-data/core-usage-data-server-internal/tsconfig.json | 1 - .../core/usage-data/core-usage-data-server-mocks/tsconfig.json | 1 - packages/core/usage-data/core-usage-data-server/tsconfig.json | 2 -- packages/home/sample_data_card/tsconfig.json | 1 - packages/home/sample_data_tab/tsconfig.json | 1 - packages/home/sample_data_types/tsconfig.json | 1 - packages/kbn-ace/tsconfig.json | 2 +- packages/kbn-ambient-storybook-types/tsconfig.json | 2 -- packages/kbn-ambient-ui-types/tsconfig.json | 1 - packages/kbn-analytics/tsconfig.json | 3 +-- packages/kbn-apm-config-loader/tsconfig.json | 3 +-- packages/kbn-axe-config/tsconfig.json | 1 - packages/kbn-bazel-packages/tsconfig.json | 1 - packages/kbn-bazel-runner/tsconfig.json | 1 - packages/kbn-cases-components/tsconfig.json | 1 - packages/kbn-ci-stats-core/tsconfig.json | 1 - packages/kbn-ci-stats-performance-metrics/tsconfig.json | 1 - packages/kbn-ci-stats-reporter/tsconfig.json | 1 - packages/kbn-cli-dev-mode/tsconfig.json | 2 +- packages/kbn-coloring/tsconfig.json | 1 - packages/kbn-config-mocks/tsconfig.json | 1 - packages/kbn-config/tsconfig.json | 3 +-- packages/kbn-crypto-browser/tsconfig.json | 1 - packages/kbn-crypto/tsconfig.json | 2 +- packages/kbn-dev-cli-errors/tsconfig.json | 1 - packages/kbn-dev-cli-runner/tsconfig.json | 1 - packages/kbn-dev-proc-runner/tsconfig.json | 1 - packages/kbn-dev-utils/tsconfig.json | 1 - packages/kbn-doc-links/tsconfig.json | 3 +-- packages/kbn-es-archiver/tsconfig.json | 2 +- packages/kbn-es-errors/tsconfig.json | 1 - packages/kbn-es-query/tsconfig.json | 2 +- packages/kbn-es-types/tsconfig.json | 1 - packages/kbn-es/tsconfig.json | 2 +- packages/kbn-eslint-plugin-disable/tsconfig.json | 1 - packages/kbn-eslint-plugin-imports/tsconfig.json | 1 - packages/kbn-failed-test-reporter-cli/tsconfig.json | 1 - packages/kbn-field-types/tsconfig.json | 2 +- packages/kbn-find-used-node-modules/tsconfig.json | 1 - packages/kbn-ftr-common-functional-services/tsconfig.json | 1 - packages/kbn-ftr-screenshot-filename/tsconfig.json | 1 - packages/kbn-generate/templates/package/tsconfig.json.ejs | 1 - packages/kbn-generate/tsconfig.json | 1 - packages/kbn-get-repo-files/tsconfig.json | 1 - packages/kbn-guided-onboarding/tsconfig.json | 1 - packages/kbn-handlebars/tsconfig.json | 2 +- packages/kbn-hapi-mocks/tsconfig.json | 1 - packages/kbn-i18n-react/tsconfig.json | 2 +- packages/kbn-i18n/tsconfig.json | 2 +- packages/kbn-import-resolver/tsconfig.json | 1 - packages/kbn-interpreter/tsconfig.json | 3 +-- packages/kbn-io-ts-utils/tsconfig.json | 3 +-- packages/kbn-jest-serializers/tsconfig.json | 1 - packages/kbn-journeys/tsconfig.json | 1 - packages/kbn-kibana-manifest-schema/tsconfig.json | 1 - packages/kbn-language-documentation-popover/tsconfig.json | 2 +- packages/kbn-logging-mocks/tsconfig.json | 1 - packages/kbn-logging/tsconfig.json | 1 - packages/kbn-managed-vscode-config-cli/tsconfig.json | 1 - packages/kbn-managed-vscode-config/tsconfig.json | 1 - packages/kbn-monaco/tsconfig.json | 2 +- packages/kbn-optimizer-webpack-helpers/tsconfig.json | 1 - packages/kbn-optimizer/tsconfig.json | 2 +- .../kbn-performance-testing-dataset-extractor/tsconfig.json | 1 - packages/kbn-plugin-discovery/tsconfig.json | 1 - packages/kbn-react-field/tsconfig.json | 2 +- packages/kbn-repo-source-classifier-cli/tsconfig.json | 1 - packages/kbn-repo-source-classifier/tsconfig.json | 1 - packages/kbn-rule-data-utils/tsconfig.json | 3 +-- .../tsconfig.json | 1 - packages/kbn-server-http-tools/tsconfig.json | 2 +- packages/kbn-server-route-repository/tsconfig.json | 3 +-- packages/kbn-shared-svg/tsconfig.json | 1 - packages/kbn-shared-ux-utility/tsconfig.json | 1 - packages/kbn-some-dev-log/tsconfig.json | 1 - packages/kbn-sort-package-json/tsconfig.json | 1 - packages/kbn-std/tsconfig.json | 3 +-- packages/kbn-stdio-dev-helpers/tsconfig.json | 1 - packages/kbn-synthetic-package-map/tsconfig.json | 1 - packages/kbn-telemetry-tools/tsconfig.json | 2 +- packages/kbn-test-jest-helpers/tsconfig.json | 3 +-- packages/kbn-test-subj-selector/tsconfig.json | 1 - packages/kbn-test/tsconfig.json | 2 +- packages/kbn-tooling-log/tsconfig.json | 1 - packages/kbn-type-summarizer-cli/tsconfig.json | 1 - packages/kbn-type-summarizer-core/tsconfig.json | 1 - packages/kbn-type-summarizer/tsconfig.json | 1 - packages/kbn-typed-react-router-config/tsconfig.json | 3 +-- packages/kbn-ui-shared-deps-npm/tsconfig.json | 2 +- packages/kbn-ui-shared-deps-src/tsconfig.json | 2 +- packages/kbn-ui-theme/tsconfig.json | 3 +-- packages/kbn-user-profile-components/tsconfig.json | 3 +-- packages/kbn-utility-types-jest/tsconfig.json | 3 +-- packages/kbn-utility-types/tsconfig.json | 3 +-- packages/kbn-yarn-lock-validator/tsconfig.json | 1 - packages/shared-ux/avatar/solution/tsconfig.json | 1 - packages/shared-ux/avatar/user_profile/impl/tsconfig.json | 1 - packages/shared-ux/button/exit_full_screen/impl/tsconfig.json | 1 - packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json | 1 - packages/shared-ux/button/exit_full_screen/types/tsconfig.json | 1 - packages/shared-ux/button_toolbar/tsconfig.json | 1 - packages/shared-ux/card/no_data/impl/tsconfig.json | 1 - packages/shared-ux/card/no_data/mocks/tsconfig.json | 1 - packages/shared-ux/card/no_data/types/tsconfig.json | 1 - packages/shared-ux/link/redirect_app/impl/tsconfig.json | 1 - packages/shared-ux/link/redirect_app/mocks/tsconfig.json | 1 - packages/shared-ux/link/redirect_app/types/tsconfig.json | 1 - packages/shared-ux/markdown/impl/tsconfig.json | 3 +-- packages/shared-ux/markdown/mocks/tsconfig.json | 1 - packages/shared-ux/markdown/types/tsconfig.json | 1 - packages/shared-ux/page/analytics_no_data/impl/tsconfig.json | 1 - packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json | 1 - packages/shared-ux/page/analytics_no_data/types/tsconfig.json | 1 - packages/shared-ux/page/kibana_no_data/impl/tsconfig.json | 1 - packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json | 1 - packages/shared-ux/page/kibana_no_data/types/tsconfig.json | 1 - packages/shared-ux/page/kibana_template/impl/tsconfig.json | 1 - packages/shared-ux/page/kibana_template/mocks/tsconfig.json | 1 - packages/shared-ux/page/kibana_template/types/tsconfig.json | 1 - packages/shared-ux/page/no_data/impl/tsconfig.json | 1 - packages/shared-ux/page/no_data/mocks/tsconfig.json | 1 - packages/shared-ux/page/no_data/types/tsconfig.json | 1 - packages/shared-ux/page/no_data_config/impl/tsconfig.json | 1 - packages/shared-ux/page/no_data_config/mocks/tsconfig.json | 1 - packages/shared-ux/page/no_data_config/types/tsconfig.json | 1 - packages/shared-ux/page/solution_nav/tsconfig.json | 1 - packages/shared-ux/prompt/no_data_views/impl/tsconfig.json | 1 - packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json | 1 - packages/shared-ux/prompt/no_data_views/types/tsconfig.json | 1 - packages/shared-ux/router/impl/tsconfig.json | 1 - packages/shared-ux/router/mocks/tsconfig.json | 2 -- packages/shared-ux/router/types/tsconfig.json | 1 - packages/shared-ux/storybook/config/tsconfig.json | 1 - packages/shared-ux/storybook/mock/tsconfig.json | 1 - 308 files changed, 35 insertions(+), 344 deletions(-) diff --git a/packages/analytics/client/tsconfig.json b/packages/analytics/client/tsconfig.json index e543b7493c3b9a..cc7ee1b2ebd688 100644 --- a/packages/analytics/client/tsconfig.json +++ b/packages/analytics/client/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/analytics/shippers/elastic_v3/browser/tsconfig.json b/packages/analytics/shippers/elastic_v3/browser/tsconfig.json index 2f35c0edbedd7c..6d893e10d8cc9e 100644 --- a/packages/analytics/shippers/elastic_v3/browser/tsconfig.json +++ b/packages/analytics/shippers/elastic_v3/browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/analytics/shippers/elastic_v3/common/tsconfig.json b/packages/analytics/shippers/elastic_v3/common/tsconfig.json index 2f35c0edbedd7c..6d893e10d8cc9e 100644 --- a/packages/analytics/shippers/elastic_v3/common/tsconfig.json +++ b/packages/analytics/shippers/elastic_v3/common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/analytics/shippers/elastic_v3/server/tsconfig.json b/packages/analytics/shippers/elastic_v3/server/tsconfig.json index 2f35c0edbedd7c..6d893e10d8cc9e 100644 --- a/packages/analytics/shippers/elastic_v3/server/tsconfig.json +++ b/packages/analytics/shippers/elastic_v3/server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/analytics/shippers/fullstory/tsconfig.json b/packages/analytics/shippers/fullstory/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/analytics/shippers/fullstory/tsconfig.json +++ b/packages/analytics/shippers/fullstory/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/analytics/shippers/gainsight/tsconfig.json b/packages/analytics/shippers/gainsight/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/analytics/shippers/gainsight/tsconfig.json +++ b/packages/analytics/shippers/gainsight/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/content-management/table_list/tsconfig.json b/packages/content-management/table_list/tsconfig.json index a7520dbfb4fe27..695a24957687bf 100644 --- a/packages/content-management/table_list/tsconfig.json +++ b/packages/content-management/table_list/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/analytics/core-analytics-browser-internal/tsconfig.json b/packages/core/analytics/core-analytics-browser-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/analytics/core-analytics-browser-internal/tsconfig.json +++ b/packages/core/analytics/core-analytics-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/analytics/core-analytics-browser-mocks/tsconfig.json b/packages/core/analytics/core-analytics-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/analytics/core-analytics-browser-mocks/tsconfig.json +++ b/packages/core/analytics/core-analytics-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/analytics/core-analytics-browser/tsconfig.json b/packages/core/analytics/core-analytics-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/analytics/core-analytics-browser/tsconfig.json +++ b/packages/core/analytics/core-analytics-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/analytics/core-analytics-server-internal/tsconfig.json b/packages/core/analytics/core-analytics-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/analytics/core-analytics-server-internal/tsconfig.json +++ b/packages/core/analytics/core-analytics-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/analytics/core-analytics-server-mocks/tsconfig.json b/packages/core/analytics/core-analytics-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/analytics/core-analytics-server-mocks/tsconfig.json +++ b/packages/core/analytics/core-analytics-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/analytics/core-analytics-server/tsconfig.json b/packages/core/analytics/core-analytics-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/analytics/core-analytics-server/tsconfig.json +++ b/packages/core/analytics/core-analytics-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/application/core-application-browser-internal/tsconfig.json b/packages/core/application/core-application-browser-internal/tsconfig.json index bccdc4b2a95aad..c561d9f220124e 100644 --- a/packages/core/application/core-application-browser-internal/tsconfig.json +++ b/packages/core/application/core-application-browser-internal/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/application/core-application-browser-mocks/tsconfig.json b/packages/core/application/core-application-browser-mocks/tsconfig.json index 6548f04ad9fd31..37f8e83d0d7a68 100644 --- a/packages/core/application/core-application-browser-mocks/tsconfig.json +++ b/packages/core/application/core-application-browser-mocks/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/application/core-application-browser/tsconfig.json b/packages/core/application/core-application-browser/tsconfig.json index 43a846448fc74f..48df8f2957246e 100644 --- a/packages/core/application/core-application-browser/tsconfig.json +++ b/packages/core/application/core-application-browser/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/application/core-application-common/tsconfig.json b/packages/core/application/core-application-common/tsconfig.json index 43a846448fc74f..48df8f2957246e 100644 --- a/packages/core/application/core-application-common/tsconfig.json +++ b/packages/core/application/core-application-common/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/apps/core-apps-browser-internal/tsconfig.json b/packages/core/apps/core-apps-browser-internal/tsconfig.json index 571fbfcd8ef259..37f8e83d0d7a68 100644 --- a/packages/core/apps/core-apps-browser-internal/tsconfig.json +++ b/packages/core/apps/core-apps-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/apps/core-apps-browser-mocks/tsconfig.json b/packages/core/apps/core-apps-browser-mocks/tsconfig.json index 8a9b8b46147f1f..741519055e9868 100644 --- a/packages/core/apps/core-apps-browser-mocks/tsconfig.json +++ b/packages/core/apps/core-apps-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/base/core-base-browser-internal/tsconfig.json b/packages/core/base/core-base-browser-internal/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/base/core-base-browser-internal/tsconfig.json +++ b/packages/core/base/core-base-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/base/core-base-browser-mocks/tsconfig.json b/packages/core/base/core-base-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/base/core-base-browser-mocks/tsconfig.json +++ b/packages/core/base/core-base-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/base/core-base-common-internal/tsconfig.json b/packages/core/base/core-base-common-internal/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/base/core-base-common-internal/tsconfig.json +++ b/packages/core/base/core-base-common-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/base/core-base-common/tsconfig.json b/packages/core/base/core-base-common/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/base/core-base-common/tsconfig.json +++ b/packages/core/base/core-base-common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/base/core-base-server-internal/tsconfig.json b/packages/core/base/core-base-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/base/core-base-server-internal/tsconfig.json +++ b/packages/core/base/core-base-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/base/core-base-server-mocks/tsconfig.json b/packages/core/base/core-base-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/base/core-base-server-mocks/tsconfig.json +++ b/packages/core/base/core-base-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/capabilities/core-capabilities-browser-internal/tsconfig.json b/packages/core/capabilities/core-capabilities-browser-internal/tsconfig.json index 43a846448fc74f..48df8f2957246e 100644 --- a/packages/core/capabilities/core-capabilities-browser-internal/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-browser-internal/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json b/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json index 43a846448fc74f..48df8f2957246e 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/capabilities/core-capabilities-common/tsconfig.json b/packages/core/capabilities/core-capabilities-common/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/capabilities/core-capabilities-common/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/capabilities/core-capabilities-server-internal/tsconfig.json b/packages/core/capabilities/core-capabilities-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/capabilities/core-capabilities-server-internal/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/capabilities/core-capabilities-server-mocks/tsconfig.json b/packages/core/capabilities/core-capabilities-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/capabilities/core-capabilities-server-mocks/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/capabilities/core-capabilities-server/tsconfig.json b/packages/core/capabilities/core-capabilities-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/capabilities/core-capabilities-server/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/chrome/core-chrome-browser-internal/tsconfig.json b/packages/core/chrome/core-chrome-browser-internal/tsconfig.json index 4eb9855fa759d5..c561d9f220124e 100644 --- a/packages/core/chrome/core-chrome-browser-internal/tsconfig.json +++ b/packages/core/chrome/core-chrome-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/chrome/core-chrome-browser-mocks/tsconfig.json b/packages/core/chrome/core-chrome-browser-mocks/tsconfig.json index 8a9b8b46147f1f..741519055e9868 100644 --- a/packages/core/chrome/core-chrome-browser-mocks/tsconfig.json +++ b/packages/core/chrome/core-chrome-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/chrome/core-chrome-browser/tsconfig.json b/packages/core/chrome/core-chrome-browser/tsconfig.json index 8a9b8b46147f1f..741519055e9868 100644 --- a/packages/core/chrome/core-chrome-browser/tsconfig.json +++ b/packages/core/chrome/core-chrome-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/config/core-config-server-internal/tsconfig.json b/packages/core/config/core-config-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/config/core-config-server-internal/tsconfig.json +++ b/packages/core/config/core-config-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/deprecations/core-deprecations-browser-internal/tsconfig.json b/packages/core/deprecations/core-deprecations-browser-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/deprecations/core-deprecations-browser-internal/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/deprecations/core-deprecations-browser-mocks/tsconfig.json b/packages/core/deprecations/core-deprecations-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/deprecations/core-deprecations-browser-mocks/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/deprecations/core-deprecations-browser/tsconfig.json b/packages/core/deprecations/core-deprecations-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/deprecations/core-deprecations-browser/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/deprecations/core-deprecations-common/tsconfig.json b/packages/core/deprecations/core-deprecations-common/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/deprecations/core-deprecations-common/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/deprecations/core-deprecations-server-internal/tsconfig.json b/packages/core/deprecations/core-deprecations-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/deprecations/core-deprecations-server-internal/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/deprecations/core-deprecations-server-mocks/tsconfig.json b/packages/core/deprecations/core-deprecations-server-mocks/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/deprecations/core-deprecations-server-mocks/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/deprecations/core-deprecations-server/tsconfig.json b/packages/core/deprecations/core-deprecations-server/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/deprecations/core-deprecations-server/tsconfig.json +++ b/packages/core/deprecations/core-deprecations-server/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/doc-links/core-doc-links-browser-internal/tsconfig.json b/packages/core/doc-links/core-doc-links-browser-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/doc-links/core-doc-links-browser-internal/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/doc-links/core-doc-links-browser-mocks/tsconfig.json b/packages/core/doc-links/core-doc-links-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/doc-links/core-doc-links-browser-mocks/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/doc-links/core-doc-links-browser/tsconfig.json b/packages/core/doc-links/core-doc-links-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/doc-links/core-doc-links-browser/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/doc-links/core-doc-links-server-internal/tsconfig.json b/packages/core/doc-links/core-doc-links-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/doc-links/core-doc-links-server-internal/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/doc-links/core-doc-links-server-mocks/tsconfig.json b/packages/core/doc-links/core-doc-links-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/doc-links/core-doc-links-server-mocks/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/doc-links/core-doc-links-server/tsconfig.json b/packages/core/doc-links/core-doc-links-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/doc-links/core-doc-links-server/tsconfig.json +++ b/packages/core/doc-links/core-doc-links-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/elasticsearch/core-elasticsearch-server/tsconfig.json b/packages/core/elasticsearch/core-elasticsearch-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server/tsconfig.json +++ b/packages/core/elasticsearch/core-elasticsearch-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/environment/core-environment-server-internal/tsconfig.json b/packages/core/environment/core-environment-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/environment/core-environment-server-internal/tsconfig.json +++ b/packages/core/environment/core-environment-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/environment/core-environment-server-mocks/tsconfig.json b/packages/core/environment/core-environment-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/environment/core-environment-server-mocks/tsconfig.json +++ b/packages/core/environment/core-environment-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/execution-context/core-execution-context-browser-internal/tsconfig.json b/packages/core/execution-context/core-execution-context-browser-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/execution-context/core-execution-context-browser-internal/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/execution-context/core-execution-context-browser-mocks/tsconfig.json b/packages/core/execution-context/core-execution-context-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/execution-context/core-execution-context-browser-mocks/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/execution-context/core-execution-context-browser/tsconfig.json b/packages/core/execution-context/core-execution-context-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/execution-context/core-execution-context-browser/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/execution-context/core-execution-context-common/tsconfig.json b/packages/core/execution-context/core-execution-context-common/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/execution-context/core-execution-context-common/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/execution-context/core-execution-context-server-internal/tsconfig.json b/packages/core/execution-context/core-execution-context-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/execution-context/core-execution-context-server-internal/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/execution-context/core-execution-context-server-mocks/tsconfig.json b/packages/core/execution-context/core-execution-context-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/execution-context/core-execution-context-server-mocks/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/execution-context/core-execution-context-server/tsconfig.json b/packages/core/execution-context/core-execution-context-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/execution-context/core-execution-context-server/tsconfig.json +++ b/packages/core/execution-context/core-execution-context-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/tsconfig.json b/packages/core/fatal-errors/core-fatal-errors-browser-internal/tsconfig.json index 4eb9855fa759d5..c561d9f220124e 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-internal/tsconfig.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/fatal-errors/core-fatal-errors-browser/tsconfig.json b/packages/core/fatal-errors/core-fatal-errors-browser/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser/tsconfig.json +++ b/packages/core/fatal-errors/core-fatal-errors-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/http/core-http-browser-internal/tsconfig.json b/packages/core/http/core-http-browser-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-browser-internal/tsconfig.json +++ b/packages/core/http/core-http-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-browser-mocks/tsconfig.json b/packages/core/http/core-http-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-browser-mocks/tsconfig.json +++ b/packages/core/http/core-http-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-browser/tsconfig.json b/packages/core/http/core-http-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-browser/tsconfig.json +++ b/packages/core/http/core-http-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-common/tsconfig.json b/packages/core/http/core-http-common/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-common/tsconfig.json +++ b/packages/core/http/core-http-common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-context-server-internal/tsconfig.json b/packages/core/http/core-http-context-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-context-server-internal/tsconfig.json +++ b/packages/core/http/core-http-context-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-context-server-mocks/tsconfig.json b/packages/core/http/core-http-context-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-context-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-context-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-request-handler-context-server-internal/tsconfig.json b/packages/core/http/core-http-request-handler-context-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/http/core-http-request-handler-context-server-internal/tsconfig.json +++ b/packages/core/http/core-http-request-handler-context-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-request-handler-context-server/tsconfig.json b/packages/core/http/core-http-request-handler-context-server/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/http/core-http-request-handler-context-server/tsconfig.json +++ b/packages/core/http/core-http-request-handler-context-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-resources-server-internal/tsconfig.json b/packages/core/http/core-http-resources-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/http/core-http-resources-server-internal/tsconfig.json +++ b/packages/core/http/core-http-resources-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-resources-server-mocks/tsconfig.json b/packages/core/http/core-http-resources-server-mocks/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/http/core-http-resources-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-resources-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-resources-server/tsconfig.json b/packages/core/http/core-http-resources-server/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/http/core-http-resources-server/tsconfig.json +++ b/packages/core/http/core-http-resources-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-router-server-internal/tsconfig.json b/packages/core/http/core-http-router-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-router-server-internal/tsconfig.json +++ b/packages/core/http/core-http-router-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-router-server-mocks/tsconfig.json b/packages/core/http/core-http-router-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-router-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-router-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-server-internal/tsconfig.json b/packages/core/http/core-http-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-server-internal/tsconfig.json +++ b/packages/core/http/core-http-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-server-mocks/tsconfig.json b/packages/core/http/core-http-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-server-mocks/tsconfig.json +++ b/packages/core/http/core-http-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/http/core-http-server/tsconfig.json b/packages/core/http/core-http-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/http/core-http-server/tsconfig.json +++ b/packages/core/http/core-http-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/i18n/core-i18n-browser-internal/tsconfig.json b/packages/core/i18n/core-i18n-browser-internal/tsconfig.json index 8a9b8b46147f1f..741519055e9868 100644 --- a/packages/core/i18n/core-i18n-browser-internal/tsconfig.json +++ b/packages/core/i18n/core-i18n-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json b/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json +++ b/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/i18n/core-i18n-browser/tsconfig.json b/packages/core/i18n/core-i18n-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/i18n/core-i18n-browser/tsconfig.json +++ b/packages/core/i18n/core-i18n-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/i18n/core-i18n-server-internal/tsconfig.json b/packages/core/i18n/core-i18n-server-internal/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/i18n/core-i18n-server-internal/tsconfig.json +++ b/packages/core/i18n/core-i18n-server-internal/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/i18n/core-i18n-server-mocks/tsconfig.json b/packages/core/i18n/core-i18n-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/i18n/core-i18n-server-mocks/tsconfig.json +++ b/packages/core/i18n/core-i18n-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/i18n/core-i18n-server/tsconfig.json b/packages/core/i18n/core-i18n-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/i18n/core-i18n-server/tsconfig.json +++ b/packages/core/i18n/core-i18n-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-internal/tsconfig.json b/packages/core/injected-metadata/core-injected-metadata-browser-internal/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-internal/tsconfig.json +++ b/packages/core/injected-metadata/core-injected-metadata-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/tsconfig.json b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/tsconfig.json +++ b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/injected-metadata/core-injected-metadata-browser/tsconfig.json b/packages/core/injected-metadata/core-injected-metadata-browser/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/injected-metadata/core-injected-metadata-browser/tsconfig.json +++ b/packages/core/injected-metadata/core-injected-metadata-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/injected-metadata/core-injected-metadata-common-internal/tsconfig.json b/packages/core/injected-metadata/core-injected-metadata-common-internal/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/injected-metadata/core-injected-metadata-common-internal/tsconfig.json +++ b/packages/core/injected-metadata/core-injected-metadata-common-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/integrations/core-integrations-browser-internal/tsconfig.json b/packages/core/integrations/core-integrations-browser-internal/tsconfig.json index bb5b7ea01eb294..e1805086a07a5a 100644 --- a/packages/core/integrations/core-integrations-browser-internal/tsconfig.json +++ b/packages/core/integrations/core-integrations-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/integrations/core-integrations-browser-mocks/tsconfig.json b/packages/core/integrations/core-integrations-browser-mocks/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/integrations/core-integrations-browser-mocks/tsconfig.json +++ b/packages/core/integrations/core-integrations-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/lifecycle/core-lifecycle-browser-internal/tsconfig.json b/packages/core/lifecycle/core-lifecycle-browser-internal/tsconfig.json index 91c6502f925cc7..61706db827bc47 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-internal/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json b/packages/core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json index 1fc18ba8b1f504..47ad657279cbb0 100644 --- a/packages/core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/lifecycle/core-lifecycle-browser/tsconfig.json b/packages/core/lifecycle/core-lifecycle-browser/tsconfig.json index 288ccfcbced9e3..48df8f2957246e 100644 --- a/packages/core/lifecycle/core-lifecycle-browser/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/lifecycle/core-lifecycle-server-internal/tsconfig.json b/packages/core/lifecycle/core-lifecycle-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/lifecycle/core-lifecycle-server-internal/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/lifecycle/core-lifecycle-server-mocks/tsconfig.json b/packages/core/lifecycle/core-lifecycle-server-mocks/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/lifecycle/core-lifecycle-server-mocks/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/lifecycle/core-lifecycle-server/tsconfig.json b/packages/core/lifecycle/core-lifecycle-server/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/lifecycle/core-lifecycle-server/tsconfig.json +++ b/packages/core/lifecycle/core-lifecycle-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/logging/core-logging-browser-internal/tsconfig.json b/packages/core/logging/core-logging-browser-internal/tsconfig.json index 25957cd665d111..fbd1249f662052 100644 --- a/packages/core/logging/core-logging-browser-internal/tsconfig.json +++ b/packages/core/logging/core-logging-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/logging/core-logging-browser-mocks/tsconfig.json b/packages/core/logging/core-logging-browser-mocks/tsconfig.json index 571fbfcd8ef259..37f8e83d0d7a68 100644 --- a/packages/core/logging/core-logging-browser-mocks/tsconfig.json +++ b/packages/core/logging/core-logging-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/logging/core-logging-common-internal/tsconfig.json b/packages/core/logging/core-logging-common-internal/tsconfig.json index 25957cd665d111..fbd1249f662052 100644 --- a/packages/core/logging/core-logging-common-internal/tsconfig.json +++ b/packages/core/logging/core-logging-common-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/logging/core-logging-server-internal/tsconfig.json b/packages/core/logging/core-logging-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/logging/core-logging-server-internal/tsconfig.json +++ b/packages/core/logging/core-logging-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/logging/core-logging-server-mocks/tsconfig.json b/packages/core/logging/core-logging-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/logging/core-logging-server-mocks/tsconfig.json +++ b/packages/core/logging/core-logging-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/logging/core-logging-server/tsconfig.json b/packages/core/logging/core-logging-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/logging/core-logging-server/tsconfig.json +++ b/packages/core/logging/core-logging-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/tsconfig.json b/packages/core/metrics/core-metrics-collectors-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/tsconfig.json +++ b/packages/core/metrics/core-metrics-collectors-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/metrics/core-metrics-collectors-server-mocks/tsconfig.json b/packages/core/metrics/core-metrics-collectors-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/metrics/core-metrics-collectors-server-mocks/tsconfig.json +++ b/packages/core/metrics/core-metrics-collectors-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/metrics/core-metrics-server-internal/tsconfig.json b/packages/core/metrics/core-metrics-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/metrics/core-metrics-server-internal/tsconfig.json +++ b/packages/core/metrics/core-metrics-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/metrics/core-metrics-server-mocks/tsconfig.json b/packages/core/metrics/core-metrics-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/metrics/core-metrics-server-mocks/tsconfig.json +++ b/packages/core/metrics/core-metrics-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/metrics/core-metrics-server/tsconfig.json b/packages/core/metrics/core-metrics-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/metrics/core-metrics-server/tsconfig.json +++ b/packages/core/metrics/core-metrics-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/mount-utils/core-mount-utils-browser-internal/tsconfig.json b/packages/core/mount-utils/core-mount-utils-browser-internal/tsconfig.json index 4eb9855fa759d5..c561d9f220124e 100644 --- a/packages/core/mount-utils/core-mount-utils-browser-internal/tsconfig.json +++ b/packages/core/mount-utils/core-mount-utils-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/mount-utils/core-mount-utils-browser/tsconfig.json b/packages/core/mount-utils/core-mount-utils-browser/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/mount-utils/core-mount-utils-browser/tsconfig.json +++ b/packages/core/mount-utils/core-mount-utils-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/node/core-node-server-internal/tsconfig.json b/packages/core/node/core-node-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/node/core-node-server-internal/tsconfig.json +++ b/packages/core/node/core-node-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/node/core-node-server-mocks/tsconfig.json b/packages/core/node/core-node-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/node/core-node-server-mocks/tsconfig.json +++ b/packages/core/node/core-node-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/node/core-node-server/tsconfig.json b/packages/core/node/core-node-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/node/core-node-server/tsconfig.json +++ b/packages/core/node/core-node-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/notifications/core-notifications-browser-internal/tsconfig.json b/packages/core/notifications/core-notifications-browser-internal/tsconfig.json index bb5b7ea01eb294..e1805086a07a5a 100644 --- a/packages/core/notifications/core-notifications-browser-internal/tsconfig.json +++ b/packages/core/notifications/core-notifications-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/notifications/core-notifications-browser-mocks/tsconfig.json b/packages/core/notifications/core-notifications-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/notifications/core-notifications-browser-mocks/tsconfig.json +++ b/packages/core/notifications/core-notifications-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/notifications/core-notifications-browser/tsconfig.json b/packages/core/notifications/core-notifications-browser/tsconfig.json index 84be4fe27d5d6b..3faa31fe437a86 100644 --- a/packages/core/notifications/core-notifications-browser/tsconfig.json +++ b/packages/core/notifications/core-notifications-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/overlays/core-overlays-browser-internal/tsconfig.json b/packages/core/overlays/core-overlays-browser-internal/tsconfig.json index bb5b7ea01eb294..e1805086a07a5a 100644 --- a/packages/core/overlays/core-overlays-browser-internal/tsconfig.json +++ b/packages/core/overlays/core-overlays-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/overlays/core-overlays-browser-mocks/tsconfig.json b/packages/core/overlays/core-overlays-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/overlays/core-overlays-browser-mocks/tsconfig.json +++ b/packages/core/overlays/core-overlays-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/overlays/core-overlays-browser/tsconfig.json b/packages/core/overlays/core-overlays-browser/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/overlays/core-overlays-browser/tsconfig.json +++ b/packages/core/overlays/core-overlays-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/plugins/core-plugins-base-server-internal/tsconfig.json b/packages/core/plugins/core-plugins-base-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/plugins/core-plugins-base-server-internal/tsconfig.json +++ b/packages/core/plugins/core-plugins-base-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/plugins/core-plugins-browser-internal/tsconfig.json b/packages/core/plugins/core-plugins-browser-internal/tsconfig.json index 1fc18ba8b1f504..47ad657279cbb0 100644 --- a/packages/core/plugins/core-plugins-browser-internal/tsconfig.json +++ b/packages/core/plugins/core-plugins-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/plugins/core-plugins-browser-mocks/tsconfig.json b/packages/core/plugins/core-plugins-browser-mocks/tsconfig.json index 1fc18ba8b1f504..47ad657279cbb0 100644 --- a/packages/core/plugins/core-plugins-browser-mocks/tsconfig.json +++ b/packages/core/plugins/core-plugins-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/plugins/core-plugins-browser/tsconfig.json b/packages/core/plugins/core-plugins-browser/tsconfig.json index 1fc18ba8b1f504..47ad657279cbb0 100644 --- a/packages/core/plugins/core-plugins-browser/tsconfig.json +++ b/packages/core/plugins/core-plugins-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/plugins/core-plugins-server-internal/tsconfig.json b/packages/core/plugins/core-plugins-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/plugins/core-plugins-server-internal/tsconfig.json +++ b/packages/core/plugins/core-plugins-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/plugins/core-plugins-server-mocks/tsconfig.json b/packages/core/plugins/core-plugins-server-mocks/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/plugins/core-plugins-server-mocks/tsconfig.json +++ b/packages/core/plugins/core-plugins-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/plugins/core-plugins-server/tsconfig.json b/packages/core/plugins/core-plugins-server/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/plugins/core-plugins-server/tsconfig.json +++ b/packages/core/plugins/core-plugins-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/preboot/core-preboot-server-internal/tsconfig.json b/packages/core/preboot/core-preboot-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/preboot/core-preboot-server-internal/tsconfig.json +++ b/packages/core/preboot/core-preboot-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/preboot/core-preboot-server-mocks/tsconfig.json b/packages/core/preboot/core-preboot-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/preboot/core-preboot-server-mocks/tsconfig.json +++ b/packages/core/preboot/core-preboot-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/preboot/core-preboot-server/tsconfig.json b/packages/core/preboot/core-preboot-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/preboot/core-preboot-server/tsconfig.json +++ b/packages/core/preboot/core-preboot-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/rendering/core-rendering-browser-internal/tsconfig.json b/packages/core/rendering/core-rendering-browser-internal/tsconfig.json index 571fbfcd8ef259..37f8e83d0d7a68 100644 --- a/packages/core/rendering/core-rendering-browser-internal/tsconfig.json +++ b/packages/core/rendering/core-rendering-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/rendering/core-rendering-browser-mocks/tsconfig.json b/packages/core/rendering/core-rendering-browser-mocks/tsconfig.json index 8a9b8b46147f1f..741519055e9868 100644 --- a/packages/core/rendering/core-rendering-browser-mocks/tsconfig.json +++ b/packages/core/rendering/core-rendering-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/rendering/core-rendering-server-internal/tsconfig.json b/packages/core/rendering/core-rendering-server-internal/tsconfig.json index 495e6859a42d17..2279a16c99adf3 100644 --- a/packages/core/rendering/core-rendering-server-internal/tsconfig.json +++ b/packages/core/rendering/core-rendering-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/rendering/core-rendering-server-mocks/tsconfig.json b/packages/core/rendering/core-rendering-server-mocks/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/rendering/core-rendering-server-mocks/tsconfig.json +++ b/packages/core/rendering/core-rendering-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/root/core-root-browser-internal/tsconfig.json b/packages/core/root/core-root-browser-internal/tsconfig.json index 1fc18ba8b1f504..47ad657279cbb0 100644 --- a/packages/core/root/core-root-browser-internal/tsconfig.json +++ b/packages/core/root/core-root-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/saved-objects/core-saved-objects-api-browser/tsconfig.json b/packages/core/saved-objects/core-saved-objects-api-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-api-browser/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-api-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-api-server-internal/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-api-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-api-server-mocks/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-api-server-mocks/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-api-server/tsconfig.json b/packages/core/saved-objects/core-saved-objects-api-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-api-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-base-server-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-base-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-base-server-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-base-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-browser-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-browser-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-browser-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-browser-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-browser/tsconfig.json b/packages/core/saved-objects/core-saved-objects-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-browser/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-common/tsconfig.json b/packages/core/saved-objects/core-saved-objects-common/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-common/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/tsconfig.json b/packages/core/saved-objects/core-saved-objects-server-internal/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-server-internal/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-server-mocks/tsconfig.json b/packages/core/saved-objects/core-saved-objects-server-mocks/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/saved-objects/core-saved-objects-server-mocks/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-server-mocks/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-server/tsconfig.json b/packages/core/saved-objects/core-saved-objects-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-server/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/tsconfig.json b/packages/core/saved-objects/core-saved-objects-utils-server/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/tsconfig.json +++ b/packages/core/saved-objects/core-saved-objects-utils-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/status/core-status-common-internal/tsconfig.json b/packages/core/status/core-status-common-internal/tsconfig.json index 8a9b8b46147f1f..741519055e9868 100644 --- a/packages/core/status/core-status-common-internal/tsconfig.json +++ b/packages/core/status/core-status-common-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/status/core-status-common/tsconfig.json b/packages/core/status/core-status-common/tsconfig.json index 8a9b8b46147f1f..741519055e9868 100644 --- a/packages/core/status/core-status-common/tsconfig.json +++ b/packages/core/status/core-status-common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/status/core-status-server-internal/tsconfig.json b/packages/core/status/core-status-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/status/core-status-server-internal/tsconfig.json +++ b/packages/core/status/core-status-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/status/core-status-server-mocks/tsconfig.json b/packages/core/status/core-status-server-mocks/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/status/core-status-server-mocks/tsconfig.json +++ b/packages/core/status/core-status-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/status/core-status-server/tsconfig.json b/packages/core/status/core-status-server/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/status/core-status-server/tsconfig.json +++ b/packages/core/status/core-status-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/test-helpers/core-test-helpers-deprecations-getters/tsconfig.json b/packages/core/test-helpers/core-test-helpers-deprecations-getters/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/test-helpers/core-test-helpers-deprecations-getters/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-deprecations-getters/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/test-helpers/core-test-helpers-http-setup-browser/tsconfig.json b/packages/core/test-helpers/core-test-helpers-http-setup-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/test-helpers/core-test-helpers-http-setup-browser/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-http-setup-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/tsconfig.json b/packages/core/test-helpers/core-test-helpers-so-type-serializer/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/test-helpers/core-test-helpers-test-utils/tsconfig.json b/packages/core/test-helpers/core-test-helpers-test-utils/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/test-helpers/core-test-helpers-test-utils/tsconfig.json +++ b/packages/core/test-helpers/core-test-helpers-test-utils/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/theme/core-theme-browser-internal/tsconfig.json b/packages/core/theme/core-theme-browser-internal/tsconfig.json index 4eb9855fa759d5..c561d9f220124e 100644 --- a/packages/core/theme/core-theme-browser-internal/tsconfig.json +++ b/packages/core/theme/core-theme-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/theme/core-theme-browser-mocks/tsconfig.json b/packages/core/theme/core-theme-browser-mocks/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/core/theme/core-theme-browser-mocks/tsconfig.json +++ b/packages/core/theme/core-theme-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/theme/core-theme-browser/tsconfig.json b/packages/core/theme/core-theme-browser/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/theme/core-theme-browser/tsconfig.json +++ b/packages/core/theme/core-theme-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/tsconfig.json b/packages/core/ui-settings/core-ui-settings-browser-internal/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/ui-settings/core-ui-settings-browser-mocks/tsconfig.json b/packages/core/ui-settings/core-ui-settings-browser-mocks/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-mocks/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-browser-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/ui-settings/core-ui-settings-browser/tsconfig.json b/packages/core/ui-settings/core-ui-settings-browser/tsconfig.json index 84be4fe27d5d6b..3faa31fe437a86 100644 --- a/packages/core/ui-settings/core-ui-settings-browser/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/core/ui-settings/core-ui-settings-common/tsconfig.json b/packages/core/ui-settings/core-ui-settings-common/tsconfig.json index af8fdef592c43a..ef521586433c95 100644 --- a/packages/core/ui-settings/core-ui-settings-common/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-common/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/tsconfig.json b/packages/core/ui-settings/core-ui-settings-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/ui-settings/core-ui-settings-server-mocks/tsconfig.json b/packages/core/ui-settings/core-ui-settings-server-mocks/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/ui-settings/core-ui-settings-server-mocks/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/ui-settings/core-ui-settings-server/tsconfig.json b/packages/core/ui-settings/core-ui-settings-server/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/ui-settings/core-ui-settings-server/tsconfig.json +++ b/packages/core/ui-settings/core-ui-settings-server/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/usage-data/core-usage-data-base-server-internal/tsconfig.json b/packages/core/usage-data/core-usage-data-base-server-internal/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/usage-data/core-usage-data-base-server-internal/tsconfig.json +++ b/packages/core/usage-data/core-usage-data-base-server-internal/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/usage-data/core-usage-data-server-internal/tsconfig.json b/packages/core/usage-data/core-usage-data-server-internal/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/usage-data/core-usage-data-server-internal/tsconfig.json +++ b/packages/core/usage-data/core-usage-data-server-internal/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/usage-data/core-usage-data-server-mocks/tsconfig.json b/packages/core/usage-data/core-usage-data-server-mocks/tsconfig.json index ff48529c6f303b..4582562d6c9bb4 100644 --- a/packages/core/usage-data/core-usage-data-server-mocks/tsconfig.json +++ b/packages/core/usage-data/core-usage-data-server-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/core/usage-data/core-usage-data-server/tsconfig.json b/packages/core/usage-data/core-usage-data-server/tsconfig.json index 3fe98195b374a7..4582562d6c9bb4 100644 --- a/packages/core/usage-data/core-usage-data-server/tsconfig.json +++ b/packages/core/usage-data/core-usage-data-server/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/home/sample_data_card/tsconfig.json b/packages/home/sample_data_card/tsconfig.json index 9fdd594692a282..158e1387bb883e 100644 --- a/packages/home/sample_data_card/tsconfig.json +++ b/packages/home/sample_data_card/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/home/sample_data_tab/tsconfig.json b/packages/home/sample_data_tab/tsconfig.json index 9fdd594692a282..158e1387bb883e 100644 --- a/packages/home/sample_data_tab/tsconfig.json +++ b/packages/home/sample_data_tab/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/home/sample_data_types/tsconfig.json b/packages/home/sample_data_types/tsconfig.json index 159c10aa98cece..2ff5d03a149c73 100644 --- a/packages/home/sample_data_types/tsconfig.json +++ b/packages/home/sample_data_types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/kbn-ace/tsconfig.json b/packages/kbn-ace/tsconfig.json index 8fd7178521b533..1cf2f1e9ac9a01 100644 --- a/packages/kbn-ace/tsconfig.json +++ b/packages/kbn-ace/tsconfig.json @@ -4,7 +4,7 @@ "allowJs": false, "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "stripInternal": true, "types": ["node"] }, diff --git a/packages/kbn-ambient-storybook-types/tsconfig.json b/packages/kbn-ambient-storybook-types/tsconfig.json index b816729f8b3546..c0217a1c1a0134 100644 --- a/packages/kbn-ambient-storybook-types/tsconfig.json +++ b/packages/kbn-ambient-storybook-types/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": "src", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/kbn-ambient-ui-types/tsconfig.json b/packages/kbn-ambient-ui-types/tsconfig.json index a86b5dfec75b95..6904725bb1b269 100644 --- a/packages/kbn-ambient-ui-types/tsconfig.json +++ b/packages/kbn-ambient-ui-types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "@types/react", ] diff --git a/packages/kbn-analytics/tsconfig.json b/packages/kbn-analytics/tsconfig.json index 40efa4b7c3830e..c1b62ffb7d142a 100644 --- a/packages/kbn-analytics/tsconfig.json +++ b/packages/kbn-analytics/tsconfig.json @@ -4,8 +4,7 @@ "declaration": true, "emitDeclarationOnly": true, "isolatedModules": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": [ "node" ] diff --git a/packages/kbn-apm-config-loader/tsconfig.json b/packages/kbn-apm-config-loader/tsconfig.json index 51d1f22922c473..57c1dd1c94e0f7 100644 --- a/packages/kbn-apm-config-loader/tsconfig.json +++ b/packages/kbn-apm-config-loader/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": false, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-axe-config/tsconfig.json b/packages/kbn-axe-config/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-axe-config/tsconfig.json +++ b/packages/kbn-axe-config/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-bazel-packages/tsconfig.json b/packages/kbn-bazel-packages/tsconfig.json index 54d35c4858e63a..b58cd70b2c6504 100644 --- a/packages/kbn-bazel-packages/tsconfig.json +++ b/packages/kbn-bazel-packages/tsconfig.json @@ -5,7 +5,6 @@ "emitDeclarationOnly": true, "checkJs": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-bazel-runner/tsconfig.json b/packages/kbn-bazel-runner/tsconfig.json index dbd1dff4ef9ea2..6065463237d140 100644 --- a/packages/kbn-bazel-runner/tsconfig.json +++ b/packages/kbn-bazel-runner/tsconfig.json @@ -5,7 +5,6 @@ "emitDeclarationOnly": true, "checkJs": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-cases-components/tsconfig.json b/packages/kbn-cases-components/tsconfig.json index 7b8e63a49fcb63..f48d8e4a548bfc 100644 --- a/packages/kbn-cases-components/tsconfig.json +++ b/packages/kbn-cases-components/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/kbn-ci-stats-core/tsconfig.json b/packages/kbn-ci-stats-core/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-ci-stats-core/tsconfig.json +++ b/packages/kbn-ci-stats-core/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-ci-stats-performance-metrics/tsconfig.json b/packages/kbn-ci-stats-performance-metrics/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-ci-stats-performance-metrics/tsconfig.json +++ b/packages/kbn-ci-stats-performance-metrics/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-ci-stats-reporter/tsconfig.json b/packages/kbn-ci-stats-reporter/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-ci-stats-reporter/tsconfig.json +++ b/packages/kbn-ci-stats-reporter/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-cli-dev-mode/tsconfig.json b/packages/kbn-cli-dev-mode/tsconfig.json index d59a0bbd408f14..60a261148e76bf 100644 --- a/packages/kbn-cli-dev-mode/tsconfig.json +++ b/packages/kbn-cli-dev-mode/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-coloring/tsconfig.json b/packages/kbn-coloring/tsconfig.json index 3f9461054a2c14..e0b5f2c0533058 100644 --- a/packages/kbn-coloring/tsconfig.json +++ b/packages/kbn-coloring/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/kbn-config-mocks/tsconfig.json b/packages/kbn-config-mocks/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-config-mocks/tsconfig.json +++ b/packages/kbn-config-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-config/tsconfig.json b/packages/kbn-config/tsconfig.json index 51d1f22922c473..57c1dd1c94e0f7 100644 --- a/packages/kbn-config/tsconfig.json +++ b/packages/kbn-config/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": false, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-crypto-browser/tsconfig.json b/packages/kbn-crypto-browser/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-crypto-browser/tsconfig.json +++ b/packages/kbn-crypto-browser/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-crypto/tsconfig.json b/packages/kbn-crypto/tsconfig.json index 3dcbf034e70bf3..f40f9a4ee1cfbb 100644 --- a/packages/kbn-crypto/tsconfig.json +++ b/packages/kbn-crypto/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-dev-cli-errors/tsconfig.json b/packages/kbn-dev-cli-errors/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-dev-cli-errors/tsconfig.json +++ b/packages/kbn-dev-cli-errors/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-dev-cli-runner/tsconfig.json b/packages/kbn-dev-cli-runner/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-dev-cli-runner/tsconfig.json +++ b/packages/kbn-dev-cli-runner/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-dev-proc-runner/tsconfig.json b/packages/kbn-dev-proc-runner/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-dev-proc-runner/tsconfig.json +++ b/packages/kbn-dev-proc-runner/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-dev-utils/tsconfig.json b/packages/kbn-dev-utils/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-dev-utils/tsconfig.json +++ b/packages/kbn-dev-utils/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-doc-links/tsconfig.json b/packages/kbn-doc-links/tsconfig.json index 1a036108f45791..60a261148e76bf 100644 --- a/packages/kbn-doc-links/tsconfig.json +++ b/packages/kbn-doc-links/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": false, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-es-archiver/tsconfig.json b/packages/kbn-es-archiver/tsconfig.json index d7a6decde32cd2..57c1dd1c94e0f7 100644 --- a/packages/kbn-es-archiver/tsconfig.json +++ b/packages/kbn-es-archiver/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-es-errors/tsconfig.json b/packages/kbn-es-errors/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-es-errors/tsconfig.json +++ b/packages/kbn-es-errors/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-es-query/tsconfig.json b/packages/kbn-es-query/tsconfig.json index 78afadbecae246..292157c18591a5 100644 --- a/packages/kbn-es-query/tsconfig.json +++ b/packages/kbn-es-query/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-es-types/tsconfig.json b/packages/kbn-es-types/tsconfig.json index 98e6b09c1c81ab..292157c18591a5 100644 --- a/packages/kbn-es-types/tsconfig.json +++ b/packages/kbn-es-types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-es/tsconfig.json b/packages/kbn-es/tsconfig.json index bfa142ccc520c8..a47c95fc504e8e 100644 --- a/packages/kbn-es/tsconfig.json +++ b/packages/kbn-es/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.bazel.json", "compilerOptions": { - "outDir": "target/types" + "outDir": "target_types" }, "include": [ "**/*.ts", diff --git a/packages/kbn-eslint-plugin-disable/tsconfig.json b/packages/kbn-eslint-plugin-disable/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-eslint-plugin-disable/tsconfig.json +++ b/packages/kbn-eslint-plugin-disable/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-eslint-plugin-imports/tsconfig.json b/packages/kbn-eslint-plugin-imports/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-eslint-plugin-imports/tsconfig.json +++ b/packages/kbn-eslint-plugin-imports/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-failed-test-reporter-cli/tsconfig.json b/packages/kbn-failed-test-reporter-cli/tsconfig.json index 98e6b09c1c81ab..292157c18591a5 100644 --- a/packages/kbn-failed-test-reporter-cli/tsconfig.json +++ b/packages/kbn-failed-test-reporter-cli/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-field-types/tsconfig.json b/packages/kbn-field-types/tsconfig.json index 580a9759f9e767..1cc4616a7ee49b 100644 --- a/packages/kbn-field-types/tsconfig.json +++ b/packages/kbn-field-types/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.bazel.json", "compilerOptions": { - "outDir": "./target_types", + "outDir": "target_types", "declaration": true, "emitDeclarationOnly": true, "types": [ diff --git a/packages/kbn-find-used-node-modules/tsconfig.json b/packages/kbn-find-used-node-modules/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-find-used-node-modules/tsconfig.json +++ b/packages/kbn-find-used-node-modules/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-ftr-common-functional-services/tsconfig.json b/packages/kbn-ftr-common-functional-services/tsconfig.json index 98e6b09c1c81ab..292157c18591a5 100644 --- a/packages/kbn-ftr-common-functional-services/tsconfig.json +++ b/packages/kbn-ftr-common-functional-services/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-ftr-screenshot-filename/tsconfig.json b/packages/kbn-ftr-screenshot-filename/tsconfig.json index 98e6b09c1c81ab..292157c18591a5 100644 --- a/packages/kbn-ftr-screenshot-filename/tsconfig.json +++ b/packages/kbn-ftr-screenshot-filename/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-generate/templates/package/tsconfig.json.ejs b/packages/kbn-generate/templates/package/tsconfig.json.ejs index 9ce192ed67b46d..2b1e544d342396 100644 --- a/packages/kbn-generate/templates/package/tsconfig.json.ejs +++ b/packages/kbn-generate/templates/package/tsconfig.json.ejs @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ <%_ if (pkg.web) { _%> "jest", diff --git a/packages/kbn-generate/tsconfig.json b/packages/kbn-generate/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-generate/tsconfig.json +++ b/packages/kbn-generate/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-get-repo-files/tsconfig.json b/packages/kbn-get-repo-files/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-get-repo-files/tsconfig.json +++ b/packages/kbn-get-repo-files/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-guided-onboarding/tsconfig.json b/packages/kbn-guided-onboarding/tsconfig.json index d28fc4d40371b8..16588a28c9bfb5 100644 --- a/packages/kbn-guided-onboarding/tsconfig.json +++ b/packages/kbn-guided-onboarding/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/kbn-handlebars/tsconfig.json b/packages/kbn-handlebars/tsconfig.json index d7a6decde32cd2..57c1dd1c94e0f7 100644 --- a/packages/kbn-handlebars/tsconfig.json +++ b/packages/kbn-handlebars/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-hapi-mocks/tsconfig.json b/packages/kbn-hapi-mocks/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-hapi-mocks/tsconfig.json +++ b/packages/kbn-hapi-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-i18n-react/tsconfig.json b/packages/kbn-i18n-react/tsconfig.json index a673e39a05ac11..14bb804696bbda 100644 --- a/packages/kbn-i18n-react/tsconfig.json +++ b/packages/kbn-i18n-react/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-i18n/tsconfig.json b/packages/kbn-i18n/tsconfig.json index 7b1a7613f0f513..90a2bc53a9b1c3 100644 --- a/packages/kbn-i18n/tsconfig.json +++ b/packages/kbn-i18n/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-import-resolver/tsconfig.json b/packages/kbn-import-resolver/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-import-resolver/tsconfig.json +++ b/packages/kbn-import-resolver/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-interpreter/tsconfig.json b/packages/kbn-interpreter/tsconfig.json index 3b64720265657a..57eff16f422bbe 100644 --- a/packages/kbn-interpreter/tsconfig.json +++ b/packages/kbn-interpreter/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-io-ts-utils/tsconfig.json b/packages/kbn-io-ts-utils/tsconfig.json index 51d1f22922c473..57c1dd1c94e0f7 100644 --- a/packages/kbn-io-ts-utils/tsconfig.json +++ b/packages/kbn-io-ts-utils/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": false, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-jest-serializers/tsconfig.json b/packages/kbn-jest-serializers/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-jest-serializers/tsconfig.json +++ b/packages/kbn-jest-serializers/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-journeys/tsconfig.json b/packages/kbn-journeys/tsconfig.json index 73854b491efabf..d625ae13bf409e 100644 --- a/packages/kbn-journeys/tsconfig.json +++ b/packages/kbn-journeys/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "mocha", "node" diff --git a/packages/kbn-kibana-manifest-schema/tsconfig.json b/packages/kbn-kibana-manifest-schema/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-kibana-manifest-schema/tsconfig.json +++ b/packages/kbn-kibana-manifest-schema/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-language-documentation-popover/tsconfig.json b/packages/kbn-language-documentation-popover/tsconfig.json index 9420678ac59f23..ab59ea0429ac2a 100644 --- a/packages/kbn-language-documentation-popover/tsconfig.json +++ b/packages/kbn-language-documentation-popover/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node", diff --git a/packages/kbn-logging-mocks/tsconfig.json b/packages/kbn-logging-mocks/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-logging-mocks/tsconfig.json +++ b/packages/kbn-logging-mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-logging/tsconfig.json b/packages/kbn-logging/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-logging/tsconfig.json +++ b/packages/kbn-logging/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-managed-vscode-config-cli/tsconfig.json b/packages/kbn-managed-vscode-config-cli/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-managed-vscode-config-cli/tsconfig.json +++ b/packages/kbn-managed-vscode-config-cli/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-managed-vscode-config/tsconfig.json b/packages/kbn-managed-vscode-config/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-managed-vscode-config/tsconfig.json +++ b/packages/kbn-managed-vscode-config/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-monaco/tsconfig.json b/packages/kbn-monaco/tsconfig.json index e717ec6c3149f2..abba6736b0c285 100644 --- a/packages/kbn-monaco/tsconfig.json +++ b/packages/kbn-monaco/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-optimizer-webpack-helpers/tsconfig.json b/packages/kbn-optimizer-webpack-helpers/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-optimizer-webpack-helpers/tsconfig.json +++ b/packages/kbn-optimizer-webpack-helpers/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-optimizer/tsconfig.json b/packages/kbn-optimizer/tsconfig.json index e2ce5c11570c72..93c0f5ba2a57ff 100644 --- a/packages/kbn-optimizer/tsconfig.json +++ b/packages/kbn-optimizer/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-performance-testing-dataset-extractor/tsconfig.json b/packages/kbn-performance-testing-dataset-extractor/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-performance-testing-dataset-extractor/tsconfig.json +++ b/packages/kbn-performance-testing-dataset-extractor/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-plugin-discovery/tsconfig.json b/packages/kbn-plugin-discovery/tsconfig.json index 819cbb943e5f15..e5578a8b0eeac1 100644 --- a/packages/kbn-plugin-discovery/tsconfig.json +++ b/packages/kbn-plugin-discovery/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "checkJs": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-react-field/tsconfig.json b/packages/kbn-react-field/tsconfig.json index 9420678ac59f23..ab59ea0429ac2a 100644 --- a/packages/kbn-react-field/tsconfig.json +++ b/packages/kbn-react-field/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node", diff --git a/packages/kbn-repo-source-classifier-cli/tsconfig.json b/packages/kbn-repo-source-classifier-cli/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-repo-source-classifier-cli/tsconfig.json +++ b/packages/kbn-repo-source-classifier-cli/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-repo-source-classifier/tsconfig.json b/packages/kbn-repo-source-classifier/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-repo-source-classifier/tsconfig.json +++ b/packages/kbn-repo-source-classifier/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-rule-data-utils/tsconfig.json b/packages/kbn-rule-data-utils/tsconfig.json index 51d1f22922c473..57c1dd1c94e0f7 100644 --- a/packages/kbn-rule-data-utils/tsconfig.json +++ b/packages/kbn-rule-data-utils/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": false, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-securitysolution-exception-list-components/tsconfig.json b/packages/kbn-securitysolution-exception-list-components/tsconfig.json index 29f59e3a040d3d..e1a84c71fdfd19 100644 --- a/packages/kbn-securitysolution-exception-list-components/tsconfig.json +++ b/packages/kbn-securitysolution-exception-list-components/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/kbn-server-http-tools/tsconfig.json b/packages/kbn-server-http-tools/tsconfig.json index a220affbfc45ac..57c1dd1c94e0f7 100644 --- a/packages/kbn-server-http-tools/tsconfig.json +++ b/packages/kbn-server-http-tools/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target/types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-server-route-repository/tsconfig.json b/packages/kbn-server-route-repository/tsconfig.json index 825b15f4cb4194..a1cd5336c62556 100644 --- a/packages/kbn-server-route-repository/tsconfig.json +++ b/packages/kbn-server-route-repository/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": false, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-shared-svg/tsconfig.json b/packages/kbn-shared-svg/tsconfig.json index cd57547f720770..df76c43764ad6a 100644 --- a/packages/kbn-shared-svg/tsconfig.json +++ b/packages/kbn-shared-svg/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/kbn-shared-ux-utility/tsconfig.json b/packages/kbn-shared-ux-utility/tsconfig.json index a79192e00175e8..4990376ba9063f 100644 --- a/packages/kbn-shared-ux-utility/tsconfig.json +++ b/packages/kbn-shared-ux-utility/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/kbn-some-dev-log/tsconfig.json b/packages/kbn-some-dev-log/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-some-dev-log/tsconfig.json +++ b/packages/kbn-some-dev-log/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-sort-package-json/tsconfig.json b/packages/kbn-sort-package-json/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-sort-package-json/tsconfig.json +++ b/packages/kbn-sort-package-json/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-std/tsconfig.json b/packages/kbn-std/tsconfig.json index ae16eba4505a97..292157c18591a5 100644 --- a/packages/kbn-std/tsconfig.json +++ b/packages/kbn-std/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-stdio-dev-helpers/tsconfig.json b/packages/kbn-stdio-dev-helpers/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-stdio-dev-helpers/tsconfig.json +++ b/packages/kbn-stdio-dev-helpers/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-synthetic-package-map/tsconfig.json b/packages/kbn-synthetic-package-map/tsconfig.json index 7b74a1e555c86c..75177b5488a9b1 100644 --- a/packages/kbn-synthetic-package-map/tsconfig.json +++ b/packages/kbn-synthetic-package-map/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "node" ] diff --git a/packages/kbn-telemetry-tools/tsconfig.json b/packages/kbn-telemetry-tools/tsconfig.json index f910e6b2f0bacb..59c205335d6ab7 100644 --- a/packages/kbn-telemetry-tools/tsconfig.json +++ b/packages/kbn-telemetry-tools/tsconfig.json @@ -4,7 +4,7 @@ "declaration": true, "emitDeclarationOnly": true, "isolatedModules": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-test-jest-helpers/tsconfig.json b/packages/kbn-test-jest-helpers/tsconfig.json index 4a70c2e13a6dfe..2b02a63db1d057 100644 --- a/packages/kbn-test-jest-helpers/tsconfig.json +++ b/packages/kbn-test-jest-helpers/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": ["jest", "node"] }, "include": [ diff --git a/packages/kbn-test-subj-selector/tsconfig.json b/packages/kbn-test-subj-selector/tsconfig.json index 98e6b09c1c81ab..292157c18591a5 100644 --- a/packages/kbn-test-subj-selector/tsconfig.json +++ b/packages/kbn-test-subj-selector/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-test/tsconfig.json b/packages/kbn-test/tsconfig.json index 8b4a1a0e713c09..282d23e8bcb126 100644 --- a/packages/kbn-test/tsconfig.json +++ b/packages/kbn-test/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "stripInternal": true, "types": ["jest", "node"] }, diff --git a/packages/kbn-tooling-log/tsconfig.json b/packages/kbn-tooling-log/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-tooling-log/tsconfig.json +++ b/packages/kbn-tooling-log/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-type-summarizer-cli/tsconfig.json b/packages/kbn-type-summarizer-cli/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-type-summarizer-cli/tsconfig.json +++ b/packages/kbn-type-summarizer-cli/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-type-summarizer-core/tsconfig.json b/packages/kbn-type-summarizer-core/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-type-summarizer-core/tsconfig.json +++ b/packages/kbn-type-summarizer-core/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-type-summarizer/tsconfig.json b/packages/kbn-type-summarizer/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-type-summarizer/tsconfig.json +++ b/packages/kbn-type-summarizer/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/kbn-typed-react-router-config/tsconfig.json b/packages/kbn-typed-react-router-config/tsconfig.json index 77747d770c2aa3..4c1b75ae89f883 100644 --- a/packages/kbn-typed-react-router-config/tsconfig.json +++ b/packages/kbn-typed-react-router-config/tsconfig.json @@ -4,8 +4,7 @@ "declaration": true, "emitDeclarationOnly": true, "isolatedModules": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": [ "node", "jest" diff --git a/packages/kbn-ui-shared-deps-npm/tsconfig.json b/packages/kbn-ui-shared-deps-npm/tsconfig.json index 376457cce75ef4..e142364eaa188b 100644 --- a/packages/kbn-ui-shared-deps-npm/tsconfig.json +++ b/packages/kbn-ui-shared-deps-npm/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "node", ] diff --git a/packages/kbn-ui-shared-deps-src/tsconfig.json b/packages/kbn-ui-shared-deps-src/tsconfig.json index 376457cce75ef4..e142364eaa188b 100644 --- a/packages/kbn-ui-shared-deps-src/tsconfig.json +++ b/packages/kbn-ui-shared-deps-src/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", + "outDir": "target_types", "types": [ "node", ] diff --git a/packages/kbn-ui-theme/tsconfig.json b/packages/kbn-ui-theme/tsconfig.json index 05fa2c9e696b5a..7eae44ef232451 100644 --- a/packages/kbn-ui-theme/tsconfig.json +++ b/packages/kbn-ui-theme/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": ["node"] }, "include": [ diff --git a/packages/kbn-user-profile-components/tsconfig.json b/packages/kbn-user-profile-components/tsconfig.json index c94005d6749329..b9cc115dd12648 100644 --- a/packages/kbn-user-profile-components/tsconfig.json +++ b/packages/kbn-user-profile-components/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-utility-types-jest/tsconfig.json b/packages/kbn-utility-types-jest/tsconfig.json index ae16eba4505a97..292157c18591a5 100644 --- a/packages/kbn-utility-types-jest/tsconfig.json +++ b/packages/kbn-utility-types-jest/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": [ "jest", "node" diff --git a/packages/kbn-utility-types/tsconfig.json b/packages/kbn-utility-types/tsconfig.json index 19facb3c91abae..57347ee107af55 100644 --- a/packages/kbn-utility-types/tsconfig.json +++ b/packages/kbn-utility-types/tsconfig.json @@ -3,8 +3,7 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, - "outDir": "./target_types", - "stripInternal": true, + "outDir": "target_types", "types": [ "node" ] diff --git a/packages/kbn-yarn-lock-validator/tsconfig.json b/packages/kbn-yarn-lock-validator/tsconfig.json index 118bd3fb10818f..57c1dd1c94e0f7 100644 --- a/packages/kbn-yarn-lock-validator/tsconfig.json +++ b/packages/kbn-yarn-lock-validator/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node" diff --git a/packages/shared-ux/avatar/solution/tsconfig.json b/packages/shared-ux/avatar/solution/tsconfig.json index 21b85ae51cd13e..5cb7bca42f195e 100644 --- a/packages/shared-ux/avatar/solution/tsconfig.json +++ b/packages/shared-ux/avatar/solution/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/avatar/user_profile/impl/tsconfig.json b/packages/shared-ux/avatar/user_profile/impl/tsconfig.json index d1cc3a9c6e9964..d68e5f7ddeffa1 100644 --- a/packages/shared-ux/avatar/user_profile/impl/tsconfig.json +++ b/packages/shared-ux/avatar/user_profile/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json b/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json index 7d24ab6a036bab..10624c45bc7cb7 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json +++ b/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json b/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json index 56a703280be4ea..a00de7fc73226f 100644 --- a/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json +++ b/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/button/exit_full_screen/types/tsconfig.json b/packages/shared-ux/button/exit_full_screen/types/tsconfig.json index a109753c204589..b863eab85b68eb 100644 --- a/packages/shared-ux/button/exit_full_screen/types/tsconfig.json +++ b/packages/shared-ux/button/exit_full_screen/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/button_toolbar/tsconfig.json b/packages/shared-ux/button_toolbar/tsconfig.json index 9fdd594692a282..158e1387bb883e 100644 --- a/packages/shared-ux/button_toolbar/tsconfig.json +++ b/packages/shared-ux/button_toolbar/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/card/no_data/impl/tsconfig.json b/packages/shared-ux/card/no_data/impl/tsconfig.json index 608ee34a18e414..5735aa5eceaa8b 100644 --- a/packages/shared-ux/card/no_data/impl/tsconfig.json +++ b/packages/shared-ux/card/no_data/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/card/no_data/mocks/tsconfig.json b/packages/shared-ux/card/no_data/mocks/tsconfig.json index 307c421c355d76..4703a8ebf5e351 100644 --- a/packages/shared-ux/card/no_data/mocks/tsconfig.json +++ b/packages/shared-ux/card/no_data/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/card/no_data/types/tsconfig.json b/packages/shared-ux/card/no_data/types/tsconfig.json index a109753c204589..b863eab85b68eb 100644 --- a/packages/shared-ux/card/no_data/types/tsconfig.json +++ b/packages/shared-ux/card/no_data/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/link/redirect_app/impl/tsconfig.json b/packages/shared-ux/link/redirect_app/impl/tsconfig.json index 31fd6028817442..e5cd0acc7e3fb8 100644 --- a/packages/shared-ux/link/redirect_app/impl/tsconfig.json +++ b/packages/shared-ux/link/redirect_app/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/link/redirect_app/mocks/tsconfig.json b/packages/shared-ux/link/redirect_app/mocks/tsconfig.json index 56a703280be4ea..a00de7fc73226f 100644 --- a/packages/shared-ux/link/redirect_app/mocks/tsconfig.json +++ b/packages/shared-ux/link/redirect_app/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/link/redirect_app/types/tsconfig.json b/packages/shared-ux/link/redirect_app/types/tsconfig.json index e4aed6f220b10b..f566d00dd2704a 100644 --- a/packages/shared-ux/link/redirect_app/types/tsconfig.json +++ b/packages/shared-ux/link/redirect_app/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "rxjs", "@types/react", diff --git a/packages/shared-ux/markdown/impl/tsconfig.json b/packages/shared-ux/markdown/impl/tsconfig.json index dbb261fbbc4130..60680c404dcdc1 100644 --- a/packages/shared-ux/markdown/impl/tsconfig.json +++ b/packages/shared-ux/markdown/impl/tsconfig.json @@ -4,11 +4,10 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", - "react", + "react", "@kbn/ambient-ui-types", ] }, diff --git a/packages/shared-ux/markdown/mocks/tsconfig.json b/packages/shared-ux/markdown/mocks/tsconfig.json index d087908a4bc006..c8559330de3102 100644 --- a/packages/shared-ux/markdown/mocks/tsconfig.json +++ b/packages/shared-ux/markdown/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "node", "react" diff --git a/packages/shared-ux/markdown/types/tsconfig.json b/packages/shared-ux/markdown/types/tsconfig.json index ad91a6945198fe..3cffae3f70336f 100644 --- a/packages/shared-ux/markdown/types/tsconfig.json +++ b/packages/shared-ux/markdown/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "rxjs", "@types/react", diff --git a/packages/shared-ux/page/analytics_no_data/impl/tsconfig.json b/packages/shared-ux/page/analytics_no_data/impl/tsconfig.json index 0b9a552bee78cd..7c5977f8a08402 100644 --- a/packages/shared-ux/page/analytics_no_data/impl/tsconfig.json +++ b/packages/shared-ux/page/analytics_no_data/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json b/packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json index 307c421c355d76..4703a8ebf5e351 100644 --- a/packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json +++ b/packages/shared-ux/page/analytics_no_data/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/analytics_no_data/types/tsconfig.json b/packages/shared-ux/page/analytics_no_data/types/tsconfig.json index a109753c204589..b863eab85b68eb 100644 --- a/packages/shared-ux/page/analytics_no_data/types/tsconfig.json +++ b/packages/shared-ux/page/analytics_no_data/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/page/kibana_no_data/impl/tsconfig.json b/packages/shared-ux/page/kibana_no_data/impl/tsconfig.json index 6e42e35ef76f64..1f377c27d0e2df 100644 --- a/packages/shared-ux/page/kibana_no_data/impl/tsconfig.json +++ b/packages/shared-ux/page/kibana_no_data/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json b/packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json index 56a703280be4ea..a00de7fc73226f 100644 --- a/packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json +++ b/packages/shared-ux/page/kibana_no_data/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/kibana_no_data/types/tsconfig.json b/packages/shared-ux/page/kibana_no_data/types/tsconfig.json index a109753c204589..b863eab85b68eb 100644 --- a/packages/shared-ux/page/kibana_no_data/types/tsconfig.json +++ b/packages/shared-ux/page/kibana_no_data/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/page/kibana_template/impl/tsconfig.json b/packages/shared-ux/page/kibana_template/impl/tsconfig.json index 4baaa9985adb55..cf7982b9ab1e61 100644 --- a/packages/shared-ux/page/kibana_template/impl/tsconfig.json +++ b/packages/shared-ux/page/kibana_template/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/kibana_template/mocks/tsconfig.json b/packages/shared-ux/page/kibana_template/mocks/tsconfig.json index a6a4dabce03f1b..4c2618f5b3a193 100644 --- a/packages/shared-ux/page/kibana_template/mocks/tsconfig.json +++ b/packages/shared-ux/page/kibana_template/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/kibana_template/types/tsconfig.json b/packages/shared-ux/page/kibana_template/types/tsconfig.json index a109753c204589..b863eab85b68eb 100644 --- a/packages/shared-ux/page/kibana_template/types/tsconfig.json +++ b/packages/shared-ux/page/kibana_template/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/page/no_data/impl/tsconfig.json b/packages/shared-ux/page/no_data/impl/tsconfig.json index f970a21467add0..ce5320536e5635 100644 --- a/packages/shared-ux/page/no_data/impl/tsconfig.json +++ b/packages/shared-ux/page/no_data/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/no_data/mocks/tsconfig.json b/packages/shared-ux/page/no_data/mocks/tsconfig.json index 307c421c355d76..4703a8ebf5e351 100644 --- a/packages/shared-ux/page/no_data/mocks/tsconfig.json +++ b/packages/shared-ux/page/no_data/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/no_data/types/tsconfig.json b/packages/shared-ux/page/no_data/types/tsconfig.json index a109753c204589..b863eab85b68eb 100644 --- a/packages/shared-ux/page/no_data/types/tsconfig.json +++ b/packages/shared-ux/page/no_data/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/page/no_data_config/impl/tsconfig.json b/packages/shared-ux/page/no_data_config/impl/tsconfig.json index 0b9a552bee78cd..7c5977f8a08402 100644 --- a/packages/shared-ux/page/no_data_config/impl/tsconfig.json +++ b/packages/shared-ux/page/no_data_config/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/no_data_config/mocks/tsconfig.json b/packages/shared-ux/page/no_data_config/mocks/tsconfig.json index 307c421c355d76..4703a8ebf5e351 100644 --- a/packages/shared-ux/page/no_data_config/mocks/tsconfig.json +++ b/packages/shared-ux/page/no_data_config/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/page/no_data_config/types/tsconfig.json b/packages/shared-ux/page/no_data_config/types/tsconfig.json index a109753c204589..b863eab85b68eb 100644 --- a/packages/shared-ux/page/no_data_config/types/tsconfig.json +++ b/packages/shared-ux/page/no_data_config/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/page/solution_nav/tsconfig.json b/packages/shared-ux/page/solution_nav/tsconfig.json index 21b85ae51cd13e..5cb7bca42f195e 100644 --- a/packages/shared-ux/page/solution_nav/tsconfig.json +++ b/packages/shared-ux/page/solution_nav/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/prompt/no_data_views/impl/tsconfig.json b/packages/shared-ux/prompt/no_data_views/impl/tsconfig.json index 8a581e37609031..5893035fdd7701 100644 --- a/packages/shared-ux/prompt/no_data_views/impl/tsconfig.json +++ b/packages/shared-ux/prompt/no_data_views/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json b/packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json index 56a703280be4ea..a00de7fc73226f 100644 --- a/packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json +++ b/packages/shared-ux/prompt/no_data_views/mocks/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/prompt/no_data_views/types/tsconfig.json b/packages/shared-ux/prompt/no_data_views/types/tsconfig.json index a109753c204589..b863eab85b68eb 100644 --- a/packages/shared-ux/prompt/no_data_views/types/tsconfig.json +++ b/packages/shared-ux/prompt/no_data_views/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/router/impl/tsconfig.json b/packages/shared-ux/router/impl/tsconfig.json index b804dcf4531f64..475b363297f654 100644 --- a/packages/shared-ux/router/impl/tsconfig.json +++ b/packages/shared-ux/router/impl/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/router/mocks/tsconfig.json b/packages/shared-ux/router/mocks/tsconfig.json index 6548f04ad9fd31..37f8e83d0d7a68 100644 --- a/packages/shared-ux/router/mocks/tsconfig.json +++ b/packages/shared-ux/router/mocks/tsconfig.json @@ -4,8 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "rootDir": ".", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/router/types/tsconfig.json b/packages/shared-ux/router/types/tsconfig.json index 8ad061f2a6e2b8..9b572c50a398e8 100644 --- a/packages/shared-ux/router/types/tsconfig.json +++ b/packages/shared-ux/router/types/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [] }, "include": [ diff --git a/packages/shared-ux/storybook/config/tsconfig.json b/packages/shared-ux/storybook/config/tsconfig.json index c19d100b90e404..8beb0a5da38abc 100644 --- a/packages/shared-ux/storybook/config/tsconfig.json +++ b/packages/shared-ux/storybook/config/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", diff --git a/packages/shared-ux/storybook/mock/tsconfig.json b/packages/shared-ux/storybook/mock/tsconfig.json index d5dece108de5d7..3cdea36de9eacb 100644 --- a/packages/shared-ux/storybook/mock/tsconfig.json +++ b/packages/shared-ux/storybook/mock/tsconfig.json @@ -4,7 +4,6 @@ "declaration": true, "emitDeclarationOnly": true, "outDir": "target_types", - "stripInternal": false, "types": [ "jest", "node", From 11c3856d27a117aeb5a350d2dbc049443f79d785 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 3 Nov 2022 00:52:17 -0400 Subject: [PATCH 27/37] [api-docs] Daily api_docs build (#144495) --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.devdocs.json | 150 +- api_docs/apm.mdx | 9 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.devdocs.json | 10 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/core.devdocs.json | 64 +- api_docs/core.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.devdocs.json | 184 ++- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.devdocs.json | 276 ++-- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 10 +- api_docs/deprecations_by_plugin.mdx | 20 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.devdocs.json | 198 ++- api_docs/expression_heatmap.mdx | 4 +- api_docs/expression_image.mdx | 2 +- .../expression_legacy_metric_vis.devdocs.json | 30 + api_docs/expression_legacy_metric_vis.mdx | 4 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.devdocs.json | 24 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/fleet.devdocs.json | 20 +- api_docs/fleet.mdx | 4 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- api_docs/kbn_alerts.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.devdocs.json | 16 +- api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_table_list.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- ...kbn_core_apps_server_internal.devdocs.json | 165 ++ api_docs/kbn_core_apps_server_internal.mdx | 30 + api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- .../kbn_core_injected_metadata_browser.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- ...kbn_core_node_server_internal.devdocs.json | 36 + api_docs/kbn_core_node_server_internal.mdx | 4 +- .../kbn_core_node_server_mocks.devdocs.json | 39 + api_docs/kbn_core_node_server_mocks.mdx | 4 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...core_saved_objects_api_server_internal.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- ...kbn_core_saved_objects_common.devdocs.json | 16 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...cts_migration_server_internal.devdocs.json | 13 +- ...aved_objects_migration_server_internal.mdx | 4 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...saved_objects_server_internal.devdocs.json | 4 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_internal.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_get_repo_files.mdx | 2 +- api_docs/kbn_guided_onboarding.devdocs.json | 21 +- api_docs/kbn_guided_onboarding.mdx | 4 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- ..._securitysolution_io_ts_types.devdocs.json | 6 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_sort_package_json.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_type_summarizer.mdx | 2 +- api_docs/kbn_type_summarizer_core.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.devdocs.json | 55 +- api_docs/lens.mdx | 4 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.devdocs.json | 4 +- api_docs/lists.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/observability.devdocs.json | 24 +- api_docs/observability.mdx | 4 +- api_docs/osquery.mdx | 2 +- api_docs/plugin_directory.mdx | 31 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_field_list.devdocs.json | 1401 ++++++++++++++++- api_docs/unified_field_list.mdx | 7 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.devdocs.json | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.devdocs.json | 125 +- api_docs/visualizations.mdx | 4 +- 456 files changed, 2914 insertions(+), 948 deletions(-) create mode 100644 api_docs/kbn_core_apps_server_internal.devdocs.json create mode 100644 api_docs/kbn_core_apps_server_internal.mdx diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 52942544eb15fd..45ae25e9b17c0d 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: 2022-11-02 +date: 2022-11-03 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 b6f4e9b984a96f..bd29be2c004817 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: 2022-11-02 +date: 2022-11-03 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 54cbebe0b68193..936c9a2367ae24 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: 2022-11-02 +date: 2022-11-03 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 3715af8a1501fb..f530f33d11f746 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: 2022-11-02 +date: 2022-11-03 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 28b91d38809c7c..31dd709c19c753 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -795,7 +795,7 @@ "label": "APIEndpoint", "description": [], "signature": [ - "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search\" | \"POST /api/apm/services/{serviceName}/annotation\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/sorted_and_filtered_services\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service_groups/services_count\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /api/apm/settings/agent-configuration\" | \"GET /api/apm/settings/agent-configuration/view\" | \"DELETE /api/apm/settings/agent-configuration\" | \"PUT /api/apm/settings/agent-configuration\" | \"POST /api/apm/settings/agent-configuration/search\" | \"GET /api/apm/settings/agent-configuration/environments\" | \"GET /api/apm/settings/agent-configuration/agent_name\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps\" | \"POST /api/apm/sourcemaps\" | \"DELETE /api/apm/sourcemaps/{id}\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"POST /internal/apm/correlations/field_stats/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\"" + "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search\" | \"POST /api/apm/services/{serviceName}/annotation\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/sorted_and_filtered_services\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service_groups/services_count\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /api/apm/settings/agent-configuration\" | \"GET /api/apm/settings/agent-configuration/view\" | \"DELETE /api/apm/settings/agent-configuration\" | \"PUT /api/apm/settings/agent-configuration\" | \"POST /api/apm/settings/agent-configuration/search\" | \"GET /api/apm/settings/agent-configuration/environments\" | \"GET /api/apm/settings/agent-configuration/agent_name\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps\" | \"POST /api/apm/sourcemaps\" | \"DELETE /api/apm/sourcemaps/{id}\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"POST /internal/apm/correlations/field_stats/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\"" ], "path": "x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts", "deprecated": false, @@ -903,7 +903,11 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">]>; }>]>; }>, ", + ">]>; }>, ", + "PartialC", + "<{ transactionType: ", + "StringC", + "; }>]>; }>, ", { "pluginId": "apm", "scope": "server", @@ -4495,6 +4499,74 @@ }, ", { transactionGroups: { transactionType: string; name: string; latency: number | null; throughput: number; errorRate: number; impact: number; }[]; isAggregationAccurate: boolean; bucketSize: number; }, ", "APMRouteCreateOptions", + ">; \"POST /internal/apm/traces/aggregated_critical_path\": ", + { + "pluginId": "@kbn/server-route-repository", + "scope": "common", + "docId": "kibKbnServerRouteRepositoryPluginApi", + "section": "def-common.ServerRoute", + "text": "ServerRoute" + }, + "<\"POST /internal/apm/traces/aggregated_critical_path\", ", + "TypeC", + "<{ body: ", + "IntersectionC", + "<[", + "TypeC", + "<{ traceIds: ", + "ArrayC", + "<", + "StringC", + ">; serviceName: ", + "UnionC", + "<[", + "BrandC", + "<", + "StringC", + ", ", + { + "pluginId": "@kbn/io-ts-utils", + "scope": "common", + "docId": "kibKbnIoTsUtilsPluginApi", + "section": "def-common.NonEmptyStringBrand", + "text": "NonEmptyStringBrand" + }, + ">, ", + "NullC", + "]>; transactionName: ", + "UnionC", + "<[", + "BrandC", + "<", + "StringC", + ", ", + { + "pluginId": "@kbn/io-ts-utils", + "scope": "common", + "docId": "kibKbnIoTsUtilsPluginApi", + "section": "def-common.NonEmptyStringBrand", + "text": "NonEmptyStringBrand" + }, + ">, ", + "NullC", + "]>; }>, ", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>]>; }>, ", + { + "pluginId": "apm", + "scope": "server", + "docId": "kibApmPluginApi", + "section": "def-server.APMRouteHandlerResources", + "text": "APMRouteHandlerResources" + }, + ", { criticalPath: ", + "CriticalPathResponse", + " | null; }, ", + "APMRouteCreateOptions", ">; \"GET /internal/apm/traces/find\": ", { "pluginId": "@kbn/server-route-repository", @@ -5611,7 +5683,27 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>, ", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"ENVIRONMENT_NOT_DEFINED\">, ", + "LiteralC", + "<\"ENVIRONMENT_ALL\">, ", + "BrandC", + "<", + "StringC", + ", ", + { + "pluginId": "@kbn/io-ts-utils", + "scope": "common", + "docId": "kibKbnIoTsUtilsPluginApi", + "section": "def-common.NonEmptyStringBrand", + "text": "NonEmptyStringBrand" + }, + ">]>; }>]>; }>, ", { "pluginId": "apm", "scope": "server", @@ -7263,7 +7355,57 @@ }, "common": { "classes": [], - "functions": [], + "functions": [ + { + "parentPluginId": "apm", + "id": "def-common.getAggregatedCriticalPathRootNodes", + "type": "Function", + "tags": [], + "label": "getAggregatedCriticalPathRootNodes", + "description": [], + "signature": [ + "(params: { criticalPath: ", + "CriticalPathResponse", + "; }) => { rootNodes: ", + "CriticalPathTreeNode", + "[]; maxDepth: number; numNodes: number; }" + ], + "path": "x-pack/plugins/apm/common/critical_path/get_aggregated_critical_path_root_nodes.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "apm", + "id": "def-common.getAggregatedCriticalPathRootNodes.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "path": "x-pack/plugins/apm/common/critical_path/get_aggregated_critical_path_root_nodes.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "apm", + "id": "def-common.getAggregatedCriticalPathRootNodes.$1.criticalPath", + "type": "Object", + "tags": [], + "label": "criticalPath", + "description": [], + "signature": [ + "CriticalPathResponse" + ], + "path": "x-pack/plugins/apm/common/critical_path/get_aggregated_critical_path_root_nodes.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], "interfaces": [], "enums": [], "misc": [], diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index d88beee3b29c0c..d07ecf0a253c29 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; @@ -21,7 +21,7 @@ Contact [APM UI](https://github.com/orgs/elastic/teams/apm-ui) for questions reg | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 38 | 0 | 38 | 56 | +| 41 | 0 | 41 | 58 | ## Client @@ -48,3 +48,8 @@ Contact [APM UI](https://github.com/orgs/elastic/teams/apm-ui) for questions reg ### Consts, variables and types +## Common + +### Functions + + diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index c420cb692a837e..0ad42c9b17321b 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: 2022-11-02 +date: 2022-11-03 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 a4e00c6aa05fc6..3db90dea640f89 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: 2022-11-02 +date: 2022-11-03 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 0509d1f1e15ca7..9e0901d75f6b16 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.devdocs.json b/api_docs/cases.devdocs.json index 0ce653b22e2fbd..9426f8ab0d0165 100644 --- a/api_docs/cases.devdocs.json +++ b/api_docs/cases.devdocs.json @@ -838,7 +838,15 @@ "label": "api", "description": [], "signature": [ - "{ getRelatedCases: (alertId: string, query: { owner?: string | string[] | undefined; }) => Promise<{ id: string; title: string; }[]>; cases: { find: (query: { tags?: string | string[] | undefined; status?: ", + "{ getRelatedCases: (alertId: string, query: { owner?: string | string[] | undefined; }) => Promise<{ id: string; title: string; description: string; status: ", + { + "pluginId": "@kbn/cases-components", + "scope": "common", + "docId": "kibKbnCasesComponentsPluginApi", + "section": "def-common.CaseStatuses", + "text": "CaseStatuses" + }, + "; createdAt: string; totals: { alerts: number; userComments: number; }; }[]>; cases: { find: (query: { tags?: string | string[] | undefined; status?: ", { "pluginId": "@kbn/cases-components", "scope": "common", diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 3baa539c48eca3..e7a74aacce4ae0 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: 2022-11-02 +date: 2022-11-03 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 96516fd25f46cc..e8838d50b0eaab 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index fbcab061d1c7b0..f8d1163733b79c 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 49c787bbf32f97..80ff13377bc261 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 152b4355f04dba..c1b95e245680aa 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: 2022-11-02 +date: 2022-11-03 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 b9aa8c60aa4f90..4ad371b2573356 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: 2022-11-02 +date: 2022-11-03 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 17cd0e6d70f4bc..8fdf1ffb89ac04 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 32564a5ae6760c..6599db29e930db 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/core.devdocs.json b/api_docs/core.devdocs.json index a672cb981f7e87..b01c00aebe9ecb 100644 --- a/api_docs/core.devdocs.json +++ b/api_docs/core.devdocs.json @@ -7863,6 +7863,10 @@ "plugin": "security", "path": "x-pack/plugins/security/server/analytics/analytics_service.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/fleet_usage_sender.ts" + }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/analytics/types.ts" @@ -7871,10 +7875,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/analytics/analytics_service.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/fleet_usage_sender.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" @@ -8501,6 +8501,10 @@ "plugin": "cloud", "path": "x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.ts" }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/plugin.ts" + }, { "plugin": "security", "path": "x-pack/plugins/security/public/analytics/register_user_context.ts" @@ -8509,10 +8513,6 @@ "plugin": "telemetry", "path": "src/plugins/telemetry/public/plugin.ts" }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/plugin.ts" - }, { "plugin": "@kbn/analytics-client", "path": "packages/analytics/client/src/analytics_client/analytics_client.ts" @@ -13274,6 +13274,14 @@ "plugin": "savedSearch", "path": "src/plugins/saved_search/server/saved_objects/search_migrations.ts" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/common/types/modules.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/common/types/modules.ts" + }, { "plugin": "visualizations", "path": "src/plugins/visualizations/common/types.ts" @@ -13314,14 +13322,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/common/persistable_state/dashboard_saved_object_references.ts" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/types/modules.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/types/modules.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/saved_objects/migrations/7.11/index.ts" @@ -31144,6 +31144,10 @@ "plugin": "security", "path": "x-pack/plugins/security/server/analytics/analytics_service.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/fleet_usage_sender.ts" + }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/analytics/types.ts" @@ -31152,10 +31156,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/analytics/analytics_service.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/fleet_usage_sender.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" @@ -31782,6 +31782,10 @@ "plugin": "cloud", "path": "x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.ts" }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/plugin.ts" + }, { "plugin": "security", "path": "x-pack/plugins/security/public/analytics/register_user_context.ts" @@ -31790,10 +31794,6 @@ "plugin": "telemetry", "path": "src/plugins/telemetry/public/plugin.ts" }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/plugin.ts" - }, { "plugin": "@kbn/analytics-client", "path": "packages/analytics/client/src/analytics_client/analytics_client.ts" @@ -47603,6 +47603,14 @@ "plugin": "savedSearch", "path": "src/plugins/saved_search/server/saved_objects/search_migrations.ts" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/common/types/modules.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/common/types/modules.ts" + }, { "plugin": "visualizations", "path": "src/plugins/visualizations/common/types.ts" @@ -47643,14 +47651,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/common/persistable_state/dashboard_saved_object_references.ts" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/types/modules.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/types/modules.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/saved_objects/migrations/7.11/index.ts" diff --git a/api_docs/core.mdx b/api_docs/core.mdx index 65a90ab56320c2..8c4220e8cf716d 100644 --- a/api_docs/core.mdx +++ b/api_docs/core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/core title: "core" image: https://source.unsplash.com/400x175/?github description: API docs for the core plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core'] --- import coreObj from './core.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 97e124c1de8e86..c8cf92add3f3a4 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: 2022-11-02 +date: 2022-11-03 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 6ba5323d1c4192..8ec36dacef78c2 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: 2022-11-02 +date: 2022-11-03 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 d5ac616dc701ea..a02131a88a707b 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: 2022-11-02 +date: 2022-11-03 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 497266ba3188e9..553e1e7be39fc2 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -13119,10 +13119,54 @@ "plugin": "unifiedFieldList", "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" + }, { "plugin": "presentationUtil", "path": "src/plugins/presentation_util/public/services/storybook/data_views.ts" @@ -13159,10 +13203,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" - }, { "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector_service.ts" @@ -13363,38 +13403,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/fleet/components/search_bar.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx" @@ -13771,18 +13779,6 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_views.ts" }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/sourcerer/routes/index.ts" @@ -20825,10 +20821,54 @@ "plugin": "unifiedFieldList", "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" + }, { "plugin": "presentationUtil", "path": "src/plugins/presentation_util/public/services/storybook/data_views.ts" @@ -20865,10 +20905,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" - }, { "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector_service.ts" @@ -21069,38 +21105,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/fleet/components/search_bar.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx" @@ -21477,18 +21481,6 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_views.ts" }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/sourcerer/routes/index.ts" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 629edd64e8ebfb..f6bf34c288d68d 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 71843dd2ac43ac..db9f22945d1acf 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 7c5131facfb03c..b12119e1daa887 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 827841baa8e232..8591c7282e883e 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: 2022-11-02 +date: 2022-11-03 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 2ae135c2ce21dc..c98f96208c9c4d 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: 2022-11-02 +date: 2022-11-03 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 797103352dc51f..94ee7348cf66e5 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index 70e6e1d21f6ec7..7c18de244ea8fd 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -307,10 +307,54 @@ "plugin": "unifiedFieldList", "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" + }, { "plugin": "presentationUtil", "path": "src/plugins/presentation_util/public/services/storybook/data_views.ts" @@ -347,10 +391,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" - }, { "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector_service.ts" @@ -551,38 +591,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/fleet/components/search_bar.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx" @@ -987,18 +995,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/sourcerer/routes/index.ts" @@ -8612,10 +8608,54 @@ "plugin": "unifiedFieldList", "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" + }, { "plugin": "presentationUtil", "path": "src/plugins/presentation_util/public/services/storybook/data_views.ts" @@ -8652,10 +8692,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" - }, { "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector_service.ts" @@ -8856,38 +8892,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/fleet/components/search_bar.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx" @@ -9292,18 +9296,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/sourcerer/routes/index.ts" @@ -15998,10 +15990,54 @@ "plugin": "unifiedFieldList", "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, + { + "plugin": "unifiedFieldList", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts" + }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" + }, { "plugin": "presentationUtil", "path": "src/plugins/presentation_util/public/services/storybook/data_views.ts" @@ -16038,10 +16074,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/filter_value_btn.tsx" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/common/log_views/resolved_log_view.ts" - }, { "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector_service.ts" @@ -16242,38 +16274,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/fleet/components/search_bar.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/lib/alerts/alerting_service.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx" @@ -16678,18 +16678,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/data_views_service/loader.test.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/sourcerer/routes/index.ts" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 9448431955ffe4..725d6d1513885b 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: 2022-11-02 +date: 2022-11-03 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 512739a20029e1..044f63182b7b74 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: 2022-11-02 +date: 2022-11-03 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 2d37c966c2be93..4e3a8df5e4bdf0 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -28,9 +28,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-saved-objects-common, savedObjects, embeddable, fleet, visualizations, dashboard, infra, canvas, graph, actions, alerting, enterpriseSearch, securitySolution, taskManager, savedSearch, ml, @kbn/core-saved-objects-server-internal | - | | | core, savedObjects, embeddable, fleet, visualizations, dashboard, infra, canvas, graph, actions, alerting, enterpriseSearch, securitySolution, taskManager, savedSearch, ml, @kbn/core-saved-objects-server-internal | - | | | discover, maps, monitoring | - | -| | @kbn/es-query, securitySolution, timelines, lists, threatIntelligence, dataViews, dataViewEditor, unifiedSearch, triggersActionsUi, savedObjectsManagement, unifiedFieldList, aiops, presentationUtil, controls, lens, observability, infra, dataVisualizer, ml, fleet, visTypeTimeseries, apm, canvas, reporting, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, visTypeTimelion, visTypeVega, discover, data | - | -| | @kbn/es-query, securitySolution, timelines, lists, threatIntelligence, dataViews, dataViewEditor, unifiedSearch, triggersActionsUi, savedObjectsManagement, unifiedFieldList, aiops, presentationUtil, controls, lens, observability, infra, dataVisualizer, ml, fleet, visTypeTimeseries, apm, canvas, reporting, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, visTypeTimelion, visTypeVega, discover, data | - | -| | @kbn/es-query, securitySolution, timelines, lists, threatIntelligence, data, dataViewEditor, unifiedSearch, triggersActionsUi, savedObjectsManagement, unifiedFieldList, aiops, presentationUtil, controls, lens, observability, infra, dataVisualizer, ml, fleet, visTypeTimeseries, apm, canvas, reporting, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, visTypeTimelion, visTypeVega, discover | - | +| | @kbn/es-query, securitySolution, timelines, lists, threatIntelligence, dataViews, dataViewEditor, unifiedSearch, triggersActionsUi, savedObjectsManagement, unifiedFieldList, aiops, ml, infra, visTypeTimeseries, apm, presentationUtil, controls, lens, observability, dataVisualizer, fleet, canvas, reporting, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, visTypeTimelion, visTypeVega, discover, data | - | +| | @kbn/es-query, securitySolution, timelines, lists, threatIntelligence, dataViews, dataViewEditor, unifiedSearch, triggersActionsUi, savedObjectsManagement, unifiedFieldList, aiops, ml, infra, visTypeTimeseries, apm, presentationUtil, controls, lens, observability, dataVisualizer, fleet, canvas, reporting, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, visTypeTimelion, visTypeVega, discover, data | - | +| | @kbn/es-query, securitySolution, timelines, lists, threatIntelligence, data, dataViewEditor, unifiedSearch, triggersActionsUi, savedObjectsManagement, unifiedFieldList, aiops, ml, infra, visTypeTimeseries, apm, presentationUtil, controls, lens, observability, dataVisualizer, fleet, canvas, reporting, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, visTypeTimelion, visTypeVega, discover | - | | | data, discover, embeddable | - | | | advancedSettings, discover | - | | | advancedSettings, discover | - | @@ -87,12 +87,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-apps-browser-internal, @kbn/core-metrics-server-internal, @kbn/core-status-server-internal, @kbn/core-usage-data-server-internal, monitoring, kibanaUsageCollection | 8.8.0 | | | savedObjectsTaggingOss, dashboard | 8.8.0 | | | security, licenseManagement, ml, apm, crossClusterReplication, logstash, painlessLab, searchprofiler, watcher | 8.8.0 | +| | apm | 8.8.0 | | | security, fleet | 8.8.0 | | | security, fleet | 8.8.0 | | | security, fleet | 8.8.0 | | | @kbn/core-application-browser-internal, @kbn/core-application-browser-mocks, management, fleet, security, kibanaOverview | 8.8.0 | | | @kbn/core-application-browser-internal, @kbn/core-application-browser-mocks, management, fleet, security, kibanaOverview, core | 8.8.0 | -| | apm | 8.8.0 | | | security | 8.8.0 | | | mapsEms | 8.8.0 | | | @kbn/core-plugins-server, @kbn/core-plugins-server-internal, core | 8.8.0 | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 5d88e55e3d32ea..eb573d7b202747 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -583,9 +583,9 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title) | - | -| | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title) | - | -| | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title), [loader.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.test.ts#:~:text=title) | - | +| | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | +| | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | +| | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/types.ts#:~:text=onAppLeave), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/types.ts#:~:text=onAppLeave), [mounter.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/mounter.tsx#:~:text=onAppLeave) | 8.8.0 | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/types.ts#:~:text=onAppLeave), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/types.ts#:~:text=onAppLeave), [mounter.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/mounter.tsx#:~:text=onAppLeave) | 8.8.0 | @@ -657,9 +657,9 @@ so TS and code-reference navigation might not highlight them. | | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 76 more | - | -| | [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 76 more | - | -| | [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title), [data_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/datavisualizer/index_based/data_loader/data_loader.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title), [use_index_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/hooks/use_index_data.ts#:~:text=title)+ 33 more | - | +| | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title)+ 76 more | - | +| | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title)+ 76 more | - | +| | [index_patterns.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts#:~:text=title), [rollup.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts#:~:text=title), [alerting_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/lib/alerts/alerting_service.ts#:~:text=title), [data_recognizer.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [new_job_capabilities_service_analytics.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/new_job_capabilities/new_job_capabilities_service_analytics.ts#:~:text=title), [configuration_step_details.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/configuration_step/configuration_step_details.tsx#:~:text=title)+ 33 more | - | | | [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=KibanaPageTemplate), [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=KibanaPageTemplate), [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=KibanaPageTemplate) | - | | | [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=RedirectAppLinks), [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=RedirectAppLinks), [ml_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=RedirectAppLinks) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/plugin.ts#:~:text=license%24) | 8.8.0 | @@ -976,9 +976,9 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title)+ 2 more | - | -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title)+ 2 more | - | -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title) | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title)+ 6 more | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title)+ 6 more | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index dd241a8891f6e8..818676792f91c0 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index d94756c643010f..3eccaa28d481d0 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: 2022-11-02 +date: 2022-11-03 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 3c6ba7f1c5b525..aa18ecbfecc3c9 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: 2022-11-02 +date: 2022-11-03 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 5bb5cafd127855..93d44e5df3b1b4 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index b3a02d8ef21388..5fd3ab983e6c80 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: 2022-11-02 +date: 2022-11-03 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 97393add31a5fa..258f0710fafc28 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: 2022-11-02 +date: 2022-11-03 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 eb3082cec84fb9..1d34e7432e4a65 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: 2022-11-02 +date: 2022-11-03 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 16f606d78f62b9..eb7322768c918c 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: 2022-11-02 +date: 2022-11-03 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 c0c8af71d6ed63..6c210de4a3eb71 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: 2022-11-02 +date: 2022-11-03 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 ea069faa073725..9b62890d42a8c6 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: 2022-11-02 +date: 2022-11-03 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 e86bd54cf5441f..9251a09f4331db 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index d1b60e3ad3e8d2..12c514f316fe7a 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: 2022-11-02 +date: 2022-11-03 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 75e9f903d313ce..038248c69857f4 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.devdocs.json b/api_docs/expression_heatmap.devdocs.json index 79c0b1665724a7..492d3070eedde1 100644 --- a/api_docs/expression_heatmap.devdocs.json +++ b/api_docs/expression_heatmap.devdocs.json @@ -28,7 +28,13 @@ "description": [], "signature": [ "() => ", - "HeatmapExpressionFunctionDefinition" + { + "pluginId": "expressionHeatmap", + "scope": "common", + "docId": "kibExpressionHeatmapPluginApi", + "section": "def-common.HeatmapExpressionFunctionDefinition", + "text": "HeatmapExpressionFunctionDefinition" + } ], "path": "src/plugins/chart_expressions/expression_heatmap/common/expression_functions/heatmap_function.ts", "deprecated": false, @@ -570,6 +576,84 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "expressionHeatmap", + "id": "def-common.HeatmapExpressionFunctionDefinition", + "type": "Type", + "tags": [], + "label": "HeatmapExpressionFunctionDefinition", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionFunctionDefinition", + "text": "ExpressionFunctionDefinition" + }, + "<\"heatmap\", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.Datatable", + "text": "Datatable" + }, + ", ", + { + "pluginId": "expressionHeatmap", + "scope": "common", + "docId": "kibExpressionHeatmapPluginApi", + "section": "def-common.HeatmapArguments", + "text": "HeatmapArguments" + }, + ", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueRender", + "text": "ExpressionValueRender" + }, + "<", + { + "pluginId": "expressionHeatmap", + "scope": "common", + "docId": "kibExpressionHeatmapPluginApi", + "section": "def-common.HeatmapExpressionProps", + "text": "HeatmapExpressionProps" + }, + ">, ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionContext", + "text": "ExecutionContext" + }, + "<", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + }, + ", ", + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.SerializableRecord", + "text": "SerializableRecord" + }, + ">>" + ], + "path": "src/plugins/chart_expressions/expression_heatmap/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "expressionHeatmap", "id": "def-common.HeatmapGridConfigResult", @@ -586,6 +670,62 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "expressionHeatmap", + "id": "def-common.HeatmapGridExpressionFunctionDefinition", + "type": "Type", + "tags": [], + "label": "HeatmapGridExpressionFunctionDefinition", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionFunctionDefinition", + "text": "ExpressionFunctionDefinition" + }, + "<\"heatmap_grid\", null, ", + "HeatmapGridConfig", + ", ", + { + "pluginId": "expressionHeatmap", + "scope": "common", + "docId": "kibExpressionHeatmapPluginApi", + "section": "def-common.HeatmapGridConfigResult", + "text": "HeatmapGridConfigResult" + }, + ", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionContext", + "text": "ExecutionContext" + }, + "<", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + }, + ", ", + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.SerializableRecord", + "text": "SerializableRecord" + }, + ">>" + ], + "path": "src/plugins/chart_expressions/expression_heatmap/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "expressionHeatmap", "id": "def-common.HeatmapLegendConfigResult", @@ -602,6 +742,62 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "expressionHeatmap", + "id": "def-common.HeatmapLegendExpressionFunctionDefinition", + "type": "Type", + "tags": [], + "label": "HeatmapLegendExpressionFunctionDefinition", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionFunctionDefinition", + "text": "ExpressionFunctionDefinition" + }, + "<\"heatmap_legend\", null, ", + "HeatmapLegendConfig", + ", ", + { + "pluginId": "expressionHeatmap", + "scope": "common", + "docId": "kibExpressionHeatmapPluginApi", + "section": "def-common.HeatmapLegendConfigResult", + "text": "HeatmapLegendConfigResult" + }, + ", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionContext", + "text": "ExecutionContext" + }, + "<", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + }, + ", ", + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.SerializableRecord", + "text": "SerializableRecord" + }, + ">>" + ], + "path": "src/plugins/chart_expressions/expression_heatmap/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "expressionHeatmap", "id": "def-common.HeatmapRenderProps", diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index e39189d92034be..0844b3e94a269b 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 108 | 14 | 104 | 3 | +| 111 | 14 | 107 | 2 | ## Common diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index 06888bb5990e27..d12e3d10d06cc5 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.devdocs.json b/api_docs/expression_legacy_metric_vis.devdocs.json index c69921b83f054c..7f330c19bfbded 100644 --- a/api_docs/expression_legacy_metric_vis.devdocs.json +++ b/api_docs/expression_legacy_metric_vis.devdocs.json @@ -114,6 +114,21 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "expressionLegacyMetricVis", + "id": "def-common.MetricArguments.autoScaleMetricAlignment", + "type": "CompoundType", + "tags": [], + "label": "autoScaleMetricAlignment", + "description": [], + "signature": [ + "MetricAlignment", + " | undefined" + ], + "path": "src/plugins/chart_expressions/expression_legacy_metric/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "expressionLegacyMetricVis", "id": "def-common.MetricArguments.percentageMode", @@ -413,6 +428,21 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "expressionLegacyMetricVis", + "id": "def-common.MetricVisParam.autoScaleMetricAlignment", + "type": "CompoundType", + "tags": [], + "label": "autoScaleMetricAlignment", + "description": [], + "signature": [ + "MetricAlignment", + " | undefined" + ], + "path": "src/plugins/chart_expressions/expression_legacy_metric/common/types/expression_renderers.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "expressionLegacyMetricVis", "id": "def-common.MetricVisParam.percentageMode", diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 0b73ced8218262..06725c77e3b9a9 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 49 | 0 | 49 | 1 | +| 51 | 0 | 51 | 2 | ## Common diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 4052bfcfe1991a..aa5cc4b4c2b33b 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: 2022-11-02 +date: 2022-11-03 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 2a00942f8da1f8..82ce89f2e9b722 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: 2022-11-02 +date: 2022-11-03 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 0af56d6868591a..0b5b547c7fa265 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: 2022-11-02 +date: 2022-11-03 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 5822c959cc5bfc..2a6c6bc3acc9ee 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: 2022-11-02 +date: 2022-11-03 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 89f2a0ca0717bc..e67e8d2f2adf98 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: 2022-11-02 +date: 2022-11-03 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 6333d7795219b0..43c6376b76d1a5 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: 2022-11-02 +date: 2022-11-03 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 ba05fc5625d147..a4f2b1c54a11bb 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: 2022-11-02 +date: 2022-11-03 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 9571e8de7da6a3..c8399afdaac75f 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: 2022-11-02 +date: 2022-11-03 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 624e92d6930ece..e62db4abe9aba4 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.devdocs.json b/api_docs/features.devdocs.json index c7982c8ae51ad8..0305784bbed934 100644 --- a/api_docs/features.devdocs.json +++ b/api_docs/features.devdocs.json @@ -352,14 +352,14 @@ "plugin": "security", "path": "x-pack/plugins/security/server/lib/role_utils.ts" }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/plugin.ts" }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" + }, { "plugin": "security", "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts" @@ -1738,14 +1738,14 @@ "plugin": "security", "path": "x-pack/plugins/security/server/lib/role_utils.ts" }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/plugin.ts" }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" + }, { "plugin": "security", "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts" @@ -3595,14 +3595,14 @@ "plugin": "security", "path": "x-pack/plugins/security/server/lib/role_utils.ts" }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/plugin.ts" }, + { + "plugin": "security", + "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" + }, { "plugin": "security", "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts" diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 638320aa814f21..684232c6bb4194 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: 2022-11-02 +date: 2022-11-03 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 582e8bf22caa0e..78fc717977236b 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: 2022-11-02 +date: 2022-11-03 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 462edf68d28989..7d3ce796501b16 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: 2022-11-02 +date: 2022-11-03 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 fc22a35428955f..e9d3976bbf6233 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/fleet.devdocs.json b/api_docs/fleet.devdocs.json index 4ab611613bfefa..9b000a45b26967 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -5371,7 +5371,9 @@ "label": "fetchFindLatestPackage", "description": [], "signature": [ - "(packageName: string) => Promise<", + "(packageName: string, options?: ", + "FetchFindLatestPackageOptions", + " | undefined) => Promise<", { "pluginId": "fleet", "scope": "common", @@ -5407,6 +5409,22 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "fleet", + "id": "def-server.PackageClient.fetchFindLatestPackage.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "FetchFindLatestPackageOptions", + " | undefined" + ], + "path": "x-pack/plugins/fleet/server/services/epm/package_service.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 7e448c72cf351b..f30580dda5f04c 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Fleet](https://github.com/orgs/elastic/teams/fleet) for questions regar | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 999 | 3 | 896 | 17 | +| 1000 | 3 | 897 | 18 | ## Client diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index bf4839a971908c..048aaec8035879 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: 2022-11-02 +date: 2022-11-03 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 2ab4d7f8ee5e36..2f9c1dfdac76bf 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: 2022-11-02 +date: 2022-11-03 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 06136cd4365c29..a32112e8123c1d 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index c80f54dc77abbc..510ff24e2c251d 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: 2022-11-02 +date: 2022-11-03 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 73d38e1f5ca83d..3bbdb688692eab 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: 2022-11-02 +date: 2022-11-03 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 010c8c45f49970..e1c9ff267d7dd2 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: 2022-11-02 +date: 2022-11-03 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 0da9d4d1c34a08..b3d3c815e2d2dc 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: 2022-11-02 +date: 2022-11-03 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 d83052d85bec54..27942d7369d3d5 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: 2022-11-02 +date: 2022-11-03 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 95952e9c2d3f1b..4bfcff15784341 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: 2022-11-02 +date: 2022-11-03 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 de14ba43d90ad2..cefdbda3681fe3 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: 2022-11-02 +date: 2022-11-03 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 5ebf8344d0a795..41604e4bde28db 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts.mdx b/api_docs/kbn_alerts.mdx index e5aed58ec14a69..d006f31f28b8fa 100644 --- a/api_docs/kbn_alerts.mdx +++ b/api_docs/kbn_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts title: "@kbn/alerts" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts'] --- import kbnAlertsObj from './kbn_alerts.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 7f792065ed030a..94c015954b7496 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.devdocs.json b/api_docs/kbn_analytics_client.devdocs.json index 952f802a9c51c0..fb7abdc803b1d8 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -694,6 +694,10 @@ "plugin": "security", "path": "x-pack/plugins/security/server/analytics/analytics_service.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/fleet_usage_sender.ts" + }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/analytics/types.ts" @@ -702,10 +706,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/analytics/analytics_service.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/services/fleet_usage_sender.ts" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" @@ -1184,6 +1184,10 @@ "plugin": "cloud", "path": "x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.ts" }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/plugin.ts" + }, { "plugin": "security", "path": "x-pack/plugins/security/public/analytics/register_user_context.ts" @@ -1192,10 +1196,6 @@ "plugin": "telemetry", "path": "src/plugins/telemetry/public/plugin.ts" }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/server/plugin.ts" - }, { "plugin": "@kbn/core-analytics-browser-mocks", "path": "packages/core/analytics/core-analytics-browser-mocks/src/analytics_service.mock.ts" diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 766880ee3d246a..7295871ca71973 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: 2022-11-02 +date: 2022-11-03 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 b40bf3cf255166..b9071bf78dc003 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: 2022-11-02 +date: 2022-11-03 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 9165fe030a5b32..6be0962a8bec1f 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: 2022-11-02 +date: 2022-11-03 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 5232acee8a7429..2a18ed135769b4 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: 2022-11-02 +date: 2022-11-03 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 4ce115a2b872d4..ef030cc0cf79ac 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: 2022-11-02 +date: 2022-11-03 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 1945154b53c267..03a74158fb62dc 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: 2022-11-02 +date: 2022-11-03 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 167d2760e8d0a4..ada09206af9f6a 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: 2022-11-02 +date: 2022-11-03 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 c0e119389b9bff..8290e7b16cae81 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index ffd42f570c8b59..d36b1fd4b2a1c6 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: 2022-11-02 +date: 2022-11-03 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 da7e8a6f0efca8..c7ce93dd0cf0c9 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: 2022-11-02 +date: 2022-11-03 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 476f2aa86673eb..ddd535d9e8c90c 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 2281bf38d2c7ac..2cd4a2ad70d8bd 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: 2022-11-02 +date: 2022-11-03 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 4fe0139ffcef27..a0837563457267 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: 2022-11-02 +date: 2022-11-03 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 6202bd18fa0f5b..0311d32eef9f4d 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: 2022-11-02 +date: 2022-11-03 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 cda58f6984e3e3..1ddbffaaf92565 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: 2022-11-02 +date: 2022-11-03 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 f5191dc11ca802..14c9634cf15296 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index b613b83babc34f..6559237d7c043c 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: 2022-11-02 +date: 2022-11-03 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 d5200d17e5d9cc..41a9a67465b007 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: 2022-11-02 +date: 2022-11-03 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 97390f677e9c39..f3e0fcd2bb6a6a 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: 2022-11-02 +date: 2022-11-03 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 a509e6e43650a9..4c5e16cc878b4c 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list.mdx b/api_docs/kbn_content_management_table_list.mdx index d4e6c2f3bc48c9..1f6a3bfaf876b8 100644 --- a/api_docs/kbn_content_management_table_list.mdx +++ b/api_docs/kbn_content_management_table_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list title: "@kbn/content-management-table-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list'] --- import kbnContentManagementTableListObj from './kbn_content_management_table_list.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 296b12d13bf6e2..4c443f79b5200e 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: 2022-11-02 +date: 2022-11-03 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 cef19c4700c6cb..780e2e63973b12 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: 2022-11-02 +date: 2022-11-03 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 50520d77668de9..6c12d9f5597653 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: 2022-11-02 +date: 2022-11-03 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 aac0cfb74f591e..7994ddbe86ab08 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: 2022-11-02 +date: 2022-11-03 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 505b59444fecdf..93c2233ce32a34 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: 2022-11-02 +date: 2022-11-03 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 4c392de1a5c341..f5abc3b0f925be 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: 2022-11-02 +date: 2022-11-03 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 fb9bae1b22c164..623dfb256f7f6f 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: 2022-11-02 +date: 2022-11-03 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 753937573ceb54..f6d9f4b8d08aac 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: 2022-11-02 +date: 2022-11-03 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 457ed85ff463ee..9e617b857cfe80 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: 2022-11-02 +date: 2022-11-03 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 9141e044c07ed2..fb70ab512b2032 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: 2022-11-02 +date: 2022-11-03 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 92807451ddf24d..06c24e6dec2f3e 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: 2022-11-02 +date: 2022-11-03 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 1225a4754126ab..57cde218ed9108 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: 2022-11-02 +date: 2022-11-03 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.devdocs.json b/api_docs/kbn_core_apps_server_internal.devdocs.json new file mode 100644 index 00000000000000..20c8639b26b2b2 --- /dev/null +++ b/api_docs/kbn_core_apps_server_internal.devdocs.json @@ -0,0 +1,165 @@ +{ + "id": "@kbn/core-apps-server-internal", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/core-apps-server-internal", + "id": "def-server.registerRouteForBundle", + "type": "Function", + "tags": [], + "label": "registerRouteForBundle", + "description": [], + "signature": [ + "(router: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "server", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-server.IRouter", + "text": "IRouter" + }, + "<", + { + "pluginId": "@kbn/core-http-server", + "scope": "server", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-server.RequestHandlerContextBase", + "text": "RequestHandlerContextBase" + }, + ">, {\n publicPath,\n routePath,\n bundlesPath,\n fileHashCache,\n isDist,\n }: { publicPath: string; routePath: string; bundlesPath: string; fileHashCache: ", + "FileHashCache", + "; isDist: boolean; }) => void" + ], + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-apps-server-internal", + "id": "def-server.registerRouteForBundle.$1", + "type": "Object", + "tags": [], + "label": "router", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "server", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-server.IRouter", + "text": "IRouter" + }, + "<", + { + "pluginId": "@kbn/core-http-server", + "scope": "server", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-server.RequestHandlerContextBase", + "text": "RequestHandlerContextBase" + }, + ">" + ], + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/core-apps-server-internal", + "id": "def-server.registerRouteForBundle.$2", + "type": "Object", + "tags": [], + "label": "{\n publicPath,\n routePath,\n bundlesPath,\n fileHashCache,\n isDist,\n }", + "description": [], + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-apps-server-internal", + "id": "def-server.registerRouteForBundle.$2.publicPath", + "type": "string", + "tags": [], + "label": "publicPath", + "description": [], + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-apps-server-internal", + "id": "def-server.registerRouteForBundle.$2.routePath", + "type": "string", + "tags": [], + "label": "routePath", + "description": [], + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-apps-server-internal", + "id": "def-server.registerRouteForBundle.$2.bundlesPath", + "type": "string", + "tags": [], + "label": "bundlesPath", + "description": [], + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-apps-server-internal", + "id": "def-server.registerRouteForBundle.$2.fileHashCache", + "type": "Object", + "tags": [], + "label": "fileHashCache", + "description": [], + "signature": [ + "FileHashCache" + ], + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-apps-server-internal", + "id": "def-server.registerRouteForBundle.$2.isDist", + "type": "boolean", + "tags": [], + "label": "isDist", + "description": [], + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx new file mode 100644 index 00000000000000..2f9e033f81f357 --- /dev/null +++ b/api_docs/kbn_core_apps_server_internal.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: kibKbnCoreAppsServerInternalPluginApi +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: 2022-11-03 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] +--- +import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; + + + +Contact Kibana Core for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 8 | 0 | 8 | 1 | + +## Server + +### Functions + + diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 70f1aab98ee172..fd21d52c3f49ff 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: 2022-11-02 +date: 2022-11-03 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 8d20cf01e07c44..87dbae0e755583 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: 2022-11-02 +date: 2022-11-03 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 3c844d22be1016..a80a78f266cef6 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: 2022-11-02 +date: 2022-11-03 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 e09c75f962d7dc..4c9a5171e53c5e 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: 2022-11-02 +date: 2022-11-03 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 fdea8c4c3a09a8..872e7b659bcec9 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: 2022-11-02 +date: 2022-11-03 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 37e09a46d51c5a..a8c1a06c9e724d 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: 2022-11-02 +date: 2022-11-03 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 2d7aeea5d9b3bf..f243b980ec6210 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: 2022-11-02 +date: 2022-11-03 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 29b635d8f41966..6828ca933412f2 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: 2022-11-02 +date: 2022-11-03 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.mdx b/api_docs/kbn_core_chrome_browser.mdx index ca0d498985991f..ce7ffad8d42b2c 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 271c9cf1cf2354..333fe8565485ec 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: 2022-11-02 +date: 2022-11-03 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 3dbac556cc0fac..ae2beb727c4310 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: 2022-11-02 +date: 2022-11-03 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_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 9bd25df3c950ac..0fd0d145f9bd03 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: 2022-11-02 +date: 2022-11-03 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 ac0ef00d5e17ff..d39b2a261712c7 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: 2022-11-02 +date: 2022-11-03 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 f3ee361b6a0742..b3fd6253f80109 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: 2022-11-02 +date: 2022-11-03 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 04b8b09b91be85..d1cceba47468d4 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: 2022-11-02 +date: 2022-11-03 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 f1ecabdba0e892..b4f8af3d056d0b 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: 2022-11-02 +date: 2022-11-03 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 9d1dae9d5dfa81..cccd51bf32540a 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: 2022-11-02 +date: 2022-11-03 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 e783e87e17ebcc..33c846e27475d6 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: 2022-11-02 +date: 2022-11-03 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 7e1dfa6f526b0b..68f68551a9ba46 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: 2022-11-02 +date: 2022-11-03 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 a15285b952aea8..7c4df83bc12151 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: 2022-11-02 +date: 2022-11-03 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 5dd7a404f129bc..0f6af09a74ca50 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: 2022-11-02 +date: 2022-11-03 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 4ca8054da938dd..4f472412bdd8b0 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: 2022-11-02 +date: 2022-11-03 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 4da3b5040bcf20..63744d087509d5 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: 2022-11-02 +date: 2022-11-03 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 455acf405e7233..d3a648b7fdfd98 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: 2022-11-02 +date: 2022-11-03 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 a36566ab8bf718..e746c5322c337f 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: 2022-11-02 +date: 2022-11-03 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 635d4084f0bf67..92b2d6dde73653 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: 2022-11-02 +date: 2022-11-03 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 06e1df815b88cd..2c5f9df73db81d 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: 2022-11-02 +date: 2022-11-03 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 d34c2e7c010d74..d905712e08c31f 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: 2022-11-02 +date: 2022-11-03 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 a7115bc7d28fba..8f7ae5491b91df 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: 2022-11-02 +date: 2022-11-03 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 454483bfbcb5d1..d934b7bb79687a 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: 2022-11-02 +date: 2022-11-03 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 9f6aff27e2ca30..bf240bdd9f054d 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: 2022-11-02 +date: 2022-11-03 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 6e1eeff6a50e41..d875d5253be7aa 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: 2022-11-02 +date: 2022-11-03 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 6fbaf2ea1d37c4..7554063a4cb50c 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: 2022-11-02 +date: 2022-11-03 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 7e8fc5a4a9b3ae..bb741053c2df8d 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: 2022-11-02 +date: 2022-11-03 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 3db9406ef51ab8..ad67db44a56156 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: 2022-11-02 +date: 2022-11-03 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 2b9a091b73fb42..50ee73e86694df 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: 2022-11-02 +date: 2022-11-03 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 5cd10e1427b3f9..7cd7156000f04e 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: 2022-11-02 +date: 2022-11-03 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 acfd67fd663f49..a38a0fce2de594 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: 2022-11-02 +date: 2022-11-03 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 9fab11d719d398..76a522d4eca03c 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: 2022-11-02 +date: 2022-11-03 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 795ac1c1cf613f..9118df8ff644ec 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: 2022-11-02 +date: 2022-11-03 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 38a386f2d52efa..bab23763992432 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: 2022-11-02 +date: 2022-11-03 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 ee9aa20c6090a7..a33ce776e8e5b4 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: 2022-11-02 +date: 2022-11-03 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 8c2e78d8db5262..bd055bed28bbcb 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: 2022-11-02 +date: 2022-11-03 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 946fa06e34db49..28fcd57a5f38d2 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: 2022-11-02 +date: 2022-11-03 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 252165678a06d0..52ff60dfaddfc0 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: 2022-11-02 +date: 2022-11-03 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 ede57703e6906f..003723baf0962f 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: 2022-11-02 +date: 2022-11-03 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 ee25e21b597033..76944528962cf1 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: 2022-11-02 +date: 2022-11-03 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 a8abbf3b0cb2a3..a072eca8454c96 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: 2022-11-02 +date: 2022-11-03 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 5cd66509c067e6..e00cb4d0c9e516 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: 2022-11-02 +date: 2022-11-03 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.mdx b/api_docs/kbn_core_http_server.mdx index 1fd9fd7a34ecdd..42b0cb168a4bb7 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: 2022-11-02 +date: 2022-11-03 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 e27c392179bfd6..f3823bc6774580 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: 2022-11-02 +date: 2022-11-03 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 327db7c08d54df..25ee758ebf6461 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: 2022-11-02 +date: 2022-11-03 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 7858aa69f33a62..dfc344ca4f136c 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: 2022-11-02 +date: 2022-11-03 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 75e8e212134f01..a7dc446696dad1 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: 2022-11-02 +date: 2022-11-03 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 e2909cf12e7efd..0348097dd34a63 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: 2022-11-02 +date: 2022-11-03 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 b835eba9d7ae81..61b58a74d2b603 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: 2022-11-02 +date: 2022-11-03 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 91cd19ebdc9011..cb75ed42018f87 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: 2022-11-02 +date: 2022-11-03 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.mdx b/api_docs/kbn_core_injected_metadata_browser.mdx index 144177ad323a0e..4bb70ca9d64a73 100644 --- a/api_docs/kbn_core_injected_metadata_browser.mdx +++ b/api_docs/kbn_core_injected_metadata_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser title: "@kbn/core-injected-metadata-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser'] --- import kbnCoreInjectedMetadataBrowserObj from './kbn_core_injected_metadata_browser.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 47219273472eb3..c4bd5559fb5423 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: 2022-11-02 +date: 2022-11-03 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 ddbdad606df377..a80e801e1c56aa 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: 2022-11-02 +date: 2022-11-03 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 904ee9393d593d..8d633d69edbd85 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: 2022-11-02 +date: 2022-11-03 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 b1b9f192d2fa66..d89918520e374d 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: 2022-11-02 +date: 2022-11-03 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 deca9bcb6dc8da..0e264ea94fd620 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: 2022-11-02 +date: 2022-11-03 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 64d68b923d0cde..c718afd217eb52 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: 2022-11-02 +date: 2022-11-03 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 f4625c3dc74fd8..ded04f346c0e6b 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: 2022-11-02 +date: 2022-11-03 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 5c822bb58bd68b..4daa57807ebd06 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: 2022-11-02 +date: 2022-11-03 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 5c219e5a6909d9..80fe581a042e15 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: 2022-11-02 +date: 2022-11-03 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 090b59a985f096..a1c07c85165bbd 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: 2022-11-02 +date: 2022-11-03 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 61ddd3725dbd8e..01f15e5eaeb6a4 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: 2022-11-02 +date: 2022-11-03 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 8e0f0242cbd70c..c68b3be5767f00 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: 2022-11-02 +date: 2022-11-03 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 d41195027ff91e..2fdeaf591126d7 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: 2022-11-02 +date: 2022-11-03 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 2ef5b2e209091b..257f1a6d7b50aa 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: 2022-11-02 +date: 2022-11-03 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 85a6b8a02f7fe6..cca5e84f387c12 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: 2022-11-02 +date: 2022-11-03 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 fa2ac048268b88..f243656c5170c7 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: 2022-11-02 +date: 2022-11-03 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 5e1f7c8ac1fb2c..ad61b8805ce204 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: 2022-11-02 +date: 2022-11-03 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 a3b9cb8ff40b5f..cc67c969aa74e4 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: 2022-11-02 +date: 2022-11-03 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 87b96e7fb59546..c70487b056f69f 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: 2022-11-02 +date: 2022-11-03 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.devdocs.json b/api_docs/kbn_core_node_server_internal.devdocs.json index 857092dbf36e02..619eb67ae097d1 100644 --- a/api_docs/kbn_core_node_server_internal.devdocs.json +++ b/api_docs/kbn_core_node_server_internal.devdocs.json @@ -12,6 +12,42 @@ "classes": [], "functions": [], "interfaces": [ + { + "parentPluginId": "@kbn/core-node-server-internal", + "id": "def-server.InternalNodeServiceStart", + "type": "Interface", + "tags": [], + "label": "InternalNodeServiceStart", + "description": [], + "path": "packages/core/node/core-node-server-internal/src/node_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-node-server-internal", + "id": "def-server.InternalNodeServiceStart.roles", + "type": "Object", + "tags": [], + "label": "roles", + "description": [ + "\nThe Kibana process can take on specialised roles via the `node.roles` config.\n\nThe roles can be used by plugins to adjust their behavior based\non the way the Kibana process has been configured." + ], + "signature": [ + { + "pluginId": "@kbn/core-node-server", + "scope": "server", + "docId": "kibKbnCoreNodeServerPluginApi", + "section": "def-server.NodeRoles", + "text": "NodeRoles" + } + ], + "path": "packages/core/node/core-node-server-internal/src/node_service.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-node-server-internal", "id": "def-server.PrebootDeps", diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index bdf111d7df1104..6e977bfa546f40 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact Kibana Core for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 5 | 0 | 5 | 1 | +| 7 | 0 | 6 | 1 | ## Server diff --git a/api_docs/kbn_core_node_server_mocks.devdocs.json b/api_docs/kbn_core_node_server_mocks.devdocs.json index 1a763a4509417a..58ff508cc61cdc 100644 --- a/api_docs/kbn_core_node_server_mocks.devdocs.json +++ b/api_docs/kbn_core_node_server_mocks.devdocs.json @@ -59,6 +59,45 @@ "trackAdoption": false, "returnComment": [], "children": [] + }, + { + "parentPluginId": "@kbn/core-node-server-mocks", + "id": "def-server.nodeServiceMock.createInternalStartContract", + "type": "Function", + "tags": [], + "label": "createInternalStartContract", + "description": [], + "signature": [ + "({ ui, backgroundTasks, }?: { ui: boolean; backgroundTasks: boolean; }) => jest.Mocked<", + { + "pluginId": "@kbn/core-node-server-internal", + "scope": "server", + "docId": "kibKbnCoreNodeServerInternalPluginApi", + "section": "def-server.InternalNodeServiceStart", + "text": "InternalNodeServiceStart" + }, + ">" + ], + "path": "packages/core/node/core-node-server-mocks/src/node_service.mock.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-node-server-mocks", + "id": "def-server.nodeServiceMock.createInternalStartContract.$1", + "type": "Object", + "tags": [], + "label": "__0", + "description": [], + "signature": [ + "{ ui: boolean; backgroundTasks: boolean; }" + ], + "path": "packages/core/node/core-node-server-mocks/src/node_service.mock.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "initialIsOpen": false diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index 3c473f01e101cb..eb1dbabe168868 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; @@ -21,7 +21,7 @@ Contact Kibana Core for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3 | 0 | 3 | 0 | +| 5 | 0 | 5 | 0 | ## Server diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index f4c8bbd6e38406..b36920c3a76536 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: 2022-11-02 +date: 2022-11-03 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 90a223d1368c85..511d3b25e91972 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: 2022-11-02 +date: 2022-11-03 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 ed2e67766b3c39..fba28978dd2545 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: 2022-11-02 +date: 2022-11-03 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 42832b3429210d..937c446f320830 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: 2022-11-02 +date: 2022-11-03 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 c4845b99ae9a4c..2ab8aeaaa44070 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: 2022-11-02 +date: 2022-11-03 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 46f0268668f70c..34f7e003500840 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: 2022-11-02 +date: 2022-11-03 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 2ecce761680ec5..aa6a513394639c 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: 2022-11-02 +date: 2022-11-03 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 cdb0140f9350c5..2e00eb9e6a0134 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: 2022-11-02 +date: 2022-11-03 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 57934b2ddb5331..66fb1fcf765d31 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: 2022-11-02 +date: 2022-11-03 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 f6d9f25eb1e402..9a89a05323a307 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: 2022-11-02 +date: 2022-11-03 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 7792f55cfda9bb..b9508fd323f05d 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: 2022-11-02 +date: 2022-11-03 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 0357ed0242c160..54d52da2cf2414 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: 2022-11-02 +date: 2022-11-03 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 3268933adab763..485dfbf9ab4193 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: 2022-11-02 +date: 2022-11-03 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 895fd760bbd9e9..0f27b3a4760df7 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: 2022-11-02 +date: 2022-11-03 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 165616c4502e88..51f8a59803f9eb 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: 2022-11-02 +date: 2022-11-03 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_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 1f9adb63b5783f..aa11edf4360a2c 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: 2022-11-02 +date: 2022-11-03 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 a623b48be84be2..cef9bedd2cf94e 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: 2022-11-02 +date: 2022-11-03 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_internal.mdx b/api_docs/kbn_core_saved_objects_api_server_internal.mdx index 5cce42286ffcb7..ac6cfd81048961 100644 --- a/api_docs/kbn_core_saved_objects_api_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-internal title: "@kbn/core-saved-objects-api-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-internal plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-internal'] --- import kbnCoreSavedObjectsApiServerInternalObj from './kbn_core_saved_objects_api_server_internal.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 a1f2405c7edf5e..7e6eb3ec7e2961 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: 2022-11-02 +date: 2022-11-03 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 d61caa7e4e61c4..03a440f60ec5c0 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: 2022-11-02 +date: 2022-11-03 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 60abd6ff785cc9..7028bf5e77a130 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: 2022-11-02 +date: 2022-11-03 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 1bca17afdaeb99..eed0d7d39f1463 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: 2022-11-02 +date: 2022-11-03 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 9ca99660f01e7f..7d11724080b87f 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: 2022-11-02 +date: 2022-11-03 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 9c9331d6e40522..fca87cd64e0def 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: 2022-11-02 +date: 2022-11-03 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.devdocs.json b/api_docs/kbn_core_saved_objects_common.devdocs.json index 094d17f6639a06..23f18d9d755b5f 100644 --- a/api_docs/kbn_core_saved_objects_common.devdocs.json +++ b/api_docs/kbn_core_saved_objects_common.devdocs.json @@ -800,6 +800,14 @@ "plugin": "core", "path": "src/core/types/index.ts" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/common/types/modules.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/common/types/modules.ts" + }, { "plugin": "visualizations", "path": "src/plugins/visualizations/common/types.ts" @@ -840,14 +848,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/common/persistable_state/dashboard_saved_object_references.ts" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/types/modules.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/common/types/modules.ts" - }, { "plugin": "core", "path": "src/core/server/types.ts" diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 3c2c7f24e4d9aa..1a371683da5cce 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: 2022-11-02 +date: 2022-11-03 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 a3cbb364cff402..66b97c8b6fcac8 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: 2022-11-02 +date: 2022-11-03 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 635cf9e2d7e08a..f5f702644b6beb 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: 2022-11-02 +date: 2022-11-03 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.devdocs.json b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json index a5ff80fa836674..e041d67290f461 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json @@ -66,7 +66,7 @@ "id": "def-server.KibanaMigrator.Unnamed.$1", "type": "Object", "tags": [], - "label": "{\n client,\n typeRegistry,\n kibanaIndex,\n soMigrationsConfig,\n kibanaVersion,\n logger,\n docLinks,\n }", + "label": "{\n client,\n typeRegistry,\n kibanaIndex,\n soMigrationsConfig,\n kibanaVersion,\n logger,\n docLinks,\n waitForMigrationCompletion,\n }", "description": [], "signature": [ { @@ -3130,6 +3130,17 @@ "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-server.KibanaMigratorOptions.waitForMigrationCompletion", + "type": "boolean", + "tags": [], + "label": "waitForMigrationCompletion", + "description": [], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false 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 35c88f23905c87..456f52f1ccc568 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact Kibana Core for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 100 | 0 | 74 | 43 | +| 101 | 0 | 75 | 43 | ## Server 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 8ca90c8ed4b3f9..4dabda6f1bdfea 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: 2022-11-02 +date: 2022-11-03 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 b4c8420dc58e82..6ec1e83b817a8e 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: 2022-11-02 +date: 2022-11-03 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.devdocs.json b/api_docs/kbn_core_saved_objects_server_internal.devdocs.json index 9dbb795e3e83c8..7449f9750e9186 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server_internal.devdocs.json @@ -119,7 +119,7 @@ "label": "start", "description": [], "signature": [ - "({ elasticsearch, pluginsInitialized, docLinks, }: ", + "({ elasticsearch, pluginsInitialized, docLinks, node, }: ", "SavedObjectsStartDeps", ") => Promise<", { @@ -140,7 +140,7 @@ "id": "def-server.SavedObjectsService.start.$1", "type": "Object", "tags": [], - "label": "{\n elasticsearch,\n pluginsInitialized = true,\n docLinks,\n }", + "label": "{\n elasticsearch,\n pluginsInitialized = true,\n docLinks,\n node,\n }", "description": [], "signature": [ "SavedObjectsStartDeps" diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 83866f0569e4ce..914dc4459a0cd5 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: 2022-11-02 +date: 2022-11-03 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 6c3b32b7c4ffb0..2884262be26d7d 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: 2022-11-02 +date: 2022-11-03 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 cbbbc65f3d57db..6588a9fd252b60 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: 2022-11-02 +date: 2022-11-03 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 2b7c3b0e272959..c9fb44d77cddca 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: 2022-11-02 +date: 2022-11-03 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 f3452e72880f38..2fddd2801e3f3a 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: 2022-11-02 +date: 2022-11-03 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 8c2456d7c67931..f89bc8d977a58a 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: 2022-11-02 +date: 2022-11-03 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 4c0c53706e32b9..3cb0b73fa179d5 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: 2022-11-02 +date: 2022-11-03 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 7ccd7192c9feb9..1fb9f5e7729537 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: 2022-11-02 +date: 2022-11-03 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 f2fd45cb9b5be7..58a0e75f8d1093 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: 2022-11-02 +date: 2022-11-03 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 14a608f7996e01..6c319eeb2a8b07 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: 2022-11-02 +date: 2022-11-03 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_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index d94ccebe2ba524..bde5ce63233e98 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: 2022-11-02 +date: 2022-11-03 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 36a4bda87c8c60..187f1a45dfd8ec 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: 2022-11-02 +date: 2022-11-03 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 032e355ea64a18..9878491edc07b3 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: 2022-11-02 +date: 2022-11-03 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 51c579e3551581..908d5228ca5952 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: 2022-11-02 +date: 2022-11-03 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 1ce0f05e6b33c0..0ef580f50db61c 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: 2022-11-02 +date: 2022-11-03 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 ca650cd0a8799c..9f8c994b5290d0 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: 2022-11-02 +date: 2022-11-03 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 5adf0b86a9d413..c0abf7f7707b04 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: 2022-11-02 +date: 2022-11-03 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 2561eecfafd85e..752659a90ebd51 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: 2022-11-02 +date: 2022-11-03 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 f3cedc0acc0d82..bcaa05f381695a 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: 2022-11-02 +date: 2022-11-03 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 9e21d0b8ea1d07..82dbb79cc0e85f 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: 2022-11-02 +date: 2022-11-03 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 fed838781520b6..0e8a45969c6dcf 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: 2022-11-02 +date: 2022-11-03 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 3d59f98d37ab76..403a2f8e52bcc5 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: 2022-11-02 +date: 2022-11-03 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 b44d1cdc008a46..f5bb8dd8510bd0 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: 2022-11-02 +date: 2022-11-03 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 36f7e6bf90b533..6c631a99e4bd00 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: 2022-11-02 +date: 2022-11-03 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 61c84ad936c43d..aeaf777a777d36 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: 2022-11-02 +date: 2022-11-03 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_crypto.mdx b/api_docs/kbn_crypto.mdx index b802f33992bb02..2617374bccad3e 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: 2022-11-02 +date: 2022-11-03 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 221307c83cb827..fa6b09adc14b79 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 84025a50d1c745..564b5e8ed82f5f 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index c287908c3c9064..932b13eea4ea90 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: 2022-11-02 +date: 2022-11-03 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 41f98c754b20be..4f1735d40ab4e1 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: 2022-11-02 +date: 2022-11-03 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 da5b0be2065d6c..175292a832693a 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: 2022-11-02 +date: 2022-11-03 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 0f60ff10b76813..ebc21ca0d35470 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 6ccf2090313f25..7da2cb5f750811 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: 2022-11-02 +date: 2022-11-03 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 55e84ff674dabc..94d7c9f7536d7c 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 02f561f2d76310..2ef5daaf2f4d0b 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index a5b7da29069ad6..8fcc7db6560946 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: 2022-11-02 +date: 2022-11-03 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 00341a825dfaa9..eccdea020c0173 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: 2022-11-02 +date: 2022-11-03 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 5f85c2565f7c47..e941bf44f19c47 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: 2022-11-02 +date: 2022-11-03 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 2ace595cf94f21..5743a11f21ddfb 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: 2022-11-02 +date: 2022-11-03 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 0d864876ecc3c8..3a5d9b06d5ad70 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: 2022-11-02 +date: 2022-11-03 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 8b7473c67000ad..1bdc8b6a3e58cc 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 37440ce4eec7a3..9ffc3daf34dd68 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: 2022-11-02 +date: 2022-11-03 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 4ec668bbf8d1e2..d861898bc30efe 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: 2022-11-02 +date: 2022-11-03 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 b0dc5f6522a5a3..92296916487ac8 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: 2022-11-02 +date: 2022-11-03 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 5585017f12a972..6e98224c554429 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_get_repo_files.mdx b/api_docs/kbn_get_repo_files.mdx index 0603218f2a8b5c..ce429eb8b64ce6 100644 --- a/api_docs/kbn_get_repo_files.mdx +++ b/api_docs/kbn_get_repo_files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-get-repo-files title: "@kbn/get-repo-files" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/get-repo-files plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/get-repo-files'] --- import kbnGetRepoFilesObj from './kbn_get_repo_files.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.devdocs.json b/api_docs/kbn_guided_onboarding.devdocs.json index 408f531d6798c9..5e713efb8ace7d 100644 --- a/api_docs/kbn_guided_onboarding.devdocs.json +++ b/api_docs/kbn_guided_onboarding.devdocs.json @@ -296,7 +296,7 @@ "label": "id", "description": [], "signature": [ - "\"add_data\" | \"view_dashboard\" | \"tour_observability\" | \"rules\" | \"alertsCases\" | \"browse_docs\" | \"search_experience\" | \"step1\" | \"step2\" | \"step3\"" + "\"add_data\" | \"view_dashboard\" | \"tour_observability\" | \"rules\" | \"alertsCases\" | \"search_experience\" | \"step1\" | \"step2\" | \"step3\"" ], "path": "packages/kbn-guided-onboarding/src/types.ts", "deprecated": false, @@ -337,6 +337,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/guided-onboarding", + "id": "def-common.GuideStatus", + "type": "Type", + "tags": [], + "label": "GuideStatus", + "description": [ + "\nAllowed states for a guide:\n not_started: Guide has not been started\n in_progress: At least one step in the guide has been started\n ready_to_complete: All steps have been completed, but the \"Continue using Elastic\" button has not been clicked\n complete: All steps and the guide have been completed" + ], + "signature": [ + "\"complete\" | \"not_started\" | \"in_progress\" | \"ready_to_complete\"" + ], + "path": "packages/kbn-guided-onboarding/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/guided-onboarding", "id": "def-common.GuideStepIds", @@ -345,7 +362,7 @@ "label": "GuideStepIds", "description": [], "signature": [ - "\"add_data\" | \"view_dashboard\" | \"tour_observability\" | \"rules\" | \"alertsCases\" | \"browse_docs\" | \"search_experience\" | \"step1\" | \"step2\" | \"step3\"" + "\"add_data\" | \"view_dashboard\" | \"tour_observability\" | \"rules\" | \"alertsCases\" | \"search_experience\" | \"step1\" | \"step2\" | \"step3\"" ], "path": "packages/kbn-guided-onboarding/src/types.ts", "deprecated": false, diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index f2a22cdb44ab06..0aa31bf438def8 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 22 | 0 | 21 | 1 | +| 23 | 0 | 21 | 1 | ## Common diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 7ca6bb3f58f4ad..dc05bc2ced4b55 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: 2022-11-02 +date: 2022-11-03 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 51b46ec8f1de12..3df3e8485fce93 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 7e2d9a03595cfd..12024c463b4056 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: 2022-11-02 +date: 2022-11-03 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 111a7b659bf81e..6d0bb66f99cd98 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: 2022-11-02 +date: 2022-11-03 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 13f62b0e765192..f249672864a0ee 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: 2022-11-02 +date: 2022-11-03 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 0f2778a82f0184..ea94ff42d90767 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: 2022-11-02 +date: 2022-11-03 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 e277b84e69f95f..90fba8660ebdf3 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 33211d1739b132..e3c797fbab46bb 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: 2022-11-02 +date: 2022-11-03 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 8c47000eb3a8c6..39b1fc5311cc3c 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: 2022-11-02 +date: 2022-11-03 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 d1c2a25bacfd63..065823d9e9644a 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: 2022-11-02 +date: 2022-11-03 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 46dd4b7056c8e9..09e3d0971ab93e 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 4880e05024194c..57f9fc396e5975 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: 2022-11-02 +date: 2022-11-03 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 ee284472abac4b..5d3db245585c2b 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: 2022-11-02 +date: 2022-11-03 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 6065921d5a3025..23c6c1cd2263c4 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: 2022-11-02 +date: 2022-11-03 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 e2eec423938379..4f5150c82ef258 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: 2022-11-02 +date: 2022-11-03 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 74e4f15b9d0506..9006c6eb7e8933 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 031b38efd6f761..f62ce92ea9ca7e 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 3da3a8c938a73c..07dc1327976eea 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: 2022-11-02 +date: 2022-11-03 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_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 29677c17e3b27d..47431b91ad9683 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: 2022-11-02 +date: 2022-11-03 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_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index afe16255f91e1c..e7cfafa592ae04 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index d85ec0b7d42041..09eb21cde5b979 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index e4d8797ce82f51..afd7005408cf81 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: 2022-11-02 +date: 2022-11-03 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 ac8467a850fae9..546be539cfa0fe 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: 2022-11-02 +date: 2022-11-03 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 9a7e5ea33e81b7..6f75eb70e02773 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: 2022-11-02 +date: 2022-11-03 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 9e3d5150080dc6..b7b19661b2cf9d 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: 2022-11-02 +date: 2022-11-03 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 5bd8abb6f64796..a8676e99d42946 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: 2022-11-02 +date: 2022-11-03 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 4e8016f41e53ad..09677f9c6b65d8 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 9f3690ad29f27a..4e080c19295dc6 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 64cd086abca610..d01f493861762b 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 022c5ecfb17e9d..e6b923f480260d 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 38d8ec0e01fe0c..793a249d94c81d 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 65b8f48a21dd67..4d65817a6674a6 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: 2022-11-02 +date: 2022-11-03 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 18ac96d992c14f..f10cbd6b5da359 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: 2022-11-02 +date: 2022-11-03 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_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index e02b0d0a67cacb..6dc50be6e8fb9d 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: 2022-11-02 +date: 2022-11-03 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 18de786c203157..0623581817fbef 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: 2022-11-02 +date: 2022-11-03 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 3f2d31848d80f6..791921a3b2fa37 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: 2022-11-02 +date: 2022-11-03 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.devdocs.json b/api_docs/kbn_securitysolution_io_ts_types.devdocs.json index ef934492d28efe..8a14e911325afa 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.devdocs.json +++ b/api_docs/kbn_securitysolution_io_ts_types.devdocs.json @@ -514,7 +514,7 @@ "label": "ImportQuerySchema", "description": [], "signature": [ - "{ overwrite?: boolean | undefined; overwrite_exceptions?: boolean | undefined; }" + "{ overwrite?: boolean | undefined; overwrite_exceptions?: boolean | undefined; as_new_list?: boolean | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.ts", "deprecated": false, @@ -529,7 +529,7 @@ "label": "ImportQuerySchemaDecoded", "description": [], "signature": [ - "Omit<{ overwrite?: boolean | undefined; overwrite_exceptions?: boolean | undefined; }, \"overwrite\" | \"overwrite_exceptions\"> & { overwrite: boolean; overwrite_exceptions: boolean; }" + "Omit<{ overwrite?: boolean | undefined; overwrite_exceptions?: boolean | undefined; as_new_list?: boolean | undefined; }, \"overwrite\" | \"overwrite_exceptions\" | \"as_new_list\"> & { overwrite: boolean; overwrite_exceptions: boolean; as_new_list: boolean; }" ], "path": "packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.ts", "deprecated": false, @@ -912,6 +912,8 @@ "Type", "; overwrite_exceptions: ", "Type", + "; as_new_list: ", + "Type", "; }>>" ], "path": "packages/kbn-securitysolution-io-ts-types/src/import_query_schema/index.ts", diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index daffd458535f9d..0bd93ca61eac26 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: 2022-11-02 +date: 2022-11-03 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 bb5524f52f1e6a..f1247503fc91ee 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: 2022-11-02 +date: 2022-11-03 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 b6d2b2ff50623a..5b7acd2f005344 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: 2022-11-02 +date: 2022-11-03 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 bd50d1bb08f2ac..4bfb0dfd8093f4 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: 2022-11-02 +date: 2022-11-03 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 c2673ad1c20ad5..1c4f5e60fa8387 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: 2022-11-02 +date: 2022-11-03 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 3754b02e09eb13..aca2121cc54ee7 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: 2022-11-02 +date: 2022-11-03 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 e84ceba0c74e2d..1ac856e5e506b5 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: 2022-11-02 +date: 2022-11-03 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 088be7f384a6a5..fa290646271f5c 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: 2022-11-02 +date: 2022-11-03 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 87eda2aefa80ca..9ee1289f2552a4 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: 2022-11-02 +date: 2022-11-03 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 949a80a1daf36e..44222c62946939 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: 2022-11-02 +date: 2022-11-03 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 b24fa399ea03ca..ff6532bbdc9e06 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 80ed4944edf95f..a1a24268fc15f2 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: 2022-11-02 +date: 2022-11-03 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 616843e7fc739a..ef6911aec3b736 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: 2022-11-02 +date: 2022-11-03 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 7b5942840740ec..905ed473f7c988 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: 2022-11-02 +date: 2022-11-03 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 d2e15a8f4d5d6a..60ab35bff1665f 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: 2022-11-02 +date: 2022-11-03 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 f72ed83bd35090..97d6137bca9edf 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: 2022-11-02 +date: 2022-11-03 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 aee5367e1cb179..f19aa0d197cdc9 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: 2022-11-02 +date: 2022-11-03 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 11d36200d01a22..007de1e1fd8b88 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: 2022-11-02 +date: 2022-11-03 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 d51956ad7bee1b..25b1b57d0fd9c9 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: 2022-11-02 +date: 2022-11-03 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_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 78ed4841b4f7f5..70d9b703add44a 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: 2022-11-02 +date: 2022-11-03 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 57c4b6e4ae9345..69926b3eae2e3d 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: 2022-11-02 +date: 2022-11-03 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 10ec32d2099a62..1fa7b11407c37c 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: 2022-11-02 +date: 2022-11-03 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 ed0d7e21980be8..08c8baa9c6c84b 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: 2022-11-02 +date: 2022-11-03 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 98c783b4252e13..7c94ef35c42784 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: 2022-11-02 +date: 2022-11-03 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 af6d0a52cc4022..8523c994a8d492 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: 2022-11-02 +date: 2022-11-03 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 6f463aa6d54341..f2305434606e4d 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: 2022-11-02 +date: 2022-11-03 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 e948b6be920c25..a3b9cc9894d630 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: 2022-11-02 +date: 2022-11-03 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 69672643f308b9..357a198f95c611 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: 2022-11-02 +date: 2022-11-03 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 cc8b75129677ee..bb170fe07ac4c8 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: 2022-11-02 +date: 2022-11-03 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 c8f92d6a780351..b885897726fa6c 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: 2022-11-02 +date: 2022-11-03 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 a742104eca3e8c..f07e4efa4b812c 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: 2022-11-02 +date: 2022-11-03 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 f778a95ade353f..de2e1fa97b4fda 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: 2022-11-02 +date: 2022-11-03 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 07934b29c2ef89..248a97c7d1c811 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: 2022-11-02 +date: 2022-11-03 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 be6fa825778c8c..825eee67874ed3 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: 2022-11-02 +date: 2022-11-03 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 d1bff331a6c51a..90e4d90459a76a 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: 2022-11-02 +date: 2022-11-03 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 81c0603dbedf76..a681271b2c4352 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: 2022-11-02 +date: 2022-11-03 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_router.mdx b/api_docs/kbn_shared_ux_router.mdx index c0f2e10672f044..97116d112b55a3 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: 2022-11-02 +date: 2022-11-03 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 8098d1cb4781a1..b2b19a1caebfa4 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: 2022-11-02 +date: 2022-11-03 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 999f5e6729b81e..a509c914f33539 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: 2022-11-02 +date: 2022-11-03 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 12ca85a4474356..8be42b6dd64b4a 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: 2022-11-02 +date: 2022-11-03 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 2c42de415757dc..97eaab20edc04d 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index e06d59275a656b..f5975faa298a35 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_sort_package_json.mdx b/api_docs/kbn_sort_package_json.mdx index 9a61932038f5fe..c75725f5556006 100644 --- a/api_docs/kbn_sort_package_json.mdx +++ b/api_docs/kbn_sort_package_json.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sort-package-json title: "@kbn/sort-package-json" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sort-package-json plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sort-package-json'] --- import kbnSortPackageJsonObj from './kbn_sort_package_json.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 0526e7dc1e5759..7b382d339f228e 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: 2022-11-02 +date: 2022-11-03 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 7c8a214d81c654..24a000f94beb57 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: 2022-11-02 +date: 2022-11-03 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 a42169ca4a8d5c..fad4ed3b27081a 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: 2022-11-02 +date: 2022-11-03 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 33fa4899c6c5c2..0e363e370570f7 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: 2022-11-02 +date: 2022-11-03 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 07b2852efaea5c..c5cbe8e6ba447a 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: 2022-11-02 +date: 2022-11-03 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 40878db2b1acb4..470e108023f3ee 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: 2022-11-02 +date: 2022-11-03 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 b718ee2a0b11e9..9f49f13e4e4385 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 788004d27bae04..dbd461a7f2973e 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_type_summarizer.mdx b/api_docs/kbn_type_summarizer.mdx index 7761b81bdf24bc..7c099ced6fbd1c 100644 --- a/api_docs/kbn_type_summarizer.mdx +++ b/api_docs/kbn_type_summarizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-type-summarizer title: "@kbn/type-summarizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/type-summarizer plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer'] --- import kbnTypeSummarizerObj from './kbn_type_summarizer.devdocs.json'; diff --git a/api_docs/kbn_type_summarizer_core.mdx b/api_docs/kbn_type_summarizer_core.mdx index a2c4bd2e7cd864..5ade197f7c552d 100644 --- a/api_docs/kbn_type_summarizer_core.mdx +++ b/api_docs/kbn_type_summarizer_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-type-summarizer-core title: "@kbn/type-summarizer-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/type-summarizer-core plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer-core'] --- import kbnTypeSummarizerCoreObj from './kbn_type_summarizer_core.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index c2786b0e9c713a..c2d182c4e19527 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: 2022-11-02 +date: 2022-11-03 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_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 2ae7c6c2626dcc..cbffe401bb0992 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: 2022-11-02 +date: 2022-11-03 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 ba6993957e63f9..78eebf1992c484 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 27d13e7ecff242..577466bf033a67 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: 2022-11-02 +date: 2022-11-03 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 d73762312d067d..2fb001354e0c0b 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: 2022-11-02 +date: 2022-11-03 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 476c33f9084927..698d5fc4f897b9 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: 2022-11-02 +date: 2022-11-03 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 e4fe008027db00..dfdf80678aa9c5 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: 2022-11-02 +date: 2022-11-03 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 3641c2efc4faaa..61ec7ae48f9e3b 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: 2022-11-02 +date: 2022-11-03 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 a8ef8e516c114b..710079b304ac23 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: 2022-11-02 +date: 2022-11-03 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 8aa83e00d9fbee..41de441b14cb2c 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: 2022-11-02 +date: 2022-11-03 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 37b1b882088617..a8bcbbe417a1f5 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: 2022-11-02 +date: 2022-11-03 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 68aefc3e249558..6d912f3dd27d3c 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.devdocs.json b/api_docs/lens.devdocs.json index 91b4360bb98c90..596675ec4abb68 100644 --- a/api_docs/lens.devdocs.json +++ b/api_docs/lens.devdocs.json @@ -2554,6 +2554,20 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "lens", + "id": "def-public.LegacyMetricState.autoScaleMetricAlignment", + "type": "CompoundType", + "tags": [], + "label": "autoScaleMetricAlignment", + "description": [], + "signature": [ + "\"left\" | \"right\" | \"center\" | undefined" + ], + "path": "x-pack/plugins/lens/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "lens", "id": "def-public.LegacyMetricState.layerId", @@ -8857,7 +8871,7 @@ "section": "def-public.Action", "text": "Action" }, - "[] | undefined; }" + "[] | undefined; showInspector?: boolean | undefined; }" ], "path": "x-pack/plugins/lens/public/embeddable/embeddable_component.tsx", "deprecated": false, @@ -11522,10 +11536,10 @@ }, { "parentPluginId": "lens", - "id": "def-common.ExistingFields", + "id": "def-common.LegacyMetricState", "type": "Interface", "tags": [], - "label": "ExistingFields", + "label": "LegacyMetricState", "description": [], "path": "x-pack/plugins/lens/common/types.ts", "deprecated": false, @@ -11533,43 +11547,18 @@ "children": [ { "parentPluginId": "lens", - "id": "def-common.ExistingFields.indexPatternTitle", - "type": "string", - "tags": [], - "label": "indexPatternTitle", - "description": [], - "path": "x-pack/plugins/lens/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-common.ExistingFields.existingFieldNames", - "type": "Array", + "id": "def-common.LegacyMetricState.autoScaleMetricAlignment", + "type": "CompoundType", "tags": [], - "label": "existingFieldNames", + "label": "autoScaleMetricAlignment", "description": [], "signature": [ - "string[]" + "\"left\" | \"right\" | \"center\" | undefined" ], "path": "x-pack/plugins/lens/common/types.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "lens", - "id": "def-common.LegacyMetricState", - "type": "Interface", - "tags": [], - "label": "LegacyMetricState", - "description": [], - "path": "x-pack/plugins/lens/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "lens", "id": "def-common.LegacyMetricState.layerId", diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 0efa5c24f2abd4..dcf014e8c95f11 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 676 | 0 | 583 | 48 | +| 675 | 0 | 582 | 48 | ## Client diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 7a9fa00f72bd69..b8dddff891acc4 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: 2022-11-02 +date: 2022-11-03 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 dcf5b6520a6923..6c46e65dbdda09 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: 2022-11-02 +date: 2022-11-03 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 f317b23f343303..13842df6362893 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.devdocs.json b/api_docs/lists.devdocs.json index a7536c98ad1ab1..ea176fe9e1bf9e 100644 --- a/api_docs/lists.devdocs.json +++ b/api_docs/lists.devdocs.json @@ -1372,7 +1372,7 @@ "\nImport exception lists parent containers and items as stream" ], "signature": [ - "({ exceptionsToImport, maxExceptionsImportSize, overwrite, }: ", + "({ exceptionsToImport, maxExceptionsImportSize, overwrite, generateNewListId, }: ", "ImportExceptionListAndItemsOptions", ") => Promise<{ errors: ({ error: { status_code: number; message: string; }; } & { id?: string | undefined; list_id?: string | undefined; item_id?: string | undefined; })[]; success: boolean; success_count: number; success_exception_lists: boolean; success_count_exception_lists: number; success_exception_list_items: boolean; success_count_exception_list_items: number; }>" ], @@ -1385,7 +1385,7 @@ "id": "def-server.ExceptionListClient.importExceptionListAndItems.$1", "type": "Object", "tags": [], - "label": "{\n exceptionsToImport,\n maxExceptionsImportSize,\n overwrite,\n }", + "label": "{\n exceptionsToImport,\n maxExceptionsImportSize,\n overwrite,\n generateNewListId,\n }", "description": [], "signature": [ "ImportExceptionListAndItemsOptions" diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 02101b2f7144ee..500276696f06c0 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 9fbf4d558e24d8..78bd8739c2c113 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: 2022-11-02 +date: 2022-11-03 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 5273ea05ba706b..54b3ff5152633a 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: 2022-11-02 +date: 2022-11-03 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 8c775161872467..74fd473915c499 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: 2022-11-02 +date: 2022-11-03 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 8e79e9cf50f779..5507b92045e154 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: 2022-11-02 +date: 2022-11-03 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 2cca54d39b84dd..784d80d7b1d19b 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: 2022-11-02 +date: 2022-11-03 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 8dbb3172277441..8e68980d1a6fb2 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: 2022-11-02 +date: 2022-11-03 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 2e5a89083d1e50..ceeada3f14bcfd 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: 2022-11-02 +date: 2022-11-03 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 26279c90ab3d72..1e216762b0084a 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index df3bdc250f202b..17f16cddf29166 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -129,7 +129,7 @@ "label": "reportType", "description": [], "signature": [ - "\"data-distribution\" | \"kpi-over-time\" | \"core-web-vitals\" | \"device-data-distribution\" | \"single-metric\"" + "\"heatmap\" | \"data-distribution\" | \"kpi-over-time\" | \"core-web-vitals\" | \"device-data-distribution\" | \"single-metric\"" ], "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/exploratory_view_url.ts", "deprecated": false, @@ -2306,7 +2306,7 @@ "label": "reportType", "description": [], "signature": [ - "\"data-distribution\" | \"kpi-over-time\" | \"core-web-vitals\" | \"device-data-distribution\" | \"single-metric\"" + "\"heatmap\" | \"data-distribution\" | \"kpi-over-time\" | \"core-web-vitals\" | \"device-data-distribution\" | \"single-metric\"" ], "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/embeddable/embeddable.tsx", "deprecated": false, @@ -3778,6 +3778,26 @@ "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ObservabilityPublicPluginsStart.unifiedSearch", + "type": "Object", + "tags": [], + "label": "unifiedSearch", + "description": [], + "signature": [ + { + "pluginId": "unifiedSearch", + "scope": "public", + "docId": "kibUnifiedSearchPluginApi", + "section": "def-public.UnifiedSearchPublicPluginStart", + "text": "UnifiedSearchPublicPluginStart" + } + ], + "path": "x-pack/plugins/observability/public/plugin.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 88b6f5e3c9a063..b75b7d428fbecb 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Observability UI](https://github.com/orgs/elastic/teams/observability-u | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 555 | 40 | 552 | 31 | +| 556 | 40 | 553 | 31 | ## Client diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 8d8ef3664f840b..b30a8f54cd56f7 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: 2022-11-02 +date: 2022-11-03 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 ac8ddcce501f96..ac3b928e4a4811 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: 2022-11-02 +date: 2022-11-03 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 | |--------------|----------|------------------------| -| 506 | 424 | 38 | +| 507 | 425 | 38 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 33147 | 514 | 23480 | 1096 | +| 33241 | 514 | 23572 | 1102 | ## Plugin Directory @@ -31,7 +31,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 36 | 1 | 32 | 2 | | | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 9 | 0 | 0 | 2 | | | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 383 | 0 | 374 | 26 | -| | [APM UI](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 38 | 0 | 38 | 56 | +| | [APM UI](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 41 | 0 | 41 | 58 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 9 | 0 | 9 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Considering using bfetch capabilities when fetching large amounts of data. This services supports batching HTTP requests and streaming responses back. | 81 | 1 | 72 | 2 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Canvas application to Kibana | 9 | 0 | 8 | 3 | @@ -69,9 +69,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 115 | 0 | 115 | 11 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'error' renderer to expressions | 17 | 0 | 15 | 2 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Expression Gauge plugin adds a `gauge` renderer and function to the expression plugin. The renderer will display the `gauge` chart. | 58 | 0 | 58 | 2 | -| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Expression Heatmap plugin adds a `heatmap` renderer and function to the expression plugin. The renderer will display the `heatmap` chart. | 108 | 14 | 104 | 3 | +| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Expression Heatmap plugin adds a `heatmap` renderer and function to the expression plugin. The renderer will display the `heatmap` chart. | 111 | 14 | 107 | 2 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'image' function and renderer to expressions | 26 | 0 | 26 | 0 | -| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Adds a `metric` renderer and function to the expression plugin. The renderer will display the `legacy metric` chart. | 49 | 0 | 49 | 1 | +| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Adds a `metric` renderer and function to the expression plugin. The renderer will display the `legacy metric` chart. | 51 | 0 | 51 | 2 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'metric' function and renderer to expressions | 32 | 0 | 27 | 0 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Adds a `metric` renderer and function to the expression plugin. The renderer will display the `metric` chart. | 62 | 0 | 62 | 1 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Expression Partition Visualization plugin adds a `partitionVis` renderer and `pieVis`, `mosaicVis`, `treemapVis`, `waffleVis` functions to the expression plugin. The renderer will display the `pie`, `waffle`, `treemap` and `mosaic` charts. | 70 | 0 | 70 | 2 | @@ -85,7 +85,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Index pattern fields and ambiguous values formatters | 288 | 26 | 249 | 3 | | | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | The file upload plugin contains components and services for uploading a file, analyzing its data, and then importing the data into an Elasticsearch index. Supported file types include CSV, TSV, newline-delimited JSON and GeoJSON. | 62 | 0 | 62 | 2 | | | [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/team:AppServicesUx) | File upload, download, sharing, and serving over HTTP implementation in Kibana. | 275 | 0 | 19 | 3 | -| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | - | 999 | 3 | 896 | 17 | +| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1000 | 3 | 897 | 18 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 68 | 0 | 14 | 5 | | globalSearchBar | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | globalSearchProviders | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | @@ -105,7 +105,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | kibanaUsageCollection | [Kibana Telemetry](https://github.com/orgs/elastic/teams/kibana-telemetry) | - | 0 | 0 | 0 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 615 | 3 | 420 | 9 | | | [Security Team](https://github.com/orgs/elastic/teams/security-team) | - | 3 | 0 | 3 | 1 | -| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 676 | 0 | 583 | 48 | +| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 675 | 0 | 582 | 48 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 8 | 0 | 8 | 0 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 3 | 0 | 3 | 0 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 10 | @@ -119,7 +119,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Stack Monitoring](https://github.com/orgs/elastic/teams/stack-monitoring-ui) | - | 9 | 0 | 9 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 34 | 0 | 34 | 2 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | -| | [Observability UI](https://github.com/orgs/elastic/teams/observability-ui) | - | 555 | 40 | 552 | 31 | +| | [Observability UI](https://github.com/orgs/elastic/teams/observability-ui) | - | 556 | 40 | 553 | 31 | | | [Security asset management](https://github.com/orgs/elastic/teams/security-asset-management) | - | 21 | 0 | 21 | 3 | | painlessLab | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | | | [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). | 243 | 8 | 187 | 12 | @@ -159,7 +159,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Response Ops](https://github.com/orgs/elastic/teams/response-ops) | - | 518 | 11 | 489 | 49 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds UI Actions service to Kibana | 133 | 2 | 92 | 11 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Extends UI Actions plugin with more functionality | 206 | 0 | 142 | 9 | -| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list which can be integrated into apps | 122 | 0 | 117 | 2 | +| | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list which can be integrated into apps | 192 | 0 | 187 | 4 | | | [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | The `unifiedHistogram` plugin provides UI components to create a layout including a resizable histogram and a main display. | 56 | 0 | 29 | 0 | | | [Unified Search](https://github.com/orgs/elastic/teams/kibana-app-services) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 131 | 2 | 104 | 18 | | upgradeAssistant | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | @@ -180,7 +180,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Registers the vega visualization. Is the elastic version of vega and vega-lite libraries. | 2 | 0 | 2 | 0 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Contains the vislib visualizations. These are the classical area/line/bar, pie, gauge/goal and heatmap charts. We want to replace them with elastic-charts. | 26 | 0 | 25 | 1 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Contains the new xy-axis chart using the elastic-charts library, which will eventually replace the vislib xy-axis charts including bar, area, and line. | 53 | 0 | 50 | 5 | -| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Contains the shared architecture among all the legacy visualizations, e.g. the visualization type registry or the visualization embeddable. | 797 | 12 | 767 | 18 | +| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Contains the shared architecture among all the legacy visualizations, e.g. the visualization type registry or the visualization embeddable. | 798 | 12 | 768 | 18 | | watcher | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | ## Package Directory @@ -225,6 +225,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 8 | 0 | 1 | 0 | | | Kibana Core | - | 20 | 0 | 19 | 0 | | | Kibana Core | - | 2 | 0 | 2 | 0 | +| | Kibana Core | - | 8 | 0 | 8 | 1 | | | Kibana Core | - | 3 | 0 | 3 | 0 | | | Kibana Core | - | 12 | 0 | 3 | 0 | | | Kibana Core | - | 7 | 0 | 7 | 2 | @@ -302,8 +303,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 19 | 0 | 19 | 0 | | | Kibana Core | - | 6 | 0 | 0 | 0 | | | Kibana Core | - | 5 | 0 | 0 | 0 | -| | Kibana Core | - | 5 | 0 | 5 | 1 | -| | Kibana Core | - | 3 | 0 | 3 | 0 | +| | Kibana Core | - | 7 | 0 | 6 | 1 | +| | Kibana Core | - | 5 | 0 | 5 | 0 | | | Kibana Core | - | 35 | 4 | 23 | 0 | | | Kibana Core | - | 32 | 0 | 11 | 2 | | | Kibana Core | - | 4 | 0 | 4 | 0 | @@ -331,7 +332,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | Kibana Core | - | 83 | 0 | 41 | 0 | | | Kibana Core | - | 25 | 0 | 23 | 0 | | | Kibana Core | - | 4 | 0 | 4 | 0 | -| | Kibana Core | - | 100 | 0 | 74 | 43 | +| | Kibana Core | - | 101 | 0 | 75 | 43 | | | Kibana Core | - | 12 | 0 | 12 | 0 | | | Kibana Core | - | 226 | 0 | 83 | 0 | | | Kibana Core | - | 69 | 0 | 69 | 4 | @@ -380,7 +381,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [Owner missing] | - | 29 | 0 | 29 | 1 | | | [Owner missing] | - | 1 | 0 | 0 | 0 | | | [Owner missing] | - | 3 | 0 | 0 | 0 | -| | [Owner missing] | - | 22 | 0 | 21 | 1 | +| | [Owner missing] | - | 23 | 0 | 21 | 1 | | | [Owner missing] | - | 6 | 0 | 0 | 0 | | | [Owner missing] | - | 3 | 0 | 3 | 0 | | | [Owner missing] | - | 32 | 0 | 22 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 058a94c5a3f93e..a98f465692920e 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: 2022-11-02 +date: 2022-11-03 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 298e722ccbe63e..d4d668ead81926 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: 2022-11-02 +date: 2022-11-03 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 0865ae33d33090..ede1b6feb6e188 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: 2022-11-02 +date: 2022-11-03 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 76e7b560c9a96d..9495dcca0124fb 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index db89e2660498e8..110d44a51ef750 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: 2022-11-02 +date: 2022-11-03 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 e5fe1948f48232..a1660aa9abe9e8 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: 2022-11-02 +date: 2022-11-03 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 479bd3fce3cef3..dccebb47957305 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: 2022-11-02 +date: 2022-11-03 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 c224ed4d900630..8c6738ee3c7daf 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: 2022-11-02 +date: 2022-11-03 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 48bde91f382278..058858737eee7b 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: 2022-11-02 +date: 2022-11-03 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 03713793cdf3b0..12e1390ec718a1 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: 2022-11-02 +date: 2022-11-03 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 44168f7c0c43ee..b7c52fcbfae39e 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: 2022-11-02 +date: 2022-11-03 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 2108d67e0f989b..d6dbfe2f6f7a6b 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: 2022-11-02 +date: 2022-11-03 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 8ec1ea62bb80a0..6d2b4637af95be 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: 2022-11-02 +date: 2022-11-03 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 8589ded53271c1..f7c4ca4218cfcc 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: 2022-11-02 +date: 2022-11-03 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 ba55504bcc6d78..56ec697de0c729 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: 2022-11-02 +date: 2022-11-03 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 ced32610c26b22..09be20c329d7df 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: 2022-11-02 +date: 2022-11-03 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 bd7e9e0b4fd8b9..1d97d865a33e6f 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index e9ec0ef165f1f9..6b8539eca6d443 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: 2022-11-02 +date: 2022-11-03 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 b5ddb63e46224e..b2b08a6ea0b295 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: 2022-11-02 +date: 2022-11-03 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 7021d9bccf9b31..e792894a664e30 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: 2022-11-02 +date: 2022-11-03 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 6b8e2801b2e255..197746b59628d7 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: 2022-11-02 +date: 2022-11-03 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 438e34717e7092..db8248b4cbf7bd 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: 2022-11-02 +date: 2022-11-03 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 928e3ee04199ce..d1089186424973 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: 2022-11-02 +date: 2022-11-03 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 a4d1bbedffd5ec..a1c53f2292eac0 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: 2022-11-02 +date: 2022-11-03 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 64369e049dc76f..a4376a1f864a9a 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: 2022-11-02 +date: 2022-11-03 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 55f08585d969d4..62f1c72d7055c7 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: 2022-11-02 +date: 2022-11-03 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 68091e39086acf..a8eb63367994e1 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: 2022-11-02 +date: 2022-11-03 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 505ebfebf30b4e..9a9158c4cdcccf 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index c7eddbea50f9ef..4dd6d24e1589db 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: 2022-11-02 +date: 2022-11-03 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 c6686cac360c33..e41d21340b255d 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: 2022-11-02 +date: 2022-11-03 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 f081b363ea8cec..2a00d9e90f08d5 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: 2022-11-02 +date: 2022-11-03 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 4837a3168eb846..e2dd6b3aeda725 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: 2022-11-02 +date: 2022-11-03 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 dade66136c791c..700d352d35d3a3 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: 2022-11-02 +date: 2022-11-03 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 b40cd03bb80ba9..5bdb0e0ad5251d 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_field_list.devdocs.json b/api_docs/unified_field_list.devdocs.json index 59cba2f7f458a7..2434cfac2a6d7f 100644 --- a/api_docs/unified_field_list.devdocs.json +++ b/api_docs/unified_field_list.devdocs.json @@ -3,6 +3,63 @@ "client": { "classes": [], "functions": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGrouped", + "type": "Function", + "tags": [], + "label": "FieldListGrouped", + "description": [], + "signature": [ + "(props: ", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.FieldListGroupedProps", + "text": "FieldListGroupedProps" + }, + ") => JSX.Element" + ], + "path": "src/plugins/unified_field_list/public/components/field_list/index.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGrouped.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.FieldListGroupedProps", + "text": "FieldListGroupedProps" + }, + "" + ], + "path": "src/plugins/unified_field_list/public/components/field_list/index.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "unifiedFieldList", "id": "def-public.FieldPopover", @@ -427,9 +484,9 @@ "label": "loadFieldExisting", "description": [], "signature": [ - "({\n data,\n dslQuery,\n fromDate,\n toDate,\n timeFieldName,\n dataViewsService,\n uiSettingsClient,\n dataView,\n}: FetchFieldExistenceParams) => Promise<{ indexPatternTitle: string; existingFieldNames: string[]; }>" + "(params: FetchFieldExistenceParams) => Promise<{ existingFieldNames: string[]; indexPatternTitle: string; }>" ], - "path": "src/plugins/unified_field_list/public/services/field_existing/load_field_existing.ts", + "path": "src/plugins/unified_field_list/public/services/field_existing/index.ts", "deprecated": false, "trackAdoption": false, "children": [ @@ -438,12 +495,12 @@ "id": "def-public.loadFieldExisting.$1", "type": "Object", "tags": [], - "label": "{\n data,\n dslQuery,\n fromDate,\n toDate,\n timeFieldName,\n dataViewsService,\n uiSettingsClient,\n dataView,\n}", + "label": "params", "description": [], "signature": [ "FetchFieldExistenceParams" ], - "path": "src/plugins/unified_field_list/public/services/field_existing/load_field_existing.ts", + "path": "src/plugins/unified_field_list/public/services/field_existing/index.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -487,6 +544,23 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.resetExistingFieldsCache", + "type": "Function", + "tags": [], + "label": "resetExistingFieldsCache", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "unifiedFieldList", "id": "def-public.triggerVisualizeActions", @@ -759,6 +833,141 @@ ], "returnComment": [], "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.useExistingFieldsFetcher", + "type": "Function", + "tags": [], + "label": "useExistingFieldsFetcher", + "description": [], + "signature": [ + "(params: ", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.ExistingFieldsFetcherParams", + "text": "ExistingFieldsFetcherParams" + }, + ") => ", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.ExistingFieldsFetcher", + "text": "ExistingFieldsFetcher" + } + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.useExistingFieldsFetcher.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.ExistingFieldsFetcherParams", + "text": "ExistingFieldsFetcherParams" + } + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.useExistingFieldsReader", + "type": "Function", + "tags": [], + "label": "useExistingFieldsReader", + "description": [], + "signature": [ + "() => { hasFieldData: (dataViewId: string, fieldName: string) => boolean; getFieldsExistenceStatus: (dataViewId: string) => ", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.ExistenceFetchStatus", + "text": "ExistenceFetchStatus" + }, + "; isFieldsExistenceInfoUnavailable: (dataViewId: string) => boolean; }" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.useGroupedFields", + "type": "Function", + "tags": [], + "label": "useGroupedFields", + "description": [], + "signature": [ + "({\n dataViewId,\n allFields,\n services,\n fieldsExistenceReader,\n onOverrideFieldGroupDetails,\n onSupportedFieldFilter,\n onSelectedFieldFilter,\n onFilterField,\n}: ", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.GroupedFieldsParams", + "text": "GroupedFieldsParams" + }, + ") => ", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.GroupedFieldsResult", + "text": "GroupedFieldsResult" + }, + "" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.useGroupedFields.$1", + "type": "Object", + "tags": [], + "label": "{\n dataViewId,\n allFields,\n services,\n fieldsExistenceReader,\n onOverrideFieldGroupDetails,\n onSupportedFieldFilter,\n onSelectedFieldFilter,\n onFilterField,\n}", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.GroupedFieldsParams", + "text": "GroupedFieldsParams" + }, + "" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false } ], "interfaces": [ @@ -796,112 +1005,688 @@ }, { "parentPluginId": "unifiedFieldList", - "id": "def-public.FieldPopoverHeaderProps", + "id": "def-public.ExistingFieldsFetcher", "type": "Interface", "tags": [], - "label": "FieldPopoverHeaderProps", + "label": "ExistingFieldsFetcher", "description": [], - "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "unifiedFieldList", - "id": "def-public.FieldPopoverHeaderProps.field", - "type": "Object", + "id": "def-public.ExistingFieldsFetcher.refetchFieldsExistenceInfo", + "type": "Function", "tags": [], - "label": "field", + "label": "refetchFieldsExistenceInfo", "description": [], "signature": [ + "(dataViewId?: string | undefined) => Promise" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsFetcher.refetchFieldsExistenceInfo.$1", + "type": "string", + "tags": [], + "label": "dataViewId", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], - "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", - "deprecated": false, - "trackAdoption": false + "returnComment": [] }, { "parentPluginId": "unifiedFieldList", - "id": "def-public.FieldPopoverHeaderProps.closePopover", - "type": "Function", + "id": "def-public.ExistingFieldsFetcher.isProcessing", + "type": "boolean", "tags": [], - "label": "closePopover", + "label": "isProcessing", "description": [], - "signature": [ - "() => void" - ], - "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [] - }, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsFetcherParams", + "type": "Interface", + "tags": [], + "label": "ExistingFieldsFetcherParams", + "description": [], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "unifiedFieldList", - "id": "def-public.FieldPopoverHeaderProps.buttonAddFieldToWorkspaceProps", - "type": "Object", + "id": "def-public.ExistingFieldsFetcherParams.dataViews", + "type": "Array", "tags": [], - "label": "buttonAddFieldToWorkspaceProps", + "label": "dataViews", "description": [], "signature": [ - "Partial<", - "EuiButtonIconProps", - "> | undefined" + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[]" ], - "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "unifiedFieldList", - "id": "def-public.FieldPopoverHeaderProps.buttonAddFilterProps", - "type": "Object", + "id": "def-public.ExistingFieldsFetcherParams.fromDate", + "type": "string", "tags": [], - "label": "buttonAddFilterProps", + "label": "fromDate", "description": [], - "signature": [ - "Partial<", - "EuiButtonIconProps", - "> | undefined" - ], - "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "unifiedFieldList", - "id": "def-public.FieldPopoverHeaderProps.buttonEditFieldProps", - "type": "Object", + "id": "def-public.ExistingFieldsFetcherParams.toDate", + "type": "string", "tags": [], - "label": "buttonEditFieldProps", + "label": "toDate", "description": [], - "signature": [ - "Partial<", - "EuiButtonIconProps", - "> | undefined" - ], - "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "unifiedFieldList", - "id": "def-public.FieldPopoverHeaderProps.buttonDeleteFieldProps", - "type": "Object", + "id": "def-public.ExistingFieldsFetcherParams.query", + "type": "CompoundType", "tags": [], - "label": "buttonDeleteFieldProps", + "label": "query", "description": [], "signature": [ - "Partial<", - "EuiButtonIconProps", - "> | undefined" - ], - "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + " | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.AggregateQuery", + "text": "AggregateQuery" + } + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsFetcherParams.filters", + "type": "Array", + "tags": [], + "label": "filters", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsFetcherParams.services", + "type": "Object", + "tags": [], + "label": "services", + "description": [], + "signature": [ + "{ core: Pick<", + { + "pluginId": "@kbn/core-lifecycle-browser", + "scope": "common", + "docId": "kibKbnCoreLifecycleBrowserPluginApi", + "section": "def-common.CoreStart", + "text": "CoreStart" + }, + ", \"uiSettings\">; data: ", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataPluginApi", + "section": "def-public.DataPublicPluginStart", + "text": "DataPublicPluginStart" + }, + "; dataViews: ", + { + "pluginId": "dataViews", + "scope": "public", + "docId": "kibDataViewsPluginApi", + "section": "def-public.DataViewsServicePublic", + "text": "DataViewsServicePublic" + }, + "; }" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsFetcherParams.onNoData", + "type": "Function", + "tags": [], + "label": "onNoData", + "description": [], + "signature": [ + "((dataViewId: string) => unknown) | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsFetcherParams.onNoData.$1", + "type": "string", + "tags": [], + "label": "dataViewId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsInfo", + "type": "Interface", + "tags": [], + "label": "ExistingFieldsInfo", + "description": [], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsInfo.fetchStatus", + "type": "Enum", + "tags": [], + "label": "fetchStatus", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.ExistenceFetchStatus", + "text": "ExistenceFetchStatus" + } + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsInfo.existingFieldsByFieldNameMap", + "type": "Object", + "tags": [], + "label": "existingFieldsByFieldNameMap", + "description": [], + "signature": [ + "{ [x: string]: boolean; }" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsInfo.numberOfFetches", + "type": "number", + "tags": [], + "label": "numberOfFetches", + "description": [], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsInfo.hasDataViewRestrictions", + "type": "CompoundType", + "tags": [], + "label": "hasDataViewRestrictions", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsReader", + "type": "Interface", + "tags": [], + "label": "ExistingFieldsReader", + "description": [], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsReader.hasFieldData", + "type": "Function", + "tags": [], + "label": "hasFieldData", + "description": [], + "signature": [ + "(dataViewId: string, fieldName: string) => boolean" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsReader.hasFieldData.$1", + "type": "string", + "tags": [], + "label": "dataViewId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsReader.hasFieldData.$2", + "type": "string", + "tags": [], + "label": "fieldName", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsReader.getFieldsExistenceStatus", + "type": "Function", + "tags": [], + "label": "getFieldsExistenceStatus", + "description": [], + "signature": [ + "(dataViewId: string) => ", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.ExistenceFetchStatus", + "text": "ExistenceFetchStatus" + } + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsReader.getFieldsExistenceStatus.$1", + "type": "string", + "tags": [], + "label": "dataViewId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsReader.isFieldsExistenceInfoUnavailable", + "type": "Function", + "tags": [], + "label": "isFieldsExistenceInfoUnavailable", + "description": [], + "signature": [ + "(dataViewId: string) => boolean" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistingFieldsReader.isFieldsExistenceInfoUnavailable.$1", + "type": "string", + "tags": [], + "label": "dataViewId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_existing_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps", + "type": "Interface", + "tags": [], + "label": "FieldListGroupedProps", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.FieldListGroupedProps", + "text": "FieldListGroupedProps" + }, + "" + ], + "path": "src/plugins/unified_field_list/public/components/field_list/field_list_grouped.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps.fieldGroups", + "type": "Object", + "tags": [], + "label": "fieldGroups", + "description": [], + "signature": [ + "{ SpecialFields?: ", + "FieldsGroup", + " | undefined; SelectedFields?: ", + "FieldsGroup", + " | undefined; AvailableFields?: ", + "FieldsGroup", + " | undefined; EmptyFields?: ", + "FieldsGroup", + " | undefined; MetaFields?: ", + "FieldsGroup", + " | undefined; }" + ], + "path": "src/plugins/unified_field_list/public/components/field_list/field_list_grouped.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps.fieldsExistenceStatus", + "type": "Enum", + "tags": [], + "label": "fieldsExistenceStatus", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.ExistenceFetchStatus", + "text": "ExistenceFetchStatus" + } + ], + "path": "src/plugins/unified_field_list/public/components/field_list/field_list_grouped.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps.fieldsExistInIndex", + "type": "boolean", + "tags": [], + "label": "fieldsExistInIndex", + "description": [], + "path": "src/plugins/unified_field_list/public/components/field_list/field_list_grouped.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps.renderFieldItem", + "type": "Function", + "tags": [], + "label": "renderFieldItem", + "description": [], + "signature": [ + "(params: { field: T; hideDetails?: boolean | undefined; itemIndex: number; groupIndex: number; }) => JSX.Element" + ], + "path": "src/plugins/unified_field_list/public/components/field_list/field_list_grouped.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps.renderFieldItem.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + "{ field: T; hideDetails?: boolean | undefined; itemIndex: number; groupIndex: number; }" + ], + "path": "src/plugins/unified_field_list/public/components/field_list/fields_accordion.tsx", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps.screenReaderDescriptionForSearchInputId", + "type": "string", + "tags": [], + "label": "screenReaderDescriptionForSearchInputId", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/unified_field_list/public/components/field_list/field_list_grouped.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroupedProps.datatestsubj", + "type": "string", + "tags": [], + "label": "'data-test-subj'", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/unified_field_list/public/components/field_list/field_list_grouped.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldPopoverHeaderProps", + "type": "Interface", + "tags": [], + "label": "FieldPopoverHeaderProps", + "description": [], + "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldPopoverHeaderProps.field", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + } + ], + "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldPopoverHeaderProps.closePopover", + "type": "Function", + "tags": [], + "label": "closePopover", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [] + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldPopoverHeaderProps.buttonAddFieldToWorkspaceProps", + "type": "Object", + "tags": [], + "label": "buttonAddFieldToWorkspaceProps", + "description": [], + "signature": [ + "Partial<", + "EuiButtonIconProps", + "> | undefined" + ], + "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldPopoverHeaderProps.buttonAddFilterProps", + "type": "Object", + "tags": [], + "label": "buttonAddFilterProps", + "description": [], + "signature": [ + "Partial<", + "EuiButtonIconProps", + "> | undefined" + ], + "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldPopoverHeaderProps.buttonEditFieldProps", + "type": "Object", + "tags": [], + "label": "buttonEditFieldProps", + "description": [], + "signature": [ + "Partial<", + "EuiButtonIconProps", + "> | undefined" + ], + "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldPopoverHeaderProps.buttonDeleteFieldProps", + "type": "Object", + "tags": [], + "label": "buttonDeleteFieldProps", + "description": [], + "signature": [ + "Partial<", + "EuiButtonIconProps", + "> | undefined" + ], + "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover_header.tsx", "deprecated": false, "trackAdoption": false }, @@ -1073,25 +1858,150 @@ ], "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover.tsx", "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldPopoverProps.renderContent", + "type": "Function", + "tags": [], + "label": "renderContent", + "description": [], + "signature": [ + "(() => React.ReactNode) | undefined" + ], + "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails", + "type": "Interface", + "tags": [], + "label": "FieldsGroupDetails", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails.showInAccordion", + "type": "boolean", + "tags": [], + "label": "showInAccordion", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails.isInitiallyOpen", + "type": "boolean", + "tags": [], + "label": "isInitiallyOpen", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails.helpText", + "type": "string", + "tags": [], + "label": "helpText", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails.isAffectedByGlobalFilter", + "type": "boolean", + "tags": [], + "label": "isAffectedByGlobalFilter", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails.isAffectedByTimeFilter", + "type": "boolean", + "tags": [], + "label": "isAffectedByTimeFilter", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails.hideDetails", + "type": "CompoundType", + "tags": [], + "label": "hideDetails", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupDetails.defaultNoFieldsMessage", + "type": "string", + "tags": [], + "label": "defaultNoFieldsMessage", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "unifiedFieldList", - "id": "def-public.FieldPopoverProps.renderContent", - "type": "Function", + "id": "def-public.FieldsGroupDetails.hideIfEmpty", + "type": "CompoundType", "tags": [], - "label": "renderContent", + "label": "hideIfEmpty", "description": [], "signature": [ - "(() => React.ReactNode) | undefined" + "boolean | undefined" ], - "path": "src/plugins/unified_field_list/public/components/field_popover/field_popover.tsx", + "path": "src/plugins/unified_field_list/public/types.ts", "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] + "trackAdoption": false } ], "initialIsOpen": false @@ -1922,6 +2832,299 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams", + "type": "Interface", + "tags": [], + "label": "GroupedFieldsParams", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.GroupedFieldsParams", + "text": "GroupedFieldsParams" + }, + "" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.dataViewId", + "type": "CompoundType", + "tags": [], + "label": "dataViewId", + "description": [], + "signature": [ + "string | null" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.allFields", + "type": "Array", + "tags": [], + "label": "allFields", + "description": [], + "signature": [ + "T[]" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.services", + "type": "Object", + "tags": [], + "label": "services", + "description": [], + "signature": [ + "{ dataViews: ", + { + "pluginId": "dataViews", + "scope": "public", + "docId": "kibDataViewsPluginApi", + "section": "def-public.DataViewsServicePublic", + "text": "DataViewsServicePublic" + }, + "; }" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.fieldsExistenceReader", + "type": "Object", + "tags": [], + "label": "fieldsExistenceReader", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.ExistingFieldsReader", + "text": "ExistingFieldsReader" + }, + " | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.onOverrideFieldGroupDetails", + "type": "Function", + "tags": [], + "label": "onOverrideFieldGroupDetails", + "description": [], + "signature": [ + "((groupName: ", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.FieldsGroupNames", + "text": "FieldsGroupNames" + }, + ") => Partial<", + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.FieldsGroupDetails", + "text": "FieldsGroupDetails" + }, + "> | null | undefined) | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.onOverrideFieldGroupDetails.$1", + "type": "Enum", + "tags": [], + "label": "groupName", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.FieldsGroupNames", + "text": "FieldsGroupNames" + } + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.onSupportedFieldFilter", + "type": "Function", + "tags": [], + "label": "onSupportedFieldFilter", + "description": [], + "signature": [ + "((field: T) => boolean) | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.onSupportedFieldFilter.$1", + "type": "Uncategorized", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "T" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.onSelectedFieldFilter", + "type": "Function", + "tags": [], + "label": "onSelectedFieldFilter", + "description": [], + "signature": [ + "((field: T) => boolean) | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.onSelectedFieldFilter.$1", + "type": "Uncategorized", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "T" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.onFilterField", + "type": "Function", + "tags": [], + "label": "onFilterField", + "description": [], + "signature": [ + "((field: T) => boolean) | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsParams.onFilterField.$1", + "type": "Uncategorized", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "T" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsResult", + "type": "Interface", + "tags": [], + "label": "GroupedFieldsResult", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.GroupedFieldsResult", + "text": "GroupedFieldsResult" + }, + "" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.GroupedFieldsResult.fieldGroups", + "type": "Object", + "tags": [], + "label": "fieldGroups", + "description": [], + "signature": [ + "{ SpecialFields?: ", + "FieldsGroup", + " | undefined; SelectedFields?: ", + "FieldsGroup", + " | undefined; AvailableFields?: ", + "FieldsGroup", + " | undefined; EmptyFields?: ", + "FieldsGroup", + " | undefined; MetaFields?: ", + "FieldsGroup", + " | undefined; }" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_grouped_fields.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "unifiedFieldList", "id": "def-public.NumberStatsResult", @@ -2066,7 +3269,32 @@ "initialIsOpen": false } ], - "enums": [], + "enums": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.ExistenceFetchStatus", + "type": "Enum", + "tags": [], + "label": "ExistenceFetchStatus", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldsGroupNames", + "type": "Enum", + "tags": [], + "label": "FieldsGroupNames", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "misc": [ { "parentPluginId": "unifiedFieldList", @@ -2143,6 +3371,31 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.FieldListGroups", + "type": "Type", + "tags": [], + "label": "FieldListGroups", + "description": [], + "signature": [ + "{ SpecialFields?: ", + "FieldsGroup", + " | undefined; SelectedFields?: ", + "FieldsGroup", + " | undefined; AvailableFields?: ", + "FieldsGroup", + " | undefined; EmptyFields?: ", + "FieldsGroup", + " | undefined; MetaFields?: ", + "FieldsGroup", + " | undefined; }" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "unifiedFieldList", "id": "def-public.FieldPopoverVisualizeProps", diff --git a/api_docs/unified_field_list.mdx b/api_docs/unified_field_list.mdx index b97e6416bdcd70..6a505b8b7390da 100644 --- a/api_docs/unified_field_list.mdx +++ b/api_docs/unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedFieldList title: "unifiedFieldList" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedFieldList plugin -date: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedFieldList'] --- import unifiedFieldListObj from './unified_field_list.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 122 | 0 | 117 | 2 | +| 192 | 0 | 187 | 4 | ## Client @@ -37,6 +37,9 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco ### Interfaces +### Enums + + ### Consts, variables and types diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index a62224baf6c268..45df0fff8b3969 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.devdocs.json b/api_docs/unified_search.devdocs.json index 95caead9e47017..76b9b00cf8f5ae 100644 --- a/api_docs/unified_search.devdocs.json +++ b/api_docs/unified_search.devdocs.json @@ -358,7 +358,7 @@ "section": "def-public.TimeHistoryContract", "text": "TimeHistoryContract" }, - " | undefined; customSubmitButton?: React.ReactNode; screenTitle?: string | undefined; showQueryInput?: boolean | undefined; showFilterBar?: boolean | undefined; showDatePicker?: boolean | undefined; showAutoRefreshOnly?: boolean | undefined; hiddenFilterPanelOptions?: ", + " | undefined; customSubmitButton?: React.ReactNode; screenTitle?: string | undefined; showQueryMenu?: boolean | undefined; showQueryInput?: boolean | undefined; showFilterBar?: boolean | undefined; showDatePicker?: boolean | undefined; showAutoRefreshOnly?: boolean | undefined; hiddenFilterPanelOptions?: ", "FilterPanelOption", "[] | undefined; isRefreshPaused?: boolean | undefined; dateRangeFrom?: string | undefined; dateRangeTo?: string | undefined; showSaveQuery?: boolean | undefined; onQueryChange?: ((payload: { dateRange: ", { diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 0e837f00498ece..a66f0aa97a7e09 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: 2022-11-02 +date: 2022-11-03 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 b06b94767e58b2..82e5e71f4aab0a 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: 2022-11-02 +date: 2022-11-03 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 14a726450eacd6..6a42326b365071 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: 2022-11-02 +date: 2022-11-03 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 b2d4989832fa1b..c2d61e75f8b377 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: 2022-11-02 +date: 2022-11-03 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 64953d2e5af9ea..3e687d886a0178 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: 2022-11-02 +date: 2022-11-03 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 a091604ac718f8..a84e314d48ed3b 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: 2022-11-02 +date: 2022-11-03 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 41dd38651b235f..9219c4f9a3f09a 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: 2022-11-02 +date: 2022-11-03 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 616061bf3fc8db..84d6f3b8b8bff6 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: 2022-11-02 +date: 2022-11-03 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 19dbab0aab26d7..dc4eb99cbdce13 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: 2022-11-02 +date: 2022-11-03 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 7173026231189e..67eaa3732a954d 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: 2022-11-02 +date: 2022-11-03 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 e85866399ac3ca..5f26ede150ecde 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: 2022-11-02 +date: 2022-11-03 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 3ff5b5d63ad63d..f1a6f30574612e 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: 2022-11-02 +date: 2022-11-03 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 e2d574dc60cb31..faab1f80138253 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: 2022-11-02 +date: 2022-11-03 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 b6ef47d2cfc98a..72bcc30d618a17 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: 2022-11-02 +date: 2022-11-03 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 78c16f75d360e2..b6533d6e425d68 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.devdocs.json b/api_docs/visualizations.devdocs.json index b00231a68a28d2..8ec07af6904d0e 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -8205,62 +8205,13 @@ "description": [], "signature": [ "() => ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionFunctionDefinition", - "text": "ExpressionFunctionDefinition" - }, - "<\"visdimension\", ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.Datatable", - "text": "Datatable" - }, - ", ", { "pluginId": "visualizations", "scope": "common", "docId": "kibVisualizationsPluginApi", - "section": "def-common.Arguments", - "text": "Arguments" - }, - ", ", - { - "pluginId": "visualizations", - "scope": "common", - "docId": "kibVisualizationsPluginApi", - "section": "def-common.ExpressionValueVisDimension", - "text": "ExpressionValueVisDimension" - }, - ", ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExecutionContext", - "text": "ExecutionContext" - }, - "<", - { - "pluginId": "inspector", - "scope": "common", - "docId": "kibInspectorPluginApi", - "section": "def-common.Adapters", - "text": "Adapters" - }, - ", ", - { - "pluginId": "@kbn/utility-types", - "scope": "server", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" - }, - ">>" + "section": "def-common.ExpressionFunctionVisDimension", + "text": "ExpressionFunctionVisDimension" + } ], "path": "src/plugins/visualizations/common/expression_functions/vis_dimension.ts", "deprecated": false, @@ -13951,6 +13902,76 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "visualizations", + "id": "def-common.ExpressionFunctionVisDimension", + "type": "Type", + "tags": [], + "label": "ExpressionFunctionVisDimension", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionFunctionDefinition", + "text": "ExpressionFunctionDefinition" + }, + "<\"visdimension\", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.Datatable", + "text": "Datatable" + }, + ", ", + { + "pluginId": "visualizations", + "scope": "common", + "docId": "kibVisualizationsPluginApi", + "section": "def-common.Arguments", + "text": "Arguments" + }, + ", ", + { + "pluginId": "visualizations", + "scope": "common", + "docId": "kibVisualizationsPluginApi", + "section": "def-common.ExpressionValueVisDimension", + "text": "ExpressionValueVisDimension" + }, + ", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionContext", + "text": "ExecutionContext" + }, + "<", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + }, + ", ", + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.SerializableRecord", + "text": "SerializableRecord" + }, + ">>" + ], + "path": "src/plugins/visualizations/common/expression_functions/vis_dimension.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "visualizations", "id": "def-common.ExpressionValueVisDimension", diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 0cd6f9f52f8e9b..8fcde27cb16053 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: 2022-11-02 +date: 2022-11-03 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; @@ -21,7 +21,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 797 | 12 | 767 | 18 | +| 798 | 12 | 768 | 18 | ## Client From 9e58af54a8d151c676035a915523acd11ede3223 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 3 Nov 2022 08:44:08 +0200 Subject: [PATCH 28/37] [Lens] Exclude the reference layer from the cursor sync hook (#144384) --- .../expression_xy/public/components/xy_chart.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/chart_expressions/expression_xy/public/components/xy_chart.tsx b/src/plugins/chart_expressions/expression_xy/public/components/xy_chart.tsx index c03cb9a664f1a8..d57dc86b36ba1b 100644 --- a/src/plugins/chart_expressions/expression_xy/public/components/xy_chart.tsx +++ b/src/plugins/chart_expressions/expression_xy/public/components/xy_chart.tsx @@ -275,8 +275,10 @@ export function XYChart({ [uiState] ); + // Exclude the reference layers from the cursor update + const cursorSyncLayers = filteredLayers.filter(isDataLayer); const handleCursorUpdate = useActiveCursor(chartsActiveCursorService, chartRef, { - datatables: filteredLayers.map(({ table }) => table), + datatables: cursorSyncLayers.map(({ table }) => table), }); const onRenderChange = useCallback( From a6ab758e5fbf8e4223f9d4d36b8c21f0fee613ce Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 3 Nov 2022 08:44:53 +0200 Subject: [PATCH 29/37] [Lens] Text based languages fixes and UX improvements (#144306) * [Lens] Fixes wrong label color on field duplication * Update meta information on selected field update * Mark as incompatible all the non numeric fields for the metrics fields selection * Restrict dropping non mumeric fields on metric dimensions * Update functional tests --- .../text_based/field_select.test.tsx | 15 ++-- .../datasources/text_based/field_select.tsx | 34 ++++---- .../text_based/text_based_languages.test.ts | 84 ++++++++++++++++++- .../text_based/text_based_languages.tsx | 31 +++++-- .../editor_frame/config_panel/layer_panel.tsx | 2 + x-pack/plugins/lens/public/types.ts | 4 + .../datatable/visualization.tsx | 1 + .../gauge/visualization.test.ts | 16 ++++ .../visualizations/gauge/visualization.tsx | 4 + .../heatmap/visualization.test.ts | 3 + .../visualizations/heatmap/visualization.tsx | 1 + .../legacy_metric/visualization.tsx | 1 + .../__snapshots__/visualization.test.ts.snap | 2 + .../visualizations/metric/visualization.tsx | 2 + .../partition/visualization.tsx | 1 + .../visualizations/xy/visualization.tsx | 1 + 16 files changed, 173 insertions(+), 29 deletions(-) diff --git a/x-pack/plugins/lens/public/datasources/text_based/field_select.test.tsx b/x-pack/plugins/lens/public/datasources/text_based/field_select.test.tsx index b344131747b1b7..2a8e63da1b0e16 100644 --- a/x-pack/plugins/lens/public/datasources/text_based/field_select.test.tsx +++ b/x-pack/plugins/lens/public/datasources/text_based/field_select.test.tsx @@ -6,11 +6,9 @@ */ import React from 'react'; -import type { DatatableColumn } from '@kbn/expressions-plugin/public'; - import { FieldPicker, FieldOptionValue } from '../../shared_components/field_picker'; -import { FieldSelect, FieldSelectProps } from './field_select'; +import { type FieldOptionCompatible, FieldSelect, FieldSelectProps } from './field_select'; import { shallowWithIntl as shallow } from '@kbn/test-jest-helpers'; const fields = [ @@ -20,6 +18,7 @@ const fields = [ meta: { type: 'date', }, + compatible: true, }, { name: 'bytes', @@ -27,6 +26,7 @@ const fields = [ meta: { type: 'number', }, + compatible: true, }, { name: 'memory', @@ -34,8 +34,9 @@ const fields = [ meta: { type: 'number', }, + compatible: true, }, -] as DatatableColumn[]; +] as FieldOptionCompatible[]; describe('Layer Data Panel', () => { let defaultProps: FieldSelectProps; @@ -75,7 +76,7 @@ describe('Layer Data Panel', () => { label: 'Available fields', options: [ { - compatible: true, + compatible: 1, exists: true, label: 'timestamp', value: { @@ -85,7 +86,7 @@ describe('Layer Data Panel', () => { }, }, { - compatible: true, + compatible: 1, exists: true, label: 'bytes', value: { @@ -95,7 +96,7 @@ describe('Layer Data Panel', () => { }, }, { - compatible: true, + compatible: 1, exists: true, label: 'memory', value: { diff --git a/x-pack/plugins/lens/public/datasources/text_based/field_select.tsx b/x-pack/plugins/lens/public/datasources/text_based/field_select.tsx index e7cb5451d31ab2..5ca4f1e341ad9b 100644 --- a/x-pack/plugins/lens/public/datasources/text_based/field_select.tsx +++ b/x-pack/plugins/lens/public/datasources/text_based/field_select.tsx @@ -13,10 +13,14 @@ import { FieldPicker, FieldOptionValue, FieldOption } from '../../shared_compone import type { TextBasedLayerColumn } from './types'; import type { DataType } from '../../types'; +export interface FieldOptionCompatible extends DatatableColumn { + compatible: boolean; +} + export interface FieldSelectProps extends EuiComboBoxProps { selectedField?: TextBasedLayerColumn; onChoose: (choice: FieldOptionValue) => void; - existingFields: DatatableColumn[]; + existingFields: FieldOptionCompatible[]; } export function FieldSelect({ @@ -26,19 +30,21 @@ export function FieldSelect({ ['data-test-subj']: dataTestSub, }: FieldSelectProps) { const memoizedFieldOptions = useMemo(() => { - const availableFields = existingFields.map((field) => { - const dataType = field?.meta?.type as DataType; - return { - compatible: true, - exists: true, - label: field.name, - value: { - type: 'field' as FieldOptionValue['type'], - field: field.name, - dataType, - }, - }; - }); + const availableFields = existingFields + .map((field) => { + const dataType = field?.meta?.type as DataType; + return { + compatible: field.compatible ? 1 : 0, + exists: true, + label: field.name, + value: { + type: 'field' as FieldOptionValue['type'], + field: field.name, + dataType, + }, + }; + }) + .sort((a, b) => b.compatible - a.compatible); return [ { label: i18n.translate('xpack.lens.indexPattern.availableFieldsLabel', { diff --git a/x-pack/plugins/lens/public/datasources/text_based/text_based_languages.test.ts b/x-pack/plugins/lens/public/datasources/text_based/text_based_languages.test.ts index 25bab766558e37..b7a99c41cf72ad 100644 --- a/x-pack/plugins/lens/public/datasources/text_based/text_based_languages.test.ts +++ b/x-pack/plugins/lens/public/datasources/text_based/text_based_languages.test.ts @@ -77,7 +77,7 @@ const expectedIndexPatterns = { const indexPatterns = expectedIndexPatterns; -describe('IndexPattern Data Source', () => { +describe('Textbased Data Source', () => { let baseState: TextBasedPrivateState; let TextBasedDatasource: Datasource; @@ -189,6 +189,88 @@ describe('IndexPattern Data Source', () => { }); }); + describe('#getDropProps', () => { + it('should return undefined if source is not present', () => { + const props = { + target: { + layerId: 'a', + groupId: 'groupId', + columnId: 'col1', + filterOperations: jest.fn(), + }, + state: baseState, + indexPatterns, + }; + expect(TextBasedDatasource.getDropProps(props)).toBeUndefined(); + }); + + it('should return undefined if target group not allows non numeric fields', () => { + const newState = { + ...baseState, + layers: { + a: { + columns: [], + allColumns: [ + { + columnId: 'col1', + fieldName: 'Test 1', + meta: { + type: 'string', + }, + }, + ], + query: { sql: 'SELECT * FROM foo' }, + index: 'foo', + }, + }, + } as unknown as TextBasedPrivateState; + const props = { + target: { + layerId: 'a', + groupId: 'groupId', + columnId: 'col1', + filterOperations: jest.fn(), + isMetricDimension: true, + }, + source: { + id: 'col1', + field: 'Test 1', + humanData: { + label: 'Test 1', + }, + }, + state: newState, + indexPatterns, + }; + expect(TextBasedDatasource.getDropProps(props)).toBeUndefined(); + }); + + it('should return props if field is allowed to be dropped', () => { + const props = { + target: { + layerId: 'a', + groupId: 'groupId', + columnId: 'col1', + filterOperations: jest.fn(), + isMetricDimension: true, + }, + source: { + id: 'col1', + field: 'Test 1', + humanData: { + label: 'Test 1', + }, + }, + state: baseState, + indexPatterns, + }; + expect(TextBasedDatasource.getDropProps(props)).toStrictEqual({ + dropTypes: ['field_add'], + nextLabel: 'Test 1', + }); + }); + }); + describe('#insertLayer', () => { it('should insert an empty layer into the previous state', () => { expect(TextBasedDatasource.insertLayer(baseState, 'newLayer')).toEqual({ diff --git a/x-pack/plugins/lens/public/datasources/text_based/text_based_languages.tsx b/x-pack/plugins/lens/public/datasources/text_based/text_based_languages.tsx index 368036e3ebd500..ed8931d75f54d3 100644 --- a/x-pack/plugins/lens/public/datasources/text_based/text_based_languages.tsx +++ b/x-pack/plugins/lens/public/datasources/text_based/text_based_languages.tsx @@ -383,11 +383,9 @@ export function getTextBasedDatasource({ customLabel = selectedField?.fieldName; } - const columnExists = props.state.fieldList.some((f) => f.name === customLabel); - render( {}} data-test-subj="lns-dimensionTrigger-textBased" > @@ -412,6 +410,19 @@ export function getTextBasedDatasource({ const selectedField = props.state.layers[props.layerId]?.allColumns?.find( (column) => column.columnId === props.columnId ); + + const updatedFields = fields.map((f) => { + return { + ...f, + compatible: props.isMetricDimension + ? props.filterOperations({ + dataType: f.meta.type as DataType, + isBucketed: Boolean(f?.meta?.type !== 'number'), + scale: 'ordinal', + }) + : true, + }; + }); render( { const meta = fields.find((f) => f.name === choice.field)?.meta; @@ -457,12 +468,12 @@ export function getTextBasedDatasource({ columns: props.state.layers[props.layerId].columns.map((col) => col.columnId !== props.columnId ? col - : { ...col, fieldName: choice.field } + : { ...col, fieldName: choice.field, meta } ), allColumns: props.state.layers[props.layerId].allColumns.map((col) => col.columnId !== props.columnId ? col - : { ...col, fieldName: choice.field } + : { ...col, fieldName: choice.field, meta } ), }, }, @@ -522,10 +533,16 @@ export function getTextBasedDatasource({ }, getDropProps: (props) => { - const { source } = props; + const { source, target, state } = props; if (!source) { return; } + if (target && target.isMetricDimension) { + const layerId = target.layerId; + const currentLayer = state.layers[layerId]; + const field = currentLayer.allColumns.find((f) => f.columnId === source.id); + if (field?.meta?.type !== 'number') return; + } const label = source.field as string; return { dropTypes: ['field_add'], nextLabel: label }; }, diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_panel.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_panel.tsx index 13939fa276b319..69f661e92fb435 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_panel.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/config_panel/layer_panel.tsx @@ -605,6 +605,7 @@ export function LayerPanel( filterOperations: group.filterOperations, prioritizedOperation: group.prioritizedOperation, isNewColumn: true, + isMetricDimension: group?.isMetricDimension, indexPatternId: layerDatasource ? layerDatasource.getUsedDataView(layerDatasourceState, layerId) : activeVisualization.getUsedDataView?.(visualizationState, layerId), @@ -717,6 +718,7 @@ export function LayerPanel( groupId: activeGroup.groupId, hideGrouping: activeGroup.hideGrouping, filterOperations: activeGroup.filterOperations, + isMetricDimension: activeGroup?.isMetricDimension, dimensionGroups, toggleFullscreen, isFullscreen, diff --git a/x-pack/plugins/lens/public/types.ts b/x-pack/plugins/lens/public/types.ts index 628afa8d612761..b947c43dd46de2 100644 --- a/x-pack/plugins/lens/public/types.ts +++ b/x-pack/plugins/lens/public/types.ts @@ -612,6 +612,7 @@ export type DatasourceDimensionEditorProps = DatasourceDimensionPro dimensionGroups: VisualizationDimensionGroupConfig[]; toggleFullscreen: () => void; isFullscreen: boolean; + isMetricDimension?: boolean; layerType: LayerType | undefined; supportStaticValue: boolean; paramEditorCustomProps?: ParamEditorCustomProps; @@ -636,6 +637,7 @@ export interface DragDropOperation { filterOperations: (operation: OperationMetadata) => boolean; indexPatternId?: string; isNewColumn?: boolean; + isMetricDimension?: boolean; prioritizedOperation?: string; } @@ -793,6 +795,8 @@ export type VisualizationDimensionGroupConfig = SharedDimensionProps & { // need a special flag to know when to pass the previous column on duplicating requiresPreviousColumnOnDuplicate?: boolean; supportStaticValue?: boolean; + // used by text based datasource to restrict the field selection only to number fields for the metric dimensions + isMetricDimension?: boolean; paramEditorCustomProps?: ParamEditorCustomProps; enableFormatSelector?: boolean; formatSelectorOptions?: FormatSelectorOptions; // only relevant if supportFieldFormat is true diff --git a/x-pack/plugins/lens/public/visualizations/datatable/visualization.tsx b/x-pack/plugins/lens/public/visualizations/datatable/visualization.tsx index ccfaff17a8ecbf..88bd970b49bb71 100644 --- a/x-pack/plugins/lens/public/visualizations/datatable/visualization.tsx +++ b/x-pack/plugins/lens/public/visualizations/datatable/visualization.tsx @@ -299,6 +299,7 @@ export const getDatatableVisualization = ({ }), supportsMoreColumns: true, filterOperations: (op) => !op.isBucketed, + isMetricDimension: true, requiredMinDimensionCount: 1, dataTestSubj: 'lnsDatatable_metrics', enableDimensionEditor: true, diff --git a/x-pack/plugins/lens/public/visualizations/gauge/visualization.test.ts b/x-pack/plugins/lens/public/visualizations/gauge/visualization.test.ts index 38580d33163ca9..1041a7bb36078d 100644 --- a/x-pack/plugins/lens/public/visualizations/gauge/visualization.test.ts +++ b/x-pack/plugins/lens/public/visualizations/gauge/visualization.test.ts @@ -102,6 +102,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.METRIC, groupLabel: 'Metric', + isMetricDimension: true, accessors: [{ columnId: 'metric-accessor', triggerIcon: 'none' }], filterOperations: isNumericDynamicMetric, supportsMoreColumns: false, @@ -118,6 +119,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.MIN, groupLabel: 'Minimum value', + isMetricDimension: true, accessors: [{ columnId: 'min-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -135,6 +137,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.MAX, groupLabel: 'Maximum value', + isMetricDimension: true, accessors: [{ columnId: 'max-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -152,6 +155,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.GOAL, groupLabel: 'Goal value', + isMetricDimension: true, accessors: [{ columnId: 'goal-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -184,6 +188,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.METRIC, groupLabel: 'Metric', + isMetricDimension: true, accessors: [], filterOperations: isNumericDynamicMetric, supportsMoreColumns: true, @@ -200,6 +205,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.MIN, groupLabel: 'Minimum value', + isMetricDimension: true, accessors: [{ columnId: 'min-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -217,6 +223,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.MAX, groupLabel: 'Maximum value', + isMetricDimension: true, accessors: [], filterOperations: isNumericMetric, supportsMoreColumns: true, @@ -234,6 +241,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.GOAL, groupLabel: 'Goal value', + isMetricDimension: true, accessors: [], filterOperations: isNumericMetric, supportsMoreColumns: true, @@ -272,6 +280,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.METRIC, groupLabel: 'Metric', + isMetricDimension: true, accessors: [{ columnId: 'metric-accessor', triggerIcon: 'none' }], filterOperations: isNumericDynamicMetric, supportsMoreColumns: false, @@ -288,6 +297,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.MIN, groupLabel: 'Minimum value', + isMetricDimension: true, accessors: [{ columnId: 'min-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -305,6 +315,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.MAX, groupLabel: 'Maximum value', + isMetricDimension: true, accessors: [{ columnId: 'max-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -322,6 +333,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.GOAL, groupLabel: 'Goal value', + isMetricDimension: true, accessors: [{ columnId: 'goal-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -365,6 +377,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.METRIC, groupLabel: 'Metric', + isMetricDimension: true, accessors: [{ columnId: 'metric-accessor', triggerIcon: 'none' }], filterOperations: isNumericDynamicMetric, supportsMoreColumns: false, @@ -381,6 +394,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.MIN, groupLabel: 'Minimum value', + isMetricDimension: true, accessors: [{ columnId: 'min-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -400,6 +414,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.MAX, groupLabel: 'Maximum value', + isMetricDimension: true, accessors: [{ columnId: 'max-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, @@ -419,6 +434,7 @@ describe('gauge', () => { }, groupId: GROUP_ID.GOAL, groupLabel: 'Goal value', + isMetricDimension: true, accessors: [{ columnId: 'goal-accessor' }], filterOperations: isNumericMetric, supportsMoreColumns: false, diff --git a/x-pack/plugins/lens/public/visualizations/gauge/visualization.tsx b/x-pack/plugins/lens/public/visualizations/gauge/visualization.tsx index 684703a7e00113..7010615dcd8d65 100644 --- a/x-pack/plugins/lens/public/visualizations/gauge/visualization.tsx +++ b/x-pack/plugins/lens/public/visualizations/gauge/visualization.tsx @@ -244,6 +244,7 @@ export const getGaugeVisualization = ({ defaultMessage: 'Value', }), }, + isMetricDimension: true, accessors: metricAccessor ? [ palette @@ -282,6 +283,7 @@ export const getGaugeVisualization = ({ defaultMessage: 'Value', }), }, + isMetricDimension: true, accessors: state.minAccessor ? [{ columnId: state.minAccessor }] : [], filterOperations: isNumericMetric, supportsMoreColumns: !state.minAccessor, @@ -308,6 +310,7 @@ export const getGaugeVisualization = ({ defaultMessage: 'Value', }), }, + isMetricDimension: true, accessors: state.maxAccessor ? [{ columnId: state.maxAccessor }] : [], filterOperations: isNumericMetric, supportsMoreColumns: !state.maxAccessor, @@ -334,6 +337,7 @@ export const getGaugeVisualization = ({ defaultMessage: 'Value', }), }, + isMetricDimension: true, accessors: state.goalAccessor ? [{ columnId: state.goalAccessor }] : [], filterOperations: isNumericMetric, supportsMoreColumns: !state.goalAccessor, diff --git a/x-pack/plugins/lens/public/visualizations/heatmap/visualization.test.ts b/x-pack/plugins/lens/public/visualizations/heatmap/visualization.test.ts index fd73a652b53e09..e26fe130e8da94 100644 --- a/x-pack/plugins/lens/public/visualizations/heatmap/visualization.test.ts +++ b/x-pack/plugins/lens/public/visualizations/heatmap/visualization.test.ts @@ -156,6 +156,7 @@ describe('heatmap', () => { }, groupId: GROUP_ID.CELL, groupLabel: 'Cell value', + isMetricDimension: true, accessors: [ { columnId: 'v-accessor', @@ -214,6 +215,7 @@ describe('heatmap', () => { }, groupId: GROUP_ID.CELL, groupLabel: 'Cell value', + isMetricDimension: true, accessors: [], filterOperations: isCellValueSupported, supportsMoreColumns: true, @@ -270,6 +272,7 @@ describe('heatmap', () => { }, groupId: GROUP_ID.CELL, groupLabel: 'Cell value', + isMetricDimension: true, accessors: [ { columnId: 'v-accessor', diff --git a/x-pack/plugins/lens/public/visualizations/heatmap/visualization.tsx b/x-pack/plugins/lens/public/visualizations/heatmap/visualization.tsx index 9750cc89c55e7a..82c455077e7cf3 100644 --- a/x-pack/plugins/lens/public/visualizations/heatmap/visualization.tsx +++ b/x-pack/plugins/lens/public/visualizations/heatmap/visualization.tsx @@ -229,6 +229,7 @@ export const getHeatmapVisualization = ({ ] : [], filterOperations: isCellValueSupported, + isMetricDimension: true, supportsMoreColumns: !state.valueAccessor, enableDimensionEditor: true, requiredMinDimensionCount: 1, diff --git a/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.tsx b/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.tsx index c98aa37dfd641b..8299cf3c3a36b2 100644 --- a/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.tsx +++ b/x-pack/plugins/lens/public/visualizations/legacy_metric/visualization.tsx @@ -223,6 +223,7 @@ export const getLegacyMetricVisualization = ({ defaultMessage: 'Value', }), }, + isMetricDimension: true, groupLabel: i18n.translate('xpack.lens.metric.label', { defaultMessage: 'Metric', }), diff --git a/x-pack/plugins/lens/public/visualizations/metric/__snapshots__/visualization.test.ts.snap b/x-pack/plugins/lens/public/visualizations/metric/__snapshots__/visualization.test.ts.snap index 6114628b3adf4c..64b509e5f7a8c1 100644 --- a/x-pack/plugins/lens/public/visualizations/metric/__snapshots__/visualization.test.ts.snap +++ b/x-pack/plugins/lens/public/visualizations/metric/__snapshots__/visualization.test.ts.snap @@ -20,6 +20,7 @@ Object { }, "groupId": "metric", "groupLabel": "Primary metric", + "isMetricDimension": true, "paramEditorCustomProps": Object { "headingLabel": "Value", }, @@ -41,6 +42,7 @@ Object { }, "groupId": "secondaryMetric", "groupLabel": "Secondary metric", + "isMetricDimension": true, "paramEditorCustomProps": Object { "headingLabel": "Value", }, diff --git a/x-pack/plugins/lens/public/visualizations/metric/visualization.tsx b/x-pack/plugins/lens/public/visualizations/metric/visualization.tsx index eac08b22c9ea47..3b3546655dce39 100644 --- a/x-pack/plugins/lens/public/visualizations/metric/visualization.tsx +++ b/x-pack/plugins/lens/public/visualizations/metric/visualization.tsx @@ -141,6 +141,7 @@ const getMetricLayerConfiguration = ( : [], supportsMoreColumns: !props.state.metricAccessor, filterOperations: isSupportedDynamicMetric, + isMetricDimension: true, enableDimensionEditor: true, enableFormatSelector: true, formatSelectorOptions: formatterOptions, @@ -166,6 +167,7 @@ const getMetricLayerConfiguration = ( : [], supportsMoreColumns: !props.state.secondaryMetricAccessor, filterOperations: isSupportedDynamicMetric, + isMetricDimension: true, enableDimensionEditor: true, enableFormatSelector: true, formatSelectorOptions: formatterOptions, diff --git a/x-pack/plugins/lens/public/visualizations/partition/visualization.tsx b/x-pack/plugins/lens/public/visualizations/partition/visualization.tsx index 6bff536794e891..57118c04ed7216 100644 --- a/x-pack/plugins/lens/public/visualizations/partition/visualization.tsx +++ b/x-pack/plugins/lens/public/visualizations/partition/visualization.tsx @@ -272,6 +272,7 @@ export const getPieVisualization = ({ groupLabel: i18n.translate('xpack.lens.pie.groupsizeLabel', { defaultMessage: 'Size by', }), + isMetricDimension: true, dimensionEditorGroupLabel: i18n.translate('xpack.lens.pie.groupSizeLabel', { defaultMessage: 'Size', }), diff --git a/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx b/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx index 6622dd40615c86..47966ea309e3ea 100644 --- a/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx +++ b/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx @@ -347,6 +347,7 @@ export const getXyVisualization = ({ groupLabel: getAxisName('y', { isHorizontal }), accessors: mappedAccessors, filterOperations: isNumericDynamicMetric, + isMetricDimension: true, supportsMoreColumns: true, requiredMinDimensionCount: 1, dataTestSubj: 'lnsXY_yDimensionPanel', From 5abc674b06028ff9d33eb94df582345a1a1c3c6f Mon Sep 17 00:00:00 2001 From: Yaroslav Kuznietsov Date: Thu, 3 Nov 2022 08:49:10 +0200 Subject: [PATCH 30/37] [Lens] Metric expression types improvement. (#144239) * Added metricTrendlineFn. * Added metricVis type safety. --- .../expression_metric/common/index.ts | 1 + .../visualizations/metric/to_expression.ts | 138 +++++++++--------- .../metric/visualization.test.ts | 10 +- 3 files changed, 69 insertions(+), 80 deletions(-) diff --git a/src/plugins/chart_expressions/expression_metric/common/index.ts b/src/plugins/chart_expressions/expression_metric/common/index.ts index 163c153efa9ee9..ae8f3b9fae7a2d 100755 --- a/src/plugins/chart_expressions/expression_metric/common/index.ts +++ b/src/plugins/chart_expressions/expression_metric/common/index.ts @@ -14,6 +14,7 @@ export type { MetricInput, MetricVisRenderConfig, MetricVisExpressionFunctionDefinition, + TrendlineExpressionFunctionDefinition, DimensionsVisParam, MetricVisParam, VisParams, diff --git a/x-pack/plugins/lens/public/visualizations/metric/to_expression.ts b/x-pack/plugins/lens/public/visualizations/metric/to_expression.ts index 97c8a3c995aabe..1326f5369cbd23 100644 --- a/x-pack/plugins/lens/public/visualizations/metric/to_expression.ts +++ b/x-pack/plugins/lens/public/visualizations/metric/to_expression.ts @@ -5,12 +5,13 @@ * 2.0. */ +import { LayoutDirection } from '@elastic/charts'; import { CustomPaletteParams, CUSTOM_PALETTE, PaletteRegistry } from '@kbn/coloring'; -import { - EXPRESSION_METRIC_NAME, - EXPRESSION_METRIC_TRENDLINE_NAME, -} from '@kbn/expression-metric-vis-plugin/public'; -import { buildExpressionFunction } from '@kbn/expressions-plugin/common'; +import type { + TrendlineExpressionFunctionDefinition, + MetricVisExpressionFunctionDefinition, +} from '@kbn/expression-metric-vis-plugin/common'; +import { buildExpression, buildExpressionFunction } from '@kbn/expressions-plugin/common'; import { Ast } from '@kbn/interpreter'; import { CollapseArgs, CollapseFunction } from '../../../common/expressions'; import { CollapseExpressionFunction } from '../../../common/expressions/collapse/types'; @@ -33,51 +34,47 @@ const getTrendlineExpression = ( state: MetricVisualizationState, datasourceExpressionsByLayers: Record ): Ast | undefined => { - if (!state.trendlineLayerId || !state.trendlineMetricAccessor || !state.trendlineTimeAccessor) { + const { trendlineLayerId, trendlineMetricAccessor, trendlineTimeAccessor } = state; + if (!trendlineLayerId || !trendlineMetricAccessor || !trendlineTimeAccessor) { return; } - const datasourceExpression = datasourceExpressionsByLayers[state.trendlineLayerId]; + const datasourceExpression = datasourceExpressionsByLayers[trendlineLayerId]; - return { - type: 'expression', - chain: [ - { - type: 'function', - function: EXPRESSION_METRIC_TRENDLINE_NAME, - arguments: { - metric: [state.trendlineMetricAccessor], - timeField: [state.trendlineTimeAccessor], - breakdownBy: - state.trendlineBreakdownByAccessor && !state.collapseFn - ? [state.trendlineBreakdownByAccessor] - : [], - inspectorTableId: [state.trendlineLayerId], - ...(datasourceExpression - ? { - table: [ - { - ...datasourceExpression, - chain: [ - ...datasourceExpression.chain, - ...(state.collapseFn - ? [ - buildExpressionFunction('lens_collapse', { - by: [state.trendlineTimeAccessor], - metric: [state.trendlineMetricAccessor], - fn: [state.collapseFn], - }).toAst(), - ] - : []), - ], - }, - ], - } - : {}), + if (!datasourceExpression) { + return; + } + + const metricTrendlineFn = buildExpressionFunction( + 'metricTrendline', + { + metric: trendlineMetricAccessor, + timeField: trendlineTimeAccessor, + breakdownBy: + state.trendlineBreakdownByAccessor && !state.collapseFn + ? state.trendlineBreakdownByAccessor + : undefined, + inspectorTableId: trendlineLayerId, + table: [ + { + ...datasourceExpression, + chain: [ + ...datasourceExpression.chain, + ...(state.collapseFn + ? [ + buildExpressionFunction('lens_collapse', { + by: [trendlineTimeAccessor], + metric: [trendlineMetricAccessor], + fn: [state.collapseFn], + }).toAst(), + ] + : []), + ], }, - }, - ], - }; + ], + } + ); + return buildExpression([metricTrendlineFn]).toAst(); }; export const toExpression = ( @@ -135,38 +132,35 @@ export const toExpression = ( const trendlineExpression = getTrendlineExpression(state, datasourceExpressionsByLayers); + const metricFn = buildExpressionFunction('metricVis', { + metric: state.metricAccessor, + secondaryMetric: state.secondaryMetricAccessor, + secondaryPrefix: state.secondaryPrefix, + max: showingBar(state) ? state.maxAccessor : undefined, + breakdownBy: + state.breakdownByAccessor && !state.collapseFn ? state.breakdownByAccessor : undefined, + trendline: trendlineExpression ? [trendlineExpression] : [], + subtitle: state.subtitle ?? undefined, + progressDirection: state.progressDirection as LayoutDirection, + color: state.color || getDefaultColor(state), + palette: state.palette?.params + ? [ + paletteService + .get(CUSTOM_PALETTE) + .toExpression(computePaletteParams(state.palette.params as CustomPaletteParams)), + ] + : [], + maxCols: state.maxCols ?? DEFAULT_MAX_COLUMNS, + minTiles: maxPossibleTiles ?? undefined, + inspectorTableId: state.layerId, + }); + return { type: 'expression', chain: [ ...(datasourceExpression?.chain ?? []), ...(collapseExpressionFunction ? [collapseExpressionFunction] : []), - { - type: 'function', - function: EXPRESSION_METRIC_NAME, - arguments: { - metric: state.metricAccessor ? [state.metricAccessor] : [], - secondaryMetric: state.secondaryMetricAccessor ? [state.secondaryMetricAccessor] : [], - secondaryPrefix: - typeof state.secondaryPrefix !== 'undefined' ? [state.secondaryPrefix] : [], - max: showingBar(state) ? [state.maxAccessor] : [], - breakdownBy: - state.breakdownByAccessor && !state.collapseFn ? [state.breakdownByAccessor] : [], - trendline: trendlineExpression ? [trendlineExpression] : [], - subtitle: state.subtitle ? [state.subtitle] : [], - progressDirection: state.progressDirection ? [state.progressDirection] : [], - color: [state.color || getDefaultColor(state)], - palette: state.palette?.params - ? [ - paletteService - .get(CUSTOM_PALETTE) - .toExpression(computePaletteParams(state.palette.params as CustomPaletteParams)), - ] - : [], - maxCols: [state.maxCols ?? DEFAULT_MAX_COLUMNS], - minTiles: maxPossibleTiles ? [maxPossibleTiles] : [], - inspectorTableId: [state.layerId], - }, - }, + metricFn.toAst(), ], }; }; diff --git a/x-pack/plugins/lens/public/visualizations/metric/visualization.test.ts b/x-pack/plugins/lens/public/visualizations/metric/visualization.test.ts index 2a89ef784492db..41e9fab67d4d67 100644 --- a/x-pack/plugins/lens/public/visualizations/metric/visualization.test.ts +++ b/x-pack/plugins/lens/public/visualizations/metric/visualization.test.ts @@ -300,21 +300,18 @@ describe('metric visualization', () => { "chain": Array [ Object { "arguments": Object { - "breakdownBy": Array [], "color": Array [ "static-color", ], "inspectorTableId": Array [ "first", ], - "max": Array [], "maxCols": Array [ 5, ], "metric": Array [ "metric-col-id", ], - "minTiles": Array [], "palette": Array [ Object { "chain": Array [ @@ -370,7 +367,6 @@ describe('metric visualization', () => { "inspectorTableId": Array [ "first", ], - "max": Array [], "maxCols": Array [ 5, ], @@ -473,7 +469,6 @@ describe('metric visualization', () => { "chain": Array [ Object { "arguments": Object { - "breakdownBy": Array [], "inspectorTableId": Array [ "second", ], @@ -520,7 +515,6 @@ describe('metric visualization', () => { "chain": Array [ Object { "arguments": Object { - "breakdownBy": Array [], "inspectorTableId": Array [ "second", ], @@ -608,8 +602,8 @@ describe('metric visualization', () => { "type": "function", } `); - expect(ast.chain[1].arguments.minTiles).toHaveLength(0); - expect(ast.chain[1].arguments.breakdownBy).toHaveLength(0); + expect(ast.chain[1].arguments.minTiles).toBeUndefined(); + expect(ast.chain[1].arguments.breakdownBy).toBeUndefined(); }); it('always applies max function to static max dimensions', () => { From 9e19d09e37735307ef469751552e8b9a83ccc9ba Mon Sep 17 00:00:00 2001 From: Shahzad Date: Thu, 3 Nov 2022 08:52:09 +0100 Subject: [PATCH 31/37] [Synthetics] Step details page object count breakdown (#144409) --- .../components/color_palette.tsx | 9 ++- .../components/object_count_list.tsx | 57 +++++++++++++++++++ .../step_details_page/step_detail_page.tsx | 5 +- .../public/apps/synthetics/routes.tsx | 2 +- 4 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/components/object_count_list.tsx diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/components/color_palette.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/components/color_palette.tsx index bafd0de5aa48a9..be6bc97a1fcaec 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/components/color_palette.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/components/color_palette.tsx @@ -10,22 +10,27 @@ import { EuiFlexGroup, EuiFlexItem, EuiText, EuiLoadingContent } from '@elastic/ import { useTheme } from '@kbn/observability-plugin/public'; import styled from 'styled-components'; import { colourPalette } from './network_waterfall/step_detail/waterfall/data_formatting'; + export const ColorPalette = ({ label, mimeType, percent, value, loading, + labelWidth = 40, + valueWidth = 60, }: { label: string; mimeType: string; percent: number; value: string; loading: boolean; + labelWidth?: number; + valueWidth?: number; }) => { return ( - + {label} @@ -35,7 +40,7 @@ export const ColorPalette = ({ loading={loading} /> - + { + const objectMetrics = useObjectMetrics(); + + return ( + <> + + + +

{OBJECT_COUNT_LABEL}

+
+
+ + + {TOTAL_LABEL}: {objectMetrics.totalObjects} + + +
+ +
+ {objectMetrics.items.map(({ label, mimeType, percent, count }) => ( + <> + + + + ))} +
+ + ); +}; + +const OBJECT_COUNT_LABEL = i18n.translate('xpack.synthetics.stepDetails.objectCount', { + defaultMessage: 'Object count', +}); + +const TOTAL_LABEL = i18n.translate('xpack.synthetics.stepDetails.total', { + defaultMessage: 'Total', +}); diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx index f0bb1b91d5a8e7..999d805d6167cf 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/step_details_page/step_detail_page.tsx @@ -19,6 +19,7 @@ import { import { WaterfallChartContainer } from './components/network_waterfall/step_detail/waterfall/waterfall_chart_container'; import { ObjectWeightList } from './components/object_weight_list'; import { NetworkTimingsBreakdown } from './network_timings_breakdown'; +import { ObjectCountList } from './components/object_count_list'; import { StepImage } from './components/step_image'; import { useJourneySteps } from '../monitor_details/hooks/use_journey_steps'; import { MonitorDetailsLinkPortal } from '../monitor_add_edit/monitor_details_portal'; @@ -94,7 +95,9 @@ export const StepDetailPage = () => { - {/* TODO: Add breakdown of object weight*/} + + +
diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/routes.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/routes.tsx index 06b684dd307195..ebc7bd197e0f91 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/routes.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/routes.tsx @@ -47,8 +47,8 @@ import { MONITOR_ERRORS_ROUTE, MONITOR_HISTORY_ROUTE, MONITOR_ROUTE, - STEP_DETAIL_ROUTE, ERROR_DETAILS_ROUTE, + STEP_DETAIL_ROUTE, OVERVIEW_ROUTE, } from '../../../common/constants'; import { PLUGIN } from '../../../common/constants/plugin'; From cf152eae232f56cf295ce493a0061f1d0d6fa3be Mon Sep 17 00:00:00 2001 From: Tomasz Ciecierski Date: Thu, 3 Nov 2022 09:41:57 +0100 Subject: [PATCH 32/37] [Osquery] [PoC] Add alert attachment along with Osquery Results to Cases (#143674) --- .../public/cases/add_to_cases_button.tsx | 24 +++++++++++++++++-- .../osquery/public/common/contexts.tsx | 15 ++++++++++++ .../shared_components/lazy_osquery_action.tsx | 24 +++++++++++++++---- .../osquery_results/index.tsx | 2 ++ .../osquery_results/osquery_result.test.tsx | 3 +++ .../osquery_results/osquery_result.tsx | 7 +++--- .../osquery_results/osquery_results.test.tsx | 3 +++ .../osquery_results/test_utils.tsx | 1 + .../osquery_results/types.ts | 3 +++ .../event_details/event_details.tsx | 1 + .../components/event_details/osquery_tab.tsx | 18 +++++++++++--- .../timeline_actions/alert_context_menu.tsx | 1 + .../components/osquery/osquery_flyout.tsx | 7 +++++- .../event_details/flyout/footer.tsx | 1 + 14 files changed, 96 insertions(+), 14 deletions(-) create mode 100644 x-pack/plugins/osquery/public/common/contexts.tsx diff --git a/x-pack/plugins/osquery/public/cases/add_to_cases_button.tsx b/x-pack/plugins/osquery/public/cases/add_to_cases_button.tsx index 03b5bcebfed402..cbc3589df597ca 100644 --- a/x-pack/plugins/osquery/public/cases/add_to_cases_button.tsx +++ b/x-pack/plugins/osquery/public/cases/add_to_cases_button.tsx @@ -5,12 +5,13 @@ * 2.0. */ -import React, { useCallback } from 'react'; +import React, { useCallback, useContext, useMemo } from 'react'; import { CommentType, ExternalReferenceStorageType } from '@kbn/cases-plugin/common'; import { EuiButtonEmpty, EuiButtonIcon, EuiFlexItem, EuiToolTip } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import type { CaseAttachmentsWithoutOwner } from '@kbn/cases-plugin/public'; import { useKibana } from '../common/lib/kibana'; +import { AlertAttachmentContext } from '../common/contexts'; const ADD_TO_CASE = i18n.translate( 'xpack.osquery.pack.queriesTable.addToCaseResultsActionAriaLabel', @@ -37,6 +38,24 @@ export const AddToCaseButton: React.FC = ({ iconProps, }) => { const { cases } = useKibana().services; + const ecsData = useContext(AlertAttachmentContext); + const alertAttachments = useMemo( + () => + ecsData?._id + ? [ + { + alertId: ecsData?._id ?? '', + index: ecsData?._index ?? '', + rule: cases.helpers.getRuleIdFromEvent({ + ecs: ecsData, + data: [], + }), + type: CommentType.alert as const, + }, + ] + : [], + [cases.helpers, ecsData] + ); const casePermissions = cases.helpers.canUseCases(); const hasCasesPermissions = @@ -45,6 +64,7 @@ export const AddToCaseButton: React.FC = ({ const handleClick = useCallback(() => { const attachments: CaseAttachmentsWithoutOwner = [ + ...alertAttachments, { type: CommentType.externalReference, externalReferenceId: actionId, @@ -58,7 +78,7 @@ export const AddToCaseButton: React.FC = ({ if (hasCasesPermissions) { selectCaseModal.open({ attachments }); } - }, [actionId, agentIds, hasCasesPermissions, queryId, selectCaseModal]); + }, [actionId, agentIds, alertAttachments, hasCasesPermissions, queryId, selectCaseModal]); if (isIcon) { return ( diff --git a/x-pack/plugins/osquery/public/common/contexts.tsx b/x-pack/plugins/osquery/public/common/contexts.tsx new file mode 100644 index 00000000000000..e035e08710a91b --- /dev/null +++ b/x-pack/plugins/osquery/public/common/contexts.tsx @@ -0,0 +1,15 @@ +/* + * 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'; + +export interface AlertEcsData { + _id: string; + _index?: string; +} + +export const AlertAttachmentContext = React.createContext(null); diff --git a/x-pack/plugins/osquery/public/shared_components/lazy_osquery_action.tsx b/x-pack/plugins/osquery/public/shared_components/lazy_osquery_action.tsx index ff464e7782bb78..15ffbdee14c4a9 100644 --- a/x-pack/plugins/osquery/public/shared_components/lazy_osquery_action.tsx +++ b/x-pack/plugins/osquery/public/shared_components/lazy_osquery_action.tsx @@ -5,21 +5,35 @@ * 2.0. */ -import React, { lazy, Suspense } from 'react'; +import React, { lazy, Suspense, useMemo } from 'react'; import ServicesWrapper from './services_wrapper'; import type { ServicesWrapperProps } from './services_wrapper'; import type { OsqueryActionProps } from './osquery_action'; +import type { AlertEcsData } from '../common/contexts'; +import { AlertAttachmentContext } from '../common/contexts'; export const getLazyOsqueryAction = + (services: ServicesWrapperProps['services']) => // eslint-disable-next-line react/display-name - (services: ServicesWrapperProps['services']) => (props: OsqueryActionProps) => { + (props: OsqueryActionProps & { ecsData?: AlertEcsData }) => { const OsqueryAction = lazy(() => import('./osquery_action')); + const { ecsData, ...restProps } = props; + const renderAction = useMemo(() => { + if (ecsData && ecsData?._id) { + return ( + + + + ); + } + + return ; + }, [OsqueryAction, ecsData, restProps]); + return ( - - - + {renderAction} ); }; diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/index.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_results/index.tsx index 84dc4203b29241..36c09a2bce188d 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/index.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/index.tsx @@ -24,6 +24,7 @@ const OsqueryActionResultsComponent: React.FC = ({ agentIds, ruleName, alertId, + ecsData, }) => { const { data: actionsData } = useAllLiveQueries({ filterQuery: { term: { alert_ids: alertId } }, @@ -49,6 +50,7 @@ const OsqueryActionResultsComponent: React.FC = ({ startDate={startDate} ruleName={ruleName} agentIds={agentIds} + ecsData={ecsData} /> ); })} diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.test.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.test.tsx index 772df753c89784..d4573eb291d89c 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.test.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.test.tsx @@ -41,6 +41,9 @@ const defaultProps = { actionId: 'test-action-id', startDate: DETAILS_TIMESTAMP, queryId: '', + ecsData: { + _id: 'test', + }, }; const mockKibana = (permissionType: unknown = defaultPermissions) => { const mockedKibana = getMockedKibanaConfig(permissionType); diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.tsx index 333e09efce1fbf..c48e75c44ba82b 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result.tsx @@ -13,6 +13,7 @@ import type { OsqueryActionResultsProps } from './types'; import { useLiveQueryDetails } from '../../actions/use_live_query_details'; import { ATTACHED_QUERY } from '../../agents/translations'; import { PackQueriesStatusTable } from '../../live_queries/form/pack_queries_status_table'; +import { AlertAttachmentContext } from '../../common/contexts'; interface OsqueryResultProps extends Omit { actionId: string; @@ -21,13 +22,13 @@ interface OsqueryResultProps extends Omit } export const OsqueryResult = React.memo( - ({ actionId, ruleName, agentIds, startDate }) => { + ({ actionId, ruleName, agentIds, startDate, ecsData }) => { const { data } = useLiveQueryDetails({ actionId, }); return ( -
+ ( /> -
+ ); } ); diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.test.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.test.tsx index 5190d10dc1c7ec..fcfa6b1a720a33 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.test.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_results.test.tsx @@ -36,6 +36,9 @@ const defaultProps = { ruleName: ['Test-rule'], ruleActions: [{ action_type_id: 'action1' }, { action_type_id: 'action2' }], alertId: 'test-alert-id', + ecsData: { + _id: 'test', + }, }; const defaultPermissions = { diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/test_utils.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_results/test_utils.tsx index c1c991becc8ac7..262a68a0b259cf 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/test_utils.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/test_utils.tsx @@ -52,6 +52,7 @@ export const getMockedKibanaConfig = (permissionType: unknown) => update: true, push: true, })), + getRuleIdFromEvent: jest.fn(), }, ui: { getCasesContext: jest.fn().mockImplementation(() => mockCasesContext), diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_results/types.ts b/x-pack/plugins/osquery/public/shared_components/osquery_results/types.ts index 7d8d268be2830b..cb4b11651ee45c 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_results/types.ts +++ b/x-pack/plugins/osquery/public/shared_components/osquery_results/types.ts @@ -5,8 +5,11 @@ * 2.0. */ +import type { AlertEcsData } from '../../common/contexts'; + export interface OsqueryActionResultsProps { agentIds?: string[]; ruleName?: string[]; alertId: string; + ecsData: AlertEcsData; } diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/event_details.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/event_details.tsx index edfe3e70e6ca05..38cdaf583fa132 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/event_details.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/event_details.tsx @@ -393,6 +393,7 @@ const EventDetailsComponent: React.FC = ({ const osqueryTab = useOsqueryTab({ rawEventData: rawEventData as AlertRawEventData, + ...(detailsEcsData !== null ? { ecsData: detailsEcsData } : {}), }); const tabs = useMemo(() => { diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/osquery_tab.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/osquery_tab.tsx index ed2551b94422a2..acadbd6746d70f 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/osquery_tab.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/osquery_tab.tsx @@ -15,6 +15,7 @@ import { import React, { useMemo } from 'react'; import styled from 'styled-components'; import { FormattedMessage } from '@kbn/i18n-react'; +import type { Ecs } from '../../../../common/ecs'; import { PERMISSION_DENIED } from '../../../detection_engine/rule_response_actions/osquery/translations'; import { expandDottedObject } from '../../../../common/utils/expand_dotted'; import { RESPONSE_ACTION_TYPES } from '../../../../common/detection_engine/rule_response_actions/schemas'; @@ -59,7 +60,13 @@ interface ExpandedEventFieldsObject { }; } -export const useOsqueryTab = ({ rawEventData }: { rawEventData?: AlertRawEventData }) => { +export const useOsqueryTab = ({ + rawEventData, + ecsData, +}: { + rawEventData?: AlertRawEventData; + ecsData?: Ecs; +}) => { const { services: { osquery, application }, } = useKibana(); @@ -87,7 +94,7 @@ export const useOsqueryTab = ({ rawEventData }: { rawEventData?: AlertRawEventDa [] ); - if (!osquery || !rawEventData || !responseActionsEnabled) { + if (!osquery || !rawEventData || !responseActionsEnabled || !ecsData) { return; } @@ -137,7 +144,12 @@ export const useOsqueryTab = ({ rawEventData }: { rawEventData?: AlertRawEventDa {!application?.capabilities?.osquery?.read ? ( emptyPrompt ) : ( - + )} diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx index 40d6feda3b9257..31a548e2ced9c1 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx @@ -283,6 +283,7 @@ const AlertContextMenuComponent: React.FC )} diff --git a/x-pack/plugins/security_solution/public/detections/components/osquery/osquery_flyout.tsx b/x-pack/plugins/security_solution/public/detections/components/osquery/osquery_flyout.tsx index cd35752d563103..00dbe210e7026a 100644 --- a/x-pack/plugins/security_solution/public/detections/components/osquery/osquery_flyout.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/osquery/osquery_flyout.tsx @@ -8,6 +8,7 @@ import React from 'react'; import styled from 'styled-components'; import { EuiFlyout, EuiFlyoutFooter, EuiFlyoutBody, EuiFlyoutHeader, EuiTitle } from '@elastic/eui'; +import type { Ecs } from '../../../../common/ecs'; import { useKibana } from '../../../common/lib/kibana'; import { OsqueryEventDetailsFooter } from './osquery_flyout_footer'; import { ACTION_OSQUERY } from './translations'; @@ -20,11 +21,14 @@ export interface OsqueryFlyoutProps { agentId?: string; defaultValues?: {}; onClose: () => void; + ecsData?: Ecs; } -export const OsqueryFlyoutComponent: React.FC = ({ + +const OsqueryFlyoutComponent: React.FC = ({ agentId, defaultValues, onClose, + ecsData, }) => { const { services: { osquery }, @@ -49,6 +53,7 @@ export const OsqueryFlyoutComponent: React.FC = ({ agentId={agentId} formType="steps" defaultValues={defaultValues} + ecsData={ecsData} /> diff --git a/x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/flyout/footer.tsx b/x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/flyout/footer.tsx index d372c8bca2de50..5a7b0c9530213b 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/flyout/footer.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/flyout/footer.tsx @@ -195,6 +195,7 @@ export const FlyoutFooterComponent = React.memo( agentId={isOsqueryFlyoutOpenWithAgentId} defaultValues={alertId ? { alertIds: [alertId] } : undefined} onClose={closeOsqueryFlyout} + ecsData={detailsEcsData} /> )} From 4a44fd31bb6f5f300c4f9e9bc67764803f3b21f3 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Thu, 3 Nov 2022 10:11:43 +0100 Subject: [PATCH 33/37] [Files] Copy updates and file picker single select (#144398) * implement copy updates * move rename file and update empty state copy * update title to respect multi select vs single select * added test for single select behaviour * implement single select behaviour * introduce and use multiple prop, default true * pass multiple flag to state * pass multiple upload flag to UI * added single select story * update files example to still support multiple select * uploadMultiple -> selectMultiple * remove use of non-existent i18n * update filepicker react component tests --- .../public/components/file_picker.tsx | 1 + .../{upload_files.tsx => empty_prompt.tsx} | 11 +++---- .../file_picker/components/modal_footer.tsx | 5 +-- .../file_picker/components/title.tsx | 8 +++-- .../public/components/file_picker/context.tsx | 6 ++-- .../file_picker/file_picker.stories.tsx | 23 +++++++++++++ .../file_picker/file_picker.test.tsx | 2 +- .../components/file_picker/file_picker.tsx | 32 ++++++++++++++----- .../file_picker/file_picker_state.test.ts | 17 ++++++++++ .../file_picker/file_picker_state.ts | 19 +++++++++-- .../components/file_picker/i18n_texts.ts | 12 +++---- 11 files changed, 105 insertions(+), 31 deletions(-) rename src/plugins/files/public/components/file_picker/components/{upload_files.tsx => empty_prompt.tsx} (80%) diff --git a/examples/files_example/public/components/file_picker.tsx b/examples/files_example/public/components/file_picker.tsx index 72a20577557422..220ca917b78b68 100644 --- a/examples/files_example/public/components/file_picker.tsx +++ b/examples/files_example/public/components/file_picker.tsx @@ -27,6 +27,7 @@ export const MyFilePicker: FunctionComponent = ({ onClose, onDone, onUplo onDone={onDone} onUpload={(n) => onUpload(n.map(({ id }) => id))} pageSize={50} + multiple /> ); }; diff --git a/src/plugins/files/public/components/file_picker/components/upload_files.tsx b/src/plugins/files/public/components/file_picker/components/empty_prompt.tsx similarity index 80% rename from src/plugins/files/public/components/file_picker/components/upload_files.tsx rename to src/plugins/files/public/components/file_picker/components/empty_prompt.tsx index a33f458bdf9d2f..84b52281805ad9 100644 --- a/src/plugins/files/public/components/file_picker/components/upload_files.tsx +++ b/src/plugins/files/public/components/file_picker/components/empty_prompt.tsx @@ -7,7 +7,7 @@ */ import React from 'react'; -import { EuiEmptyPrompt, EuiText } from '@elastic/eui'; +import { EuiEmptyPrompt } from '@elastic/eui'; import type { FunctionComponent } from 'react'; import { UploadFile } from '../../upload_file'; import { useFilePickerContext } from '../context'; @@ -15,25 +15,22 @@ import { i18nTexts } from '../i18n_texts'; interface Props { kind: string; + multiple: boolean; } -export const UploadFilesPrompt: FunctionComponent = ({ kind }) => { +export const EmptyPrompt: FunctionComponent = ({ kind, multiple }) => { const { state } = useFilePickerContext(); return ( {i18nTexts.emptyStatePrompt}} - body={ - -

{i18nTexts.emptyStatePromptSubtitle}

-
- } titleSize="s" actions={[ // TODO: We can remove this once the entire modal is an upload area { state.selectFile(file.map(({ id }) => id)); state.retry(); diff --git a/src/plugins/files/public/components/file_picker/components/modal_footer.tsx b/src/plugins/files/public/components/file_picker/components/modal_footer.tsx index 0a9ad3b3dcafa3..d5d60fbd7cc8b8 100644 --- a/src/plugins/files/public/components/file_picker/components/modal_footer.tsx +++ b/src/plugins/files/public/components/file_picker/components/modal_footer.tsx @@ -22,9 +22,10 @@ interface Props { kind: string; onDone: SelectButtonProps['onClick']; onUpload?: FilePickerProps['onUpload']; + multiple: boolean; } -export const ModalFooter: FunctionComponent = ({ kind, onDone, onUpload }) => { +export const ModalFooter: FunctionComponent = ({ kind, onDone, onUpload, multiple }) => { const { state } = useFilePickerContext(); const onUploadStart = useCallback(() => state.setIsUploading(true), [state]); const onUploadEnd = useCallback(() => state.setIsUploading(false), [state]); @@ -53,7 +54,7 @@ export const ModalFooter: FunctionComponent = ({ kind, onDone, onUpload } onUploadEnd={onUploadEnd} kind={kind} initialPromptText={i18nTexts.uploadFilePlaceholderText} - multiple + multiple={multiple} compressed /> diff --git a/src/plugins/files/public/components/file_picker/components/title.tsx b/src/plugins/files/public/components/file_picker/components/title.tsx index 2d4de8881fa765..98ce9b0bc93d12 100644 --- a/src/plugins/files/public/components/file_picker/components/title.tsx +++ b/src/plugins/files/public/components/file_picker/components/title.tsx @@ -11,8 +11,12 @@ import type { FunctionComponent } from 'react'; import { EuiTitle } from '@elastic/eui'; import { i18nTexts } from '../i18n_texts'; -export const Title: FunctionComponent = () => ( +interface Props { + multiple: boolean; +} + +export const Title: FunctionComponent = ({ multiple }) => ( -

{i18nTexts.title}

+

{multiple ? i18nTexts.titleMultiple : i18nTexts.title}

); diff --git a/src/plugins/files/public/components/file_picker/context.tsx b/src/plugins/files/public/components/file_picker/context.tsx index 48d0ea39862530..c17fe601e487a0 100644 --- a/src/plugins/files/public/components/file_picker/context.tsx +++ b/src/plugins/files/public/components/file_picker/context.tsx @@ -23,17 +23,19 @@ const FilePickerCtx = createContext( interface FilePickerContextProps { kind: string; pageSize: number; + multiple: boolean; } export const FilePickerContext: FunctionComponent = ({ kind, pageSize, + multiple, children, }) => { const filesContext = useFilesContext(); const { client } = filesContext; const state = useMemo( - () => createFilePickerState({ pageSize, client, kind }), - [pageSize, client, kind] + () => createFilePickerState({ pageSize, client, kind, selectMultiple: multiple }), + [pageSize, client, kind, multiple] ); useEffect(() => state.dispose, [state]); return ( diff --git a/src/plugins/files/public/components/file_picker/file_picker.stories.tsx b/src/plugins/files/public/components/file_picker/file_picker.stories.tsx index 517663ebbbbbe4..1d38a9893ed57d 100644 --- a/src/plugins/files/public/components/file_picker/file_picker.stories.tsx +++ b/src/plugins/files/public/components/file_picker/file_picker.stories.tsx @@ -27,6 +27,7 @@ const defaultProps: FilePickerProps = { kind, onDone: action('done!'), onClose: action('close!'), + multiple: true, }; export default { @@ -198,3 +199,25 @@ TryFilter.decorators = [ ); }, ]; + +export const SingleSelect = Template.bind({}); +SingleSelect.decorators = [ + (Story) => ( + `data:image/png;base64,${base64dLogo}`, + list: async (): Promise => ({ + files: [createFileJSON(), createFileJSON(), createFileJSON()], + total: 1, + }), + } as unknown as FilesClient + } + > + + + ), +]; +SingleSelect.args = { + multiple: undefined, +}; diff --git a/src/plugins/files/public/components/file_picker/file_picker.test.tsx b/src/plugins/files/public/components/file_picker/file_picker.test.tsx index 58c86739755a89..055eea0f4d5ab6 100644 --- a/src/plugins/files/public/components/file_picker/file_picker.test.tsx +++ b/src/plugins/files/public/components/file_picker/file_picker.test.tsx @@ -30,7 +30,7 @@ describe('FilePicker', () => { async function initTestBed(props?: Partial) { const createTestBed = registerTestBed((p: Props) => ( - + )); diff --git a/src/plugins/files/public/components/file_picker/file_picker.tsx b/src/plugins/files/public/components/file_picker/file_picker.tsx index 9472f87f7b9125..94616a67a85cbd 100644 --- a/src/plugins/files/public/components/file_picker/file_picker.tsx +++ b/src/plugins/files/public/components/file_picker/file_picker.tsx @@ -24,7 +24,7 @@ import { useFilePickerContext, FilePickerContext } from './context'; import { Title } from './components/title'; import { ErrorContent } from './components/error_content'; -import { UploadFilesPrompt } from './components/upload_files'; +import { EmptyPrompt } from './components/empty_prompt'; import { FileGrid } from './components/file_grid'; import { SearchField } from './components/search_field'; import { ModalFooter } from './components/modal_footer'; @@ -53,9 +53,17 @@ export interface Props { * The number of results to show per page. */ pageSize?: number; + /** + * Whether you can select one or more files + * + * @default false + */ + multiple?: boolean; } -const Component: FunctionComponent = ({ onClose, onDone, onUpload }) => { +type InnerProps = Required>; + +const Component: FunctionComponent = ({ onClose, onDone, onUpload, multiple }) => { const { state, kind } = useFilePickerContext(); const hasFiles = useBehaviorSubject(state.hasFiles$); @@ -65,7 +73,9 @@ const Component: FunctionComponent = ({ onClose, onDone, onUpload }) => { useObservable(state.files$); - const renderFooter = () => ; + const renderFooter = () => ( + + ); return ( = ({ onClose, onDone, onUpload }) => { onClose={onClose} > - + <Title multiple={multiple} /> <SearchField /> </EuiModalHeader> {isLoading ? ( @@ -93,7 +103,7 @@ const Component: FunctionComponent<Props> = ({ onClose, onDone, onUpload }) => { </EuiModalBody> ) : !hasFiles && !hasQuery ? ( <EuiModalBody> - <UploadFilesPrompt kind={kind} /> + <EmptyPrompt multiple={multiple} kind={kind} /> </EuiModalBody> ) : ( <> @@ -109,9 +119,15 @@ const Component: FunctionComponent<Props> = ({ onClose, onDone, onUpload }) => { ); }; -export const FilePicker: FunctionComponent<Props> = (props) => ( - <FilePickerContext pageSize={props.pageSize ?? 20} kind={props.kind}> - <Component {...props} /> +export const FilePicker: FunctionComponent<Props> = ({ + pageSize = 20, + kind, + multiple = false, + onUpload = () => {}, + ...rest +}) => ( + <FilePickerContext pageSize={pageSize} kind={kind} multiple={multiple}> + <Component {...rest} {...{ pageSize, kind, multiple, onUpload }} /> </FilePickerContext> ); diff --git a/src/plugins/files/public/components/file_picker/file_picker_state.test.ts b/src/plugins/files/public/components/file_picker/file_picker_state.test.ts index 0e7971e60bdcc6..62881fa042a846 100644 --- a/src/plugins/files/public/components/file_picker/file_picker_state.test.ts +++ b/src/plugins/files/public/components/file_picker/file_picker_state.test.ts @@ -32,6 +32,7 @@ describe('FilePickerState', () => { client: filesClient, pageSize: 20, kind: 'test', + selectMultiple: true, }); }); it('starts off empty', () => { @@ -181,4 +182,20 @@ describe('FilePickerState', () => { expectObservable(filePickerState.files$).toBe('a------', { a: [] }); }); }); + describe('single selection', () => { + beforeEach(() => { + filePickerState = createFilePickerState({ + client: filesClient, + pageSize: 20, + kind: 'test', + selectMultiple: false, + }); + }); + it('allows only one file to be selected', () => { + filePickerState.selectFile('a'); + expect(filePickerState.getSelectedFileIds()).toEqual(['a']); + filePickerState.selectFile(['b', 'a', 'c']); + expect(filePickerState.getSelectedFileIds()).toEqual(['b']); + }); + }); }); diff --git a/src/plugins/files/public/components/file_picker/file_picker_state.ts b/src/plugins/files/public/components/file_picker/file_picker_state.ts index 42214f77c9cf23..a47268585a420a 100644 --- a/src/plugins/files/public/components/file_picker/file_picker_state.ts +++ b/src/plugins/files/public/components/file_picker/file_picker_state.ts @@ -56,7 +56,8 @@ export class FilePickerState { constructor( private readonly client: FilesClient, private readonly kind: string, - public readonly pageSize: number + public readonly pageSize: number, + private selectMultiple: boolean ) { this.subscriptions = [ this.query$ @@ -105,8 +106,18 @@ export class FilePickerState { this.internalIsLoading$.next(value); } + /** + * If multiple selection is not configured, this will take the first file id + * if an array of file ids was provided. + */ public selectFile = (fileId: string | string[]): void => { - (Array.isArray(fileId) ? fileId : [fileId]).forEach((id) => this.fileSet.add(id)); + const fileIds = Array.isArray(fileId) ? fileId : [fileId]; + if (!this.selectMultiple) { + this.fileSet.clear(); + this.fileSet.add(fileIds[0]); + } else { + for (const id of fileIds) this.fileSet.add(id); + } this.sendNextSelectedFiles(); }; @@ -216,11 +227,13 @@ interface CreateFilePickerArgs { client: FilesClient; kind: string; pageSize: number; + selectMultiple: boolean; } export const createFilePickerState = ({ pageSize, client, kind, + selectMultiple, }: CreateFilePickerArgs): FilePickerState => { - return new FilePickerState(client, kind, pageSize); + return new FilePickerState(client, kind, pageSize, selectMultiple); }; diff --git a/src/plugins/files/public/components/file_picker/i18n_texts.ts b/src/plugins/files/public/components/file_picker/i18n_texts.ts index 0958e99cdffe12..9bc4b4642cd68f 100644 --- a/src/plugins/files/public/components/file_picker/i18n_texts.ts +++ b/src/plugins/files/public/components/file_picker/i18n_texts.ts @@ -12,17 +12,17 @@ export const i18nTexts = { title: i18n.translate('files.filePicker.title', { defaultMessage: 'Select a file', }), + titleMultiple: i18n.translate('files.filePicker.titleMultiple', { + defaultMessage: 'Select files', + }), loadingFilesErrorTitle: i18n.translate('files.filePicker.error.loadingTitle', { defaultMessage: 'Could not load files', }), retryButtonLabel: i18n.translate('files.filePicker.error.retryButtonLabel', { defaultMessage: 'Retry', }), - emptyStatePrompt: i18n.translate('files.filePicker.emptyStatePrompt', { - defaultMessage: 'No files found', - }), - emptyStatePromptSubtitle: i18n.translate('files.filePicker.emptyStatePromptSubtitle', { - defaultMessage: 'Upload your first file.', + emptyStatePrompt: i18n.translate('files.filePicker.emptyStatePromptTitle', { + defaultMessage: 'Upload your first file', }), selectFileLabel: i18n.translate('files.filePicker.selectFileButtonLable', { defaultMessage: 'Select file', @@ -36,7 +36,7 @@ export const i18nTexts = { defaultMessage: 'my-file-*', }), emptyFileGridPrompt: i18n.translate('files.filePicker.emptyGridPrompt', { - defaultMessage: 'No files matched filter', + defaultMessage: 'No files match your filter', }), loadMoreButtonLabel: i18n.translate('files.filePicker.loadMoreButtonLabel', { defaultMessage: 'Load more', From 6482b22d1e3969865352eba15eb0797097654d91 Mon Sep 17 00:00:00 2001 From: Dzmitry Lemechko <dzmitry.lemechko@elastic.co> Date: Thu, 3 Nov 2022 10:30:14 +0100 Subject: [PATCH 34/37] Performance journeys: log how many visualisations were loaded / rendered out of expected count (#144422) * [performance/utils] extend error message for waitForVisualizations * revert test change * remove new line Co-authored-by: Liza Katz <liza.katz@elastic.co> --- .../journeys/data_stress_test_lens.ts | 4 +-- .../journeys/ecommerce_dashboard.ts | 4 +-- .../performance/journeys/flight_dashboard.ts | 4 +-- .../journeys/many_fields_discover.ts | 1 - .../journeys/promotion_tracking_dashboard.ts | 4 +-- .../journeys/web_logs_dashboard.ts | 4 +-- x-pack/performance/utils.ts | 25 +++++++++++++------ 7 files changed, 27 insertions(+), 19 deletions(-) diff --git a/x-pack/performance/journeys/data_stress_test_lens.ts b/x-pack/performance/journeys/data_stress_test_lens.ts index bc27506afabb22..cf9a4c44e930b1 100644 --- a/x-pack/performance/journeys/data_stress_test_lens.ts +++ b/x-pack/performance/journeys/data_stress_test_lens.ts @@ -11,8 +11,8 @@ import { waitForVisualizations } from '../utils'; export const journey = new Journey({ kbnArchives: ['test/functional/fixtures/kbn_archiver/stress_test'], esArchives: ['test/functional/fixtures/es_archiver/stress_test'], -}).step('Go to dashboard', async ({ page, kbnUrl, kibanaServer }) => { +}).step('Go to dashboard', async ({ page, kbnUrl, kibanaServer, log }) => { await kibanaServer.uiSettings.update({ 'histogram:maxBars': 100 }); await page.goto(kbnUrl.get(`/app/dashboards#/view/92b143a0-2e9c-11ed-b1b6-a504560b392c`)); - await waitForVisualizations(page, 1); + await waitForVisualizations(page, log, 1); }); diff --git a/x-pack/performance/journeys/ecommerce_dashboard.ts b/x-pack/performance/journeys/ecommerce_dashboard.ts index b9c107cd12cbd9..45a54fffd76206 100644 --- a/x-pack/performance/journeys/ecommerce_dashboard.ts +++ b/x-pack/performance/journeys/ecommerce_dashboard.ts @@ -19,7 +19,7 @@ export const journey = new Journey({ await page.waitForSelector('#dashboardListingHeading'); }) - .step('Go to Ecommerce Dashboard', async ({ page }) => { + .step('Go to Ecommerce Dashboard', async ({ page, log }) => { await page.click(subj('dashboardListingTitleLink-[eCommerce]-Revenue-Dashboard')); - await waitForVisualizations(page, 13); + await waitForVisualizations(page, log, 13); }); diff --git a/x-pack/performance/journeys/flight_dashboard.ts b/x-pack/performance/journeys/flight_dashboard.ts index 46030dd47d2fbd..d6cfa0d8acdeba 100644 --- a/x-pack/performance/journeys/flight_dashboard.ts +++ b/x-pack/performance/journeys/flight_dashboard.ts @@ -19,7 +19,7 @@ export const journey = new Journey({ await page.waitForSelector('#dashboardListingHeading'); }) - .step('Go to Flights Dashboard', async ({ page }) => { + .step('Go to Flights Dashboard', async ({ page, log }) => { await page.click(subj('dashboardListingTitleLink-[Flights]-Global-Flight-Dashboard')); - await waitForVisualizations(page, 14); + await waitForVisualizations(page, log, 14); }); diff --git a/x-pack/performance/journeys/many_fields_discover.ts b/x-pack/performance/journeys/many_fields_discover.ts index 0e57ed69ead00c..7fc2ef20a2ab58 100644 --- a/x-pack/performance/journeys/many_fields_discover.ts +++ b/x-pack/performance/journeys/many_fields_discover.ts @@ -17,7 +17,6 @@ export const journey = new Journey({ }) .step('Go to Discover Page', async ({ page, kbnUrl }) => { await page.goto(kbnUrl.get(`/app/discover`)); - await waitForChrome(page); await page.waitForSelector(subj('discoverDocTable')); }) diff --git a/x-pack/performance/journeys/promotion_tracking_dashboard.ts b/x-pack/performance/journeys/promotion_tracking_dashboard.ts index 6b7872f76c00a6..792a4dab881760 100644 --- a/x-pack/performance/journeys/promotion_tracking_dashboard.ts +++ b/x-pack/performance/journeys/promotion_tracking_dashboard.ts @@ -50,6 +50,6 @@ export const journey = new Journey({ await page.click(subj('superDatePickerCommonlyUsed_Last_30 days')); }) - .step('Wait for visualization animations to finish', async ({ page }) => { - await waitForVisualizations(page, 1); + .step('Wait for visualization animations to finish', async ({ page, log }) => { + await waitForVisualizations(page, log, 1); }); diff --git a/x-pack/performance/journeys/web_logs_dashboard.ts b/x-pack/performance/journeys/web_logs_dashboard.ts index c86d23b4fd9c6d..e4d4c66d272f65 100644 --- a/x-pack/performance/journeys/web_logs_dashboard.ts +++ b/x-pack/performance/journeys/web_logs_dashboard.ts @@ -19,7 +19,7 @@ export const journey = new Journey({ await page.waitForSelector('#dashboardListingHeading'); }) - .step('Go to Web Logs Dashboard', async ({ page }) => { + .step('Go to Web Logs Dashboard', async ({ page, log }) => { await page.click(subj('dashboardListingTitleLink-[Logs]-Web-Traffic')); - await waitForVisualizations(page, 11); + await waitForVisualizations(page, log, 11); }); diff --git a/x-pack/performance/utils.ts b/x-pack/performance/utils.ts index 1ec26cf5706cb5..16c997c2166fa9 100644 --- a/x-pack/performance/utils.ts +++ b/x-pack/performance/utils.ts @@ -5,19 +5,28 @@ * 2.0. */ +import { ToolingLog } from '@kbn/tooling-log'; import { Page } from 'playwright'; export async function waitForChrome(page: Page) { return page.waitForSelector('.headerGlobalNav', { state: 'attached' }); } -export async function waitForVisualizations(page: Page, visCount: number) { - return await page.waitForFunction(function renderCompleted(cnt) { - const visualizations = Array.from(document.querySelectorAll('[data-rendering-count]')); - const visualizationElementsLoaded = visualizations.length === cnt; - const visualizationAnimationsFinished = visualizations.every( - (e) => e.getAttribute('data-render-complete') === 'true' +export async function waitForVisualizations(page: Page, log: ToolingLog, visCount: number) { + try { + await page.waitForFunction(function renderCompleted(cnt) { + const visualizations = Array.from(document.querySelectorAll('[data-rendering-count]')); + const allVisLoaded = visualizations.length === cnt; + return allVisLoaded + ? visualizations.every((e) => e.getAttribute('data-render-complete') === 'true') + : false; + }, visCount); + } catch (err) { + const loadedVis = await page.$$('[data-rendering-count]'); + const renderedVis = await page.$$('[data-rendering-count][data-render-complete="true"]'); + log.error( + `'waitForVisualizations' failed: loaded - ${loadedVis.length}, rendered - ${renderedVis.length}, expected - ${visCount}` ); - return visualizationElementsLoaded && visualizationAnimationsFinished; - }, visCount); + throw err; + } } From 2594349660fbad8340db9fa83fbf633754a037c4 Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger <walter.rafelsberger@elastic.co> Date: Thu, 3 Nov 2022 10:43:44 +0100 Subject: [PATCH 35/37] [ML] Explain Log Rate Spikes: Fix applying overall params to histogram queries. (#144219) Applying the overall params like the time range to the histogram queries was missing. This fixes it by creating getHistogramQuery that can be applied when fetching the histogram for overall data, individual field/value histograms and group histograms. --- .../server/routes/explain_log_rate_spikes.ts | 31 ++++---- .../queries/get_histogram_query.test.ts | 72 +++++++++++++++++++ .../routes/queries/get_histogram_query.ts | 41 +++++++++++ 3 files changed, 128 insertions(+), 16 deletions(-) create mode 100644 x-pack/plugins/aiops/server/routes/queries/get_histogram_query.test.ts create mode 100644 x-pack/plugins/aiops/server/routes/queries/get_histogram_query.ts diff --git a/x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts b/x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts index 320fd557bfb021..1e1c85d5e4b303 100644 --- a/x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts +++ b/x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts @@ -45,6 +45,7 @@ import { groupDuplicates, } from './queries/fetch_frequent_items'; import type { ItemsetResult } from './queries/fetch_frequent_items'; +import { getHistogramQuery } from './queries/get_histogram_query'; import { getFieldValuePairCounts, getSimpleHierarchicalTree, @@ -321,12 +322,15 @@ export const defineExplainLogRateSpikesRoute = ( logDebugMessage('Fetch overall histogram.'); let overallTimeSeries: NumericChartData | undefined; + + const overallHistogramQuery = getHistogramQuery(request.body); + try { overallTimeSeries = ( (await fetchHistogramsForFields( client, request.body.index, - { match_all: {} }, + overallHistogramQuery, // fields histogramFields, // samplerShardSize @@ -579,13 +583,12 @@ export const defineExplainLogRateSpikesRoute = ( await asyncForEach(changePointGroupsChunk, async (cpg) => { if (overallTimeSeries !== undefined) { - const histogramQuery = { - bool: { - filter: cpg.group.map((d) => ({ - term: { [d.fieldName]: d.fieldValue }, - })), - }, - }; + const histogramQuery = getHistogramQuery( + request.body, + cpg.group.map((d) => ({ + term: { [d.fieldName]: d.fieldValue }, + })) + ); let cpgTimeSeries: NumericChartData; try { @@ -675,15 +678,11 @@ export const defineExplainLogRateSpikesRoute = ( await asyncForEach(changePointsChunk, async (cp) => { if (overallTimeSeries !== undefined) { - const histogramQuery = { - bool: { - filter: [ - { - term: { [cp.fieldName]: cp.fieldValue }, - }, - ], + const histogramQuery = getHistogramQuery(request.body, [ + { + term: { [cp.fieldName]: cp.fieldValue }, }, - }; + ]); let cpTimeSeries: NumericChartData; diff --git a/x-pack/plugins/aiops/server/routes/queries/get_histogram_query.test.ts b/x-pack/plugins/aiops/server/routes/queries/get_histogram_query.test.ts new file mode 100644 index 00000000000000..95113d39f41c8c --- /dev/null +++ b/x-pack/plugins/aiops/server/routes/queries/get_histogram_query.test.ts @@ -0,0 +1,72 @@ +/* + * 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 { getHistogramQuery } from './get_histogram_query'; + +const paramsMock = { + index: 'the-index', + timeFieldName: 'the-time-field-name', + start: 1577836800000, + end: 1609459200000, + baselineMin: 10, + baselineMax: 20, + deviationMin: 30, + deviationMax: 40, + includeFrozen: false, + searchQuery: '{"bool":{"filter":[],"must":[{"match_all":{}}],"must_not":[]}}', +}; + +describe('getHistogramQuery', () => { + it('returns histogram query without additional filters', () => { + const query = getHistogramQuery(paramsMock); + expect(query).toEqual({ + bool: { + filter: [ + { bool: { filter: [], must: [{ match_all: {} }], must_not: [] } }, + { + range: { + 'the-time-field-name': { + format: 'epoch_millis', + gte: 1577836800000, + lte: 1609459200000, + }, + }, + }, + ], + }, + }); + }); + + it('returns histogram query with additional filters', () => { + const query = getHistogramQuery(paramsMock, [ + { + term: { ['the-filter-fieldName']: 'the-filter-fieldValue' }, + }, + ]); + expect(query).toEqual({ + bool: { + filter: [ + { bool: { filter: [], must: [{ match_all: {} }], must_not: [] } }, + { + term: { + 'the-filter-fieldName': 'the-filter-fieldValue', + }, + }, + { + range: { + 'the-time-field-name': { + format: 'epoch_millis', + gte: 1577836800000, + lte: 1609459200000, + }, + }, + }, + ], + }, + }); + }); +}); diff --git a/x-pack/plugins/aiops/server/routes/queries/get_histogram_query.ts b/x-pack/plugins/aiops/server/routes/queries/get_histogram_query.ts new file mode 100644 index 00000000000000..f8e7138699fc44 --- /dev/null +++ b/x-pack/plugins/aiops/server/routes/queries/get_histogram_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 type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; + +import type { AiopsExplainLogRateSpikesSchema } from '../../../common/api/explain_log_rate_spikes'; + +import { getQueryWithParams } from './get_query_with_params'; + +export function getHistogramQuery( + params: AiopsExplainLogRateSpikesSchema, + filter: estypes.QueryDslQueryContainer[] = [] +) { + const histogramQuery = getQueryWithParams({ + params, + }); + + if (Array.isArray(histogramQuery.bool.filter)) { + const existingFilter = histogramQuery.bool.filter.filter((d) => Object.keys(d)[0] !== 'range'); + + histogramQuery.bool.filter = [ + ...existingFilter, + ...filter, + { + range: { + [params.timeFieldName]: { + gte: params.start, + lte: params.end, + format: 'epoch_millis', + }, + }, + }, + ]; + } + + return histogramQuery; +} From 992a69c0c5d27b9907464ed9495f5d5c6948d03a Mon Sep 17 00:00:00 2001 From: Cristina Amico <criamico@users.noreply.github.com> Date: Thu, 3 Nov 2022 10:57:00 +0100 Subject: [PATCH 36/37] [Fleet] Update landing page for add fleet server (#144179) * [Fleet] Update landing page for add fleet server * Fix cypress tests * Fix test and add max-width to text Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../fleet/cypress/e2e/a11y/home_page.cy.ts | 16 +++- .../fleet/cypress/e2e/fleet_settings.cy.ts | 32 +++++-- .../fleet/cypress/e2e/fleet_startup.cy.ts | 8 +- x-pack/plugins/fleet/cypress/screens/fleet.ts | 3 + .../hooks/use_fleet_server_host.ts | 8 ++ .../hooks/use_quick_start_form.ts | 6 +- .../fleet_server_instructions/index.tsx | 84 ++++++++++++++++--- .../instructions.stories.tsx | 4 +- .../steps/get_started.tsx | 14 ++++ .../fleet_server_requirement_page.tsx | 4 +- .../fleet_server_hosts_section.tsx | 12 ++- 11 files changed, 162 insertions(+), 29 deletions(-) diff --git a/x-pack/plugins/fleet/cypress/e2e/a11y/home_page.cy.ts b/x-pack/plugins/fleet/cypress/e2e/a11y/home_page.cy.ts index 6d1f714bda0d5f..12a362ec7581aa 100644 --- a/x-pack/plugins/fleet/cypress/e2e/a11y/home_page.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/a11y/home_page.cy.ts @@ -25,16 +25,20 @@ import { SETTINGS_TAB, SETTINGS_FLEET_SERVER_HOST_HEADING, FLEET_SERVER_SETUP, + LANDING_PAGE_ADD_FLEET_SERVER_BUTTON, } from '../../screens/fleet'; import { AGENT_POLICY_NAME_LINK } from '../../screens/integrations'; import { cleanupAgentPolicies, unenrollAgent } from '../../tasks/cleanup'; describe('Home page', () => { before(() => { navigateTo(FLEET); - cy.getBySel(AGENT_FLYOUT.QUICK_START_TAB_BUTTON, { timeout: 15000 }).should('be.visible'); + cy.getBySel(LANDING_PAGE_ADD_FLEET_SERVER_BUTTON).click(); }); describe('Agents', () => { + before(() => { + cy.getBySel(AGENT_FLYOUT.QUICK_START_TAB_BUTTON, { timeout: 15000 }).should('be.visible'); + }); const fleetServerHost = 'https://localhost:8220'; describe('Quick Start', () => { @@ -46,7 +50,9 @@ describe('Home page', () => { cy.get('[placeholder="Specify host URL"', { timeout: 15000 }).should('be.visible'); cy.get('[placeholder="Specify host URL"').type(fleetServerHost); cy.getBySel(GENERATE_FLEET_SERVER_POLICY_BUTTON).click(); - cy.getBySel(PLATFORM_TYPE_LINUX_BUTTON, { timeout: 15000 }).should('be.visible'); + cy.getBySel(PLATFORM_TYPE_LINUX_BUTTON, { timeout: 15000 }) + .scrollIntoView() + .should('be.visible'); checkA11y({ skipFailures: false }); }); }); @@ -67,7 +73,9 @@ describe('Home page', () => { it('Generate service token', () => { cy.getBySel(ADVANCED_FLEET_SERVER_ADD_HOST_BUTTON, { timeout: 15000 }).should('be.visible'); cy.getBySel(ADVANCED_FLEET_SERVER_GENERATE_SERVICE_TOKEN_BUTTON).click(); - cy.getBySel(PLATFORM_TYPE_LINUX_BUTTON, { timeout: 15000 }).should('be.visible'); + cy.getBySel(PLATFORM_TYPE_LINUX_BUTTON, { timeout: 15000 }) + .scrollIntoView() + .should('be.visible'); checkA11y({ skipFailures: false }); }); }); @@ -75,6 +83,7 @@ describe('Home page', () => { describe('Agent Policies', () => { before(() => { + navigateTo(FLEET); cy.getBySel(AGENT_POLICIES_TAB).click(); cy.getBySel(AGENT_POLICIES_CREATE_AGENT_POLICY_FLYOUT.CREATE_BUTTON, { timeout: 15000, @@ -104,6 +113,7 @@ describe('Home page', () => { describe('Enrollment Tokens', () => { before(() => { + navigateTo(FLEET); cy.getBySel(ENROLLMENT_TOKENS_TAB).click(); }); it('Enrollment Tokens Table', () => { diff --git a/x-pack/plugins/fleet/cypress/e2e/fleet_settings.cy.ts b/x-pack/plugins/fleet/cypress/e2e/fleet_settings.cy.ts index 8e213532ce7b45..0c45603a4b2ae0 100644 --- a/x-pack/plugins/fleet/cypress/e2e/fleet_settings.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/fleet_settings.cy.ts @@ -11,6 +11,8 @@ import { SETTINGS_OUTPUTS, SETTINGS_FLEET_SERVER_HOSTS, FLEET_SERVER_HOST_FLYOUT, + FLEET_SERVER_SETUP, + GENERATE_FLEET_SERVER_POLICY_BUTTON, } from '../screens/fleet'; describe('Edit settings', () => { @@ -45,19 +47,39 @@ describe('Edit settings', () => { }); it('should allow to update Fleet server hosts', () => { + cy.getBySel(SETTINGS_FLEET_SERVER_HOSTS.EDIT_BUTTON).click(); + + cy.getBySel(FLEET_SERVER_HOST_FLYOUT.NAME_INPUT).clear().type('Edited Host'); + + cy.get('[placeholder="Specify host URL"').clear().type('https://localhost:8221'); + + cy.intercept('PUT', '/api/fleet/fleet_server_hosts/fleet-default-settings', { + name: 'Edited Host', + host_urls: ['https://localhost:8221'], + is_default: false, + }).as('updateFleetServerHosts'); + + cy.getBySel(SETTINGS_SAVE_BTN).click(); + cy.getBySel(CONFIRM_MODAL.CONFIRM_BUTTON).click(); + + cy.wait('@updateFleetServerHosts').then((interception) => { + expect(interception.request.body.host_urls[0]).to.equal('https://localhost:8221'); + }); + }); + + it('should allow to create new Fleet server hosts', () => { cy.getBySel(SETTINGS_FLEET_SERVER_HOSTS.ADD_BUTTON).click(); - cy.getBySel(FLEET_SERVER_HOST_FLYOUT.NAME_INPUT).type('Host edited'); - cy.getBySel(FLEET_SERVER_HOST_FLYOUT.DEFAULT_SWITCH).click(); + cy.getBySel(FLEET_SERVER_SETUP.NAME_INPUT).type('New Host'); + cy.getBySel(FLEET_SERVER_SETUP.DEFAULT_SWITCH).click(); cy.get('[placeholder="Specify host URL"').type('https://localhost:8221'); cy.intercept('POST', '/api/fleet/fleet_server_hosts', { - name: 'Host edited', + name: 'New Host', host_urls: ['https://localhost:8221'], is_default: true, }).as('updateFleetServerHosts'); - cy.getBySel(SETTINGS_SAVE_BTN).click(); - cy.getBySel(CONFIRM_MODAL.CONFIRM_BUTTON).click(); + cy.getBySel(GENERATE_FLEET_SERVER_POLICY_BUTTON).click(); cy.wait('@updateFleetServerHosts').then((interception) => { expect(interception.request.body.host_urls[0]).to.equal('https://localhost:8221'); diff --git a/x-pack/plugins/fleet/cypress/e2e/fleet_startup.cy.ts b/x-pack/plugins/fleet/cypress/e2e/fleet_startup.cy.ts index d79793d10d6bb3..3960ea060fcc1e 100644 --- a/x-pack/plugins/fleet/cypress/e2e/fleet_startup.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/fleet_startup.cy.ts @@ -14,6 +14,7 @@ import { ADVANCED_FLEET_SERVER_ADD_HOST_BUTTON, ADVANCED_FLEET_SERVER_GENERATE_SERVICE_TOKEN_BUTTON, FLEET_SERVER_SETUP, + LANDING_PAGE_ADD_FLEET_SERVER_BUTTON, } from '../screens/fleet'; import { cleanupAgentPolicies, unenrollAgent } from '../tasks/cleanup'; import { verifyPolicy, verifyAgentPackage, navigateToTab } from '../tasks/fleet'; @@ -80,18 +81,23 @@ describe('Fleet startup', () => { }); it('should create Fleet Server policy', () => { + cy.getBySel(LANDING_PAGE_ADD_FLEET_SERVER_BUTTON).click(); + cy.getBySel(AGENT_FLYOUT.ADVANCED_TAB_BUTTON).click(); - cy.getBySel(CREATE_FLEET_SERVER_POLICY_BTN).click(); + cy.getBySel(CREATE_FLEET_SERVER_POLICY_BTN, { timeout: 180000 }).click(); // Wait until the success callout is shown before navigating away cy.getBySel(AGENT_POLICY_CREATE_STATUS_CALLOUT) .should('exist') .and('have.class', 'euiCallOut--success'); + cy.getBySel(AGENT_FLYOUT.CLOSE_BUTTON).click(); // verify policy is created and has fleet server and system package verifyPolicy('Fleet Server policy 1', ['Fleet Server', 'System']); + // Reopen Flyout navigateToTab(AGENTS_TAB); + cy.getBySel(LANDING_PAGE_ADD_FLEET_SERVER_BUTTON).click(); cy.getBySel(AGENT_FLYOUT.ADVANCED_TAB_BUTTON).click(); // verify create button changed to dropdown diff --git a/x-pack/plugins/fleet/cypress/screens/fleet.ts b/x-pack/plugins/fleet/cypress/screens/fleet.ts index 7bd8c6293e97d2..1248a47778ccb9 100644 --- a/x-pack/plugins/fleet/cypress/screens/fleet.ts +++ b/x-pack/plugins/fleet/cypress/screens/fleet.ts @@ -7,6 +7,7 @@ export const ADD_AGENT_BUTTON = 'addAgentButton'; export const ADD_AGENT_BUTTON_TOP = 'addAgentBtnTop'; +export const LANDING_PAGE_ADD_FLEET_SERVER_BUTTON = 'fleetServerLanding.addFleetServerButton'; export const AGENTS_TAB = 'fleet-agents-tab'; export const AGENT_POLICIES_TAB = 'fleet-agent-policies-tab'; @@ -102,6 +103,7 @@ export const SETTINGS_OUTPUTS = { export const SETTINGS_FLEET_SERVER_HOSTS = { ADD_BUTTON: 'settings.fleetServerHosts.addFleetServerHostBtn', + EDIT_BUTTON: 'fleetServerHostsTable.edit.btn', }; export const AGENT_POLICY_FORM = { @@ -126,4 +128,5 @@ export const FLEET_SERVER_HOST_FLYOUT = { export const FLEET_SERVER_SETUP = { NAME_INPUT: 'fleetServerSetup.nameInput', HOST_INPUT: 'fleetServerSetup.multiRowInput', + DEFAULT_SWITCH: 'fleetServerHostsFlyout.isDefaultSwitch', }; diff --git a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/hooks/use_fleet_server_host.ts b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/hooks/use_fleet_server_host.ts index 23f8942454b172..34df4465358e48 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/hooks/use_fleet_server_host.ts +++ b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/hooks/use_fleet_server_host.ts @@ -13,6 +13,7 @@ import { useGetFleetServerHosts, useComboInput, useInput, + useSwitchInput, } from '../../../hooks'; import type { FleetServerHost } from '../../../types'; @@ -31,6 +32,7 @@ export interface FleetServerHostForm { inputs: { hostUrlsInput: ReturnType<typeof useComboInput>; nameInput: ReturnType<typeof useInput>; + isDefaultInput: ReturnType<typeof useSwitchInput>; }; } @@ -41,6 +43,11 @@ export const useFleetServerHost = (): FleetServerHostForm => { const isPreconfigured = fleetServerHost?.is_preconfigured ?? false; const nameInput = useInput(fleetServerHost?.name ?? '', validateName, isPreconfigured); + const isDefaultInput = useSwitchInput( + fleetServerHost?.is_default ?? false, + isPreconfigured || fleetServerHost?.is_default + ); + const hostUrlsInput = useComboInput( 'hostUrls', fleetServerHost?.host_urls || [], @@ -105,6 +112,7 @@ export const useFleetServerHost = (): FleetServerHostForm => { inputs: { hostUrlsInput, nameInput, + isDefaultInput, }, }; }; diff --git a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/hooks/use_quick_start_form.ts b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/hooks/use_quick_start_form.ts index f3167b977d3126..ed893e5d06d656 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/hooks/use_quick_start_form.ts +++ b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/hooks/use_quick_start_form.ts @@ -8,7 +8,7 @@ import { useState, useCallback, useEffect } from 'react'; import { i18n } from '@kbn/i18n'; -import type { useComboInput, useInput } from '../../../hooks'; +import type { useComboInput, useInput, useSwitchInput } from '../../../hooks'; import { sendCreateAgentPolicy, sendGetOneAgentPolicy, useStartServices } from '../../../hooks'; import type { NewAgentPolicy } from '../../../types'; @@ -42,6 +42,7 @@ export interface QuickStartCreateForm { inputs: { hostUrlsInput: ReturnType<typeof useComboInput>; nameInput: ReturnType<typeof useInput>; + isDefaultInput: ReturnType<typeof useSwitchInput>; }; } @@ -84,7 +85,7 @@ export const useQuickStartCreateForm = (): QuickStartCreateForm => { const newFleetServerHost = { name: inputs.nameInput.value, host_urls: inputs.hostUrlsInput.value, - is_default: true, + is_default: inputs.isDefaultInput.value, id: 'fleet-server-host', is_preconfigured: false, }; @@ -125,6 +126,7 @@ export const useQuickStartCreateForm = (): QuickStartCreateForm => { validate, inputs.nameInput.value, inputs.hostUrlsInput.value, + inputs.isDefaultInput.value, setFleetServerHost, saveFleetServerHost, generateServiceToken, diff --git a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/index.tsx index bb0c2607cfe1a4..5f609e1155519a 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useState } from 'react'; +import React, { useState, useCallback } from 'react'; import { EuiButtonGroup, EuiFlexGroup, @@ -16,12 +16,15 @@ import { EuiSpacer, EuiText, EuiTitle, + EuiToolTip, + EuiFlexItem, + EuiButton, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import styled from 'styled-components'; -import { useStartServices } from '../../hooks'; +import { useStartServices, useFlyoutContext } from '../../hooks'; import { QuickStartTab } from './quick_start_tab'; import { AdvancedTab } from './advanced_tab'; @@ -134,17 +137,78 @@ export const FleetServerFlyout: React.FunctionComponent<Props> = ({ onClose }) = ); }; -// Renders instructions directly -export const FleetServerInstructions: React.FunctionComponent = () => { - const { tabs, currentTab, setCurrentTab, currentTabContent } = useFleetServerTabs(); +export const AddFleetServerLanding: React.FunctionComponent = () => { + const { docLinks } = useStartServices(); + const flyoutContext = useFlyoutContext(); + + const onClickAddFleetServer = useCallback(() => { + flyoutContext.openFleetServerFlyout(); + }, [flyoutContext]); return ( <ContentWrapper gutterSize="none" justifyContent="center" direction="column"> - <Header tabs={tabs} currentTab={currentTab} onTabClick={(id) => setCurrentTab(id)} /> - - <EuiSpacer size="m" /> - - {currentTabContent} + <EuiFlexGroup alignItems="center" direction="column"> + <EuiFlexItem> + <EuiTitle size="m"> + <h2 data-test-subj="addFleetServerHeader"> + <FormattedMessage + id="xpack.fleet.fleetServerLanding.title" + defaultMessage="Add a Fleet Server" + /> + </h2> + </EuiTitle> + </EuiFlexItem> + + <EuiFlexItem> + <EuiText + css={` + max-width: 500px; + text-align: center; + `} + > + <FormattedMessage + id="xpack.fleet.fleetServerLanding.instructions" + defaultMessage="A Fleet Server is required before you can enroll agents with Fleet. Follow the instructions below to set up a Fleet Server. For more information, see the {userGuideLink}" + values={{ + userGuideLink: ( + <EuiLink + href={docLinks.links.fleet.fleetServerAddFleetServer} + external + target="_blank" + > + <FormattedMessage + id="xpack.fleet.fleetServerSetup.setupGuideLink" + defaultMessage="Fleet and Elastic Agent Guide" + /> + </EuiLink> + ), + }} + /> + </EuiText> + </EuiFlexItem> + <EuiSpacer size="s" /> + <EuiFlexItem> + <EuiToolTip + content={ + <FormattedMessage + id="xpack.fleet.fleetServerLanding.addFleetServerButton.tooltip" + defaultMessage="Fleet Server is a component of the Elastic Stack used to centrally manage Elastic Agents" + /> + } + > + <EuiButton + onClick={onClickAddFleetServer} + fill + data-test-subj="fleetServerLanding.addFleetServerButton" + > + <FormattedMessage + id="xpack.fleet.fleetServerLanding.addFleetServerButton" + defaultMessage="Add Fleet Server" + /> + </EuiButton> + </EuiToolTip> + </EuiFlexItem> + </EuiFlexGroup> </ContentWrapper> ); }; diff --git a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/instructions.stories.tsx b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/instructions.stories.tsx index 9993fab723a44f..cc930783f73c5f 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/instructions.stories.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/instructions.stories.tsx @@ -7,10 +7,10 @@ import React from 'react'; -import { FleetServerInstructions as FleetServerInstructionsComponent } from '.'; +import { AddFleetServerLanding } from '.'; export const FleetServerInstructions = () => { - return <FleetServerInstructionsComponent />; + return <AddFleetServerLanding />; }; FleetServerInstructions.args = { diff --git a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/steps/get_started.tsx b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/steps/get_started.tsx index 07a34be8997960..3224874ea0b95c 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/steps/get_started.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/components/fleet_server_instructions/steps/get_started.tsx @@ -19,6 +19,7 @@ import { EuiText, EuiFormRow, EuiFieldText, + EuiSwitch, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -133,6 +134,19 @@ const GettingStartedStepContent: React.FunctionComponent<QuickStartCreateForm> = {status === 'error' && <EuiFormErrorText>{error}</EuiFormErrorText>} </> </EuiFormRow> + <EuiFormRow fullWidth {...inputs.isDefaultInput.formRowProps}> + <EuiSwitch + data-test-subj="fleetServerHostsFlyout.isDefaultSwitch" + {...inputs.isDefaultInput.props} + disabled={false} + label={ + <FormattedMessage + id="xpack.fleet.settings.fleetServerHostsFlyout.defaultOutputSwitchLabel" + defaultMessage="Make this Fleet server the default one." + /> + } + /> + </EuiFormRow> <EuiSpacer size="m" /> diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_requirements_page/fleet_server_requirement_page.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_requirements_page/fleet_server_requirement_page.tsx index b4818a6908adfd..fe089a6669c27d 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_requirements_page/fleet_server_requirement_page.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_requirements_page/fleet_server_requirement_page.tsx @@ -15,7 +15,7 @@ import { FleetServerMissingPrivileges } from '../components/fleet_server_callout import { Loading } from '../components'; -import { FleetServerInstructions } from '../../../components'; +import { AddFleetServerLanding } from '../../../components'; import { CloudInstructions, EnrollmentRecommendation } from './components'; @@ -78,7 +78,7 @@ export const FleetServerRequirementPage: React.FunctionComponent< ) : showEnrollmentRecommendation ? ( <EnrollmentRecommendation showStandaloneTab={showStandaloneTab} /> ) : ( - <FleetServerInstructions /> + <AddFleetServerLanding /> )} </FlexItemWithMinWidth> </ContentWrapper> diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/settings_page/fleet_server_hosts_section.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/settings_page/fleet_server_hosts_section.tsx index 1114efb814a217..806df98d517b38 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/settings_page/fleet_server_hosts_section.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/settings_page/fleet_server_hosts_section.tsx @@ -5,13 +5,13 @@ * 2.0. */ -import React from 'react'; +import React, { useCallback } from 'react'; import { EuiTitle, EuiLink, EuiText, EuiSpacer, EuiButtonEmpty } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import type { FleetServerHost } from '../../../../types'; -import { useLink, useStartServices } from '../../../../hooks'; +import { useFlyoutContext, useStartServices } from '../../../../hooks'; import { FleetServerHostsTable } from '../fleet_server_hosts_table'; export interface FleetServerHostsSectionProps { @@ -24,7 +24,11 @@ export const FleetServerHostsSection: React.FunctionComponent<FleetServerHostsSe deleteFleetServerHost, }) => { const { docLinks } = useStartServices(); - const { getHref } = useLink(); + const flyoutContext = useFlyoutContext(); + + const onClickAddFleetServer = useCallback(() => { + flyoutContext.openFleetServerFlyout(); + }, [flyoutContext]); return ( <> @@ -61,7 +65,7 @@ export const FleetServerHostsSection: React.FunctionComponent<FleetServerHostsSe <EuiSpacer size="s" /> <EuiButtonEmpty iconType="plusInCircle" - href={getHref('settings_create_fleet_server_hosts')} + onClick={onClickAddFleetServer} data-test-subj="settings.fleetServerHosts.addFleetServerHostBtn" > <FormattedMessage From 69c3244606ff20546608f7b9dff5dd448f35ad36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= <alejandro.haro@elastic.co> Date: Thu, 3 Nov 2022 10:57:31 +0100 Subject: [PATCH 37/37] [Telemetry] Smarter next attempt timer to avoid skipping days (#144132) --- src/plugins/telemetry/common/constants.ts | 6 + .../common/is_report_interval_expired.test.ts | 6 +- .../common/is_report_interval_expired.ts | 8 +- .../telemetry/server/fetcher.test.mock.ts | 15 ++ src/plugins/telemetry/server/fetcher.test.ts | 212 +++++++++++++++++- src/plugins/telemetry/server/fetcher.ts | 137 ++++++++--- .../server/get_next_attempt_date.test.ts | 48 ++++ .../telemetry/server/get_next_attempt_date.ts | 39 ++++ 8 files changed, 429 insertions(+), 42 deletions(-) create mode 100644 src/plugins/telemetry/server/fetcher.test.mock.ts create mode 100644 src/plugins/telemetry/server/get_next_attempt_date.test.ts create mode 100644 src/plugins/telemetry/server/get_next_attempt_date.ts diff --git a/src/plugins/telemetry/common/constants.ts b/src/plugins/telemetry/common/constants.ts index 4987dc0b512ab3..6ec7bebd642b9d 100644 --- a/src/plugins/telemetry/common/constants.ts +++ b/src/plugins/telemetry/common/constants.ts @@ -12,6 +12,12 @@ */ export const REPORT_INTERVAL_MS = 86400000; +/** + * The buffer time, in milliseconds, to consider the {@link REPORT_INTERVAL_MS} as expired. + * Currently, 2 minutes. + */ +export const REPORT_INTERVAL_BUFFER_MS = 120000; + /** * How often we poll for the opt-in status. * Currently, 10 seconds. diff --git a/src/plugins/telemetry/common/is_report_interval_expired.test.ts b/src/plugins/telemetry/common/is_report_interval_expired.test.ts index 68c252a959c0eb..81ea5130987736 100644 --- a/src/plugins/telemetry/common/is_report_interval_expired.test.ts +++ b/src/plugins/telemetry/common/is_report_interval_expired.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPORT_INTERVAL_MS } from './constants'; +import { REPORT_INTERVAL_BUFFER_MS, REPORT_INTERVAL_MS } from './constants'; import { isReportIntervalExpired } from './is_report_interval_expired'; describe('isReportIntervalExpired', () => { @@ -54,7 +54,9 @@ describe('isReportIntervalExpired', () => { }); test('false when close but not yet', () => { - expect(isReportIntervalExpired(Date.now() - REPORT_INTERVAL_MS + 1000)).toBe(false); + expect( + isReportIntervalExpired(Date.now() - REPORT_INTERVAL_MS + REPORT_INTERVAL_BUFFER_MS + 1000) + ).toBe(false); }); test('false when date in the future', () => { diff --git a/src/plugins/telemetry/common/is_report_interval_expired.ts b/src/plugins/telemetry/common/is_report_interval_expired.ts index d91916c12c4497..ee379ddbf0abba 100644 --- a/src/plugins/telemetry/common/is_report_interval_expired.ts +++ b/src/plugins/telemetry/common/is_report_interval_expired.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { REPORT_INTERVAL_MS } from './constants'; +import { REPORT_INTERVAL_BUFFER_MS, REPORT_INTERVAL_MS } from './constants'; /** * The report is considered expired if: @@ -15,5 +15,9 @@ import { REPORT_INTERVAL_MS } from './constants'; * @returns `true` if the report interval is considered expired */ export function isReportIntervalExpired(lastReportAt: number | undefined) { - return !lastReportAt || isNaN(lastReportAt) || Date.now() - lastReportAt > REPORT_INTERVAL_MS; + return ( + !lastReportAt || + isNaN(lastReportAt) || + Date.now() - lastReportAt > REPORT_INTERVAL_MS - REPORT_INTERVAL_BUFFER_MS + ); } diff --git a/src/plugins/telemetry/server/fetcher.test.mock.ts b/src/plugins/telemetry/server/fetcher.test.mock.ts new file mode 100644 index 00000000000000..7a77b6452fc091 --- /dev/null +++ b/src/plugins/telemetry/server/fetcher.test.mock.ts @@ -0,0 +1,15 @@ +/* + * 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 const fetchMock = jest.fn(); + +jest.doMock('node-fetch', () => fetchMock); + +export const getNextAttemptDateMock = jest.fn(); + +jest.doMock('./get_next_attempt_date', () => ({ getNextAttemptDate: getNextAttemptDateMock })); diff --git a/src/plugins/telemetry/server/fetcher.test.ts b/src/plugins/telemetry/server/fetcher.test.ts index 0bbaaefde4416e..1a6a9d8d0f0c89 100644 --- a/src/plugins/telemetry/server/fetcher.test.ts +++ b/src/plugins/telemetry/server/fetcher.test.ts @@ -7,14 +7,29 @@ */ /* eslint-disable dot-notation */ -import { FetcherTask } from './fetcher'; +import { fakeSchedulers } from 'rxjs-marbles/jest'; import { coreMock } from '@kbn/core/server/mocks'; import { telemetryCollectionManagerPluginMock, Setup, } from '@kbn/telemetry-collection-manager-plugin/server/mocks'; +jest.mock('rxjs', () => { + const RxJs = jest.requireActual('rxjs'); + return { + ...RxJs, + // Redefining timer as a merge of timer and interval because `fakeSchedulers` fails to advance on the intervals + timer: (dueTime: number, interval: number) => + RxJs.merge(RxJs.timer(dueTime), RxJs.interval(interval)), + }; +}); + +import { fetchMock, getNextAttemptDateMock } from './fetcher.test.mock'; +import { FetcherTask } from './fetcher'; + describe('FetcherTask', () => { + beforeEach(() => jest.useFakeTimers('legacy')); + describe('sendIfDue', () => { let getCurrentConfigs: jest.Mock; let shouldSendReport: jest.Mock; @@ -95,4 +110,199 @@ describe('FetcherTask', () => { expect(updateReportFailure).toBeCalledTimes(0); }); }); + + describe('Validate connectivity', () => { + let fetcherTask: FetcherTask; + let getCurrentConfigs: jest.Mock; + let updateReportFailure: jest.Mock; + + beforeEach(() => { + getCurrentConfigs = jest.fn(); + updateReportFailure = jest.fn(); + fetcherTask = new FetcherTask(coreMock.createPluginInitializerContext({})); + Object.assign(fetcherTask, { getCurrentConfigs, updateReportFailure }); + }); + + afterEach(() => { + fetchMock.mockReset(); + }); + + test( + 'Validates connectivity and sets as online when the OPTIONS request succeeds', + fakeSchedulers(async (advance) => { + expect(fetcherTask['isOnline$'].value).toBe(false); + getCurrentConfigs.mockResolvedValue({ + telemetryOptIn: true, + telemetrySendUsageFrom: 'server', + failureCount: 0, + telemetryUrl: 'test-url', + }); + fetchMock.mockResolvedValue({}); + const subscription = fetcherTask['validateConnectivity'](); + advance(5 * 60 * 1000); + await new Promise((resolve) => process.nextTick(resolve)); // Wait for the promise to fulfill + expect(getCurrentConfigs).toHaveBeenCalledTimes(1); + expect(fetchMock).toHaveBeenCalledTimes(1); + expect(fetchMock).toHaveBeenCalledWith('test-url', { method: 'options' }); + expect(fetcherTask['isOnline$'].value).toBe(true); + subscription.unsubscribe(); + }) + ); + + test( + 'Skips validation when already set as online', + fakeSchedulers(async (advance) => { + fetcherTask['isOnline$'].next(true); + const subscription = fetcherTask['validateConnectivity'](); + advance(5 * 60 * 1000); + await new Promise((resolve) => process.nextTick(resolve)); // Wait for the promise to fulfill + expect(getCurrentConfigs).toHaveBeenCalledTimes(0); + expect(fetchMock).toHaveBeenCalledTimes(0); + expect(fetcherTask['isOnline$'].value).toBe(true); + subscription.unsubscribe(); + }) + ); + + test( + 'Retries on errors', + fakeSchedulers(async (advance) => { + expect(fetcherTask['isOnline$'].value).toBe(false); + getCurrentConfigs.mockResolvedValue({ + telemetryOptIn: true, + telemetrySendUsageFrom: 'server', + failureCount: 0, + telemetryUrl: 'test-url', + }); + fetchMock.mockRejectedValue(new Error('Something went terribly wrong')); + const subscription = fetcherTask['validateConnectivity'](); + advance(5 * 60 * 1000); + await new Promise((resolve) => process.nextTick(resolve)); // Wait for the promise to fulfill + expect(getCurrentConfigs).toHaveBeenCalledTimes(1); + expect(fetchMock).toHaveBeenCalledTimes(1); + expect(updateReportFailure).toHaveBeenCalledTimes(1); + expect(fetcherTask['isOnline$'].value).toBe(false); + + // Try again after 12 hours + fetchMock.mockResolvedValue({}); + advance(12 * 60 * 60 * 1000); + await new Promise((resolve) => process.nextTick(resolve)); // Wait for the promise to fulfill + expect(getCurrentConfigs).toHaveBeenCalledTimes(2); + expect(fetchMock).toHaveBeenCalledTimes(2); + expect(updateReportFailure).toHaveBeenCalledTimes(1); + expect(fetcherTask['isOnline$'].value).toBe(true); + + subscription.unsubscribe(); + }) + ); + + test( + 'Should not retry if it hit the max number of failures for this version', + fakeSchedulers(async (advance) => { + expect(fetcherTask['isOnline$'].value).toBe(false); + getCurrentConfigs.mockResolvedValue({ + telemetryOptIn: true, + telemetrySendUsageFrom: 'server', + failureCount: 3, + failureVersion: 'version', + currentVersion: 'version', + telemetryUrl: 'test-url', + }); + const subscription = fetcherTask['validateConnectivity'](); + advance(5 * 60 * 1000); + await new Promise((resolve) => process.nextTick(resolve)); // Wait for the promise to fulfill + expect(getCurrentConfigs).toHaveBeenCalledTimes(1); + expect(fetchMock).toHaveBeenCalledTimes(0); + expect(fetcherTask['isOnline$'].value).toBe(false); + + subscription.unsubscribe(); + }) + ); + + test( + 'Should retry if it hit the max number of failures for a different version', + fakeSchedulers(async (advance) => { + expect(fetcherTask['isOnline$'].value).toBe(false); + getCurrentConfigs.mockResolvedValue({ + telemetryOptIn: true, + telemetrySendUsageFrom: 'server', + failureCount: 3, + failureVersion: 'version', + currentVersion: 'another_version', + telemetryUrl: 'test-url', + }); + const subscription = fetcherTask['validateConnectivity'](); + advance(5 * 60 * 1000); + await new Promise((resolve) => process.nextTick(resolve)); // Wait for the promise to fulfill + expect(getCurrentConfigs).toHaveBeenCalledTimes(1); + expect(fetchMock).toHaveBeenCalledTimes(1); + expect(fetcherTask['isOnline$'].value).toBe(true); + + subscription.unsubscribe(); + }) + ); + }); + + describe('startSendIfDueSubscription', () => { + let fetcherTask: FetcherTask; + let sendIfDue: jest.Mock; + + beforeEach(() => { + sendIfDue = jest.fn().mockResolvedValue({}); + fetcherTask = new FetcherTask(coreMock.createPluginInitializerContext({})); + Object.assign(fetcherTask, { sendIfDue }); + }); + + afterEach(() => { + getNextAttemptDateMock.mockReset(); + }); + + test('Tries to send telemetry when it is online', () => { + const subscription = fetcherTask['startSendIfDueSubscription'](); + fetcherTask['isOnline$'].next(true); + expect(sendIfDue).toHaveBeenCalledTimes(1); + subscription.unsubscribe(); + }); + + test('Does not send telemetry when it is offline', () => { + const subscription = fetcherTask['startSendIfDueSubscription'](); + fetcherTask['isOnline$'].next(false); + expect(sendIfDue).toHaveBeenCalledTimes(0); + subscription.unsubscribe(); + }); + + test( + 'Sends telemetry when the next attempt date kicks in', + fakeSchedulers((advance) => { + fetcherTask['isOnline$'].next(true); + const subscription = fetcherTask['startSendIfDueSubscription'](); + const lastReported = Date.now(); + getNextAttemptDateMock.mockReturnValue(new Date(lastReported + 1000)); + fetcherTask['lastReported$'].next(lastReported); + advance(1000); + expect(sendIfDue).toHaveBeenCalledTimes(1); + subscription.unsubscribe(); + }) + ); + + test( + 'Keeps retrying every 1 minute after the next attempt date until a new emission of lastReported occurs', + fakeSchedulers(async (advance) => { + fetcherTask['isOnline$'].next(true); + const subscription = fetcherTask['startSendIfDueSubscription'](); + const lastReported = Date.now(); + getNextAttemptDateMock.mockReturnValue(new Date(lastReported + 1000)); + fetcherTask['lastReported$'].next(lastReported); + advance(1000); + await new Promise((resolve) => process.nextTick(resolve)); + expect(sendIfDue).toHaveBeenCalledTimes(1); + advance(60 * 1000); + await new Promise((resolve) => process.nextTick(resolve)); + expect(sendIfDue).toHaveBeenCalledTimes(2); + advance(60 * 1000); + await new Promise((resolve) => process.nextTick(resolve)); + expect(sendIfDue).toHaveBeenCalledTimes(3); + subscription.unsubscribe(); + }) + ); + }); }); diff --git a/src/plugins/telemetry/server/fetcher.ts b/src/plugins/telemetry/server/fetcher.ts index 29c3dd44e19842..210e0a37d6c1cf 100644 --- a/src/plugins/telemetry/server/fetcher.ts +++ b/src/plugins/telemetry/server/fetcher.ts @@ -6,7 +6,19 @@ * Side Public License, v 1. */ -import { firstValueFrom, Observable, Subscription, timer } from 'rxjs'; +import { + BehaviorSubject, + exhaustMap, + filter, + firstValueFrom, + merge, + mergeMap, + Observable, + skip, + Subscription, + takeUntil, + timer, +} from 'rxjs'; import fetch from 'node-fetch'; import type { TelemetryCollectionManagerPluginStart } from '@kbn/telemetry-collection-manager-plugin/server'; import { @@ -16,6 +28,7 @@ import { SavedObjectsClient, CoreStart, } from '@kbn/core/server'; +import { getNextAttemptDate } from './get_next_attempt_date'; import { getTelemetryChannelEndpoint, getTelemetryOptIn, @@ -42,15 +55,19 @@ interface TelemetryConfig { lastReported: number | undefined; } +const SECOND = 1000; +const MINUTE = 60 * SECOND; +const HOUR = 60 * MINUTE; + export class FetcherTask { - private readonly initialCheckDelayMs = 60 * 1000 * 5; - private readonly checkIntervalMs = 60 * 1000 * 60 * 12; + private readonly initialCheckDelayMs = 5 * MINUTE; + private readonly connectivityCheckIntervalMs = 12 * HOUR; private readonly config$: Observable<TelemetryConfigType>; private readonly currentKibanaVersion: string; private readonly logger: Logger; - private intervalId?: Subscription; - private lastReported?: number; - private isSending = false; + private readonly subscriptions = new Subscription(); + private readonly isOnline$ = new BehaviorSubject<boolean>(false); // Let's initially assume we are not online + private readonly lastReported$ = new BehaviorSubject<number>(0); private internalRepository?: SavedObjectsClientContract; private telemetryCollectionManager?: TelemetryCollectionManagerPluginStart; @@ -64,22 +81,74 @@ export class FetcherTask { this.internalRepository = new SavedObjectsClient(savedObjects.createInternalRepository()); this.telemetryCollectionManager = telemetryCollectionManager; - this.intervalId = timer(this.initialCheckDelayMs, this.checkIntervalMs).subscribe(() => - this.sendIfDue() - ); + this.subscriptions.add(this.validateConnectivity()); + this.subscriptions.add(this.startSendIfDueSubscription()); } public stop() { - if (this.intervalId) { - this.intervalId.unsubscribe(); - } + this.subscriptions.unsubscribe(); } - private async sendIfDue() { - if (this.isSending) { - return; - } + /** + * Periodically validates the connectivity from the server to our remote telemetry URL. + * OPTIONS is less intrusive as it does not contain any payload and is used here to check if the endpoint is reachable. + */ + private validateConnectivity(): Subscription { + return timer(this.initialCheckDelayMs, this.connectivityCheckIntervalMs) + .pipe( + // Skip any further processing if already online + filter(() => !this.isOnline$.value), + // Fetch current state and configs + exhaustMap(async () => await this.getCurrentConfigs()), + // Skip if opted-out, or should only send from the browser + filter( + ({ telemetryOptIn, telemetrySendUsageFrom }) => + telemetryOptIn === true && telemetrySendUsageFrom === 'server' + ), + // Skip if already failed three times for this version + filter( + ({ failureCount, failureVersion, currentVersion }) => + !(failureCount > 2 && failureVersion === currentVersion) + ), + exhaustMap(async ({ telemetryUrl, failureCount }) => { + try { + await fetch(telemetryUrl, { method: 'options' }); + this.isOnline$.next(true); + } catch (err) { + this.logger.error(`Cannot reach the remote telemetry endpoint ${telemetryUrl}`); + await this.updateReportFailure({ failureCount }); + } + }) + ) + .subscribe(); + } + private startSendIfDueSubscription() { + return merge( + // Attempt to send telemetry... + // ... whenever connectivity changes + this.isOnline$, + // ... when lastReported$ has a new value... + this.lastReported$.pipe( + filter(Boolean), + mergeMap((lastReported) => + // ... set a timer of 24h from there (+ a random seed to avoid concurrent emissions from multiple Kibana instances). + // Emitting again every 1 minute after the next attempt date in case we reach a deadlock in further checks (like Kibana is not healthy at the moment of sending). + timer(getNextAttemptDate(lastReported), MINUTE).pipe( + // Cancel this observable if lastReported$ emits again + takeUntil(this.lastReported$.pipe(skip(1))) + ) + ) + ) + ) + .pipe( + filter(() => this.isOnline$.value), + exhaustMap(() => this.sendIfDue()) + ) + .subscribe(); + } + + private async sendIfDue() { // Skip this run if Kibana is not in a healthy state to fetch telemetry. if (!(await this.telemetryCollectionManager?.shouldGetTelemetry())) { return; @@ -99,13 +168,11 @@ export class FetcherTask { } let clusters: EncryptedTelemetryPayload = []; - this.isSending = true; try { clusters = await this.fetchTelemetry(); } catch (err) { this.logger.warn(`Error fetching usage. (${err})`); - this.isSending = false; return; } @@ -119,7 +186,6 @@ export class FetcherTask { this.logger.warn(`Error sending telemetry usage data. (${err})`); } - this.isSending = false; } private async getCurrentConfigs(): Promise<TelemetryConfig> { @@ -137,6 +203,13 @@ export class FetcherTask { telemetrySavedObject, }); + const lastReported = telemetrySavedObject ? telemetrySavedObject.lastReported : void 0; + + // If the lastReported value in the SO is more recent than the in-memory one, refresh the memory (another instance or the browser may have reported it) + if (lastReported && lastReported > this.lastReported$.value) { + this.lastReported$.next(lastReported); + } + return { telemetryOptIn: getTelemetryOptIn({ currentKibanaVersion, @@ -152,15 +225,15 @@ export class FetcherTask { failureCount, failureVersion, currentVersion: currentKibanaVersion, - lastReported: telemetrySavedObject ? telemetrySavedObject.lastReported : void 0, + lastReported, }; } private async updateLastReported() { - this.lastReported = Date.now(); + this.lastReported$.next(Date.now()); updateTelemetrySavedObject(this.internalRepository!, { reportFailureCount: 0, - lastReported: this.lastReported, + lastReported: this.lastReported$.value, }).catch((err) => { err.message = `Failed to update the telemetry saved object: ${err.message}`; this.logger.debug(err); @@ -168,6 +241,7 @@ export class FetcherTask { } private async updateReportFailure({ failureCount }: { failureCount: number }) { + this.isOnline$.next(false); updateTelemetrySavedObject(this.internalRepository!, { reportFailureCount: failureCount + 1, reportFailureVersion: this.currentKibanaVersion, @@ -180,19 +254,15 @@ export class FetcherTask { private shouldSendReport({ telemetryOptIn, telemetrySendUsageFrom, - failureCount, - failureVersion, - currentVersion, lastReported, }: TelemetryConfig) { - if (failureCount > 2 && failureVersion === currentVersion) { - return false; - } - if (telemetryOptIn && telemetrySendUsageFrom === 'server') { // Check both: in-memory and SO-driven value. // This will avoid the server retrying over and over when it has issues with storing the state in the SO. - if (isReportIntervalExpired(this.lastReported) && isReportIntervalExpired(lastReported)) { + if ( + isReportIntervalExpired(this.lastReported$.value) && + isReportIntervalExpired(lastReported) + ) { return true; } } @@ -210,13 +280,6 @@ export class FetcherTask { payload: EncryptedTelemetryPayload ): Promise<void> { this.logger.debug(`Sending usage stats.`); - /** - * send OPTIONS before sending usage data. - * OPTIONS is less intrusive as it does not contain any payload and is used here to check if the endpoint is reachable. - */ - await fetch(telemetryUrl, { - method: 'options', - }); await Promise.all( payload.map(async ({ clusterUuid, stats }) => { diff --git a/src/plugins/telemetry/server/get_next_attempt_date.test.ts b/src/plugins/telemetry/server/get_next_attempt_date.test.ts new file mode 100644 index 00000000000000..63efcd77966546 --- /dev/null +++ b/src/plugins/telemetry/server/get_next_attempt_date.test.ts @@ -0,0 +1,48 @@ +/* + * 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 crypto from 'crypto'; +import { getNextAttemptDate } from './get_next_attempt_date'; + +describe('getNextAttemptDate', () => { + // The casting is needed because `randomInt` has multiple call signatures and typescript is taking the callback one. + const randomIntSpy = jest.spyOn(crypto, 'randomInt') as unknown as jest.SpyInstance< + number, + [min: number, max: number] + >; + + afterEach(() => { + randomIntSpy.mockReset(); + }); + + test('returns the date + 24h + random seed (2 minutes)', () => { + randomIntSpy.mockReturnValue(120); + + expect(getNextAttemptDate(new Date('2022-10-27T12:00:00Z').getTime())).toStrictEqual( + new Date('2022-10-28T12:02:00Z') + ); + }); + + test('returns the start of the next day if the random addition stays in the same day', () => { + randomIntSpy.mockReturnValue(120); + randomIntSpy.mockReturnValueOnce(-120); + expect(getNextAttemptDate(new Date('2022-10-27T00:01:00Z').getTime())).toStrictEqual( + new Date('2022-10-28T00:03:00Z') + ); + expect(randomIntSpy).toHaveBeenCalledTimes(2); + }); + + test('returns the end of the next day minus 1 minute if the random addition goes to the following day', () => { + randomIntSpy.mockReturnValue(-120); + randomIntSpy.mockReturnValueOnce(120); + expect(getNextAttemptDate(new Date('2022-10-27T23:58:30Z').getTime())).toStrictEqual( + new Date('2022-10-28T23:56:30Z') + ); + expect(randomIntSpy).toHaveBeenCalledTimes(2); + }); +}); diff --git a/src/plugins/telemetry/server/get_next_attempt_date.ts b/src/plugins/telemetry/server/get_next_attempt_date.ts new file mode 100644 index 00000000000000..507491ef5450ed --- /dev/null +++ b/src/plugins/telemetry/server/get_next_attempt_date.ts @@ -0,0 +1,39 @@ +/* + * 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 { randomInt } from 'crypto'; +import moment from 'moment'; +import { REPORT_INTERVAL_BUFFER_MS, REPORT_INTERVAL_MS } from '../common/constants'; + +const REPORT_INTERVAL_BUFFER_S = REPORT_INTERVAL_BUFFER_MS / 1000; + +/** + * Returns the next attempt to send telemetry + * @param fromMs The last attempt in ms from epoch + */ +export function getNextAttemptDate(fromMs: number): Date { + const lastAttempt = moment(fromMs).utcOffset(0); + const endOfLastAttemptDay = lastAttempt.clone().endOf('day'); + const dayPlusReportInterval = lastAttempt.clone().add(REPORT_INTERVAL_MS, 'milliseconds'); + const endOfNextDay = dayPlusReportInterval.clone().endOf('day'); + const nextAttemptDate = dayPlusReportInterval + .clone() + .add(randomInt(-REPORT_INTERVAL_BUFFER_S, REPORT_INTERVAL_BUFFER_S), 'seconds'); + + // Edge case: If the random seed makes the next attempt to be in the same day of the last attempt, generate it again + if (nextAttemptDate.isBefore(endOfLastAttemptDay)) { + return getNextAttemptDate(fromMs); + } + + // Edge case: If the random seed goes to the following day, generate it again + if (nextAttemptDate.isAfter(endOfNextDay)) { + return getNextAttemptDate(fromMs); + } + + return nextAttemptDate.toDate(); +}