diff --git a/.buildkite/ftr_configs.yml b/.buildkite/ftr_configs.yml index f026499502e0db..26e8d3855bf7b6 100644 --- a/.buildkite/ftr_configs.yml +++ b/.buildkite/ftr_configs.yml @@ -15,7 +15,7 @@ disabled: - x-pack/test/fleet_api_integration/config.base.ts - x-pack/test/security_solution_api_integration/config/ess/config.base.ts - x-pack/test/security_solution_api_integration/config/serverless/config.base.ts - + - x-pack/test/security_solution_endpoint/config.base.ts # QA suites that are run out-of-band - x-pack/test/stack_functional_integration/configs/config.stack_functional_integration_base.js @@ -387,7 +387,9 @@ enabled: - x-pack/test/security_functional/expired_session.config.ts - x-pack/test/security_solution_endpoint_api_int/config.ts - x-pack/test/security_solution_endpoint/endpoint.config.ts + - x-pack/test/security_solution_endpoint/serverless.endpoint.config.ts - x-pack/test/security_solution_endpoint/integrations.config.ts + - x-pack/test/security_solution_endpoint/serverless.integrations.config.ts - x-pack/test/session_view/basic/config.ts - x-pack/test/spaces_api_integration/security_and_spaces/config_basic.ts - x-pack/test/spaces_api_integration/security_and_spaces/copy_to_space_config_basic.ts @@ -457,7 +459,9 @@ enabled: - x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/exceptions/operators_data_types/ips_text_array/configs/ess.config.ts - x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/rule_creation/configs/serverless.config.ts - x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/rule_creation/configs/ess.config.ts - + - x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/actions/configs/serverless.config.ts + - x-pack/test/security_solution_api_integration/test_suites/detections_response/default_license/actions/configs/ess.config.ts + diff --git a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts index 4f95553d073ec8..c2cec6e2850317 100644 --- a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts +++ b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts @@ -273,7 +273,12 @@ export async function pickTestGroupRunOrder() { ] : []), // if we are running on a external job, like kibana-code-coverage-main, try finding times that are specific to that job - ...(!prNumber && pipelineSlug !== 'kibana-on-merge' + // kibana-elasticsearch-serverless-verify-and-promote is not necessarily run in commit order - + // using kibana-on-merge groups will provide a closer approximation, with a failure mode - + // of too many ftr groups instead of potential timeouts. + ...(!prNumber && + pipelineSlug !== 'kibana-on-merge' && + pipelineSlug !== 'kibana-elasticsearch-serverless-verify-and-promote' ? [ { branch: ownBranch, diff --git a/.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml b/.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml index c201da861d9711..8e64513b149000 100644 --- a/.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml +++ b/.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml @@ -63,7 +63,7 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 60 - parallelism: 4 + parallelism: 6 retry: automatic: - exit_status: '*' diff --git a/.buildkite/pipelines/pull_request/deploy_project.yml b/.buildkite/pipelines/pull_request/deploy_project.yml new file mode 100644 index 00000000000000..5d6e442542304b --- /dev/null +++ b/.buildkite/pipelines/pull_request/deploy_project.yml @@ -0,0 +1,11 @@ +steps: + - command: .buildkite/scripts/steps/serverless/build_and_deploy.sh + label: 'Build and Deploy Project' + agents: + queue: n2-16-spot + timeout_in_minutes: 60 + soft_fail: true + retry: + automatic: + - exit_status: '-1' + limit: 3 diff --git a/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml b/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml index c1ec8b4c79ccc5..ede4f047c7a111 100644 --- a/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml +++ b/.buildkite/pipelines/quality-gates/pipeline.tests-qa.yaml @@ -39,8 +39,21 @@ steps: - wait: ~ - - label: ":judge::seedling: Trigger Manual Tests Phase" - command: "make -C /agent trigger-manual-verification-phase" - if: build.branch == "main" - agents: - image: "docker.elastic.co/ci-agent-images/manual-verification-agent:0.0.2" + - group: "Kibana Release Manager" + steps: + - label: ":judge::seedling: Trigger Manual Tests Phase - Kibana Release Manager" + command: "make -C /agent trigger-manual-verification-phase" + env: + USE_GROUP_LABEL: true + agents: + image: "docker.elastic.co/ci-agent-images/manual-verification-agent:0.0.6" + + - group: "Observability" + steps: + - label: ":judge::seedling: Trigger Manual Tests Phase - Observability" + command: "make -C /agent trigger-manual-verification-phase" + env: + NOTIFICATION_APPENDIX: " please execute your manual testing plan." + USE_GROUP_LABEL: true + agents: + image: "docker.elastic.co/ci-agent-images/manual-verification-agent:0.0.6" diff --git a/.buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml b/.buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml index 907c0de29e63e9..2630b555aa7a00 100644 --- a/.buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml +++ b/.buildkite/pipelines/quality-gates/pipeline.tests-staging.yaml @@ -23,8 +23,9 @@ steps: - wait: ~ - - label: ":judge::seedling: Trigger Manual Tests Phase" - command: "make -C /agent trigger-manual-verification-phase" - if: build.branch == "main" - agents: - image: "docker.elastic.co/ci-agent-images/manual-verification-agent:0.0.2" + - group: "Kibana Release Manager" + steps: + - label: ":judge::seedling: Trigger Manual Tests Phase" + command: "make -C /agent trigger-manual-verification-phase" + agents: + image: "docker.elastic.co/ci-agent-images/manual-verification-agent:0.0.6" diff --git a/.buildkite/scripts/lifecycle/post_command.sh b/.buildkite/scripts/lifecycle/post_command.sh index eeb7fa0ef410f9..d0a5837ed5a675 100755 --- a/.buildkite/scripts/lifecycle/post_command.sh +++ b/.buildkite/scripts/lifecycle/post_command.sh @@ -15,6 +15,7 @@ if [[ "$IS_TEST_EXECUTION_STEP" == "true" ]]; then buildkite-agent artifact upload 'target/kibana-*' buildkite-agent artifact upload 'target/kibana-security-solution/**/*.png' buildkite-agent artifact upload 'target/kibana-osquery/**/*.png' + buildkite-agent artifact upload 'target/kibana-osquery/**/*.mp4' buildkite-agent artifact upload 'target/kibana-fleet/**/*.png' buildkite-agent artifact upload 'target/test-metrics/*' buildkite-agent artifact upload 'target/test-suites-ci-plan.json' diff --git a/.buildkite/scripts/lifecycle/pre_command.sh b/.buildkite/scripts/lifecycle/pre_command.sh index b945f08d1dfd9d..9cfa973b280246 100755 --- a/.buildkite/scripts/lifecycle/pre_command.sh +++ b/.buildkite/scripts/lifecycle/pre_command.sh @@ -115,6 +115,12 @@ export KIBANA_DOCKER_PASSWORD EC_API_KEY="$(retry 5 5 vault read -field=pr_deploy_api_key secret/kibana-issues/dev/kibana-ci-cloud-deploy)" export EC_API_KEY +PROJECT_API_KEY="$(retry 5 5 vault read -field=pr_deploy_api_key secret/kibana-issues/dev/kibana-ci-project-deploy)" +export PROJECT_API_KEY + +PROJECT_API_DOMAIN="$(retry 5 5 vault read -field=pr_deploy_domain secret/kibana-issues/dev/kibana-ci-project-deploy)" +export PROJECT_API_DOMAIN + SYNTHETICS_SERVICE_USERNAME="$(retry 5 5 vault read -field=username secret/kibana-issues/dev/kibana-ci-synthetics-credentials)" export SYNTHETICS_SERVICE_USERNAME diff --git a/.buildkite/scripts/pipelines/pull_request/pipeline.ts b/.buildkite/scripts/pipelines/pull_request/pipeline.ts index 3eb5fd250e2b75..fa320a6853cc83 100644 --- a/.buildkite/scripts/pipelines/pull_request/pipeline.ts +++ b/.buildkite/scripts/pipelines/pull_request/pipeline.ts @@ -136,6 +136,14 @@ const uploadPipeline = (pipelineContent: string | object) => { pipeline.push(getPipeline('.buildkite/pipelines/pull_request/deploy_cloud.yml')); } + if ( + GITHUB_PR_LABELS.includes('ci:project-deploy-es') || + GITHUB_PR_LABELS.includes('ci:project-deploy-oblt') || + GITHUB_PR_LABELS.includes('ci:project-deploy-security') + ) { + pipeline.push(getPipeline('.buildkite/pipelines/pull_request/deploy_project.yml')); + } + if (GITHUB_PR_LABELS.includes('ci:build-serverless-image')) { pipeline.push(getPipeline('.buildkite/pipelines/artifacts_container_image.yml')); } diff --git a/.buildkite/scripts/steps/artifacts/docker_image.sh b/.buildkite/scripts/steps/artifacts/docker_image.sh index d57770cdaddf95..9b4edc16024f0b 100755 --- a/.buildkite/scripts/steps/artifacts/docker_image.sh +++ b/.buildkite/scripts/steps/artifacts/docker_image.sh @@ -14,7 +14,7 @@ else fi KIBANA_BASE_IMAGE="docker.elastic.co/kibana-ci/kibana-serverless" -KIBANA_IMAGE="$KIBANA_BASE_IMAGE:$KIBANA_IMAGE_TAG" +export KIBANA_IMAGE="$KIBANA_BASE_IMAGE:$KIBANA_IMAGE_TAG" echo "--- Verify manifest does not already exist" echo "$KIBANA_DOCKER_PASSWORD" | docker login -u "$KIBANA_DOCKER_USERNAME" --password-stdin docker.elastic.co diff --git a/.buildkite/scripts/steps/checks.sh b/.buildkite/scripts/steps/checks.sh index 639e3f02ef1df9..4d9461a6a2bff4 100755 --- a/.buildkite/scripts/steps/checks.sh +++ b/.buildkite/scripts/steps/checks.sh @@ -24,4 +24,5 @@ export DISABLE_BOOTSTRAP_VALIDATION=false .buildkite/scripts/steps/checks/saved_objects_compat_changes.sh .buildkite/scripts/steps/checks/saved_objects_definition_change.sh .buildkite/scripts/steps/code_generation/security_solution_codegen.sh +.buildkite/scripts/steps/code_generation/osquery_codegen.sh .buildkite/scripts/steps/checks/yarn_deduplicate.sh diff --git a/.buildkite/scripts/steps/code_generation/osquery_codegen.sh b/.buildkite/scripts/steps/code_generation/osquery_codegen.sh new file mode 100755 index 00000000000000..7c04f4aecd4427 --- /dev/null +++ b/.buildkite/scripts/steps/code_generation/osquery_codegen.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/common/util.sh + +echo --- Osquery OpenAPI Code Generation + +(cd x-pack/plugins/osquery && yarn openapi:generate) +check_for_changed_files "yarn openapi:generate" true diff --git a/.buildkite/scripts/steps/serverless/build_and_deploy.sh b/.buildkite/scripts/steps/serverless/build_and_deploy.sh new file mode 100644 index 00000000000000..837757a5877867 --- /dev/null +++ b/.buildkite/scripts/steps/serverless/build_and_deploy.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +set -euo pipefail + + +source .buildkite/scripts/common/util.sh +source .buildkite/scripts/steps/artifacts/docker_image.sh + +PROJECT_TYPE="" +is_pr_with_label "ci:project-deploy-es" && PROJECT_TYPE="elasticsearch" +is_pr_with_label "ci:project-deploy-oblt" && PROJECT_TYPE="observability" +is_pr_with_label "ci:project-deploy-security" && PROJECT_TYPE="security" +if [ -z "${PROJECT_TYPE}" ]; then + echo "Mising project type" + exit 10 +fi + +PROJECT_NAME="kibana-pr-$BUILDKITE_PULL_REQUEST-$PROJECT_TYPE" +PROJECT_CREATE_CONFIGURATION='{ + "name": "'"$PROJECT_NAME"'", + "region_id": "aws-eu-west-1", + "overrides": { + "kibana": { + "docker_image": "'"$KIBANA_IMAGE"'" + } + } +}' +PROJECT_UPDATE_CONFIGURATION='{ + "name": "'"$PROJECT_NAME"'", + "overrides": { + "kibana": { + "docker_image": "'"$KIBANA_IMAGE"'" + } + } +}' + +echo "--- Create project" +DEPLOY_LOGS=$(mktemp --suffix ".json") + +echo "Checking if project already exists..." +curl -s \ + -H "Authorization: ApiKey $PROJECT_API_KEY" \ + "${PROJECT_API_DOMAIN}/api/v1/serverless/projects/${PROJECT_TYPE}" \ + -XGET &>> $DEPLOY_LOGS + +PROJECT_ID=$(jq -r --slurp '[.[0].items[] | select(.name == "'$PROJECT_NAME'")] | .[0].id' $DEPLOY_LOGS) +if [ -z "${PROJECT_ID}" ] || [ "$PROJECT_ID" = 'null' ]; then + echo "Creating project..." + curl -s \ + -H "Authorization: ApiKey $PROJECT_API_KEY" \ + -H "Content-Type: application/json" \ + "${PROJECT_API_DOMAIN}/api/v1/serverless/projects/${PROJECT_TYPE}" \ + -XPOST -d "$PROJECT_CREATE_CONFIGURATION" &>> $DEPLOY_LOGS + + PROJECT_ID=$(jq -r --slurp '.[1].id' $DEPLOY_LOGS) + + echo "Get credentials..." + curl -s -XPOST -H "Authorization: ApiKey $PROJECT_API_KEY" \ + "${PROJECT_API_DOMAIN}/api/v1/serverless/projects/${PROJECT_TYPE}/${PROJECT_ID}/_reset-credentials" &>> $DEPLOY_LOGS + + PROJECT_USERNAME=$(jq -r --slurp '.[2].username' $DEPLOY_LOGS) + PROJECT_PASSWORD=$(jq -r --slurp '.[2].password' $DEPLOY_LOGS) + + echo "Write to vault..." + VAULT_ROLE_ID="$(retry 5 15 gcloud secrets versions access latest --secret=kibana-buildkite-vault-role-id)" + VAULT_SECRET_ID="$(retry 5 15 gcloud secrets versions access latest --secret=kibana-buildkite-vault-secret-id)" + VAULT_TOKEN=$(retry 5 30 vault write -field=token auth/approle/login role_id="$VAULT_ROLE_ID" secret_id="$VAULT_SECRET_ID") + retry 5 30 vault login -no-print "$VAULT_TOKEN" + retry 5 5 vault write "secret/kibana-issues/dev/cloud-deploy/$PROJECT_NAME" username="$PROJECT_USERNAME" password="$PROJECT_PASSWORD" id="$PROJECT_ID" +else + echo "Updating project..." + curl -s \ + -H "Authorization: ApiKey $PROJECT_API_KEY" \ + -H "Content-Type: application/json" \ + "${PROJECT_API_DOMAIN}/api/v1/serverless/projects/${PROJECT_TYPE}/${PROJECT_ID}" \ + -XPUT -d "$PROJECT_UPDATE_CONFIGURATION" &>> $DEPLOY_LOGS +fi + +PROJECT_KIBANA_URL=$(jq -r --slurp '.[1].endpoints.kibana' $DEPLOY_LOGS) +PROJECT_KIBANA_LOGIN_URL="${PROJECT_KIBANA_URL}/login" +PROJECT_ELASTICSEARCH_URL=$(jq -r --slurp '.[1].endpoints.elasticsearch' $DEPLOY_LOGS) + +cat << EOF | buildkite-agent annotate --style "info" --context project + ### Project Deployment + + Kibana: $PROJECT_KIBANA_LOGIN_URL + + Elasticsearch: $PROJECT_ELASTICSEARCH_URL + + Credentials: \`vault read secret/kibana-issues/dev/cloud-deploy/$PROJECT_NAME\` + + Kibana image: \`$KIBANA_IMAGE\` +EOF + +buildkite-agent meta-data set pr_comment:deploy_project:head "* [Project Deployment](${PROJECT_KIBANA_LOGIN_URL})" +buildkite-agent meta-data set pr_comment:early_comment_job_id "$BUILDKITE_JOB_ID" diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fb41f6d904b10a..cf882001b922b5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -78,9 +78,7 @@ x-pack/test/cloud_integration/plugins/saml_provider @elastic/kibana-core x-pack/plugins/cloud_integrations/cloud_links @elastic/kibana-core x-pack/plugins/cloud @elastic/kibana-core x-pack/plugins/cloud_security_posture @elastic/kibana-cloud-security-posture -packages/shared-ux/code_editor/impl @elastic/appex-sharedux -packages/shared-ux/code_editor/mocks @elastic/appex-sharedux -packages/shared-ux/code_editor/types @elastic/appex-sharedux +packages/shared-ux/code_editor @elastic/appex-sharedux packages/kbn-coloring @elastic/kibana-visualizations packages/kbn-config @elastic/kibana-core packages/kbn-config-mocks @elastic/kibana-core @@ -676,9 +674,7 @@ examples/share_examples @elastic/appex-sharedux src/plugins/share @elastic/appex-sharedux packages/kbn-shared-svg @elastic/apm-ui packages/shared-ux/avatar/solution @elastic/appex-sharedux -packages/shared-ux/button/exit_full_screen/impl @elastic/appex-sharedux -packages/shared-ux/button/exit_full_screen/mocks @elastic/appex-sharedux -packages/shared-ux/button/exit_full_screen/types @elastic/appex-sharedux +packages/shared-ux/button/exit_full_screen @elastic/appex-sharedux packages/shared-ux/button_toolbar @elastic/appex-sharedux packages/shared-ux/card/no_data/impl @elastic/appex-sharedux packages/shared-ux/card/no_data/mocks @elastic/appex-sharedux diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 488707c72c7c4c..fa6f0b70f69ec8 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-10-30 +date: 2023-11-06 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 8c678bcef2c687..9a4a940ab39737 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-10-30 +date: 2023-11-06 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 8bfec524f8a14e..783fbfb7a31f94 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index a8c688261c4f70..e91a46ecfb7fbe 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -109,8 +109,8 @@ "trackAdoption": false, "references": [ { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" + "plugin": "ml", + "path": "x-pack/plugins/ml/public/alerting/register_ml_alerts.ts" }, { "plugin": "stackAlerts", @@ -125,8 +125,8 @@ "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/alerting/register_ml_alerts.ts" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/es_query/index.ts" } ], "children": [ @@ -2949,7 +2949,7 @@ "label": "snoozeSchedule", "description": [], "signature": [ - "Readonly<{ id?: string | undefined; skipRecurrences?: string[] | undefined; } & { duration: number; rRule: Readonly<{ count?: number | undefined; interval?: number | undefined; freq?: 0 | 2 | 6 | 5 | 4 | 3 | 1 | undefined; until?: string | undefined; byweekday?: (string | number)[] | undefined; bymonth?: number[] | undefined; wkst?: \"MO\" | \"TU\" | \"WE\" | \"TH\" | \"FR\" | \"SA\" | \"SU\" | undefined; bysetpos?: number[] | undefined; } & { dtstart: string; tzid: string; bymonthday: number[]; byyearday: number[]; byweekno: number[]; byhour: number[]; byminute: number[]; bysecond: number[]; }>; }>[] | undefined" + "Readonly<{ id?: string | undefined; skipRecurrences?: string[] | undefined; } & { duration: number; rRule: Readonly<{ count?: number | undefined; interval?: number | undefined; freq?: 0 | 2 | 6 | 5 | 4 | 3 | 1 | undefined; until?: string | undefined; byweekday?: (string | number)[] | undefined; bymonthday?: number[] | undefined; bymonth?: number[] | undefined; wkst?: \"MO\" | \"TU\" | \"WE\" | \"TH\" | \"FR\" | \"SA\" | \"SU\" | undefined; bysetpos?: number[] | undefined; byyearday?: number[] | undefined; byweekno?: number[] | undefined; byhour?: number[] | undefined; byminute?: number[] | undefined; bysecond?: number[] | undefined; } & { dtstart: string; tzid: string; }>; }>[] | undefined" ], "path": "x-pack/plugins/alerting/server/application/rule/types/rule.ts", "deprecated": false, @@ -4492,7 +4492,7 @@ "label": "AlertingRulesConfig", "description": [], "signature": [ - "Pick; maxScheduledPerMinute: number; run: Readonly<{ timeout?: string | undefined; ruleTypeOverrides?: Readonly<{ timeout?: string | undefined; } & { id: string; }>[] | undefined; } & { actions: Readonly<{ connectorTypeOverrides?: Readonly<{ max?: number | undefined; } & { id: string; }>[] | undefined; } & { max: number; }>; alerts: Readonly<{} & { max: number; }>; }>; }>, \"minimumScheduleInterval\" | \"maxScheduledPerMinute\"> & { isUsingSecurity: boolean; }" + "Pick; maxScheduledPerMinute: number; run: Readonly<{ timeout?: string | undefined; ruleTypeOverrides?: Readonly<{ timeout?: string | undefined; } & { id: string; }>[] | undefined; } & { actions: Readonly<{ connectorTypeOverrides?: Readonly<{ max?: number | undefined; } & { id: string; }>[] | undefined; } & { max: number; }>; alerts: Readonly<{} & { max: number; }>; }>; }>, \"minimumScheduleInterval\" | \"maxScheduledPerMinute\"> & { isUsingSecurity: boolean; }" ], "path": "x-pack/plugins/alerting/server/config.ts", "deprecated": false, @@ -4950,7 +4950,7 @@ ")[]; total: number; taskIdsFailedToBeEnabled: string[]; }>; bulkDisableRules: (options: Readonly<{ filter?: string | undefined; ids?: string[] | undefined; } & {}>) => Promise<", "BulkDisableRulesResult", ">>; updateApiKey: (options: { id: string; }) => Promise; enable: (options: { id: string; }) => Promise; disable: (options: { id: string; }) => Promise; snooze: (options: ", - "SnoozeParams", + "SnoozeRuleOptions", ") => Promise; unsnooze: (options: ", "UnsnoozeParams", ") => Promise; clearExpiredSnoozes: (options: { rule: Pick<", @@ -10491,7 +10491,7 @@ "section": "def-common.SavedObjectsResolveResponse", "text": "SavedObjectsResolveResponse" }, - ", \"saved_object\">" + ", \"saved_object\"> & { outcome: string; alias_target_id?: string | undefined; }" ], "path": "x-pack/plugins/alerting/common/rule.ts", "deprecated": false, diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index e8dc3c4d971827..0a9419df631756 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-10-30 +date: 2023-11-06 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 6277fef1044823..2878d3c994d49e 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -902,18 +902,24 @@ "; \"GET /internal/apm/assistant/get_error_document\": { endpoint: \"GET /internal/apm/assistant/get_error_document\"; params?: ", "TypeC", "<{ query: ", + "IntersectionC", + "<[", "TypeC", "<{ start: ", "StringC", "; end: ", "StringC", - "; 'error.grouping_name': ", + "; }>, ", + "PartialC", + "<{ 'error.grouping_name': ", + "StringC", + "; 'service.name': ", "StringC", - "; }>; }> | undefined; handler: ({}: ", + "; }>]>; }> | undefined; handler: ({}: ", "APMRouteHandlerResources", - " & { params: { query: { start: string; end: string; 'error.grouping_name': string; }; }; }) => Promise<{ content: Partial<", + " & { params: { query: { start: string; end: string; } & { 'error.grouping_name'?: string | undefined; 'service.name'?: string | undefined; }; }; }) => Promise<{ content: Partial<", "APMError", - "> | undefined; }>; } & ", + ">[]; }>; } & ", "APMRouteCreateOptions", "; \"GET /internal/apm/assistant/get_service_summary\": { endpoint: \"GET /internal/apm/assistant/get_service_summary\"; params?: ", "TypeC", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 7857a694cffbe8..d230602532f68c 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index a51abe4edc3e7c..9e4b74cd799efc 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index a003c483bc7a19..64af4b75ca3405 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index e82fd28a18ca4f..8dad3d9cfc95f1 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-10-30 +date: 2023-11-06 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 72f98eb51ac775..8e01b31e45c888 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-10-30 +date: 2023-11-06 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 758dd725c9c8e4..7cb5c847c6d41e 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 3e0f1266d51ff9..e1ceca4d3534a1 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.devdocs.json b/api_docs/charts.devdocs.json index 0b8183ee946dca..613f12198c69b6 100644 --- a/api_docs/charts.devdocs.json +++ b/api_docs/charts.devdocs.json @@ -15,6 +15,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "ColorPickerProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "src/plugins/charts/public/static/components/index.ts", @@ -357,6 +365,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "LegendToggleProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "src/plugins/charts/public/static/components/index.ts", diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index d84bbdb25757ec..f8c5e5ac88bbed 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-10-30 +date: 2023-11-06 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 9647bb7eb15749..9b942f9eb6913d 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 02226114f2f606..aa415a3524ae81 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index c5c8592c4e821e..97fe4af1542ab1 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index d8cf5e54c61f09..6f66c9b80072f0 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-10-30 +date: 2023-11-06 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 82af6f595f3d10..53e1e75dabb5c5 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-10-30 +date: 2023-11-06 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 2e431b9effeffa..1c43d1a86ec769 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 7e8bc34988b143..bd5cf08a4e9e2d 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 14fddf0acfbd41..13b05427caf2e9 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 05a6ebfa7c57a9..615ebeb2329da2 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-10-30 +date: 2023-11-06 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 5e9f944af1925d..23ab6706443b1e 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-10-30 +date: 2023-11-06 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 4f39935a0edd8b..16bf8b156ab9e1 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-10-30 +date: 2023-11-06 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 893f44d9b139a7..77cfa0b7d09c84 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -8066,6 +8066,29 @@ "path": "src/plugins/data/common/search/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.IKibanaSearchResponse.requestParams", + "type": "Object", + "tags": [], + "label": "requestParams", + "description": [ + "\nHTTP request parameters from elasticsearch transport client t" + ], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SanitizedConnectionRequestParams", + "text": "SanitizedConnectionRequestParams" + }, + " | undefined" + ], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -12531,14 +12554,14 @@ "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/rule_form/entity_form.tsx" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/hooks/use_kibana_index_patterns.ts" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/plugin.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/hooks/use_kibana_index_patterns.ts" + }, { "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/list_control_factory.ts" @@ -12627,10 +12650,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/data/data_service.ts" }, - { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/threshold/expression.tsx" - }, { "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/common/components/stats_table/components/field_data_row/document_stats.tsx" @@ -12647,6 +12666,10 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/data_drift/charts/default_value_formatter.ts" }, + { + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/threshold/expression.tsx" + }, { "plugin": "expressionPartitionVis", "path": "src/plugins/chart_expressions/expression_partition_vis/public/utils/layers/get_color.test.ts" @@ -13359,14 +13382,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" @@ -19506,14 +19529,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 01e33e0c938172..6d4e212030ff5c 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3186 | 32 | 2537 | 22 | +| 3193 | 32 | 2542 | 22 | ## Client diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index acf7d5884e94bb..e64482bd4f09a0 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3186 | 32 | 2537 | 22 | +| 3193 | 32 | 2542 | 22 | ## Client diff --git a/api_docs/data_search.devdocs.json b/api_docs/data_search.devdocs.json index a4f3da06d4bd8e..231c59c5051c89 100644 --- a/api_docs/data_search.devdocs.json +++ b/api_docs/data_search.devdocs.json @@ -1197,7 +1197,15 @@ "section": "def-common.KibanaServerError", "text": "KibanaServerError" }, - "" + "<", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.IEsErrorAttributes", + "text": "IEsErrorAttributes" + }, + ">" ], "path": "src/plugins/data/public/search/errors/types.ts", "deprecated": false, @@ -27505,6 +27513,73 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.IEsErrorAttributes", + "type": "Interface", + "tags": [], + "label": "IEsErrorAttributes", + "description": [], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.IEsErrorAttributes.error", + "type": "CompoundType", + "tags": [], + "label": "error", + "description": [], + "signature": [ + "ErrorCause", + " | undefined" + ], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.IEsErrorAttributes.rawResponse", + "type": "Object", + "tags": [], + "label": "rawResponse", + "description": [], + "signature": [ + "SearchResponseBody", + "> | undefined" + ], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.IEsErrorAttributes.requestParams", + "type": "Object", + "tags": [], + "label": "requestParams", + "description": [], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SanitizedConnectionRequestParams", + "text": "SanitizedConnectionRequestParams" + }, + " | undefined" + ], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.IEsSearchRequest", @@ -27851,6 +27926,29 @@ "path": "src/plugins/data/common/search/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.IKibanaSearchResponse.requestParams", + "type": "Object", + "tags": [], + "label": "requestParams", + "description": [ + "\nHTTP request parameters from elasticsearch transport client t" + ], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SanitizedConnectionRequestParams", + "text": "SanitizedConnectionRequestParams" + }, + " | undefined" + ], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -34631,6 +34729,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.SanitizedConnectionRequestParams", + "type": "Type", + "tags": [], + "label": "SanitizedConnectionRequestParams", + "description": [], + "signature": [ + "{ path: string; method: string; querystring?: string | undefined; }" + ], + "path": "src/plugins/data/common/search/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.SEARCH_SESSION_TYPE", diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index c9d5664e4dd333..33e8535c35b2f6 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3186 | 32 | 2537 | 22 | +| 3193 | 32 | 2542 | 22 | ## Client diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 9ad095932eb2eb..61097b12f73af9 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-10-30 +date: 2023-11-06 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 8c8d602065e5c5..9010ea804d7fb4 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-10-30 +date: 2023-11-06 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 d48436e2b09161..aff472aab574b8 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-10-30 +date: 2023-11-06 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 f94efb6ef7d6ce..c4efdd100341f0 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -323,14 +323,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" @@ -6712,14 +6712,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" @@ -12140,14 +12140,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" - }, { "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index ba5771edf96f0c..6339f692f0fd80 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-10-30 +date: 2023-11-06 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 bbd7d6093d7714..e34fe763994e1f 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-10-30 +date: 2023-11-06 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 a4f897b735decc..8c0bd1f7aeda39 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -16,18 +16,18 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Referencing plugin(s) | Remove By | | ---------------|-----------|-----------| -| | stackAlerts, ml | - | +| | ml, stackAlerts | - | | | ruleRegistry, observability, ml, infra, monitoring, securitySolution, stackAlerts, synthetics, transform, uptime | - | -| | stackAlerts, alerting, securitySolution, inputControlVis | - | -| | stackAlerts, infra, graph, inputControlVis, securitySolution, savedObjects | - | -| | dashboard, stackAlerts, dataVisualizer, expressionPartitionVis | - | -| | stackAlerts, alerting, securitySolution, inputControlVis | - | | | home, data, esUiShared, savedObjectsManagement, exploratoryView, fleet, ml, apm, indexLifecycleManagement, observabilityOnboarding, synthetics, upgradeAssistant, uptime, ux, kibanaOverview | - | -| | share, uiActions, guidedOnboarding, home, serverless, management, spaces, savedObjects, indexManagement, visualizations, controls, dashboard, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, security, alerting, triggersActionsUi, cases, aiops, advancedSettings, exploratoryView, fleet, licenseManagement, maps, dataVisualizer, ml, infra, profiling, apm, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, crossClusterReplication, enterpriseSearch, globalSearchBar, graph, grokdebugger, indexLifecycleManagement, ingestPipelines, logstash, monitoring, observabilityOnboarding, osquery, devTools, painlessLab, remoteClusters, rollup, searchprofiler, newsfeed, securitySolution, snapshotRestore, synthetics, transform, upgradeAssistant, uptime, ux, watcher, cloudDataMigration, console, filesManagement, kibanaOverview, visDefaultEditor, expressionHeatmap, expressionLegacyMetricVis, expressionPartitionVis, expressionTagcloud, visTypeTable, visTypeTimelion, visTypeTimeseries, visTypeVega, visTypeVislib | - | +| | share, uiActions, guidedOnboarding, home, serverless, management, spaces, savedObjects, indexManagement, visualizations, controls, dashboard, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, security, alerting, triggersActionsUi, cases, aiops, advancedSettings, exploratoryView, fleet, metricsDataAccess, licenseManagement, maps, dataVisualizer, ml, profiling, apm, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, crossClusterReplication, enterpriseSearch, globalSearchBar, graph, grokdebugger, indexLifecycleManagement, infra, ingestPipelines, logstash, monitoring, observabilityOnboarding, osquery, devTools, painlessLab, remoteClusters, rollup, searchprofiler, newsfeed, securitySolution, snapshotRestore, synthetics, transform, upgradeAssistant, uptime, ux, watcher, cloudDataMigration, console, filesManagement, kibanaOverview, visDefaultEditor, expressionHeatmap, expressionLegacyMetricVis, expressionPartitionVis, expressionTagcloud, visTypeTable, visTypeTimelion, visTypeTimeseries, visTypeVega, visTypeVislib | - | | | encryptedSavedObjects, actions, data, ml, logstash, securitySolution, cloudChat | - | | | actions, ml, savedObjectsTagging, enterpriseSearch | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, visualizations, aiops, ml, dataVisualizer, dashboardEnhanced, graph, lens, securitySolution, eventAnnotation, @kbn/core-saved-objects-browser-mocks | - | | | @kbn/core, savedObjects, embeddable, visualizations, canvas, graph, ml, @kbn/core-saved-objects-common, @kbn/core-saved-objects-server, actions, alerting, savedSearch, enterpriseSearch, securitySolution, taskManager, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-server | - | +| | stackAlerts, alerting, securitySolution, inputControlVis | - | +| | stackAlerts, graph, infra, inputControlVis, securitySolution, savedObjects | - | +| | dashboard, dataVisualizer, stackAlerts, expressionPartitionVis | - | +| | stackAlerts, alerting, securitySolution, inputControlVis | - | | | observability, @kbn/securitysolution-data-table, securitySolution | - | | | monitoring | - | | | inspector, data, savedObjects, runtimeFields, indexManagement, dataViewEditor, unifiedSearch, embeddable, visualizations, controls, dashboard, licensing, savedObjectsTagging, dataViewFieldEditor, lens, security, triggersActionsUi, cases, observabilityShared, advancedSettings, exploratoryView, fleet, telemetry, maps, banners, reporting, timelines, cloudSecurityPosture, dashboardEnhanced, imageEmbeddable, graph, monitoring, securitySolution, synthetics, uptime, cloudLinks, console, dataViewManagement, eventAnnotationListing, filesManagement, uiActions, visTypeVislib | - | @@ -43,7 +43,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | securitySolution | - | | | securitySolution | - | | | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-api-server, @kbn/core, home, savedObjectsTagging, canvas, savedObjects, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-import-export-server-internal, savedObjectsTaggingOss, lists, securitySolution, upgradeAssistant, savedObjectsManagement, @kbn/core-ui-settings-server-internal | - | -| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, cases, savedObjectsTagging, savedSearch, canvas, graph, visualizations, lists, maps, securitySolution, dashboard, @kbn/core-test-helpers-so-type-serializer | - | +| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, cases, savedObjectsTagging, visualizations, savedSearch, canvas, graph, lists, maps, securitySolution, dashboard, @kbn/core-test-helpers-so-type-serializer | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | | | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | @@ -93,9 +93,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-root-browser-internal, @kbn/core-saved-objects-browser-mocks | - | | | @kbn/core-saved-objects-api-server-internal | - | | | @kbn/core-saved-objects-api-server-internal | - | -| | graph, visTypeTimeseries, dataViewManagement, dataViews | - | -| | graph, visTypeTimeseries, dataViewManagement, dataViews | - | -| | graph, visTypeTimeseries, dataViewManagement | - | +| | visTypeTimeseries, graph, dataViewManagement, dataViews | - | +| | visTypeTimeseries, graph, dataViewManagement, dataViews | - | +| | visTypeTimeseries, graph, dataViewManagement | - | | | visualizations, graph | - | | | @kbn/core, lens, savedObjects | - | | | dataViews, maps | - | @@ -183,7 +183,6 @@ Safe to remove. | | expressions | | | expressions | | | home | -| | kibanaReact | | | kibanaReact | | | kibanaReact | | | licensing | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 43b928ddc2a96d..4c718d7d2ebf4b 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -1096,6 +1096,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] +## metricsDataAccess + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [common_providers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/metrics_data_access/public/apps/common_providers.tsx#:~:text=KibanaThemeProvider), [common_providers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/metrics_data_access/public/apps/common_providers.tsx#:~:text=KibanaThemeProvider), [common_providers.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/metrics_data_access/public/apps/common_providers.tsx#:~:text=KibanaThemeProvider) | - | + + + ## ml | Deprecated API | Reference location(s) | Remove By | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 86341bbaff5c8c..577b7e77db3711 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index c433c4387f5ebe..02b9efb3d3f554 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.devdocs.json b/api_docs/discover.devdocs.json index 52a23675fb770b..5542d68c109d55 100644 --- a/api_docs/discover.devdocs.json +++ b/api_docs/discover.devdocs.json @@ -803,6 +803,163 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentActions", + "type": "Interface", + "tags": [], + "label": "FlyoutContentActions", + "description": [], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentActions.addFilter", + "type": "Function", + "tags": [], + "label": "addFilter", + "description": [], + "signature": [ + "DocViewFilterFn", + " | undefined" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentActions.addColumn", + "type": "Function", + "tags": [], + "label": "addColumn", + "description": [], + "signature": [ + "(column: string) => void" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentActions.addColumn.$1", + "type": "string", + "tags": [], + "label": "column", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentActions.removeColumn", + "type": "Function", + "tags": [], + "label": "removeColumn", + "description": [], + "signature": [ + "(column: string) => void" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentActions.removeColumn.$1", + "type": "string", + "tags": [], + "label": "column", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentProps", + "type": "Interface", + "tags": [], + "label": "FlyoutContentProps", + "description": [], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentProps.actions", + "type": "Object", + "tags": [], + "label": "actions", + "description": [], + "signature": [ + { + "pluginId": "discover", + "scope": "public", + "docId": "kibDiscoverPluginApi", + "section": "def-public.FlyoutContentActions", + "text": "FlyoutContentActions" + } + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentProps.doc", + "type": "Object", + "tags": [], + "label": "doc", + "description": [], + "signature": [ + "DataTableRecord" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "discover", + "id": "def-public.FlyoutContentProps.renderDefaultContent", + "type": "Function", + "tags": [], + "label": "renderDefaultContent", + "description": [], + "signature": [ + "() => React.ReactNode" + ], + "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "discover", "id": "def-public.FlyoutCustomization", @@ -855,7 +1012,13 @@ "description": [], "signature": [ "React.ComponentType<", - "FlyoutContentProps", + { + "pluginId": "discover", + "scope": "public", + "docId": "kibDiscoverPluginApi", + "section": "def-public.FlyoutContentProps", + "text": "FlyoutContentProps" + }, "> | undefined" ], "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 9b9dafae2d94a6..7252758b626118 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 120 | 0 | 77 | 19 | +| 130 | 0 | 87 | 18 | ## Client diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 4cdde823bd6d92..91447e765fb5f5 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 81a691ce8c51e9..707335457ed5fc 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 8468b63b750840..32fbc7c59a2c58 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index bd857df2dcf0ec..08416bccde75cb 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-10-30 +date: 2023-11-06 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 8d04c97b8617b3..424d5405407d29 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-10-30 +date: 2023-11-06 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 94f1973c311bdd..5d8c108d75bb43 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-10-30 +date: 2023-11-06 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 678c3b47d943be..c50f1c19eadabf 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-10-30 +date: 2023-11-06 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 16d2bc4cccf3a4..b8bf9d49359ec8 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.devdocs.json b/api_docs/event_annotation.devdocs.json index f107d3ee6c7689..c4f90f98b9a1a6 100644 --- a/api_docs/event_annotation.devdocs.json +++ b/api_docs/event_annotation.devdocs.json @@ -1209,7 +1209,7 @@ "signature": [ "{ item: ", "EventAnnotationGroupSavedObject", - "; meta: { outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" + "; meta: { outcome: \"exactMatch\" | \"aliasMatch\" | \"conflict\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" ], "path": "src/plugins/event_annotation/common/content_management/v1/types.ts", "deprecated": false, diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index dbb16abeeec100..a105a56a4c5f15 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 731bb76589a4b8..7f0f0442722c94 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index e5f861b138d6ae..5bf3b72044b7cf 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.devdocs.json b/api_docs/exploratory_view.devdocs.json index b90d911de10ede..299ed7b02041dd 100644 --- a/api_docs/exploratory_view.devdocs.json +++ b/api_docs/exploratory_view.devdocs.json @@ -1167,26 +1167,6 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "exploratoryView", - "id": "def-public.ExploratoryViewPublicPluginsStart.guidedOnboarding", - "type": "Object", - "tags": [], - "label": "guidedOnboarding", - "description": [], - "signature": [ - { - "pluginId": "guidedOnboarding", - "scope": "public", - "docId": "kibGuidedOnboardingPluginApi", - "section": "def-public.GuidedOnboardingPluginStart", - "text": "GuidedOnboardingPluginStart" - } - ], - "path": "x-pack/plugins/exploratory_view/public/plugin.ts", - "deprecated": false, - "trackAdoption": false - }, { "parentPluginId": "exploratoryView", "id": "def-public.ExploratoryViewPublicPluginsStart.lens", diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 0a43e932cf2c17..6d1adff608fc5b 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 132 | 1 | 132 | 14 | +| 131 | 1 | 131 | 14 | ## Client diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index cd01389523fb16..706729aa1e0be2 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-10-30 +date: 2023-11-06 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 6c9ff3ca1c0679..7bedc54897dad8 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 18e2b55dc20cf0..fda8ab295f2603 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index d1c2f9c001a9e0..7cbc0ff5432e8c 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index a546ecf448a773..168d406227f63a 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 71c52b2e8a0ca1..563e42b05111d6 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-10-30 +date: 2023-11-06 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 769f31d9c4053f..9fc401e24f307b 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-10-30 +date: 2023-11-06 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 65fe78ccb2fd8d..08b3ed7c62f2dd 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-10-30 +date: 2023-11-06 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 65e0cd4ed062aa..2026f1039a2596 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-10-30 +date: 2023-11-06 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 f48522e5f48488..0441e4071e63a8 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-10-30 +date: 2023-11-06 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 5ce32ac57e1b81..6470b347b3c48b 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-10-30 +date: 2023-11-06 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 f80348f80c25fd..9529fb800373d5 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-10-30 +date: 2023-11-06 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 4dd7b63ac58dcb..8a980a575c25fa 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.devdocs.json b/api_docs/expressions.devdocs.json index 9a55c35439d2ec..b22b81fce29c4d 100644 --- a/api_docs/expressions.devdocs.json +++ b/api_docs/expressions.devdocs.json @@ -3802,7 +3802,7 @@ "id": "def-public.ExpressionRenderHandler.Unnamed.$2", "type": "Object", "tags": [], - "label": "{\n onRenderError,\n renderMode,\n syncColors,\n syncTooltips,\n syncCursor,\n interactive,\n hasCompatibleActions = async () => false,\n getCompatibleCellValueActions = async () => [],\n executionContext,\n }", + "label": "{\n onRenderError,\n renderMode,\n syncColors,\n syncTooltips,\n syncCursor,\n interactive,\n hasCompatibleActions = async () => false,\n getCompatibleCellValueActions = async () => [],\n executionContext,\n shouldShowLegendAction,\n }", "description": [], "signature": [ "ExpressionRenderHandlerParams" @@ -7350,6 +7350,38 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExecutionContext.shouldShowLegendAction", + "type": "Function", + "tags": [], + "label": "shouldShowLegendAction", + "description": [], + "signature": [ + "((actionId: string) => boolean) | undefined" + ], + "path": "src/plugins/expressions/common/execution/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-public.ExecutionContext.shouldShowLegendAction.$1", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/expressions/common/execution/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -10980,6 +11012,38 @@ "path": "src/plugins/expressions/public/types/index.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.IExpressionLoaderParams.shouldShowLegendAction", + "type": "Function", + "tags": [], + "label": "shouldShowLegendAction", + "description": [], + "signature": [ + "((actionId: string) => boolean) | undefined" + ], + "path": "src/plugins/expressions/public/types/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-public.IExpressionLoaderParams.shouldShowLegendAction.$1", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/expressions/public/types/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -11362,6 +11426,38 @@ "trackAdoption": false, "children": [], "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.IInterpreterRenderHandlers.shouldShowLegendAction", + "type": "Function", + "tags": [], + "label": "shouldShowLegendAction", + "description": [], + "signature": [ + "((actionId: string) => boolean) | undefined" + ], + "path": "src/plugins/expressions/common/expression_renderers/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-public.IInterpreterRenderHandlers.shouldShowLegendAction.$1", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/expressions/common/expression_renderers/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -11705,6 +11801,38 @@ "path": "src/plugins/expressions/public/react_expression_renderer/react_expression_renderer.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.ReactExpressionRendererProps.shouldShowLegendAction", + "type": "Function", + "tags": [], + "label": "shouldShowLegendAction", + "description": [], + "signature": [ + "((actionId: string) => boolean) | undefined" + ], + "path": "src/plugins/expressions/public/react_expression_renderer/react_expression_renderer.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-public.ReactExpressionRendererProps.shouldShowLegendAction.$1", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/expressions/public/react_expression_renderer/react_expression_renderer.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -11925,7 +12053,7 @@ "\nThis type represents the `type` of any `DatatableColumn` in a `Datatable`.\nits duplicated from KBN_FIELD_TYPES" ], "signature": [ - "\"string\" | \"number\" | \"boolean\" | \"object\" | \"nested\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"date\" | \"murmur3\" | \"histogram\" | \"unknown\" | \"_source\" | \"attachment\" | \"conflict\" | \"null\"" + "\"string\" | \"number\" | \"boolean\" | \"object\" | \"nested\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"date\" | \"murmur3\" | \"histogram\" | \"conflict\" | \"unknown\" | \"_source\" | \"attachment\" | \"null\"" ], "path": "src/plugins/expressions/common/expression_types/specs/datatable.ts", "deprecated": false, @@ -18757,6 +18885,38 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-server.ExecutionContext.shouldShowLegendAction", + "type": "Function", + "tags": [], + "label": "shouldShowLegendAction", + "description": [], + "signature": [ + "((actionId: string) => boolean) | undefined" + ], + "path": "src/plugins/expressions/common/execution/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-server.ExecutionContext.shouldShowLegendAction.$1", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/expressions/common/execution/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -21406,6 +21566,38 @@ "trackAdoption": false, "children": [], "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-server.IInterpreterRenderHandlers.shouldShowLegendAction", + "type": "Function", + "tags": [], + "label": "shouldShowLegendAction", + "description": [], + "signature": [ + "((actionId: string) => boolean) | undefined" + ], + "path": "src/plugins/expressions/common/expression_renderers/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-server.IInterpreterRenderHandlers.shouldShowLegendAction.$1", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/expressions/common/expression_renderers/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -21833,7 +22025,7 @@ "\nThis type represents the `type` of any `DatatableColumn` in a `Datatable`.\nits duplicated from KBN_FIELD_TYPES" ], "signature": [ - "\"string\" | \"number\" | \"boolean\" | \"object\" | \"nested\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"date\" | \"murmur3\" | \"histogram\" | \"unknown\" | \"_source\" | \"attachment\" | \"conflict\" | \"null\"" + "\"string\" | \"number\" | \"boolean\" | \"object\" | \"nested\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"date\" | \"murmur3\" | \"histogram\" | \"conflict\" | \"unknown\" | \"_source\" | \"attachment\" | \"null\"" ], "path": "src/plugins/expressions/common/expression_types/specs/datatable.ts", "deprecated": false, @@ -30258,7 +30450,7 @@ "label": "type", "description": [], "signature": [ - "\"string\" | \"number\" | \"boolean\" | \"object\" | \"nested\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"date\" | \"murmur3\" | \"histogram\" | \"unknown\" | \"_source\" | \"attachment\" | \"conflict\" | \"null\"" + "\"string\" | \"number\" | \"boolean\" | \"object\" | \"nested\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"date\" | \"murmur3\" | \"histogram\" | \"conflict\" | \"unknown\" | \"_source\" | \"attachment\" | \"null\"" ], "path": "src/plugins/expressions/common/expression_types/specs/datatable.ts", "deprecated": false, @@ -30824,6 +31016,38 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-common.ExecutionContext.shouldShowLegendAction", + "type": "Function", + "tags": [], + "label": "shouldShowLegendAction", + "description": [], + "signature": [ + "((actionId: string) => boolean) | undefined" + ], + "path": "src/plugins/expressions/common/execution/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-common.ExecutionContext.shouldShowLegendAction.$1", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/expressions/common/execution/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -35698,6 +35922,38 @@ "trackAdoption": false, "children": [], "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-common.IInterpreterRenderHandlers.shouldShowLegendAction", + "type": "Function", + "tags": [], + "label": "shouldShowLegendAction", + "description": [], + "signature": [ + "((actionId: string) => boolean) | undefined" + ], + "path": "src/plugins/expressions/common/expression_renderers/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-common.IInterpreterRenderHandlers.shouldShowLegendAction.$1", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/expressions/common/expression_renderers/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -36540,7 +36796,7 @@ "\nThis type represents the `type` of any `DatatableColumn` in a `Datatable`.\nits duplicated from KBN_FIELD_TYPES" ], "signature": [ - "\"string\" | \"number\" | \"boolean\" | \"object\" | \"nested\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"date\" | \"murmur3\" | \"histogram\" | \"unknown\" | \"_source\" | \"attachment\" | \"conflict\" | \"null\"" + "\"string\" | \"number\" | \"boolean\" | \"object\" | \"nested\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"date\" | \"murmur3\" | \"histogram\" | \"conflict\" | \"unknown\" | \"_source\" | \"attachment\" | \"null\"" ], "path": "src/plugins/expressions/common/expression_types/specs/datatable.ts", "deprecated": false, diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index 147aea7624cc22..9101b0ca949e62 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2208 | 17 | 1749 | 5 | +| 2224 | 17 | 1765 | 5 | ## Client diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 8b5c0469a397fb..8575084e9822a2 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-10-30 +date: 2023-11-06 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 80a15632403c1c..f93667bc72e74a 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-10-30 +date: 2023-11-06 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 658d36c32b613b..c42ddd31012bf9 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-10-30 +date: 2023-11-06 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 e2bda4d7c54503..aa07659af92c1e 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index b90b9e2dfc5bdc..59b3abf319cf5d 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.devdocs.json b/api_docs/fleet.devdocs.json index fd706a0787873e..2fae327702d1cf 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -782,7 +782,8 @@ "docId": "kibGuidedOnboardingPluginApi", "section": "def-public.GuidedOnboardingPluginStart", "text": "GuidedOnboardingPluginStart" - } + }, + " | undefined" ], "path": "x-pack/plugins/fleet/public/plugin.ts", "deprecated": false, @@ -24999,6 +25000,8 @@ "signature": [ "NewElasticsearchOutput", " | ", + "NewRemoteElasticsearchOutput", + " | ", "NewLogstashOutput", " | ", "KafkaOutput" diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 73debf02781ce8..be0bce30ed9121 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1209 | 3 | 1091 | 44 | +| 1209 | 3 | 1091 | 45 | ## Client diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 24bcdd85039951..58feafb9b8d5f5 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-10-30 +date: 2023-11-06 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 e306f683c6e415..3c921000c98dc7 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-10-30 +date: 2023-11-06 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 a40057a7e49a5e..1bfc0dd5b7f3fd 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 8f0ea0d827ea2b..2734c236ce8776 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 79fcfcca2867fa..744f652ec8a38b 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.devdocs.json b/api_docs/index_management.devdocs.json index 4eca4cc05eb090..31a67dfc57094a 100644 --- a/api_docs/index_management.devdocs.json +++ b/api_docs/index_management.devdocs.json @@ -218,12 +218,13 @@ { "parentPluginId": "indexManagement", "id": "def-public.Index.ilm", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "ilm", "description": [], "signature": [ - "{ index: string; managed: boolean; } | undefined" + "IlmExplainLifecycleLifecycleExplain", + " | undefined" ], "path": "x-pack/plugins/index_management/common/types/indices.ts", "deprecated": false, @@ -588,12 +589,13 @@ { "parentPluginId": "indexManagement", "id": "def-server.Index.ilm", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "ilm", "description": [], "signature": [ - "{ index: string; managed: boolean; } | undefined" + "IlmExplainLifecycleLifecycleExplain", + " | undefined" ], "path": "x-pack/plugins/index_management/common/types/indices.ts", "deprecated": false, @@ -1523,6 +1525,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "indexManagement", + "id": "def-common.DataStream.nextGenerationManagedBy", + "type": "string", + "tags": [], + "label": "nextGenerationManagedBy", + "description": [], + "path": "x-pack/plugins/index_management/common/types/data_streams.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "indexManagement", "id": "def-common.DataStream.lifecycle", @@ -1574,6 +1587,28 @@ "path": "x-pack/plugins/index_management/common/types/data_streams.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "indexManagement", + "id": "def-common.DataStreamIndex.preferILM", + "type": "boolean", + "tags": [], + "label": "preferILM", + "description": [], + "path": "x-pack/plugins/index_management/common/types/data_streams.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "indexManagement", + "id": "def-common.DataStreamIndex.managedBy", + "type": "string", + "tags": [], + "label": "managedBy", + "description": [], + "path": "x-pack/plugins/index_management/common/types/data_streams.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -1643,6 +1678,32 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "indexManagement", + "id": "def-common.EnhancedDataStreamFromEs.indices", + "type": "Array", + "tags": [], + "label": "indices", + "description": [], + "signature": [ + "DataStreamIndexFromEs", + "[]" + ], + "path": "x-pack/plugins/index_management/common/types/data_streams.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "indexManagement", + "id": "def-common.EnhancedDataStreamFromEs.next_generation_managed_by", + "type": "string", + "tags": [], + "label": "next_generation_managed_by", + "description": [], + "path": "x-pack/plugins/index_management/common/types/data_streams.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "indexManagement", "id": "def-common.EnhancedDataStreamFromEs.privileges", @@ -1880,12 +1941,13 @@ { "parentPluginId": "indexManagement", "id": "def-common.Index.ilm", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "ilm", "description": [], "signature": [ - "{ index: string; managed: boolean; } | undefined" + "IlmExplainLifecycleLifecycleExplain", + " | undefined" ], "path": "x-pack/plugins/index_management/common/types/indices.ts", "deprecated": false, diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 7f51f3fac8ad1b..105073de1a0edb 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/platform-deployment-management](https://github.com/orgs/elasti | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 199 | 0 | 194 | 3 | +| 204 | 0 | 199 | 4 | ## Client diff --git a/api_docs/infra.devdocs.json b/api_docs/infra.devdocs.json index 3c6703fd87f83b..7bd53f61bf8b71 100644 --- a/api_docs/infra.devdocs.json +++ b/api_docs/infra.devdocs.json @@ -18,23 +18,7 @@ "initialIsOpen": false } ], - "misc": [ - { - "parentPluginId": "infra", - "id": "def-public.InfraAppId", - "type": "Type", - "tags": [], - "label": "InfraAppId", - "description": [], - "signature": [ - "\"metrics\" | \"logs\"" - ], - "path": "x-pack/plugins/infra/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], + "misc": [], "objects": [ { "parentPluginId": "infra", @@ -292,123 +276,6 @@ "path": "x-pack/plugins/infra/public/types.ts", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "infra", - "id": "def-public.InfraClientStartExports.ContainerMetricsTable", - "type": "Function", - "tags": [], - "label": "ContainerMetricsTable", - "description": [], - "signature": [ - "(props: ", - "UseNodeMetricsTableOptions", - " & Partial<", - "SourceProviderProps", - ">) => JSX.Element" - ], - "path": "x-pack/plugins/infra/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "infra", - "id": "def-public.InfraClientStartExports.ContainerMetricsTable.$1", - "type": "CompoundType", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "UseNodeMetricsTableOptions", - " & Partial<", - "SourceProviderProps", - ">" - ], - "path": "x-pack/plugins/infra/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "infra", - "id": "def-public.InfraClientStartExports.HostMetricsTable", - "type": "Function", - "tags": [], - "label": "HostMetricsTable", - "description": [], - "signature": [ - "(props: ", - "UseNodeMetricsTableOptions", - " & Partial<", - "SourceProviderProps", - ">) => JSX.Element" - ], - "path": "x-pack/plugins/infra/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "infra", - "id": "def-public.InfraClientStartExports.HostMetricsTable.$1", - "type": "CompoundType", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "UseNodeMetricsTableOptions", - " & Partial<", - "SourceProviderProps", - ">" - ], - "path": "x-pack/plugins/infra/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "infra", - "id": "def-public.InfraClientStartExports.PodMetricsTable", - "type": "Function", - "tags": [], - "label": "PodMetricsTable", - "description": [], - "signature": [ - "(props: ", - "UseNodeMetricsTableOptions", - " & Partial<", - "SourceProviderProps", - ">) => JSX.Element" - ], - "path": "x-pack/plugins/infra/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "infra", - "id": "def-public.InfraClientStartExports.PodMetricsTable.$1", - "type": "CompoundType", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "UseNodeMetricsTableOptions", - " & Partial<", - "SourceProviderProps", - ">" - ], - "path": "x-pack/plugins/infra/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] } ], "lifecycle": "start", diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index f551e67e7c2eb2..e2d6b0a17b2d32 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/inf | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 42 | 0 | 39 | 11 | +| 35 | 0 | 32 | 9 | ## Client @@ -34,9 +34,6 @@ Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/inf ### Enums -### Consts, variables and types - - ## Server ### Setup diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 720c35e4a6322e..f5b95a12be7a64 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-10-30 +date: 2023-11-06 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 0d61903f2b5207..6799b154e370c7 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-10-30 +date: 2023-11-06 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 06a149e4f9a68b..c177610fdd83c2 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-10-30 +date: 2023-11-06 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 cb481fd48aee74..3e0ff4b68b7b7f 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-10-30 +date: 2023-11-06 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 b04f8b3ef4abbd..3d2951d200b868 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 88ef052d8e29eb..d0de2139c489a2 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 23f3bb5dcdc451..39ba0c1e81f565 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index da71ce7dfbaa00..4bed011702fc59 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 2a049d585b7f72..7e32c52afcb276 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 00395ebb47e607..74b3efc22e7a8e 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-10-30 +date: 2023-11-06 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 f6397f0d7d0e87..b6c69aec07ca3a 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -739,16 +739,16 @@ "path": "x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts" }, { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + "plugin": "apm", + "path": "x-pack/plugins/apm/public/services/telemetry/telemetry_client.ts" }, { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + "plugin": "globalSearchBar", + "path": "x-pack/plugins/global_search_bar/public/telemetry/event_reporter.ts" }, { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + "plugin": "globalSearchBar", + "path": "x-pack/plugins/global_search_bar/public/telemetry/event_reporter.ts" }, { "plugin": "infra", @@ -767,16 +767,16 @@ "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" }, { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/services/telemetry/telemetry_client.ts" + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" }, { - "plugin": "globalSearchBar", - "path": "x-pack/plugins/global_search_bar/public/telemetry/event_reporter.ts" + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" }, { - "plugin": "globalSearchBar", - "path": "x-pack/plugins/global_search_bar/public/telemetry/event_reporter.ts" + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" }, { "plugin": "osquery", @@ -1066,6 +1066,14 @@ "plugin": "@kbn/core-analytics-browser-internal", "path": "packages/core/analytics/core-analytics-browser-internal/src/track_clicks.test.ts" }, + { + "plugin": "@kbn/core-analytics-browser-internal", + "path": "packages/core/analytics/core-analytics-browser-internal/src/track_clicks.test.ts" + }, + { + "plugin": "@kbn/core-analytics-browser-internal", + "path": "packages/core/analytics/core-analytics-browser-internal/src/track_clicks.test.ts" + }, { "plugin": "@kbn/core-analytics-browser-internal", "path": "packages/core/analytics/core-analytics-browser-internal/src/track_viewport_size.test.ts" diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index fe17a6acbe4b53..f0f34d0731023f 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-10-30 +date: 2023-11-06 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 9e24ca9f836e92..31ed3e86131847 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 caa7606acd5356..f4a9d738c96585 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-10-30 +date: 2023-11-06 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 f85d3b4fbfdf71..1b060b7a102844 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-10-30 +date: 2023-11-06 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 1bb53aa5145664..15fd05c72af467 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-10-30 +date: 2023-11-06 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 e2d101fa2d8a0a..6dbdf4a26208b5 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-10-30 +date: 2023-11-06 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 e537392cac8aec..2eef15fe62da19 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-10-30 +date: 2023-11-06 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 797c771387bd7a..421eaed8682b7d 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 406d7c1f08d5ed..d280ab55a1949f 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index cff634b466c868..8f39485b88c412 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-10-30 +date: 2023-11-06 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 0494f90df5c730..658beedbd07611 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-10-30 +date: 2023-11-06 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 bcf75d475b8d00..47a56e98e92cde 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index ec4d16fb32737e..49ee824435f6f5 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 4a4f623de80309..d503a695a016c6 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index cf7787d54c791e..46ff976627a942 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-10-30 +date: 2023-11-06 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 ade31cdd7b5c7b..c46cce68d0aea1 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-10-30 +date: 2023-11-06 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 b77caf5b151062..9e5f134b25ed3e 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-10-30 +date: 2023-11-06 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 af595436e19ff6..f8e34e1e87ae89 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-10-30 +date: 2023-11-06 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 f390193bf64bb1..c6288c9d1936f4 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.devdocs.json b/api_docs/kbn_code_editor.devdocs.json index eea9517c0bb230..60e213c0c2768f 100644 --- a/api_docs/kbn_code_editor.devdocs.json +++ b/api_docs/kbn_code_editor.devdocs.json @@ -28,10 +28,16 @@ "description": [], "signature": [ "({ languageId, value, onChange, width, height, options, overrideEditorWillMount, editorDidMount, editorWillMount, useDarkTheme: useDarkThemeProp, transparentBackground, suggestionProvider, signatureProvider, hoverProvider, placeholder, languageConfiguration, \"aria-label\": ariaLabel, isCopyable, allowFullScreen, }: React.PropsWithChildren<", - "Props", + { + "pluginId": "@kbn/code-editor", + "scope": "common", + "docId": "kibKbnCodeEditorPluginApi", + "section": "def-common.CodeEditorProps", + "text": "CodeEditorProps" + }, ">) => JSX.Element" ], - "path": "packages/shared-ux/code_editor/impl/code_editor.tsx", + "path": "packages/shared-ux/code_editor/code_editor.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -40,14 +46,20 @@ "id": "def-common.CodeEditor.$1", "type": "CompoundType", "tags": [], - "label": "{\n languageId,\n value,\n onChange,\n width,\n height = '100px',\n options,\n overrideEditorWillMount,\n editorDidMount,\n editorWillMount,\n useDarkTheme: useDarkThemeProp,\n transparentBackground,\n suggestionProvider,\n signatureProvider,\n hoverProvider,\n placeholder,\n languageConfiguration,\n 'aria-label': ariaLabel = i18n.translate('sharedUXPackages.codeEditor.ariaLabel', {\n defaultMessage: 'Code Editor',\n }),\n isCopyable = false,\n allowFullScreen = false,\n}", + "label": "{\n languageId,\n value,\n onChange,\n width,\n height,\n options,\n overrideEditorWillMount,\n editorDidMount,\n editorWillMount,\n useDarkTheme: useDarkThemeProp,\n transparentBackground,\n suggestionProvider,\n signatureProvider,\n hoverProvider,\n placeholder,\n languageConfiguration,\n 'aria-label': ariaLabel = i18n.translate('sharedUXPackages.codeEditor.ariaLabel', {\n defaultMessage: 'Code Editor',\n }),\n isCopyable = false,\n allowFullScreen = false,\n}", "description": [], "signature": [ "React.PropsWithChildren<", - "Props", + { + "pluginId": "@kbn/code-editor", + "scope": "common", + "docId": "kibKbnCodeEditorPluginApi", + "section": "def-common.CodeEditorProps", + "text": "CodeEditorProps" + }, ">" ], - "path": "packages/shared-ux/code_editor/impl/code_editor.tsx", + "path": "packages/shared-ux/code_editor/code_editor.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -57,7 +69,396 @@ "initialIsOpen": false } ], - "interfaces": [], + "interfaces": [ + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps", + "type": "Interface", + "tags": [], + "label": "CodeEditorProps", + "description": [], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.width", + "type": "CompoundType", + "tags": [], + "label": "width", + "description": [ + "Width of editor. Defaults to 100%." + ], + "signature": [ + "string | number | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.height", + "type": "CompoundType", + "tags": [], + "label": "height", + "description": [ + "Height of editor. Defaults to 100px." + ], + "signature": [ + "string | number | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.languageId", + "type": "string", + "tags": [], + "label": "languageId", + "description": [ + "ID of the editor language" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.value", + "type": "string", + "tags": [], + "label": "value", + "description": [ + "Value of the editor" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.onChange", + "type": "Function", + "tags": [], + "label": "onChange", + "description": [ + "Function invoked when text in editor is changed" + ], + "signature": [ + "((value: string, event: ", + "editor", + ".IModelContentChangedEvent) => void) | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.onChange.$1", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "string" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.onChange.$2", + "type": "Object", + "tags": [], + "label": "event", + "description": [], + "signature": [ + "editor", + ".IModelContentChangedEvent" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.options", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "\nOptions for the Monaco Code Editor\nDocumentation of options can be found here:\nhttps://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.istandaloneeditorconstructionoptions.html" + ], + "signature": [ + "editor", + ".IStandaloneEditorConstructionOptions | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.suggestionProvider", + "type": "Object", + "tags": [], + "label": "suggestionProvider", + "description": [ + "\nSuggestion provider for autocompletion\nDocumentation for the provider can be found here:\nhttps://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.completionitemprovider.html" + ], + "signature": [ + "languages", + ".CompletionItemProvider | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.signatureProvider", + "type": "Object", + "tags": [], + "label": "signatureProvider", + "description": [ + "\nSignature provider for function parameter info\nDocumentation for the provider can be found here:\nhttps://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.signaturehelpprovider.html" + ], + "signature": [ + "languages", + ".SignatureHelpProvider | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.hoverProvider", + "type": "Object", + "tags": [], + "label": "hoverProvider", + "description": [ + "\nHover provider for hover documentation\nDocumentation for the provider can be found here:\nhttps://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.hoverprovider.html" + ], + "signature": [ + "languages", + ".HoverProvider | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.languageConfiguration", + "type": "Object", + "tags": [], + "label": "languageConfiguration", + "description": [ + "\nLanguage config provider for bracket\nDocumentation for the provider can be found here:\nhttps://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.languageconfiguration.html" + ], + "signature": [ + "languages", + ".LanguageConfiguration | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.editorWillMount", + "type": "Function", + "tags": [], + "label": "editorWillMount", + "description": [ + "\nFunction called before the editor is mounted in the view" + ], + "signature": [ + "(() => void) | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.overrideEditorWillMount", + "type": "Function", + "tags": [], + "label": "overrideEditorWillMount", + "description": [ + "\nFunction called before the editor is mounted in the view\nand completely replaces the setup behavior called by the component" + ], + "signature": [ + "(() => void) | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.editorDidMount", + "type": "Function", + "tags": [], + "label": "editorDidMount", + "description": [ + "\nFunction called after the editor is mounted in the view" + ], + "signature": [ + "((editor: ", + "editor", + ".IStandaloneCodeEditor) => void) | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.editorDidMount.$1", + "type": "Object", + "tags": [], + "label": "editor", + "description": [], + "signature": [ + "editor", + ".IStandaloneCodeEditor" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.useDarkTheme", + "type": "CompoundType", + "tags": [], + "label": "useDarkTheme", + "description": [ + "\nShould the editor use the dark theme" + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.transparentBackground", + "type": "CompoundType", + "tags": [], + "label": "transparentBackground", + "description": [ + "\nShould the editor use a transparent background" + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.fullWidth", + "type": "CompoundType", + "tags": [], + "label": "fullWidth", + "description": [ + "\nShould the editor be rendered using the fullWidth EUI attribute" + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.placeholder", + "type": "string", + "tags": [], + "label": "placeholder", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.arialabel", + "type": "string", + "tags": [], + "label": "'aria-label'", + "description": [ + "\nAccessible name for the editor. (Defaults to \"Code editor\")" + ], + "signature": [ + "string | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.isCopyable", + "type": "CompoundType", + "tags": [], + "label": "isCopyable", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.allowFullScreen", + "type": "CompoundType", + "tags": [], + "label": "allowFullScreen", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/shared-ux/code_editor/code_editor.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], "enums": [], "misc": [], "objects": [] diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 7b90958d46af24..369e529d75cccf 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; @@ -21,10 +21,13 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2 | 0 | 2 | 1 | +| 26 | 0 | 9 | 0 | ## Common ### Functions +### Interfaces + + diff --git a/api_docs/kbn_code_editor_mocks.devdocs.json b/api_docs/kbn_code_editor_mocks.devdocs.json deleted file mode 100644 index 2884aefd25afc1..00000000000000 --- a/api_docs/kbn_code_editor_mocks.devdocs.json +++ /dev/null @@ -1,499 +0,0 @@ -{ - "id": "@kbn/code-editor-mocks", - "client": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "server": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "common": { - "classes": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock", - "type": "Class", - "tags": [], - "label": "CodeEditorStorybookMock", - "description": [ - "\nStorybook mock for the `CodeEditor` component" - ], - "signature": [ - { - "pluginId": "@kbn/code-editor-mocks", - "scope": "common", - "docId": "kibKbnCodeEditorMocksPluginApi", - "section": "def-common.CodeEditorStorybookMock", - "text": "CodeEditorStorybookMock" - }, - " extends ", - { - "pluginId": "@kbn/shared-ux-storybook-mock", - "scope": "common", - "docId": "kibKbnSharedUxStorybookMockPluginApi", - "section": "def-common.AbstractStorybookMock", - "text": "AbstractStorybookMock" - }, - "<", - "Props", - ", {}, PropArguments, {}>" - ], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments", - "type": "Object", - "tags": [], - "label": "propArguments", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.languageId", - "type": "Object", - "tags": [], - "label": "languageId", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.languageId.control", - "type": "Object", - "tags": [], - "label": "control", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.languageId.control.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.languageId.options", - "type": "Array", - "tags": [], - "label": "options", - "description": [], - "signature": [ - "string[]" - ], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.languageId.defaultValue", - "type": "string", - "tags": [], - "label": "defaultValue", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.value", - "type": "Object", - "tags": [], - "label": "value", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.value.control", - "type": "Object", - "tags": [], - "label": "control", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.value.control.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.value.defaultValue", - "type": "string", - "tags": [], - "label": "defaultValue", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.arialabel", - "type": "Object", - "tags": [], - "label": "'aria-label'", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.arialabel.control", - "type": "Object", - "tags": [], - "label": "control", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.arialabel.control.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.arialabel.defaultValue", - "type": "string", - "tags": [], - "label": "defaultValue", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.allowFullScreen", - "type": "Object", - "tags": [], - "label": "allowFullScreen", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.allowFullScreen.control", - "type": "Object", - "tags": [], - "label": "control", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.allowFullScreen.control.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.allowFullScreen.defaultValue", - "type": "boolean", - "tags": [], - "label": "defaultValue", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.transparentBackground", - "type": "Object", - "tags": [], - "label": "transparentBackground", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.transparentBackground.control", - "type": "Object", - "tags": [], - "label": "control", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.transparentBackground.control.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.transparentBackground.defaultValue", - "type": "boolean", - "tags": [], - "label": "defaultValue", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.placeholder", - "type": "Object", - "tags": [], - "label": "placeholder", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.placeholder.control", - "type": "Object", - "tags": [], - "label": "control", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.placeholder.control.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.propArguments.placeholder.defaultValue", - "type": "string", - "tags": [], - "label": "defaultValue", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.serviceArguments", - "type": "Object", - "tags": [], - "label": "serviceArguments", - "description": [], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.dependencies", - "type": "Array", - "tags": [], - "label": "dependencies", - "description": [], - "signature": [ - "never[]" - ], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.getProps", - "type": "Function", - "tags": [], - "label": "getProps", - "description": [], - "signature": [ - "(params?: ", - { - "pluginId": "@kbn/code-editor-mocks", - "scope": "common", - "docId": "kibKbnCodeEditorMocksPluginApi", - "section": "def-common.Params", - "text": "Params" - }, - " | undefined) => ", - "Props" - ], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.getProps.$1", - "type": "Object", - "tags": [], - "label": "params", - "description": [], - "signature": [ - { - "pluginId": "@kbn/code-editor-mocks", - "scope": "common", - "docId": "kibKbnCodeEditorMocksPluginApi", - "section": "def-common.Params", - "text": "Params" - }, - " | undefined" - ], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.CodeEditorStorybookMock.getServices", - "type": "Function", - "tags": [], - "label": "getServices", - "description": [], - "signature": [ - "() => { width?: string | number | undefined; height?: string | number | undefined; languageId: enum; value: string; onChange?: ((value: string, event: ", - "editor", - ".IModelContentChangedEvent) => void) | undefined; options?: ", - "editor", - ".IStandaloneEditorConstructionOptions | undefined; suggestionProvider?: ", - "languages", - ".CompletionItemProvider | undefined; signatureProvider?: ", - "languages", - ".SignatureHelpProvider | undefined; hoverProvider?: ", - "languages", - ".HoverProvider | undefined; languageConfiguration?: ", - "languages", - ".LanguageConfiguration | undefined; editorWillMount?: (() => void) | undefined; overrideEditorWillMount?: (() => void) | undefined; editorDidMount?: ((editor: ", - "editor", - ".IStandaloneCodeEditor) => void) | undefined; useDarkTheme?: boolean | undefined; transparentBackground?: boolean | undefined; fullWidth?: boolean | undefined; placeholder?: string | undefined; 'aria-label'?: string | undefined; isCopyable?: boolean | undefined; allowFullScreen?: boolean | undefined; }" - ], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - } - ], - "initialIsOpen": false - } - ], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [ - { - "parentPluginId": "@kbn/code-editor-mocks", - "id": "def-common.Params", - "type": "Type", - "tags": [], - "label": "Params", - "description": [], - "signature": [ - "{ value: any; placeholder: any; \"aria-label\": any; allowFullScreen: any; languageId: any; transparentBackground: any; }" - ], - "path": "packages/shared-ux/code_editor/mocks/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "objects": [] - } -} \ No newline at end of file diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx deleted file mode 100644 index 4d8171a9cb8da2..00000000000000 --- a/api_docs/kbn_code_editor_mocks.mdx +++ /dev/null @@ -1,33 +0,0 @@ ---- -#### -#### 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: kibKbnCodeEditorMocksPluginApi -slug: /kibana-dev-docs/api/kbn-code-editor-mocks -title: "@kbn/code-editor-mocks" -image: https://source.unsplash.com/400x175/?github -description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-10-30 -tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] ---- -import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; - - - -Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) for questions regarding this plugin. - -**Code health stats** - -| Public API count | Any count | Items lacking comments | Missing exports | -|-------------------|-----------|------------------------|-----------------| -| 33 | 0 | 32 | 0 | - -## Common - -### Classes - - -### Consts, variables and types - - diff --git a/api_docs/kbn_coloring.devdocs.json b/api_docs/kbn_coloring.devdocs.json index 22b0920bc0b2ae..b0529f8c101791 100644 --- a/api_docs/kbn_coloring.devdocs.json +++ b/api_docs/kbn_coloring.devdocs.json @@ -317,6 +317,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "CustomizablePaletteProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "packages/kbn-coloring/src/shared_components/index.ts", diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 3af883ca4ad7c1..36f7869a6d2150 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-10-30 +date: 2023-11-06 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 6c996c5fded78d..6afd61e48b6af0 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-10-30 +date: 2023-11-06 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 29b858288fb433..2553f43b2a0353 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 60c2e15fd83d37..01ef02eb21df10 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 3e442470b5653a..4862101cab8c6a 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index cad94402ff99e5..8e891ed675ea1e 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 6a2256ca698732..763bfc7126ce63 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 3d8f0c3ed9c191..b9cddc067a278e 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.devdocs.json b/api_docs/kbn_content_management_utils.devdocs.json index 4225db663ec832..f1747bda3db863 100644 --- a/api_docs/kbn_content_management_utils.devdocs.json +++ b/api_docs/kbn_content_management_utils.devdocs.json @@ -763,7 +763,7 @@ "section": "def-common.Type", "text": "Type" }, - "<\"conflict\" | \"exactMatch\" | \"aliasMatch\">; aliasTargetId: ", + "<\"exactMatch\" | \"aliasMatch\" | \"conflict\">; aliasTargetId: ", { "pluginId": "@kbn/config-schema", "scope": "common", @@ -1282,7 +1282,7 @@ "section": "def-common.SOWithMetadata", "text": "SOWithMetadata" }, - "; meta: { outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" + "; meta: { outcome: \"exactMatch\" | \"aliasMatch\" | \"conflict\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" ], "path": "packages/kbn-content-management-utils/src/types.ts", "deprecated": false, @@ -1709,7 +1709,7 @@ "section": "def-common.SOWithMetadata", "text": "SOWithMetadata" }, - "; meta: { outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" + "; meta: { outcome: \"exactMatch\" | \"aliasMatch\" | \"conflict\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" ], "path": "packages/kbn-content-management-utils/src/types.ts", "deprecated": false, @@ -3149,7 +3149,7 @@ "Return value for Saved Object get, T is item returned" ], "signature": [ - "{ item: T; meta: { outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" + "{ item: T; meta: { outcome: \"exactMatch\" | \"aliasMatch\" | \"conflict\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" ], "path": "packages/kbn-content-management-utils/src/types.ts", "deprecated": false, diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 9c783b9a72f164..7ad87dbdb78e88 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index e89b0d509b6c5b..50cb401912b7f1 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 e0c29ded3d007c..f987215712db14 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 c48947c57ca022..15d293cdced1f6 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 fe0cbc864deccb..d5ee486ab7bb83 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-10-30 +date: 2023-11-06 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 1441a038c1bf83..3b28fab527c553 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 e564d1e31b034c..99b4d9ae0c1c91 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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.devdocs.json b/api_docs/kbn_core_application_browser.devdocs.json index 397da8c0fedff2..97cd71454637e0 100644 --- a/api_docs/kbn_core_application_browser.devdocs.json +++ b/api_docs/kbn_core_application_browser.devdocs.json @@ -401,9 +401,7 @@ "\nReturns a confirm action, resulting on prompting a message to the user before leaving the\napplication, allowing him to choose if he wants to stay on the app or confirm that he\nwants to leave.\n" ], "signature": [ - "(text: string, title?: string | undefined, callback?: (() => void) | undefined, confirmButtonText?: string | undefined, buttonColor?: ", - "EuiButtonColor", - " | undefined) => ", + "(text: string, title?: string | undefined, callback?: (() => void) | undefined, confirmButtonText?: string | undefined, buttonColor?: \"text\" | \"warning\" | \"success\" | \"primary\" | \"accent\" | \"danger\" | undefined) => ", { "pluginId": "@kbn/core-application-browser", "scope": "common", @@ -494,8 +492,7 @@ "(optional) color for the confirmation button\nso we can show to the user the right UX for him to saved his/her/their changes" ], "signature": [ - "EuiButtonColor", - " | undefined" + "\"text\" | \"warning\" | \"success\" | \"primary\" | \"accent\" | \"danger\" | undefined" ], "path": "packages/core/application/core-application-browser/src/app_leave.ts", "deprecated": false, @@ -614,8 +611,7 @@ "label": "buttonColor", "description": [], "signature": [ - "EuiButtonColor", - " | undefined" + "\"text\" | \"warning\" | \"success\" | \"primary\" | \"accent\" | \"danger\" | undefined" ], "path": "packages/core/application/core-application-browser/src/app_leave.ts", "deprecated": false, diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index b663184a3015dc..0272b938db618a 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 dc3d73fe403625..91df4b31c1f454 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 66cc933530d800..9109af1c2de31e 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 8dd3efa35f1b1e..f09b7b6b97ed3c 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-10-30 +date: 2023-11-06 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 46efbf2f78a5a3..558d86e5e87e01 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 33daf47869838e..552085f579f791 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 4d39c1f75a2b57..462e9a103764bc 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 87c72edb379c77..0984ec76c036be 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 20619d398105ab..f4bd6d661a4017 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-10-30 +date: 2023-11-06 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 23268503d2d240..19a60fc50cf6b2 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 2e0fe4c80ec185..f47c6f3abbb5c0 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 89755d0831ebae..6057a27f595335 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 e2d0093df2db8f..9dce02a084a069 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-10-30 +date: 2023-11-06 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 8a509df7a0554d..ca7fb6f6c4bbb9 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-10-30 +date: 2023-11-06 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 5bc34f346f3bab..91c480e8852685 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 e3f2a9229e7ca4..a4caf2d78ea59f 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 b4082e8a1ece91..62ddfb2070c782 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 3418e6c59964f5..5e3ccb69708d6e 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index bc8e518319ed8d..a90f96336170db 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index 9b1d88c663bbe4..1837c128252d8d 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index 3a24611a94774d..5495242f088e07 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 1d84e0df20dce4..5f559ead82f4cd 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 826840450eb6de..399a0eceeed08d 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 0d1ed6e1d863de..e96d80a7446449 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 312c9e893804d9..da2649b65ceb7f 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 92065b8fb59276..245ee4f0fe1491 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 6e615237ed389d..7b3141de682914 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 ca041503318dba..3dd7106dd07b0b 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 9bb70fd98070e0..e849f2219e491e 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-10-30 +date: 2023-11-06 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 dae5d5a5b83542..b7a6c72b501d86 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-10-30 +date: 2023-11-06 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 a0d107b9f4a77d..1298b7838451af 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 dc18be90b155f3..420a00e540ad98 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 4869c84623ffa9..65d22bc086fe13 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 bdd29273932b15..b8819cbcc3dd83 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 8f20c1a3fcb9cc..b4e8a1c06258bf 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-10-30 +date: 2023-11-06 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 628cc422f7bc88..910644fdf66348 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 463e7f84e0d857..2096d61895acbe 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 e24a754901533f..5b4423af4a777d 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 e4faae5b07fee6..be801bd6bacf1e 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-10-30 +date: 2023-11-06 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.devdocs.json b/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json index 7344fb27e66599..ddc738b65660a6 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json @@ -27,7 +27,7 @@ "label": "isInlineScriptingEnabled", "description": [], "signature": [ - "({ client, }: { client: ", + "({ client, maxRetries, maxRetryDelay, }: { client: ", { "pluginId": "@kbn/core-elasticsearch-server", "scope": "common", @@ -35,7 +35,7 @@ "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, - "; }) => Promise" + "; maxRetries?: number | undefined; maxRetryDelay?: number | undefined; }) => Promise" ], "path": "packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts", "deprecated": false, @@ -46,7 +46,7 @@ "id": "def-common.isInlineScriptingEnabled.$1", "type": "Object", "tags": [], - "label": "{\n client,\n}", + "label": "{\n client,\n maxRetries = 20,\n maxRetryDelay = 64,\n}", "description": [], "path": "packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts", "deprecated": false, @@ -1281,6 +1281,34 @@ "path": "packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-elasticsearch-server-internal", + "id": "def-common.isInlineScriptingEnabled.$1.maxRetries", + "type": "number", + "tags": [], + "label": "maxRetries", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-elasticsearch-server-internal", + "id": "def-common.isInlineScriptingEnabled.$1.maxRetryDelay", + "type": "number", + "tags": [], + "label": "maxRetryDelay", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts", + "deprecated": false, + "trackAdoption": false } ] } @@ -1351,6 +1379,43 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-elasticsearch-server-internal", + "id": "def-common.isRetryableEsClientError", + "type": "Function", + "tags": [], + "label": "isRetryableEsClientError", + "description": [ + "\nReturns true if the given elasticsearch error should be retried\nby retry-based resiliency systems such as the SO migration, false otherwise." + ], + "signature": [ + "(e: ", + "ElasticsearchClientError", + ") => boolean" + ], + "path": "packages/core/elasticsearch/core-elasticsearch-server-internal/src/retryable_es_client_errors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-elasticsearch-server-internal", + "id": "def-common.isRetryableEsClientError.$1", + "type": "Object", + "tags": [], + "label": "e", + "description": [], + "signature": [ + "ElasticsearchClientError" + ], + "path": "packages/core/elasticsearch/core-elasticsearch-server-internal/src/retryable_es_client_errors.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-elasticsearch-server-internal", "id": "def-common.isSupportedEsServer", diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 93f54cf9f8d714..adf0dd2707d6c7 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 38 | 0 | 34 | 3 | +| 42 | 0 | 37 | 3 | ## Common diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index 69dba4fcf8cce7..a61e93e61c34de 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 57d2788def467f..18af0311c28f56 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 50d402dd3450e5..d92d0242dd73e9 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 0ed2120cfc58d7..454747abc8fea9 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 44ae37dad4f851..5150662ed0507a 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 31ea61c992d336..b8575a862cdaac 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 465f14c2ec718a..fc345b7ff30f26 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-10-30 +date: 2023-11-06 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 2d050aba5c93ba..f73242712ee034 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-10-30 +date: 2023-11-06 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 b9b1c77adb8cea..9cd869b2e58864 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 c71c78b3bdddda..83fad262144906 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 bb071a04642ceb..2174108775f5a0 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 0aba16c7956576..9a8cd269633f26 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 dbfbd1ab7793a2..fc9e1cf37a23f1 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 f0df9b59915a3c..48903a443df9c4 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 7866254094a21e..5e050e96162bdc 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 8ce69dbfff76f3..0c563ab7a506f2 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-10-30 +date: 2023-11-06 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 0adc17b77de973..063c4701169f65 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 f02a5a97d8dd5a..87050e3702d92b 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-10-30 +date: 2023-11-06 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 dbae03f28a194b..4694a0456b52b8 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-10-30 +date: 2023-11-06 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 7d8b1703441b6d..04f5504cf2dc71 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 41cc0b7e84f0d8..bf5682f9d150c6 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 1b02f2442240bd..937cee57148994 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 5b38e856b8672d..0f4fea73385cfb 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 49b083c681418b..35093ec2fe7d73 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3569,7 +3569,7 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/resolve_rule.ts" + "path": "x-pack/plugins/alerting/server/routes/rule/apis/resolve/resolve_rule_route.ts" }, { "plugin": "alerting", @@ -3668,20 +3668,20 @@ "path": "x-pack/plugins/saved_objects_tagging/server/routes/internal/find_tags.ts" }, { - "plugin": "assetManager", - "path": "x-pack/plugins/asset_manager/server/routes/ping.ts" + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/routes/fields.ts" }, { - "plugin": "assetManager", - "path": "x-pack/plugins/asset_manager/server/routes/assets/index.ts" + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" }, { - "plugin": "assetManager", - "path": "x-pack/plugins/asset_manager/server/routes/assets/index.ts" + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/routes/metric_indices/index.ts" }, { "plugin": "assetManager", - "path": "x-pack/plugins/asset_manager/server/routes/assets/index.ts" + "path": "x-pack/plugins/asset_manager/server/routes/ping.ts" }, { "plugin": "assetManager", @@ -3695,6 +3695,10 @@ "plugin": "assetManager", "path": "x-pack/plugins/asset_manager/server/routes/assets/services.ts" }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/asset_manager/server/routes/assets/containers.ts" + }, { "plugin": "banners", "path": "x-pack/plugins/banners/server/routes/info.ts" @@ -3791,6 +3795,10 @@ "plugin": "indexManagement", "path": "x-pack/plugins/index_management/server/routes/api/enrich_policies/register_list_route.ts" }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/enrich_policies/register_privileges_route.ts" + }, { "plugin": "remoteClusters", "path": "x-pack/plugins/remote_clusters/server/routes/api/get_route.ts" @@ -4239,10 +4247,6 @@ "plugin": "indexLifecycleManagement", "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/snapshot_repositories/register_fetch_route.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/routes/fields.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" @@ -4835,18 +4839,6 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/health.test.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/rule_types.test.ts" @@ -5235,6 +5227,14 @@ "plugin": "indexManagement", "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_privileges_route.test.ts" }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/enrich_policies/register_privileges_route.test.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/enrich_policies/register_privileges_route.test.ts" + }, { "plugin": "spaces", "path": "x-pack/plugins/spaces/server/routes/api/external/get.test.ts" @@ -5303,6 +5303,18 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/rule/apis/get_schedule_frequency/get_schedule_frequency_route.test.ts" }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/resolve/resolve_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/resolve/resolve_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/resolve/resolve_rule_route.test.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/rule/apis/tags/get_rule_tags.test.ts" @@ -6051,11 +6063,11 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/snooze_rule.ts" + "path": "x-pack/plugins/alerting/server/routes/rule/apis/snooze/snooze_rule_route.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/unsnooze_rule.ts" + "path": "x-pack/plugins/alerting/server/routes/rule/apis/unsnooze/unsnooze_rule_route.ts" }, { "plugin": "alerting", @@ -6161,6 +6173,14 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/server/routes/internal/bulk_delete.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/routes/vis.ts" + }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "assetManager", "path": "x-pack/plugins/asset_manager/server/routes/sample_assets.ts" @@ -6645,10 +6665,6 @@ "plugin": "indexLifecycleManagement", "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/templates/register_add_policy_route.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/routes/vis.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" @@ -7137,18 +7153,6 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/run_soon.test.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/snooze_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/snooze_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/snooze_rule.test.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/unmute_alert.test.ts" @@ -7165,14 +7169,6 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/unmute_all_rule.test.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/unsnooze_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/unsnooze_rule.test.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/update_flapping_settings.test.ts" @@ -7569,6 +7565,26 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/rule/apis/mute_alert/mute_alert.test.ts" }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/snooze/snooze_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/snooze/snooze_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/snooze/snooze_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/unsnooze/unsnooze_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/unsnooze/unsnooze_rule_route.test.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/rules_settings/apis/update/update_query_delay_settings.test.ts" @@ -7939,6 +7955,10 @@ "plugin": "guidedOnboarding", "path": "src/plugins/guided_onboarding/server/routes/plugin_state_routes.ts" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "reporting", "path": "x-pack/plugins/reporting/server/routes/internal/deprecations/deprecations.ts" @@ -8593,6 +8613,10 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/rule/apis/bulk_disable/bulk_disable_rules_route.ts" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/security.ts" @@ -8939,6 +8963,10 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/server/routes/tags/delete_tag.ts" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "assetManager", "path": "x-pack/plugins/asset_manager/server/routes/sample_assets.ts" @@ -13189,6 +13217,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/custom_elements/find.ts" @@ -13917,6 +13949,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/custom_elements/update.ts" @@ -14191,11 +14227,11 @@ }, { "plugin": "aiops", - "path": "x-pack/plugins/aiops/server/routes/log_rate_analysis.ts" + "path": "x-pack/plugins/aiops/server/routes/log_rate_analysis/define_route.ts" }, { "plugin": "aiops", - "path": "x-pack/plugins/aiops/server/routes/log_categorization.ts" + "path": "x-pack/plugins/aiops/server/routes/categorization_field_validation/define_route.ts" }, { "plugin": "ml", @@ -14509,6 +14545,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/custom_elements/create.ts" @@ -15017,6 +15057,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "logsShared", "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" @@ -15201,6 +15245,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/custom_elements/delete.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index a841844e197c49..65e7c48af456a2 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-10-30 +date: 2023-11-06 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 156dbd0ae70b77..e05b8e56a92b9d 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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.devdocs.json b/api_docs/kbn_core_http_server_mocks.devdocs.json index 3572d725cbf202..2c0ed686470bf9 100644 --- a/api_docs/kbn_core_http_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_server_mocks.devdocs.json @@ -139,9 +139,9 @@ "\nCreates a concrete HttpServer with a mocked context." ], "signature": [ - "(overrides?: Partial<", + "({ buildNum, ...overrides }?: Partial<", "CoreContext", - ">) => ", + " & { buildNum: number; }>) => ", "HttpService" ], "path": "packages/core/http/core-http-server-mocks/src/test_utils.ts", @@ -153,12 +153,12 @@ "id": "def-common.createHttpServer.$1", "type": "Object", "tags": [], - "label": "overrides", + "label": "{\n buildNum,\n ...overrides\n}", "description": [], "signature": [ "Partial<", "CoreContext", - ">" + " & { buildNum: number; }>" ], "path": "packages/core/http/core-http-server-mocks/src/test_utils.ts", "deprecated": false, diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 15b88ae735f753..c4df0b06a8056c 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 b6f2936d4dab3c..303eb54ecb493d 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 50664e26523c47..0609b8e6842234 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 555edf9d8a47d5..389384c80a7d02 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-10-30 +date: 2023-11-06 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 95fdf6a73a907f..e0943c08f17652 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 e773962603f2e4..91da426b636bdb 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 1513daa8babdad..8160283b1961c8 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 84425c06ef055f..64f981ed16a181 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 a7a12bcdf5d89b..c6fe70e0ff0f06 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 c621885572337e..4162d70bb0f5c4 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 59d0bc2c3206ce..4c9caa7a6da66b 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 00fcf1717fba32..cdb116db938aef 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-10-30 +date: 2023-11-06 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 d9e6faebf798d8..d54af3f4b5294f 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 0020b982d28d89..93a871fcfb5ddd 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 97883d6b8fb3b4..c7e01b12ea5ffb 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 38edee726a6ab6..b1807ff323f009 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-10-30 +date: 2023-11-06 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 60dab7a60fd5f4..9de7633fa5aff8 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 dae78065fa3513..eb640af26f0908 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 327e55d5ce680a..d295a4b4de80fb 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 c2502f94cf76e6..c4402587c2035c 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 1d3c92bcee5be9..44187b3a23185d 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-10-30 +date: 2023-11-06 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 27e966d2c20c74..42071cda02edc5 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 9a712c40a64f01..51ee6f3848d2b7 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 ec8363206dd060..c85f5771682b34 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 bbeeb63f1e4f3e..e3976479dac58d 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index d682ecbad81ae2..f3f7a3cf5842ff 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index ba54af0f1d69ab..7b8be9ebc79ead 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 5949cc6d2f7259..eb4401c2b1ddcb 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 a531fb1f3156e2..9f41708e32d93c 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 0c6581105eafe5..38fe6118989826 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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.devdocs.json b/api_docs/kbn_core_overlays_browser.devdocs.json index 496556d565330e..a35a25b0122ef9 100644 --- a/api_docs/kbn_core_overlays_browser.devdocs.json +++ b/api_docs/kbn_core_overlays_browser.devdocs.json @@ -470,8 +470,7 @@ "label": "buttonColor", "description": [], "signature": [ - "EuiButtonColor", - " | undefined" + "\"text\" | \"warning\" | \"success\" | \"primary\" | \"accent\" | \"danger\" | undefined" ], "path": "packages/core/overlays/core-overlays-browser/src/modal.ts", "deprecated": false, diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 01dc87485701ed..7109cfd89caea4 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 c01743d1a198dd..0e3d1f4d83fbb1 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 444a1a6434f28b..fbec70283b8d1c 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 fd787095decd04..16dbbcdb24dcb1 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 430eed50aea111..622b8d6834675a 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx index 3afee394976d01..8fd9a673311acb 100644 --- a/api_docs/kbn_core_plugins_contracts_browser.mdx +++ b/api_docs/kbn_core_plugins_contracts_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser title: "@kbn/core-plugins-contracts-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-browser plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser'] --- import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx index 0971be7df5f85f..8ea3be3536491a 100644 --- a/api_docs/kbn_core_plugins_contracts_server.mdx +++ b/api_docs/kbn_core_plugins_contracts_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server title: "@kbn/core-plugins-contracts-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-server plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server'] --- import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 539f99fb148a23..e4569ed3eb2634 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-10-30 +date: 2023-11-06 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 e1f1b16bc1bdbf..ac19cb32387bf2 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 a12edbc8c883aa..bc315b8fc4ed21 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-10-30 +date: 2023-11-06 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 dde6b10fc3890c..3fcea666f30954 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 d914ba2025ed69..53bffc88b99789 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 c7afd682007ba1..31c3ffb0282e2a 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 473cb188345bb0..1b22f2af1c9454 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index c1cd312f762c7f..1238344f5b3ad4 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json index 6094383b06ca35..942eca39273a1e 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json @@ -220,7 +220,7 @@ "\nThe outcome for a successful `resolve` call is one of the following values:\n\n * `'exactMatch'` -- One document exactly matched the given ID.\n * `'aliasMatch'` -- One document with a legacy URL alias matched the given ID; in this case the `saved_object.id` field is different\n than the given ID.\n * `'conflict'` -- Two documents matched the given ID, one was an exact match and another with a legacy URL alias; in this case the\n `saved_object` object is the exact match, and the `saved_object.id` field is the same as the given ID." ], "signature": [ - "\"conflict\" | \"exactMatch\" | \"aliasMatch\"" + "\"exactMatch\" | \"aliasMatch\" | \"conflict\"" ], "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/apis/resolve.ts", "deprecated": false, diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 165724bf8ebeba..9df1da111b7db3 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-10-30 +date: 2023-11-06 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.devdocs.json b/api_docs/kbn_core_saved_objects_api_server.devdocs.json index 8ac098e14dffbc..143bed79f4d080 100644 --- a/api_docs/kbn_core_saved_objects_api_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server.devdocs.json @@ -7607,7 +7607,7 @@ "\nThe outcome for a successful `resolve` call is one of the following values:\n\n * `'exactMatch'` -- One document exactly matched the given ID.\n * `'aliasMatch'` -- One document with a legacy URL alias matched the given ID; in this case the `saved_object.id` field is different\n than the given ID.\n * `'conflict'` -- Two documents matched the given ID, one was an exact match and another with a legacy URL alias; in this case the\n `saved_object` object is the exact match, and the `saved_object.id` field is the same as the given ID." ], "signature": [ - "\"conflict\" | \"exactMatch\" | \"aliasMatch\"" + "\"exactMatch\" | \"aliasMatch\" | \"conflict\"" ], "path": "packages/core/saved-objects/core-saved-objects-api-server/src/apis/resolve.ts", "deprecated": false, diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 8640b1316bf93f..dacc1cd31b91f5 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index dc396a491a87e0..27cf381f075649 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 bc112237aeaf26..c219b14c3d1c5e 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 83a74527e2aa4e..1f99139e2a09ab 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 722772a1719655..55188b52bfa0e1 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 89dfdf9310a34c..30de192e52ef79 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 ba4f03c18a8c51..6c676700800570 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index bd1b61ebf7bbcb..a9d3fd06e07966 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-10-30 +date: 2023-11-06 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 6b7dc878194360..569007278a8db8 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 a75e860a678fb0..81466729d80418 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 6f0935e5abfed5..c1f389aa84e1d1 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index dd0b9c1db6bcce..08b2428e236522 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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.devdocs.json b/api_docs/kbn_core_saved_objects_server.devdocs.json index 072a1542c8fed2..fc752c0f8b1712 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -10315,6 +10315,10 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts" }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/server/saved_objects/visualization.ts" + }, { "plugin": "savedSearch", "path": "src/plugins/saved_search/server/saved_objects/search.ts" @@ -10331,10 +10335,6 @@ "plugin": "graph", "path": "x-pack/plugins/graph/server/saved_objects/graph_workspace.ts" }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/server/saved_objects/visualization.ts" - }, { "plugin": "lists", "path": "x-pack/plugins/lists/server/saved_objects/exception_list.ts" diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index fdfdfac1c8153e..023d445224be65 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 11beadbff025f0..84131ad41530a5 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 a37041471d99cc..15105920bb9f97 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 27f5183138fd30..4159c2de931bb6 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-10-30 +date: 2023-11-06 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 41d776b832b684..87af396a4d74bd 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-10-30 +date: 2023-11-06 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 e28e8c1b98d9ff..71d4f291ce34c4 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 e7716dab099992..7b89316c51de96 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-10-30 +date: 2023-11-06 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 3ca818d7988927..a166ef09d4e248 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 c1361a1f97780f..861b1e4b2b32a2 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 1592f0fa18dc7b..a13ea777ee1cd1 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-10-30 +date: 2023-11-06 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 c8d074ce700411..6c6d2c03cead73 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index f969f529d9605c..32e57cec586b6f 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx index f4dbf57610a3d1..5c117709c852ab 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions'] --- import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.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 cced11d4b9737c..4265ccc01e1ff1 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-10-30 +date: 2023-11-06 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 4a82583cb00de6..fb9821e190f92b 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-10-30 +date: 2023-11-06 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 f99bf236876b4c..137044204cd16a 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-10-30 +date: 2023-11-06 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_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index ff3a9e51ebe246..e58cc3875fdd74 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 a7a89594c34345..b1b910805aa73a 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-10-30 +date: 2023-11-06 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 d5211f38815366..07ef470ec778fb 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 071ecb9918cb5c..1a88d60132c0eb 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 425772070ebe65..548ce80556e7ef 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-10-30 +date: 2023-11-06 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 73f3fc02b96b5e..356222489dcf90 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-10-30 +date: 2023-11-06 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 5e0c8fe1614f28..fe290c1e5c68ae 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 edb4314e119a7b..d85cf87629dafe 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 ff7d151e4aaac4..8945251f7a62c7 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-10-30 +date: 2023-11-06 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 18cb0d3d63d15f..3f589798c1486d 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 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 51704a345a8b2d..cbf8160fcb7711 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 4b8dab956369ac..854bf64adc2f6e 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index b8d3aa1d77bdc6..ccec1df55605c7 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index bed67baa8df173..293535e3b8f337 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index ce325b5476d74d..86235caafd768f 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-10-30 +date: 2023-11-06 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 25ad994bf03a39..ed71b5d9de46b0 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index f3592358094333..63552c587a08f3 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index 0cf21bdd7bdb30..32096f38f1c13f 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 39fbfb46b9fea9..9186a7aecee62e 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 57d37cf02d8db1..52fb2a0f076411 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 2abb34dbd9d332..b02ba6219ff5a7 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index c585fcaf9ebc87..f3b528551b39f3 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index da4dece580f0cf..e2963385d3d04c 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 39167e88a89e81..c637e78b72da87 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 91205f64964629..8dce90566f06dc 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 21bf5f21c62408..bd97570d5b48b2 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index a886df56d3ed7c..d1c765e6049d5c 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 1cb3dec64a2541..2af7a9c63ba77c 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index ca24330a6f448c..cf3a5de1e5fd45 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index e14ebfea681467..c4ab644aa70a2c 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 4fb3bae941fea6..b7740d856f2bf1 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-10-30 +date: 2023-11-06 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 443db5c197c5f0..350e5235fd21e5 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-10-30 +date: 2023-11-06 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 5c4f2ecdb31c26..37bd0588bcc704 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-10-30 +date: 2023-11-06 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 618b23448c8131..bb8059db376aeb 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 2c9f647950f91e..b49185f7bca7e1 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 3c9211babdf909..6ae416fe32bda5 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-10-30 +date: 2023-11-06 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 5e82a8e7efe251..9d154b7ad57041 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 1378d3b8534657..18d074a2d8b184 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index a4b82ce6fdf0e4..07321a36acac8a 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index b3fe73264301fe..8f795ed80b6ff5 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index eedbc9b47ed80c..255c1244a92bbe 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index b30b6eebe0a69b..07b481886264a4 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 7df4a8798c8047..3d5e9936b28e5c 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-10-30 +date: 2023-11-06 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 12bb5db1772849..c3c819b4d3f649 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-10-30 +date: 2023-11-06 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 b9c4efd961d63c..e57df98f2148c9 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-10-30 +date: 2023-11-06 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 bee6a68f793ef0..5e8e05dedac428 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-10-30 +date: 2023-11-06 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 4c50300935c1e0..ebef090c1200e6 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-10-30 +date: 2023-11-06 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 f6f2fe92719678..2399c0ffdd4195 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index 204b688213c6fc..567eb30a3c5532 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 9b528316672b9a..0d42d81c7e6d10 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 6a9e1076d32fb2..4a33149772150a 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index d1204e3a219edd..dbe71e82c8cb31 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index d382f0e02bd2d4..bae97779b76efd 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index c903d5b38055eb..8577f8d6f6f5b5 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-10-30 +date: 2023-11-06 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 96444f8b1d66df..3369f19e15c70f 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-10-30 +date: 2023-11-06 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 afc7ae7db2ef9f..39ce52068d9df3 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index b54adbfcc61b08..24bb6bb491517f 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 33f2c2817b6a84..14e79d00bdfd1a 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index e9599c7a1a012b..8caa926d37536f 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 63b0b5134ecafe..c3363f8a87c021 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 9a5a1d074cc471..e76c15573165c4 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-10-30 +date: 2023-11-06 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 549add843301ec..cfbaabe2534718 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index b6c257ef88e5b3..0fcc2fc3cfa219 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 134fb5d924dbf1..f0e1f0ea9d7183 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-10-30 +date: 2023-11-06 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 e7b15cb88704bb..6dabef4fe062c4 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-10-30 +date: 2023-11-06 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 e93edd1f441044..e5140cb3ecd5ed 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-10-30 +date: 2023-11-06 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 736b297b679ec8..d0dc5f0fdf1c73 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-10-30 +date: 2023-11-06 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 dea73cbda9960b..e5b72598ad3085 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index b05c23a484e2e1..fe948ba1420d5f 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 1dadbee1379e21..92eddd1a168ea5 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-10-30 +date: 2023-11-06 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 155cf5ec169a46..552487bdbfc85b 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-10-30 +date: 2023-11-06 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 a17bcff7a881d3..319e733e8896cc 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-10-30 +date: 2023-11-06 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 72264a7807d843..034fa03ce818b0 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 4d3075bc3b917d..ebd5cd88823a63 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index cf72d2d5f3b9a2..f46f083df53471 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-10-30 +date: 2023-11-06 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 d70b621e4fd2c6..cc34b6d2c7e048 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index b794d4a691a30d..0f6d06d38b82a7 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 59a83917c7d6e4..51c4a1c18feb20 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-10-30 +date: 2023-11-06 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 72682ce57b7089..7e1bd5cb04bfd5 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 90a5c76ae7ea69..a985901e4469e2 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 11888dbc6fa936..50cbc4d041bda5 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_application.mdx b/api_docs/kbn_management_settings_application.mdx index d7db5b670c72bf..f953773df036df 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index 97c3319183cda6..96955519772b02 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index 7acc5f126fea5e..a6bb7eaa7dd1f8 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index b2e455ffdb198d..44d6e19ea4eead 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index f8a64a33ab199e..fb9610693c13ba 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 2c353469c35f74..ddbaa9a509bcb4 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.devdocs.json b/api_docs/kbn_management_settings_ids.devdocs.json index af86fa04d57b9e..735d127df79ee5 100644 --- a/api_docs/kbn_management_settings_ids.devdocs.json +++ b/api_docs/kbn_management_settings_ids.devdocs.json @@ -1477,6 +1477,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_DEFAULT_ALERT_TAGS_KEY", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_DEFAULT_ALERT_TAGS_KEY", + "description": [], + "signature": [ + "\"securitySolution:alertTags\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/management-settings-ids", "id": "def-common.SECURITY_SOLUTION_DEFAULT_ANOMALY_SCORE_ID", @@ -1537,6 +1552,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/management-settings-ids", + "id": "def-common.SECURITY_SOLUTION_ENABLE_EXPANDABLE_FLYOUT_SETTING", + "type": "string", + "tags": [], + "label": "SECURITY_SOLUTION_ENABLE_EXPANDABLE_FLYOUT_SETTING", + "description": [ + "This Kibana Advanced Setting allows users to enable/disable the Expandable Flyout" + ], + "signature": [ + "\"securitySolution:enableExpandableFlyout\"" + ], + "path": "packages/kbn-management/settings/setting_ids/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/management-settings-ids", "id": "def-common.SECURITY_SOLUTION_ENABLE_GROUPED_NAV_ID", diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index 2707fda6acc16f..4d34e6e06cdc94 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux @elastic/platform-deployment-management](https: | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 129 | 0 | 129 | 0 | +| 131 | 0 | 130 | 0 | ## Common diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 3a17fc4a2f0580..b911b909385556 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index 2820f0fe01cbd5..f83d1271b7be2c 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 050fc89e944e83..fe4a66a94ee31c 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 285616c1c2efdd..06e19845bbe6a2 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.devdocs.json b/api_docs/kbn_mapbox_gl.devdocs.json index 5c5fb82b56b431..29866944ea667d 100644 --- a/api_docs/kbn_mapbox_gl.devdocs.json +++ b/api_docs/kbn_mapbox_gl.devdocs.json @@ -9443,7 +9443,7 @@ "label": "MapEvent", "description": [], "signature": [ - "\"error\" | \"remove\" | \"data\" | \"render\" | \"rotate\" | \"resize\" | \"zoom\" | \"move\" | \"idle\" | \"mousedown\" | \"mouseup\" | \"mouseover\" | \"mousemove\" | \"click\" | \"dblclick\" | \"mouseenter\" | \"mouseleave\" | \"mouseout\" | \"contextmenu\" | \"wheel\" | \"touchstart\" | \"touchend\" | \"touchmove\" | \"touchcancel\" | \"movestart\" | \"moveend\" | \"dragstart\" | \"drag\" | \"dragend\" | \"zoomstart\" | \"zoomend\" | \"rotatestart\" | \"rotateend\" | \"pitchstart\" | \"pitch\" | \"pitchend\" | \"boxzoomstart\" | \"boxzoomend\" | \"boxzoomcancel\" | \"webglcontextlost\" | \"webglcontextrestored\" | \"load\" | \"styledata\" | \"sourcedata\" | \"dataloading\" | \"styledataloading\" | \"sourcedataloading\" | \"styleimagemissing\" | \"style.load\" | \"terrain\" | \"dataabort\" | \"sourcedataabort\"" + "\"error\" | \"remove\" | \"data\" | \"render\" | \"rotate\" | \"resize\" | \"zoom\" | \"load\" | \"move\" | \"idle\" | \"mousedown\" | \"mouseup\" | \"mouseover\" | \"mousemove\" | \"click\" | \"dblclick\" | \"mouseenter\" | \"mouseleave\" | \"mouseout\" | \"contextmenu\" | \"wheel\" | \"touchstart\" | \"touchend\" | \"touchmove\" | \"touchcancel\" | \"movestart\" | \"moveend\" | \"dragstart\" | \"drag\" | \"dragend\" | \"zoomstart\" | \"zoomend\" | \"rotatestart\" | \"rotateend\" | \"pitchstart\" | \"pitch\" | \"pitchend\" | \"boxzoomstart\" | \"boxzoomend\" | \"boxzoomcancel\" | \"webglcontextlost\" | \"webglcontextrestored\" | \"styledata\" | \"sourcedata\" | \"dataloading\" | \"styledataloading\" | \"sourcedataloading\" | \"styleimagemissing\" | \"style.load\" | \"terrain\" | \"dataabort\" | \"sourcedataabort\"" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 3527a80dbd1144..a3dc6067d159a4 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index b3b1226a6e89cb..6822eeaba58eb9 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index daba9c306f442e..8433d17aa9324c 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index fb9fa168301501..dd4c3ded898b2e 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index eb8938c3300704..3be29f042ab281 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index f8bd416151536d..46c385f3901dd1 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index e736cdf49a49de..e8025edf583b51 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 5549091d9651d5..08de26b56c63c1 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 0e7ed058c5c762..528f48522d1346 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 80ef3d3eee9670..712c78d15cec09 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index b392fefa671099..c3553d60b7c58f 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 2672cba3680167..2d04782c6a1e99 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index b828b2a09b19cf..2b7fd3a5ae0b39 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 77c0fdc059c6a4..4b1f73b21d199b 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index fb4e0cb40c377b..8bd2e53ed6d39a 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index da389cad76a1d0..eefffa4ad27c4a 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 6418f5ebedf58b..43175eb46c336e 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 8041147ca9a789..46d61785cd582e 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 5fa9af7f05f172..b0a8ccb675aac9 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 90c3c6cd584101..9b4d089a263cb0 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 8a01ca0459d0dd..8280fa14649fc3 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 5c273967103951..06864edf0eeb25 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index bf3f64816aeb40..bb9d8b0434ab35 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 7fcacfd301f1e5..f77e3efcd509ca 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 64ce151826faa3..8941758fa9e3d3 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 436f3ebda78ccd..6e1af717929097 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index d563b5962f4415..0f4cc0b1bdd500 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index b3579d359e1068..b986c3238cf8c4 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index 2ef21f3a3f7ca2..be1e0be15b3aef 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index c8c689a1618068..e9eb1d74015a57 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 979f2b188d95a6..af7523fb57040b 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-10-30 +date: 2023-11-06 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 89a8d4355eefd1..0430c65855dfe0 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-10-30 +date: 2023-11-06 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 71b13ea5e3a152..369c600e159982 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-10-30 +date: 2023-11-06 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 2f0295694f36ef..f089c4ad44cb55 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-10-30 +date: 2023-11-06 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 3629cb6b190d7b..b9273df4515add 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-10-30 +date: 2023-11-06 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 e71db38b8a8e38..9b4acb55119ed9 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.devdocs.json b/api_docs/kbn_profiling_utils.devdocs.json index 79259edc2989c5..597124dd751755 100644 --- a/api_docs/kbn_profiling_utils.devdocs.json +++ b/api_docs/kbn_profiling_utils.devdocs.json @@ -1425,6 +1425,39 @@ "path": "packages/kbn-profiling-utils/common/flamegraph.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.TotalSamples", + "type": "number", + "tags": [], + "label": "TotalSamples", + "description": [], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.TotalCPU", + "type": "number", + "tags": [], + "label": "TotalCPU", + "description": [], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.BaseFlameGraph.SelfCPU", + "type": "number", + "tags": [], + "label": "SelfCPU", + "description": [], + "path": "packages/kbn-profiling-utils/common/flamegraph.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -1646,6 +1679,39 @@ "path": "packages/kbn-profiling-utils/common/callee.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.TotalSamples", + "type": "number", + "tags": [], + "label": "TotalSamples", + "description": [], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.TotalCPU", + "type": "number", + "tags": [], + "label": "TotalCPU", + "description": [], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/profiling-utils", + "id": "def-common.CalleeTree.SelfCPU", + "type": "number", + "tags": [], + "label": "SelfCPU", + "description": [], + "path": "packages/kbn-profiling-utils/common/callee.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 5d62230427e88a..b1477307940e8b 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 165 | 0 | 22 | 0 | +| 171 | 0 | 28 | 0 | ## Common diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index e76bf8845039a7..8d8fa6fae40c1a 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 49f7e26a3d9712..3f170b249f7dfb 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index a9521624753ca3..40c6bc649547e3 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.devdocs.json b/api_docs/kbn_react_kibana_context_render.devdocs.json index 530f3cc57239f5..3313d26d838a6b 100644 --- a/api_docs/kbn_react_kibana_context_render.devdocs.json +++ b/api_docs/kbn_react_kibana_context_render.devdocs.json @@ -92,7 +92,15 @@ "section": "def-common.I18nStart", "text": "I18nStart" }, - "; theme: ", + "; analytics?: ", + { + "pluginId": "@kbn/core-analytics-browser", + "scope": "common", + "docId": "kibKbnCoreAnalyticsBrowserPluginApi", + "section": "def-common.AnalyticsServiceStart", + "text": "AnalyticsServiceStart" + }, + " | undefined; theme: ", { "pluginId": "@kbn/react-kibana-context-common", "scope": "common", diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index 992920a08ef06e..85685543307e5c 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.devdocs.json b/api_docs/kbn_react_kibana_context_root.devdocs.json index eefd188612bada..cceb5bdfd7a962 100644 --- a/api_docs/kbn_react_kibana_context_root.devdocs.json +++ b/api_docs/kbn_react_kibana_context_root.devdocs.json @@ -236,6 +236,29 @@ "path": "packages/react/kibana_context/root/root_provider.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/react-kibana-context-root", + "id": "def-common.KibanaRootContextProviderProps.analytics", + "type": "Object", + "tags": [], + "label": "analytics", + "description": [ + "The `AnalyticsServiceStart` API from `CoreStart`." + ], + "signature": [ + { + "pluginId": "@kbn/core-analytics-browser", + "scope": "common", + "docId": "kibKbnCoreAnalyticsBrowserPluginApi", + "section": "def-common.AnalyticsServiceStart", + "text": "AnalyticsServiceStart" + }, + " | undefined" + ], + "path": "packages/react/kibana_context/root/root_provider.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index a6b718f5da2633..e450e567950a97 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 9 | 0 | 4 | 0 | +| 10 | 0 | 4 | 0 | ## Common diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 5d775bf6ddf555..2a3a7f5a9761db 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index 08238e61a1dc86..aeba5a58f5d546 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.devdocs.json b/api_docs/kbn_react_kibana_mount.devdocs.json index 6524362eea9afb..6b8df73ac95d14 100644 --- a/api_docs/kbn_react_kibana_mount.devdocs.json +++ b/api_docs/kbn_react_kibana_mount.devdocs.json @@ -243,7 +243,15 @@ "section": "def-common.I18nStart", "text": "I18nStart" }, - "; theme: ", + "; analytics?: ", + { + "pluginId": "@kbn/core-analytics-browser", + "scope": "common", + "docId": "kibKbnCoreAnalyticsBrowserPluginApi", + "section": "def-common.AnalyticsServiceStart", + "text": "AnalyticsServiceStart" + }, + " | undefined; theme: ", { "pluginId": "@kbn/react-kibana-context-common", "scope": "common", diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 0a6477bfa8c909..429a2bc5322fbb 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 722d98aee3374c..5c0f40d44c809f 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 5376f391091234..5e8efd2df09e7c 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 51902ab4460cc2..a89bd68c9523d8 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 9e08a1ab2ffa1c..c8ad5590f14caa 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 7517b7d51de4b2..514eb199bc6847 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.devdocs.json b/api_docs/kbn_resizable_layout.devdocs.json index 5c109cbf176467..597aa3f48a4f5a 100644 --- a/api_docs/kbn_resizable_layout.devdocs.json +++ b/api_docs/kbn_resizable_layout.devdocs.json @@ -35,6 +35,14 @@ "section": "def-common.ResizableLayoutProps", "text": "ResizableLayoutProps" }, + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "packages/kbn-resizable-layout/index.ts", diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index b6d69f84c7f6b8..5574a45c3d936e 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index f9096676c2d593..efd92dc677b37e 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index b5770ac7c24c1c..4cf7369b7053e6 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.devdocs.json b/api_docs/kbn_rule_data_utils.devdocs.json index d4826b462e5749..20def9bb105f62 100644 --- a/api_docs/kbn_rule_data_utils.devdocs.json +++ b/api_docs/kbn_rule_data_utils.devdocs.json @@ -176,7 +176,20 @@ } ], "interfaces": [], - "enums": [], + "enums": [ + { + "parentPluginId": "@kbn/rule-data-utils", + "id": "def-common.ApmRuleType", + "type": "Enum", + "tags": [], + "label": "ApmRuleType", + "description": [], + "path": "packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "misc": [ { "parentPluginId": "@kbn/rule-data-utils", @@ -1416,7 +1429,7 @@ "label": "AlertConsumers", "description": [], "signature": [ - "\"uptime\" | \"siem\" | \"apm\" | \"observability\" | \"logs\" | \"infrastructure\" | \"slo\"" + "\"uptime\" | \"siem\" | \"observability\" | \"apm\" | \"logs\" | \"infrastructure\" | \"slo\"" ], "path": "packages/kbn-rule-data-utils/src/alerts_as_data_rbac.ts", "deprecated": false, @@ -1716,7 +1729,7 @@ "label": "ValidFeatureId", "description": [], "signature": [ - "\"uptime\" | \"siem\" | \"apm\" | \"observability\" | \"logs\" | \"infrastructure\" | \"slo\"" + "\"uptime\" | \"siem\" | \"observability\" | \"apm\" | \"logs\" | \"infrastructure\" | \"slo\"" ], "path": "packages/kbn-rule-data-utils/src/alerts_as_data_rbac.ts", "deprecated": false, diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 20e920545b9b2b..0e342025213629 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-detections-response](https://github.com/orgs/elastic/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 114 | 0 | 111 | 0 | +| 115 | 0 | 112 | 0 | ## Common @@ -31,6 +31,9 @@ Contact [@elastic/security-detections-response](https://github.com/orgs/elastic/ ### Functions +### Enums + + ### Consts, variables and types diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 9623559ad2a78f..197900c046efca 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 1c87aee44b48db..7273f8b03de58d 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.devdocs.json b/api_docs/kbn_search_connectors.devdocs.json index fce12d113dd2b1..a97bdea22a81d8 100644 --- a/api_docs/kbn_search_connectors.devdocs.json +++ b/api_docs/kbn_search_connectors.devdocs.json @@ -8830,7 +8830,7 @@ "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, @@ -16434,7 +16434,7 @@ "label": "depends_on", "description": [], "signature": [ - "never[]" + "{ field: string; value: string; }[]" ], "path": "packages/kbn-search-connectors/types/native_connectors.ts", "deprecated": false, diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 56705842e6646e..330a77422c248c 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index c2d6b5b4b2ed71..787b9139b4369d 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 59a0ed7e9fe44c..e72d3f39e24df5 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index afabfa0b2eea07..6ff2dc35f5ce4f 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 70ba23eeaccb54..dc2796286112ee 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 427cada163c09c..c0e16021c6df6b 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 6fd3a667bcb51d..027b6e8ee6de10 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 61d521cd0a02ef..fb0c7606025060 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 11d81ec8f23e97..de59f001b2fc20 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index b2b9d0c7d8d201..25a84212e1f41a 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-10-30 +date: 2023-11-06 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 508a062d5eb083..379ec234cfc481 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index a08de81cadd9a0..d30e31944bc09a 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 2048655ca559b7..ab51b6cb1912fe 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-10-30 +date: 2023-11-06 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 9dd5870c036681..8c9c2e30a45785 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-10-30 +date: 2023-11-06 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 0583d63bf9f697..013f582332fd75 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index a7dc3b76dd22eb..58ebcc56a6d415 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-10-30 +date: 2023-11-06 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 e8c33d6e418394..89588158fec889 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-10-30 +date: 2023-11-06 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 06c0f8bf05c16c..7ce52f197727c3 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-10-30 +date: 2023-11-06 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 c8cf1c27b7ee16..321b34fc65a3d6 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-10-30 +date: 2023-11-06 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 ce9f342666a8da..deb61a8436c01c 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-10-30 +date: 2023-11-06 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 0793a924ea10fd..3d335bb199b1ee 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-10-30 +date: 2023-11-06 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 6fd73eba8ebdd0..94d8661abb44b8 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-10-30 +date: 2023-11-06 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 3b69b2b9687927..6a33dacd5ba281 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-10-30 +date: 2023-11-06 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 1c402c11066a5c..7a5f22885a026d 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-10-30 +date: 2023-11-06 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 9601dbb8a8b651..f54d3f67705663 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-10-30 +date: 2023-11-06 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 bccbc8c4909138..a3c64eb64781ed 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 6ca0dd558de667..34d5c3e0891529 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index cd12bc99015484..786d674572f6a0 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 927b1e3ab44c7b..a2645df15ec018 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index a5dbb1446c3141..7bb2bd8c476c39 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index cca48d854fd5d7..854e8229c06569 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 819931b34e468c..08e3fd74a66b8f 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index eb072ebfb5f316..34685b91bc2521 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-10-30 +date: 2023-11-06 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 ec018e4731a59f..d3a0bcc81012b5 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-10-30 +date: 2023-11-06 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_button_exit_full_screen.devdocs.json b/api_docs/kbn_shared_ux_button_exit_full_screen.devdocs.json index eb6c2b6ef6c4be..d185f0ed8d14f0 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.devdocs.json +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.devdocs.json @@ -19,43 +19,6 @@ "common": { "classes": [], "functions": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen", - "id": "def-common.ExitFullScreenButton", - "type": "Function", - "tags": [], - "label": "ExitFullScreenButton", - "description": [ - "\nA presentational component that renders a button designed to exit \"full screen\" mode." - ], - "signature": [ - "({ onClick, className, customLogo }: ", - "ExitFullScreenButtonComponentProps", - ") => JSX.Element" - ], - "path": "packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.component.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen", - "id": "def-common.ExitFullScreenButton.$1", - "type": "Object", - "tags": [], - "label": "{ onClick, className, customLogo }", - "description": [], - "signature": [ - "ExitFullScreenButtonComponentProps" - ], - "path": "packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.component.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "@kbn/shared-ux-button-exit-full-screen", "id": "def-common.ExitFullScreenButton", @@ -67,10 +30,16 @@ ], "signature": [ "({ onExit, toggleChrome }: ", - "ExitFullScreenButtonProps", + { + "pluginId": "@kbn/shared-ux-button-exit-full-screen", + "scope": "common", + "docId": "kibKbnSharedUxButtonExitFullScreenPluginApi", + "section": "def-common.ExitFullScreenButtonProps", + "text": "ExitFullScreenButtonProps" + }, ") => JSX.Element" ], - "path": "packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.tsx", + "path": "packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -82,9 +51,15 @@ "label": "{ onExit = () => {}, toggleChrome = true }", "description": [], "signature": [ - "ExitFullScreenButtonProps" + { + "pluginId": "@kbn/shared-ux-button-exit-full-screen", + "scope": "common", + "docId": "kibKbnSharedUxButtonExitFullScreenPluginApi", + "section": "def-common.ExitFullScreenButtonProps", + "text": "ExitFullScreenButtonProps" + } ], - "path": "packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.tsx", + "path": "packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -107,7 +82,7 @@ "KibanaDependencies", ">) => JSX.Element" ], - "path": "packages/shared-ux/button/exit_full_screen/impl/src/services.tsx", + "path": "packages/shared-ux/button/exit_full_screen/src/services.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -123,7 +98,7 @@ "KibanaDependencies", ">" ], - "path": "packages/shared-ux/button/exit_full_screen/impl/src/services.tsx", + "path": "packages/shared-ux/button/exit_full_screen/src/services.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -131,50 +106,80 @@ ], "returnComment": [], "initialIsOpen": false - }, + } + ], + "interfaces": [ { "parentPluginId": "@kbn/shared-ux-button-exit-full-screen", - "id": "def-common.ExitFullScreenButtonProvider", - "type": "Function", + "id": "def-common.ExitFullScreenButtonProps", + "type": "Interface", "tags": [], - "label": "ExitFullScreenButtonProvider", + "label": "ExitFullScreenButtonProps", "description": [ - "\nAbstract external service Provider." + "\nProps for the service-enabled `ExitFullScreenButton` component." ], - "signature": [ - "({ children, ...services }: React.PropsWithChildren<", - "Services", - ">) => JSX.Element" - ], - "path": "packages/shared-ux/button/exit_full_screen/impl/src/services.tsx", + "path": "packages/shared-ux/button/exit_full_screen/types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/shared-ux-button-exit-full-screen", - "id": "def-common.ExitFullScreenButtonProvider.$1", - "type": "CompoundType", + "id": "def-common.ExitFullScreenButtonProps.onExit", + "type": "Function", "tags": [], - "label": "{\n children,\n ...services\n}", - "description": [], + "label": "onExit", + "description": [ + "Optional handler to call when one exits full-screen mode." + ], "signature": [ - "React.PropsWithChildren<", - "Services", - ">" + "(() => void) | undefined" ], - "path": "packages/shared-ux/button/exit_full_screen/impl/src/services.tsx", + "path": "packages/shared-ux/button/exit_full_screen/types.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/shared-ux-button-exit-full-screen", + "id": "def-common.ExitFullScreenButtonProps.toggleChrome", + "type": "CompoundType", + "tags": [], + "label": "toggleChrome", + "description": [ + "Should the button toggle the Chrome visibility?" + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/shared-ux/button/exit_full_screen/types.ts", + "deprecated": false, + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false } ], - "interfaces": [], "enums": [], - "misc": [], + "misc": [ + { + "parentPluginId": "@kbn/shared-ux-button-exit-full-screen", + "id": "def-common.ExitFullScreenButtonKibanaDependencies", + "type": "Type", + "tags": [], + "label": "ExitFullScreenButtonKibanaDependencies", + "description": [ + "\nAn interface containing a collection of Kibana plugins and services required to\nrender this component as well as any dependencies." + ], + "signature": [ + "KibanaDependencies" + ], + "path": "packages/shared-ux/button/exit_full_screen/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [] } } \ No newline at end of file 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 fabb07c97eed19..0b71e4d7450095 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; @@ -21,10 +21,16 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 8 | 0 | 4 | 0 | +| 8 | 0 | 2 | 1 | ## Common ### Functions +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json deleted file mode 100644 index 827ece1bdc9327..00000000000000 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json +++ /dev/null @@ -1,264 +0,0 @@ -{ - "id": "@kbn/shared-ux-button-exit-full-screen-mocks", - "client": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "server": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "common": { - "classes": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock", - "type": "Class", - "tags": [], - "label": "StorybookMock", - "description": [ - "\nStorybook mocks for the `ExitFullScreenButton` component." - ], - "signature": [ - { - "pluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "scope": "common", - "docId": "kibKbnSharedUxButtonExitFullScreenMocksPluginApi", - "section": "def-common.StorybookMock", - "text": "StorybookMock" - }, - " extends ", - { - "pluginId": "@kbn/shared-ux-storybook-mock", - "scope": "common", - "docId": "kibKbnSharedUxStorybookMockPluginApi", - "section": "def-common.AbstractStorybookMock", - "text": "AbstractStorybookMock" - }, - "<", - "ExitFullScreenButtonProps", - ", ", - "Services", - ", PropArguments, {}>" - ], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.propArguments", - "type": "Object", - "tags": [], - "label": "propArguments", - "description": [], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.propArguments.toggleChrome", - "type": "Object", - "tags": [], - "label": "toggleChrome", - "description": [], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.propArguments.toggleChrome.control", - "type": "string", - "tags": [], - "label": "control", - "description": [], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.propArguments.toggleChrome.defaultValue", - "type": "boolean", - "tags": [], - "label": "defaultValue", - "description": [], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.serviceArguments", - "type": "Object", - "tags": [], - "label": "serviceArguments", - "description": [], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [] - }, - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.dependencies", - "type": "Array", - "tags": [], - "label": "dependencies", - "description": [], - "signature": [ - "never[]" - ], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.getProps", - "type": "Function", - "tags": [], - "label": "getProps", - "description": [], - "signature": [ - "(params?: ", - { - "pluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "scope": "common", - "docId": "kibKbnSharedUxButtonExitFullScreenMocksPluginApi", - "section": "def-common.Params", - "text": "Params" - }, - " | undefined) => ", - "ExitFullScreenButtonProps" - ], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.getProps.$1", - "type": "Object", - "tags": [], - "label": "params", - "description": [], - "signature": [ - { - "pluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "scope": "common", - "docId": "kibKbnSharedUxButtonExitFullScreenMocksPluginApi", - "section": "def-common.Params", - "text": "Params" - }, - " | undefined" - ], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.StorybookMock.getServices", - "type": "Function", - "tags": [], - "label": "getServices", - "description": [], - "signature": [ - "() => ", - "Services" - ], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - } - ], - "initialIsOpen": false - } - ], - "functions": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.getKibanaDependenciesMock", - "type": "Function", - "tags": [], - "label": "getKibanaDependenciesMock", - "description": [ - "\nReturn a Jest mock of the Kibana dependencies for the `ExitFullScreenButton` component." - ], - "signature": [ - "() => ", - "KibanaDependencies" - ], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/jest.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.getServicesMock", - "type": "Function", - "tags": [], - "label": "getServicesMock", - "description": [ - "\nReturn a Jest mock of the services for the `ExitFullScreenButton` component." - ], - "signature": [ - "() => ", - "Services" - ], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/jest.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - } - ], - "interfaces": [], - "enums": [], - "misc": [ - { - "parentPluginId": "@kbn/shared-ux-button-exit-full-screen-mocks", - "id": "def-common.Params", - "type": "Type", - "tags": [], - "label": "Params", - "description": [ - "\nArgument parameters for the `ExitFullScreenButton` Storybook mock." - ], - "signature": [ - "{ toggleChrome: any; }" - ], - "path": "packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "objects": [] - } -} \ No newline at end of file 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 deleted file mode 100644 index cbc576ba09e3fc..00000000000000 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -#### -#### 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: kibKbnSharedUxButtonExitFullScreenMocksPluginApi -slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks -title: "@kbn/shared-ux-button-exit-full-screen-mocks" -image: https://source.unsplash.com/400x175/?github -description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-10-30 -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'; - - - -Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) for questions regarding this plugin. - -**Code health stats** - -| Public API count | Any count | Items lacking comments | Missing exports | -|-------------------|-----------|------------------------|-----------------| -| 13 | 0 | 9 | 0 | - -## Common - -### Functions - - -### Classes - - -### Consts, variables and types - - diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 391af24b67ca75..002bc96a3ed2bf 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-10-30 +date: 2023-11-06 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 831efcd6324df9..a43c9ca971e1be 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-10-30 +date: 2023-11-06 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 c8e3309054ca79..c2c1964cbd9342 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json b/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json index aeacbea9f98c0b..c3b285c9899c71 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json +++ b/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json @@ -1256,6 +1256,42 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.ContentProvider", + "type": "Type", + "tags": [], + "label": "ContentProvider", + "description": [], + "signature": [ + "(nodeId: string) => void | ", + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.PanelContent", + "text": "PanelContent" + } + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/components/panel/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.ContentProvider.$1", + "type": "string", + "tags": [], + "label": "nodeId", + "description": [], + "path": "packages/shared-ux/chrome/navigation/src/ui/components/panel/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/shared-ux-chrome-navigation", "id": "def-common.NavigationGroupPreset", diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index befe381aad1c2b..639d45db1f760e 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 58 | 0 | 47 | 4 | +| 60 | 0 | 49 | 4 | ## Common diff --git a/api_docs/kbn_shared_ux_error_boundary.devdocs.json b/api_docs/kbn_shared_ux_error_boundary.devdocs.json index 241648e48e5b54..754e93ac96cfa8 100644 --- a/api_docs/kbn_shared_ux_error_boundary.devdocs.json +++ b/api_docs/kbn_shared_ux_error_boundary.devdocs.json @@ -63,10 +63,12 @@ "tags": [], "label": "KibanaErrorBoundaryProvider", "description": [ - "\nKibana-specific Provider that maps dependencies to services." + "\nProvider that uses dependencies to give context to the KibanaErrorBoundary component\nThis provider is aware if services were already created from a higher level of the component tree" ], "signature": [ - "({ children }: { children?: React.ReactNode; }) => JSX.Element" + "({ children, analytics, }: React.PropsWithChildren<", + "KibanaErrorBoundaryProviderDeps", + ">) => JSX.Element" ], "path": "packages/shared-ux/error_boundary/src/services/error_boundary_services.tsx", "deprecated": false, @@ -75,12 +77,14 @@ { "parentPluginId": "@kbn/shared-ux-error-boundary", "id": "def-common.KibanaErrorBoundaryProvider.$1", - "type": "Object", + "type": "CompoundType", "tags": [], - "label": "{ children }", + "label": "{\n children,\n analytics,\n}", "description": [], "signature": [ - "{ children?: React.ReactNode; }" + "React.PropsWithChildren<", + "KibanaErrorBoundaryProviderDeps", + ">" ], "path": "packages/shared-ux/error_boundary/src/services/error_boundary_services.tsx", "deprecated": false, diff --git a/api_docs/kbn_shared_ux_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index 8fdf9d4426a09c..79f546e0bad79e 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 6 | 0 | 2 | 0 | +| 6 | 0 | 2 | 1 | ## Common diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index bd37c8ca34e76a..7d3c81214c6e75 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 63c1a12e86afd6..faea7bda8c7bb1 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index b48df2decd67d1..0c56302682f8ea 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 8d01bb96d124cb..60502e2e3320ee 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index bb088c846c31bb..4ed0fe82a5ce42 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 66dfb1d5e4b003..671d551222f3dc 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 745877b81814cc..4a68fd18af4b33 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 5fe095b55b495a..ea116b7fc0a079 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index a4d957a0b25ae4..8643212421d549 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-10-30 +date: 2023-11-06 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 1210c6fd604b6b..823e1e052c13e6 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 e02e58f18b4f4c..e2c2f5594ff718 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-10-30 +date: 2023-11-06 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 b90fed614572c2..b218c7e2b1f747 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 e9353f2dd24a03..9d3ee79325d6b6 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-10-30 +date: 2023-11-06 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 a900e6114f66b2..dc76c4c65277f6 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 fe21d2bf61e2db..f2ca862566e669 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-10-30 +date: 2023-11-06 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 9bf54ec4fadc7f..438b36a6209781 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 9c676524971bf1..bda7cf25409f48 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-10-30 +date: 2023-11-06 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 1194f7ecdf2965..391d703fa617d7 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 343eb785938738..05be9e75661575 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-10-30 +date: 2023-11-06 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 c96a6e62a4da8a..50203e44441edb 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-10-30 +date: 2023-11-06 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 0b22a84bc8f0e1..e02e81f626a24b 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 e982bbaa135f70..adfb36195e6189 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 c8d324d955168d..434ed29e77d675 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-10-30 +date: 2023-11-06 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 a1abaec5bda2c5..b0fc7d3328fe60 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-10-30 +date: 2023-11-06 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 8807841c8d6008..9a413b32e32ec4 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index b063e460157d71..dc7f4b22dc07e7 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index ea55f548158b5e..8d5bfc8093a026 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-10-30 +date: 2023-11-06 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 e8277a8c9e2acc..0f8f12478e0287 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-10-30 +date: 2023-11-06 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 57d635bb2845bc..4af11951635268 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-10-30 +date: 2023-11-06 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 e498fe4e7fdcef..e27449178f964e 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-10-30 +date: 2023-11-06 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.devdocs.json b/api_docs/kbn_shared_ux_utility.devdocs.json index 9cc8c9e5f23d53..5d184997b8bfbf 100644 --- a/api_docs/kbn_shared_ux_utility.devdocs.json +++ b/api_docs/kbn_shared_ux_utility.devdocs.json @@ -130,10 +130,18 @@ "tags": [], "label": "withSuspense", "description": [ - "\nA HOC which supplies React.Suspense with a fallback component, and a `EuiErrorBoundary` to contain errors." + "\nA HOC which supplies React.Suspense with a fallback component, and a `KibanaErrorBoundary` to contain errors." ], "signature": [ - "

(Component: React.ComponentType

, fallback?: React.ReactElement> | null) => React.ForwardRefExoticComponent & React.RefAttributes>" + "

(Component: React.ComponentType

, fallback?: React.ReactElement> | null) => React.ForwardRefExoticComponent & React.RefAttributes>" ], "path": "packages/kbn-shared-ux-utility/src/with_suspense.tsx", "deprecated": false, @@ -178,7 +186,47 @@ "initialIsOpen": false } ], - "interfaces": [], + "interfaces": [ + { + "parentPluginId": "@kbn/shared-ux-utility", + "id": "def-common.WithSuspenseExtendedDeps", + "type": "Interface", + "tags": [], + "label": "WithSuspenseExtendedDeps", + "description": [ + "\nOptional services that the Suspense wrapper can use" + ], + "path": "packages/kbn-shared-ux-utility/src/with_suspense.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-utility", + "id": "def-common.WithSuspenseExtendedDeps.analytics", + "type": "Object", + "tags": [], + "label": "analytics", + "description": [ + "\nThe `AnalyticsServiceStart` object from `CoreStart`" + ], + "signature": [ + { + "pluginId": "@kbn/core-analytics-browser", + "scope": "common", + "docId": "kibKbnCoreAnalyticsBrowserPluginApi", + "section": "def-common.AnalyticsServiceStart", + "text": "AnalyticsServiceStart" + }, + " | undefined" + ], + "path": "packages/kbn-shared-ux-utility/src/with_suspense.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], "enums": [], "misc": [], "objects": [] diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index 161d1f968026dc..ee573ce09e3750 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; @@ -21,10 +21,13 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 9 | 0 | 3 | 0 | +| 11 | 0 | 3 | 0 | ## Common ### Functions +### Interfaces + + diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 490418c10fb45e..c34a25c6216430 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 6bb2fb8e69c831..b45f8cdf5c30d5 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 7ec05c86724dda..51f4e0bf57d2ca 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-10-30 +date: 2023-11-06 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 91a38f03ef84aa..febdde0070fba3 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-10-30 +date: 2023-11-06 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 312d70c2065fdc..ee64f24bc5cd21 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_subscription_tracking.mdx b/api_docs/kbn_subscription_tracking.mdx index 1bbfea5ac9c39b..6cc8950b048718 100644 --- a/api_docs/kbn_subscription_tracking.mdx +++ b/api_docs/kbn_subscription_tracking.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-subscription-tracking title: "@kbn/subscription-tracking" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/subscription-tracking plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/subscription-tracking'] --- import kbnSubscriptionTrackingObj from './kbn_subscription_tracking.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 1e3fb9b34fccee..49861f073dbba5 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.devdocs.json b/api_docs/kbn_test.devdocs.json index 2d9a82dde4b9ec..67c1c7a4a48c16 100644 --- a/api_docs/kbn_test.devdocs.json +++ b/api_docs/kbn_test.devdocs.json @@ -2556,7 +2556,7 @@ "section": "def-common.Config", "text": "Config" }, - "; installDir?: string | undefined; extraKbnOpts?: string[] | undefined; logsDir?: string | undefined; onEarlyExit?: ((msg: string) => void) | undefined; }) => Promise" + "; installDir?: string | undefined; extraKbnOpts?: string[] | undefined; logsDir?: string | undefined; onEarlyExit?: ((msg: string) => void) | undefined; inspect?: boolean | undefined; }) => Promise" ], "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", "deprecated": false, @@ -2686,6 +2686,20 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1.inspect", + "type": "CompoundType", + "tags": [], + "label": "inspect", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false } ] } diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 012d60d5012028..11f6183166010a 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kiban | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 290 | 4 | 243 | 12 | +| 291 | 4 | 244 | 12 | ## Common diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index fe8790663a00b4..20b762efcba30b 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-10-30 +date: 2023-11-06 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 89e6e741240211..83817b65ee3592 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index a464468e979aba..1da6c8a3563ffc 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index ab3f0c5c1832c3..cd656fb6756c70 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 50e619e1c6d89e..151329ba7e20d9 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index c8ad2f1b6cd527..ab687f5fd0a4e8 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index dceaf901bcbe3a..5deea69179471f 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 5442d7582305f6..bb90daa21c4e16 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-10-30 +date: 2023-11-06 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 58e901c2b117b6..de0f9569fb7a51 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index c12c416fab5c7b..f2d9fd08a85eeb 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index 779dbe9a6d22bc..4beef62fe278c4 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 10 | 0 | 7 | 6 | +| 10 | 0 | 7 | 7 | ## Common diff --git a/api_docs/kbn_unified_field_list.devdocs.json b/api_docs/kbn_unified_field_list.devdocs.json index acd3993a7742ba..20244ca1fb58dd 100644 --- a/api_docs/kbn_unified_field_list.devdocs.json +++ b/api_docs/kbn_unified_field_list.devdocs.json @@ -1291,7 +1291,15 @@ "section": "def-common.DataViewField", "text": "DataViewField" }, - ") => boolean) | undefined; onFieldEdited?: ((options?: { removedFieldName?: string | undefined; editedFieldName?: string | undefined; } | undefined) => Promise) | undefined; } & React.RefAttributes<", + ") => boolean) | undefined; onFieldEdited?: ((options?: { removedFieldName?: string | undefined; editedFieldName?: string | undefined; } | undefined) => Promise) | undefined; } & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, + " & React.RefAttributes<", { "pluginId": "@kbn/unified-field-list", "scope": "common", diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 2bffdaf8962df3..8e26f5eda8f034 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index d0040f8f16f68f..d2172d54bf69b4 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index d3340fd3a4f313..33bd72647b2ae5 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.devdocs.json b/api_docs/kbn_user_profile_components.devdocs.json index 6082e35d46bb91..8a2a61616e98d5 100644 --- a/api_docs/kbn_user_profile_components.devdocs.json +++ b/api_docs/kbn_user_profile_components.devdocs.json @@ -1002,7 +1002,7 @@ { "parentPluginId": "@kbn/user-profile-components", "id": "def-common.UserProfilesPopoverProps.title", - "type": "CompoundType", + "type": "Any", "tags": [ "see" ], @@ -1011,7 +1011,7 @@ "\nTitle of the popover" ], "signature": [ - "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" + "any" ], "path": "packages/kbn-user-profile-components/src/user_profiles_popover.tsx", "deprecated": false, diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index bac8d99e2a6b20..5a0147a98a0bca 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 80 | 0 | 21 | 2 | +| 80 | 1 | 21 | 2 | ## Common diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index af60cbce49b80f..0b14f644b739d9 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-10-30 +date: 2023-11-06 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 f6aac2a7c432b6..3f755d6f5ebffa 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-10-30 +date: 2023-11-06 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 5efe0c61b9d246..a191365f339af2 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index 0b2135d24a1f49..dd0275bafe4cb3 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 41b8a8d0d898b7..ed616752a137eb 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index d50a36616b2735..107d4aa3c92c7d 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index fed8544268919a..49ece4f6d0b631 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index aba6c0bedbace2..21d7a921834d25 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.devdocs.json b/api_docs/kibana_react.devdocs.json index 913b1ed5744278..1a66a2cf0a4527 100644 --- a/api_docs/kibana_react.devdocs.json +++ b/api_docs/kibana_react.devdocs.json @@ -203,7 +203,13 @@ ], "signature": [ "(props: React.PropsWithChildren<", - "Props", + { + "pluginId": "@kbn/code-editor", + "scope": "common", + "docId": "kibKbnCodeEditorPluginApi", + "section": "def-common.CodeEditorProps", + "text": "CodeEditorProps" + }, ">) => JSX.Element" ], "path": "src/plugins/kibana_react/public/code_editor/index.tsx", @@ -219,7 +225,13 @@ "description": [], "signature": [ "React.PropsWithChildren<", - "Props", + { + "pluginId": "@kbn/code-editor", + "scope": "common", + "docId": "kibKbnCodeEditorPluginApi", + "section": "def-common.CodeEditorProps", + "text": "CodeEditorProps" + }, ">" ], "path": "src/plugins/kibana_react/public/code_editor/index.tsx", @@ -242,7 +254,13 @@ ], "signature": [ "(props: React.PropsWithChildren<", - "Props", + { + "pluginId": "@kbn/code-editor", + "scope": "common", + "docId": "kibKbnCodeEditorPluginApi", + "section": "def-common.CodeEditorProps", + "text": "CodeEditorProps" + }, ">) => JSX.Element" ], "path": "src/plugins/kibana_react/public/code_editor/index.tsx", @@ -258,7 +276,13 @@ "description": [], "signature": [ "React.PropsWithChildren<", - "Props", + { + "pluginId": "@kbn/code-editor", + "scope": "common", + "docId": "kibKbnCodeEditorPluginApi", + "section": "def-common.CodeEditorProps", + "text": "CodeEditorProps" + }, ">" ], "path": "src/plugins/kibana_react/public/code_editor/index.tsx", @@ -1223,6 +1247,18 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/fleet/app.tsx" }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/public/apps/common_providers.tsx" + }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/public/apps/common_providers.tsx" + }, + { + "plugin": "metricsDataAccess", + "path": "x-pack/plugins/metrics_data_access/public/apps/common_providers.tsx" + }, { "plugin": "licenseManagement", "path": "x-pack/plugins/license_management/public/shared_imports.ts" @@ -1359,18 +1395,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/apps/common_providers.tsx" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/apps/common_providers.tsx" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/apps/common_providers.tsx" - }, { "plugin": "profiling", "path": "x-pack/plugins/profiling/public/app.tsx" @@ -1563,6 +1587,18 @@ "plugin": "indexLifecycleManagement", "path": "x-pack/plugins/index_lifecycle_management/public/application/index.tsx" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/apps/common_providers.tsx" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/apps/common_providers.tsx" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/apps/common_providers.tsx" + }, { "plugin": "ingestPipelines", "path": "x-pack/plugins/ingest_pipelines/public/shared_imports.ts" @@ -2849,7 +2885,7 @@ "label": "toMountPoint", "description": [], "signature": [ - "(node: React.ReactNode, { theme$ }?: ", + "(node: React.ReactNode, { analytics, theme$ }?: ", { "pluginId": "kibanaReact", "scope": "public", @@ -3837,7 +3873,7 @@ "id": "def-public.toMountPoint.$2", "type": "Object", "tags": [], - "label": "{ theme$ }", + "label": "{ analytics, theme$ }", "description": [], "signature": [ { @@ -4377,75 +4413,6 @@ } ], "interfaces": [ - { - "parentPluginId": "kibanaReact", - "id": "def-public.ExitFullScreenButtonProps", - "type": "Interface", - "tags": [], - "label": "ExitFullScreenButtonProps", - "description": [], - "path": "src/plugins/kibana_react/public/exit_full_screen_button/exit_full_screen_button.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "kibanaReact", - "id": "def-public.ExitFullScreenButtonProps.onExitFullScreenMode", - "type": "Function", - "tags": [], - "label": "onExitFullScreenMode", - "description": [], - "signature": [ - "() => void" - ], - "path": "src/plugins/kibana_react/public/exit_full_screen_button/exit_full_screen_button.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.ExitFullScreenButtonProps.chrome", - "type": "Object", - "tags": [], - "label": "chrome", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-chrome-browser", - "scope": "common", - "docId": "kibKbnCoreChromeBrowserPluginApi", - "section": "def-common.ChromeStart", - "text": "ChromeStart" - } - ], - "path": "src/plugins/kibana_react/public/exit_full_screen_button/exit_full_screen_button.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.ExitFullScreenButtonProps.toggleChrome", - "type": "CompoundType", - "tags": [ - "note", - "default" - ], - "label": "toggleChrome", - "description": [ - "\nOptional argument that determines whether we toggle the chrome bar\nthe button unmounts.\n" - ], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/kibana_react/public/exit_full_screen_button/exit_full_screen_button.tsx", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "kibanaReact", "id": "def-public.KibanaReactContext", @@ -5085,6 +5052,27 @@ "trackAdoption": false, "references": [], "children": [ + { + "parentPluginId": "kibanaReact", + "id": "def-public.ToMountPointOptions.analytics", + "type": "Object", + "tags": [], + "label": "analytics", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-analytics-browser", + "scope": "common", + "docId": "kibKbnCoreAnalyticsBrowserPluginApi", + "section": "def-common.AnalyticsServiceStart", + "text": "AnalyticsServiceStart" + }, + " | undefined" + ], + "path": "src/plugins/kibana_react/public/util/index.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "kibanaReact", "id": "def-public.ToMountPointOptions.theme$", @@ -5242,7 +5230,13 @@ "description": [], "signature": [ "React.ComponentType<", - "Props", + { + "pluginId": "@kbn/code-editor", + "scope": "common", + "docId": "kibKbnCodeEditorPluginApi", + "section": "def-common.CodeEditorProps", + "text": "CodeEditorProps" + }, "> | undefined" ], "path": "src/plugins/kibana_react/public/url_template_editor/url_template_editor.tsx", @@ -5344,9 +5338,6 @@ "tags": [], "label": "CodeEditorProps", "description": [], - "signature": [ - "Props" - ], "path": "src/plugins/kibana_react/public/code_editor/index.tsx", "deprecated": false, "trackAdoption": false, @@ -5568,7 +5559,7 @@ "signature": [ "\"css\"" ], - "path": "src/plugins/kibana_react/public/code_editor/languages/css/constants.ts", + "path": "packages/shared-ux/code_editor/languages/css/constants.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -5583,7 +5574,7 @@ "signature": [ "\"markdown\"" ], - "path": "src/plugins/kibana_react/public/code_editor/languages/markdown/constants.ts", + "path": "packages/shared-ux/code_editor/languages/markdown/constants.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -5598,7 +5589,7 @@ "signature": [ "\"yaml\"" ], - "path": "src/plugins/kibana_react/public/code_editor/languages/yaml/constants.ts", + "path": "packages/shared-ux/code_editor/languages/yaml/constants.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -5613,7 +5604,7 @@ "signature": [ "\"handlebars\"" ], - "path": "src/plugins/kibana_react/public/code_editor/languages/handlebars/constants.ts", + "path": "packages/shared-ux/code_editor/languages/handlebars/constants.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -5628,7 +5619,7 @@ "signature": [ "\"hjson\"" ], - "path": "src/plugins/kibana_react/public/code_editor/languages/hjson/constants.ts", + "path": "packages/shared-ux/code_editor/languages/hjson/constants.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -5643,7 +5634,7 @@ "signature": [ "\"grok\"" ], - "path": "src/plugins/kibana_react/public/code_editor/languages/grok/constants.ts", + "path": "packages/shared-ux/code_editor/languages/grok/constants.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -5823,24 +5814,6 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.ExitFullScreenButton", - "type": "Object", - "tags": [ - "deprecated" - ], - "label": "ExitFullScreenButton", - "description": [], - "signature": [ - "typeof ExitFullScreenButtonUi" - ], - "path": "src/plugins/kibana_react/public/exit_full_screen_button/exit_full_screen_button.tsx", - "deprecated": true, - "trackAdoption": false, - "references": [], - "initialIsOpen": false } ] }, diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 101f24a3879b17..16095fc6441ebb 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 173 | 0 | 137 | 4 | +| 169 | 0 | 134 | 3 | ## Client diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index cce2d375de80d1..e9b056b9445b74 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-10-30 +date: 2023-11-06 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 f59fec087ddf18..b4b7617296c84f 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index d29067d0ae183c..145ea960d21b8b 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 540978c9f8a6f5..7686b321942407 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-10-30 +date: 2023-11-06 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 608dad7d5d9625..a362a86823ac54 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-10-30 +date: 2023-11-06 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 db124ab6a3e7d9..93fd4daead6e9c 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/links.mdx b/api_docs/links.mdx index bfd8b450d91302..fe1d497af89237 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 67892f59a2fa55..84622c0f7a0e4d 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 494229a1c671ac..c74889ed2c6e15 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.devdocs.json b/api_docs/logs_shared.devdocs.json index 8890c3f9cdfff8..e911fdaa0f16b9 100644 --- a/api_docs/logs_shared.devdocs.json +++ b/api_docs/logs_shared.devdocs.json @@ -4931,6 +4931,153 @@ } ], "interfaces": [ + { + "parentPluginId": "logsShared", + "id": "def-common.LogsLocatorParams", + "type": "Interface", + "tags": [], + "label": "LogsLocatorParams", + "description": [], + "signature": [ + { + "pluginId": "logsShared", + "scope": "common", + "docId": "kibLogsSharedPluginApi", + "section": "def-common.LogsLocatorParams", + "text": "LogsLocatorParams" + }, + " extends ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + } + ], + "path": "x-pack/plugins/logs_shared/common/locators/logs_locator.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "logsShared", + "id": "def-common.LogsLocatorParams.time", + "type": "number", + "tags": [], + "label": "time", + "description": [ + "Defines log position" + ], + "signature": [ + "number | undefined" + ], + "path": "x-pack/plugins/logs_shared/common/locators/logs_locator.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "logsShared", + "id": "def-common.LogsLocatorParams.timeRange", + "type": "Object", + "tags": [], + "label": "timeRange", + "description": [ + "\nOptionally set the time range in the time picker." + ], + "signature": [ + "{ startTime: number; endTime: number; } | undefined" + ], + "path": "x-pack/plugins/logs_shared/common/locators/logs_locator.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "logsShared", + "id": "def-common.LogsLocatorParams.filter", + "type": "string", + "tags": [], + "label": "filter", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/logs_shared/common/locators/logs_locator.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "logsShared", + "id": "def-common.LogsLocatorParams.logView", + "type": "CompoundType", + "tags": [], + "label": "logView", + "description": [], + "signature": [ + "{ logViewId: string; type: \"log-view-reference\"; } | { type: \"log-view-inline\"; id: string; attributes: { name: string; description: string; logIndices: { type: \"data_view\"; dataViewId: string; } | { type: \"index_name\"; indexName: string; }; logColumns: ({ timestampColumn: { id: string; }; } | { messageColumn: { id: string; }; } | { fieldColumn: { id: string; } & { field: string; }; })[]; }; } | undefined" + ], + "path": "x-pack/plugins/logs_shared/common/locators/logs_locator.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "logsShared", + "id": "def-common.NodeLogsLocatorParams", + "type": "Interface", + "tags": [], + "label": "NodeLogsLocatorParams", + "description": [], + "signature": [ + { + "pluginId": "logsShared", + "scope": "common", + "docId": "kibLogsSharedPluginApi", + "section": "def-common.NodeLogsLocatorParams", + "text": "NodeLogsLocatorParams" + }, + " extends ", + { + "pluginId": "logsShared", + "scope": "common", + "docId": "kibLogsSharedPluginApi", + "section": "def-common.LogsLocatorParams", + "text": "LogsLocatorParams" + } + ], + "path": "x-pack/plugins/logs_shared/common/locators/node_logs_locator.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "logsShared", + "id": "def-common.NodeLogsLocatorParams.nodeId", + "type": "string", + "tags": [], + "label": "nodeId", + "description": [], + "path": "x-pack/plugins/logs_shared/common/locators/node_logs_locator.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "logsShared", + "id": "def-common.NodeLogsLocatorParams.nodeType", + "type": "CompoundType", + "tags": [], + "label": "nodeType", + "description": [], + "signature": [ + "\"host\" | \"container\" | \"pod\" | \"awsEC2\" | \"awsS3\" | \"awsSQS\" | \"awsRDS\"" + ], + "path": "x-pack/plugins/logs_shared/common/locators/node_logs_locator.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "logsShared", "id": "def-common.ResolvedLogView", @@ -5505,6 +5652,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "logsShared", + "id": "def-common.LOGS_LOCATOR_ID", + "type": "string", + "tags": [], + "label": "LOGS_LOCATOR_ID", + "description": [], + "signature": [ + "\"LOGS_LOCATOR\"" + ], + "path": "x-pack/plugins/logs_shared/common/locators/logs_locator.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "logsShared", "id": "def-common.LogTimestampColumn", @@ -5595,6 +5757,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "logsShared", + "id": "def-common.NODE_LOGS_LOCATOR_ID", + "type": "string", + "tags": [], + "label": "NODE_LOGS_LOCATOR_ID", + "description": [], + "signature": [ + "\"NODE_LOGS_LOCATOR\"" + ], + "path": "x-pack/plugins/logs_shared/common/locators/node_logs_locator.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "logsShared", "id": "def-common.PersistedLogViewReference", diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 78b5722b67a13d..faa737d3021d1d 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/inf | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 269 | 10 | 256 | 27 | +| 279 | 10 | 264 | 27 | ## Client diff --git a/api_docs/management.mdx b/api_docs/management.mdx index b9f1a7a5d30549..aa91fdfa8993c1 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-10-30 +date: 2023-11-06 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 10c16b80dc6194..a5feddb467c07f 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-10-30 +date: 2023-11-06 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 3c15fcf3d306ab..5049b83665709d 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.devdocs.json b/api_docs/metrics_data_access.devdocs.json index de32b9fe2732f4..fa981b59de2818 100644 --- a/api_docs/metrics_data_access.devdocs.json +++ b/api_docs/metrics_data_access.devdocs.json @@ -6,7 +6,167 @@ "interfaces": [], "enums": [], "misc": [], - "objects": [] + "objects": [], + "setup": { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginSetup", + "type": "Interface", + "tags": [], + "label": "MetricsDataPluginSetup", + "description": [], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginSetup.metricsClient", + "type": "Object", + "tags": [], + "label": "metricsClient", + "description": [], + "signature": [ + "MetricsDataClient" + ], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "lifecycle": "setup", + "initialIsOpen": true + }, + "start": { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginStart", + "type": "Interface", + "tags": [], + "label": "MetricsDataPluginStart", + "description": [], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginStart.metricsClient", + "type": "Object", + "tags": [], + "label": "metricsClient", + "description": [], + "signature": [ + "MetricsDataClient" + ], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginStart.HostMetricsTable", + "type": "Function", + "tags": [], + "label": "HostMetricsTable", + "description": [], + "signature": [ + "(props: ", + "NodeMetricsTableProps", + ") => JSX.Element" + ], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginStart.HostMetricsTable.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "NodeMetricsTableProps" + ], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginStart.PodMetricsTable", + "type": "Function", + "tags": [], + "label": "PodMetricsTable", + "description": [], + "signature": [ + "(props: ", + "NodeMetricsTableProps", + ") => JSX.Element" + ], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginStart.PodMetricsTable.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "NodeMetricsTableProps" + ], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginStart.ContainerMetricsTable", + "type": "Function", + "tags": [], + "label": "ContainerMetricsTable", + "description": [], + "signature": [ + "(props: ", + "NodeMetricsTableProps", + ") => JSX.Element" + ], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-public.MetricsDataPluginStart.ContainerMetricsTable.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "NodeMetricsTableProps" + ], + "path": "x-pack/plugins/metrics_data_access/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "lifecycle": "start", + "initialIsOpen": true + } }, "server": { "classes": [ @@ -348,10 +508,1320 @@ }, "common": { "classes": [], - "functions": [], + "functions": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.findInventoryFields", + "type": "Function", + "tags": [], + "label": "findInventoryFields", + "description": [], + "signature": [ + "(type: \"host\" | \"container\" | \"pod\" | \"awsEC2\" | \"awsS3\" | \"awsSQS\" | \"awsRDS\") => { id: string; name: string; os?: string | undefined; ip?: string | undefined; cloudProvider?: string | undefined; }" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.findInventoryFields.$1", + "type": "CompoundType", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"host\" | \"container\" | \"pod\" | \"awsEC2\" | \"awsS3\" | \"awsSQS\" | \"awsRDS\"" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.findInventoryModel", + "type": "Function", + "tags": [], + "label": "findInventoryModel", + "description": [], + "signature": [ + "(type: \"host\" | \"container\" | \"pod\" | \"awsEC2\" | \"awsS3\" | \"awsSQS\" | \"awsRDS\") => ", + "InventoryModel" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.findInventoryModel.$1", + "type": "CompoundType", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"host\" | \"container\" | \"pod\" | \"awsEC2\" | \"awsS3\" | \"awsSQS\" | \"awsRDS\"" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.getFieldByType", + "type": "Function", + "tags": [], + "label": "getFieldByType", + "description": [], + "signature": [ + "(type: \"host\" | \"container\" | \"pod\" | \"awsEC2\" | \"awsS3\" | \"awsSQS\" | \"awsRDS\") => \"container.id\" | \"host.name\" | \"kubernetes.pod.uid\" | undefined" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.getFieldByType.$1", + "type": "CompoundType", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"host\" | \"container\" | \"pod\" | \"awsEC2\" | \"awsS3\" | \"awsSQS\" | \"awsRDS\"" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.networkTraffic", + "type": "Function", + "tags": [], + "label": "networkTraffic", + "description": [], + "signature": [ + "(id: string, field: string) => { [x: string]: { [x: string]: { field: string; } | undefined; } | { percentiles: { field: string; percents: number[]; }; } | { bucket_script: { buckets_path: { [x: string]: string; }; script: { source: string; lang: \"painless\" | \"expression\"; }; } & { gap_policy?: \"insert_zeros\" | \"skip\" | undefined; }; } | { cumulative_sum: { buckets_path: string; }; } | { derivative: { buckets_path: string; gap_policy: \"insert_zeros\" | \"skip\"; unit: string; }; } | { sum_bucket: { buckets_path: string; }; } | ", + "SnapshotTermsWithAggregation", + " | { cardinality: { field?: string | undefined; }; } | { top_metrics: { metrics: { field: string; }[] | { field: string; }; } & { size?: number | undefined; sort?: { [x: string]: \"asc\" | \"desc\"; } | undefined; }; } | { filter: { exists: { field: string; }; }; aggs: { period: { max: { field: string; }; }; }; }; }" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/shared/metrics/snapshot/network_traffic.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.networkTraffic.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/shared/metrics/snapshot/network_traffic.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.networkTraffic.$2", + "type": "string", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/shared/metrics/snapshot/network_traffic.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], "interfaces": [], "enums": [], - "misc": [], - "objects": [] + "misc": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.awsEC2SnapshotMetricTypes", + "type": "Array", + "tags": [], + "label": "awsEC2SnapshotMetricTypes", + "description": [], + "signature": [ + "(\"rx\" | \"cpu\" | \"tx\" | \"diskIOReadBytes\" | \"diskIOWriteBytes\")[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/aws_ec2/metrics/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.awsRDSSnapshotMetricTypes", + "type": "Array", + "tags": [], + "label": "awsRDSSnapshotMetricTypes", + "description": [], + "signature": [ + "(\"cpu\" | \"rdsConnections\" | \"rdsQueriesExecuted\" | \"rdsActiveTransactions\" | \"rdsLatency\")[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/aws_rds/metrics/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.awsS3SnapshotMetricTypes", + "type": "Array", + "tags": [], + "label": "awsS3SnapshotMetricTypes", + "description": [], + "signature": [ + "(\"s3TotalRequests\" | \"s3NumberOfObjects\" | \"s3BucketSize\" | \"s3DownloadBytes\" | \"s3UploadBytes\")[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/aws_s3/metrics/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.awsSQSSnapshotMetricTypes", + "type": "Array", + "tags": [], + "label": "awsSQSSnapshotMetricTypes", + "description": [], + "signature": [ + "(\"sqsMessagesVisible\" | \"sqsMessagesDelayed\" | \"sqsMessagesSent\" | \"sqsMessagesEmpty\" | \"sqsOldestMessage\")[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/aws_sqs/metrics/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.containerSnapshotMetricTypes", + "type": "Array", + "tags": [], + "label": "containerSnapshotMetricTypes", + "description": [], + "signature": [ + "(\"memory\" | \"rx\" | \"cpu\" | \"tx\")[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/container/metrics/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.hostSnapshotMetricTypes", + "type": "Array", + "tags": [], + "label": "hostSnapshotMetricTypes", + "description": [], + "signature": [ + "(\"memory\" | \"rx\" | \"cpu\" | \"diskLatency\" | \"diskSpaceUsage\" | \"load\" | \"memoryFree\" | \"memoryTotal\" | \"normalizedLoad1m\" | \"tx\" | \"logRate\")[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/host/metrics/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.InventoryFormatterType", + "type": "Type", + "tags": [], + "label": "InventoryFormatterType", + "description": [], + "signature": [ + "\"number\" | \"percent\" | \"bytes\" | \"abbreviatedNumber\" | \"bits\" | \"highPrecision\"" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.InventoryItemType", + "type": "Type", + "tags": [], + "label": "InventoryItemType", + "description": [], + "signature": [ + "\"host\" | \"container\" | \"pod\" | \"awsEC2\" | \"awsS3\" | \"awsSQS\" | \"awsRDS\"" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.InventoryMetric", + "type": "Type", + "tags": [], + "label": "InventoryMetric", + "description": [], + "signature": [ + "\"custom\" | \"hostSystemOverview\" | \"hostCpuUsage\" | \"hostFilesystem\" | \"hostK8sOverview\" | \"hostK8sCpuCap\" | \"hostK8sDiskCap\" | \"hostK8sMemoryCap\" | \"hostK8sPodCap\" | \"hostLoad\" | \"hostMemoryUsage\" | \"hostNetworkTraffic\" | \"hostDockerOverview\" | \"hostDockerInfo\" | \"hostDockerTop5ByCpu\" | \"hostDockerTop5ByMemory\" | \"podOverview\" | \"podCpuUsage\" | \"podMemoryUsage\" | \"podLogUsage\" | \"podNetworkTraffic\" | \"containerOverview\" | \"containerCpuKernel\" | \"containerCpuUsage\" | \"containerDiskIOOps\" | \"containerDiskIOBytes\" | \"containerMemory\" | \"containerNetworkTraffic\" | \"containerK8sOverview\" | \"containerK8sCpuUsage\" | \"containerK8sMemoryUsage\" | \"nginxHits\" | \"nginxRequestRate\" | \"nginxActiveConnections\" | \"nginxRequestsPerConnection\" | \"awsOverview\" | \"awsCpuUtilization\" | \"awsNetworkBytes\" | \"awsNetworkPackets\" | \"awsDiskioBytes\" | \"awsDiskioOps\" | \"awsEC2CpuUtilization\" | \"awsEC2NetworkTraffic\" | \"awsEC2DiskIOBytes\" | \"awsS3TotalRequests\" | \"awsS3NumberOfObjects\" | \"awsS3BucketSize\" | \"awsS3DownloadBytes\" | \"awsS3UploadBytes\" | \"awsRDSCpuTotal\" | \"awsRDSConnections\" | \"awsRDSQueriesExecuted\" | \"awsRDSActiveTransactions\" | \"awsRDSLatency\" | \"awsSQSMessagesVisible\" | \"awsSQSMessagesDelayed\" | \"awsSQSMessagesSent\" | \"awsSQSMessagesEmpty\" | \"awsSQSOldestMessage\"" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.inventoryModels", + "type": "Array", + "tags": [], + "label": "inventoryModels", + "description": [], + "signature": [ + "InventoryModel", + "[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.InventoryVisType", + "type": "Type", + "tags": [], + "label": "InventoryVisType", + "description": [], + "signature": [ + "\"bar\" | \"line\" | \"area\"" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.MetricsUIAggregation", + "type": "Type", + "tags": [], + "label": "MetricsUIAggregation", + "description": [], + "signature": [ + "{ [x: string]: { [x: string]: { field: string; } | undefined; } | { percentiles: { field: string; percents: number[]; }; } | { bucket_script: { buckets_path: { [x: string]: string; }; script: { source: string; lang: \"painless\" | \"expression\"; }; } & { gap_policy?: \"insert_zeros\" | \"skip\" | undefined; }; } | { cumulative_sum: { buckets_path: string; }; } | { derivative: { buckets_path: string; gap_policy: \"insert_zeros\" | \"skip\"; unit: string; }; } | { sum_bucket: { buckets_path: string; }; } | ", + "SnapshotTermsWithAggregation", + " | { cardinality: { field?: string | undefined; }; } | { top_metrics: { metrics: { field: string; }[] | { field: string; }; } & { size?: number | undefined; sort?: { [x: string]: \"asc\" | \"desc\"; } | undefined; }; } | { filter: { exists: { field: string; }; }; aggs: { period: { max: { field: string; }; }; }; }; }" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.podSnapshotMetricTypes", + "type": "Array", + "tags": [], + "label": "podSnapshotMetricTypes", + "description": [], + "signature": [ + "(\"memory\" | \"rx\" | \"cpu\" | \"tx\")[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/pod/metrics/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricType", + "type": "Type", + "tags": [], + "label": "SnapshotMetricType", + "description": [], + "signature": [ + "\"count\" | \"custom\" | \"memory\" | \"rx\" | \"cpu\" | \"diskLatency\" | \"diskSpaceUsage\" | \"load\" | \"memoryFree\" | \"memoryTotal\" | \"normalizedLoad1m\" | \"tx\" | \"logRate\" | \"diskIOReadBytes\" | \"diskIOWriteBytes\" | \"s3TotalRequests\" | \"s3NumberOfObjects\" | \"s3BucketSize\" | \"s3DownloadBytes\" | \"s3UploadBytes\" | \"rdsConnections\" | \"rdsQueriesExecuted\" | \"rdsActiveTransactions\" | \"rdsLatency\" | \"sqsMessagesVisible\" | \"sqsMessagesDelayed\" | \"sqsMessagesSent\" | \"sqsMessagesEmpty\" | \"sqsOldestMessage\"" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.TSVBMetricModel", + "type": "Type", + "tags": [], + "label": "TSVBMetricModel", + "description": [], + "signature": [ + "{ id: \"custom\" | \"hostSystemOverview\" | \"hostCpuUsage\" | \"hostFilesystem\" | \"hostK8sOverview\" | \"hostK8sCpuCap\" | \"hostK8sDiskCap\" | \"hostK8sMemoryCap\" | \"hostK8sPodCap\" | \"hostLoad\" | \"hostMemoryUsage\" | \"hostNetworkTraffic\" | \"hostDockerOverview\" | \"hostDockerInfo\" | \"hostDockerTop5ByCpu\" | \"hostDockerTop5ByMemory\" | \"podOverview\" | \"podCpuUsage\" | \"podMemoryUsage\" | \"podLogUsage\" | \"podNetworkTraffic\" | \"containerOverview\" | \"containerCpuKernel\" | \"containerCpuUsage\" | \"containerDiskIOOps\" | \"containerDiskIOBytes\" | \"containerMemory\" | \"containerNetworkTraffic\" | \"containerK8sOverview\" | \"containerK8sCpuUsage\" | \"containerK8sMemoryUsage\" | \"nginxHits\" | \"nginxRequestRate\" | \"nginxActiveConnections\" | \"nginxRequestsPerConnection\" | \"awsOverview\" | \"awsCpuUtilization\" | \"awsNetworkBytes\" | \"awsNetworkPackets\" | \"awsDiskioBytes\" | \"awsDiskioOps\" | \"awsEC2CpuUtilization\" | \"awsEC2NetworkTraffic\" | \"awsEC2DiskIOBytes\" | \"awsS3TotalRequests\" | \"awsS3NumberOfObjects\" | \"awsS3BucketSize\" | \"awsS3DownloadBytes\" | \"awsS3UploadBytes\" | \"awsRDSCpuTotal\" | \"awsRDSConnections\" | \"awsRDSQueriesExecuted\" | \"awsRDSActiveTransactions\" | \"awsRDSLatency\" | \"awsSQSMessagesVisible\" | \"awsSQSMessagesDelayed\" | \"awsSQSMessagesSent\" | \"awsSQSMessagesEmpty\" | \"awsSQSOldestMessage\"; requires: string[]; index_pattern: string | string[]; interval: string; time_field: string; type: string; series: ({ id: string; metrics: ({ id: string; type: \"count\"; } | ({ id: string; type: \"min\" | \"max\" | \"sum\" | \"avg\" | \"count\" | \"cardinality\" | \"cumulative_sum\" | \"derivative\" | \"calculation\" | \"series_agg\" | \"positive_only\"; } & { field?: string | undefined; }) | { id: string; script: string; type: \"calculation\"; variables: { field: string; id: string; name: string; }[]; } | { id: string; field: string; unit: string; type: \"derivative\"; } | ({ id: string; type: \"percentile\"; percentiles: { id: string; value: number; }[]; } & { field?: string | undefined; }) | { id: string; function: string; type: \"series_agg\"; })[]; split_mode: string; } & { terms_field?: string | undefined; terms_size?: number | undefined; terms_order_by?: string | undefined; filter?: { query: string; language: \"kuery\" | \"lucene\"; } | undefined; })[]; } & { filter?: string | undefined; map_field_to?: string | undefined; id_type?: \"cloud\" | \"node\" | undefined; drop_last_bucket?: boolean | undefined; }" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.TSVBMetricModelCreator", + "type": "Type", + "tags": [], + "label": "TSVBMetricModelCreator", + "description": [], + "signature": [ + "(timeField: string, indexPattern: string | string[], interval: string) => { id: \"custom\" | \"hostSystemOverview\" | \"hostCpuUsage\" | \"hostFilesystem\" | \"hostK8sOverview\" | \"hostK8sCpuCap\" | \"hostK8sDiskCap\" | \"hostK8sMemoryCap\" | \"hostK8sPodCap\" | \"hostLoad\" | \"hostMemoryUsage\" | \"hostNetworkTraffic\" | \"hostDockerOverview\" | \"hostDockerInfo\" | \"hostDockerTop5ByCpu\" | \"hostDockerTop5ByMemory\" | \"podOverview\" | \"podCpuUsage\" | \"podMemoryUsage\" | \"podLogUsage\" | \"podNetworkTraffic\" | \"containerOverview\" | \"containerCpuKernel\" | \"containerCpuUsage\" | \"containerDiskIOOps\" | \"containerDiskIOBytes\" | \"containerMemory\" | \"containerNetworkTraffic\" | \"containerK8sOverview\" | \"containerK8sCpuUsage\" | \"containerK8sMemoryUsage\" | \"nginxHits\" | \"nginxRequestRate\" | \"nginxActiveConnections\" | \"nginxRequestsPerConnection\" | \"awsOverview\" | \"awsCpuUtilization\" | \"awsNetworkBytes\" | \"awsNetworkPackets\" | \"awsDiskioBytes\" | \"awsDiskioOps\" | \"awsEC2CpuUtilization\" | \"awsEC2NetworkTraffic\" | \"awsEC2DiskIOBytes\" | \"awsS3TotalRequests\" | \"awsS3NumberOfObjects\" | \"awsS3BucketSize\" | \"awsS3DownloadBytes\" | \"awsS3UploadBytes\" | \"awsRDSCpuTotal\" | \"awsRDSConnections\" | \"awsRDSQueriesExecuted\" | \"awsRDSActiveTransactions\" | \"awsRDSLatency\" | \"awsSQSMessagesVisible\" | \"awsSQSMessagesDelayed\" | \"awsSQSMessagesSent\" | \"awsSQSMessagesEmpty\" | \"awsSQSOldestMessage\"; requires: string[]; index_pattern: string | string[]; interval: string; time_field: string; type: string; series: ({ id: string; metrics: ({ id: string; type: \"count\"; } | ({ id: string; type: \"min\" | \"max\" | \"sum\" | \"avg\" | \"count\" | \"cardinality\" | \"cumulative_sum\" | \"derivative\" | \"calculation\" | \"series_agg\" | \"positive_only\"; } & { field?: string | undefined; }) | { id: string; script: string; type: \"calculation\"; variables: { field: string; id: string; name: string; }[]; } | { id: string; field: string; unit: string; type: \"derivative\"; } | ({ id: string; type: \"percentile\"; percentiles: { id: string; value: number; }[]; } & { field?: string | undefined; }) | { id: string; function: string; type: \"series_agg\"; })[]; split_mode: string; } & { terms_field?: string | undefined; terms_size?: number | undefined; terms_order_by?: string | undefined; filter?: { query: string; language: \"kuery\" | \"lucene\"; } | undefined; })[]; } & { filter?: string | undefined; map_field_to?: string | undefined; id_type?: \"cloud\" | \"node\" | undefined; drop_last_bucket?: boolean | undefined; }" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.TSVBMetricModelCreator.$1", + "type": "string", + "tags": [], + "label": "timeField", + "description": [], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.TSVBMetricModelCreator.$2", + "type": "CompoundType", + "tags": [], + "label": "indexPattern", + "description": [], + "signature": [ + "string | string[]" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.TSVBMetricModelCreator.$3", + "type": "string", + "tags": [], + "label": "interval", + "description": [], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.ESBasicMetricAggRT", + "type": "Object", + "tags": [], + "label": "ESBasicMetricAggRT", + "description": [], + "signature": [ + "RecordC", + "<", + "StringC", + ", ", + "UnionC", + "<[", + "UndefinedC", + ", ", + "TypeC", + "<{ field: ", + "StringC", + "; }>]>>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.ESDerivativeAggRT", + "type": "Object", + "tags": [], + "label": "ESDerivativeAggRT", + "description": [], + "signature": [ + "TypeC", + "<{ derivative: ", + "TypeC", + "<{ buckets_path: ", + "StringC", + "; gap_policy: ", + "KeyofC", + "<{ skip: null; insert_zeros: null; }>; unit: ", + "StringC", + "; }>; }>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.ESSumBucketAggRT", + "type": "Object", + "tags": [], + "label": "ESSumBucketAggRT", + "description": [], + "signature": [ + "TypeC", + "<{ sum_bucket: ", + "TypeC", + "<{ buckets_path: ", + "StringC", + "; }>; }>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.ESTermsWithAggregationRT", + "type": "Object", + "tags": [], + "label": "ESTermsWithAggregationRT", + "description": [], + "signature": [ + "Type", + "<", + "SnapshotTermsWithAggregation", + ", ", + "SnapshotTermsWithAggregation", + ", unknown>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.InventoryFormatterTypeRT", + "type": "Object", + "tags": [], + "label": "InventoryFormatterTypeRT", + "description": [], + "signature": [ + "KeyofC", + "<{ abbreviatedNumber: null; bits: null; bytes: null; number: null; percent: null; highPrecision: null; }>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.InventoryMetricRT", + "type": "Object", + "tags": [], + "label": "InventoryMetricRT", + "description": [], + "signature": [ + "KeyofC", + "<{ hostSystemOverview: null; hostCpuUsage: null; hostFilesystem: null; hostK8sOverview: null; hostK8sCpuCap: null; hostK8sDiskCap: null; hostK8sMemoryCap: null; hostK8sPodCap: null; hostLoad: null; hostMemoryUsage: null; hostNetworkTraffic: null; hostDockerOverview: null; hostDockerInfo: null; hostDockerTop5ByCpu: null; hostDockerTop5ByMemory: null; podOverview: null; podCpuUsage: null; podMemoryUsage: null; podLogUsage: null; podNetworkTraffic: null; containerOverview: null; containerCpuKernel: null; containerCpuUsage: null; containerDiskIOOps: null; containerDiskIOBytes: null; containerMemory: null; containerNetworkTraffic: null; containerK8sOverview: null; containerK8sCpuUsage: null; containerK8sMemoryUsage: null; nginxHits: null; nginxRequestRate: null; nginxActiveConnections: null; nginxRequestsPerConnection: null; awsOverview: null; awsCpuUtilization: null; awsNetworkBytes: null; awsNetworkPackets: null; awsDiskioBytes: null; awsDiskioOps: null; awsEC2CpuUtilization: null; awsEC2NetworkTraffic: null; awsEC2DiskIOBytes: null; awsS3TotalRequests: null; awsS3NumberOfObjects: null; awsS3BucketSize: null; awsS3DownloadBytes: null; awsS3UploadBytes: null; awsRDSCpuTotal: null; awsRDSConnections: null; awsRDSQueriesExecuted: null; awsRDSActiveTransactions: null; awsRDSLatency: null; awsSQSMessagesVisible: null; awsSQSMessagesDelayed: null; awsSQSMessagesSent: null; awsSQSMessagesEmpty: null; awsSQSOldestMessage: null; custom: null; }>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.InventoryVisTypeRT", + "type": "Object", + "tags": [], + "label": "InventoryVisTypeRT", + "description": [], + "signature": [ + "KeyofC", + "<{ line: null; area: null; bar: null; }>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.ItemTypeRT", + "type": "Object", + "tags": [], + "label": "ItemTypeRT", + "description": [], + "signature": [ + "KeyofC", + "<{ host: null; pod: null; container: null; awsEC2: null; awsS3: null; awsSQS: null; awsRDS: null; }>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics", + "type": "Object", + "tags": [], + "label": "metrics", + "description": [], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb", + "type": "Object", + "tags": [], + "label": "tsvb", + "description": [], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.metrics.tsvb.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/metrics.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.MetricsUIAggregationRT", + "type": "Object", + "tags": [], + "label": "MetricsUIAggregationRT", + "description": [], + "signature": [ + "RecordC", + "<", + "StringC", + ", ", + "UnionC", + "<[", + "RecordC", + "<", + "StringC", + ", ", + "UnionC", + "<[", + "UndefinedC", + ", ", + "TypeC", + "<{ field: ", + "StringC", + "; }>]>>, ", + "TypeC", + "<{ percentiles: ", + "TypeC", + "<{ field: ", + "StringC", + "; percents: ", + "ArrayC", + "<", + "NumberC", + ">; }>; }>, ", + "TypeC", + "<{ bucket_script: ", + "IntersectionC", + "<[", + "TypeC", + "<{ buckets_path: ", + "RecordC", + "<", + "StringC", + ", ", + "StringC", + ">; script: ", + "TypeC", + "<{ source: ", + "StringC", + "; lang: ", + "KeyofC", + "<{ painless: null; expression: null; }>; }>; }>, ", + "PartialC", + "<{ gap_policy: ", + "KeyofC", + "<{ skip: null; insert_zeros: null; }>; }>]>; }>, ", + "TypeC", + "<{ cumulative_sum: ", + "TypeC", + "<{ buckets_path: ", + "StringC", + "; }>; }>, ", + "TypeC", + "<{ derivative: ", + "TypeC", + "<{ buckets_path: ", + "StringC", + "; gap_policy: ", + "KeyofC", + "<{ skip: null; insert_zeros: null; }>; unit: ", + "StringC", + "; }>; }>, ", + "TypeC", + "<{ sum_bucket: ", + "TypeC", + "<{ buckets_path: ", + "StringC", + "; }>; }>, ", + "Type", + "<", + "SnapshotTermsWithAggregation", + ", ", + "SnapshotTermsWithAggregation", + ", unknown>, ", + "TypeC", + "<{ cardinality: ", + "PartialC", + "<{ field: ", + "StringC", + "; }>; }>, ", + "TypeC", + "<{ top_metrics: ", + "IntersectionC", + "<[", + "TypeC", + "<{ metrics: ", + "UnionC", + "<[", + "ArrayC", + "<", + "TypeC", + "<{ field: ", + "StringC", + "; }>>, ", + "TypeC", + "<{ field: ", + "StringC", + "; }>]>; }>, ", + "PartialC", + "<{ size: ", + "NumberC", + "; sort: ", + "RecordC", + "<", + "StringC", + ", ", + "UnionC", + "<[", + "LiteralC", + "<\"desc\">, ", + "LiteralC", + "<\"asc\">]>>; }>]>; }>, ", + "TypeC", + "<{ filter: ", + "TypeC", + "<{ exists: ", + "TypeC", + "<{ field: ", + "StringC", + "; }>; }>; aggs: ", + "TypeC", + "<{ period: ", + "TypeC", + "<{ max: ", + "TypeC", + "<{ field: ", + "StringC", + "; }>; }>; }>; }>]>>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys", + "type": "Object", + "tags": [], + "label": "SnapshotMetricTypeKeys", + "description": [], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.count", + "type": "Uncategorized", + "tags": [], + "label": "count", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.cpu", + "type": "Uncategorized", + "tags": [], + "label": "cpu", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.diskLatency", + "type": "Uncategorized", + "tags": [], + "label": "diskLatency", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.diskSpaceUsage", + "type": "Uncategorized", + "tags": [], + "label": "diskSpaceUsage", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.load", + "type": "Uncategorized", + "tags": [], + "label": "load", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.memory", + "type": "Uncategorized", + "tags": [], + "label": "memory", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.memoryFree", + "type": "Uncategorized", + "tags": [], + "label": "memoryFree", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.memoryTotal", + "type": "Uncategorized", + "tags": [], + "label": "memoryTotal", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.normalizedLoad1m", + "type": "Uncategorized", + "tags": [], + "label": "normalizedLoad1m", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.tx", + "type": "Uncategorized", + "tags": [], + "label": "tx", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.rx", + "type": "Uncategorized", + "tags": [], + "label": "rx", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.logRate", + "type": "Uncategorized", + "tags": [], + "label": "logRate", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.diskIOReadBytes", + "type": "Uncategorized", + "tags": [], + "label": "diskIOReadBytes", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.diskIOWriteBytes", + "type": "Uncategorized", + "tags": [], + "label": "diskIOWriteBytes", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.s3TotalRequests", + "type": "Uncategorized", + "tags": [], + "label": "s3TotalRequests", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.s3NumberOfObjects", + "type": "Uncategorized", + "tags": [], + "label": "s3NumberOfObjects", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.s3BucketSize", + "type": "Uncategorized", + "tags": [], + "label": "s3BucketSize", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.s3DownloadBytes", + "type": "Uncategorized", + "tags": [], + "label": "s3DownloadBytes", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.s3UploadBytes", + "type": "Uncategorized", + "tags": [], + "label": "s3UploadBytes", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.rdsConnections", + "type": "Uncategorized", + "tags": [], + "label": "rdsConnections", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.rdsQueriesExecuted", + "type": "Uncategorized", + "tags": [], + "label": "rdsQueriesExecuted", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.rdsActiveTransactions", + "type": "Uncategorized", + "tags": [], + "label": "rdsActiveTransactions", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.rdsLatency", + "type": "Uncategorized", + "tags": [], + "label": "rdsLatency", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.sqsMessagesVisible", + "type": "Uncategorized", + "tags": [], + "label": "sqsMessagesVisible", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.sqsMessagesDelayed", + "type": "Uncategorized", + "tags": [], + "label": "sqsMessagesDelayed", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.sqsMessagesSent", + "type": "Uncategorized", + "tags": [], + "label": "sqsMessagesSent", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.sqsMessagesEmpty", + "type": "Uncategorized", + "tags": [], + "label": "sqsMessagesEmpty", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.sqsOldestMessage", + "type": "Uncategorized", + "tags": [], + "label": "sqsOldestMessage", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeKeys.custom", + "type": "Uncategorized", + "tags": [], + "label": "custom", + "description": [], + "signature": [ + "null" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-common.SnapshotMetricTypeRT", + "type": "Object", + "tags": [], + "label": "SnapshotMetricTypeRT", + "description": [], + "signature": [ + "KeyofC", + "<{ count: null; cpu: null; diskLatency: null; diskSpaceUsage: null; load: null; memory: null; memoryFree: null; memoryTotal: null; normalizedLoad1m: null; tx: null; rx: null; logRate: null; diskIOReadBytes: null; diskIOWriteBytes: null; s3TotalRequests: null; s3NumberOfObjects: null; s3BucketSize: null; s3DownloadBytes: null; s3UploadBytes: null; rdsConnections: null; rdsQueriesExecuted: null; rdsActiveTransactions: null; rdsLatency: null; sqsMessagesVisible: null; sqsMessagesDelayed: null; sqsMessagesSent: null; sqsMessagesEmpty: null; sqsOldestMessage: null; custom: null; }>" + ], + "path": "x-pack/plugins/metrics_data_access/common/inventory_models/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] } } \ No newline at end of file diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index 2c1fe7fcae977a..5043c3dde5fb21 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; @@ -21,7 +21,15 @@ Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/inf | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 16 | 0 | 16 | 0 | +| 104 | 8 | 104 | 4 | + +## Client + +### Setup + + +### Start + ## Server @@ -40,3 +48,14 @@ Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/inf ### Consts, variables and types +## Common + +### Objects + + +### Functions + + +### Consts, variables and types + + diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 84badf75ede297..308adfc7bc0c42 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-10-30 +date: 2023-11-06 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 5fe7b0b11ccca5..498fd70c0c9f7e 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-10-30 +date: 2023-11-06 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 98833ef37d55c7..db66874d050bd6 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-10-30 +date: 2023-11-06 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 06db171e8acbdb..6c72b98044cf34 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-10-30 +date: 2023-11-06 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 1c0db67bfa7688..d410e23321cbde 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 571600b23feb0e..e6af864399727f 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index cd9768eef5f700..b19753524ebd21 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index 8b1c1ba453e55d..06942864aef609 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -2908,7 +2908,8 @@ "docId": "kibGuidedOnboardingPluginApi", "section": "def-public.GuidedOnboardingPluginStart", "text": "GuidedOnboardingPluginStart" - } + }, + " | undefined" ], "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, @@ -3276,6 +3277,27 @@ "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ObservabilityPublicPluginsStart.serverless", + "type": "Object", + "tags": [], + "label": "serverless", + "description": [], + "signature": [ + { + "pluginId": "serverless", + "scope": "public", + "docId": "kibServerlessPluginApi", + "section": "def-public.ServerlessPluginStart", + "text": "ServerlessPluginStart" + }, + " | undefined" + ], + "path": "x-pack/plugins/observability/public/plugin.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -8057,7 +8079,7 @@ "label": "config", "description": [], "signature": [ - "{ readonly enabled: boolean; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly customThresholdRule: Readonly<{} & { groupByPageSize: number; }>; }" + "{ readonly enabled: boolean; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly customThresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly createO11yGenericFeatureId: boolean; }" ], "path": "x-pack/plugins/observability/server/routes/types.ts", "deprecated": false, @@ -9739,7 +9761,7 @@ "label": "ObservabilityConfig", "description": [], "signature": [ - "{ readonly enabled: boolean; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly customThresholdRule: Readonly<{} & { groupByPageSize: number; }>; }" + "{ readonly enabled: boolean; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly customThresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly createO11yGenericFeatureId: boolean; }" ], "path": "x-pack/plugins/observability/server/index.ts", "deprecated": false, @@ -13964,7 +13986,7 @@ "label": "ObservabilityPluginSetup", "description": [], "signature": [ - "{ getAlertDetailsConfig(): Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; getScopedAnnotationsClient: (requestContext: ", + "{ getAlertDetailsConfig(): Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; getScopedAnnotationsClient: (requestContext: ", { "pluginId": "@kbn/core-http-request-handler-context-server", "scope": "common", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 7488d4c103596a..d3b50e14771eb5 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 579 | 2 | 570 | 17 | +| 580 | 2 | 571 | 17 | ## Client diff --git a/api_docs/observability_a_i_assistant.devdocs.json b/api_docs/observability_a_i_assistant.devdocs.json index 8a6e054621aa05..9ef9ee9d5273f9 100644 --- a/api_docs/observability_a_i_assistant.devdocs.json +++ b/api_docs/observability_a_i_assistant.devdocs.json @@ -19,7 +19,15 @@ "section": "def-common.Message", "text": "Message" }, - "[]; title: string; } & React.RefAttributes<{}>>" + "[]; title: string; } & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, + " & React.RefAttributes<{}>>" ], "path": "x-pack/plugins/observability_ai_assistant/public/index.ts", "deprecated": false, @@ -51,7 +59,15 @@ "label": "ObservabilityAIAssistantActionMenuItem", "description": [], "signature": [ - "React.ForwardRefExoticComponent>" + "React.ForwardRefExoticComponent<", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, + " & React.RefAttributes<{}>>" ], "path": "x-pack/plugins/observability_ai_assistant/public/index.ts", "deprecated": false, diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index cfb4190e6b11d8..e7f247ab540b5b 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_log_explorer.mdx b/api_docs/observability_log_explorer.mdx index ca3a06d48b8171..7b6ec386bc7021 100644 --- a/api_docs/observability_log_explorer.mdx +++ b/api_docs/observability_log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogExplorer title: "observabilityLogExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogExplorer plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogExplorer'] --- import observabilityLogExplorerObj from './observability_log_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index c406e2cf10d7e8..84a965b18536d9 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index b5495089153d7e..a21c8f36c672e9 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 919c674decde33..459e897346a0fc 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index bf8d936ed17c44..ca05cb66654591 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 54416c1665fe8f..158868e57b6a06 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-10-30 +date: 2023-11-06 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 | |--------------|----------|------------------------| -| 704 | 594 | 41 | +| 700 | 592 | 41 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 75925 | 223 | 64928 | 1593 | +| 76048 | 232 | 65029 | 1592 | ## Plugin Directory @@ -56,14 +56,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 268 | 0 | 249 | 1 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 109 | 0 | 106 | 11 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 54 | 0 | 51 | 0 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3186 | 32 | 2537 | 22 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3193 | 32 | 2542 | 22 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 35 | 0 | 25 | 5 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data view management app | 2 | 0 | 2 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 918 | 0 | 255 | 4 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 31 | 3 | 25 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 12 | 0 | 10 | 3 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 120 | 0 | 77 | 19 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 130 | 0 | 87 | 18 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 37 | 0 | 35 | 2 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | APIs used to assess the quality of data in Elasticsearch indexes | 2 | 0 | 0 | 0 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Server APIs for the Elastic AI Assistant | 4 | 0 | 2 | 0 | @@ -75,7 +75,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 201 | 0 | 201 | 6 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The listing page for event annotations. | 15 | 0 | 15 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 111 | 0 | 111 | 11 | -| | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 132 | 1 | 132 | 14 | +| | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 131 | 1 | 131 | 14 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'error' renderer to expressions | 17 | 0 | 15 | 2 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Gauge plugin adds a `gauge` renderer and function to the expression plugin. The renderer will display the `gauge` chart. | 59 | 0 | 59 | 2 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Heatmap plugin adds a `heatmap` renderer and function to the expression plugin. The renderer will display the `heatmap` chart. | 112 | 0 | 108 | 2 | @@ -89,13 +89,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'shape' function and renderer to expressions | 148 | 0 | 146 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Tagcloud plugin adds a `tagcloud` renderer and function to the expression plugin. The renderer will display the `Wordcloud` chart. | 6 | 0 | 6 | 2 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression XY plugin adds a `xy` renderer and function to the expression plugin. The renderer will display the `xy` chart. | 176 | 0 | 166 | 13 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Adds expression runtime to Kibana | 2208 | 17 | 1749 | 5 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Adds expression runtime to Kibana | 2224 | 17 | 1765 | 5 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 235 | 0 | 99 | 2 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Index pattern fields and ambiguous values formatters | 292 | 5 | 253 | 3 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | 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. | 59 | 0 | 59 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | File upload, download, sharing, and serving over HTTP implementation in Kibana. | 239 | 0 | 24 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Simple UI for managing files in Kibana | 2 | 0 | 2 | 0 | -| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1209 | 3 | 1091 | 44 | +| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1209 | 3 | 1091 | 45 | | ftrApis | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 68 | 0 | 14 | 5 | | globalSearchBar | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 0 | 0 | 0 | 0 | @@ -106,14 +106,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 149 | 0 | 109 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Image embeddable | 3 | 0 | 3 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | -| | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 199 | 0 | 194 | 3 | -| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 42 | 0 | 39 | 11 | +| | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 204 | 0 | 199 | 4 | +| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 35 | 0 | 32 | 9 | | ingestPipelines | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | inputControlVis | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Input Control visualization to Kibana | 0 | 0 | 0 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 123 | 2 | 96 | 4 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides UI and APIs for the interactive setup mode. | 28 | 0 | 18 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 173 | 0 | 137 | 4 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 169 | 0 | 134 | 3 | | kibanaUsageCollection | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 610 | 3 | 417 | 9 | | | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | - | 5 | 0 | 5 | 1 | @@ -124,12 +124,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | A dashboard panel for creating links to dashboards or external links. | 64 | 0 | 62 | 7 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 224 | 0 | 96 | 51 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin provides a LogExplorer component using the Discover customization framework, offering several affordances specifically designed for log consumption. | 22 | 0 | 22 | 7 | -| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Exposes the shared components and APIs to access and visualize logs. | 269 | 10 | 256 | 27 | +| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Exposes the shared components and APIs to access and visualize logs. | 279 | 10 | 264 | 27 | | logstash | [@elastic/logstash](https://github.com/orgs/elastic/teams/logstash) | - | 0 | 0 | 0 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 45 | 0 | 45 | 7 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 259 | 0 | 258 | 28 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 68 | 0 | 68 | 0 | -| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Exposes utilities for accessing metrics data | 16 | 0 | 16 | 0 | +| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Exposes utilities for accessing metrics data | 104 | 8 | 104 | 4 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 150 | 3 | 64 | 33 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 15 | 3 | 13 | 1 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 9 | 0 | 9 | 0 | @@ -137,7 +137,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 579 | 2 | 570 | 17 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 580 | 2 | 571 | 17 | | | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 42 | 0 | 39 | 7 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin exposes and registers observability log consumption features. | 15 | 0 | 15 | 1 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 14 | 0 | 14 | 0 | @@ -185,7 +185,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 240 | 1 | 196 | 17 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the transforms features provided by Elastic. Transforms enable you to convert existing Elasticsearch indices into summarized indices, which provide opportunities for new insights and analytics. | 4 | 0 | 4 | 1 | | translations | [@elastic/kibana-localization](https://github.com/orgs/elastic/teams/kibana-localization) | - | 0 | 0 | 0 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 580 | 1 | 554 | 55 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 581 | 1 | 555 | 55 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds UI Actions service to Kibana | 145 | 0 | 103 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Extends UI Actions plugin with more functionality | 212 | 0 | 145 | 10 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains services reliant on the plugin lifecycle for the unified doc viewer component (see @kbn/unified-doc-viewer). | 13 | 0 | 10 | 3 | @@ -244,8 +244,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 3 | 0 | 3 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 62 | 0 | 17 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 2 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 33 | 0 | 32 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 26 | 0 | 9 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 206 | 0 | 169 | 8 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 75 | 0 | 46 | 10 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 24 | 0 | 24 | 0 | @@ -300,7 +299,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 22 | 0 | 13 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 37 | 1 | 33 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 111 | 0 | 54 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 38 | 0 | 34 | 3 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 42 | 0 | 37 | 3 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 13 | 1 | 13 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | @@ -487,7 +486,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 23 | 0 | 7 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 8 | 0 | 2 | 3 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 45 | 0 | 0 | 0 | -| | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 129 | 0 | 129 | 0 | +| | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 131 | 0 | 130 | 0 | | | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 20 | 0 | 11 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 81 | 0 | 3 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 54 | 0 | 6 | 0 | @@ -528,12 +527,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-performance-testing](https://github.com/orgs/elastic/teams/kibana-performance-testing) | - | 3 | 0 | 3 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | -| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 165 | 0 | 22 | 0 | +| | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 171 | 0 | 28 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 13 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 22 | 0 | 9 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 1 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 4 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 18 | 0 | 3 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 11 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 7 | 0 | @@ -545,7 +544,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | A component for creating resizable layouts containing a fixed width panel and a flexible panel, with support for horizontal and vertical layouts. | 18 | 0 | 5 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 13 | 2 | 8 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 16 | 0 | 16 | 1 | -| | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 114 | 0 | 111 | 0 | +| | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 115 | 0 | 112 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 68 | 0 | 68 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 2211 | 0 | 2211 | 0 | @@ -582,13 +581,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 0 | 0 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 4 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 2 | 2 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 4 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 13 | 0 | 9 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 2 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 28 | 0 | 10 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 0 | 28 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 58 | 0 | 47 | 4 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 2 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 60 | 0 | 49 | 4 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 2 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 5 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | @@ -619,7 +617,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 1 | 0 | 1 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 0 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 15 | 0 | 4 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 3 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 11 | 0 | 3 | 0 | | | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 129 | 0 | 126 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 20 | 0 | 12 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 102 | 2 | 65 | 1 | @@ -627,7 +625,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 41 | 2 | 21 | 0 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 24 | 0 | 16 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 5 | 1 | -| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 290 | 4 | 243 | 12 | +| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 291 | 4 | 244 | 12 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 137 | 5 | 105 | 2 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 1 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 22 | 0 | 21 | 0 | @@ -638,11 +636,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 53 | 0 | 44 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 7 | 0 | 6 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the unified data table which can be integrated into apps | 109 | 0 | 49 | 1 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 10 | 0 | 7 | 6 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 10 | 0 | 7 | 7 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list and field stats which can be integrated into apps | 285 | 0 | 261 | 9 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 4 | 0 | 0 | 0 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 3 | 0 | 2 | 1 | -| | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 80 | 0 | 21 | 2 | +| | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 80 | 1 | 21 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 37 | 0 | 16 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 2 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 24 | 0 | 14 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 6191fedc24ef74..365649ee540273 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-10-30 +date: 2023-11-06 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 2633348a44ae14..847452aa298cf4 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 8785e5871523de..5a7a9b8a59d070 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index fe89ba29db324f..def6616f8fb6b4 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-10-30 +date: 2023-11-06 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 3e1b7579d0e93b..11d94c6d3061e1 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-10-30 +date: 2023-11-06 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 c15d47334e506d..e79035731bdae1 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.devdocs.json b/api_docs/rule_registry.devdocs.json index 7b7a9ba12da621..906b1e98dd57f8 100644 --- a/api_docs/rule_registry.devdocs.json +++ b/api_docs/rule_registry.devdocs.json @@ -2285,7 +2285,7 @@ "\nID of the Kibana feature associated with the index.\nUsed by alerts-as-data RBAC.\n\nNote from @dhurley14\nThe purpose of the `feature` param is to force the user to update\nthe data structure which contains the mapping of consumers to alerts\nas data indices. The idea is it is typed such that it forces the\nuser to go to the code and modify it. At least until a better system\nis put in place or we move the alerts as data client out of rule registry.\n" ], "signature": [ - "\"uptime\" | \"siem\" | \"apm\" | \"observability\" | \"logs\" | \"infrastructure\" | \"slo\"" + "\"uptime\" | \"siem\" | \"observability\" | \"apm\" | \"logs\" | \"infrastructure\" | \"slo\"" ], "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_options.ts", "deprecated": false, diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 2b85c658e4723c..de5b755011935e 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-10-30 +date: 2023-11-06 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 c1b648ff330df4..629c95c5d04ed4 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-10-30 +date: 2023-11-06 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 268541e0966d62..15030d4ab31ab7 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-10-30 +date: 2023-11-06 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 385dc9e63c9363..4cab98e4ac01d3 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-10-30 +date: 2023-11-06 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 31b90df8a40a22..237d03dd841961 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-10-30 +date: 2023-11-06 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 0728d46946328e..ccaa377045d5b3 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-10-30 +date: 2023-11-06 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 238f1d28701a18..f5a7035a179b95 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.devdocs.json b/api_docs/saved_search.devdocs.json index 3945e98295ff17..1268c90a7f3315 100644 --- a/api_docs/saved_search.devdocs.json +++ b/api_docs/saved_search.devdocs.json @@ -107,7 +107,7 @@ "label": "sharingSavedObjectProps", "description": [], "signature": [ - "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" + "{ outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" ], "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", "deprecated": false, @@ -135,7 +135,7 @@ "label": "sharingSavedObjectProps", "description": [], "signature": [ - "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" + "{ outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" ], "path": "src/plugins/saved_search/public/services/saved_searches/saved_search_attribute_service.ts", "deprecated": false, @@ -1563,7 +1563,7 @@ "label": "sharingSavedObjectProps", "description": [], "signature": [ - "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" + "{ outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" ], "path": "src/plugins/saved_search/common/types.ts", "deprecated": false, diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index bbcfb98f32c62c..21ea73fc46c9a6 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-10-30 +date: 2023-11-06 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 834372b8f05023..50f37ecc7352a1 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-10-30 +date: 2023-11-06 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 88a076dd089c84..f1a634482ed94f 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-10-30 +date: 2023-11-06 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 db2edde9536054..422b8e33327593 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-10-30 +date: 2023-11-06 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 07037769d700ad..e092e4b26dd567 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index be1e74d063c6a2..3917e7063d0eae 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index c7a8198f71e287..f15f876a1da016 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 8b0a836b51495e..7ad6e4a78fb9ff 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index c61929c1e149c9..427fd3e57996f4 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index f44f6d1d3df613..1181dba00bc2c2 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index d03db5b15a242c..7a7cb1b3d4dff3 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-10-30 +date: 2023-11-06 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 5ef8fe3c48431c..bfa99db78a88f0 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-10-30 +date: 2023-11-06 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 96a5a1c58116a1..06830486014425 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-10-30 +date: 2023-11-06 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 e8fa7377bd72a6..72bd4f5b15213f 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-10-30 +date: 2023-11-06 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 dcc68892841d77..e107b06f285b03 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-10-30 +date: 2023-11-06 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 2b95b01e47f376..7795802b49c690 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-10-30 +date: 2023-11-06 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 26e0852e022be7..10b7df753471f9 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-10-30 +date: 2023-11-06 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 8f6f3312374c63..6360fa40bda4c8 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-10-30 +date: 2023-11-06 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 9f5ebb389af348..90af0932fdd920 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-10-30 +date: 2023-11-06 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 9f7b5982cd9b75..e6c9e24d27dddd 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-10-30 +date: 2023-11-06 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 0b0d50f9754130..cdb89a5e33e419 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 577f79ade72452..7f7ffe2d8c8e06 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index d8c1747f35f21d..7af15a78e537c4 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.devdocs.json b/api_docs/timelines.devdocs.json index 09f5634ee16b3c..db1e9f2aad2896 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -937,9 +937,7 @@ "EuiButtonIconPropsForAnchor", "> & { type?: string | undefined; } & ", "EuiButtonIconProps", - " & { href?: string | undefined; onClick?: React.MouseEventHandler | undefined; } & React.AnchorHTMLAttributes & { buttonRef?: React.Ref | undefined; })> | typeof ", - "EuiContextMenuItem", - " | undefined" + " & { href?: string | undefined; onClick?: React.MouseEventHandler | undefined; } & React.AnchorHTMLAttributes & { buttonRef?: React.Ref | undefined; })> | React.FunctionComponent | undefined" ], "path": "x-pack/plugins/timelines/public/components/hover_actions/actions/add_to_timeline.tsx", "deprecated": false, diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index b129bdc641d617..5c87d73da129f5 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-10-30 +date: 2023-11-06 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 58bb722b4baacf..48c5e01ee81522 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.devdocs.json b/api_docs/triggers_actions_ui.devdocs.json index b81c36d0dbc45b..ca061e520518de 100644 --- a/api_docs/triggers_actions_ui.devdocs.json +++ b/api_docs/triggers_actions_ui.devdocs.json @@ -5811,6 +5811,17 @@ "path": "x-pack/plugins/triggers_actions_ui/public/application/app.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "triggersActionsUi", + "id": "def-public.TriggersAndActionsUiServices.isServerless", + "type": "boolean", + "tags": [], + "label": "isServerless", + "description": [], + "path": "x-pack/plugins/triggers_actions_ui/public/application/app.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -6332,7 +6343,7 @@ "label": "RuleCreationValidConsumer", "description": [], "signature": [ - "\"logs\" | \"infrastructure\" | \"stackAlerts\"" + "\"observability\" | \"stackAlerts\" | \"logs\" | \"infrastructure\"" ], "path": "x-pack/plugins/triggers_actions_ui/public/types.ts", "deprecated": false, diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index c851d9ebcd877c..aa54d5fac7346f 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 580 | 1 | 554 | 55 | +| 581 | 1 | 555 | 55 | ## Client diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 81034eb17e0d9c..9bc5d69c12d8f8 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-10-30 +date: 2023-11-06 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 cb6ffa3f99f1c2..decb968f91f9dc 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.devdocs.json b/api_docs/unified_doc_viewer.devdocs.json index eb3609aa71e6d7..3a98a829b9e6bb 100644 --- a/api_docs/unified_doc_viewer.devdocs.json +++ b/api_docs/unified_doc_viewer.devdocs.json @@ -13,6 +13,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "JsonCodeEditorProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "src/plugins/unified_doc_viewer/public/index.tsx", @@ -47,6 +55,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "DocViewRenderProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "src/plugins/unified_doc_viewer/public/index.tsx", diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 2c6675cadb08dd..654ec8def10f68 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.devdocs.json b/api_docs/unified_histogram.devdocs.json index de6f277f87c70d..8cf2ef256b1aff 100644 --- a/api_docs/unified_histogram.devdocs.json +++ b/api_docs/unified_histogram.devdocs.json @@ -468,7 +468,15 @@ }, " | undefined; isChartLoading?: boolean | undefined; } & Pick<", "UnifiedHistogramLayoutProps", - ", \"children\" | \"className\" | \"query\" | \"filters\" | \"columns\" | \"container\" | \"onBrushEnd\" | \"disabledActions\" | \"timeRange\" | \"services\" | \"dataView\" | \"relativeTimeRange\" | \"appendHitsCounter\" | \"onFilter\" | \"withDefaultActions\"> & React.RefAttributes<", + ", \"children\" | \"className\" | \"query\" | \"filters\" | \"columns\" | \"container\" | \"onBrushEnd\" | \"disabledActions\" | \"timeRange\" | \"services\" | \"dataView\" | \"relativeTimeRange\" | \"appendHitsCounter\" | \"onFilter\" | \"withDefaultActions\"> & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, + " & React.RefAttributes<", { "pluginId": "unifiedHistogram", "scope": "public", diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 345c6337bab000..8b8204e5168272 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-10-30 +date: 2023-11-06 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 068acad249968b..09a1feea1ceee9 100644 --- a/api_docs/unified_search.devdocs.json +++ b/api_docs/unified_search.devdocs.json @@ -233,6 +233,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "DataViewPickerPropsExtended", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", @@ -269,6 +277,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "DataViewSelectorProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", @@ -305,6 +321,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "DataViewsListProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "src/plugins/unified_search/public/dataview_picker/index.tsx", @@ -341,6 +365,14 @@ "signature": [ "React.ForwardRefExoticComponent<", "FilterBadgeGroupProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, " & React.RefAttributes<{}>>" ], "path": "src/plugins/unified_search/public/filter_badge/index.ts", diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 2e13dd5ba55c36..cdcba13ec38a35 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-10-30 +date: 2023-11-06 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 ccedc018ad5b36..a05608dd2a4855 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index 389885c2f7378a..60925d4fd2a1b6 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 2f68840c6a4806..f320931291ebbb 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-10-30 +date: 2023-11-06 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 f86ec0bc78dce7..489a290076069f 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-10-30 +date: 2023-11-06 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 05bbb5a70a94d9..bb1b196f6e2ea2 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-10-30 +date: 2023-11-06 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 f966e9ad1deecb..9fe29bcdb0140e 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-10-30 +date: 2023-11-06 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 d3a827d9b55455..77843db79eeb24 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-10-30 +date: 2023-11-06 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 45e821fe75ef13..51f561903e745b 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-10-30 +date: 2023-11-06 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 d6358f6614f798..ccb72d01e5b4a7 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-10-30 +date: 2023-11-06 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 102e647f89f43c..c7cc13451a04fe 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-10-30 +date: 2023-11-06 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 33cb5acc02fa6e..73b60f34e2054b 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-10-30 +date: 2023-11-06 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 476026e00b06cd..ba42874007a623 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-10-30 +date: 2023-11-06 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 65036cede03c4f..fd42efdf6ae12d 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-10-30 +date: 2023-11-06 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 0b11fc1eb8aeb6..703704eea7fcba 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-10-30 +date: 2023-11-06 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 045b3c97fde29e..fc9716bcefacbe 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-10-30 +date: 2023-11-06 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 12ab849abf4998..b9e6229c9486b6 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -3075,7 +3075,7 @@ "label": "sharingSavedObjectProps", "description": [], "signature": [ - "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" + "{ outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" ], "path": "src/plugins/visualizations/public/types.ts", "deprecated": false, @@ -5583,7 +5583,7 @@ "section": "def-common.SOWithMetadata", "text": "SOWithMetadata" }, - "; meta: { outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }>" + "; meta: { outcome: \"exactMatch\" | \"aliasMatch\" | \"conflict\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }>" ], "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", "deprecated": false, diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 1bae179ded1828..8a355f08748601 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-10-30 +date: 2023-11-06 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/bundle/bundled.json b/bundle/bundled.json deleted file mode 100644 index 21c305d6f42169..00000000000000 --- a/bundle/bundled.json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "openapi": "3.1.0", - "info": { - "title": "Saved objects", - "description": "OpenAPI schema for saved object endpoints", - "version": "0.1", - "contact": { - "name": "Kibana Core Team" - }, - "license": { - "name": "Elastic License 2.0", - "url": "https://www.elastic.co/licensing/elastic-license" - } - }, - "servers": [ - { - "url": "http://localhost:5601", - "description": "local" - } - ], - "security": [ - { - "basicAuth": [] - }, - { - "apiKeyAuth": [] - } - ], - "tags": [ - { - "name": "saved objects", - "description": "Manage Kibana saved objects, including dashboards, visualizations, and more." - } - ], - "paths": { - "/api/saved_objects/_export": { - "post": { - "summary": "Retrieve sets of saved objects that you want to import into Kibana.", - "operationId": "exportSavedObjects", - "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported.\n", - "tags": [ - "saved objects" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "anyOf": [ - { - "required": [ - "type" - ] - }, - { - "required": [ - "objects" - ] - } - ], - "properties": { - "excludeExportDetails": { - "description": "Do not add export details entry at the end of the stream.", - "type": "boolean", - "default": false - }, - "includeReferencesDeep": { - "description": "Includes all of the referenced objects in the exported objects.", - "type": "boolean" - }, - "objects": { - "description": "A list of objects to export.", - "type": "array", - "items": { - "type": "object" - } - }, - "type": { - "description": "The saved object types to include in the export.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - } - } - }, - "examples": { - "exportSavedObjectsRequest": { - "$ref": "#/components/examples/export_objects_request" - } - } - } - } - }, - "responses": { - "200": { - "description": "Indicates a successful call.", - "content": { - "multipart/form-data": { - "schema": { - "type": "string" - }, - "examples": { - "exportSavedObjectsResponse": { - "$ref": "#/components/examples/export_objects_response" - } - } - } - } - }, - "400": { - "description": "Bad request.", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": true - } - } - } - } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "/api/saved_objects/_import": { - "post": { - "summary": "Create sets of Kibana saved objects from a file created by the export API.", - "operationId": "importSavedObjects", - "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana.\n", - "tags": [ - "saved objects" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - }, - { - "in": "query", - "name": "compatibilityMode", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. Use this option only if you encounter issues with imported saved objects. NOTE: This option cannot be used with the `createNewCopies` option.\n" - }, - { - "in": "query", - "name": "createNewCopies", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Creates copies of saved objects, regenerates each object ID, and resets the origin. When used, potential conflict errors are avoided. NOTE: This option cannot be used with the `overwrite` and `compatibilityMode` options.\n" - }, - { - "in": "query", - "name": "overwrite", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Overwrites saved objects when they already exist. When used, potential conflict errors are automatically resolved by overwriting the destination object. NOTE: This option cannot be used with the `createNewCopies` option.\n" - } - ], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "description": "A file exported using the export API. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be included in this file. Similarly, the `savedObjects.maxImportPayloadBytes` setting limits the overall size of the file that can be imported.\n" - } - } - } - }, - "responses": { - "200": { - "description": "Indicates a successful call.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "description": "Indicates the import was unsuccessful and specifies the objects that failed to import. One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and conflict error.\n" - }, - "success": { - "type": "boolean", - "description": "Indicates when the import was successfully completed. When set to false, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties.\n" - }, - "successCount": { - "type": "integer", - "description": "Indicates the number of successfully imported records." - }, - "successResults": { - "type": "array", - "items": { - "type": "object" - }, - "description": "Indicates the objects that are successfully imported, with any metadata if applicable. Objects are created only when all resolvable errors are addressed, including conflicts and missing references. If objects are created as new copies, each entry in the `successResults` array includes a `destinationId` attribute.\n" - }, - "warnings": { - "type": "array" - } - } - }, - "examples": { - "importObjectsResponse": { - "$ref": "#/components/examples/import_objects_response" - } - } - } - } - }, - "400": { - "description": "Bad request.", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": true - } - } - } - } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - } - }, - "components": { - "securitySchemes": { - "basicAuth": { - "type": "http", - "scheme": "basic" - }, - "apiKeyAuth": { - "type": "apiKey", - "in": "header", - "name": "ApiKey" - } - }, - "parameters": { - "kbn_xsrf": { - "schema": { - "type": "string" - }, - "in": "header", - "name": "kbn-xsrf", - "description": "Cross-site request forgery protection", - "required": true - } - }, - "examples": { - "export_objects_request": { - "summary": "Export a specific saved object.", - "value": { - "objects": [ - { - "type": "index-pattern", - "id": "90943e30-9a47-11e8-b64d-95841ca0b247" - } - ], - "includeReferencesDeep": false - } - }, - "export_objects_response": { - "summary": "The export objects API response contains a JSON record for each exported object and an export result details record.", - "value": "{\"attributes\":{\"fieldFormatMap\":\"{\\\"hour_of_day\\\":{}}\",\"name\":\"Kibana Sample Data Logs\",\"runtimeFieldMap\":\"{\\\"hour_of_day\\\":{\\\"type\\\":\\\"long\\\",\\\"script\\\":{\\\"source\\\":\\\"emit(doc['timestamp'].value.getHour());\\\"}}}\",\"timeFieldName\":\"timestamp\",\"title\":\"kibana_sample_data_logs\"},\"coreMigrationVersion\":\"8.8.0\",\"created_at\":\"2023-07-25T19:36:36.695Z\",\"id\":\"90943e30-9a47-11e8-b64d-95841ca0b247\",\"managed\":false,\"references\":[],\"type\":\"index-pattern\",\"typeMigrationVersion\":\"8.0.0\",\"updated_at\":\"2023-07-25T19:36:36.695Z\",\"version\":\"WzM5LDJd\"}\n{\"excludedObjects\":[],\"excludedObjectsCount\":0,\"exportedCount\":1,\"missingRefCount\":0,\"missingReferences\":[]}\n" - }, - "import_objects_response": { - "summary": "The import objects API response indicates a successful import and the objects are created. Since these objects are created as new copies, each entry in the successResults array includes a destinationId attribute.", - "value": { - "successCount": 1, - "success": true, - "warnings": [], - "successResults": [ - { - "type": "index-pattern", - "id": "90943e30-9a47-11e8-b64d-95841ca0b247", - "meta": { - "title": "Kibana Sample Data Logs", - "icon": "indexPatternApp" - }, - "managed": false, - "destinationId": "82d2760c-468f-49cf-83aa-b9a35b6a8943" - } - ] - } - } - } - } -} \ No newline at end of file diff --git a/bundle/bundled.yaml b/bundle/bundled.yaml deleted file mode 100644 index 0facbd54466406..00000000000000 --- a/bundle/bundled.yaml +++ /dev/null @@ -1,209 +0,0 @@ -openapi: 3.1.0 -info: - title: Saved objects - description: OpenAPI schema for saved object endpoints - version: '0.1' - contact: - name: Kibana Core Team - license: - name: Elastic License 2.0 - url: https://www.elastic.co/licensing/elastic-license -servers: - - url: http://localhost:5601 - description: local -security: - - basicAuth: [] - - apiKeyAuth: [] -tags: - - name: saved objects - description: Manage Kibana saved objects, including dashboards, visualizations, and more. -paths: - /api/saved_objects/_export: - post: - summary: Retrieve sets of saved objects that you want to import into Kibana. - operationId: exportSavedObjects - description: | - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported. - tags: - - saved objects - parameters: - - $ref: '#/components/parameters/kbn_xsrf' - requestBody: - required: true - content: - application/json: - schema: - type: object - anyOf: - - required: - - type - - required: - - objects - properties: - excludeExportDetails: - description: Do not add export details entry at the end of the stream. - type: boolean - default: false - includeReferencesDeep: - description: Includes all of the referenced objects in the exported objects. - type: boolean - objects: - description: A list of objects to export. - type: array - items: - type: object - type: - description: The saved object types to include in the export. - oneOf: - - type: string - - type: array - items: - type: string - examples: - exportSavedObjectsRequest: - $ref: '#/components/examples/export_objects_request' - responses: - '200': - description: Indicates a successful call. - content: - multipart/form-data: - schema: - type: string - examples: - exportSavedObjectsResponse: - $ref: '#/components/examples/export_objects_response' - '400': - description: Bad request. - content: - application/json: - schema: - type: object - additionalProperties: true - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 - /api/saved_objects/_import: - post: - summary: Create sets of Kibana saved objects from a file created by the export API. - operationId: importSavedObjects - description: | - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana. - tags: - - saved objects - parameters: - - $ref: '#/components/parameters/kbn_xsrf' - - in: query - name: compatibilityMode - schema: - type: boolean - required: false - description: | - Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. Use this option only if you encounter issues with imported saved objects. NOTE: This option cannot be used with the `createNewCopies` option. - - in: query - name: createNewCopies - schema: - type: boolean - required: false - description: | - Creates copies of saved objects, regenerates each object ID, and resets the origin. When used, potential conflict errors are avoided. NOTE: This option cannot be used with the `overwrite` and `compatibilityMode` options. - - in: query - name: overwrite - schema: - type: boolean - required: false - description: | - Overwrites saved objects when they already exist. When used, potential conflict errors are automatically resolved by overwriting the destination object. NOTE: This option cannot be used with the `createNewCopies` option. - requestBody: - required: true - content: - multipart/form-data: - schema: - type: object - description: | - A file exported using the export API. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be included in this file. Similarly, the `savedObjects.maxImportPayloadBytes` setting limits the overall size of the file that can be imported. - responses: - '200': - description: Indicates a successful call. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - description: | - Indicates the import was unsuccessful and specifies the objects that failed to import. One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and conflict error. - success: - type: boolean - description: | - Indicates when the import was successfully completed. When set to false, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties. - successCount: - type: integer - description: Indicates the number of successfully imported records. - successResults: - type: array - items: - type: object - description: | - Indicates the objects that are successfully imported, with any metadata if applicable. Objects are created only when all resolvable errors are addressed, including conflicts and missing references. If objects are created as new copies, each entry in the `successResults` array includes a `destinationId` attribute. - warnings: - type: array - examples: - importObjectsResponse: - $ref: '#/components/examples/import_objects_response' - '400': - description: Bad request. - content: - application/json: - schema: - type: object - additionalProperties: true - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 -components: - securitySchemes: - basicAuth: - type: http - scheme: basic - apiKeyAuth: - type: apiKey - in: header - name: ApiKey - parameters: - kbn_xsrf: - schema: - type: string - in: header - name: kbn-xsrf - description: Cross-site request forgery protection - required: true - examples: - export_objects_request: - summary: Export a specific saved object. - value: - objects: - - type: index-pattern - id: 90943e30-9a47-11e8-b64d-95841ca0b247 - includeReferencesDeep: false - export_objects_response: - summary: The export objects API response contains a JSON record for each exported object and an export result details record. - value: | - {"attributes":{"fieldFormatMap":"{\"hour_of_day\":{}}","name":"Kibana Sample Data Logs","runtimeFieldMap":"{\"hour_of_day\":{\"type\":\"long\",\"script\":{\"source\":\"emit(doc['timestamp'].value.getHour());\"}}}","timeFieldName":"timestamp","title":"kibana_sample_data_logs"},"coreMigrationVersion":"8.8.0","created_at":"2023-07-25T19:36:36.695Z","id":"90943e30-9a47-11e8-b64d-95841ca0b247","managed":false,"references":[],"type":"index-pattern","typeMigrationVersion":"8.0.0","updated_at":"2023-07-25T19:36:36.695Z","version":"WzM5LDJd"} - {"excludedObjects":[],"excludedObjectsCount":0,"exportedCount":1,"missingRefCount":0,"missingReferences":[]} - import_objects_response: - summary: The import objects API response indicates a successful import and the objects are created. Since these objects are created as new copies, each entry in the successResults array includes a destinationId attribute. - value: - successCount: 1 - success: true - warnings: [] - successResults: - - type: index-pattern - id: 90943e30-9a47-11e8-b64d-95841ca0b247 - meta: - title: Kibana Sample Data Logs - icon: indexPatternApp - managed: false - destinationId: 82d2760c-468f-49cf-83aa-b9a35b6a8943 diff --git a/bundle/entrypoint.json b/bundle/entrypoint.json deleted file mode 100644 index 21c305d6f42169..00000000000000 --- a/bundle/entrypoint.json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "openapi": "3.1.0", - "info": { - "title": "Saved objects", - "description": "OpenAPI schema for saved object endpoints", - "version": "0.1", - "contact": { - "name": "Kibana Core Team" - }, - "license": { - "name": "Elastic License 2.0", - "url": "https://www.elastic.co/licensing/elastic-license" - } - }, - "servers": [ - { - "url": "http://localhost:5601", - "description": "local" - } - ], - "security": [ - { - "basicAuth": [] - }, - { - "apiKeyAuth": [] - } - ], - "tags": [ - { - "name": "saved objects", - "description": "Manage Kibana saved objects, including dashboards, visualizations, and more." - } - ], - "paths": { - "/api/saved_objects/_export": { - "post": { - "summary": "Retrieve sets of saved objects that you want to import into Kibana.", - "operationId": "exportSavedObjects", - "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported.\n", - "tags": [ - "saved objects" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "anyOf": [ - { - "required": [ - "type" - ] - }, - { - "required": [ - "objects" - ] - } - ], - "properties": { - "excludeExportDetails": { - "description": "Do not add export details entry at the end of the stream.", - "type": "boolean", - "default": false - }, - "includeReferencesDeep": { - "description": "Includes all of the referenced objects in the exported objects.", - "type": "boolean" - }, - "objects": { - "description": "A list of objects to export.", - "type": "array", - "items": { - "type": "object" - } - }, - "type": { - "description": "The saved object types to include in the export.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - } - } - }, - "examples": { - "exportSavedObjectsRequest": { - "$ref": "#/components/examples/export_objects_request" - } - } - } - } - }, - "responses": { - "200": { - "description": "Indicates a successful call.", - "content": { - "multipart/form-data": { - "schema": { - "type": "string" - }, - "examples": { - "exportSavedObjectsResponse": { - "$ref": "#/components/examples/export_objects_response" - } - } - } - } - }, - "400": { - "description": "Bad request.", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": true - } - } - } - } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "/api/saved_objects/_import": { - "post": { - "summary": "Create sets of Kibana saved objects from a file created by the export API.", - "operationId": "importSavedObjects", - "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana.\n", - "tags": [ - "saved objects" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - }, - { - "in": "query", - "name": "compatibilityMode", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. Use this option only if you encounter issues with imported saved objects. NOTE: This option cannot be used with the `createNewCopies` option.\n" - }, - { - "in": "query", - "name": "createNewCopies", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Creates copies of saved objects, regenerates each object ID, and resets the origin. When used, potential conflict errors are avoided. NOTE: This option cannot be used with the `overwrite` and `compatibilityMode` options.\n" - }, - { - "in": "query", - "name": "overwrite", - "schema": { - "type": "boolean" - }, - "required": false, - "description": "Overwrites saved objects when they already exist. When used, potential conflict errors are automatically resolved by overwriting the destination object. NOTE: This option cannot be used with the `createNewCopies` option.\n" - } - ], - "requestBody": { - "required": true, - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "description": "A file exported using the export API. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be included in this file. Similarly, the `savedObjects.maxImportPayloadBytes` setting limits the overall size of the file that can be imported.\n" - } - } - } - }, - "responses": { - "200": { - "description": "Indicates a successful call.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "description": "Indicates the import was unsuccessful and specifies the objects that failed to import. One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and conflict error.\n" - }, - "success": { - "type": "boolean", - "description": "Indicates when the import was successfully completed. When set to false, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties.\n" - }, - "successCount": { - "type": "integer", - "description": "Indicates the number of successfully imported records." - }, - "successResults": { - "type": "array", - "items": { - "type": "object" - }, - "description": "Indicates the objects that are successfully imported, with any metadata if applicable. Objects are created only when all resolvable errors are addressed, including conflicts and missing references. If objects are created as new copies, each entry in the `successResults` array includes a `destinationId` attribute.\n" - }, - "warnings": { - "type": "array" - } - } - }, - "examples": { - "importObjectsResponse": { - "$ref": "#/components/examples/import_objects_response" - } - } - } - } - }, - "400": { - "description": "Bad request.", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": true - } - } - } - } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - } - }, - "components": { - "securitySchemes": { - "basicAuth": { - "type": "http", - "scheme": "basic" - }, - "apiKeyAuth": { - "type": "apiKey", - "in": "header", - "name": "ApiKey" - } - }, - "parameters": { - "kbn_xsrf": { - "schema": { - "type": "string" - }, - "in": "header", - "name": "kbn-xsrf", - "description": "Cross-site request forgery protection", - "required": true - } - }, - "examples": { - "export_objects_request": { - "summary": "Export a specific saved object.", - "value": { - "objects": [ - { - "type": "index-pattern", - "id": "90943e30-9a47-11e8-b64d-95841ca0b247" - } - ], - "includeReferencesDeep": false - } - }, - "export_objects_response": { - "summary": "The export objects API response contains a JSON record for each exported object and an export result details record.", - "value": "{\"attributes\":{\"fieldFormatMap\":\"{\\\"hour_of_day\\\":{}}\",\"name\":\"Kibana Sample Data Logs\",\"runtimeFieldMap\":\"{\\\"hour_of_day\\\":{\\\"type\\\":\\\"long\\\",\\\"script\\\":{\\\"source\\\":\\\"emit(doc['timestamp'].value.getHour());\\\"}}}\",\"timeFieldName\":\"timestamp\",\"title\":\"kibana_sample_data_logs\"},\"coreMigrationVersion\":\"8.8.0\",\"created_at\":\"2023-07-25T19:36:36.695Z\",\"id\":\"90943e30-9a47-11e8-b64d-95841ca0b247\",\"managed\":false,\"references\":[],\"type\":\"index-pattern\",\"typeMigrationVersion\":\"8.0.0\",\"updated_at\":\"2023-07-25T19:36:36.695Z\",\"version\":\"WzM5LDJd\"}\n{\"excludedObjects\":[],\"excludedObjectsCount\":0,\"exportedCount\":1,\"missingRefCount\":0,\"missingReferences\":[]}\n" - }, - "import_objects_response": { - "summary": "The import objects API response indicates a successful import and the objects are created. Since these objects are created as new copies, each entry in the successResults array includes a destinationId attribute.", - "value": { - "successCount": 1, - "success": true, - "warnings": [], - "successResults": [ - { - "type": "index-pattern", - "id": "90943e30-9a47-11e8-b64d-95841ca0b247", - "meta": { - "title": "Kibana Sample Data Logs", - "icon": "indexPatternApp" - }, - "managed": false, - "destinationId": "82d2760c-468f-49cf-83aa-b9a35b6a8943" - } - ] - } - } - } - } -} \ No newline at end of file diff --git a/bundle/entrypoint.yaml b/bundle/entrypoint.yaml deleted file mode 100644 index 0facbd54466406..00000000000000 --- a/bundle/entrypoint.yaml +++ /dev/null @@ -1,209 +0,0 @@ -openapi: 3.1.0 -info: - title: Saved objects - description: OpenAPI schema for saved object endpoints - version: '0.1' - contact: - name: Kibana Core Team - license: - name: Elastic License 2.0 - url: https://www.elastic.co/licensing/elastic-license -servers: - - url: http://localhost:5601 - description: local -security: - - basicAuth: [] - - apiKeyAuth: [] -tags: - - name: saved objects - description: Manage Kibana saved objects, including dashboards, visualizations, and more. -paths: - /api/saved_objects/_export: - post: - summary: Retrieve sets of saved objects that you want to import into Kibana. - operationId: exportSavedObjects - description: | - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported. - tags: - - saved objects - parameters: - - $ref: '#/components/parameters/kbn_xsrf' - requestBody: - required: true - content: - application/json: - schema: - type: object - anyOf: - - required: - - type - - required: - - objects - properties: - excludeExportDetails: - description: Do not add export details entry at the end of the stream. - type: boolean - default: false - includeReferencesDeep: - description: Includes all of the referenced objects in the exported objects. - type: boolean - objects: - description: A list of objects to export. - type: array - items: - type: object - type: - description: The saved object types to include in the export. - oneOf: - - type: string - - type: array - items: - type: string - examples: - exportSavedObjectsRequest: - $ref: '#/components/examples/export_objects_request' - responses: - '200': - description: Indicates a successful call. - content: - multipart/form-data: - schema: - type: string - examples: - exportSavedObjectsResponse: - $ref: '#/components/examples/export_objects_response' - '400': - description: Bad request. - content: - application/json: - schema: - type: object - additionalProperties: true - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 - /api/saved_objects/_import: - post: - summary: Create sets of Kibana saved objects from a file created by the export API. - operationId: importSavedObjects - description: | - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana. - tags: - - saved objects - parameters: - - $ref: '#/components/parameters/kbn_xsrf' - - in: query - name: compatibilityMode - schema: - type: boolean - required: false - description: | - Applies various adjustments to the saved objects that are being imported to maintain compatibility between different Kibana versions. Use this option only if you encounter issues with imported saved objects. NOTE: This option cannot be used with the `createNewCopies` option. - - in: query - name: createNewCopies - schema: - type: boolean - required: false - description: | - Creates copies of saved objects, regenerates each object ID, and resets the origin. When used, potential conflict errors are avoided. NOTE: This option cannot be used with the `overwrite` and `compatibilityMode` options. - - in: query - name: overwrite - schema: - type: boolean - required: false - description: | - Overwrites saved objects when they already exist. When used, potential conflict errors are automatically resolved by overwriting the destination object. NOTE: This option cannot be used with the `createNewCopies` option. - requestBody: - required: true - content: - multipart/form-data: - schema: - type: object - description: | - A file exported using the export API. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be included in this file. Similarly, the `savedObjects.maxImportPayloadBytes` setting limits the overall size of the file that can be imported. - responses: - '200': - description: Indicates a successful call. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - description: | - Indicates the import was unsuccessful and specifies the objects that failed to import. One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and conflict error. - success: - type: boolean - description: | - Indicates when the import was successfully completed. When set to false, some objects may not have been created. For additional information, refer to the `errors` and `successResults` properties. - successCount: - type: integer - description: Indicates the number of successfully imported records. - successResults: - type: array - items: - type: object - description: | - Indicates the objects that are successfully imported, with any metadata if applicable. Objects are created only when all resolvable errors are addressed, including conflicts and missing references. If objects are created as new copies, each entry in the `successResults` array includes a `destinationId` attribute. - warnings: - type: array - examples: - importObjectsResponse: - $ref: '#/components/examples/import_objects_response' - '400': - description: Bad request. - content: - application/json: - schema: - type: object - additionalProperties: true - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 -components: - securitySchemes: - basicAuth: - type: http - scheme: basic - apiKeyAuth: - type: apiKey - in: header - name: ApiKey - parameters: - kbn_xsrf: - schema: - type: string - in: header - name: kbn-xsrf - description: Cross-site request forgery protection - required: true - examples: - export_objects_request: - summary: Export a specific saved object. - value: - objects: - - type: index-pattern - id: 90943e30-9a47-11e8-b64d-95841ca0b247 - includeReferencesDeep: false - export_objects_response: - summary: The export objects API response contains a JSON record for each exported object and an export result details record. - value: | - {"attributes":{"fieldFormatMap":"{\"hour_of_day\":{}}","name":"Kibana Sample Data Logs","runtimeFieldMap":"{\"hour_of_day\":{\"type\":\"long\",\"script\":{\"source\":\"emit(doc['timestamp'].value.getHour());\"}}}","timeFieldName":"timestamp","title":"kibana_sample_data_logs"},"coreMigrationVersion":"8.8.0","created_at":"2023-07-25T19:36:36.695Z","id":"90943e30-9a47-11e8-b64d-95841ca0b247","managed":false,"references":[],"type":"index-pattern","typeMigrationVersion":"8.0.0","updated_at":"2023-07-25T19:36:36.695Z","version":"WzM5LDJd"} - {"excludedObjects":[],"excludedObjectsCount":0,"exportedCount":1,"missingRefCount":0,"missingReferences":[]} - import_objects_response: - summary: The import objects API response indicates a successful import and the objects are created. Since these objects are created as new copies, each entry in the successResults array includes a destinationId attribute. - value: - successCount: 1 - success: true - warnings: [] - successResults: - - type: index-pattern - id: 90943e30-9a47-11e8-b64d-95841ca0b247 - meta: - title: Kibana Sample Data Logs - icon: indexPatternApp - managed: false - destinationId: 82d2760c-468f-49cf-83aa-b9a35b6a8943 diff --git a/config/serverless.oblt.yml b/config/serverless.oblt.yml index d38e510edbea81..a2d58e930f4cf4 100644 --- a/config/serverless.oblt.yml +++ b/config/serverless.oblt.yml @@ -25,6 +25,11 @@ xpack.serverless.plugin.developer.projectSwitcher.currentType: 'observability' ## Disable adding the component template `.fleet_agent_id_verification-1` to every index template for each datastream for each integration xpack.fleet.agentIdVerificationEnabled: false +## Enable the capability for the observability feature ID in the serverless environment to take ownership of the rules. +## The value need to be a featureId observability Or stackAlerts Or siem +xpack.alerting.rules.overwriteProducer: 'observability' +xpack.observability.createO11yGenericFeatureId: true + ## APM Serverless Onboarding flow xpack.apm.serverlessOnboarding: true diff --git a/config/serverless.yml b/config/serverless.yml index f6e661c158f42b..fb3528514ef663 100644 --- a/config/serverless.yml +++ b/config/serverless.yml @@ -51,12 +51,14 @@ xpack.index_management.enableDataStreamsStorageColumn: false dev_tools.deeplinks.navLinkStatus: visible management.deeplinks.navLinkStatus: visible +# Onboarding team UI configurations +xpack.cloud_integrations.data_migration.enabled: false +guided_onboarding.enabled: false + # Other disabled plugins xpack.canvas.enabled: false -xpack.cloud_integrations.data_migration.enabled: false data.search.sessions.enabled: false advanced_settings.enabled: false -xpack.screenshotting.enabled: false # Disable the browser-side functionality that depends on SecurityCheckupGetStateRoutes xpack.security.showInsecureClusterWarning: false @@ -141,3 +143,8 @@ xpack.task_manager.allow_reading_invalid_state: false ## TaskManager requeue invalid tasks, supports ZDT xpack.task_manager.requeue_invalid_tasks.enabled: true + +# Reporting feature +xpack.screenshotting.enabled: false +xpack.reporting.roles.enabled: false +xpack.reporting.statefulSettings.enabled: false \ No newline at end of file diff --git a/dev_docs/contributing/best_practices.mdx b/dev_docs/contributing/best_practices.mdx index 4ac7371cb54527..4251ffb07407b4 100644 --- a/dev_docs/contributing/best_practices.mdx +++ b/dev_docs/contributing/best_practices.mdx @@ -155,6 +155,14 @@ When making a change like this, import statements that previously pointed to the called `@kbn/imports/exports_moved_packages` which allows contributors to define the exports previously available from one package as now being available from another package and leverage auto-fixing to migration all existing and new uses of this export to the proper package. +## Logging + +- Do not log sensitive information (personally identifiable information, passwords, api keys, etc.), regardless of the log level. Err on the side of caution. Personally identifiable information is common in user input; for example, dashboard titles, index names and Elasticsearch `_search` queries. +- Logs should include just enough information to be actionable. +- Use the right log level, see . +- Use ECS format for any additional LogMeta you add to your logging statements. +- Logs are read by customers, a large number of Elastic employees, and Kibana contributors. As such, log messages should use language that is understandable to a wide audience and should avoid disclosing implementation details (unless they're at the `debug`/`trace` level). + ## Licensing diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 2b24ca538caa90..429f78349942b6 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -194,8 +194,8 @@ Discover:: * Allow fetching more documents on Discover page ({kibana-pull}163784[#163784]). Elastic Security:: For the Elastic Security 8.11.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.11.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. +Search:: +* Self-managed connector clients now show advanced configuration options in the UI ({kibana-pull}167770[#167770]). Fleet:: * Adds sidebar navigation showing headings extracted from the readme ({kibana-pull}167216[#167216]). Inspector:: @@ -252,8 +252,15 @@ Dashboard:: * Generate new panel IDs on Dashboard clone ({kibana-pull}166299[#166299]). Elastic Security:: For the Elastic Security 8.11.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. -Enterprise Search:: -For the Elastic Enterprise Search 8.11.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. +Search:: +* Native connector external documentation links are now rendered conditionally to avoid empty links ({kibana-pull}169121[#169121]). +* Fixed an issue which caused Access Control Syncs to be scheduled when Document Level Security was disabled ({kibana-pull}168987[#168987]). +* Restored access and admin checks for App Search and Workplace Search product cards ({kibana-pull}168890[#168890]). +* The filter box in the *Browse documents* tab under *Search > Content > Indices* now escapes Lucene reserved characters instead of throwing errors ({kibana-pull}168092[#168092]). +* Fixed an issue associated with changing the indices underlying a search application. When a user modifies the indices underlying a search application in Kibana, the associated search template is now reverted to the default template ({kibana-pull}167532[#167532]). +* Fixed an issue where the Search plugin was inaccessible for unauthenticated users, eg. for Kibana in read-only demo setups ({kibana-pull}167171[#167171]). +* Fixed an issue with the welcome banner in Search ({kibana-pull}166814[#166814]). +* Self managed connector clients now show advanced configuration options in the UI ({kibana-pull}167770[#167770]). Fleet:: * Vastly improve performance of Fleet final pipeline's date formatting logic for `event.ingested` ({kibana-pull}167318[#167318]). Lens & Visualizations:: diff --git a/docs/api/alerting/list_rule_types.asciidoc b/docs/api/alerting/list_rule_types.asciidoc index 7640d50b3ccd05..05324e9b9a0260 100644 --- a/docs/api/alerting/list_rule_types.asciidoc +++ b/docs/api/alerting/list_rule_types.asciidoc @@ -63,9 +63,14 @@ context and state in action parameter templates, and a short human readable description. When you create a rule in {kib}, it uses this information to prompt you for these variables in action parameter editors. +// `alerts`:: TBD + `authorized_consumers`:: (object) The list of the plugins IDs that have access to the rule type. +`category`:: +(string) The rule category, which is used by features such as category-specific maintenance windows. + `default_action_group_id`:: (string) The default ID for the rule type group. @@ -77,6 +82,10 @@ action. (boolean) Indicates whether the rule type is enabled or disabled based on the subscription. +// `has_alerts_mappings`:: TBD + +// `has_fields_for_a_a_d`:: TBD + `id`:: (string) The unique identifier for the rule type. @@ -121,7 +130,28 @@ the API returns the following: { "id":"logs.alert.document.count", "name":"Log threshold", + "category": "observability", "producer":"logs", + "alerts": { + "context": "observability.logs", + "mappings": { + "fieldMap": { + "kibana.alert.evaluation.threshold": { + "type": "scaled_float", + "scaling_factor": 100, + "required": false + }, + "kibana.alert.evaluation.value": { + "type": "scaled_float", + "scaling_factor": 100, + "required": false + }, + ... + } + }, + "useEcs": true, + "useLegacyAlerts": true + }, "enabled_in_license":true, "recovery_action_group":{ "id":"recovered", @@ -164,7 +194,10 @@ the API returns the following: "logs":{"read":true,"all":false}, "alerts":{"read":true,"all":false} }, - "does_set_recovery_context":true - } + "does_set_recovery_context":true, + "has_alerts_mappings": true, + "has_fields_for_a_a_d": true + }, + .... ] -------------------------------------------------- diff --git a/docs/apm/apm-alerts.asciidoc b/docs/apm/apm-alerts.asciidoc index cda045e8d8ccdc..59cfbc50f38dcd 100644 --- a/docs/apm/apm-alerts.asciidoc +++ b/docs/apm/apm-alerts.asciidoc @@ -103,6 +103,22 @@ Based on the criteria above, define the following rule details: * **Group alerts by** - `service.name` `service.environment` * **Check every** - `1 minute` +[NOTE] +==== +Alternatively, you can use a KQL filter to limit the scope of the alert: + +. Toggle on *Use KQL Filter*. +. Add a filter, for example to achieve the same effect as the example above: ++ +[source,txt] +------ +service.name:"{your_service.name}" and service.environment:"{your_service.environment}" and error.grouping_key:"{your_error.ID}" +------ + +Using a KQL Filter to limit the scope is available for _Latency threshold_, _Failed transaction rate threshold_, and +_Error count threshold_ rules. +==== + Select the **Email** connector and click **Create a connector**. Fill out the required details: sender, host, port, etc., and click **save**. diff --git a/docs/apm/images/apm-alert.png b/docs/apm/images/apm-alert.png index 92b6f5dde9730a..ccaf2de64ec084 100644 Binary files a/docs/apm/images/apm-alert.png and b/docs/apm/images/apm-alert.png differ diff --git a/docs/concepts/esql.asciidoc b/docs/concepts/esql.asciidoc new file mode 100644 index 00000000000000..413db3ed35bbc6 --- /dev/null +++ b/docs/concepts/esql.asciidoc @@ -0,0 +1,40 @@ +[[esql]] +=== {esql} + +preview::[] + +The Elasticsearch Query Language, {esql}, has been created to make exploring your data faster and easier using the **Discover** application. From version 8.11 you can try this new feature, which is enabled by default. + +[role="screenshot"] +image:images/esql-data-view-menu.png[An image of the Discover UI where users can access the {esql} feature, width=30%] + +This new piped language allows you to chain together multiple commands to query your data. Based on the query, Lens suggestions in Discover create a visualization of the query results. + +{esql} comes with its own dedicated {esql} Compute Engine for greater efficiency. From one query you can search, aggregate, calculate and perform data transformations without leaving **Discover**. Write your query directly in **Discover** or use the **Dev Tools** with the {ref}/esql-rest.html[{esql} API]. + +{esql} also features in-app help, so you can get started faster and don't have to leave the application to check syntax. + +[role="screenshot"] +image:images/esql-in-app-help.png[An image of the Discover UI where users can browse the in-app help] + +For more detailed information about the {esql} language, refer to {ref}/esql-language.html[Learning {esql}]. + +[float] +[[esql-observability]] +==== {observability} + +{esql} makes it much easier to analyze metrics, logs and traces from a single query. Find performance issues fast by defining fields on the fly, enriching data with lookups, and using simultaneous query processing. Combining {esql} with {ml} and AiOps can improve detection accuracy and use aggregated value thresholds. + +[float] +[[esql-security]] +==== Security + +Use {esql} to retrieve important information for investigation by using lookups. Enrich data and create new fields on the go to gain valuable insight for faster decision-making and actions. For example, perform a lookup on an IP address to identify its geographical location, its association with known malicious entities, or whether it belongs to a known cloud service provider all from one search bar. {esql} ensures more accurate alerts by incorporating aggregated values in detection rules. + +[float] +[[esql-whats-next]] +==== What's next? + +Full documentation for this language is available in the {es} documentation, refer to {ref}/esql.html[{esql}]. + +Alternatively, a short tutorial is available in the **Discover** section <>. \ No newline at end of file diff --git a/docs/concepts/images/esql-activated.png b/docs/concepts/images/esql-activated.png new file mode 100644 index 00000000000000..f1ac82548d4d46 Binary files /dev/null and b/docs/concepts/images/esql-activated.png differ diff --git a/docs/concepts/images/esql-data-view-menu.png b/docs/concepts/images/esql-data-view-menu.png new file mode 100644 index 00000000000000..fbbbdf44d315cf Binary files /dev/null and b/docs/concepts/images/esql-data-view-menu.png differ diff --git a/docs/concepts/images/esql-in-app-help.png b/docs/concepts/images/esql-in-app-help.png new file mode 100644 index 00000000000000..eb818a11cbacbb Binary files /dev/null and b/docs/concepts/images/esql-in-app-help.png differ diff --git a/docs/concepts/index.asciidoc b/docs/concepts/index.asciidoc index d7a18c7af1e7ee..5e02b8f0d4d7cd 100644 --- a/docs/concepts/index.asciidoc +++ b/docs/concepts/index.asciidoc @@ -155,8 +155,11 @@ include::data-views.asciidoc[] include::set-time-filter.asciidoc[] +include::esql.asciidoc[] + include::kuery.asciidoc[] include::lucene.asciidoc[] include::save-query.asciidoc[] + diff --git a/docs/developer/plugin-list.asciidoc b/docs/developer/plugin-list.asciidoc index 40c8fbf2b338bf..868ef59f479666 100644 --- a/docs/developer/plugin-list.asciidoc +++ b/docs/developer/plugin-list.asciidoc @@ -598,7 +598,7 @@ Index Management by running this series of requests in Console: |{kib-repo}blob/{branch}/x-pack/plugins/index_management/README.md[indexManagement] -|Create an index with special characters and verify it renders correctly: +|This service is exposed from the Index Management setup contract and can be used to add content to the indices list and the index details page. |{kib-repo}blob/{branch}/x-pack/plugins/infra/README.md[infra] diff --git a/docs/discover/images/esql-activated.png b/docs/discover/images/esql-activated.png new file mode 100644 index 00000000000000..f1ac82548d4d46 Binary files /dev/null and b/docs/discover/images/esql-activated.png differ diff --git a/docs/discover/images/esql-full-query.png b/docs/discover/images/esql-full-query.png new file mode 100644 index 00000000000000..1d4a37af23a607 Binary files /dev/null and b/docs/discover/images/esql-full-query.png differ diff --git a/docs/discover/images/esql-limit.png b/docs/discover/images/esql-limit.png new file mode 100644 index 00000000000000..dbc9edc3cdc13b Binary files /dev/null and b/docs/discover/images/esql-limit.png differ diff --git a/docs/discover/images/esql-machine-os-ram.png b/docs/discover/images/esql-machine-os-ram.png new file mode 100644 index 00000000000000..2c936cecb9498c Binary files /dev/null and b/docs/discover/images/esql-machine-os-ram.png differ diff --git a/docs/discover/images/try-esql.png b/docs/discover/images/try-esql.png new file mode 100644 index 00000000000000..87abbf2fd3d732 Binary files /dev/null and b/docs/discover/images/try-esql.png differ diff --git a/docs/discover/log-pattern-analysis.asciidoc b/docs/discover/log-pattern-analysis.asciidoc index 20e07aeb1d8d64..398add21cc38cf 100644 --- a/docs/discover/log-pattern-analysis.asciidoc +++ b/docs/discover/log-pattern-analysis.asciidoc @@ -1,38 +1,38 @@ [[run-pattern-analysis-discover]] == Run a pattern analysis on your log data -preview::["This functionality is in technical preview, requires a link:https://www.elastic.co/subscriptions[Platinum subscription], and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features."] +preview::["This functionality is in technical preview, requires a link:https://www.elastic.co/subscriptions[Platinum subscription], and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features."] include::../user/ml/index.asciidoc[tag=log-pattern-analysis-intro] Log pattern analysis works on every text field. -This example uses the <>, or you +This example uses the <>, or you can use your own data. . Open the main menu, and click *Discover*. . Expand the {data-source} dropdown, and select *Kibana Sample Data Logs*. -. If you don't see any results, expand the time range, for example, to +. If you don't see any results, expand the time range, for example, to *Last 15 days*. -. Click the `message` field in the **Available fields** list sidebar and click +. Click the `message` field in the **Available fields** list sidebar and click **Run pattern analysis**. + -- [role="screenshot"] image::images/log-pattern-analysis-available-fields.png["Available fields view in Discover showing the message field selected."] -The pattern analysis starts. The results are displayed in a flyout when the +The pattern analysis starts. The results are displayed in a flyout when the analysis is complete. [role="screenshot"] image::images/log-pattern-analysis-results.png["Log pattern analysis results in Discover."] -- -. (optional) Apply filters to one or more patterns. *Discover* only displays -documents that match the selected patterns. Additionally, you can remove -selected patterns from *Discover*, resulting in the display of only those -documents that don't match the selected pattern. These options enable you to -remove unimportant messages and focus on the more important, actionable data +. (optional) Apply filters to one or more patterns. *Discover* only displays +documents that match the selected patterns. Additionally, you can remove +selected patterns from *Discover*, resulting in the display of only those +documents that don't match the selected pattern. These options enable you to +remove unimportant messages and focus on the more important, actionable data during troubleshooting. \ No newline at end of file diff --git a/docs/discover/try-esql.asciidoc b/docs/discover/try-esql.asciidoc new file mode 100644 index 00000000000000..cc6e4d62f17c45 --- /dev/null +++ b/docs/discover/try-esql.asciidoc @@ -0,0 +1,91 @@ +[[try-esql]] +== Try {esql} + +preview::[] + +The Elasticsearch Query Language, {esql}, makes it easier to explore your data without leaving Discover. + +In this tutorial we'll use the {kib} sample web logs in Discover and Lens to explore the data and create visualizations. + +[float] +[[prerequisite]] +=== Prerequisite + +To be able to select **Try {esql}** from the Data views menu the `discover:enableESQL` setting must be enabled from **Stack Management > Advanced Settings**. It is enabled by default. + +[float] +[[tutorial-try-esql]] +=== Trying {esql} + +To load the sample data: + +. On the home page, click **Try sample data**. +. Click **Other sample data sets**. +. On the Sample web logs card, click **Add data**. +. Open the main menu and select *Discover*. +. From the Data views menu, select *Try {esql}*. + +Let's say we want to find out what operating system users have and how much RAM is on their machine. + +. Set the time range to **Last 7 days**. +. Expand image:images/expand-icon-2.png[An image of the expand icon] the query bar. +. Put each processing command on a new line for better readability. +. Copy the query below: ++ +[source,esql] +---- +FROM kibana_sample_data_logs +| KEEP machine.os, machine.ram +---- ++ +. Click **Update**. ++ +[role="screenshot"] +image:images/esql-machine-os-ram.png[An image of the query result] ++ +[NOTE] +==== +{esql} keywords are not case sensitive. +==== + +Let's add `geo.dest` to our query, to find out the geographical destination of the visits, and limit the results. + +. Copy the query below: ++ +[source,esql] +---- +FROM kibana_sample_data_logs +| KEEP machine.os, machine.ram, geo.dest +| LIMIT 10 +---- ++ +. Click **Update**. ++ +[role="screenshot"] +image:images/esql-limit.png[An image of the extended query result] + +Let's sort the data by machine ram and filter out the destination GB. + +. Copy the query below: ++ +[source,esql] +---- +FROM kibana_sample_data_logs +| KEEP machine.os, machine.ram, geo.dest +| SORT machine.ram desc +| WHERE geo.dest != "GB" +| LIMIT 10 +---- ++ +. Click **Update**. ++ +[role="screenshot"] +image:images/esql-full-query.png[] ++ +. Click **Save** to save the query and visualization to a dashboard. + +To make changes to the visualization you can use the visualization drop-down. To make changes to the colors used or the axes, or click the pencil icon. This opens an in-line editor where you can change the colors and axes of the visualization. + +To learn more about {esql}, try other tutorials, see more examples and reference material, refer to {ref}/esql.html[{esql}]. + + diff --git a/docs/management/connectors/action-types/slack.asciidoc b/docs/management/connectors/action-types/slack.asciidoc index c4f1ea6799fb8c..14e08d3cc6f252 100644 --- a/docs/management/connectors/action-types/slack.asciidoc +++ b/docs/management/connectors/action-types/slack.asciidoc @@ -21,14 +21,15 @@ You can choose to use a webhook URL that's specific to a single channel. For exa image::management/connectors/images/slack-webhook-connector.png[Slack connector] // NOTE: This is an autogenerated screenshot. Do not edit it directly. -Alternatively, you can create a connector that supports multiple channels. For example: +Alternatively, you can create a connector that supports multiple channels. +For example: [role="screenshot"] image::management/connectors/images/slack-api-connector.png[Slack API connector] // NOTE: This is an autogenerated screenshot. Do not edit it directly. -If you use the latter method, you choose your channel when you create a rule action. -Thus a connector can be used in multiple rules and actions to communicate with different channels. +If you use the latter method, you must provide a valid list of Slack channel IDs. +When you create a rule, each action can communicate with one of these channels. For Slack setup details, go to <>. @@ -36,20 +37,15 @@ For Slack setup details, go to <>. [[slack-action-configuration]] === Test connectors -You can test connectors with the <> or -as you're creating or editing the connector in {kib}. For example: +You can test connectors as you're creating or editing the connector in {kib}. +For example: [role="screenshot"] -image::management/connectors/images/slack-api-params.png[Slack API connector test] +image::management/connectors/images/slack-webhook-params.png[Slack webhook connector test] // NOTE: This is an autogenerated screenshot. Do not edit it directly. -Slack actions have the following properties: - -Channels:: -One or more channels that your Slack app has access to. -This option is available only in the web API type of connector. - -Message:: The Slack message text, which cannot contain Markdown, images, or other advanced formatting. +Slack connector actions have message text, which cannot contain Markdown, images, or other advanced formatting. +For the web API type of connector, you must also choose one of the channel IDs. [float] [[slack-connector-networking-configuration]] @@ -83,3 +79,4 @@ Before you can create a Slack connector, you must configure your account and obt . Copy the `Bot User OAuth Token` so you can paste it into your Slack connector form. . If you need to send messages to a private channel, you need to write `/invite @App_name` in it. Putting "@" triggers Slack to start auto-suggesting, which is why it then becomes easy to find your app name in the list. +. To find a channel ID (for example, `C123ABC456`), view the channel details. diff --git a/docs/management/connectors/images/slack-api-connector.png b/docs/management/connectors/images/slack-api-connector.png index 41eef0b73d9c88..815b547070b1b4 100644 Binary files a/docs/management/connectors/images/slack-api-connector.png and b/docs/management/connectors/images/slack-api-connector.png differ diff --git a/docs/management/connectors/images/slack-api-params.png b/docs/management/connectors/images/slack-api-params.png deleted file mode 100644 index a3cbb42b5250fb..00000000000000 Binary files a/docs/management/connectors/images/slack-api-params.png and /dev/null differ diff --git a/docs/management/connectors/images/slack-webhook-params.png b/docs/management/connectors/images/slack-webhook-params.png new file mode 100644 index 00000000000000..7ec14a906c4093 Binary files /dev/null and b/docs/management/connectors/images/slack-webhook-params.png differ diff --git a/docs/management/maintenance-windows/images/create-maintenance-window.png b/docs/management/maintenance-windows/images/create-maintenance-window.png index aa6132afbeaf9b..c6953d4e48693e 100644 Binary files a/docs/management/maintenance-windows/images/create-maintenance-window.png and b/docs/management/maintenance-windows/images/create-maintenance-window.png differ diff --git a/docs/management/maintenance-windows/maintenance-windows.asciidoc b/docs/management/maintenance-windows/maintenance-windows.asciidoc index ba630092016b26..9f7ffbae80edd1 100644 --- a/docs/management/maintenance-windows/maintenance-windows.asciidoc +++ b/docs/management/maintenance-windows/maintenance-windows.asciidoc @@ -11,7 +11,7 @@ preview::[] You can schedule single or recurring maintenance windows to temporarily reduce rule notifications. For example, a maintenance window prevents false alarms during planned outages. -Maintenance windows affect all rules in all {kib} apps and spaces. +By default, maintenance windows affect all rules in all {kib} apps and spaces. Alerts continue to be generated, however notifications are suppressed as follows: - When an alert occurs during a maintenance window, there are no notifications. @@ -42,6 +42,10 @@ You can optionally configure it to repeat daily, monthly, yearly, or on a custom image::images/create-maintenance-window.png[The Create Maintenance Window user interface in {kib}] // NOTE: This is an autogenerated screenshot. Do not edit it directly. +By default, maintenance windows affect all categories of rules. +The category-specific maintenance window options alter this behavior. +For the definitive list of rule types in each category, refer to the <>. + A maintenance window can have any one of the following statuses: - `Upcoming`: It will run at the scheduled date and time. diff --git a/docs/setup/configuring-reporting.asciidoc b/docs/setup/configuring-reporting.asciidoc index 3cb20866d77535..903f6fdfb5afde 100644 --- a/docs/setup/configuring-reporting.asciidoc +++ b/docs/setup/configuring-reporting.asciidoc @@ -72,6 +72,8 @@ NOTE: If you use the default settings, you can still create a custom role that g + Access to data is an index-level privilege. For each index that contains the data you want to include in reports, add a line, then give each index `read` and `view_index_metadata` privileges. + +NOTE: If you use index aliases, you must also grant `read` and `view_index_metadata` privileges to underlying indices to generate CSV reports. ++ For more information, refer to {ref}/security-privileges.html[Security privileges]. . Add the {kib} privileges. diff --git a/docs/setup/docker.asciidoc b/docs/setup/docker.asciidoc index d8c09b39a3cc4a..4dcd80d1bfd66b 100644 --- a/docs/setup/docker.asciidoc +++ b/docs/setup/docker.asciidoc @@ -10,7 +10,7 @@ :es-docker-image: {es-docker-repo}:{version} Docker images for {kib} are available from the Elastic Docker registry. The -base image is https://hub.docker.com/_/ubuntu[ubuntu:22.04]. +base image is https://hub.docker.com/_/ubuntu[ubuntu:20.04]. A list of all published Docker images and tags is available at https://www.docker.elastic.co[www.docker.elastic.co]. The source code is in diff --git a/docs/user/alerting/alerting-setup.asciidoc b/docs/user/alerting/alerting-setup.asciidoc index 40ecdedad2cf40..f26f3b630c49d3 100644 --- a/docs/user/alerting/alerting-setup.asciidoc +++ b/docs/user/alerting/alerting-setup.asciidoc @@ -48,36 +48,20 @@ For more information on the scalability of {alert-features}, go to [[alerting-security]] === Security -If you want to use the {alert-features} in a {kib} app, you must have the -appropriate feature privileges. For example, to create rules in -*{stack-manage-app} > {rules-ui}*, you must have `all` privileges for the -*Management > {stack-rules-feature}* feature. To add rule actions and test -connectors, you must also have `read` privileges for the *{connectors-feature}* -feature. To change rule settings, you must have `all` privileges for the -*Rules Settings* privilege or `all` privileges for the appropriate sub-feature -such as flapping detection. For more information on configuring roles that -provide access to features, go to <>. - -For details about the prerequisites for each API, refer to <>. +If you want to use the {alert-features} in a {kib} app, you must have the appropriate feature privileges. +For example, to create rules in *Discover* or *{stack-manage-app} > {rules-ui}*, you must have `all` privileges for the *Management > {stack-rules-feature}* feature. +To add rule actions and test connectors, you must also have `read` privileges for the *{connectors-feature}* feature. +To change rule settings, you must have `all` privileges for the *Rules Settings* privilege or `all` privileges for the appropriate sub-feature such as flapping detection. +For more information on configuring roles that provide access to features, go to <>. -[float] -[[alerting-restricting-actions]] -==== Restrict actions +Each rule also has a rule visibility value (or `consumer` in the APIs), which affects the {kib} feature privileges that are required to access it. +To view or edit a rule that has a `Stack Rules` rule visibility, for example, you must have the appropriate *Management > {stack-rules-feature}* feature privileges. -For security reasons you may wish to limit the extent to which {kib} can connect -to external services. <> allows you to disable certain -<> and allowlist the hostnames that {kib} can connect with. - -[float] -[[alerting-spaces]] -=== Space isolation - -Rules and connectors are isolated to the {kib} space in which they were created. -A rule or connector created in one space will not be visible in another. +For details about the prerequisites required to run each API, refer to <>. [float] [[alerting-authorization]] -=== Authorization +==== API keys Rules are authorized using an API key. Its credentials are used to run all background tasks associated with the rule, including condition checks like {es} queries and triggered actions. @@ -100,11 +84,25 @@ In both cases, the API key is subsequently associated with the rule and used whe [IMPORTANT] ============================================== -If a rule requires certain privileges, such as index privileges, to run and a user without those privileges updates the rule, the rule will no longer function. +If a rule requires certain privileges, such as index privileges, to run and a user without those privileges updates the rule, the rule will no longer function. Conversely, if a user with greater or administrator privileges modifies the rule, it will begin running with increased privileges. The same behavior occurs when you change the API key in the header of your API calls. ============================================== +[float] +[[alerting-restricting-actions]] +==== Restrict actions + +For security reasons you may wish to limit the extent to which {kib} can connect to external services. +You can use <> to disable certain <> and allowlist the hostnames that {kib} can connect with. + +[float] +[[alerting-spaces]] +=== Space isolation + +Rules and connectors are isolated to the {kib} space in which they were created. +A rule or connector created in one space will not be visible in another. + [float] [[alerting-ccs-setup]] === {ccs-cap} diff --git a/docs/user/alerting/images/rule-types-es-query-conditions.png b/docs/user/alerting/images/rule-types-es-query-conditions.png index cbe18e7bf0bdb9..47eed98caf5e65 100644 Binary files a/docs/user/alerting/images/rule-types-es-query-conditions.png and b/docs/user/alerting/images/rule-types-es-query-conditions.png differ diff --git a/docs/user/alerting/images/rule-types-es-query-invalid.png b/docs/user/alerting/images/rule-types-es-query-invalid.png deleted file mode 100644 index 0d36e337414848..00000000000000 Binary files a/docs/user/alerting/images/rule-types-es-query-invalid.png and /dev/null differ diff --git a/docs/user/alerting/images/rule-types-es-query-valid.png b/docs/user/alerting/images/rule-types-es-query-valid.png index 938662f49a063b..6c63f777dfdc38 100644 Binary files a/docs/user/alerting/images/rule-types-es-query-valid.png and b/docs/user/alerting/images/rule-types-es-query-valid.png differ diff --git a/docs/user/alerting/images/rule-types-esql-query-valid.png b/docs/user/alerting/images/rule-types-esql-query-valid.png new file mode 100644 index 00000000000000..59f3fdfc22e5ed Binary files /dev/null and b/docs/user/alerting/images/rule-types-esql-query-valid.png differ diff --git a/docs/user/alerting/rule-types/es-query.asciidoc b/docs/user/alerting/rule-types/es-query.asciidoc index 2f5e53b7b342db..5a86606a220353 100644 --- a/docs/user/alerting/rule-types/es-query.asciidoc +++ b/docs/user/alerting/rule-types/es-query.asciidoc @@ -13,34 +13,93 @@ matches to a configured threshold, and schedules actions to run when the threshold condition is met. In *{stack-manage-app}* > *{rules-ui}*, click *Create rule*, fill in the name and optional tags, then select *{es} query*. -An {es} query rule can be defined using KQL/Lucene or Query DSL. +An {es} query rule can be defined using {es} Query Domain Specific Language (DSL), {es} Query Language (ES|QL), {kib} Query Language (KQL), or Lucene. [float] === Define the conditions +When you create an {es} query rule, your choice of query type affects the information you must provide. +For example: + [role="screenshot"] image::user/alerting/images/rule-types-es-query-conditions.png[Define the condition to detect] // NOTE: This is an autogenerated screenshot. Do not edit it directly. -Define your query:: -If you chose the query DSL option, you must specify indices to query and a time field that is used for the time window. You must then define a query in {es} query DSL. Only the `query`, `fields`, `_source` and `runtime_mappings` fields are used, other DSL fields are not considered. +1. Define your query ++ +-- +If you use {ref}/query-dsl.html[query DSL], you must select an index and time field then provide your query. +Only the `query`, `fields`, `_source` and `runtime_mappings` fields are used, other DSL fields are not considered. +For example: + +[source,sh] +-------------------------------------------------- +{ + "query":{ + "match_all" : {} + } + } +-------------------------------------------------- + +If you use {kibana-ref}/kuery-query.html[KQL] or {kibana-ref}/lucene-query.html[Lucene], you must specify a data view then define a text-based query. +For example, `http.request.referrer: "https://example.com"`. + +preview:[] If you use {ref}/esql.html[ES|QL], you must provide a source command followed by an optional series of processing commands, separated by pipe characters (|). +For example: + +[source,sh] +-------------------------------------------------- +FROM kibana_sample_data_logs +| STATS total_bytes = SUM(bytes) BY host +| WHERE total_bytes > 200000 +| SORT total_bytes DESC +| LIMIT 10 +-------------------------------------------------- +-- + +2. If you use query DSL, KQL, or Lucene, set the group and theshold. + -If you chose the KQL or Lucene option, you must specify a data view then define a text-based query. -Set the group, theshold, and time window:: -When::: Specify how to calculate the value that is compared to the threshold. The value is calculated by aggregating a numeric field within the time window. The aggregation options are: `count`, `average`, `sum`, `min`, and `max`. When using `count` the document count is used and an aggregation field is not necessary. +-- +When::: Specify how to calculate the value that is compared to the threshold. The value is calculated by aggregating a numeric field within the time window. The aggregation options are: `count`, `average`, `sum`, `min`, and `max`. When using `count` the document count is used and an aggregation field is not necessary. Over or Grouped Over::: Specify whether the aggregation is applied over all documents or split into groups using a grouping field. If grouping is used, an alert will be created for each group when it meets the condition. To limit the number of alerts on high cardinality fields, you must specify the number of groups to check against the threshold. Only the top groups are checked. Threshold::: Defines a threshold value and a comparison operator (`is above`, `is above or equals`, `is below`, `is below or equals`, or `is between`). The value calculated by the aggregation is compared to this threshold. -Time window::: Defines how far back to search for documents, using the -time field set in the index clause. Generally this value should be set to a -value higher than the check interval, to avoid gaps in +-- + +3. Set the time window, which defines how far back to search for documents. + +4. If you use query DSL, KQL, or Lucene, set the number of documents to send to the configured actions when the threshold condition is met. + +5. If you use query DSL, KQL, or Lucene, choose whether to avoid alert duplication by excluding matches from the previous run. +This option is not available when you use a grouping field. + +6. Set the check interval, which defines how often to evaluate the rule conditions. +Generally this value should be set to a value that is smaller than the time window, to avoid gaps in detection. -Set the number of documents to send:: Specifies the number of documents to pass to the configured actions when -the threshold condition is met. -Exclude matches from previous run:: Turn on to avoid alert duplication by -excluding documents that have already been detected by the previous rule run. This -option is not available when a grouping field is specified. + +7. Select a scope value, which affects the <> that are required to access the rule. +For example when it's set to `Stack Rules`, you must have the appropriate *Management > {stack-rules-feature}* feature privileges to view or edit the rule. + +[float] +=== Test your query + +Use the *Test query* feature to verify that your query is valid. + +If you use query DSL, KQL, or Lucene, the query runs against the selected indices using the configured time window. +The number of documents that match the query is displayed. +For example: + +[role="screenshot"] +image::user/alerting/images/rule-types-es-query-valid.png[Test {es} query returns number of matches when valid] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + +preview:[] If you use an ES|QL query, a table is displayed. For example: + +[role="screenshot"] +image::user/alerting/images/rule-types-esql-query-valid.png[Test ES|QL query returns a table when valid] + +If the query is not valid, an error occurs. [float] === Add actions @@ -155,24 +214,6 @@ Labels: // NOTCONSOLE -- -[float] -=== Test your query - -Use the *Test query* feature to verify that your query DSL is valid. - -* Valid queries are run against the configured *index* using the configured -*time window*. The number of documents that match the query is displayed. -+ -[role="screenshot"] -image::user/alerting/images/rule-types-es-query-valid.png[Test {es} query returns number of matches when valid] -// NOTE: This is an autogenerated screenshot. Do not edit it directly. - -* An error message is shown if the query is invalid. -+ -[role="screenshot"] -image::user/alerting/images/rule-types-es-query-invalid.png[Test {es} query shows error when invalid] -// NOTE: This is an autogenerated screenshot. Do not edit it directly. - [float] === Handling multiple matches of the same document diff --git a/docs/user/dashboard/make-dashboards-interactive.asciidoc b/docs/user/dashboard/make-dashboards-interactive.asciidoc index 03d48e308f5423..7df824b39af17c 100644 --- a/docs/user/dashboard/make-dashboards-interactive.asciidoc +++ b/docs/user/dashboard/make-dashboards-interactive.asciidoc @@ -211,6 +211,70 @@ To use series data interactions, click a data series in the panel. + To use saved search interactions, open the panel menu, then click *More > View saved search*. +[[dashboard-links]] +=== Create links to other dashboards + +preview::["This functionality is in technical preview, and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features."] + +You can use *Links* panels to create links to other dashboards or external websites. When creating links to other dashboards, you have the option to carry the time range and query and filters to apply to the linked dashboard. Links to external websites follow the <> settings. *Links* panels support vertical and horizontal layouts and may be saved to the *Library* for use on other dashboards. + +* <> +* <> +* <> +* <> + +[float] +[[add-links-panel]] +==== Add a links panel + +To add a links panel to your dashboards: + +. On the **Dashboards** page, click the dashboard **Title** you want to open. +. Click **Add panel > Links**. +. In the **Create links panel** flyout choose between the panel displaying vertically or horizontally on your dashboard. +. Click **Add link**. +. Specify the following: +* **Go to** - Dashboard to link to another dashboard, or URL to link to an external website. +* **Choose destination** - Use the dropdown to select another dashboard or enter an external URL. +* **Text** - Enter text for the link, which displays in the panel. +* **Options** - When linking to another dashboard use the sliders to use the filters and queries from the original dashboard, use the date range from the original dashboard, or open the dashboard in a new tab. When linking to an external URL use the sliders to open the URL in a new tab, or encode the URL. +. Click **Add link**. +. Click **Save**. +. Enter the **Title** and **Description**, then click **Save**. + +[float] +[[add-links-panel-from-library]] +==== Add a links panel from the library + +By default links panels are saved to the library. To add a links panel to another dashboard: + +. On the **Dashboards** page, click the dashboard **Title** you want to open. +. Click **Add from library**. +. Select the links panel from the **Add from library** flyout. +. Click **Save**. + +[float] +[[edit-links-panel]] +==== Edit links panels + +To edit links panels: + +. Click image:images/lens_layerActions_8.5.0.png[], then **Edit Links**. +. Click image:images/dashboard_controlsEditControl_8.3.0.png[] on the link. +. Click **Update link**. +. Click **Save**. + +[float] +[[delete-links-panels]] +==== Delete links panels + +To delete links panels: + +. Click image:images/lens_layerActions_8.5.0.png[], then **More**. +. Click **Delete from dashboard**. +. Click **Save**. + + [[create-drilldowns]] === Customize interactions with drilldowns diff --git a/docs/user/discover.asciidoc b/docs/user/discover.asciidoc index 6f35e9a9d59ba7..e2b3fc2e0916ec 100644 --- a/docs/user/discover.asciidoc +++ b/docs/user/discover.asciidoc @@ -346,4 +346,7 @@ include::{kib-repo-dir}/discover/field-statistics.asciidoc[] include::{kib-repo-dir}/discover/log-pattern-analysis.asciidoc[] -include::{kib-repo-dir}/discover/search-sessions.asciidoc[] \ No newline at end of file +include::{kib-repo-dir}/discover/search-sessions.asciidoc[] + +include::{kib-repo-dir}/discover/try-esql.asciidoc[] + diff --git a/docs/user/images/alerting-rule.png b/docs/user/images/alerting-rule.png new file mode 100644 index 00000000000000..f3588ef48f7059 Binary files /dev/null and b/docs/user/images/alerting-rule.png differ diff --git a/docs/user/images/annotation-editing.png b/docs/user/images/annotation-editing.png new file mode 100644 index 00000000000000..4e6325c31c7814 Binary files /dev/null and b/docs/user/images/annotation-editing.png differ diff --git a/docs/user/images/ccs-query-inspector.png b/docs/user/images/ccs-query-inspector.png new file mode 100644 index 00000000000000..1814f4d047d7ff Binary files /dev/null and b/docs/user/images/ccs-query-inspector.png differ diff --git a/docs/user/images/color-mapping.png b/docs/user/images/color-mapping.png new file mode 100644 index 00000000000000..d84d11d625c6c9 Binary files /dev/null and b/docs/user/images/color-mapping.png differ diff --git a/docs/user/images/custom-field.gif b/docs/user/images/custom-field.gif new file mode 100644 index 00000000000000..4cf788d0022e20 Binary files /dev/null and b/docs/user/images/custom-field.gif differ diff --git a/docs/user/images/data-drift.png b/docs/user/images/data-drift.png new file mode 100644 index 00000000000000..52360e00961626 Binary files /dev/null and b/docs/user/images/data-drift.png differ diff --git a/docs/user/images/edit-links-panel.png b/docs/user/images/edit-links-panel.png new file mode 100644 index 00000000000000..2e24bef5d282d0 Binary files /dev/null and b/docs/user/images/edit-links-panel.png differ diff --git a/docs/user/images/edit-links.png b/docs/user/images/edit-links.png new file mode 100644 index 00000000000000..920383a5d2bf75 Binary files /dev/null and b/docs/user/images/edit-links.png differ diff --git a/docs/user/images/elser-model-2.png b/docs/user/images/elser-model-2.png new file mode 100644 index 00000000000000..d261d1491cee3a Binary files /dev/null and b/docs/user/images/elser-model-2.png differ diff --git a/docs/user/images/endpoints-example.png b/docs/user/images/endpoints-example.png new file mode 100644 index 00000000000000..948af7d50fe141 Binary files /dev/null and b/docs/user/images/endpoints-example.png differ diff --git a/docs/user/images/endpoints.png b/docs/user/images/endpoints.png new file mode 100644 index 00000000000000..8afa6054200ffb Binary files /dev/null and b/docs/user/images/endpoints.png differ diff --git a/docs/user/images/enrich-index-management.png b/docs/user/images/enrich-index-management.png new file mode 100644 index 00000000000000..b7e9592987027a Binary files /dev/null and b/docs/user/images/enrich-index-management.png differ diff --git a/docs/user/images/enrich-ui.png b/docs/user/images/enrich-ui.png new file mode 100644 index 00000000000000..b9c2554d82bd40 Binary files /dev/null and b/docs/user/images/enrich-ui.png differ diff --git a/docs/user/images/esql-demo.gif b/docs/user/images/esql-demo.gif new file mode 100644 index 00000000000000..ebb79ec8d30fbb Binary files /dev/null and b/docs/user/images/esql-demo.gif differ diff --git a/docs/user/images/esql-enrich.png b/docs/user/images/esql-enrich.png new file mode 100644 index 00000000000000..a84952d06fa0ff Binary files /dev/null and b/docs/user/images/esql-enrich.png differ diff --git a/docs/user/images/esql-rule-type.gif b/docs/user/images/esql-rule-type.gif new file mode 100644 index 00000000000000..1dea827f17d505 Binary files /dev/null and b/docs/user/images/esql-rule-type.gif differ diff --git a/docs/user/images/grok-use-case.gif b/docs/user/images/grok-use-case.gif new file mode 100644 index 00000000000000..d20bf48eb6ea84 Binary files /dev/null and b/docs/user/images/grok-use-case.gif differ diff --git a/docs/user/images/grok.png b/docs/user/images/grok.png new file mode 100644 index 00000000000000..cc85a4cd46c6e7 Binary files /dev/null and b/docs/user/images/grok.png differ diff --git a/docs/user/images/lens-inline-editing.gif b/docs/user/images/lens-inline-editing.gif new file mode 100644 index 00000000000000..4266eeaec1fd6b Binary files /dev/null and b/docs/user/images/lens-inline-editing.gif differ diff --git a/docs/user/images/links-panel.gif b/docs/user/images/links-panel.gif new file mode 100644 index 00000000000000..23143a2edef5a9 Binary files /dev/null and b/docs/user/images/links-panel.gif differ diff --git a/docs/user/images/obv-use-case.png b/docs/user/images/obv-use-case.png new file mode 100644 index 00000000000000..2341eb8fe92125 Binary files /dev/null and b/docs/user/images/obv-use-case.png differ diff --git a/docs/user/images/obvs.png b/docs/user/images/obvs.png new file mode 100644 index 00000000000000..424152e605fc78 Binary files /dev/null and b/docs/user/images/obvs.png differ diff --git a/docs/user/images/start-esql-in-discover.gif b/docs/user/images/start-esql-in-discover.gif new file mode 100644 index 00000000000000..33df4f52dbb77f Binary files /dev/null and b/docs/user/images/start-esql-in-discover.gif differ diff --git a/docs/user/images/term-aggs.png b/docs/user/images/term-aggs.png new file mode 100644 index 00000000000000..2928426686fdc5 Binary files /dev/null and b/docs/user/images/term-aggs.png differ diff --git a/docs/user/images/text-field-support.png b/docs/user/images/text-field-support.png new file mode 100644 index 00000000000000..a64f360b602ddc Binary files /dev/null and b/docs/user/images/text-field-support.png differ diff --git a/docs/user/production-considerations/alerting-production-considerations.asciidoc b/docs/user/production-considerations/alerting-production-considerations.asciidoc index 59c8a4bfa6d154..90e687a8f39a4f 100644 --- a/docs/user/production-considerations/alerting-production-considerations.asciidoc +++ b/docs/user/production-considerations/alerting-production-considerations.asciidoc @@ -72,6 +72,11 @@ There are several scenarios where running alerting rules and actions can start t Running large numbers of rules at very short intervals can quickly clog up Task Manager throughput, leading to higher schedule drift. Use `xpack.alerting.rules.minimumScheduleInterval.value` to set a minimum schedule interval for rules. The default (and recommended) value for this configuration is `1m`. Use `xpack.alerting.rules.minimumScheduleInterval.enforce` to specify whether to strictly enforce this minimum. While the default value for this setting is `false` to maintain backwards compatibility with existing rules, set this to `true` to prevent new and updated rules from running at an interval below the minimum. +Another related setting is `xpack.alerting.rules.maxScheduledPerMinute`, which limits the number of rules that can run per minute. +For example if it's set to `400`, you can have 400 rules with one minute check intervals or 2,000 rules with 5 minute check intervals. +You cannot create or edit a rule if its check interval would cause this setting to be exceeded. +To stay within this limit, delete or disable some rules or update the check intervals so that your rules run less frequently. + [float] ==== Rules that run for a long time @@ -106,4 +111,4 @@ xpack.alerting.rules.run: connectorTypeOverrides: - id: '.email' max: 200 --- \ No newline at end of file +-- diff --git a/docs/user/whats-new.asciidoc b/docs/user/whats-new.asciidoc index e9d1faf845c6f9..4dacf5ce2842dc 100644 --- a/docs/user/whats-new.asciidoc +++ b/docs/user/whats-new.asciidoc @@ -5,12 +5,242 @@ Here are the highlights of what's new and improved in {minor-version}. For detailed information about this release, check the <>. -Previous versions: {kibana-ref-all}/8.6/whats-new.html[8.6] | {kibana-ref-all}/8.5/whats-new.html[8.5] | {kibana-ref-all}/8.4/whats-new.html[8.4] | {kibana-ref-all}/8.3/whats-new.html[8.3] | {kibana-ref-all}/8.2/whats-new.html[8.2] +Previous versions: {kibana-ref-all}/8.10/whats-new.html[8.10] | {kibana-ref-all}/8.9/whats-new.html[8.9] | {kibana-ref-all}/8.8/whats-new.html[8.8] | {kibana-ref-all}/8.7/whats-new.html[8.7] | {kibana-ref-all}/8.6/whats-new.html[8.6] | {kibana-ref-all}/8.5/whats-new.html[8.5] | {kibana-ref-all}/8.4/whats-new.html[8.4] | {kibana-ref-all}/8.3/whats-new.html[8.3] | {kibana-ref-all}/8.2/whats-new.html[8.2] | {kibana-ref-all}/8.1/whats-new.html[8.1] | {kibana-ref-all}/8.0/whats-new.html[8.0] -//NOTE: The notable-highlights tagged regions are re-used in the -//Installation and Upgrade Guide +[discrete] +=== Discover -// tag::notable-highlights[] +[discrete] +==== {esql} in Discover -// end::notable-highlights[] +preview:[] In 8.11 we are introducing link:https://www.elastic.co/guide/en/elasticsearch/reference/master/esql.html[{es} Query Language ({esql})], Elastic’s new piped language for data exploration and investigation. {esql} transforms, enriches, and simplifies your data exploration process. + +[role="screenshot"] +image::images/esql-demo.gif[A short video demo of {esql}] + +Here is what you can expect: + +* *Easy start:* To begin using {esql} in **Discover**, select **Try {esql}** from the data view menu. +* *Efficient and easy query building:* {esql} in Discover offers auto-complete and in-app documentation, making it easy to craft powerful queries right from the query bar. +* *Comprehensive and powerful data exploration:* Conduct ad-hoc data exploration within **Discover**. Create aggregations, transform data, enrich datasets, and more directly from the query builder. Results are presented in a tabular format or as visualizations. It depends on the query you are executing. +* *Contextual visualizations:* When writing {esql} queries in **Discover**, you’ll receive visual representations powered by the **Lens** suggestion engine. Your query’s nature determines the type of visualization you get, such as a metric, histogram, heatmap, and so on. +* *Enrichment:* Use the enrich command to enhance your query dataset with fields from another dataset, complete with in-context suggestions for the selected policy, such as hinting the matching field and enriched columns. +* *In-line visualization editing:* Edit {esql} visualizations directly within **Discover** and dashboards. No need to navigate to **Lens** for quick edits, so you can make changes seamlessly. +* *Dashboard integration:* Save your {esql} visualizations to a dashboard directly from **Discover** once you’re satisfied with the results. +* *Alerting:* Use {esql} for Observability and Security alerts, setting aggregated values as thresholds. Enhance detection accuracy and receive actionable notifications by emphasizing meaningful trends over isolated incidents, reducing false positives. + +{esql} in **Discover** brings efficiency and power to your data investigations, streamlining your path to insights. + +Learn more about {esql}’s capabilities in the link:{ref-bare}/master/esql.html[{es} {esql} documentation]. + + +[role="screenshot"] +image::images/obvs.png[An example of {esql}] + +[role="screenshot"] +image::images/obv-use-case.png[An example using {esql} in an {observability} use case] + + +[discrete] +=== Dashboard + +[discrete] +==== Lens inline editing in dashboards + +You can now edit a **Lens** visualization without leaving the dashboard instead of navigating back and forth to the **Lens** editor. Open the panel menu and select **Edit visualization**. A flyout will be open in the dashboard where you can perform any edits to your **Lens** panels. Once happy with your edits, click **Apply and close**. This new editing experience is more convenient and will save you time since the dashboard will not need to reload when saving your changes. + +[role="screenshot"] +image::images/lens-inline-editing.gif[An example of inline editing in Lens] + +[discrete] +==== Links panel + +You can now easily navigate from one dashboard to another using the links panel. Better organize your dashboards and make them more performant by chunking them in multiple dashboards with fewer visualizations and linking them together. You can carry over your filters, query, and time range when navigating to other related dashboards. Display your links horizontally or vertically as it better suits your dashboard layout. You can also use the links panel to include external links in your dashboards, such as to your wiki page or other applications. Decide whether you want to open the links in the same browser tab or in a new one. + +[role="screenshot"] +image::images/links-panel.gif[An example of the new links panel] + +[role="screenshot"] +image::images/edit-links-panel.png[An example of the edit links panel flyout] + +[role="screenshot"] +image::images/edit-links.png[An example of how to edit links using the panel flyout] + +[discrete] +==== Color mapping for enhanced data visualization + +Color is a fundamental visual element, alongside position and shape, that plays a crucial role in conveying information effectively. + +[role="screenshot"] +image::images/color-mapping.png[An example of the new color mapping feature] + +Here’s what our new color mapping feature offers: + +* *Effortless categorization:* Easily assign one or more field categories to specific colors. This makes it simpler than ever to organize and understand your data. +* *Guided color selection:* Our intuitive color chooser provides you with predefined palettes that ensure your charts not only look great, but also align seamlessly with different {kib} themes. +* *Enhanced color palettes:* We’ve reintroduced a clear concept of color palettes, making it easier for you to select and apply gradients, improving the overall aesthetics of your visualizations. + +Whether you’re working with cartesian, partition, or tag clouds charts, these enhancements are designed to help you make the most of your data. With this feature, you can expect an improved ability to categorize, differentiate, and emphasize data points on your charts, ultimately leading to better insights and more visually appealing dashboards. + +[discrete] +==== {ccs-cap} ({ccs-init}) query inspector + +Customers querying data from multiple clusters link:{ref}/modules-cross-cluster-search.html[({ccs-init} queries)] will get more information about each of the cluster's responses. For each of the visualizations in a dashboard as well as in **Discover**, you can look at response times per cluster and shard failures. This is especially important when one or more clusters are not able to provide all the data, so you know that you are looking at partial results and why they fail. + +[role="screenshot"] +image::images/ccs-query-inspector.png[An example of the new {ccs} query inspector, width=50%] + +[discrete] +==== Individual annotation editing from the library + +We've introduced full annotation group editing in the **Visualize Library**. Now, you can easily edit shared annotation groups without leaving Lens. No more searching for consuming visualizations. + +[role="screenshot"] +image::images/annotation-editing.png[An example of annotation editing] + +[discrete] +=== Machine Learning + +[discrete] +==== ELSER is improved and is now generally available + +In 8.8, we introduced Elastic Learned Sparse Encoder in technical preview. ELSER is Elastic’s text expansion language model for AI search. It offers superior relevance out of the box, without the need for retraining on in-domain data or any other ML or MLOps effort. Deploy it with a couple of clicks from Elastic’s UI and start leveraging the power of AI with your search. + +In 8.11, we're releasing a generally available second version. ELSER model-2 comes in two versions: + +* The optimized model, which runs on the linux-x86_64 platform +* The cross-platform model + +Both ELSER model-2 versions, platform-optimized and cross-platform, show improved relevance compared to the original ELSER release, as measured against the BEIR benchmarks. Importantly, the optimized version also shows significantly improved performance (reduced inference latency). The {ecloud} supports the optimized version and so {ecloud} users will benefit from the materially improved performance of the optimized ELSER model-2. + +[role="screenshot"] +image::images/elser-model-2.png[An example of ELSER model 2, width=60%] + +NOTE: The original version of ELSER (the model available prior to 8.11) will remain in technical preview. + +[discrete] +==== Inference APIs + +preview:[] We are working to introduce a unified inference API that abstracts away the complexity of performing inference on different models that are trained for different tasks. The API introduces a simple, intuitive syntax of the form: + +[source,bash] +---- +POST /_inference// +---- + +In 8.11, we're'releasing a contained first link:{ref}/inference-apis.html[MVP iteration of this framework], which initially only supports ELSER. This link:{ref}/semantic-search-elser.html#inference-ingest-pipeline[greatly simplifies the syntax] for creating an inference pipeline. + +More importantly, in the future the new inference API will support both internal and external models and will integrate with the LLM ecosystem for our users to have the most powerful AI effortlessly and seamlessly at their fingertips, through a unified, self-explanatory API. + +[discrete] +==== AIOps: Log rate analysis supports text fields + +preview:[] Continuing enhancing log analysis capabilities with smart AIOps tools for drastically shorter mean time to repair. We now support detection of log rate changes that are due to text fields, for example the common **message** log field. Previously log rate change was limited to detecting spikes and dips caused by keyword fields. By adding text fields, we've incorporated pattern analysis into log rate analysis. That has significantly reduced the time it takes to detect and diagnose events that used to go unnoticed for periods of time. + +[role="screenshot"] +image::images/text-field-support.png[An example of log rate analysis supporting text fields] + +[discrete] +==== Data drift workflows + +preview:[] In 8.10, we introduced the **Data comparison** view to help you detect data drift. In 8.11, we have renamed it to **Data drift** and we have enhanced it to include workflows that help you visualize changes in the model input data and detect potential model performance degradation over time. + +[role="screenshot"] +image::images/data-drift.png[An example of data drift workflows] + +[discrete] +==== Improvements in anomaly detection embeddability and data frame analytics pipelines + +We have improved the UX for attaching anomaly swim lanes and anomaly charts to dashboards. It is now more friendly and consistent with the same functionality from Lens. In addition, you can now attach these ML charts to new dashboards (previously this was only able to be done for existing ones). + +In **Data Frame Analytics**, we previously added the ability to link directly to **Discover** and **Dashboards** from the results data grid filtering for the row’s field/values for all visible columns. For improved usability, you can now do this during the job creation as well. We have also made UX improvements for the deployment of trained models from Data Frame Analytics jobs, including an option to reindex your data at the end of the ingest pipeline creation. + +[discrete] +=== ResponseOps + +[discrete] +==== New {esql} rule type + +A new {esql} alerting rule type is now available under the existing {es} rule type. This rule type brings all the new functionalities that are available within the new and powerful language, {esql}, to {kib} Alerting to allow and unlock new alerting use cases. + +With the new type, users will be able to generate a single alert based on defined {esql} query and preview the query result before saving the rule. When the query returns an empty result no alerts will be generated. + +[role="screenshot"] +image::images/esql-rule-type.gif[An example of creating a rule type using {esql}] + +[discrete] +==== {kib} cases custom field + +A new functionality is now available in {kib} cases. Users will be able to add custom fields to the case structure, so they can use it for better classification and case enrichment. As a first step, those fields will be available in the case view only. In the next step, we’re planning to have more field types, dedicated privileges, support filters, and search capabilities in the case table. + +[role="screenshot"] +image::images/custom-field.gif[An example of creating a custom case field in {kib}] + +[discrete] +==== Supporting multi levels of term aggregations in {es} rule type + +The existing {es} alerting rule (KQL-based) is now supported by multiple selection when grouping by alert fields, which allows you to define multiple layers of term aggregations. + +[role="screenshot"] +image::images/term-aggs.png[An example of creating multiple layers of term aggregations] + +[discrete] +==== Slack connector - allow List + +The Slack connector supports a new allow list, so customers will be able to manage the available Slack channels within the alert actions. + +[discrete] +=== {observability} + +[discrete] +==== {es} alerting rule now available in {observability} + +The {es} alerting rule is now available in {observability}. Before this update, {observability} customers who leverage the {es} rule were required to move between **{stack-manage-app}** and **{observability}** to manage their alerts. +To manage the {observability} roles properly, we added a new field to determine which role can maintain the created rule and its generated alerts. + +[role="screenshot"] +image::images/alerting-rule.png[An example of creating an altering rule in {observability}] + +[discrete] +=== Global Experience + +[discrete] +==== Create and manage {esql} enrichment index policies + +In support of our new {esql} capabilities, we have added link:{ref}/ingest-enriching-data.html[enrich policies] to our **Index Management** experience. Users can now create their enrichment policies right from here and get started using it right away. Once configured, all enrich policies are available in the **Enrich Policies** tab. + +Example of an ES|QL Query using an enrich policy with enrich: + +[role="screenshot"] +image::images/esql-enrich.png[An example of an {esql} query using an enrich policy] + +Example of the enrich policies shown in the UI: + +[role="screenshot"] +image::images/enrich-ui.png[An example of where to add an enrich policy in the UI] + +[role="screenshot"] +image::images/enrich-index-management.png[An example of where an enrich policy lives in the UI] + + +[discrete] +==== Start Discover {esql} from global search + +**Discover** searches are powered by KQL by default. You can easily switch to {esql} mode within **Discover** and search your data with this new query language. You can also access {esql} in **Discover** from the global search bar within Elastic. With just a few keystrokes, simply type in “ESQL” and you can access **Discover** with {esql} enabled for you. + +[role="screenshot"] +image::images/start-esql-in-discover.gif[An example of using ES|QL in Discover] + +[discrete] +==== Access {es} connection details + +You can now view your {es} endpoint, link:https://www.elastic.co/guide/en/cloud/current/ec-cloud-id.html[Cloud ID], and even manage your API keys from many areas in Elastic such as integrations. You can also access the connection details on any page in Elastic using the help menu from the header bar. + +[role="screenshot"] +image::images/endpoints.png[An example of where to find the endpoints in the UI, width=40%] + +[discrete] +==== AWS CloudFormation template updates + +When subscribing to Elastic using the link:https://aws.amazon.com/marketplace/pp/prodview-voru33wi6xs7k[AWS Marketplace], users have the option to quickly get set up with an AWS CloudFormation Template. This step allows you to create an Elastic deployment in the AWS region of your choice. We’ve updated the AWS CloudFormation Template with bug fixes and stability improvements to better help you get started. \ No newline at end of file diff --git a/examples/feature_control_examples/server/plugin.ts b/examples/feature_control_examples/server/plugin.ts index 95be91fbbde739..6ee81333d0c003 100644 --- a/examples/feature_control_examples/server/plugin.ts +++ b/examples/feature_control_examples/server/plugin.ts @@ -83,8 +83,4 @@ export class FeatureControlsPluginExample start() { return {}; } - - stop() { - return {}; - } } diff --git a/examples/guided_onboarding_example/kibana.jsonc b/examples/guided_onboarding_example/kibana.jsonc index e0fe519a29ff3b..51a53dae720ddb 100644 --- a/examples/guided_onboarding_example/kibana.jsonc +++ b/examples/guided_onboarding_example/kibana.jsonc @@ -8,7 +8,9 @@ "server": true, "browser": true, "requiredPlugins": [ - "navigation", + "navigation" + ], + "optionalPlugins": [ "guidedOnboarding" ] } diff --git a/examples/guided_onboarding_example/public/components/app.tsx b/examples/guided_onboarding_example/public/components/app.tsx index 3b289be9a8dd9e..1230600ddc70e6 100755 --- a/examples/guided_onboarding_example/public/components/app.tsx +++ b/examples/guided_onboarding_example/public/components/app.tsx @@ -39,7 +39,7 @@ export const GuidedOnboardingExampleApp = (props: GuidedOnboardingExampleAppDeps /> } /> - {guidedOnboarding.guidedOnboardingApi?.isEnabled ? ( + {guidedOnboarding?.guidedOnboardingApi?.isEnabled ? ( diff --git a/examples/guided_onboarding_example/public/components/main.tsx b/examples/guided_onboarding_example/public/components/main.tsx index ba434c0c4c86be..1a19e1a745bf18 100644 --- a/examples/guided_onboarding_example/public/components/main.tsx +++ b/examples/guided_onboarding_example/public/components/main.tsx @@ -31,7 +31,7 @@ import type { GuideState, GuideStepIds, GuideId, GuideStep } from '@kbn/guided-o import type { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public'; interface MainProps { - guidedOnboarding: GuidedOnboardingPluginStart; + guidedOnboarding?: GuidedOnboardingPluginStart; notifications: CoreStart['notifications']; } @@ -48,10 +48,7 @@ const selectOptions: EuiSelectOption[] = exampleGuideIds.map((guideId) => ({ text: guideId, })); export const Main = (props: MainProps) => { - const { - guidedOnboarding: { guidedOnboardingApi }, - notifications, - } = props; + const { guidedOnboarding, notifications } = props; const history = useHistory(); const [guidesState, setGuidesState] = useState(undefined); const [activeGuide, setActiveGuide] = useState(undefined); @@ -61,12 +58,12 @@ export const Main = (props: MainProps) => { useEffect(() => { const fetchGuidesState = async () => { - const newGuidesState = await guidedOnboardingApi?.fetchAllGuidesState(); + const newGuidesState = await guidedOnboarding?.guidedOnboardingApi?.fetchAllGuidesState(); setGuidesState(newGuidesState ? newGuidesState.state : []); }; fetchGuidesState(); - }, [guidedOnboardingApi]); + }, [guidedOnboarding]); useEffect(() => { const newActiveGuide = guidesState?.find((guide) => guide.isActive === true); @@ -76,7 +73,10 @@ export const Main = (props: MainProps) => { }, [guidesState, setActiveGuide]); const activateGuide = async (guideId: GuideId, guideState?: GuideState) => { - const response = await guidedOnboardingApi?.activateGuide(guideId, guideState); + const response = await guidedOnboarding?.guidedOnboardingApi?.activateGuide( + guideId, + guideState + ); if (response) { notifications.toasts.addSuccess( @@ -92,7 +92,9 @@ export const Main = (props: MainProps) => { return; } - const selectedGuideConfig = await guidedOnboardingApi?.getGuideConfig(selectedGuide); + const selectedGuideConfig = await guidedOnboarding?.guidedOnboardingApi?.getGuideConfig( + selectedGuide + ); if (!selectedGuideConfig) { return; @@ -134,7 +136,7 @@ export const Main = (props: MainProps) => { guideId: selectedGuide!, }; - const response = await guidedOnboardingApi?.updatePluginState( + const response = await guidedOnboarding?.guidedOnboardingApi?.updatePluginState( { status: 'in_progress', guide: updatedGuideState }, true ); @@ -170,7 +172,7 @@ export const Main = (props: MainProps) => {

diff --git a/examples/guided_onboarding_example/public/components/step_four.tsx b/examples/guided_onboarding_example/public/components/step_four.tsx index 44c238b417fa2d..e3abf249d2f8d2 100644 --- a/examples/guided_onboarding_example/public/components/step_four.tsx +++ b/examples/guided_onboarding_example/public/components/step_four.tsx @@ -16,24 +16,22 @@ import { EuiPageHeader, EuiPageSection, EuiCode } from '@elastic/eui'; import { useParams } from 'react-router-dom'; interface StepFourProps { - guidedOnboarding: GuidedOnboardingPluginStart; + guidedOnboarding?: GuidedOnboardingPluginStart; } -export const StepFour: React.FC = ({ - guidedOnboarding: { guidedOnboardingApi }, -}) => { +export const StepFour: React.FC = ({ guidedOnboarding }) => { const { indexName } = useParams<{ indexName: string }>(); const [, setIsTourStepOpen] = useState(false); useEffect(() => { - const subscription = guidedOnboardingApi + const subscription = guidedOnboarding?.guidedOnboardingApi ?.isGuideStepActive$('testGuide', 'step4') .subscribe((isStepActive) => { setIsTourStepOpen(isStepActive); }); return () => subscription?.unsubscribe(); - }, [guidedOnboardingApi]); + }, [guidedOnboarding]); return ( <> @@ -65,7 +63,7 @@ export const StepFour: React.FC = ({ { - await guidedOnboardingApi?.completeGuideStep('testGuide', 'step4'); + await guidedOnboarding?.guidedOnboardingApi?.completeGuideStep('testGuide', 'step4'); }} > Complete step 4 diff --git a/examples/guided_onboarding_example/public/components/step_one.tsx b/examples/guided_onboarding_example/public/components/step_one.tsx index 924f4a3952dda8..462dd3e78c3819 100644 --- a/examples/guided_onboarding_example/public/components/step_one.tsx +++ b/examples/guided_onboarding_example/public/components/step_one.tsx @@ -23,27 +23,25 @@ import { EuiFormRow, } from '@elastic/eui'; -import useObservable from 'react-use/lib/useObservable'; - import { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public/types'; interface GuidedOnboardingExampleAppDeps { - guidedOnboarding: GuidedOnboardingPluginStart; + guidedOnboarding?: GuidedOnboardingPluginStart; } export const StepOne = ({ guidedOnboarding }: GuidedOnboardingExampleAppDeps) => { - const { guidedOnboardingApi } = guidedOnboarding; - const [isTourStepOpen, setIsTourStepOpen] = useState(false); const [indexName, setIndexName] = useState('test1234'); - const isTourActive = useObservable( - guidedOnboardingApi!.isGuideStepActive$('testGuide', 'step1'), - false - ); useEffect(() => { - setIsTourStepOpen(isTourActive); - }, [isTourActive]); + const subscription = guidedOnboarding?.guidedOnboardingApi + ?.isGuideStepActive$('testGuide', 'step1') + .subscribe((isStepActive) => { + setIsTourStepOpen(isStepActive); + }); + return () => subscription?.unsubscribe(); + }, [guidedOnboarding]); + return ( <> @@ -107,9 +105,13 @@ export const StepOne = ({ guidedOnboarding }: GuidedOnboardingExampleAppDeps) => > { - await guidedOnboardingApi?.completeGuideStep('testGuide', 'step1', { - indexName, - }); + await guidedOnboarding?.guidedOnboardingApi?.completeGuideStep( + 'testGuide', + 'step1', + { + indexName, + } + ); }} > Complete step 1 diff --git a/examples/guided_onboarding_example/server/plugin.ts b/examples/guided_onboarding_example/server/plugin.ts index 40b90f9aa77c1f..b53f087b9c190b 100644 --- a/examples/guided_onboarding_example/server/plugin.ts +++ b/examples/guided_onboarding_example/server/plugin.ts @@ -11,7 +11,7 @@ import { PluginInitializerContext, CoreSetup, Plugin, Logger } from '@kbn/core/s import { testGuideId, testGuideConfig } from '@kbn/guided-onboarding'; interface PluginsSetup { - guidedOnboarding: GuidedOnboardingPluginSetup; + guidedOnboarding?: GuidedOnboardingPluginSetup; } export class GuidedOnboardingExamplePlugin implements Plugin { @@ -23,7 +23,7 @@ export class GuidedOnboardingExamplePlugin implements Plugin { public setup(coreSetup: CoreSetup, { guidedOnboarding }: PluginsSetup) { this.logger.debug('guidedOnboardingExample: Setup'); - guidedOnboarding.registerGuideConfig(testGuideId, testGuideConfig); + guidedOnboarding?.registerGuideConfig(testGuideId, testGuideConfig); return {}; } diff --git a/examples/user_profile_examples/server/plugin.ts b/examples/user_profile_examples/server/plugin.ts index 8f92b98b935a9a..0cc411be1121ec 100644 --- a/examples/user_profile_examples/server/plugin.ts +++ b/examples/user_profile_examples/server/plugin.ts @@ -76,8 +76,4 @@ export class UserProfilesPlugin implements Plugin { `); }); + test('trims values longer than 256 chars', async () => { + // Gather an actual "click" event + const event$ = new ReplaySubject(1); + const parent = document.createElement('div'); + parent.setAttribute('data-test-subj', 'test-click-target-parent'); + const element = document.createElement('button'); + parent.appendChild(element); + const reallyLongText = `test-click-target-${new Array(10000).fill('0').join('')}`; + element.setAttribute('data-test-subj', reallyLongText); + element.innerText = 'test'; // Only to validate that it is not included in the event. + element.value = 'test'; // Only to validate that it is not included in the event. + element.addEventListener('click', (e) => event$.next(e)); + element.click(); + // Using an observable because the event might not be immediately available + const event = await firstValueFrom(event$.pipe(take(1))); + event$.complete(); // No longer needed + + trackClicks(analyticsClientMock, true); + expect(addEventListenerSpy).toHaveBeenCalledTimes(1); + + (addEventListenerSpy.mock.calls[0][1] as EventListener)(event); + expect(analyticsClientMock.reportEvent).toHaveBeenCalledTimes(1); + expect(analyticsClientMock.reportEvent).toHaveBeenCalledWith('click', { + target: [ + 'DIV', + 'data-test-subj=test-click-target-parent', + 'BUTTON', + `data-test-subj=test-click-target-${new Array(256 - 33).fill('0').join('')}`, + ], + }); + }); + test('swallows any processing errors when not in dev mode', async () => { trackClicks(analyticsClientMock, false); expect(addEventListenerSpy).toHaveBeenCalledTimes(1); diff --git a/packages/core/analytics/core-analytics-browser-internal/src/track_clicks.ts b/packages/core/analytics/core-analytics-browser-internal/src/track_clicks.ts index d140a6c99e7b03..6ca58e7d69149d 100644 --- a/packages/core/analytics/core-analytics-browser-internal/src/track_clicks.ts +++ b/packages/core/analytics/core-analytics-browser-internal/src/track_clicks.ts @@ -19,6 +19,7 @@ const HTML_ATTRIBUTES_TO_REMOVE = [ 'data-rfd-draggable-id', 'href', 'value', + 'title', ]; /** @@ -81,6 +82,6 @@ function getTargetDefinition(target: HTMLElement): string[] { target.tagName, ...[...target.attributes] .filter((attr) => !HTML_ATTRIBUTES_TO_REMOVE.includes(attr.name)) - .map((attr) => `${attr.name}=${attr.value}`), + .map((attr) => `${attr.name}=${attr.value}`.slice(0, 256)), ]; } diff --git a/packages/core/application/core-application-browser-internal/integration_tests/application_service.test.tsx b/packages/core/application/core-application-browser-internal/integration_tests/application_service.test.tsx index 95dc6d8f8b181f..d9617952b26cae 100644 --- a/packages/core/application/core-application-browser-internal/integration_tests/application_service.test.tsx +++ b/packages/core/application/core-application-browser-internal/integration_tests/application_service.test.tsx @@ -53,6 +53,7 @@ describe('ApplicationService', () => { overlays: overlayServiceMock.createStartContract(), theme: themeServiceMock.createStartContract(), customBranding: customBrandingServiceMock.createStartContract(), + analytics: analyticsServiceMock.createAnalyticsServiceStart(), }; service = new ApplicationService(); }); diff --git a/packages/core/application/core-application-browser-internal/integration_tests/router.test.tsx b/packages/core/application/core-application-browser-internal/integration_tests/router.test.tsx index 5dfe92858904eb..b23368e4dba2e6 100644 --- a/packages/core/application/core-application-browser-internal/integration_tests/router.test.tsx +++ b/packages/core/application/core-application-browser-internal/integration_tests/router.test.tsx @@ -10,8 +10,10 @@ import React from 'react'; import { BehaviorSubject } from 'rxjs'; import { createMemoryHistory, History, createHashHistory } from 'history'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; import { AppStatus } from '@kbn/core-application-browser'; + import { AppRouter, AppNotFound } from '../src/ui'; import { MockedMounterMap, MockedMounterTuple } from '../src/test_helpers/test_types'; import { createRenderer, createAppMounter, getUnmounter } from './utils'; @@ -42,9 +44,12 @@ describe('AppRouter', () => { ); }; + const mockAnalytics = analyticsServiceMock.createAnalyticsServiceStart(); + const createMountersRenderer = () => createRenderer( { overlays: overlayServiceMock.createStartContract(), theme: themeServiceMock.createStartContract(), customBranding: customBrandingServiceMock.createStartContract(), + analytics: analyticsServiceMock.createAnalyticsServiceStart(), }; service = new ApplicationService(); }); @@ -515,6 +516,7 @@ describe('#start()', () => { overlays: overlayServiceMock.createStartContract(), theme: themeServiceMock.createStartContract(), customBranding: customBrandingServiceMock.createStartContract(), + analytics: analyticsServiceMock.createAnalyticsServiceStart(), }; service = new ApplicationService(); }); @@ -1227,6 +1229,7 @@ describe('#stop()', () => { overlays: overlayServiceMock.createStartContract(), theme: themeServiceMock.createStartContract(), customBranding: customBrandingServiceMock.createStartContract(), + analytics: analyticsServiceMock.createAnalyticsServiceStart(), }; service = new ApplicationService(); }); diff --git a/packages/core/application/core-application-browser-internal/src/application_service.tsx b/packages/core/application/core-application-browser-internal/src/application_service.tsx index de985294b8776a..d54b71b91f119f 100644 --- a/packages/core/application/core-application-browser-internal/src/application_service.tsx +++ b/packages/core/application/core-application-browser-internal/src/application_service.tsx @@ -17,7 +17,7 @@ import type { HttpSetup, HttpStart } from '@kbn/core-http-browser'; import type { Capabilities } from '@kbn/core-capabilities-common'; import type { MountPoint } from '@kbn/core-mount-utils-browser'; import type { OverlayStart } from '@kbn/core-overlays-browser'; -import type { AnalyticsServiceSetup } from '@kbn/core-analytics-browser'; +import type { AnalyticsServiceSetup, AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { App, AppDeepLink, @@ -55,6 +55,7 @@ export interface SetupDeps { export interface StartDeps { http: HttpStart; + analytics: AnalyticsServiceStart; theme: ThemeServiceStart; overlays: OverlayStart; customBranding: CustomBrandingStart; @@ -225,6 +226,7 @@ export class ApplicationService { } public async start({ + analytics, http, overlays, theme, @@ -364,6 +366,7 @@ export class ApplicationService { } return ( { it('should call setIsMounting(false) if mounting throws', async () => { const [waitPromise, resolvePromise] = createResolver(); + const analytics = analyticsServiceMock.createAnalyticsServiceStart(); const mounter = { appBasePath: '/base-path/some-route', appRoute: '/some-route', unmountBeforeMounting: false, exactRoute: false, - mount: async ({ element }: AppMountParameters) => { + mount: async () => { await waitPromise; throw new Error(`Mounting failed!`); }, }; const wrapper = mountWithIntl( - + ; history: History; theme$: Observable; @@ -38,6 +40,7 @@ interface Params { export const AppRouter: FunctionComponent = ({ history, + analytics, mounters, theme$, setAppLeaveHandler, @@ -55,7 +58,7 @@ export const AppRouter: FunctionComponent = ({ const showPlainSpinner = useObservable(hasCustomBranding$ ?? EMPTY, false); return ( - + diff --git a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx index 0e99c96656d59e..eaa30238cde895 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx @@ -295,6 +295,11 @@ export class ChromeService { projectNavigation.setProjectName(projectName); }; + const setProjectUrl = (projectUrl: string) => { + validateChromeStyle(); + projectNavigation.setProjectUrl(projectUrl); + }; + const isIE = () => { const ua = window.navigator.userAgent; const msie = ua.indexOf('MSIE '); // IE 10 or older @@ -387,8 +392,6 @@ export class ChromeService { loadingCount$={http.getLoadingCount$()} headerBanner$={headerBanner$.pipe(takeUntil(this.stop$))} homeHref$={projectNavigation.getProjectHome$()} - projectsUrl$={projectNavigation.getProjectsUrl$()} - projectName$={projectNavigation.getProjectName$()} docLinks={docLinks} kibanaVersion={injectedMetadata.getKibanaVersion()} prependBasePath={http.basePath.prepend} @@ -521,6 +524,7 @@ export class ChromeService { project: { setHome: setProjectHome, setProjectsUrl, + setProjectUrl, setProjectName, setNavigation: setProjectNavigation, setSideNavComponent: setProjectSideNavComponent, diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/breadcrumbs.tsx b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/breadcrumbs.tsx index 1f0057e9670de6..8bd690fba8a7e0 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/breadcrumbs.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/breadcrumbs.tsx @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import { EuiContextMenuPanel, EuiContextMenuItem } from '@elastic/eui'; import { AppDeepLinkId, ChromeProjectBreadcrumb, @@ -13,15 +14,21 @@ import { ChromeSetProjectBreadcrumbsParams, ChromeBreadcrumb, } from '@kbn/core-chrome-browser'; -import { createHomeBreadcrumb } from './home_breadcrumbs'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React from 'react'; export function buildBreadcrumbs({ - homeHref, + projectsUrl, + projectName, + projectUrl, projectBreadcrumbs, activeNodes, chromeBreadcrumbs, }: { - homeHref: string; + projectsUrl?: string; + projectName?: string; + projectUrl?: string; projectBreadcrumbs: { breadcrumbs: ChromeProjectBreadcrumb[]; params: ChromeSetProjectBreadcrumbsParams; @@ -29,12 +36,10 @@ export function buildBreadcrumbs({ chromeBreadcrumbs: ChromeBreadcrumb[]; activeNodes: ChromeProjectNavigationNode[][]; }): ChromeProjectBreadcrumb[] { - const homeBreadcrumb = createHomeBreadcrumb({ - homeHref, - }); + const rootCrumb = buildRootCrumb({ projectsUrl, projectName, projectUrl }); if (projectBreadcrumbs.params.absolute) { - return [homeBreadcrumb, ...projectBreadcrumbs.breadcrumbs]; + return [rootCrumb, ...projectBreadcrumbs.breadcrumbs]; } // breadcrumbs take the first active path @@ -52,7 +57,7 @@ export function buildBreadcrumbs({ // if there are project breadcrumbs set, use them if (projectBreadcrumbs.breadcrumbs.length !== 0) { - return [homeBreadcrumb, ...navBreadcrumbs, ...projectBreadcrumbs.breadcrumbs]; + return [rootCrumb, ...navBreadcrumbs, ...projectBreadcrumbs.breadcrumbs]; } // otherwise try to merge legacy breadcrumbs with navigational project breadcrumbs using deeplinkid @@ -70,12 +75,50 @@ export function buildBreadcrumbs({ } if (chromeBreadcrumbStartIndex === -1) { - return [homeBreadcrumb, ...navBreadcrumbs]; + return [rootCrumb, ...navBreadcrumbs]; } else { return [ - homeBreadcrumb, + rootCrumb, ...navBreadcrumbs.slice(0, navBreadcrumbEndIndex), ...chromeBreadcrumbs.slice(chromeBreadcrumbStartIndex), ]; } } + +function buildRootCrumb({ + projectsUrl, + projectName, + projectUrl, +}: { + projectsUrl?: string; + projectName?: string; + projectUrl?: string; +}): ChromeProjectBreadcrumb { + return { + text: + projectName ?? + i18n.translate('core.ui.primaryNav.cloud.projectLabel', { + defaultMessage: 'Project', + }), + popoverContent: ( + + + , + + + , + ]} + /> + ), + popoverProps: { panelPaddingSize: 'none' }, + }; +} diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx deleted file mode 100644 index 62bfad1b78090d..00000000000000 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/home_breadcrumbs.tsx +++ /dev/null @@ -1,25 +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 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 { ChromeProjectBreadcrumb } from '@kbn/core-chrome-browser'; -import { EuiIcon } from '@elastic/eui'; -import React from 'react'; -import { i18n } from '@kbn/i18n'; - -export const createHomeBreadcrumb = ({ - homeHref, -}: { - homeHref: string; -}): ChromeProjectBreadcrumb => { - return { - text: , - title: i18n.translate('core.ui.chrome.breadcrumbs.homeLink', { defaultMessage: 'Home' }), - href: homeHref, - 'data-test-subj': 'breadcrumb-home', - }; -}; diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts index 52e27669e55157..e42176bc177e59 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts @@ -86,12 +86,35 @@ describe('breadcrumbs', () => { expect(breadcrumbs).toMatchInlineSnapshot(` Array [ Object { - "data-test-subj": "breadcrumb-home", - "href": "/", - "text": + + , + + + , + ] + } + size="s" />, - "title": "Home", + "popoverProps": Object { + "panelPaddingSize": "none", + }, + "text": "Project", }, Object { "deepLinkId": "navItem1", @@ -125,12 +148,35 @@ describe('breadcrumbs', () => { expect(breadcrumbs).toMatchInlineSnapshot(` Array [ Object { - "data-test-subj": "breadcrumb-home", - "href": "/", - "text": + + , + + + , + ] + } + size="s" />, - "title": "Home", + "popoverProps": Object { + "panelPaddingSize": "none", + }, + "text": "Project", }, Object { "href": "/custom1", @@ -158,12 +204,35 @@ describe('breadcrumbs', () => { expect(breadcrumbs).toMatchInlineSnapshot(` Array [ Object { - "data-test-subj": "breadcrumb-home", - "href": "/", - "text": + + , + + + , + ] + } + size="s" />, - "title": "Home", + "popoverProps": Object { + "panelPaddingSize": "none", + }, + "text": "Project", }, Object { "deepLinkId": "navItem1", diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts index 9fb81c0c9a9775..38766a026cdccf 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts @@ -48,6 +48,7 @@ export class ProjectNavigationService { private projectHome$ = new BehaviorSubject(undefined); private projectsUrl$ = new BehaviorSubject(undefined); private projectName$ = new BehaviorSubject(undefined); + private projectUrl$ = new BehaviorSubject(undefined); private projectNavigation$ = new BehaviorSubject(undefined); private activeNodes$ = new BehaviorSubject([]); private projectNavigationNavTreeFlattened: Record = {}; @@ -106,6 +107,9 @@ export class ProjectNavigationService { getProjectName$: () => { return this.projectName$.asObservable(); }, + setProjectUrl: (projectUrl: string) => { + this.projectUrl$.next(projectUrl); + }, setProjectNavigation: (projectNavigation: ChromeProjectNavigation) => { this.projectNavigation$.next(projectNavigation); this.projectNavigationNavTreeFlattened = flattenNav(projectNavigation.navigationTree); @@ -136,17 +140,30 @@ export class ProjectNavigationService { return combineLatest([ this.projectBreadcrumbs$, this.activeNodes$, - this.projectHome$.pipe(map((homeHref) => homeHref ?? '/')), chromeBreadcrumbs$, + this.projectsUrl$, + this.projectUrl$, + this.projectName$, ]).pipe( - map(([projectBreadcrumbs, activeNodes, homeHref, chromeBreadcrumbs]) => { - return buildBreadcrumbs({ - homeHref: this.http?.basePath.prepend?.(homeHref) ?? homeHref, + map( + ([ projectBreadcrumbs, activeNodes, chromeBreadcrumbs, - }); - }) + projectsUrl, + projectUrl, + projectName, + ]) => { + return buildBreadcrumbs({ + projectUrl, + projectName, + projectsUrl, + projectBreadcrumbs, + activeNodes, + chromeBreadcrumbs, + }); + } + ) ); }, }; diff --git a/packages/core/chrome/core-chrome-browser-internal/src/types.ts b/packages/core/chrome/core-chrome-browser-internal/src/types.ts index 009aa57ee6b3bd..aefe477dd01f1e 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/types.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/types.ts @@ -56,6 +56,12 @@ export interface InternalChromeStart extends ChromeStart { */ setProjectName(projectName: string): void; + /** + * Sets the project url. + * @param projectUrl + */ + setProjectUrl(projectUrl: string): void; + /** * Sets the project navigation config to be used for rendering project navigation. * It is used for default project sidenav, project breadcrumbs, tracking active deep link. diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/breadcrumbs.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/breadcrumbs.tsx new file mode 100644 index 00000000000000..4ce22ba727e11b --- /dev/null +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/breadcrumbs.tsx @@ -0,0 +1,47 @@ +/* + * 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 { EuiBreadcrumbs } from '@elastic/eui'; +import classNames from 'classnames'; +import React from 'react'; +import useObservable from 'react-use/lib/useObservable'; +import { Observable } from 'rxjs'; +import type { ChromeBreadcrumb } from '@kbn/core-chrome-browser'; + +interface Props { + breadcrumbs$: Observable; +} + +export function Breadcrumbs({ breadcrumbs$ }: Props) { + const breadcrumbs = useObservable(breadcrumbs$, []); + let crumbs = breadcrumbs; + + if (breadcrumbs.length === 0) { + crumbs = [{ text: 'Kibana' }]; + } + + crumbs = crumbs.map((breadcrumb, i) => { + const isLast = i === breadcrumbs.length - 1; + const { deepLinkId, ...rest } = breadcrumb; + + return { + ...rest, + href: isLast ? undefined : breadcrumb.href, + onClick: isLast ? undefined : breadcrumb.onClick, + 'data-test-subj': classNames( + 'breadcrumb', + deepLinkId && `breadcrumb-deepLinkId-${deepLinkId}`, + breadcrumb['data-test-subj'], + i === 0 && 'first', + isLast && 'last' + ), + }; + }); + + return ; +} diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.test.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.test.tsx index 703d1f0b5de5f2..04e5773e176bdd 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.test.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.test.tsx @@ -28,8 +28,6 @@ describe('Header', () => { helpSupportUrl$: Rx.of('app/help'), helpMenuLinks$: Rx.of([]), homeHref$: Rx.of('app/home'), - projectsUrl$: Rx.of('/projects/'), - projectName$: Rx.of('My Project'), kibanaVersion: '8.9', loadingCount$: Rx.of(0), navControlsLeft$: Rx.of([]), @@ -49,16 +47,4 @@ describe('Header', () => { expect(await screen.findByTestId('euiCollapsibleNavButton')).toBeVisible(); expect(await screen.findByText('Hello, world!')).toBeVisible(); }); - - it('displays the link to projects', async () => { - render( - - Hello, world! - - ); - - const projectsLink = screen.getByTestId('projectsLink'); - expect(projectsLink).toHaveAttribute('href', '/projects/'); - expect(projectsLink).toHaveTextContent('My Project'); - }); }); diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx index 7ac11ecb5bc54b..0892b0c3639118 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx @@ -8,7 +8,6 @@ import { EuiHeader, - EuiHeaderLink, EuiHeaderLogo, EuiHeaderSection, EuiHeaderSectionItem, @@ -36,7 +35,7 @@ import React, { useCallback } from 'react'; import useObservable from 'react-use/lib/useObservable'; import { debounceTime, Observable, of } from 'rxjs'; import { useHeaderActionMenuMounter } from '../header/header_action_menu'; -import { HeaderBreadcrumbs } from '../header/header_breadcrumbs'; +import { Breadcrumbs } from './breadcrumbs'; import { HeaderHelpMenu } from '../header/header_help_menu'; import { HeaderNavControls } from '../header/header_nav_controls'; import { HeaderTopBanner } from '../header/header_top_banner'; @@ -51,6 +50,7 @@ const getHeaderCss = ({ size }: EuiThemeComputed) => ({ min-width: 56px; /* 56 = 40 + 8 + 8 */ padding: 0 ${size.s}; cursor: pointer; + margin-left: -${size.s}; // to get equal spacing between .euiCollapsibleNavButtonWrapper, logo and breadcrumbs `, logo: css` min-width: 0; /* overrides min-width: 40px */ @@ -62,12 +62,6 @@ const getHeaderCss = ({ size }: EuiThemeComputed) => ({ top: 2px; `, }, - projectName: { - link: css` - /* TODO: make header layout more flexible? */ - max-width: 320px; - `, - }, }); type HeaderCss = ReturnType; @@ -78,11 +72,6 @@ const headerStrings = { defaultMessage: 'Go to home page', }), }, - cloud: { - linkToProjects: i18n.translate('core.ui.primaryNav.cloud.linkToProjects', { - defaultMessage: 'Projects', - }), - }, nav: { closeNavAriaLabel: i18n.translate('core.ui.primaryNav.toggleNavAriaLabel', { defaultMessage: 'Toggle primary navigation', @@ -101,8 +90,6 @@ export interface Props { helpSupportUrl$: Observable; helpMenuLinks$: Observable; homeHref$: Observable; - projectsUrl$: Observable; - projectName$: Observable; kibanaVersion: string; application: InternalApplicationStart; loadingCount$: ReturnType; @@ -177,8 +164,6 @@ export const ProjectHeader = ({ ...observables }: Props) => { const headerActionMenuMounter = useHeaderActionMenuMounter(observables.actionMenu$); - const projectsUrl = useObservable(observables.projectsUrl$); - const projectName = useObservable(observables.projectName$); const { euiTheme } = useEuiTheme(); const headerCss = getHeaderCss(euiTheme); const { logo: logoCss } = headerCss; @@ -215,19 +200,9 @@ export const ProjectHeader = ({ - - - {projectName ?? headerStrings.cloud.linkToProjects} - - - - + diff --git a/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts b/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts index 191edc708b64ad..4f1732d940c376 100644 --- a/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts +++ b/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts @@ -71,6 +71,7 @@ const createStartContractMock = () => { project: { setHome: jest.fn(), setProjectsUrl: jest.fn(), + setProjectUrl: jest.fn(), setProjectName: jest.fn(), setNavigation: jest.fn(), setSideNavComponent: jest.fn(), diff --git a/packages/core/chrome/core-chrome-browser/src/project_navigation.ts b/packages/core/chrome/core-chrome-browser/src/project_navigation.ts index e7c1689048b0be..b879cf6f716d71 100644 --- a/packages/core/chrome/core-chrome-browser/src/project_navigation.ts +++ b/packages/core/chrome/core-chrome-browser/src/project_navigation.ts @@ -83,11 +83,7 @@ interface NodeDefinitionBase { */ breadcrumbStatus?: 'hidden' | 'visible'; /** - * Optional status to for the side navigation. "hidden" and "visible" are self explanatory. - * The `renderAsItem` status is _only_ for group nodes (nodes with children declared or with - * the "nodeType" set to `group`) and allow to render the node as an "item" instead of the head of - * a group. This is usefull to have sub-pages declared in the tree that will correctly be mapped - * in the Breadcrumbs, but are not rendered in the side navigation. + * Optional status to indicate if the node should be hidden in the side nav (but still present in the navigation tree). * @default 'visible' */ sideNavStatus?: SideNavNodeStatus; diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/log_query_and_deprecation.test.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/log_query_and_deprecation.test.ts index 0bf8d61e8f4653..edb3ab90e6bc69 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/log_query_and_deprecation.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/log_query_and_deprecation.test.ts @@ -68,6 +68,7 @@ describe('instrumentQueryAndDeprecationLogger', () => { beforeEach(() => { logger = loggingSystemMock.createLogger(); + logger.isLevelEnabled.mockReturnValue(true); parseClientOptionsMock.mockReturnValue({}); ClientMock.mockImplementation(() => createFakeClient()); }); @@ -493,6 +494,29 @@ describe('instrumentQueryAndDeprecationLogger', () => { {\\"seq_no_primary_term\\":true,\\"query\\":{\\"term\\":{\\"user\\":\\"kimchy\\"}}}" `); }); + + it('does not log when debug level is disabled for the query logger', () => { + logger.isLevelEnabled.mockReturnValue(false); + + instrumentEsQueryAndDeprecationLogger({ + logger, + client, + type: 'test type', + apisToRedactInLogs: [], + }); + + const response = createResponseWithBody( + JSON.stringify({ + seq_no_primary_term: true, + query: { + term: { user: 'kimchy' }, + }, + }) + ); + + client.diagnostic.emit('response', null, response); + expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(`Array []`); + }); }); describe('deprecation warnings from response headers', () => { @@ -712,6 +736,39 @@ describe('instrumentQueryAndDeprecationLogger', () => { ); }); + it('does not log when debug level is disabled for the deprecation logger', () => { + logger.isLevelEnabled.mockReturnValue(false); + + instrumentEsQueryAndDeprecationLogger({ + logger, + client, + type: 'test type', + apisToRedactInLogs: [], + }); + + const response = createApiResponse({ + statusCode: 200, + warnings: ['299 Elasticsearch-8.1.0 "GET /_path is deprecated"'], + params: { + method: 'GET', + path: '/_path', + querystring: { hello: 'dolly' }, + // Set the request header to indicate to Elasticsearch that this is a request over which users have no control + headers: { 'x-elastic-product-origin': 'kibana' }, + }, + body: { + hits: [ + { + _source: 'may the source be with you', + }, + ], + }, + }); + client.diagnostic.emit('response', null, response); + + expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(`Array []`); + }); + describe('Request body redaction on some APIs', () => { it('redacts for an API in the extended list (path only)', () => { instrumentEsQueryAndDeprecationLogger({ diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/log_query_and_deprecation.ts b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/log_query_and_deprecation.ts index 954baec201e45c..8d7f0f0a5c2dd4 100644 --- a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/log_query_and_deprecation.ts +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/src/log_query_and_deprecation.ts @@ -153,6 +153,24 @@ export function getRequestDebugMeta( * */ const isEsWarning = (warning: string) => /\d\d\d Elasticsearch-/.test(warning); +function getQueryMessage( + bytes: number | undefined, + error: errors.ElasticsearchClientError | errors.ResponseError | null, + event: DiagnosticResult, + apisToRedactInLogs: ElasticsearchApiToRedactInLogs[] +) { + const bytesMsg = bytes ? ` - ${numeral(bytes).format('0.0b')}` : ''; + if (error) { + if (error instanceof errors.ResponseError) { + return `${getResponseMessage(event, bytesMsg, apisToRedactInLogs)} ${getErrorMessage(error)}`; + } else { + return getErrorMessage(error); + } + } else { + return getResponseMessage(event, bytesMsg, apisToRedactInLogs); + } +} + export const instrumentEsQueryAndDeprecationLogger = ({ logger, client, @@ -166,28 +184,23 @@ export const instrumentEsQueryAndDeprecationLogger = ({ }) => { const queryLogger = logger.get('query', type); const deprecationLogger = logger.get('deprecation'); + client.diagnostic.on('response', (error, event) => { - if (event) { + // we could check this once and not subscribe to response events if both are disabled, + // but then we would not be supporting hot reload of the logging configuration. + const logQuery = queryLogger.isLevelEnabled('debug'); + const logDeprecation = deprecationLogger.isLevelEnabled('debug'); + + if (event && (logQuery || logDeprecation)) { const bytes = getContentLength(event.headers); - const bytesMsg = bytes ? ` - ${numeral(bytes).format('0.0b')}` : ''; - const meta = getEcsResponseLog(event, bytes); - - let queryMsg = ''; - if (error) { - if (error instanceof errors.ResponseError) { - queryMsg = `${getResponseMessage(event, bytesMsg, apisToRedactInLogs)} ${getErrorMessage( - error - )}`; - } else { - queryMsg = getErrorMessage(error); - } - } else { - queryMsg = getResponseMessage(event, bytesMsg, apisToRedactInLogs); - } + const queryMsg = getQueryMessage(bytes, error, event, apisToRedactInLogs); - queryLogger.debug(queryMsg, meta); + if (logQuery) { + const meta = getEcsResponseLog(event, bytes); + queryLogger.debug(queryMsg, meta); + } - if (event.warnings && event.warnings.filter(isEsWarning).length > 0) { + if (logDeprecation && event.warnings && event.warnings.filter(isEsWarning).length > 0) { // Plugins can explicitly mark requests as originating from a user by // removing the `'x-elastic-product-origin': 'kibana'` header that's // added by default. User requests will be shown to users in the diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/index.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/index.ts index 3d81cebf9dc856..983be835a8dbbd 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/index.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/index.ts @@ -30,4 +30,5 @@ export { CoreElasticsearchRouteHandlerContext } from './src/elasticsearch_route_ export { retryCallCluster, migrationRetryCallCluster } from './src/retry_call_cluster'; export { isInlineScriptingEnabled } from './src/is_scripting_enabled'; export { getCapabilitiesFromClient } from './src/get_capabilities'; +export { isRetryableEsClientError } from './src/retryable_es_client_errors'; export type { ClusterInfo } from './src/get_cluster_info'; diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_config.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_config.ts index 6619e7cb1488ac..b1a4712a7949dc 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_config.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_config.ts @@ -57,7 +57,7 @@ export const configSchema = schema.object({ }, }) ), - password: schema.maybe(schema.string()), + password: schema.maybe(schema.string({ coerceFromNumber: true })), serviceAccountToken: schema.maybe( schema.conditional( schema.siblingRef('username'), diff --git a/packages/shared-ux/button/exit_full_screen/impl/jest.config.js b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.test.mocks.ts similarity index 65% rename from packages/shared-ux/button/exit_full_screen/impl/jest.config.js rename to packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.test.mocks.ts index 11baf1e4ebc6d6..99485dca9a5812 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/jest.config.js +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.test.mocks.ts @@ -6,8 +6,10 @@ * Side Public License, v 1. */ -module.exports = { - preset: '@kbn/test', - rootDir: '../../../../..', - roots: ['/packages/shared-ux/button/exit_full_screen/impl'], -}; +export const isRetryableEsClientErrorMock = jest.fn(); + +jest.doMock('./retryable_es_client_errors', () => { + return { + isRetryableEsClientError: isRetryableEsClientErrorMock, + }; +}); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.test.ts index d2922c0161c6f7..57d40936b82421 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.test.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import { isRetryableEsClientErrorMock } from './is_scripting_enabled.test.mocks'; import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; import { isInlineScriptingEnabled } from './is_scripting_enabled'; @@ -94,4 +95,58 @@ describe('isInlineScriptingEnabled', () => { expect(await isInlineScriptingEnabled({ client })).toEqual(false); }); + + describe('resiliency', () => { + beforeEach(() => { + isRetryableEsClientErrorMock.mockReset(); + }); + + const mockSuccessOnce = () => { + client.cluster.getSettings.mockResolvedValueOnce({ + transient: {}, + persistent: {}, + defaults: {}, + }); + }; + const mockErrorOnce = () => { + client.cluster.getSettings.mockResponseImplementationOnce(() => { + throw Error('ERR CON REFUSED'); + }); + }; + + it('retries the ES api call in case of retryable error', async () => { + isRetryableEsClientErrorMock.mockReturnValue(true); + + mockErrorOnce(); + mockSuccessOnce(); + + await expect(isInlineScriptingEnabled({ client, maxRetryDelay: 1 })).resolves.toEqual(true); + expect(client.cluster.getSettings).toHaveBeenCalledTimes(2); + }); + + it('throws in case of non-retryable error', async () => { + isRetryableEsClientErrorMock.mockReturnValue(false); + + mockErrorOnce(); + mockSuccessOnce(); + + await expect(isInlineScriptingEnabled({ client, maxRetryDelay: 0.1 })).rejects.toThrowError( + 'ERR CON REFUSED' + ); + }); + + it('retries up to `maxRetries` times', async () => { + isRetryableEsClientErrorMock.mockReturnValue(true); + + mockErrorOnce(); + mockErrorOnce(); + mockErrorOnce(); + mockSuccessOnce(); + + await expect( + isInlineScriptingEnabled({ client, maxRetryDelay: 0.1, maxRetries: 2 }) + ).rejects.toThrowError('ERR CON REFUSED'); + expect(client.cluster.getSettings).toHaveBeenCalledTimes(3); + }); + }); }); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts index 6a3900229c0d46..ca3ca5b5c59aa1 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/is_scripting_enabled.ts @@ -6,27 +6,48 @@ * Side Public License, v 1. */ +import { defer, map, retry, timer, firstValueFrom, throwError } from 'rxjs'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { isRetryableEsClientError } from './retryable_es_client_errors'; const scriptAllowedTypesKey = 'script.allowed_types'; export const isInlineScriptingEnabled = async ({ client, + maxRetries = 20, + maxRetryDelay = 64, }: { client: ElasticsearchClient; + maxRetries?: number; + maxRetryDelay?: number; }): Promise => { - const settings = await client.cluster.getSettings({ - include_defaults: true, - flat_settings: true, - }); + return firstValueFrom( + defer(() => { + return client.cluster.getSettings({ + include_defaults: true, + flat_settings: true, + }); + }).pipe( + retry({ + count: maxRetries, + delay: (error, retryIndex) => { + if (isRetryableEsClientError(error)) { + const retryDelay = 1000 * Math.min(Math.pow(2, retryIndex), maxRetryDelay); // 2s, 4s, 8s, 16s, 32s, 64s, 64s, 64s ... + return timer(retryDelay); + } else { + return throwError(error); + } + }, + }), + map((settings) => { + const scriptAllowedTypes: string[] = + settings.transient[scriptAllowedTypesKey] ?? + settings.persistent[scriptAllowedTypesKey] ?? + settings.defaults![scriptAllowedTypesKey] ?? + []; - // priority: transient -> persistent -> default - const scriptAllowedTypes: string[] = - settings.transient[scriptAllowedTypesKey] ?? - settings.persistent[scriptAllowedTypesKey] ?? - settings.defaults![scriptAllowedTypesKey] ?? - []; - - // when unspecified, the setting as a default `[]` value that means that both scriptings are allowed. - return scriptAllowedTypes.length === 0 || scriptAllowedTypes.includes('inline'); + return scriptAllowedTypes.length === 0 || scriptAllowedTypes.includes('inline'); + }) + ) + ); }; diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retryable_es_client_errors.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retryable_es_client_errors.test.ts new file mode 100644 index 00000000000000..45015cece5b433 --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retryable_es_client_errors.test.ts @@ -0,0 +1,73 @@ +/* + * 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 { errors as esErrors } from '@elastic/elasticsearch'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { isRetryableEsClientError } from './retryable_es_client_errors'; + +describe('isRetryableEsClientError', () => { + describe('returns `false` for', () => { + test('non-retryable response errors', async () => { + const error = new esErrors.ResponseError( + elasticsearchClientMock.createApiResponse({ + body: { error: { type: 'cluster_block_exception' } }, + statusCode: 400, + }) + ); + + expect(isRetryableEsClientError(error)).toEqual(false); + }); + }); + + describe('returns `true` for', () => { + it('NoLivingConnectionsError', () => { + const error = new esErrors.NoLivingConnectionsError( + 'reason', + elasticsearchClientMock.createApiResponse() + ); + + expect(isRetryableEsClientError(error)).toEqual(true); + }); + + it('ConnectionError', () => { + const error = new esErrors.ConnectionError( + 'reason', + elasticsearchClientMock.createApiResponse() + ); + expect(isRetryableEsClientError(error)).toEqual(true); + }); + + it('TimeoutError', () => { + const error = new esErrors.TimeoutError( + 'reason', + elasticsearchClientMock.createApiResponse() + ); + expect(isRetryableEsClientError(error)).toEqual(true); + }); + + it('ResponseError of type snapshot_in_progress_exception', () => { + const error = new esErrors.ResponseError( + elasticsearchClientMock.createApiResponse({ + body: { error: { type: 'snapshot_in_progress_exception' } }, + }) + ); + expect(isRetryableEsClientError(error)).toEqual(true); + }); + + it.each([503, 401, 403, 408, 410, 429])('ResponseError with %p status code', (statusCode) => { + const error = new esErrors.ResponseError( + elasticsearchClientMock.createApiResponse({ + statusCode, + body: { error: { type: 'reason' } }, + }) + ); + + expect(isRetryableEsClientError(error)).toEqual(true); + }); + }); +}); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retryable_es_client_errors.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retryable_es_client_errors.ts new file mode 100644 index 00000000000000..2ba0ff20a2732d --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retryable_es_client_errors.ts @@ -0,0 +1,40 @@ +/* + * 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 { errors as EsErrors } from '@elastic/elasticsearch'; + +const retryResponseStatuses = [ + 503, // ServiceUnavailable + 401, // AuthorizationException + 403, // AuthenticationException + 408, // RequestTimeout + 410, // Gone + 429, // TooManyRequests -> ES circuit breaker +]; + +/** + * Returns true if the given elasticsearch error should be retried + * by retry-based resiliency systems such as the SO migration, false otherwise. + */ +export const isRetryableEsClientError = (e: EsErrors.ElasticsearchClientError): boolean => { + if ( + e instanceof EsErrors.NoLivingConnectionsError || + e instanceof EsErrors.ConnectionError || + e instanceof EsErrors.TimeoutError || + (e instanceof EsErrors.ResponseError && + (retryResponseStatuses.includes(e?.statusCode!) || + // ES returns a 400 Bad Request when trying to close or delete an + // index while snapshots are in progress. This should have been a 503 + // so once https://github.com/elastic/elasticsearch/issues/65883 is + // fixed we can remove this. + e?.body?.error?.type === 'snapshot_in_progress_exception')) + ) { + return true; + } + return false; +}; diff --git a/packages/core/execution-context/core-execution-context-server-internal/src/execution_context_service.ts b/packages/core/execution-context/core-execution-context-server-internal/src/execution_context_service.ts index 19c7fa8956baf0..27cac24d980a3e 100644 --- a/packages/core/execution-context/core-execution-context-server-internal/src/execution_context_service.ts +++ b/packages/core/execution-context/core-execution-context-server-internal/src/execution_context_service.ts @@ -118,7 +118,9 @@ export class ExecutionContextService // we have to use enterWith since Hapi lifecycle model is built on event emitters. // therefore if we wrapped request handler in asyncLocalStorage.run(), we would lose context in other lifecycles. this.contextStore.enterWith(contextContainer); - this.log.debug(JSON.stringify(contextContainer)); + if (this.log.isLevelEnabled('debug')) { + this.log.debug(JSON.stringify(contextContainer)); + } } private withContext( @@ -130,7 +132,9 @@ export class ExecutionContextService } const parent = this.contextStore.getStore(); const contextContainer = new ExecutionContextContainer(context, parent); - this.log.debug(JSON.stringify(contextContainer)); + if (this.log.isLevelEnabled('debug')) { + this.log.debug(JSON.stringify(contextContainer)); + } return this.contextStore.run(contextContainer, fn); } diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/src/__snapshots__/fatal_errors_screen.test.tsx.snap b/packages/core/fatal-errors/core-fatal-errors-browser-internal/src/__snapshots__/fatal_errors_screen.test.tsx.snap index 962ba0ba9ba5bf..f0084d6705ed86 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-internal/src/__snapshots__/fatal_errors_screen.test.tsx.snap +++ b/packages/core/fatal-errors/core-fatal-errors-browser-internal/src/__snapshots__/fatal_errors_screen.test.tsx.snap @@ -22,7 +22,6 @@ exports[`FatalErrorsScreen rendering render matches snapshot 1`] = ` data-test-subj="clearSession" fill={true} onClick={[Function]} - size="m" > `Rx.Observable`, }); +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { mockRender } from './fatal_errors_service.test.mocks'; import { injectedMetadataServiceMock } from '@kbn/core-injected-metadata-browser-mocks'; import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; @@ -22,6 +23,7 @@ import { FatalErrorsService } from './fatal_errors_service'; function setupService() { const rootDomElement = document.createElement('div'); + const analytics = analyticsServiceMock.createAnalyticsServiceStart(); const injectedMetadata = injectedMetadataServiceMock.createSetupContract(); const theme = themeServiceMock.createSetupContract(); @@ -39,7 +41,7 @@ function setupService() { rootDomElement, injectedMetadata, stopCoreSystem, - fatalErrors: fatalErrorsService.setup({ injectedMetadata, i18n, theme }), + fatalErrors: fatalErrorsService.setup({ analytics, injectedMetadata, i18n, theme }), }; } diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/src/fatal_errors_service.tsx b/packages/core/fatal-errors/core-fatal-errors-browser-internal/src/fatal_errors_service.tsx index 2de836dd40b4fb..d9b17c811999fb 100644 --- a/packages/core/fatal-errors/core-fatal-errors-browser-internal/src/fatal_errors_service.tsx +++ b/packages/core/fatal-errors/core-fatal-errors-browser-internal/src/fatal_errors_service.tsx @@ -10,6 +10,7 @@ import React from 'react'; import { render } from 'react-dom'; import { ReplaySubject, first, tap } from 'rxjs'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { InternalInjectedMetadataSetup } from '@kbn/core-injected-metadata-browser-internal'; import type { ThemeServiceSetup } from '@kbn/core-theme-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; @@ -20,6 +21,7 @@ import { getErrorInfo } from './get_error_info'; /** @internal */ export interface FatalErrorsServiceSetupDeps { + analytics: AnalyticsServiceStart; i18n: I18nStart; theme: ThemeServiceSetup; injectedMetadata: InternalInjectedMetadataSetup; @@ -86,7 +88,7 @@ export class FatalErrorsService { return fatalErrors; } - private renderError({ i18n, theme, injectedMetadata }: FatalErrorsServiceSetupDeps) { + private renderError({ analytics, i18n, theme, injectedMetadata }: FatalErrorsServiceSetupDeps) { // delete all content in the rootDomElement this.rootDomElement.textContent = ''; @@ -95,7 +97,12 @@ export class FatalErrorsService { this.rootDomElement.appendChild(container); render( - + { }); }); - describe('isSytemApi property', () => { + describe('isSystemRequest property', () => { it('is false when no kbn-system-request header is set', () => { const request = hapiMocks.createRequest({ headers: { custom: 'one' }, diff --git a/packages/core/http/core-http-router-server-internal/src/request.ts b/packages/core/http/core-http-router-server-internal/src/request.ts index 05c35f4004efa8..66efdbd61587c7 100644 --- a/packages/core/http/core-http-router-server-internal/src/request.ts +++ b/packages/core/http/core-http-router-server-internal/src/request.ts @@ -59,15 +59,18 @@ export class CoreKibanaRequest< */ public static from( req: RawRequest, - routeSchemas: RouteValidator | RouteValidatorFullConfig = {}, + routeSchemas: + | RouteValidator + | RouteValidatorFullConfig + | undefined = undefined, withoutSecretHeaders: boolean = true ) { - const routeValidator = RouteValidator.from(routeSchemas); let requestParts: { params: P; query: Q; body: B }; - if (isFakeRawRequest(req)) { + if (routeSchemas === undefined || isFakeRawRequest(req)) { requestParts = { query: {} as Q, params: {} as P, body: {} as B }; } else { - const rawParts = CoreKibanaRequest.sanitizeRequest(req); + const routeValidator = RouteValidator.from(routeSchemas); + const rawParts = sanitizeRequest(req); requestParts = CoreKibanaRequest.validate(rawParts, routeValidator); } return new CoreKibanaRequest( @@ -79,22 +82,6 @@ export class CoreKibanaRequest< ); } - /** - * We have certain values that may be passed via query params that we want to - * exclude from further processing like validation. This method removes those - * internal values. - */ - private static sanitizeRequest( - req: Request - ): { query: unknown; params: unknown; body: unknown } { - const { [ELASTIC_INTERNAL_ORIGIN_QUERY_PARAM]: __, ...query } = req.query ?? {}; - return { - query, - params: req.params, - body: req.payload, - }; - } - /** * Validates the different parts of a request based on the schemas defined for * the route. Builds up the actual params, query and body object that will be @@ -156,14 +143,16 @@ export class CoreKibanaRequest< // KibanaRequest in conjunction with scoped Elasticsearch and SavedObjectsClient in order to pass credentials. // In these cases, the ids default to a newly generated UUID. const appState = request.app as KibanaRequestState | undefined; + const isRealReq = isRealRawRequest(request); + this.id = appState?.requestId ?? uuidv4(); this.uuid = appState?.requestUuid ?? uuidv4(); this.rewrittenUrl = appState?.rewrittenUrl; this.url = request.url ?? new URL('https://fake-request/url'); - this.headers = isRealRawRequest(request) ? deepFreeze({ ...request.headers }) : request.headers; + this.headers = isRealReq ? deepFreeze({ ...request.headers }) : request.headers; this.isSystemRequest = this.headers['kbn-system-request'] === 'true'; - this.isFakeRequest = isFakeRawRequest(request); + this.isFakeRequest = !isRealReq; this.isInternalApiRequest = X_ELASTIC_INTERNAL_ORIGIN_REQUEST in this.headers || Boolean(this.url?.searchParams?.has(ELASTIC_INTERNAL_ORIGIN_QUERY_PARAM)); @@ -174,7 +163,7 @@ export class CoreKibanaRequest< }); this.route = deepFreeze(this.getRouteInfo(request)); - this.socket = isRealRawRequest(request) + this.socket = isRealReq ? new KibanaSocket(request.raw.req.socket) : KibanaSocket.getFakeSocket(); this.events = this.getEvents(request); @@ -250,6 +239,7 @@ export class CoreKibanaRequest< options, }; } + /** set route access to internal if not declared */ private getAccess(request: RawRequest): 'internal' | 'public' { return ( @@ -333,3 +323,17 @@ export function isRealRequest(request: unknown): request is KibanaRequest | Requ function isCompleted(request: Request) { return request.raw.res.writableFinished; } + +/** + * We have certain values that may be passed via query params that we want to + * exclude from further processing like validation. This method removes those + * internal values. + */ +function sanitizeRequest(req: Request): { query: unknown; params: unknown; body: unknown } { + const { [ELASTIC_INTERNAL_ORIGIN_QUERY_PARAM]: __, ...query } = req.query ?? {}; + return { + query, + params: req.params, + body: req.payload, + }; +} diff --git a/packages/core/http/core-http-router-server-internal/src/socket.ts b/packages/core/http/core-http-router-server-internal/src/socket.ts index eaa6e18570a0e9..09657abe02333e 100644 --- a/packages/core/http/core-http-router-server-internal/src/socket.ts +++ b/packages/core/http/core-http-router-server-internal/src/socket.ts @@ -20,6 +20,8 @@ export class KibanaSocket implements IKibanaSocket { }; } + constructor(private readonly socket: Socket) {} + public get authorized() { return this.socket instanceof TLSSocket ? this.socket.authorized : undefined; } @@ -32,12 +34,9 @@ export class KibanaSocket implements IKibanaSocket { return this.socket.remoteAddress; } - constructor(private readonly socket: Socket) {} - getPeerCertificate(detailed: true): DetailedPeerCertificate | null; getPeerCertificate(detailed: false): PeerCertificate | null; getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate | null; - public getPeerCertificate(detailed?: boolean) { if (this.socket instanceof TLSSocket) { const peerCertificate = this.socket.getPeerCertificate(detailed); diff --git a/packages/core/http/core-http-server-internal/src/http_service.ts b/packages/core/http/core-http-server-internal/src/http_service.ts index 46d12ddbbd68ad..96e9c8a85ba89f 100644 --- a/packages/core/http/core-http-server-internal/src/http_service.ts +++ b/packages/core/http/core-http-server-internal/src/http_service.ts @@ -102,7 +102,7 @@ export class HttpService }, }); - registerCoreHandlers(prebootSetup, config, this.env); + registerCoreHandlers(prebootSetup, config, this.env, this.log); if (this.shouldListen(config)) { this.log.debug('starting preboot server'); @@ -162,7 +162,7 @@ export class HttpService deps.executionContext ); - registerCoreHandlers(serverContract, config, this.env); + registerCoreHandlers(serverContract, config, this.env, this.log); this.internalSetup = { ...serverContract, diff --git a/packages/core/http/core-http-server-internal/src/lifecycle_handlers.test.ts b/packages/core/http/core-http-server-internal/src/lifecycle_handlers.test.ts index 6e2c53af82679e..72082e0cb1e55b 100644 --- a/packages/core/http/core-http-server-internal/src/lifecycle_handlers.test.ts +++ b/packages/core/http/core-http-server-internal/src/lifecycle_handlers.test.ts @@ -14,9 +14,11 @@ import type { OnPostAuthToolkit, OnPreRoutingToolkit, OnPostAuthHandler, + OnPreResponseInfo, } from '@kbn/core-http-server'; import { mockRouter } from '@kbn/core-http-router-server-mocks'; import { + createBuildNrMismatchLoggerPreResponseHandler, createCustomHeadersPreResponseHandler, createRestrictInternalRoutesPostAuthHandler, createVersionCheckPostAuthHandler, @@ -24,6 +26,9 @@ import { } from './lifecycle_handlers'; import { HttpConfig } from './http_config'; +import { loggerMock } from '@kbn/logging-mocks'; +import { Logger } from '@kbn/logging'; +import { KIBANA_BUILD_NR_HEADER } from '@kbn/core-http-common'; type ToolkitMock = jest.Mocked; @@ -43,13 +48,18 @@ const forgeRequest = ({ path = '/', method = 'get', kibanaRouteOptions, + buildNr, }: Partial<{ headers: Record; query: Record; path: string; method: RouteMethod; kibanaRouteOptions: KibanaRouteOptions; + buildNr: undefined | string; }>): KibanaRequest => { + if (buildNr) { + headers[KIBANA_BUILD_NR_HEADER] = buildNr; + } return mockRouter.createKibanaRequest({ headers, path, @@ -452,3 +462,79 @@ describe('customHeaders pre-response handler', () => { }); }); }); + +describe('build number mismatch logger on error pre-response handler', () => { + let logger: jest.Mocked; + + beforeEach(() => { + logger = loggerMock.create(); + }); + + it('injects a logger prefix', () => { + createBuildNrMismatchLoggerPreResponseHandler(123, logger); + expect(logger.get).toHaveBeenCalledTimes(1); + expect(logger.get).toHaveBeenCalledWith(`kbn-build-number-mismatch`); + }); + + it('does not log for same server-client build', () => { + const handler = createBuildNrMismatchLoggerPreResponseHandler(123, logger); + const request = forgeRequest({ buildNr: '123' }); + const response: OnPreResponseInfo = { statusCode: 500 }; // should log for errors, but not this time bc same build nr + handler(request, response, createToolkit()); + expect(logger.warn).not.toHaveBeenCalled(); + }); + + const badStatusCodeTestCases = [ + /** just test a few common ones */ + [400], + [401], + [403], + [499], + [500], + [502], + [999] /* and not so common... */, + ]; + it.each(badStatusCodeTestCases)( + 'logs for %p responses and newer client builds', + (responseStatusCode) => { + const handler = createBuildNrMismatchLoggerPreResponseHandler(123, logger); + const request = forgeRequest({ buildNr: '124' }); + const response: OnPreResponseInfo = { statusCode: responseStatusCode }; + handler(request, response, createToolkit()); + expect(logger.warn).toHaveBeenCalledTimes(1); + expect(logger.warn).toHaveBeenCalledWith( + `Client build (124) is newer than this Kibana server build (123). The [${responseStatusCode}] error status in req id [123] may be due to client-server incompatibility!` + ); + } + ); + + it.each(badStatusCodeTestCases)('logs for %p responses and older client builds', (statusCode) => { + const handler = createBuildNrMismatchLoggerPreResponseHandler(123, logger); + const request = forgeRequest({ buildNr: '122' }); + const response: OnPreResponseInfo = { statusCode }; + handler(request, response, createToolkit()); + expect(logger.warn).toHaveBeenCalledTimes(1); + expect(logger.warn).toHaveBeenCalledWith( + `Client build (122) is older than this Kibana server build (123). The [${statusCode}] error status in req id [123] may be due to client-server incompatibility!` + ); + }); + + it.each([[200], [201], [301], [302]])('does not log for %p responses', (statusCode) => { + const handler = createBuildNrMismatchLoggerPreResponseHandler(123, logger); + const request = forgeRequest({ buildNr: '124' }); + const response: OnPreResponseInfo = { statusCode }; + handler(request, response, createToolkit()); + expect(logger.warn).not.toHaveBeenCalled(); + }); + + it.each([['foo'], [['yes']], [true], [null], [[]], [undefined]])( + 'ignores bogus client build numbers like %p', + (bogusBuild) => { + const handler = createBuildNrMismatchLoggerPreResponseHandler(123, logger); + const request = forgeRequest({ buildNr: bogusBuild as any }); + const response: OnPreResponseInfo = { statusCode: 500 }; + handler(request, response, createToolkit()); + expect(logger.warn).not.toHaveBeenCalled(); + } + ); +}); diff --git a/packages/core/http/core-http-server-internal/src/lifecycle_handlers.ts b/packages/core/http/core-http-server-internal/src/lifecycle_handlers.ts index a86a0e230f6099..86c3870f727845 100644 --- a/packages/core/http/core-http-server-internal/src/lifecycle_handlers.ts +++ b/packages/core/http/core-http-server-internal/src/lifecycle_handlers.ts @@ -6,8 +6,15 @@ * Side Public License, v 1. */ -import type { OnPostAuthHandler, OnPreResponseHandler } from '@kbn/core-http-server'; +import type { + OnPostAuthHandler, + OnPreResponseHandler, + OnPreResponseInfo, + KibanaRequest, +} from '@kbn/core-http-server'; import { isSafeMethod } from '@kbn/core-http-router-server-internal'; +import { Logger } from '@kbn/logging'; +import { KIBANA_BUILD_NR_HEADER } from '@kbn/core-http-common'; import { HttpConfig } from './http_config'; const VERSION_HEADER = 'kbn-version'; @@ -82,13 +89,55 @@ export const createCustomHeadersPreResponseHandler = (config: HttpConfig): OnPre csp: { header: cspHeader }, } = config; + const additionalHeaders = { + ...securityResponseHeaders, + ...customResponseHeaders, + 'Content-Security-Policy': cspHeader, + [KIBANA_NAME_HEADER]: serverName, + }; + return (request, response, toolkit) => { - const additionalHeaders = { - ...securityResponseHeaders, - ...customResponseHeaders, - 'Content-Security-Policy': cspHeader, - [KIBANA_NAME_HEADER]: serverName, - }; - return toolkit.next({ headers: additionalHeaders }); + return toolkit.next({ headers: { ...additionalHeaders } }); + }; +}; + +const shouldLogBuildNumberMismatch = ( + serverBuild: { number: number; string: string }, + request: KibanaRequest, + response: OnPreResponseInfo +): { log: true; clientBuild: number } | { log: false } => { + if ( + response.statusCode >= 400 && + request.headers[KIBANA_BUILD_NR_HEADER] !== serverBuild.string + ) { + const clientBuildNumber = parseInt(String(request.headers[KIBANA_BUILD_NR_HEADER]), 10); + if (!isNaN(clientBuildNumber)) { + return { log: true, clientBuild: clientBuildNumber }; + } + } + return { log: false }; +}; + +/** + * This should remain part of the logger prefix so that we can notify/track + * when we see this logged for observability purposes. + */ +const BUILD_NUMBER_MISMATCH_LOGGER_NAME = 'kbn-build-number-mismatch'; +export const createBuildNrMismatchLoggerPreResponseHandler = ( + serverBuildNumber: number, + log: Logger +): OnPreResponseHandler => { + const serverBuild = { number: serverBuildNumber, string: String(serverBuildNumber) }; + log = log.get(BUILD_NUMBER_MISMATCH_LOGGER_NAME); + + return (request, response, toolkit) => { + const result = shouldLogBuildNumberMismatch(serverBuild, request, response); + if (result.log === true) { + const clientCompAdjective = result.clientBuild > serverBuildNumber ? 'newer' : 'older'; + log.warn( + `Client build (${result.clientBuild}) is ${clientCompAdjective} than this Kibana server build (${serverBuildNumber}). The [${response.statusCode}] error status in req id [${request.id}] may be due to client-server incompatibility!` + ); + } + return toolkit.next(); }; }; diff --git a/packages/core/http/core-http-server-internal/src/register_lifecycle_handlers.test.ts b/packages/core/http/core-http-server-internal/src/register_lifecycle_handlers.test.ts index ebaefa5ea5dea2..8e41ec9a827cbd 100644 --- a/packages/core/http/core-http-server-internal/src/register_lifecycle_handlers.test.ts +++ b/packages/core/http/core-http-server-internal/src/register_lifecycle_handlers.test.ts @@ -11,6 +11,9 @@ jest.mock('./lifecycle_handlers', () => { return { ...actual, createVersionCheckPostAuthHandler: jest.fn(actual.createVersionCheckPostAuthHandler), + createBuildNrMismatchLoggerPreResponseHandler: jest.fn( + actual.createBuildNrMismatchLoggerPreResponseHandler + ), }; }); @@ -18,7 +21,11 @@ import { createTestEnv } from '@kbn/config-mocks'; import type { HttpConfig } from './http_config'; import { registerCoreHandlers } from './register_lifecycle_handlers'; -import { createVersionCheckPostAuthHandler } from './lifecycle_handlers'; +import { + createVersionCheckPostAuthHandler, + createBuildNrMismatchLoggerPreResponseHandler, +} from './lifecycle_handlers'; +import { loggerMock } from '@kbn/logging-mocks'; describe('registerCoreHandlers', () => { it('will not register client version checking if disabled via config', () => { @@ -39,11 +46,15 @@ describe('registerCoreHandlers', () => { }, } as unknown as HttpConfig; - registerCoreHandlers(registrarMock, config, createTestEnv()); + const logger = loggerMock.create(); + + registerCoreHandlers(registrarMock, config, createTestEnv(), logger); expect(createVersionCheckPostAuthHandler).toHaveBeenCalledTimes(0); + expect(createBuildNrMismatchLoggerPreResponseHandler).toHaveBeenCalledTimes(1); // we do expect to register a logger config.versioned.strictClientVersionCheck = true; - registerCoreHandlers(registrarMock, config, createTestEnv()); + registerCoreHandlers(registrarMock, config, createTestEnv(), logger); expect(createVersionCheckPostAuthHandler).toHaveBeenCalledTimes(1); + expect(createBuildNrMismatchLoggerPreResponseHandler).toHaveBeenCalledTimes(1); // logger registration should not be called again }); }); diff --git a/packages/core/http/core-http-server-internal/src/register_lifecycle_handlers.ts b/packages/core/http/core-http-server-internal/src/register_lifecycle_handlers.ts index 14561c5d94ef5a..fac274af5a2835 100644 --- a/packages/core/http/core-http-server-internal/src/register_lifecycle_handlers.ts +++ b/packages/core/http/core-http-server-internal/src/register_lifecycle_handlers.ts @@ -7,19 +7,22 @@ */ import type { Env } from '@kbn/config'; +import { Logger } from '@kbn/logging'; import type { HttpConfig } from './http_config'; import type { LifecycleRegistrar } from './http_server'; import { createCustomHeadersPreResponseHandler, createRestrictInternalRoutesPostAuthHandler, createVersionCheckPostAuthHandler, + createBuildNrMismatchLoggerPreResponseHandler, createXsrfPostAuthHandler, } from './lifecycle_handlers'; export const registerCoreHandlers = ( registrar: LifecycleRegistrar, config: HttpConfig, - env: Env + env: Env, + log: Logger ) => { // add headers based on config registrar.registerOnPreResponse(createCustomHeadersPreResponseHandler(config)); @@ -28,6 +31,10 @@ export const registerCoreHandlers = ( if (config.versioned.strictClientVersionCheck !== false) { // add check on version registrar.registerOnPostAuth(createVersionCheckPostAuthHandler(env.packageInfo.version)); + } else { + registrar.registerOnPreResponse( + createBuildNrMismatchLoggerPreResponseHandler(env.packageInfo.buildNum, log) + ); } // add check on header if the route is internal registrar.registerOnPostAuth(createRestrictInternalRoutesPostAuthHandler(config)); // strictly speaking, we should have access to route.options.access from the request on postAuth diff --git a/packages/core/http/core-http-server-mocks/src/test_utils.ts b/packages/core/http/core-http-server-mocks/src/test_utils.ts index a23fd54e9840eb..1588f06056b8b3 100644 --- a/packages/core/http/core-http-server-mocks/src/test_utils.ts +++ b/packages/core/http/core-http-server-mocks/src/test_utils.ts @@ -107,6 +107,19 @@ export const createCoreContext = (overrides: Partial = {}): CoreCon /** * Creates a concrete HttpServer with a mocked context. */ -export const createHttpServer = (overrides: Partial = {}): HttpService => { - return new HttpService(createCoreContext(overrides)); +export const createHttpServer = ({ + buildNum, + ...overrides +}: Partial = {}): HttpService => { + const ctx = createCoreContext(overrides); + if (buildNum !== undefined) { + ctx.env = { + ...ctx.env, + packageInfo: { + ...ctx.env.packageInfo, + buildNum, + }, + }; + } + return new HttpService(ctx); }; diff --git a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap index 83a864adc2b1cb..39aacd87efc9e5 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap +++ b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap @@ -35,8 +35,10 @@ exports[`#start() returns \`Context\` component 1`] = ` "euiCodeBlockFullScreen.fullscreenExpand": "Expand", "euiCollapsedItemActions.allActions": "All actions", "euiCollapsibleNavBeta.ariaLabel": "Site menu", - "euiCollapsibleNavButton.ariaLabelClose": "Toggle navigation closed", - "euiCollapsibleNavButton.ariaLabelOpen": "Toggle navigation open", + "euiCollapsibleNavButton.ariaLabelClose": "Close navigation", + "euiCollapsibleNavButton.ariaLabelCollapse": "Collapse navigation", + "euiCollapsibleNavButton.ariaLabelExpand": "Expand navigation", + "euiCollapsibleNavButton.ariaLabelOpen": "Open navigation", "euiColorPicker.alphaLabel": "Alpha channel (opacity) value", "euiColorPicker.closeLabel": "Press the down key to open a popover containing color options", "euiColorPicker.colorErrorMessage": "Invalid color value", diff --git a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx index 2f62c04b40e742..e76a38f74f6d5e 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx +++ b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx @@ -170,13 +170,21 @@ export const getEuiContextMapping = (): EuiTokensObject => { 'euiCollapsibleNavBeta.ariaLabel': i18n.translate('core.euiCollapsibleNavBeta.ariaLabel', { defaultMessage: 'Site menu', }), + 'euiCollapsibleNavButton.ariaLabelExpand': i18n.translate( + 'core.euiCollapsibleNavButton.ariaLabelExpand', + { defaultMessage: 'Expand navigation' } + ), + 'euiCollapsibleNavButton.ariaLabelCollapse': i18n.translate( + 'core.euiCollapsibleNavButton.ariaLabelCollapse', + { defaultMessage: 'Collapse navigation' } + ), 'euiCollapsibleNavButton.ariaLabelClose': i18n.translate( 'core.euiCollapsibleNavButton.ariaLabelClose', - { defaultMessage: 'Toggle navigation closed' } + { defaultMessage: 'Close navigation' } ), 'euiCollapsibleNavButton.ariaLabelOpen': i18n.translate( 'core.euiCollapsibleNavButton.ariaLabelOpen', - { defaultMessage: 'Toggle navigation open' } + { defaultMessage: 'Open navigation' } ), 'euiColorPicker.alphaLabel': i18n.translate('core.euiColorPicker.alphaLabel', { defaultMessage: 'Alpha channel (opacity) value', diff --git a/packages/core/metrics/core-metrics-server-internal/src/metrics_service.ts b/packages/core/metrics/core-metrics-server-internal/src/metrics_service.ts index 97a6111e965369..468f764d4ef466 100644 --- a/packages/core/metrics/core-metrics-server-internal/src/metrics_service.ts +++ b/packages/core/metrics/core-metrics-server-internal/src/metrics_service.ts @@ -90,8 +90,10 @@ export class MetricsService private async refreshMetrics() { const metrics = await this.metricsCollector!.collect(); - const { message, meta } = getEcsOpsMetricsLog(metrics); - this.opsMetricsLogger.debug(message!, meta); + if (this.opsMetricsLogger.isLevelEnabled('debug')) { + const { message, meta } = getEcsOpsMetricsLog(metrics); + this.opsMetricsLogger.debug(message!, meta); + } this.metricsCollector!.reset(); this.metrics$.next(metrics); } diff --git a/packages/core/notifications/core-notifications-browser-internal/src/notifications_service.ts b/packages/core/notifications/core-notifications-browser-internal/src/notifications_service.ts index 3df6ac89e03d3b..217b8b84f35ee4 100644 --- a/packages/core/notifications/core-notifications-browser-internal/src/notifications_service.ts +++ b/packages/core/notifications/core-notifications-browser-internal/src/notifications_service.ts @@ -79,6 +79,7 @@ export class NotificationsService { eventReporter, i18n: i18nDep, overlays, + analytics, theme, targetDomElement: toastsContainer, }), @@ -87,6 +88,7 @@ export class NotificationsService { title, error, openModal: overlays.openModal, + analytics, i18n: i18nDep, theme, }), diff --git a/packages/core/notifications/core-notifications-browser-internal/src/toasts/__snapshots__/toasts_service.test.tsx.snap b/packages/core/notifications/core-notifications-browser-internal/src/toasts/__snapshots__/toasts_service.test.tsx.snap index fa435d05d72c7f..a86cd8f38df52b 100644 --- a/packages/core/notifications/core-notifications-browser-internal/src/toasts/__snapshots__/toasts_service.test.tsx.snap +++ b/packages/core/notifications/core-notifications-browser-internal/src/toasts/__snapshots__/toasts_service.test.tsx.snap @@ -4,6 +4,20 @@ exports[`#start() renders the GlobalToastList into the targetDomElement param 1` Array [ Array [ diff --git a/packages/core/notifications/core-notifications-browser-internal/src/toasts/error_toast.tsx b/packages/core/notifications/core-notifications-browser-internal/src/toasts/error_toast.tsx index fc8407de8faa90..0b40fc5425cf7a 100644 --- a/packages/core/notifications/core-notifications-browser-internal/src/toasts/error_toast.tsx +++ b/packages/core/notifications/core-notifications-browser-internal/src/toasts/error_toast.tsx @@ -20,6 +20,7 @@ import { } from '@elastic/eui'; import { EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; import type { OverlayStart } from '@kbn/core-overlays-browser'; import { ThemeServiceStart } from '@kbn/core-theme-browser'; @@ -30,6 +31,7 @@ interface ErrorToastProps { error: Error; toastMessage: string; openModal: OverlayStart['openModal']; + analytics: AnalyticsServiceStart; i18n: I18nStart; theme: ThemeServiceStart; } @@ -55,9 +57,10 @@ export function showErrorDialog({ title, error, openModal, + analytics, i18n, theme, -}: Pick) { +}: Pick) { let text = ''; if (isRequestError(error)) { @@ -71,7 +74,7 @@ export function showErrorDialog({ const modal = openModal( mount( - + {title} @@ -104,6 +107,7 @@ export function ErrorToast({ error, toastMessage, openModal, + analytics, i18n, theme, }: ErrorToastProps) { @@ -115,7 +119,7 @@ export function ErrorToast({ size="s" color="danger" data-test-subj="errorToastBtn" - onClick={() => showErrorDialog({ title, error, openModal, i18n, theme })} + onClick={() => showErrorDialog({ title, error, openModal, analytics, i18n, theme })} > diff --git a/packages/core/notifications/core-notifications-browser-internal/src/toasts/toasts_service.test.tsx b/packages/core/notifications/core-notifications-browser-internal/src/toasts/toasts_service.test.tsx index 6509c75b84533c..21f6367a32805e 100644 --- a/packages/core/notifications/core-notifications-browser-internal/src/toasts/toasts_service.test.tsx +++ b/packages/core/notifications/core-notifications-browser-internal/src/toasts/toasts_service.test.tsx @@ -47,6 +47,7 @@ describe('#start()', () => { expect(mockReactDomRender).not.toHaveBeenCalled(); toasts.setup({ uiSettings: uiSettingsServiceMock.createSetupContract() }); toasts.start({ + analytics: mockAnalytics, i18n: mockI18n, theme: mockTheme, targetDomElement, @@ -65,6 +66,7 @@ describe('#start()', () => { ).toBeInstanceOf(ToastsApi); expect( toasts.start({ + analytics: mockAnalytics, i18n: mockI18n, theme: mockTheme, targetDomElement, @@ -83,6 +85,7 @@ describe('#stop()', () => { toasts.setup({ uiSettings: uiSettingsServiceMock.createSetupContract() }); toasts.start({ + analytics: mockAnalytics, i18n: mockI18n, theme: mockTheme, targetDomElement, @@ -108,6 +111,7 @@ describe('#stop()', () => { toasts.setup({ uiSettings: uiSettingsServiceMock.createSetupContract() }); toasts.start({ + analytics: mockAnalytics, i18n: mockI18n, theme: mockTheme, targetDomElement, diff --git a/packages/core/notifications/core-notifications-browser-internal/src/toasts/toasts_service.tsx b/packages/core/notifications/core-notifications-browser-internal/src/toasts/toasts_service.tsx index 63ede7bcb906eb..dd001242ce9968 100644 --- a/packages/core/notifications/core-notifications-browser-internal/src/toasts/toasts_service.tsx +++ b/packages/core/notifications/core-notifications-browser-internal/src/toasts/toasts_service.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { ThemeServiceStart } from '@kbn/core-theme-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; import type { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; @@ -23,6 +24,7 @@ interface SetupDeps { } interface StartDeps { + analytics: AnalyticsServiceStart; i18n: I18nStart; overlays: OverlayStart; theme: ThemeServiceStart; @@ -39,12 +41,12 @@ export class ToastsService { return this.api!; } - public start({ eventReporter, i18n, overlays, theme, targetDomElement }: StartDeps) { + public start({ eventReporter, analytics, i18n, overlays, theme, targetDomElement }: StartDeps) { this.api!.start({ overlays, i18n, theme }); this.targetDomElement = targetDomElement; render( - + this.api!.remove(toastId)} toasts$={this.api!.get$()} diff --git a/packages/core/overlays/core-overlays-browser-internal/src/flyout/__snapshots__/flyout_service.test.tsx.snap b/packages/core/overlays/core-overlays-browser-internal/src/flyout/__snapshots__/flyout_service.test.tsx.snap index 41f9899e7b00e1..6908a64f66441b 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/flyout/__snapshots__/flyout_service.test.tsx.snap +++ b/packages/core/overlays/core-overlays-browser-internal/src/flyout/__snapshots__/flyout_service.test.tsx.snap @@ -12,6 +12,20 @@ exports[`FlyoutService openFlyout() renders a flyout to the DOM 1`] = ` Array [ Array [ + "children": + "value": + "children": + "value": (container: HTMLElement) => { const getServiceStart = () => { const service = new FlyoutService(); return service.start({ + analytics: analyticsMock, i18n: i18nMock, theme: themeMock, targetDomElement: document.createElement('div'), diff --git a/packages/core/overlays/core-overlays-browser-internal/src/flyout/flyout_service.tsx b/packages/core/overlays/core-overlays-browser-internal/src/flyout/flyout_service.tsx index dc15effb937d37..d93498f6c9bfc9 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/flyout/flyout_service.tsx +++ b/packages/core/overlays/core-overlays-browser-internal/src/flyout/flyout_service.tsx @@ -12,6 +12,7 @@ import { EuiFlyout } from '@elastic/eui'; import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; import { Subject } from 'rxjs'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { ThemeServiceStart } from '@kbn/core-theme-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; import type { MountPoint, OverlayRef } from '@kbn/core-mount-utils-browser'; @@ -60,6 +61,7 @@ class FlyoutRef implements OverlayRef { } interface StartDeps { + analytics: AnalyticsServiceStart; i18n: I18nStart; theme: ThemeServiceStart; targetDomElement: Element; @@ -70,7 +72,7 @@ export class FlyoutService { private activeFlyout: FlyoutRef | null = null; private targetDomElement: Element | null = null; - public start({ i18n, theme, targetDomElement }: StartDeps): OverlayFlyoutStart { + public start({ analytics, i18n, theme, targetDomElement }: StartDeps): OverlayFlyoutStart { this.targetDomElement = targetDomElement; return { @@ -101,7 +103,7 @@ export class FlyoutService { }; render( - + diff --git a/packages/core/overlays/core-overlays-browser-internal/src/modal/__snapshots__/modal_service.test.tsx.snap b/packages/core/overlays/core-overlays-browser-internal/src/modal/__snapshots__/modal_service.test.tsx.snap index 5e66f339c780ff..a3b098adbbd8ed 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/modal/__snapshots__/modal_service.test.tsx.snap +++ b/packages/core/overlays/core-overlays-browser-internal/src/modal/__snapshots__/modal_service.test.tsx.snap @@ -12,13 +12,42 @@ exports[`ModalService openConfirm() renders a mountpoint confirm message 1`] = ` Array [ Array [ + "children": + "value": + "children": + "children": + "value": + "value": + "children": + "children": + "children": + "value": + "value": + "value": + "children": + "children": + "children": + "value": + "value": + "value": + "children": + "children": + "children": + "value": + "value": + "value": + "children": + "children": + "children": + "value": + "value": + "value": + "children": + "value": + "children": + "value": + "children": + "value": + "children": + "value": { const getServiceStart = () => { const service = new ModalService(); return service.start({ + analytics: analyticsMock, i18n: i18nMock, theme: themeMock, targetDomElement: document.createElement('div'), diff --git a/packages/core/overlays/core-overlays-browser-internal/src/modal/modal_service.tsx b/packages/core/overlays/core-overlays-browser-internal/src/modal/modal_service.tsx index addaabd2b96a9d..a6e9ff48c03e75 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/modal/modal_service.tsx +++ b/packages/core/overlays/core-overlays-browser-internal/src/modal/modal_service.tsx @@ -13,6 +13,7 @@ import { EuiModal, EuiConfirmModal } from '@elastic/eui'; import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; import { Subject } from 'rxjs'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { ThemeServiceStart } from '@kbn/core-theme-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; import type { MountPoint, OverlayRef } from '@kbn/core-mount-utils-browser'; @@ -56,6 +57,7 @@ class ModalRef implements OverlayRef { interface StartDeps { i18n: I18nStart; theme: ThemeServiceStart; + analytics: AnalyticsServiceStart; targetDomElement: Element; } @@ -64,7 +66,7 @@ export class ModalService { private activeModal: ModalRef | null = null; private targetDomElement: Element | null = null; - public start({ i18n, theme, targetDomElement }: StartDeps): OverlayModalStart { + public start({ analytics, i18n, theme, targetDomElement }: StartDeps): OverlayModalStart { this.targetDomElement = targetDomElement; return { @@ -87,7 +89,7 @@ export class ModalService { this.activeModal = modal; render( - + modal.close()}> @@ -147,7 +149,7 @@ export class ModalService { }; render( - + , targetDomElement diff --git a/packages/core/overlays/core-overlays-browser-internal/src/overlay_service.ts b/packages/core/overlays/core-overlays-browser-internal/src/overlay_service.ts index 386971c5f8f685..4860a84559d48f 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/overlay_service.ts +++ b/packages/core/overlays/core-overlays-browser-internal/src/overlay_service.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { ThemeServiceStart } from '@kbn/core-theme-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; import type { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; @@ -15,6 +16,7 @@ import { FlyoutService } from './flyout'; import { ModalService } from './modal'; interface StartDeps { + analytics: AnalyticsServiceStart; i18n: I18nStart; theme: ThemeServiceStart; targetDomElement: HTMLElement; @@ -27,16 +29,26 @@ export class OverlayService { private modalService = new ModalService(); private flyoutService = new FlyoutService(); - public start({ i18n, targetDomElement, uiSettings, theme }: StartDeps): OverlayStart { + public start({ analytics, i18n, targetDomElement, uiSettings, theme }: StartDeps): OverlayStart { const flyoutElement = document.createElement('div'); targetDomElement.appendChild(flyoutElement); - const flyouts = this.flyoutService.start({ i18n, theme, targetDomElement: flyoutElement }); + const flyouts = this.flyoutService.start({ + analytics, + i18n, + theme, + targetDomElement: flyoutElement, + }); const banners = this.bannersService.start({ i18n, uiSettings }); const modalElement = document.createElement('div'); targetDomElement.appendChild(modalElement); - const modals = this.modalService.start({ i18n, theme, targetDomElement: modalElement }); + const modals = this.modalService.start({ + analytics, + i18n, + theme, + targetDomElement: modalElement, + }); return { banners, diff --git a/packages/core/overlays/core-overlays-browser-internal/tsconfig.json b/packages/core/overlays/core-overlays-browser-internal/tsconfig.json index 2b64262aa0db63..3a2034b6512ea6 100644 --- a/packages/core/overlays/core-overlays-browser-internal/tsconfig.json +++ b/packages/core/overlays/core-overlays-browser-internal/tsconfig.json @@ -25,6 +25,8 @@ "@kbn/core-theme-browser-mocks", "@kbn/i18n", "@kbn/react-kibana-context-render", + "@kbn/core-analytics-browser-mocks", + "@kbn/core-analytics-browser", ], "exclude": [ "target/**/*", diff --git a/packages/core/plugins/core-plugins-browser/src/plugin.ts b/packages/core/plugins/core-plugins-browser/src/plugin.ts index 676e4fec39f471..5439ebe9cfb3d0 100644 --- a/packages/core/plugins/core-plugins-browser/src/plugin.ts +++ b/packages/core/plugins/core-plugins-browser/src/plugin.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import type { MaybePromise } from '@kbn/utility-types'; import type { CoreStart, CoreSetup } from '@kbn/core-lifecycle-browser'; /** @@ -23,5 +24,5 @@ export interface Plugin< start(core: CoreStart, plugins: TPluginsStart): TStart; - stop?(): void; + stop?(): MaybePromise; } diff --git a/packages/core/plugins/core-plugins-browser/tsconfig.json b/packages/core/plugins/core-plugins-browser/tsconfig.json index 854df4f553204f..18cb8ba7041fc6 100644 --- a/packages/core/plugins/core-plugins-browser/tsconfig.json +++ b/packages/core/plugins/core-plugins-browser/tsconfig.json @@ -16,6 +16,7 @@ "@kbn/core-base-common", "@kbn/core-lifecycle-browser", "@kbn/logging", + "@kbn/utility-types", ], "exclude": [ "target/**/*", diff --git a/packages/core/plugins/core-plugins-server/src/types.ts b/packages/core/plugins/core-plugins-server/src/types.ts index 202148f1a1d9cf..e518bd7db7eb6e 100644 --- a/packages/core/plugins/core-plugins-server/src/types.ts +++ b/packages/core/plugins/core-plugins-server/src/types.ts @@ -8,7 +8,7 @@ import { Observable } from 'rxjs'; import { Type } from '@kbn/config-schema'; -import type { RecursiveReadonly } from '@kbn/utility-types'; +import type { RecursiveReadonly, MaybePromise } from '@kbn/utility-types'; import type { PathConfigType } from '@kbn/utils'; import type { LoggerFactory } from '@kbn/logging'; import type { @@ -297,7 +297,7 @@ export interface Plugin< start(core: CoreStart, plugins: TPluginsStart): TStart; - stop?(): void; + stop?(): MaybePromise; } /** @@ -317,7 +317,7 @@ export interface AsyncPlugin< start(core: CoreStart, plugins: TPluginsStart): TStart | Promise; - stop?(): void; + stop?(): MaybePromise; } /** diff --git a/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.test.tsx b/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.test.tsx index 5cbe1c2720b006..4ab63b99686808 100644 --- a/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.test.tsx +++ b/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.test.tsx @@ -10,6 +10,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { BehaviorSubject } from 'rxjs'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { applicationServiceMock } from '@kbn/core-application-browser-mocks'; import { chromeServiceMock } from '@kbn/core-chrome-browser-mocks'; import { overlayServiceMock } from '@kbn/core-overlays-browser-mocks'; @@ -18,6 +19,7 @@ import { i18nServiceMock } from '@kbn/core-i18n-browser-mocks'; import { RenderingService } from './rendering_service'; describe('RenderingService#start', () => { + let analytics: ReturnType; let application: ReturnType; let chrome: ReturnType; let overlays: ReturnType; @@ -27,6 +29,8 @@ describe('RenderingService#start', () => { let rendering: RenderingService; beforeEach(() => { + analytics = analyticsServiceMock.createAnalyticsServiceStart(); + application = applicationServiceMock.createInternalStartContract(); application.getComponent.mockReturnValue(
Hello application!
); @@ -47,6 +51,7 @@ describe('RenderingService#start', () => { const startService = () => { return rendering.start({ + analytics, application, chrome, overlays, diff --git a/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.tsx b/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.tsx index da73e5f9b03a85..86c6a98122fa42 100644 --- a/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.tsx +++ b/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.tsx @@ -10,15 +10,17 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { pairwise, startWith } from 'rxjs/operators'; -import type { ThemeServiceStart } from '@kbn/core-theme-browser'; -import type { I18nStart } from '@kbn/core-i18n-browser'; -import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; -import type { OverlayStart } from '@kbn/core-overlays-browser'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { InternalApplicationStart } from '@kbn/core-application-browser-internal'; import type { InternalChromeStart } from '@kbn/core-chrome-browser-internal'; +import type { I18nStart } from '@kbn/core-i18n-browser'; +import type { OverlayStart } from '@kbn/core-overlays-browser'; +import type { ThemeServiceStart } from '@kbn/core-theme-browser'; +import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; import { AppWrapper } from './app_containers'; export interface StartDeps { + analytics: AnalyticsServiceStart; application: InternalApplicationStart; chrome: InternalChromeStart; overlays: OverlayStart; @@ -36,7 +38,7 @@ export interface StartDeps { * @internal */ export class RenderingService { - start({ application, chrome, overlays, theme, i18n, targetDomElement }: StartDeps) { + start({ analytics, application, chrome, overlays, theme, i18n, targetDomElement }: StartDeps) { const chromeHeader = chrome.getHeaderComponent(); const appComponent = application.getComponent(); const bannerComponent = overlays.banners.getComponent(); @@ -51,7 +53,12 @@ export class RenderingService { }); ReactDOM.render( - + <> {/* Fixed headers */} {chromeHeader} diff --git a/packages/core/rendering/core-rendering-browser-internal/tsconfig.json b/packages/core/rendering/core-rendering-browser-internal/tsconfig.json index 3cb64186fbf7d1..7a02ff379609b4 100644 --- a/packages/core/rendering/core-rendering-browser-internal/tsconfig.json +++ b/packages/core/rendering/core-rendering-browser-internal/tsconfig.json @@ -25,6 +25,8 @@ "@kbn/core-theme-browser-mocks", "@kbn/core-i18n-browser-mocks", "@kbn/react-kibana-context-root", + "@kbn/core-analytics-browser", + "@kbn/core-analytics-browser-mocks", ], "exclude": [ "target/**/*", diff --git a/packages/core/root/core-root-browser-internal/src/core_system.test.ts b/packages/core/root/core-root-browser-internal/src/core_system.test.ts index b4cdd4b1d965b0..38808592aeb6ec 100644 --- a/packages/core/root/core-root-browser-internal/src/core_system.test.ts +++ b/packages/core/root/core-root-browser-internal/src/core_system.test.ts @@ -478,6 +478,7 @@ describe('#start()', () => { await startCore(); expect(MockRenderingService.start).toHaveBeenCalledTimes(1); expect(MockRenderingService.start).toHaveBeenCalledWith({ + analytics: expect.any(Object), application: expect.any(Object), chrome: expect.any(Object), overlays: expect.any(Object), diff --git a/packages/core/root/core-root-browser-internal/src/core_system.ts b/packages/core/root/core-root-browser-internal/src/core_system.ts index 0980c84aab89f6..3dcef6e3858cd2 100644 --- a/packages/core/root/core-root-browser-internal/src/core_system.ts +++ b/packages/core/root/core-root-browser-internal/src/core_system.ts @@ -216,18 +216,18 @@ export class CoreSystem { // Setup FatalErrorsService and it's dependencies first so that we're // able to render any errors. const injectedMetadata = this.injectedMetadata.setup(); + const analytics = this.analytics.setup({ injectedMetadata }); const theme = this.theme.setup({ injectedMetadata }); this.fatalErrorsSetup = this.fatalErrors.setup({ injectedMetadata, + analytics, theme, i18n: this.i18n.getContext(), }); await this.integrations.setup(); this.docLinks.setup(); - const analytics = this.analytics.setup({ injectedMetadata }); - this.registerLoadedKibanaEventType(analytics); const executionContext = this.executionContext.setup({ analytics }); @@ -300,11 +300,12 @@ export class CoreSystem { const overlays = this.overlay.start({ i18n, + analytics, theme, uiSettings, targetDomElement: overlayTargetDomElement, }); - const notifications = await this.notifications.start({ + const notifications = this.notifications.start({ analytics, i18n, overlays, @@ -312,7 +313,13 @@ export class CoreSystem { targetDomElement: notificationsTargetDomElement, }); const customBranding = this.customBranding.start(); - const application = await this.application.start({ http, theme, overlays, customBranding }); + const application = await this.application.start({ + http, + theme, + overlays, + customBranding, + analytics, + }); const executionContext = this.executionContext.start({ curApp$: application.currentAppId$, @@ -362,6 +369,7 @@ export class CoreSystem { this.rendering.start({ application, chrome, + analytics, i18n, overlays, theme, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.ts index 74877c93864225..965742a2abb8ff 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.ts @@ -8,15 +8,7 @@ import * as Either from 'fp-ts/lib/Either'; import { errors as EsErrors } from '@elastic/elasticsearch'; - -const retryResponseStatuses = [ - 503, // ServiceUnavailable - 401, // AuthorizationException - 403, // AuthenticationException - 408, // RequestTimeout - 410, // Gone - 429, // TooManyRequests -> ES circuit breaker -]; +import { isRetryableEsClientError } from '@kbn/core-elasticsearch-server-internal'; export interface RetryableEsClientError { type: 'retryable_es_client_error'; @@ -27,18 +19,7 @@ export interface RetryableEsClientError { export const catchRetryableEsClientErrors = ( e: EsErrors.ElasticsearchClientError ): Either.Either => { - if ( - e instanceof EsErrors.NoLivingConnectionsError || - e instanceof EsErrors.ConnectionError || - e instanceof EsErrors.TimeoutError || - (e instanceof EsErrors.ResponseError && - (retryResponseStatuses.includes(e?.statusCode!) || - // ES returns a 400 Bad Request when trying to close or delete an - // index while snapshots are in progress. This should have been a 503 - // so once https://github.com/elastic/elasticsearch/issues/65883 is - // fixed we can remove this. - e?.body?.error?.type === 'snapshot_in_progress_exception')) - ) { + if (isRetryableEsClientError(e)) { return Either.left({ type: 'retryable_es_client_error' as const, message: e?.message, diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts index 4369a851842624..5f53633b79c22e 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts @@ -18,7 +18,7 @@ import { typeRegistryInstanceMock, applyTypeDefaultsMock, } from './saved_objects_service.test.mocks'; -import { BehaviorSubject, firstValueFrom } from 'rxjs'; +import { BehaviorSubject, firstValueFrom, EMPTY } from 'rxjs'; import { skip } from 'rxjs/operators'; import { type RawPackageInfo, Env } from '@kbn/config'; import { ByteSizeValue } from '@kbn/config-schema'; @@ -549,6 +549,24 @@ describe('SavedObjectsService', () => { expect(migratorInstanceMock.runMigrations).toHaveBeenCalledTimes(1); }); + it('does not start the migration if esNodesCompatibility$ is closed before calling `start`', async () => { + expect.assertions(2); + const coreContext = createCoreContext({ skipMigration: false }); + const soService = new SavedObjectsService(coreContext); + const setupDeps = createSetupDeps(); + // Create an new subject so that we can control when isCompatible=true + // is emitted. + setupDeps.elasticsearch.esNodesCompatibility$ = EMPTY; + await soService.setup(setupDeps); + await expect(() => + soService.start(createStartDeps()) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"esNodesCompatibility$ was closed before emitting"` + ); + + expect(migratorInstanceMock.runMigrations).not.toHaveBeenCalled(); + }); + it('resolves with KibanaMigrator after waiting for migrations to complete', async () => { const coreContext = createCoreContext({ skipMigration: false }); const soService = new SavedObjectsService(coreContext); diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts index 0efda4a5bce9b1..f334603007b612 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts @@ -7,7 +7,7 @@ */ import { Subject, Observable, firstValueFrom, of } from 'rxjs'; -import { filter, take, switchMap } from 'rxjs/operators'; +import { filter, switchMap } from 'rxjs/operators'; import type { Logger } from '@kbn/logging'; import { stripVersionQualifier } from '@kbn/std'; import type { ServiceStatus } from '@kbn/core-status-common'; @@ -262,20 +262,25 @@ export class SavedObjectsService 'Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations...' ); - // The Elasticsearch service should already ensure that, but let's double check just in case. - // Should it be replaced with elasticsearch.status$ API instead? - const compatibleNodes = await this.setupDeps!.elasticsearch.esNodesCompatibility$.pipe( - filter((nodes) => nodes.isCompatible), - take(1) - ).toPromise(); - - // Running migrations only if we got compatible nodes. - // It may happen that the observable completes due to Kibana shutting down - // and the promise above fulfils as undefined. We shouldn't trigger migrations at that point. - if (compatibleNodes) { - this.logger.info('Starting saved objects migrations'); - await migrator.runMigrations(); + try { + // The Elasticsearch service should already ensure that, but let's double check just in case. + // Should it be replaced with elasticsearch.status$ API instead? + await firstValueFrom( + this.setupDeps!.elasticsearch.esNodesCompatibility$.pipe( + filter((nodes) => nodes.isCompatible) + ) + ); + } catch (e) { + // EmptyError means esNodesCompatibility$ was closed before emitting + // which should only occur if the server is shutdown before being fully started. + if (e.name === 'EmptyError') { + throw new Error('esNodesCompatibility$ was closed before emitting'); + } + throw e; } + + this.logger.info('Starting saved objects migrations'); + await migrator.runMigrations(); } const createRepository = ( diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.mock.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.mock.ts index 34b6d5e7d7070a..7f275e659e7b5d 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.mock.ts +++ b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.mock.ts @@ -6,13 +6,13 @@ * Side Public License, v 1. */ -const mockUuidv1 = jest.fn().mockReturnValue('uuidv1'); +const mockUuidv4 = jest.fn().mockReturnValue('uuidv4'); const mockUuidv5 = jest.fn().mockReturnValue('uuidv5'); Object.defineProperty(mockUuidv5, 'DNS', { value: 'DNSUUID', writable: false }); jest.mock('uuid', () => ({ - v1: mockUuidv1, + v4: mockUuidv4, v5: mockUuidv5, })); -export { mockUuidv1, mockUuidv5 }; +export { mockUuidv4, mockUuidv5 }; diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.ts index d2454abaac4faf..abe4fbba8e7b48 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.ts +++ b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { mockUuidv1, mockUuidv5 } from './saved_objects_utils.test.mock'; +import { mockUuidv4, mockUuidv5 } from './saved_objects_utils.test.mock'; import type { SavedObjectsFindOptions } from '@kbn/core-saved-objects-api-server'; import { SavedObjectsUtils } from './saved_objects_utils'; @@ -78,8 +78,8 @@ describe('SavedObjectsUtils', () => { describe('#generateId', () => { it('returns a valid uuid', () => { - expect(generateId()).toBe('uuidv1'); // default return value for mockUuidv1 - expect(mockUuidv1).toHaveBeenCalled(); + expect(generateId()).toBe('uuidv4'); // default return value for mockUuidv4 + expect(mockUuidv4).toHaveBeenCalled(); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts index badfb797292cc9..c9213a1198ee3b 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts +++ b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts @@ -7,7 +7,7 @@ */ import { isFunction } from 'lodash'; -import { v1 as uuidv1, v5 as uuidv5 } from 'uuid'; +import { v4 as uuidv4, v5 as uuidv5 } from 'uuid'; import type { SavedObjectsFindOptions, SavedObjectsFindResponse, @@ -70,7 +70,7 @@ export class SavedObjectsUtils { * Generates a random ID for a saved objects. */ public static generateId() { - return uuidv1(); + return uuidv4(); } /** diff --git a/packages/core/saved-objects/docs/openapi/bundled.json b/packages/core/saved-objects/docs/openapi/bundled.json index d31407a9379483..dd6b95fa959b20 100644 --- a/packages/core/saved-objects/docs/openapi/bundled.json +++ b/packages/core/saved-objects/docs/openapi/bundled.json @@ -14,8 +14,7 @@ }, "servers": [ { - "url": "http://localhost:5601", - "description": "local" + "url": "/" } ], "security": [ @@ -37,7 +36,7 @@ "post": { "summary": "Rotate the encryption key for encrypted saved objects.", "operationId": "rotateEncryptionKey", - "description": "Superuser role required.\n\nIf a saved object cannot be decrypted using the primary encryption key, then Kibana will attempt to decrypt it using the specified decryption-only keys. In most of the cases this overhead is negligible, but if you're dealing with a large number of saved objects and experiencing performance issues, you may want to rotate the encryption key.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + "description": "Superuser role required.\n\nIf a saved object cannot be decrypted using the primary encryption key, then Kibana will attempt to decrypt it using the specified decryption-only keys. In most of the cases this overhead is negligible, but if you're dealing with a large number of saved objects and experiencing performance issues, you may want to rotate the encryption key.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", "tags": [ "saved objects" ], @@ -112,18 +111,8 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_bulk_create": { "post": { @@ -180,18 +169,8 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_bulk_delete": { "post": { @@ -249,18 +228,8 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_bulk_get": { "post": { @@ -309,18 +278,8 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_bulk_resolve": { "post": { @@ -370,18 +329,8 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_bulk_update": { "post": { @@ -430,24 +379,14 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_export": { "post": { "summary": "Retrieve sets of saved objects that you want to import into Kibana.", "operationId": "exportSavedObjects", - "description": "\nYou must include `type` or `objects` in the request body.\n\nNOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + "description": "\nYou must include `type` or `objects` in the request body.\n\nNOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", "tags": [ "saved objects" ], @@ -530,18 +469,8 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_find": { "get": { @@ -708,24 +637,14 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_import": { "post": { "summary": "Create sets of Kibana saved objects from a file created by the export API.", "operationId": "importSavedObjects", - "description": "Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + "description": "Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana.\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", "tags": [ "saved objects" ], @@ -831,24 +750,14 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/_resolve_import_errors": { "post": { "summary": "Resolve errors from the Import objects API.", "operationId": "resolveImportErrors", - "description": "To resolve errors, you can: \n\n* Retry certain saved objects\n* Overwrite specific saved objects\n* Change references to different saved objects\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", + "description": "To resolve errors, you can: \n\n* Retry certain saved objects\n* Overwrite specific saved objects\n* Change references to different saved objects\n\nThis functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.\n", "tags": [ "saved objects" ], @@ -1001,18 +910,8 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } }, "/api/saved_objects/{type}": { "post": { @@ -1084,12 +983,7 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] + } }, "/api/saved_objects/{type}/{id}": { "get": { @@ -1128,12 +1022,7 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] + } }, "post": { "summary": "Create Kibana saved objects.", @@ -1268,12 +1157,7 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] + } }, "/api/saved_objects/resolve/{type}/{id}": { "get": { @@ -1313,18 +1197,8 @@ } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "servers": [ - { - "url": "https://localhost:5601" } - ] + } } }, "components": { diff --git a/packages/core/saved-objects/docs/openapi/bundled.yaml b/packages/core/saved-objects/docs/openapi/bundled.yaml index 554895051768e9..3e07633a5107b9 100644 --- a/packages/core/saved-objects/docs/openapi/bundled.yaml +++ b/packages/core/saved-objects/docs/openapi/bundled.yaml @@ -9,8 +9,7 @@ info: name: Elastic License 2.0 url: https://www.elastic.co/licensing/elastic-license servers: - - url: http://localhost:5601 - description: local + - url: / security: - basicAuth: [] - apiKeyAuth: [] @@ -27,7 +26,7 @@ paths: If a saved object cannot be decrypted using the primary encryption key, then Kibana will attempt to decrypt it using the specified decryption-only keys. In most of the cases this overhead is negligible, but if you're dealing with a large number of saved objects and experiencing performance issues, you may want to rotate the encryption key. - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. tags: - saved objects parameters: @@ -83,10 +82,6 @@ paths: application/json: schema: type: object - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_bulk_create: post: summary: Create multiple Kibana saved objects. @@ -122,10 +117,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_bulk_delete: post: summary: Remove multiple Kibana saved objects. @@ -165,10 +156,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_bulk_get: post: summary: Retrieve multiple Kibana saved objects by identifier. @@ -199,10 +186,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_bulk_resolve: post: summary: Retrieve multiple Kibana saved objects by identifier using any legacy URL aliases if they exist. @@ -225,7 +208,7 @@ paths: responses: '200': description: | - Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. + Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. content: application/json: schema: @@ -236,10 +219,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_bulk_update: post: summary: Update the attributes for multiple Kibana saved objects. @@ -260,7 +239,7 @@ paths: responses: '200': description: | - Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. + Indicates a successful call. NOTE: This HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual objects will be returned in the response body. content: application/json: schema: @@ -271,10 +250,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_export: post: summary: Retrieve sets of saved objects that you want to import into Kibana. @@ -285,7 +260,7 @@ paths: NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported. - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. tags: - saved objects parameters: @@ -336,10 +311,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_find: get: summary: Retrieve a paginated set of Kibana saved objects. @@ -441,10 +412,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_import: post: summary: Create sets of Kibana saved objects from a file created by the export API. @@ -452,7 +419,7 @@ paths: description: | Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana. - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. tags: - saved objects parameters: @@ -531,22 +498,18 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/_resolve_import_errors: post: summary: Resolve errors from the Import objects API. operationId: resolveImportErrors description: | - To resolve errors, you can: + To resolve errors, you can: * Retry certain saved objects * Overwrite specific saved objects * Change references to different saved objects - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. tags: - saved objects parameters: @@ -658,10 +621,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 /api/saved_objects/{type}: post: summary: Create Kibana saved objects with randomly generated identifiers. @@ -705,8 +664,6 @@ paths: application/json: schema: type: object - servers: - - url: https://localhost:5601 /api/saved_objects/{type}/{id}: get: summary: Retrieve a single Kibana saved object by identifier. @@ -730,8 +687,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 post: summary: Create Kibana saved objects. operationId: createSavedObjectId @@ -810,8 +765,6 @@ paths: application/json: schema: type: object - servers: - - url: https://localhost:5601 /api/saved_objects/resolve/{type}/{id}: get: summary: Retrieve a single Kibana saved object by identifier using any legacy URL alias if it exists. @@ -837,10 +790,6 @@ paths: application/json: schema: $ref: '#/components/schemas/400_response' - servers: - - url: https://localhost:5601 - servers: - - url: https://localhost:5601 components: securitySchemes: basicAuth: diff --git a/packages/core/saved-objects/docs/openapi/entrypoint.yaml b/packages/core/saved-objects/docs/openapi/entrypoint.yaml index f20b8204b4bd45..cfb8a93210a502 100644 --- a/packages/core/saved-objects/docs/openapi/entrypoint.yaml +++ b/packages/core/saved-objects/docs/openapi/entrypoint.yaml @@ -12,8 +12,7 @@ tags: - name: saved objects description: Manage Kibana saved objects, including dashboards, visualizations, and more. servers: - - url: 'http://localhost:5601' - description: local + - url: / paths: # Paths in the default space '/api/encrypted_saved_objects/_rotate_key': diff --git a/packages/core/saved-objects/docs/openapi/paths/api@encrypted_saved_objects@_rotate_key.yaml b/packages/core/saved-objects/docs/openapi/paths/api@encrypted_saved_objects@_rotate_key.yaml index 94ab9cb3f62860..a863358622e3e4 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@encrypted_saved_objects@_rotate_key.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@encrypted_saved_objects@_rotate_key.yaml @@ -6,7 +6,7 @@ post: If a saved object cannot be decrypted using the primary encryption key, then Kibana will attempt to decrypt it using the specified decryption-only keys. In most of the cases this overhead is negligible, but if you're dealing with a large number of saved objects and experiencing performance issues, you may want to rotate the encryption key. - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. tags: - saved objects parameters: @@ -61,8 +61,4 @@ post: content: application/json: schema: - type: object - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file + type: object \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_create.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_create.yaml index 0461a1a618a75c..ab22ae13481fbe 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_create.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_create.yaml @@ -32,8 +32,3 @@ post: application/json: schema: $ref: '../components/schemas/400_response.yaml' - - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_delete.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_delete.yaml index c15fdde82b2a43..bbbb848f94578f 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_delete.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_delete.yaml @@ -41,8 +41,4 @@ post: content: application/json: schema: - $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file + $ref: '../components/schemas/400_response.yaml' \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_get.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_get.yaml index 8512f5a04ef7f8..aba99de4bf4b58 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_get.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_get.yaml @@ -26,8 +26,4 @@ post: content: application/json: schema: - $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file + $ref: '../components/schemas/400_response.yaml' \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_resolve.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_resolve.yaml index 9227bb782bfac4..96ecd2eb0f13d3 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_resolve.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_resolve.yaml @@ -34,7 +34,3 @@ post: application/json: schema: $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_update.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_update.yaml index aa5e9e1f33c359..497cae0e5b9583 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_update.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_bulk_update.yaml @@ -30,7 +30,3 @@ post: application/json: schema: $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_export.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_export.yaml index 931746d21ddc1a..ad6817b5e2ebf0 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_export.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_export.yaml @@ -1,13 +1,13 @@ post: summary: Retrieve sets of saved objects that you want to import into Kibana. operationId: exportSavedObjects - description: | + description: | You must include `type` or `objects` in the request body. NOTE: The `savedObjects.maxImportExportSize` configuration setting limits the number of saved objects which may be exported. - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. tags: - saved objects parameters: @@ -58,7 +58,3 @@ post: application/json: schema: $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_find.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_find.yaml index 180a16534f8a06..673baa1f33f09d 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_find.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_find.yaml @@ -105,7 +105,3 @@ get: application/json: schema: $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_import.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_import.yaml index 5c538a2d1442fd..c1df23e8d11e0b 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_import.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_import.yaml @@ -3,8 +3,8 @@ post: operationId: importSavedObjects description: | Saved objects can be imported only into the same version, a newer minor on the same major, or the next major. Exported saved objects are not backwards compatible and cannot be imported into an older version of Kibana. - - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + + This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. tags: - saved objects parameters: @@ -64,7 +64,7 @@ post: type: object description: | Indicates the import was unsuccessful and specifies the objects that failed to import. - + NOTE: One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and conflict error. successResults: type: array @@ -72,7 +72,7 @@ post: type: object description: | Indicates the objects that are successfully imported, with any metadata if applicable. - + NOTE: Objects are created only when all resolvable errors are addressed, including conflicts and missing references. If objects are created as new copies, each entry in the `successResults` array includes a `destinationId` attribute. examples: importObjectsResponse: @@ -83,7 +83,3 @@ post: application/json: schema: $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 -servers: -- url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_resolve_import_errors.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_resolve_import_errors.yaml index 6c49f1925e3e53..aa64b0f3b08afb 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_resolve_import_errors.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@_resolve_import_errors.yaml @@ -2,13 +2,13 @@ post: summary: Resolve errors from the Import objects API. operationId: resolveImportErrors description: | - To resolve errors, you can: - + To resolve errors, you can: + * Retry certain saved objects * Overwrite specific saved objects * Change references to different saved objects - - This functionality is in technical preview and may be changed or removed in a future release. Elastic will apply best effort to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + + This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. tags: - saved objects parameters: @@ -34,7 +34,7 @@ post: schema: type: object required: - - retries + - retries properties: file: description: The same file given to the import API. @@ -47,7 +47,7 @@ post: type: object required: - type - - id + - id properties: type: description: The saved object type. @@ -120,7 +120,3 @@ post: application/json: schema: $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 -servers: - - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@resolve@{type}@{id}.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@resolve@{type}@{id}.yaml index bb1bd0d68bcefd..45f8695d401a89 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@resolve@{type}@{id}.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@resolve@{type}@{id}.yaml @@ -24,8 +24,3 @@ get: application/json: schema: $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 - -servers: - - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}.yaml index 2005e4241b41f2..6fb4a6a2b046e6 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}.yaml @@ -40,5 +40,3 @@ post: application/json: schema: type: object -servers: - - url: https://localhost:5601 \ No newline at end of file diff --git a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}@{id}.yaml b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}@{id}.yaml index b92631817eba40..dc34bc339e2bb1 100644 --- a/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}@{id}.yaml +++ b/packages/core/saved-objects/docs/openapi/paths/api@saved_objects@{type}@{id}.yaml @@ -20,8 +20,6 @@ get: application/json: schema: $ref: '../components/schemas/400_response.yaml' - servers: - - url: https://localhost:5601 post: summary: Create Kibana saved objects. @@ -101,6 +99,4 @@ put: content: application/json: schema: - type: object -servers: - - url: https://localhost:5601 \ No newline at end of file + type: object \ No newline at end of file diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/apm_fields.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/apm_fields.ts index 911271f5841525..7c3ab2c2b1e3a6 100644 --- a/packages/kbn-apm-synthtrace-client/src/lib/apm/apm_fields.ts +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/apm_fields.ts @@ -38,6 +38,7 @@ export type ApmUserAgentFields = Partial<{ export interface ApmException { message: string; } + export interface Observer { type: string; version: string; @@ -94,6 +95,7 @@ export type ApmFields = Fields<{ 'error.type': string; 'event.ingested': number; 'event.name': string; + 'event.action': string; 'event.outcome': string; 'event.outcome_numeric': | number @@ -121,6 +123,7 @@ export type ApmFields = Fields<{ 'kubernetes.pod.uid': string; 'labels.name': string; 'labels.telemetry_auto_version': string; + 'labels.lifecycle_state': string; 'metricset.name': string; 'network.carrier.icc': string; 'network.carrier.mcc': string; diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/event.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/event.ts new file mode 100644 index 00000000000000..8efd5968a349e8 --- /dev/null +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/event.ts @@ -0,0 +1,30 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { ApmFields } from './apm_fields'; +import { Serializable } from '../serializable'; + +export class Event extends Serializable { + constructor(fields: ApmFields) { + super({ + ...fields, + }); + } + + lifecycle(state: string): this { + this.fields['event.action'] = 'lifecycle'; + this.fields['labels.lifecycle_state'] = state; + return this; + } + + override timestamp(timestamp: number) { + const ret = super.timestamp(timestamp); + this.fields['timestamp.us'] = timestamp * 1000; + return ret; + } +} diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts index 9a904d0d94dbbb..b0ea0aea4663e1 100644 --- a/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts @@ -9,7 +9,8 @@ import { Entity } from '../entity'; import { Span } from './span'; import { Transaction } from './transaction'; -import { ApmFields, SpanParams, GeoLocation, ApmApplicationMetricFields } from './apm_fields'; +import { Event } from './event'; +import { ApmApplicationMetricFields, ApmFields, GeoLocation, SpanParams } from './apm_fields'; import { generateLongId } from '../utils/generate_id'; import { Metricset } from './metricset'; import { ApmError } from './apm_error'; @@ -143,6 +144,10 @@ export class MobileDevice extends Entity { return this; } + event(): Event { + return new Event({ ...this.fields }); + } + transaction( ...options: | [{ transactionName: string; frameworkName?: string; frameworkVersion?: string }] diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/transaction.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/transaction.ts index 55883957c6990c..1b15ac17a4a3d1 100644 --- a/packages/kbn-apm-synthtrace-client/src/lib/apm/transaction.ts +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/transaction.ts @@ -7,6 +7,7 @@ */ import { ApmError } from './apm_error'; +import { Event } from './event'; import { BaseSpan } from './base_span'; import { generateShortId } from '../utils/generate_id'; import { ApmFields } from './apm_fields'; @@ -15,6 +16,7 @@ import { getBreakdownMetrics } from './processors/get_breakdown_metrics'; export class Transaction extends BaseSpan { private _sampled: boolean = true; private readonly _errors: ApmError[] = []; + private readonly _events: Event[] = []; constructor(fields: ApmFields) { super({ @@ -35,6 +37,27 @@ export class Transaction extends BaseSpan { error.fields['transaction.sampled'] = this.fields['transaction.sampled']; }); + this._events.forEach((event) => { + event.fields['trace.id'] = this.fields['trace.id']; + event.fields['transaction.id'] = this.fields['transaction.id']; + event.fields['transaction.type'] = this.fields['transaction.type']; + event.fields['transaction.sampled'] = this.fields['transaction.sampled']; + }); + + return this; + } + + events(...events: Event[]) { + events.forEach((event) => { + event.fields['trace.id'] = this.fields['trace.id']; + event.fields['transaction.id'] = this.fields['transaction.id']; + event.fields['transaction.name'] = this.fields['transaction.name']; + event.fields['transaction.type'] = this.fields['transaction.type']; + event.fields['transaction.sampled'] = this.fields['transaction.sampled']; + }); + + this._events.push(...events); + return this; } @@ -62,6 +85,9 @@ export class Transaction extends BaseSpan { this._errors.forEach((error) => { error.fields['transaction.sampled'] = sampled; }); + this._events.forEach((event) => { + event.fields['transaction.sampled'] = sampled; + }); return this; } @@ -69,6 +95,7 @@ export class Transaction extends BaseSpan { const [transaction, ...spans] = super.serialize(); const errors = this._errors.flatMap((error) => error.serialize()); + const logEvents = this._events.flatMap((event) => event.serialize()); const directChildren = this.getChildren().map((child) => child.fields); @@ -80,6 +107,6 @@ export class Transaction extends BaseSpan { events.push(...spans); } - return events.concat(errors).concat(breakdownMetrics); + return events.concat(errors).concat(breakdownMetrics).concat(logEvents); } } diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts index a5428b1a084e90..4ca2498c610b1f 100644 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts @@ -46,6 +46,11 @@ export function getRoutingTransform() { index = `metrics-apm.internal-${namespace}`; } break; + default: + if (document['event.action'] != null) { + index = `logs-apm.app-${namespace}`; + } + break; } if (!index) { diff --git a/packages/kbn-check-mappings-update-cli/current_mappings.json b/packages/kbn-check-mappings-update-cli/current_mappings.json index 37e8e2fec4115f..d2fde2f5a10a87 100644 --- a/packages/kbn-check-mappings-update-cli/current_mappings.json +++ b/packages/kbn-check-mappings-update-cli/current_mappings.json @@ -1680,6 +1680,10 @@ "type": "keyword", "index": false }, + "service_token": { + "type": "keyword", + "index": false + }, "config": { "type": "flattened" }, diff --git a/packages/kbn-config-schema/src/types/string_type.test.ts b/packages/kbn-config-schema/src/types/string_type.test.ts index 8fa1dcfc1944a8..d07b52983d88cf 100644 --- a/packages/kbn-config-schema/src/types/string_type.test.ts +++ b/packages/kbn-config-schema/src/types/string_type.test.ts @@ -22,6 +22,16 @@ test('is required by default', () => { ); }); +test('reject numeric values if `coerceFromNumber` is unspecified', () => { + expect(() => schema.string({}).validate(1234)).toThrowErrorMatchingInlineSnapshot( + `"expected value of type [string] but got [number]"` + ); +}); + +test('coerce numeric values if `coerceFromNumber` is `true`', () => { + expect(schema.string({ coerceFromNumber: true }).validate(1234)).toBe('1234'); +}); + test('includes namespace in failure', () => { expect(() => schema.string().validate(undefined, {}, 'foo-namespace') diff --git a/packages/kbn-config-schema/src/types/string_type.ts b/packages/kbn-config-schema/src/types/string_type.ts index f2792e4031e0a1..e5251013e3a7e8 100644 --- a/packages/kbn-config-schema/src/types/string_type.ts +++ b/packages/kbn-config-schema/src/types/string_type.ts @@ -14,6 +14,7 @@ export type StringOptions = TypeOptions & { minLength?: number; maxLength?: number; hostname?: boolean; + coerceFromNumber?: boolean; }; export class StringType extends Type { @@ -25,14 +26,17 @@ export class StringType extends Type { let schema = options.hostname === true ? internals.string().hostname() - : internals.any().custom( - convertValidationFunction((value) => { - if (typeof value !== 'string') { - return `expected value of type [string] but got [${typeDetect(value)}]`; + : internals.any().custom((value, { error }) => { + if (typeof value !== 'string') { + if (options.coerceFromNumber && typeof value === 'number') { + return value.toString(10); } - }) - ); - + return error('any.custom', { + message: `expected value of type [string] but got [${typeDetect(value)}]`, + }); + } + return value; + }); if (options.minLength !== undefined) { schema = schema.custom( convertValidationFunction((value) => { diff --git a/packages/kbn-es/src/serverless_resources/README.md b/packages/kbn-es/src/serverless_resources/README.md index 8ead2197be3eae..0af28f82a1dec9 100644 --- a/packages/kbn-es/src/serverless_resources/README.md +++ b/packages/kbn-es/src/serverless_resources/README.md @@ -2,6 +2,15 @@ The resources in this directory are used for seeding Elasticsearch Serverless images with users, roles and tokens for SSL and authentication. Serverless requires file realm authentication, so we will bind mount them into the containers at `/usr/share/elasticsearch/config/`. +## Roles + +Roles defined in `roles.yml` intended to mock a Serverless deployment. It must be in sync with `project-controller` defined roles and used in real (MKI) environments. In case of some differences tests may pass against Serverless snapshot environment but fail against MKI environments creating confusion. + +### Why `security_roles.json` is here? + +`security_roles.json` is a subset of defined in `roles.yml` roles in a JSON format and extended with necessary fields +to be compatible with `/api/security/role/{roleName}` endpoint. It's consumed by test environments like Cypress to be able to run different scenarios. + ## Users ### Default user diff --git a/packages/kbn-es/src/serverless_resources/roles.yml b/packages/kbn-es/src/serverless_resources/roles.yml index 5777f282ff7a46..5f968ece56e3ac 100644 --- a/packages/kbn-es/src/serverless_resources/roles.yml +++ b/packages/kbn-es/src/serverless_resources/roles.yml @@ -117,7 +117,7 @@ t1_analyst: - metrics-endpoint.metadata_current_* - ".fleet-agents*" - ".fleet-actions*" - - "risk-score.risk-score-*" + - risk-score.risk-score-* privileges: - read applications: @@ -128,10 +128,17 @@ t1_analyst: - feature_siem.read_alerts - feature_siem.endpoint_list_read - feature_securitySolutionCases.read + - feature_securitySolutionAssistant.all - feature_actions.read - feature_builtInAlerts.read - feature_osquery.read - feature_osquery.run_saved_queries + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" t2_analyst: @@ -158,7 +165,7 @@ t2_analyst: - metrics-endpoint.metadata_current_* - .fleet-agents* - .fleet-actions* - - "risk-score.risk-score-*" + - risk-score.risk-score-* privileges: - read applications: @@ -169,10 +176,17 @@ t2_analyst: - feature_siem.read_alerts - feature_siem.endpoint_list_read - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.read - feature_builtInAlerts.read - feature_osquery.read - feature_osquery.run_saved_queries + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" t3_analyst: @@ -206,7 +220,7 @@ t3_analyst: - metrics-endpoint.metadata_current_* - .fleet-agents* - .fleet-actions* - - "risk-score.risk-score-*" + - risk-score.risk-score-* privileges: - read applications: @@ -227,9 +241,16 @@ t3_analyst: - feature_siem.actions_log_management_all # Response actions history - feature_siem.file_operations_all - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.read - feature_builtInAlerts.all - feature_osquery.all + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" threat_intelligence_analyst: @@ -259,7 +280,7 @@ threat_intelligence_analyst: - metrics-endpoint.metadata_current_* - .fleet-agents* - .fleet-actions* - - "risk-score.risk-score-*" + - risk-score.risk-score-* privileges: - read applications: @@ -271,9 +292,16 @@ threat_intelligence_analyst: - feature_siem.endpoint_list_read - feature_siem.blocklist_all - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.read - feature_builtInAlerts.read - feature_osquery.all + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" rule_author: @@ -311,7 +339,7 @@ rule_author: - metrics-endpoint.metadata_current_* - .fleet-agents* - .fleet-actions* - - "risk-score.risk-score-*" + - risk-score.risk-score-* privileges: - read applications: @@ -329,9 +357,16 @@ rule_author: - feature_siem.blocklist_all # Elastic Defend Policy Management - feature_siem.actions_log_management_read - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.read - feature_builtInAlerts.all - feature_osquery.all + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" soc_manager: @@ -390,10 +425,17 @@ soc_manager: - feature_siem.file_operations_all - feature_siem.execute_operations_all - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.all - feature_builtInAlerts.all - feature_osquery.all - - feature_indexPatterns.all # Detections Data Views + - feature_indexPatterns.all + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" detections_admin: @@ -436,9 +478,16 @@ detections_admin: - feature_siem.read_alerts - feature_siem.crud_alerts - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.all - feature_builtInAlerts.all - feature_dev_tools.all + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" platform_engineer: @@ -478,12 +527,19 @@ platform_engineer: - feature_siem.blocklist_all # Elastic Defend Policy Management - feature_siem.actions_log_management_read - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.all - feature_builtInAlerts.all - feature_fleet.all - feature_fleetv2.all - feature_osquery.all - - feature_indexPatterns.all # Detections Data Views + - feature_indexPatterns.all + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" endpoint_operations_analyst: @@ -493,7 +549,6 @@ endpoint_operations_analyst: - metrics-endpoint.metadata_current_* - .fleet-agents* - .fleet-actions* - - risk-score.risk-score-* privileges: - read - names: @@ -507,6 +562,7 @@ endpoint_operations_analyst: - winlogbeat-* - .lists* - .items* + - risk-score.risk-score-* privileges: - read - names: @@ -535,11 +591,18 @@ endpoint_operations_analyst: - feature_siem.file_operations_all - feature_siem.execute_operations_all # Execute - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.all - feature_builtInAlerts.all - feature_osquery.all - feature_fleet.all - feature_fleetv2.all + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" endpoint_policy_manager: @@ -549,7 +612,6 @@ endpoint_policy_manager: - metrics-endpoint.metadata_current_* - .fleet-agents* - .fleet-actions* - - risk-score.risk-score-* privileges: - read - names: @@ -563,6 +625,7 @@ endpoint_policy_manager: - winlogbeat-* - .lists* - .items* + - risk-score.risk-score-* privileges: - read - names: @@ -588,9 +651,16 @@ endpoint_policy_manager: - feature_siem.host_isolation_exceptions_all - feature_siem.blocklist_all # Elastic Defend Policy Management - feature_securitySolutionCases.all + - feature_securitySolutionAssistant.all - feature_actions.all - feature_builtInAlerts.all - feature_osquery.all - feature_fleet.all - feature_fleetv2.all + - feature_discover.all + - feature_dashboard.all + - feature_canvas.all + - feature_graph.all + - feature_maps.all + - feature_visualize.all resources: "*" diff --git a/packages/kbn-es/src/serverless_resources/security_roles.json b/packages/kbn-es/src/serverless_resources/security_roles.json new file mode 100644 index 00000000000000..5ac286a41c164c --- /dev/null +++ b/packages/kbn-es/src/serverless_resources/security_roles.json @@ -0,0 +1,353 @@ +{ + "t1_analyst": { + "name": "t1_analyst", + "elasticsearch": { + "cluster": [], + "indices": [ + { + "names": [".alerts-security*", ".siem-signals-*"], + "privileges": ["read", "write", "maintenance"] + }, + { + "names": [ + "apm-*-transaction*", + "traces-apm*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "winlogbeat-*", + "metrics-endpoint.metadata_current_*", + ".fleet-agents*", + ".fleet-actions*" + ], + "privileges": ["read"] + } + ], + "run_as": [] + }, + "kibana": [ + { + "feature": { + "ml": ["read"], + "siem": ["read", "read_alerts"], + "securitySolutionAssistant": ["all"], + "securitySolutionCases": ["read"], + "actions": ["read"], + "builtInAlerts": ["read"] + }, + "spaces": ["*"], + "base": [] + } + ] + }, + "t2_analyst": { + "name": "t2_analyst", + "elasticsearch": { + "cluster": [], + "indices": [ + { + "names": [".alerts-security*", ".siem-signals-*"], + "privileges": ["read", "write", "maintenance"] + }, + { + "names": [ + ".lists*", + ".items*", + "apm-*-transaction*", + "traces-apm*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "winlogbeat-*", + "metrics-endpoint.metadata_current_*", + ".fleet-agents*", + ".fleet-actions*" + ], + "privileges": ["read"] + } + ], + "run_as": [] + }, + "kibana": [ + { + "feature": { + "ml": ["read"], + "siem": ["read", "read_alerts"], + "securitySolutionAssistant": ["all"], + "securitySolutionCases": ["read"], + "actions": ["read"], + "builtInAlerts": ["read"] + }, + "spaces": ["*"], + "base": [] + } + ] + }, + "t3_analyst": { + "name": "t3_analyst", + "elasticsearch": { + "cluster": [], + "indices": [ + { + "names": [ + "apm-*-transaction*", + "traces-apm*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "winlogbeat-*" + ], + "privileges": ["read", "write"] + }, + { + "names": [".alerts-security*", ".siem-signals-*"], + "privileges": ["read", "write"] + }, + { + "names": [".lists*", ".items*"], + "privileges": ["read", "write"] + }, + { + "names": ["metrics-endpoint.metadata_current_*", ".fleet-agents*", ".fleet-actions*"], + "privileges": ["read"] + } + ], + "run_as": [] + }, + "kibana": [ + { + "feature": { + "ml": ["read"], + "siem": [ + "all", + "read_alerts", + "crud_alerts", + "endpoint_list_all", + "trusted_applications_all", + "event_filters_all", + "host_isolation_exceptions_all", + "blocklist_all", + "policy_management_read", + "host_isolation_all", + "process_operations_all", + "actions_log_management_all", + "file_operations_all" + ], + "securitySolutionCases": ["all"], + "actions": ["read"], + "builtInAlerts": ["all"], + "osquery": ["all"] + }, + "spaces": ["*"], + "base": [] + } + ] + }, + "rule_author": { + "name": "rule_author", + "elasticsearch": { + "cluster": [], + "indices": [ + { + "names": [ + "apm-*-transaction*", + "traces-apm*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "winlogbeat-*", + ".lists*", + ".items*" + ], + "privileges": ["read", "write"] + }, + { + "names": [ + ".alerts-security*", + ".preview.alerts-security*", + ".internal.preview.alerts-security*", + ".siem-signals-*" + ], + "privileges": ["read", "write", "maintenance", "view_index_metadata"] + }, + { + "names": ["metrics-endpoint.metadata_current_*", ".fleet-agents*", ".fleet-actions*"], + "privileges": ["read"] + } + ], + "run_as": [] + }, + "kibana": [ + { + "feature": { + "ml": ["read"], + "siem": ["all", "read_alerts", "crud_alerts"], + "securitySolutionAssistant": ["all"], + "securitySolutionCases": ["all"], + "actions": ["read"], + "builtInAlerts": ["all"] + }, + "spaces": ["*"], + "base": [] + } + ] + }, + "soc_manager": { + "name": "soc_manager", + "elasticsearch": { + "cluster": [], + "indices": [ + { + "names": [ + "apm-*-transaction*", + "traces-apm*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "winlogbeat-*", + ".lists*", + ".items*" + ], + "privileges": ["read", "write"] + }, + { + "names": [ + ".alerts-security*", + ".preview.alerts-security*", + ".internal.preview.alerts-security*", + ".siem-signals-*" + ], + "privileges": ["read", "write", "manage"] + }, + { + "names": ["metrics-endpoint.metadata_current_*", ".fleet-agents*", ".fleet-actions*"], + "privileges": ["read"] + } + ], + "run_as": [] + }, + "kibana": [ + { + "feature": { + "ml": ["read"], + "siem": ["all", "read_alerts", "crud_alerts"], + "securitySolutionAssistant": ["all"], + "securitySolutionCases": ["all"], + "actions": ["all"], + "builtInAlerts": ["all"] + }, + "spaces": ["*"], + "base": [] + } + ] + }, + "detections_admin": { + "name": "detections_admin", + "elasticsearch": { + "cluster": ["manage"], + "indices": [ + { + "names": [ + ".siem-signals-*", + ".alerts-security*", + ".preview.alerts-security*", + ".internal.preview.alerts-security*", + ".lists*", + ".items*", + "apm-*-transaction*", + "traces-apm*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "winlogbeat-*" + ], + "privileges": ["manage", "write", "read"] + }, + { + "names": ["metrics-endpoint.metadata_current_*", ".fleet-agents*", ".fleet-actions*"], + "privileges": ["read"] + } + ], + "run_as": [] + }, + "kibana": [ + { + "feature": { + "ml": ["all"], + "siem": ["all", "read_alerts", "crud_alerts"], + "securitySolutionAssistant": ["all"], + "securitySolutionCases": ["all"], + "actions": ["read"], + "builtInAlerts": ["all"], + "dev_tools": ["all"] + }, + "spaces": ["*"], + "base": [] + } + ] + }, + "platform_engineer": { + "name": "platform_engineer", + "elasticsearch": { + "cluster": ["manage"], + "indices": [ + { + "names": [".lists*", ".items*"], + "privileges": ["all"] + }, + { + "names": [ + "apm-*-transaction*", + "traces-apm*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "winlogbeat-*", + "metrics-endpoint.metadata_current_*", + ".fleet-agents*", + ".fleet-actions*" + ], + "privileges": ["all"] + }, + { + "names": [ + ".alerts-security*", + ".preview.alerts-security*", + ".internal.preview.alerts-security*", + ".siem-signals-*" + ], + "privileges": ["all"] + } + ], + "run_as": [] + }, + "kibana": [ + { + "feature": { + "ml": ["all"], + "siem": ["all", "read_alerts", "crud_alerts"], + "securitySolutionAssistant": ["all"], + "securitySolutionCases": ["all"], + "actions": ["all"], + "builtInAlerts": ["all"] + }, + "spaces": ["*"], + "base": [] + } + ] + } +} diff --git a/packages/kbn-es/tsconfig.json b/packages/kbn-es/tsconfig.json index deece402b37941..75059c2ef69cd7 100644 --- a/packages/kbn-es/tsconfig.json +++ b/packages/kbn-es/tsconfig.json @@ -3,19 +3,14 @@ "compilerOptions": { "outDir": "target/types" }, - "include": [ - "**/*.ts", - "**/*.js" - ], - "exclude": [ - "target/**/*", - ], + "include": ["**/*.ts", "**/*.js", "**/*.json"], + "exclude": ["target/**/*"], "kbn_references": [ "@kbn/tooling-log", "@kbn/dev-utils", "@kbn/dev-proc-runner", "@kbn/ci-stats-reporter", "@kbn/jest-serializers", - "@kbn/repo-info", + "@kbn/repo-info" ] } diff --git a/packages/kbn-eslint-plugin-i18n/README.mdx b/packages/kbn-eslint-plugin-i18n/README.mdx index 100f83d167b6ea..174457477e81a5 100644 --- a/packages/kbn-eslint-plugin-i18n/README.mdx +++ b/packages/kbn-eslint-plugin-i18n/README.mdx @@ -20,3 +20,15 @@ It kicks in on JSXText elements and specific JSXAttributes (`label` and `aria-la This rule warns engineers to translate their strings by using `` from the '@kbn/i18n-react' package. It provides an autofix that takes into account the context of the translatable string in the JSX tree and to generate a translation ID. It kicks in on JSXText elements and specific JSXAttributes (`label` and `aria-label`) which expect a translated value. + +## Exemptions and exceptions + +A JSXText element or JSXAttribute `label` or `aria-label` of which the value is: + +- wrapped in a `EuiCode` or `EuiBetaBadge` component, +- made up of non alpha characters such as `!@#$%^&*(){}` or numbers, +- wrapped in three backticks, + +are exempt from this rule. + +If this rule kicks in on a string value that you don't like, you can escape it by wrapping the string inside a JSXExpression: `{'my escaped value'}`. diff --git a/packages/kbn-eslint-plugin-i18n/helpers/get_i18n_import_fixer.ts b/packages/kbn-eslint-plugin-i18n/helpers/get_i18n_import_fixer.ts index f26bc62c555f05..cf3a7330f75840 100644 --- a/packages/kbn-eslint-plugin-i18n/helpers/get_i18n_import_fixer.ts +++ b/packages/kbn-eslint-plugin-i18n/helpers/get_i18n_import_fixer.ts @@ -8,9 +8,6 @@ import { SourceCode } from 'eslint'; -const KBN_I18N_I18N_IMPORT = "import { i18n } from '@kbn/i18n';" as const; -const KBN_I18N_REACT_FORMATTED_MESSAGE_IMPORT = - "import { FormattedMessage } from '@kbn/i18n-react';" as const; export function getI18nImportFixer({ sourceCode, mode, @@ -18,33 +15,89 @@ export function getI18nImportFixer({ sourceCode: SourceCode; mode: 'i18n.translate' | 'FormattedMessage'; }) { - const hasI18nImportLine = Boolean( - sourceCode.lines.find((l) => - mode === 'i18n.translate' - ? l === KBN_I18N_I18N_IMPORT - : l === KBN_I18N_REACT_FORMATTED_MESSAGE_IMPORT - ) - ); + let existingI18nImportLineIndex = -1; + let i18nImportLineToBeAdded = ''; - if (hasI18nImportLine) return { hasI18nImportLine }; + /** + * + * Searching through sourcecode to see if there is already an import of i18n package, + * and check if it includes the module we need. + * + * If any of these conditions are not met, we prepare the import line we need to add. + * + * */ - // Translation package has not been imported yet so we need to add it. - // Pretty safe bet to add it underneath the React import. - const reactImportLineIndex = sourceCode.lines.findIndex((l) => l.includes("from 'react'")); + if (mode === 'i18n.translate') { + existingI18nImportLineIndex = sourceCode.lines.findIndex((l) => l.includes("from '@kbn/i18n'")); - const targetLine = sourceCode.lines[reactImportLineIndex]; - const column = targetLine.length; + const i18nImportLineInSource = sourceCode.lines[existingI18nImportLineIndex]; - const start = sourceCode.getIndexFromLoc({ line: reactImportLineIndex + 1, column: 0 }); - const end = sourceCode.getIndexFromLoc({ - line: reactImportLineIndex + 1, - column, - }); + if (i18nImportLineInSource) { + const modules = i18nImportLineInSource.split('{')[1].split('}')[0].trim(); + + if (modules.split(',').includes('i18n')) { + return { hasI18nImportLine: true }; + } + + // Existing import is something like: `import { SomeOtherModule } from '@kbn/i18n';` + i18nImportLineToBeAdded = `import { ${modules}, i18n } from '@kbn/i18n';`; + } else { + i18nImportLineToBeAdded = `import { i18n } from '@kbn/i18n';`; + } + } + + if (mode === 'FormattedMessage') { + existingI18nImportLineIndex = sourceCode.lines.findIndex((l) => + l.includes("from '@kbn/i18n-react'") + ); + const i18nImportLineInSource = sourceCode.lines[existingI18nImportLineIndex]; + + if (i18nImportLineInSource) { + const modules = i18nImportLineInSource.split('{')[1].split('}')[0].trim(); + + if (modules.split(',').includes('FormattedMessage')) { + return { hasI18nImportLine: true }; + } + + // Existing import is something like: `import { SomeOtherModule } from '@kbn/i18n-react';` + i18nImportLineToBeAdded = `import { ${modules}, FormattedMessage } from '@kbn/i18n-react';`; + } else { + i18nImportLineToBeAdded = `import { FormattedMessage } from '@kbn/i18n-react';`; + } + } + + /** + * + * Determining where in the source code to add the import line. + * + * */ + + // If the file already has an import line for the translation package but it doesn't include the module we need, we need to add it. + if (existingI18nImportLineIndex > -1) { + const targetLine = sourceCode.lines[existingI18nImportLineIndex]; + const column = targetLine.length; + + const start = sourceCode.getIndexFromLoc({ line: existingI18nImportLineIndex + 1, column: 0 }); + const end = start + column; + + return { + i18nImportLine: i18nImportLineToBeAdded, + rangeToAddI18nImportLine: [start, end] as [number, number], + mode: 'replace', + }; + } + + // If the file doesn't have an import line for the translation package yet, we need to add it. + // Pretty safe bet to add it underneath the import line for React. + const lineIndex = sourceCode.lines.findIndex((l) => l.includes("from 'react'")); + const targetLine = sourceCode.lines[lineIndex]; + + const start = sourceCode.getIndexFromLoc({ line: lineIndex + 1, column: 0 }); + const end = start + targetLine.length; return { - hasI18nImportLine, - i18nPackageImportLine: - mode === 'i18n.translate' ? KBN_I18N_I18N_IMPORT : KBN_I18N_REACT_FORMATTED_MESSAGE_IMPORT, + i18nImportLine: i18nImportLineToBeAdded, rangeToAddI18nImportLine: [start, end] as [number, number], + mode: 'insert', }; } diff --git a/packages/kbn-eslint-plugin-i18n/helpers/get_intent_from_node.ts b/packages/kbn-eslint-plugin-i18n/helpers/get_intent_from_node.ts index 687bfd31cfba2f..d27f2407ce64c0 100644 --- a/packages/kbn-eslint-plugin-i18n/helpers/get_intent_from_node.ts +++ b/packages/kbn-eslint-plugin-i18n/helpers/get_intent_from_node.ts @@ -6,15 +6,18 @@ * Side Public License, v 1. */ import { AST_NODE_TYPES, TSESTree } from '@typescript-eslint/typescript-estree'; -import { lowerCaseFirstLetter, upperCaseFirstLetter } from './utils'; +import { cleanString, lowerCaseFirstLetter, upperCaseFirstLetter } from './utils'; -export function getIntentFromNode(value: string, parent: TSESTree.Node | undefined): string { +const EXEMPTED_TAG_NAMES = ['EuiCode', 'EuiBetaBadge', 'FormattedMessage']; + +export function getIntentFromNode( + value: string, + parent: TSESTree.Node | undefined +): string | false { const processedValue = lowerCaseFirstLetter( - value - .replace(/[?!@#$%^&*()_+\][{}|/<>,'"]/g, '') - .trim() + cleanString(value) .split(' ') - .filter((v, i) => i < 4) + .filter((_, i) => i < 4) .map(upperCaseFirstLetter) .join('') ); @@ -27,6 +30,11 @@ export function getIntentFromNode(value: string, parent: TSESTree.Node | undefin ) { const parentTagName = String(parent.openingElement.name.name); + // Exceptions + if (EXEMPTED_TAG_NAMES.includes(parentTagName)) { + return false; + } + if (parentTagName.includes('Eui')) { return `${processedValue}${parentTagName.replace('Eui', '')}Label`; } @@ -45,6 +53,10 @@ export function getIntentFromNode(value: string, parent: TSESTree.Node | undefin ) { const parentTagName = String(parent.parent.name.name); + if (EXEMPTED_TAG_NAMES.includes(parentTagName)) { + return false; + } + return `${lowerCaseFirstLetter(parentTagName)}.${processedValue}Label`; } diff --git a/packages/kbn-eslint-plugin-i18n/helpers/utils.test.ts b/packages/kbn-eslint-plugin-i18n/helpers/utils.test.ts new file mode 100644 index 00000000000000..9d36c7a7e1e9cd --- /dev/null +++ b/packages/kbn-eslint-plugin-i18n/helpers/utils.test.ts @@ -0,0 +1,55 @@ +/* + * 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 { cleanString, lowerCaseFirstLetter } from './utils'; + +describe('Utils', () => { + describe('lowerCaseFirstLetter', () => { + it('should lowercase the first letter', () => { + expect(lowerCaseFirstLetter('Hello')).toBe('hello'); + expect(lowerCaseFirstLetter('GreatSuccessYes')).toBe('greatSuccessYes'); + expect(lowerCaseFirstLetter('How is it going?')).toBe('how is it going?'); + }); + + it('should lowercase all letters if the passed string is in ALL CAPS', () => { + expect(lowerCaseFirstLetter('HELLO')).toBe('hello'); + expect(lowerCaseFirstLetter('GREATSUCCESSYES')).toBe('greatsuccessyes'); + }); + }); + + describe('cleanString', () => { + it('should remove all numbers', () => { + expect(cleanString('123')).toBe(''); + }); + + it('should remove all white spaces from beginning and end', () => { + expect(cleanString(' abc ')).toBe('abc'); + expect(cleanString(' This is a test ')).toBe('This is a test'); + expect( + cleanString(` + + + hello + + + + great!`) + ).toBe('hello great'); + }); + + it('should remove all non alphabet characters', () => { + expect(cleanString('abc123!@#')).toBe('abc'); + expect(cleanString('!@#$%^&*()_+{}|')).toBe(''); + expect(cleanString(' Hey, this is great! Success. ')).toBe('Hey this is great Success'); + }); + + it('should leave markdown alone', () => { + expect(cleanString('```hello```')).toBe(''); + }); + }); +}); diff --git a/packages/kbn-eslint-plugin-i18n/helpers/utils.ts b/packages/kbn-eslint-plugin-i18n/helpers/utils.ts index 74ce8aa7c5c554..bfa0ceaf2aecc5 100644 --- a/packages/kbn-eslint-plugin-i18n/helpers/utils.ts +++ b/packages/kbn-eslint-plugin-i18n/helpers/utils.ts @@ -7,6 +7,8 @@ */ export function lowerCaseFirstLetter(str: string) { + if (isUpperCase(str)) return str.toLowerCase(); + return str.charAt(0).toLowerCase() + str.slice(1); } @@ -17,3 +19,15 @@ export function upperCaseFirstLetter(str: string) { export function isTruthy(value: T): value is NonNullable { return value != null; } + +function isUpperCase(val: string) { + return /^[A-Z]+$/.test(val); +} + +export function cleanString(str: string) { + return str + .replace(/```\w*```/g, '') + .replace(/\s+/g, ' ') + .replace(/[^a-zA-Z\s]*/g, '') + .trim(); +} diff --git a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts index 10bdbda351892d..009fac255fc63a 100644 --- a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts +++ b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts @@ -38,165 +38,275 @@ const babelTester = [ }), ] as const; -const valid = [ +const invalid: RuleTester.InvalidTestCase[] = [ { + name: 'A JSX element with a string literal should be translated with i18n', filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; + +function TestComponent() { + return ( +
This is a test
+ ) +}`, + errors: [ + { + line: 6, + message: `Strings should be translated with . Use the autofix suggestion or add your own.`, + }, + ], + output: ` +import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; function TestComponent() { - return ( -
+ return ( +
- ) + ) }`, }, { + name: 'A JSX element with a string literal that are inside an Eui component should take the component name of the parent into account', filename: 'x-pack/plugins/observability/public/another_component.tsx', code: ` import React from 'react'; + +function AnotherComponent() { + return ( + + + + This is a test + + + + ) +}`, + errors: [ + { + line: 9, + message: `Strings should be translated with . Use the autofix suggestion or add your own.`, + }, + ], + output: ` +import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; function AnotherComponent() { - return ( - - - - + return ( + + + + - - - - ) + + + + ) }`, }, { + name: 'When no import of the translation module is present, the import line should be added', filename: 'x-pack/plugins/observability/public/yet_another_component.tsx', code: ` import React from 'react'; + +function YetAnotherComponent() { + return ( +
+ Select me +
+ ) +}`, + errors: [ + { + line: 7, + message: `Strings should be translated with . Use the autofix suggestion or add your own.`, + }, + ], + output: ` +import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; function YetAnotherComponent() { - return ( -
- + return ( +
+ -
- ) +
+ ) }`, }, { + name: 'Import lines without the necessary translation module should be updated to include i18n', filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; -import { FormattedMessage } from '@kbn/i18n-react'; +import { SomeOtherModule } from '@kbn/i18n-react'; function TestComponent() { - return ( - } /> - ) - }`, - }, -]; - -const invalid = [ - { - filename: valid[0].filename, - code: ` -import React from 'react'; - -function TestComponent() { - return ( -
This is a test
- ) + return ( + + ) }`, errors: [ { - line: 6, + line: 7, message: `Strings should be translated with . Use the autofix suggestion or add your own.`, }, ], - output: valid[0].code, + output: ` +import React from 'react'; +import { SomeOtherModule, FormattedMessage } from '@kbn/i18n-react'; + +function TestComponent() { + return ( + } /> + ) +}`, }, { - filename: valid[1].filename, + name: 'JSX elements that have a label or aria-label prop with a string value should be translated with i18n', + filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; -function AnotherComponent() { - return ( - - - - This is a test - - - - ) +function TestComponent() { + return ( + + ) }`, errors: [ { - line: 9, + line: 7, message: `Strings should be translated with . Use the autofix suggestion or add your own.`, }, ], - output: valid[1].code, + output: ` +import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; + +function TestComponent() { + return ( + } /> + ) +}`, }, { - filename: valid[2].filename, + name: 'JSX elements that have a label or aria-label prop with a JSXExpression value that is a string should be translated with i18n', + filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` -import React from 'react'; + import React from 'react'; + import { FormattedMessage } from '@kbn/i18n-react'; -function YetAnotherComponent() { + function TestComponent() { return ( -
- Select me -
+ ) -}`, + }`, errors: [ { line: 7, message: `Strings should be translated with . Use the autofix suggestion or add your own.`, }, ], - output: valid[2].code, + output: ` + import React from 'react'; + import { FormattedMessage } from '@kbn/i18n-react'; + + function TestComponent() { + return ( + } /> + ) + }`, }, +]; + +const valid: RuleTester.ValidTestCase[] = [ { - filename: valid[3].filename, + name: 'A JSXText element inside a EuiCode component should not be translated', + filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; -import { FormattedMessage } from '@kbn/i18n-react'; function TestComponent() { - return ( - - ) - }`, - errors: [ - { - line: 7, - message: `Strings should be translated with . Use the autofix suggestion or add your own.`, - }, - ], - output: valid[3].code, + return ( + This is a test + ) +}`, + }, + { + name: 'A JSXText element that contains anything other than alpha characters should not be translated', + filename: 'x-pack/plugins/observability/public/test_component.tsx', + code: ` +import React from 'react'; + +function TestComponent() { + return ( +
!@#$%^&*()_+{}123 456 789
+ ) +}`, + }, + { + name: 'A JSXText element that is wrapped in three backticks (markdown) should not be translated', + filename: 'x-pack/plugins/observability/public/test_component.tsx', + code: ` +import React from 'react'; + +function TestComponent() { + return ( +
\`\`\`hello\`\`\`
+ ) +}`, + }, + { + name: invalid[0].name, + filename: invalid[0].filename, + code: invalid[0].output as string, + }, + { + name: invalid[1].name, + filename: invalid[1].filename, + code: invalid[1].output as string, + }, + { + name: invalid[2].name, + filename: invalid[2].filename, + code: invalid[2].output as string, + }, + { + name: invalid[3].name, + filename: invalid[3].filename, + code: invalid[3].output as string, + }, + { + name: invalid[4].name, + filename: invalid[4].filename, + code: invalid[4].output as string, + }, + { + name: invalid[5].name, + filename: invalid[5].filename, + code: invalid[5].output as string, }, ]; for (const [name, tester] of [tsTester, babelTester]) { describe(name, () => { tester.run( - '@kbn/event_generating_elements_should_be_instrumented', + '@kbn/strings_should_be_translated_with_formatted_message', StringsShouldBeTranslatedWithFormattedMessage, { valid, diff --git a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.ts b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.ts index 67e2aaec256d76..77b5918951036e 100644 --- a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.ts +++ b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.ts @@ -6,13 +6,13 @@ * Side Public License, v 1. */ -import { TSESTree } from '@typescript-eslint/typescript-estree'; +import type { TSESTree } from '@typescript-eslint/typescript-estree'; import type { Rule } from 'eslint'; import { getIntentFromNode } from '../helpers/get_intent_from_node'; import { getI18nIdentifierFromFilePath } from '../helpers/get_i18n_identifier_from_file_path'; import { getFunctionName } from '../helpers/get_function_name'; import { getI18nImportFixer } from '../helpers/get_i18n_import_fixer'; -import { isTruthy } from '../helpers/utils'; +import { cleanString, isTruthy } from '../helpers/utils'; export const StringsShouldBeTranslatedWithFormattedMessage: Rule.RuleModule = { meta: { @@ -24,7 +24,7 @@ export const StringsShouldBeTranslatedWithFormattedMessage: Rule.RuleModule = { return { JSXText: (node: TSESTree.JSXText) => { - const value = node.value.trim(); + const value = cleanString(node.value); // If the JSXText element is empty we don't need to do anything if (!value) return; @@ -34,22 +34,21 @@ export const StringsShouldBeTranslatedWithFormattedMessage: Rule.RuleModule = { const whiteSpaces = node.value.match(regex)?.[1] ?? ''; // Start building the translation ID suggestion + const intent = getIntentFromNode(value, node.parent); + if (intent === false) return; + const i18nAppId = getI18nIdentifierFromFilePath(filename, cwd); const functionDeclaration = getScope().block as TSESTree.FunctionDeclaration; const functionName = getFunctionName(functionDeclaration); - const intent = getIntentFromNode(value, node.parent); const translationIdSuggestion = `${i18nAppId}.${functionName}.${intent}`; // 'xpack.observability.overview.logs.loadMoreLabel' - // Check if i18n has already been imported into the file. - const { - hasI18nImportLine, - i18nPackageImportLine: i18nImportLine, - rangeToAddI18nImportLine, - } = getI18nImportFixer({ - sourceCode, - mode: 'FormattedMessage', - }); + // Check if i18n has already been imported into the file + const { hasI18nImportLine, i18nImportLine, rangeToAddI18nImportLine, mode } = + getI18nImportFixer({ + sourceCode, + mode: 'FormattedMessage', + }); // Show warning to developer and offer autofix suggestion report({ @@ -65,8 +64,10 @@ export const StringsShouldBeTranslatedWithFormattedMessage: Rule.RuleModule = { defaultMessage="${value}" />` ), - !hasI18nImportLine - ? fixer.insertTextAfterRange(rangeToAddI18nImportLine, `\n${i18nImportLine}`) + !hasI18nImportLine && rangeToAddI18nImportLine + ? mode === 'replace' + ? fixer.replaceTextRange(rangeToAddI18nImportLine, i18nImportLine) + : fixer.insertTextAfterRange(rangeToAddI18nImportLine, `\n${i18nImportLine}`) : null, ].filter(isTruthy); }, @@ -84,33 +85,32 @@ export const StringsShouldBeTranslatedWithFormattedMessage: Rule.RuleModule = { 'value' in node.value.expression && typeof node.value.expression.value === 'string' ) { - val = node.value.expression.value; + val = cleanString(node.value.expression.value); } // label="foo" if (node.value && 'value' in node.value && typeof node.value.value === 'string') { - val = node.value.value; + val = cleanString(node.value.value); } if (!val) return; // Start building the translation ID suggestion + const intent = getIntentFromNode(val, node); + if (intent === false) return; + const i18nAppId = getI18nIdentifierFromFilePath(filename, cwd); const functionDeclaration = getScope().block as TSESTree.FunctionDeclaration; const functionName = getFunctionName(functionDeclaration); - const intent = getIntentFromNode(val, node); const translationIdSuggestion = `${i18nAppId}.${functionName}.${intent}`; // 'xpack.observability.overview.logs.loadMoreLabel' // Check if i18n has already been imported into the file. - const { - hasI18nImportLine, - i18nPackageImportLine: i18nImportLine, - rangeToAddI18nImportLine, - } = getI18nImportFixer({ - sourceCode, - mode: 'FormattedMessage', - }); + const { hasI18nImportLine, i18nImportLine, rangeToAddI18nImportLine, mode } = + getI18nImportFixer({ + sourceCode, + mode: 'FormattedMessage', + }); // Show warning to developer and offer autofix suggestion report({ @@ -123,8 +123,10 @@ export const StringsShouldBeTranslatedWithFormattedMessage: Rule.RuleModule = { node.value!.range, `{}` ), - !hasI18nImportLine - ? fixer.insertTextAfterRange(rangeToAddI18nImportLine, `\n${i18nImportLine}`) + !hasI18nImportLine && rangeToAddI18nImportLine + ? mode === 'replace' + ? fixer.replaceTextRange(rangeToAddI18nImportLine, i18nImportLine) + : fixer.insertTextAfterRange(rangeToAddI18nImportLine, `\n${i18nImportLine}`) : null, ].filter(isTruthy); }, diff --git a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts index dc938cd6effd32..f470ed885682f0 100644 --- a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts +++ b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts @@ -38,158 +38,264 @@ const babelTester = [ }), ] as const; -const valid = [ +const invalid: RuleTester.InvalidTestCase[] = [ { + name: 'A JSX element with a string literal should be translated with i18n', filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; + +function TestComponent() { + return ( +
This is a test
+ ) +}`, + errors: [ + { + line: 6, + message: `Strings should be translated with i18n. Use the autofix suggestion or add your own.`, + }, + ], + output: ` +import React from 'react'; import { i18n } from '@kbn/i18n'; function TestComponent() { - return ( -
{i18n.translate('app_not_found_in_i18nrc.testComponent.div.thisIsATestLabel', { defaultMessage: 'This is a test'})}
- ) - }`, + return ( +
{i18n.translate('app_not_found_in_i18nrc.testComponent.div.thisIsATestLabel', { defaultMessage: 'This is a test' })}
+ ) +}`, }, { + name: 'A JSX element with a string literal that are inside an Eui component should take the component name of the parent into account', filename: 'x-pack/plugins/observability/public/another_component.tsx', code: ` import React from 'react'; -import { i18n } from '@kbn/i18n'; function AnotherComponent() { - return ( - - - - {i18n.translate('app_not_found_in_i18nrc.anotherComponent.thisIsATestButtonLabel', { defaultMessage: 'This is a test'})} - - - - ) - }`, - }, - { - filename: 'x-pack/plugins/observability/public/yet_another_component.tsx', - code: ` - import React from 'react'; -import { i18n } from '@kbn/i18n'; - - function YetAnotherComponent() { - return ( -
- {i18n.translate('app_not_found_in_i18nrc.yetAnotherComponent.selectMeSelectLabel', { defaultMessage: 'Select me'})} -
- ) - }`, - }, - { - filename: 'x-pack/plugins/observability/public/test_component.tsx', - code: ` + return ( + + + + This is a test + + + + ) +}`, + errors: [ + { + line: 9, + message: `Strings should be translated with i18n. Use the autofix suggestion or add your own.`, + }, + ], + output: ` import React from 'react'; import { i18n } from '@kbn/i18n'; -function TestComponent() { - return ( - - ) - }`, +function AnotherComponent() { + return ( + + + + {i18n.translate('app_not_found_in_i18nrc.anotherComponent.thisIsATestButtonLabel', { defaultMessage: 'This is a test' })} + + + + ) +}`, }, -]; - -const invalid = [ { - filename: valid[0].filename, + name: 'When no import of the translation module is present, the import line should be added', + filename: 'x-pack/plugins/observability/public/yet_another_component.tsx', code: ` import React from 'react'; -function TestComponent() { - return ( -
This is a test
- ) - }`, +function YetAnotherComponent() { + return ( +
+ Select me +
+ ) +}`, errors: [ { - line: 6, + line: 7, message: `Strings should be translated with i18n. Use the autofix suggestion or add your own.`, }, ], - output: valid[0].code, + output: ` +import React from 'react'; +import { i18n } from '@kbn/i18n'; + +function YetAnotherComponent() { + return ( +
+ {i18n.translate('app_not_found_in_i18nrc.yetAnotherComponent.selectMeSelectLabel', { defaultMessage: 'Select me' })} +
+ ) +}`, }, { - filename: valid[1].filename, + name: 'Import lines without the necessary translation module should be updated to include i18n', + filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; +import { SomeOtherModule } from '@kbn/i18n'; -function AnotherComponent() { - return ( - - - - This is a test - - - - ) - }`, +function TestComponent() { + return ( + + ) +}`, errors: [ { - line: 9, + line: 7, message: `Strings should be translated with i18n. Use the autofix suggestion or add your own.`, }, ], - output: valid[1].code, + output: ` +import React from 'react'; +import { SomeOtherModule, i18n } from '@kbn/i18n'; + +function TestComponent() { + return ( + + ) +}`, }, { - filename: valid[2].filename, + name: 'JSX elements that have a label or aria-label prop with a string value should be translated with i18n', + filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` - import React from 'react'; - - function YetAnotherComponent() { - return ( -
- Select me -
- ) - }`, +import React from 'react'; +import { i18n } from '@kbn/i18n'; + +function TestComponent() { + return ( + + ) +}`, errors: [ { line: 7, message: `Strings should be translated with i18n. Use the autofix suggestion or add your own.`, }, ], - output: valid[2].code, + output: ` +import React from 'react'; +import { i18n } from '@kbn/i18n'; + +function TestComponent() { + return ( + + ) +}`, }, { - filename: valid[3].filename, + name: 'JSX elements that have a label or aria-label prop with a JSXExpression value that is a string should be translated with i18n', + filename: 'x-pack/plugins/observability/public/test_component.tsx', code: ` import React from 'react'; import { i18n } from '@kbn/i18n'; function TestComponent() { - return ( - - ) - }`, + return ( + + ) +}`, errors: [ { line: 7, message: `Strings should be translated with i18n. Use the autofix suggestion or add your own.`, }, ], - output: valid[3].code, + output: ` +import React from 'react'; +import { i18n } from '@kbn/i18n'; + +function TestComponent() { + return ( + + ) +}`, + }, +]; + +const valid: RuleTester.ValidTestCase[] = [ + { + name: 'A JSXText element inside a EuiCode component should not be translated', + filename: 'x-pack/plugins/observability/public/test_component.tsx', + code: ` +import React from 'react'; + +function TestComponent() { + return ( + This is a test + ) +}`, + }, + { + name: 'A JSXText element that contains anything other than alpha characters should not be translated', + filename: 'x-pack/plugins/observability/public/test_component.tsx', + code: ` +import React from 'react'; + +function TestComponent() { + return ( +
!@#$%^&*()_+{}123 456 789
+ ) +}`, + }, + { + name: 'A JSXText element that is wrapped in three backticks (markdown) should not be translated', + filename: 'x-pack/plugins/observability/public/test_component.tsx', + code: ` +import React from 'react'; + +function TestComponent() { + return ( +
\`\`\`hello\`\`\`
+ ) +}`, + }, + { + name: invalid[0].name, + filename: invalid[0].filename, + code: invalid[0].output as string, + }, + { + name: invalid[1].name, + filename: invalid[1].filename, + code: invalid[1].output as string, + }, + { + name: invalid[2].name, + filename: invalid[2].filename, + code: invalid[2].output as string, + }, + { + name: invalid[3].name, + filename: invalid[3].filename, + code: invalid[3].output as string, + }, + { + name: invalid[4].name, + filename: invalid[4].filename, + code: invalid[4].output as string, + }, + { + name: invalid[5].name, + filename: invalid[5].filename, + code: invalid[5].output as string, }, ]; for (const [name, tester] of [tsTester, babelTester]) { describe(name, () => { - tester.run( - '@kbn/event_generating_elements_should_be_instrumented', - StringsShouldBeTranslatedWithI18n, - { - valid, - invalid, - } - ); + tester.run('@kbn/strings_should_be_translated_with_i18n', StringsShouldBeTranslatedWithI18n, { + valid, + invalid, + }); }); } diff --git a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.ts b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.ts index ba31f6109075a8..fea04d33d555f6 100644 --- a/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.ts +++ b/packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.ts @@ -6,13 +6,13 @@ * Side Public License, v 1. */ -import { TSESTree } from '@typescript-eslint/typescript-estree'; +import type { TSESTree } from '@typescript-eslint/typescript-estree'; import type { Rule } from 'eslint'; import { getIntentFromNode } from '../helpers/get_intent_from_node'; import { getI18nIdentifierFromFilePath } from '../helpers/get_i18n_identifier_from_file_path'; import { getFunctionName } from '../helpers/get_function_name'; import { getI18nImportFixer } from '../helpers/get_i18n_import_fixer'; -import { isTruthy } from '../helpers/utils'; +import { cleanString, isTruthy } from '../helpers/utils'; export const StringsShouldBeTranslatedWithI18n: Rule.RuleModule = { meta: { @@ -24,7 +24,7 @@ export const StringsShouldBeTranslatedWithI18n: Rule.RuleModule = { return { JSXText: (node: TSESTree.JSXText) => { - const value = node.value.trim(); + const value = cleanString(node.value); // If the JSXText element is empty we don't need to do anything if (!value) return; @@ -34,22 +34,21 @@ export const StringsShouldBeTranslatedWithI18n: Rule.RuleModule = { const whiteSpaces = node.value.match(regex)?.[1] ?? ''; // Start building the translation ID suggestion + const intent = getIntentFromNode(value, node.parent); + if (intent === false) return; + const i18nAppId = getI18nIdentifierFromFilePath(filename, cwd); const functionDeclaration = getScope().block as TSESTree.FunctionDeclaration; const functionName = getFunctionName(functionDeclaration); - const intent = getIntentFromNode(value, node.parent); const translationIdSuggestion = `${i18nAppId}.${functionName}.${intent}`; // 'xpack.observability.overview.logs.loadMoreLabel' // Check if i18n has already been imported into the file - const { - hasI18nImportLine, - i18nPackageImportLine: i18nImportLine, - rangeToAddI18nImportLine, - } = getI18nImportFixer({ - sourceCode, - mode: 'i18n.translate', - }); + const { hasI18nImportLine, i18nImportLine, rangeToAddI18nImportLine, mode } = + getI18nImportFixer({ + sourceCode, + mode: 'i18n.translate', + }); // Show warning to developer and offer autofix suggestion report({ @@ -60,10 +59,12 @@ export const StringsShouldBeTranslatedWithI18n: Rule.RuleModule = { return [ fixer.replaceText( node, - `${whiteSpaces}{i18n.translate('${translationIdSuggestion}', { defaultMessage: '${value}'})}` + `${whiteSpaces}{i18n.translate('${translationIdSuggestion}', { defaultMessage: '${value}' })}` ), - !hasI18nImportLine - ? fixer.insertTextAfterRange(rangeToAddI18nImportLine, `\n${i18nImportLine}`) + !hasI18nImportLine && rangeToAddI18nImportLine + ? mode === 'replace' + ? fixer.replaceTextRange(rangeToAddI18nImportLine, i18nImportLine) + : fixer.insertTextAfterRange(rangeToAddI18nImportLine, `\n${i18nImportLine}`) : null, ].filter(isTruthy); }, @@ -81,33 +82,32 @@ export const StringsShouldBeTranslatedWithI18n: Rule.RuleModule = { 'value' in node.value.expression && typeof node.value.expression.value === 'string' ) { - val = node.value.expression.value; + val = cleanString(node.value.expression.value); } // label="foo" if (node.value && 'value' in node.value && typeof node.value.value === 'string') { - val = node.value.value; + val = cleanString(node.value.value); } if (!val) return; // Start building the translation ID suggestion + const intent = getIntentFromNode(val, node); + if (intent === false) return; + const i18nAppId = getI18nIdentifierFromFilePath(filename, cwd); const functionDeclaration = getScope().block as TSESTree.FunctionDeclaration; const functionName = getFunctionName(functionDeclaration); - const intent = getIntentFromNode(val, node); const translationIdSuggestion = `${i18nAppId}.${functionName}.${intent}`; // 'xpack.observability.overview.logs.loadMoreLabel' // Check if i18n has already been imported into the file. - const { - hasI18nImportLine, - i18nPackageImportLine: i18nImportLine, - rangeToAddI18nImportLine, - } = getI18nImportFixer({ - sourceCode, - mode: 'i18n.translate', - }); + const { hasI18nImportLine, i18nImportLine, rangeToAddI18nImportLine, mode } = + getI18nImportFixer({ + sourceCode, + mode: 'i18n.translate', + }); // Show warning to developer and offer autofix suggestion report({ @@ -118,10 +118,12 @@ export const StringsShouldBeTranslatedWithI18n: Rule.RuleModule = { return [ fixer.replaceTextRange( node.value!.range, - `{i18n.translate('${translationIdSuggestion}', { defaultMessage: '${val}'})}` + `{i18n.translate('${translationIdSuggestion}', { defaultMessage: '${val}' })}` ), - !hasI18nImportLine - ? fixer.insertTextAfterRange(rangeToAddI18nImportLine, `\n${i18nImportLine}`) + !hasI18nImportLine && rangeToAddI18nImportLine + ? mode === 'replace' + ? fixer.replaceTextRange(rangeToAddI18nImportLine, i18nImportLine) + : fixer.insertTextAfterRange(rangeToAddI18nImportLine, `\n${i18nImportLine}`) : null, ].filter(isTruthy); }, diff --git a/packages/kbn-management/settings/application/mocks/context.tsx b/packages/kbn-management/settings/application/mocks/context.tsx index 6d9dae8c5bea78..ac6625f25086d1 100644 --- a/packages/kbn-management/settings/application/mocks/context.tsx +++ b/packages/kbn-management/settings/application/mocks/context.tsx @@ -11,6 +11,7 @@ import { I18nProvider } from '@kbn/i18n-react'; import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { I18nStart } from '@kbn/core-i18n-browser'; import { createFormServicesMock } from '@kbn/management-settings-components-form/mocks'; @@ -19,11 +20,13 @@ import { getSettingsMock } from '@kbn/management-settings-utilities/mocks/settin import { SettingsApplicationProvider, SettingsApplicationServices } from '../services'; const createRootMock = () => { + const analytics = analyticsServiceMock.createAnalyticsServiceStart(); const i18n: I18nStart = { Context: ({ children }) => {children}, }; const theme = themeServiceMock.createStartContract(); return { + analytics, i18n, theme, }; diff --git a/packages/kbn-management/settings/application/tsconfig.json b/packages/kbn-management/settings/application/tsconfig.json index c0c85e90ca77e7..5c5323277a93f6 100644 --- a/packages/kbn-management/settings/application/tsconfig.json +++ b/packages/kbn-management/settings/application/tsconfig.json @@ -30,5 +30,6 @@ "@kbn/react-kibana-context-root", "@kbn/core-theme-browser-mocks", "@kbn/core-i18n-browser", + "@kbn/core-analytics-browser-mocks", ] } diff --git a/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx b/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx index daf926561bc843..02f728891d1dfc 100644 --- a/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx +++ b/packages/kbn-management/settings/components/field_input/mocks/context.mock.tsx @@ -11,17 +11,20 @@ import { I18nProvider } from '@kbn/i18n-react'; import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { I18nStart } from '@kbn/core-i18n-browser'; import { FieldInputProvider } from '../services'; import { FieldInputServices } from '../types'; const createRootMock = () => { + const analytics = analyticsServiceMock.createAnalyticsServiceStart(); const i18n: I18nStart = { Context: ({ children }) => {children}, }; const theme = themeServiceMock.createStartContract(); return { + analytics, i18n, theme, }; diff --git a/packages/kbn-management/settings/components/field_input/tsconfig.json b/packages/kbn-management/settings/components/field_input/tsconfig.json index a6fe848abc2a96..bc47a21a3d7525 100644 --- a/packages/kbn-management/settings/components/field_input/tsconfig.json +++ b/packages/kbn-management/settings/components/field_input/tsconfig.json @@ -28,5 +28,6 @@ "@kbn/react-kibana-context-root", "@kbn/core-theme-browser-mocks", "@kbn/core-i18n-browser", + "@kbn/core-analytics-browser-mocks", ] } diff --git a/packages/kbn-management/settings/components/field_row/mocks/context.tsx b/packages/kbn-management/settings/components/field_row/mocks/context.tsx index f8109b6dd08b10..6574f7b9873092 100644 --- a/packages/kbn-management/settings/components/field_row/mocks/context.tsx +++ b/packages/kbn-management/settings/components/field_row/mocks/context.tsx @@ -11,6 +11,7 @@ import { I18nProvider } from '@kbn/i18n-react'; import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { I18nStart } from '@kbn/core-i18n-browser'; import { createFieldInputServicesMock } from '@kbn/management-settings-components-field-input/mocks'; @@ -19,11 +20,13 @@ import { FieldRowProvider } from '../services'; import { FieldRowServices } from '../types'; const createRootMock = () => { + const analytics = analyticsServiceMock.createAnalyticsServiceStart(); const i18n: I18nStart = { Context: ({ children }) => {children}, }; const theme = themeServiceMock.createStartContract(); return { + analytics, i18n, theme, }; diff --git a/packages/kbn-management/settings/components/field_row/tsconfig.json b/packages/kbn-management/settings/components/field_row/tsconfig.json index 173fbd57d08b60..fc77ee13c6dc85 100644 --- a/packages/kbn-management/settings/components/field_row/tsconfig.json +++ b/packages/kbn-management/settings/components/field_row/tsconfig.json @@ -29,5 +29,6 @@ "@kbn/react-kibana-context-root", "@kbn/core-theme-browser-mocks", "@kbn/core-i18n-browser", + "@kbn/core-analytics-browser-mocks", ] } diff --git a/packages/kbn-management/settings/components/form/mocks/context.tsx b/packages/kbn-management/settings/components/form/mocks/context.tsx index 2af26a8f0aaf1b..11ab2f7eb4177b 100644 --- a/packages/kbn-management/settings/components/form/mocks/context.tsx +++ b/packages/kbn-management/settings/components/form/mocks/context.tsx @@ -11,6 +11,7 @@ import { I18nProvider } from '@kbn/i18n-react'; import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { I18nStart } from '@kbn/core-i18n-browser'; import { createFieldRowServicesMock } from '@kbn/management-settings-components-field-row/mocks'; @@ -18,11 +19,13 @@ import { FormProvider } from '../services'; import type { FormServices } from '../types'; const createRootMock = () => { + const analytics = analyticsServiceMock.createAnalyticsServiceStart(); const i18n: I18nStart = { Context: ({ children }) => {children}, }; const theme = themeServiceMock.createStartContract(); return { + analytics, i18n, theme, }; diff --git a/packages/kbn-management/settings/components/form/tsconfig.json b/packages/kbn-management/settings/components/form/tsconfig.json index cfd8fe3ac53b0c..6c9fdc36da8992 100644 --- a/packages/kbn-management/settings/components/form/tsconfig.json +++ b/packages/kbn-management/settings/components/form/tsconfig.json @@ -32,5 +32,6 @@ "@kbn/management-settings-components-field-input", "@kbn/management-settings-components-field-category", "@kbn/management-settings-utilities", + "@kbn/core-analytics-browser-mocks", ] } diff --git a/packages/kbn-management/settings/setting_ids/index.ts b/packages/kbn-management/settings/setting_ids/index.ts index 1ef2c6b223df44..31db42d321d2d0 100644 --- a/packages/kbn-management/settings/setting_ids/index.ts +++ b/packages/kbn-management/settings/setting_ids/index.ts @@ -163,6 +163,10 @@ export const SECURITY_SOLUTION_IP_REPUTATION_LINKS_ID = 'securitySolution:ipRepu export const SECURITY_SOLUTION_ENABLE_CCS_WARNING_ID = 'securitySolution:enableCcsWarning'; export const SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID = 'securitySolution:showRelatedIntegrations'; +export const SECURITY_SOLUTION_DEFAULT_ALERT_TAGS_KEY = 'securitySolution:alertTags' as const; +/** This Kibana Advanced Setting allows users to enable/disable the Expandable Flyout */ +export const SECURITY_SOLUTION_ENABLE_EXPANDABLE_FLYOUT_SETTING = + 'securitySolution:enableExpandableFlyout' as const; // Timelion settings export const TIMELION_ES_DEFAULT_INDEX_ID = 'timelion:es.default_index'; diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml index 02a7b89621f58e..de07bccf8bbcbe 100644 --- a/packages/kbn-optimizer/limits.yml +++ b/packages/kbn-optimizer/limits.yml @@ -94,6 +94,7 @@ pageLoadAssetSize: management: 46112 maps: 90000 mapsEms: 26072 + metricsDataAccess: 60000 ml: 82187 monitoring: 80000 navigation: 37269 diff --git a/packages/kbn-optimizer/src/worker/webpack.config.ts b/packages/kbn-optimizer/src/worker/webpack.config.ts index 986ec051637e43..189ca29072afe6 100644 --- a/packages/kbn-optimizer/src/worker/webpack.config.ts +++ b/packages/kbn-optimizer/src/worker/webpack.config.ts @@ -15,7 +15,6 @@ import webpack from 'webpack'; import TerserPlugin from 'terser-webpack-plugin'; import webpackMerge from 'webpack-merge'; import { CleanWebpackPlugin } from 'clean-webpack-plugin'; -import CompressionPlugin from 'compression-webpack-plugin'; import UiSharedDepsNpm from '@kbn/ui-shared-deps-npm'; import * as UiSharedDepsSrc from '@kbn/ui-shared-deps-src'; @@ -271,15 +270,6 @@ export function getWebpackConfig( IS_KIBANA_DISTRIBUTABLE: `"true"`, }, }), - new CompressionPlugin({ - algorithm: 'brotliCompress', - filename: '[path].br', - test: /\.(js|css)$/, - cache: false, - compressionOptions: { - level: 11, - }, - }), ], optimization: { diff --git a/packages/kbn-plugin-helpers/src/cli.ts b/packages/kbn-plugin-helpers/src/cli.ts index 96da79f75d6c83..21f183dea5e4ae 100644 --- a/packages/kbn-plugin-helpers/src/cli.ts +++ b/packages/kbn-plugin-helpers/src/cli.ts @@ -87,6 +87,7 @@ export function runCli() { await Tasks.initTargets(context); await Tasks.buildBazelPackages(context); await Tasks.optimize(context); + await Tasks.brotliCompressBundles(context); await Tasks.writePublicAssets(context); await Tasks.writeServerFiles(context); await Tasks.yarnInstall(context); diff --git a/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts b/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts index 7a3cf7f85ddf2e..e7a5db404c5caa 100644 --- a/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts +++ b/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts @@ -81,6 +81,7 @@ it('builds a generated plugin into a viable archive', async () => { info running @kbn/optimizer │ succ browser bundle created at plugins/foo_test_plugin/build/kibana/fooTestPlugin/target/public │ info stopping @kbn/optimizer + info compressing js and css bundles found at plugins/foo_test_plugin/build/kibana/fooTestPlugin/target/public to brotli info copying assets from \`public/assets\` to build info copying server source into the build and converting with babel info running yarn to install dependencies diff --git a/packages/kbn-plugin-helpers/src/tasks/brotli_compress_bundles.ts b/packages/kbn-plugin-helpers/src/tasks/brotli_compress_bundles.ts new file mode 100644 index 00000000000000..f04d707b279e99 --- /dev/null +++ b/packages/kbn-plugin-helpers/src/tasks/brotli_compress_bundles.ts @@ -0,0 +1,44 @@ +/* + * 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 Path from 'path'; +import { pipeline } from 'stream'; +import { promisify } from 'util'; + +import vfs from 'vinyl-fs'; +import del from 'del'; +import gulpBrotli from 'gulp-brotli'; +import zlib from 'zlib'; +import { REPO_ROOT } from '@kbn/repo-info'; + +import { TaskContext } from '../task_context'; + +const asyncPipeline = promisify(pipeline); + +export async function brotliCompressBundles({ buildDir, log }: TaskContext) { + const compressDir = Path.resolve(buildDir, 'target/public'); + + log.info( + `compressing js and css bundles found at ${Path.relative(REPO_ROOT, compressDir)} to brotli` + ); + + try { + await del(['**/*.br'], { cwd: compressDir }); + await asyncPipeline( + vfs.src(['**/*.{js,css}'], { cwd: compressDir }), + gulpBrotli({ + params: { + [zlib.constants.BROTLI_PARAM_QUALITY]: zlib.constants.BROTLI_MAX_QUALITY, + }, + }), + vfs.dest(compressDir) + ); + } catch (e) { + log.error(e); + } +} diff --git a/packages/kbn-plugin-helpers/src/tasks/create_archive.ts b/packages/kbn-plugin-helpers/src/tasks/create_archive.ts index 5f2339d2a4ce11..999bb559c6dbed 100644 --- a/packages/kbn-plugin-helpers/src/tasks/create_archive.ts +++ b/packages/kbn-plugin-helpers/src/tasks/create_archive.ts @@ -7,17 +7,13 @@ */ import Path from 'path'; -import { pipeline } from 'stream'; -import { promisify } from 'util'; +import Fs from 'fs'; +import archiver from 'archiver'; import del from 'del'; -import vfs from 'vinyl-fs'; -import zip from 'gulp-zip'; import { TaskContext } from '../task_context'; -const asyncPipeline = promisify(pipeline); - export async function createArchive({ kibanaVersion, plugin, log }: TaskContext) { const { manifest: { id }, @@ -30,15 +26,14 @@ export async function createArchive({ kibanaVersion, plugin, log }: TaskContext) const buildDir = Path.resolve(directory, 'build'); // zip up the build files - await asyncPipeline( - vfs.src([`kibana/${id}/**/*`], { - cwd: buildDir, - base: buildDir, - dot: true, - }), - zip(zipName), - vfs.dest(buildDir) - ); + const output = Fs.createWriteStream(Path.resolve(buildDir, zipName)); + const archive = archiver('zip', { zlib: { level: 9 } }); + archive.pipe(output); + + const directoryToAdd = Path.resolve(buildDir, 'kibana'); + const directoryNameOnZip = Path.basename(directoryToAdd); + + await archive.directory(directoryToAdd, directoryNameOnZip).finalize(); // delete the files that were zipped await del(Path.resolve(buildDir, 'kibana')); diff --git a/packages/kbn-plugin-helpers/src/tasks/index.ts b/packages/kbn-plugin-helpers/src/tasks/index.ts index ab23a501ca14cd..cc788a4ccfa35f 100644 --- a/packages/kbn-plugin-helpers/src/tasks/index.ts +++ b/packages/kbn-plugin-helpers/src/tasks/index.ts @@ -7,6 +7,7 @@ */ export * from './bazel_packages'; +export * from './brotli_compress_bundles'; export * from './clean'; export * from './create_archive'; export * from './optimize'; diff --git a/packages/kbn-profiling-utils/common/callee.ts b/packages/kbn-profiling-utils/common/callee.ts index 9315548b81ef30..63152d91de3f18 100644 --- a/packages/kbn-profiling-utils/common/callee.ts +++ b/packages/kbn-profiling-utils/common/callee.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import { sum } from 'lodash'; import { createFrameGroupID, FrameGroupID } from './frame_group'; import { emptyExecutable, @@ -51,6 +52,9 @@ export interface CalleeTree { CountInclusive: number[]; /** self cpu */ CountExclusive: number[]; + TotalSamples: number; + TotalCPU: number; + SelfCPU: number; } /** @@ -83,14 +87,17 @@ export function createCalleeTree( FunctionOffset: new Array(totalFrames), SourceFilename: new Array(totalFrames), SourceLine: new Array(totalFrames), - CountInclusive: new Array(totalFrames), CountExclusive: new Array(totalFrames), + TotalSamples: 0, + SelfCPU: 0, + TotalCPU: 0, }; // The inverse of the sampling rate is the number with which to multiply the number of // samples to get an estimate of the actual number of samples the backend received. const scalingFactor = 1.0 / samplingRate; + let totalSamples = 0; tree.Edges[0] = new Map(); tree.FileID[0] = ''; @@ -127,7 +134,7 @@ export function createCalleeTree( const stackTrace = stackTraces.get(stackTraceID) ?? emptyStackTrace; const lenStackTrace = stackTrace.FrameIDs.length; const samples = Math.floor((events.get(stackTraceID) ?? 0) * scalingFactor); - + totalSamples += samples; let currentNode = 0; // Increment the count by the number of samples observed, multiplied with the inverse of the @@ -182,6 +189,13 @@ export function createCalleeTree( currentNode = node; } } - - return tree; + const sumSelfCPU = sum(tree.CountExclusive); + const sumTotalCPU = sum(tree.CountInclusive); + + return { + ...tree, + TotalSamples: totalSamples, + SelfCPU: sumSelfCPU, + TotalCPU: sumTotalCPU, + }; } diff --git a/packages/kbn-profiling-utils/common/flamegraph.ts b/packages/kbn-profiling-utils/common/flamegraph.ts index 20dc5419d6230b..0961e02bfd1abb 100644 --- a/packages/kbn-profiling-utils/common/flamegraph.ts +++ b/packages/kbn-profiling-utils/common/flamegraph.ts @@ -45,6 +45,9 @@ export interface BaseFlameGraph { TotalSeconds: number; /** sampling rate */ SamplingRate: number; + TotalSamples: number; + TotalCPU: number; + SelfCPU: number; } /** @@ -78,6 +81,9 @@ export function createBaseFlameGraph( CountExclusive: tree.CountExclusive.slice(0, tree.Size), TotalSeconds: totalSeconds, + TotalSamples: tree.TotalSamples, + SelfCPU: tree.SelfCPU, + TotalCPU: tree.TotalCPU, }; for (let i = 0; i < tree.Size; i++) { @@ -132,6 +138,9 @@ export function createFlameGraph(base: BaseFlameGraph): ElasticFlameGraph { Label: new Array(base.Size), TotalSeconds: base.TotalSeconds, + TotalSamples: base.TotalSamples, + SelfCPU: base.SelfCPU, + TotalCPU: base.TotalCPU, }; const rootFrameGroupID = createFrameGroupID( diff --git a/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts b/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts index 86c5ef3f2e646a..b88e0f708a9801 100644 --- a/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts +++ b/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts @@ -7,3 +7,10 @@ */ export const OBSERVABILITY_THRESHOLD_RULE_TYPE_ID = 'observability.rules.custom_threshold'; + +export enum ApmRuleType { + ErrorCount = 'apm.error_rate', // ErrorRate was renamed to ErrorCount but the key is kept as `error_rate` for backwards-compat. + TransactionErrorRate = 'apm.transaction_error_rate', + TransactionDuration = 'apm.transaction_duration', + Anomaly = 'apm.anomaly', +} diff --git a/packages/kbn-search-connectors/types/native_connectors.ts b/packages/kbn-search-connectors/types/native_connectors.ts index 4c7648e43f5b0a..d815c40eb435bc 100644 --- a/packages/kbn-search-connectors/types/native_connectors.ts +++ b/packages/kbn-search-connectors/types/native_connectors.ts @@ -450,7 +450,12 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record
- -
- , - "container":
-
+
+ , + "container":
+
+ +
+
+ +
+ +
- +
, "debug": [Function], "findAllByAltText": [Function], @@ -146,71 +136,61 @@ Object { "asFragment": [Function], "baseElement":
-
- +
, "container":
-
- +
, "debug": [Function], "findAllByAltText": [Function], diff --git a/packages/kbn-securitysolution-exception-list-components/src/header_menu/__snapshots__/header_menu.test.tsx.snap b/packages/kbn-securitysolution-exception-list-components/src/header_menu/__snapshots__/header_menu.test.tsx.snap index e1a5f056b2e1b2..dae6c052360015 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/header_menu/__snapshots__/header_menu.test.tsx.snap +++ b/packages/kbn-securitysolution-exception-list-components/src/header_menu/__snapshots__/header_menu.test.tsx.snap @@ -176,50 +176,42 @@ Object {

diff --git a/packages/kbn-securitysolution-exception-list-components/src/list_header/__snapshots__/list_header.test.tsx.snap b/packages/kbn-securitysolution-exception-list-components/src/list_header/__snapshots__/list_header.test.tsx.snap index dd0778bf5ad85d..a458aa90dbedcb 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/list_header/__snapshots__/list_header.test.tsx.snap +++ b/packages/kbn-securitysolution-exception-list-components/src/list_header/__snapshots__/list_header.test.tsx.snap @@ -1845,71 +1845,59 @@ Object {

diff --git a/packages/kbn-securitysolution-exception-list-components/src/list_header/menu_items/__snapshots__/menu_items.test.tsx.snap b/packages/kbn-securitysolution-exception-list-components/src/list_header/menu_items/__snapshots__/menu_items.test.tsx.snap index 4427a5c74a5b95..90c90a4f3eea54 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/list_header/menu_items/__snapshots__/menu_items.test.tsx.snap +++ b/packages/kbn-securitysolution-exception-list-components/src/list_header/menu_items/__snapshots__/menu_items.test.tsx.snap @@ -497,69 +497,57 @@ Object {

@@ -796,71 +784,59 @@ Object {

diff --git a/packages/kbn-shared-ux-utility/index.ts b/packages/kbn-shared-ux-utility/index.ts index 3685d381e1983f..c10ee14145e8c4 100644 --- a/packages/kbn-shared-ux-utility/index.ts +++ b/packages/kbn-shared-ux-utility/index.ts @@ -7,5 +7,5 @@ */ export { Fallback } from './src/fallback'; -export { withSuspense } from './src/with_suspense'; export { getClosestLink, hasActiveModifierKey } from './src/utils'; +export { withSuspense, type WithSuspenseExtendedDeps } from './src/with_suspense'; diff --git a/packages/kbn-shared-ux-utility/src/with_suspense.tsx b/packages/kbn-shared-ux-utility/src/with_suspense.tsx index 70471b939ed5d3..753ceb6fccb6da 100644 --- a/packages/kbn-shared-ux-utility/src/with_suspense.tsx +++ b/packages/kbn-shared-ux-utility/src/with_suspense.tsx @@ -6,13 +6,25 @@ * Side Public License, v 1. */ -import React, { Suspense, ComponentType, ReactElement, Ref } from 'react'; +import { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import { KibanaErrorBoundary, KibanaErrorBoundaryProvider } from '@kbn/shared-ux-error-boundary'; +import React, { ComponentType, ReactElement, Ref, Suspense } from 'react'; import { Fallback } from './fallback'; /** - * A HOC which supplies React.Suspense with a fallback component, and a `EuiErrorBoundary` to contain errors. + * Optional services that the Suspense wrapper can use + * @public + */ +export interface WithSuspenseExtendedDeps { + /** + * The `AnalyticsServiceStart` object from `CoreStart` + */ + analytics?: AnalyticsServiceStart; +} + +/** + * A HOC which supplies React.Suspense with a fallback component, and a `KibanaErrorBoundary` to contain errors. * @param Component A component deferred by `React.lazy` * @param fallback A fallback component to render while things load; default is `Fallback` from SharedUX. */ @@ -20,8 +32,8 @@ export const withSuspense =

( Component: ComponentType

, fallback: ReactElement | null = ) => - React.forwardRef((props: P, ref: Ref) => ( - + React.forwardRef((props: P & WithSuspenseExtendedDeps, ref: Ref) => ( + diff --git a/packages/kbn-shared-ux-utility/tsconfig.json b/packages/kbn-shared-ux-utility/tsconfig.json index f95724fe73b8b5..cd8716bf04d9bc 100644 --- a/packages/kbn-shared-ux-utility/tsconfig.json +++ b/packages/kbn-shared-ux-utility/tsconfig.json @@ -17,5 +17,6 @@ ], "kbn_references": [ "@kbn/shared-ux-error-boundary", + "@kbn/core-analytics-browser", ] } diff --git a/packages/kbn-storybook/src/lib/decorators.tsx b/packages/kbn-storybook/src/lib/decorators.tsx index 270b9662e2210e..8693d55faac61e 100644 --- a/packages/kbn-storybook/src/lib/decorators.tsx +++ b/packages/kbn-storybook/src/lib/decorators.tsx @@ -6,7 +6,9 @@ * Side Public License, v 1. */ +import { Subject } from 'rxjs'; import React, { useEffect } from 'react'; +import { action } from '@storybook/addon-actions'; import type { DecoratorFn } from '@storybook/react'; import { I18nProvider } from '@kbn/i18n-react'; @@ -14,6 +16,7 @@ import 'core_styles'; import { BehaviorSubject } from 'rxjs'; import { CoreTheme } from '@kbn/core-theme-browser'; import { I18nStart } from '@kbn/core-i18n-browser'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; const theme$ = new BehaviorSubject({ darkMode: false }); @@ -22,6 +25,12 @@ const i18n: I18nStart = { Context: ({ children }) => {children}, }; +const analytics: AnalyticsServiceStart = { + reportEvent: action('Report telemetry event'), + optIn: action('Opt in'), + telemetryCounter$: new Subject(), +}; + /** * Storybook decorator using the `KibanaContextProvider`. Uses the value from * `globals` provided by the Storybook theme switcher to set the `colorMode`. @@ -34,7 +43,7 @@ const KibanaContextDecorator: DecoratorFn = (storyFn, { globals }) => { }, [colorMode]); return ( - + {storyFn()} ); diff --git a/packages/kbn-storybook/tsconfig.json b/packages/kbn-storybook/tsconfig.json index 6463962ff65f98..97d423551115d9 100644 --- a/packages/kbn-storybook/tsconfig.json +++ b/packages/kbn-storybook/tsconfig.json @@ -20,6 +20,7 @@ "@kbn/i18n-react", "@kbn/core-i18n-browser", "@kbn/react-kibana-context-root", + "@kbn/core-analytics-browser", ], "exclude": [ "target/**/*", diff --git a/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts b/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts index bc0d60d4ef5ca1..c4d69b171ad144 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts +++ b/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts @@ -24,6 +24,7 @@ export async function runKibanaServer(options: { extraKbnOpts?: string[]; logsDir?: string; onEarlyExit?: (msg: string) => void; + inspect?: boolean; }) { const { config, procs } = options; const runOptions = options.config.get('kbnTestServer.runOptions'); @@ -51,6 +52,10 @@ export async function runKibanaServer(options: { ? [Path.relative(procRunnerOpts.cwd, Path.resolve(REPO_ROOT, 'scripts/kibana'))] : []; + if (options.inspect) { + prefixArgs.unshift('--inspect'); + } + const buildArgs: string[] = config.get('kbnTestServer.buildArgs') || []; const sourceArgs: string[] = config.get('kbnTestServer.sourceArgs') || []; const serverArgs: string[] = config.get('kbnTestServer.serverArgs') || []; diff --git a/packages/kbn-unified-data-table/src/constants.ts b/packages/kbn-unified-data-table/src/constants.ts index f648f09f558f32..c4c236c828fc1f 100644 --- a/packages/kbn-unified-data-table/src/constants.ts +++ b/packages/kbn-unified-data-table/src/constants.ts @@ -20,7 +20,7 @@ export const ROWS_PER_PAGE_OPTIONS = [10, 25, 50, DEFAULT_ROWS_PER_PAGE, 250, 50 export const ROWS_HEIGHT_OPTIONS = { auto: -1, single: 0, - default: -1, + default: 3, }; export const defaultRowLineHeight = '1.6em'; export const defaultMonacoEditorWidth = 370; diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx index 1ef0d9c70d1391..2da08c178720a0 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx +++ b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.test.tsx @@ -11,6 +11,8 @@ import { Storage } from '@kbn/kibana-utils-plugin/public'; import { LocalStorageMock } from '../../__mocks__/local_storage_mock'; import { useRowHeightsOptions } from './use_row_heights_options'; +const CONFIG_ROW_HEIGHT = 3; + describe('useRowHeightsOptions', () => { test('should apply rowHeight from savedSearch', () => { const { result } = renderHook(() => { @@ -30,7 +32,7 @@ describe('useRowHeightsOptions', () => { storage: new LocalStorageMock({ ['discover:dataGridRowHeight']: { previousRowHeight: 5, - previousConfigRowHeight: -1, + previousConfigRowHeight: 3, }, }) as unknown as Storage, consumer: 'discover', @@ -50,7 +52,7 @@ describe('useRowHeightsOptions', () => { }); expect(result.current.defaultHeight).toEqual({ - lineCount: 3, + lineCount: CONFIG_ROW_HEIGHT, }); }); @@ -59,8 +61,8 @@ describe('useRowHeightsOptions', () => { return useRowHeightsOptions({ storage: new LocalStorageMock({ ['discover:dataGridRowHeight']: { - previousRowHeight: 5, - // different from uiSettings (config), now user changed it to -1, but prev was 4 + previousRowHeight: 4, + // different from uiSettings (config), now user changed it to 3, but prev was 4 previousConfigRowHeight: 4, }, }) as unknown as Storage, @@ -68,6 +70,8 @@ describe('useRowHeightsOptions', () => { }); }); - expect(result.current.defaultHeight).toEqual('auto'); + expect(result.current.defaultHeight).toEqual({ + lineCount: CONFIG_ROW_HEIGHT, + }); }); }); diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts index 55eaa17c2c2eac..3df1a31aaa9d3b 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts +++ b/packages/kbn-unified-data-table/src/hooks/use_row_heights_options.ts @@ -34,6 +34,8 @@ const serializeRowHeight = (rowHeight?: EuiDataGridRowHeightOption): number => { return ROWS_HEIGHT_OPTIONS.auto; } else if (typeof rowHeight === 'object' && rowHeight.lineCount) { return rowHeight.lineCount; // custom + } else if (typeof rowHeight === 'number') { + return rowHeight; } return ROWS_HEIGHT_OPTIONS.single; diff --git a/packages/kbn-unified-field-list/src/components/field_list_filters/field_type_filter.tsx b/packages/kbn-unified-field-list/src/components/field_list_filters/field_type_filter.tsx index 7179d326841ad1..c80b924333ecf4 100644 --- a/packages/kbn-unified-field-list/src/components/field_list_filters/field_type_filter.tsx +++ b/packages/kbn-unified-field-list/src/components/field_list_filters/field_type_filter.tsx @@ -107,12 +107,7 @@ export function FieldTypeFilter({ const itemStyle = useMemo( () => css` font-size: ${euiTheme.size.m}; - - // Specificity needed to override Sass styles - // EUI TODO: Remove this selector once EuiContextMenu has been converted to Emotion - &.euiContextMenuItem { - padding: ${euiTheme.size.s} ${euiTheme.size.m}; - } + padding: ${euiTheme.size.s} ${euiTheme.size.m}; & + & { border-top: 1px solid ${euiTheme.colors.lightestShade}; diff --git a/packages/kbn-user-profile-components/src/user_profiles_popover.test.tsx b/packages/kbn-user-profile-components/src/user_profiles_popover.test.tsx index 7c1c137740cdf2..c2b36c39f6955c 100644 --- a/packages/kbn-user-profile-components/src/user_profiles_popover.test.tsx +++ b/packages/kbn-user-profile-components/src/user_profiles_popover.test.tsx @@ -86,8 +86,7 @@ describe('UserProfilesPopover', () => { panelPaddingSize="none" repositionToCrossAxis={true} > - { ] } /> - + `); }); diff --git a/packages/kbn-visualization-ui-components/components/line_style_settings.tsx b/packages/kbn-visualization-ui-components/components/line_style_settings.tsx index 83315113648b48..0151e85004d73e 100644 --- a/packages/kbn-visualization-ui-components/components/line_style_settings.tsx +++ b/packages/kbn-visualization-ui-components/components/line_style_settings.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { useState } from 'react'; +import React, { useState, memo, useCallback } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiButtonGroup, @@ -44,9 +44,12 @@ export const LineStyleSettings = ({ { + // Without this memoization, EuiFieldNumber rerenders too often + // which somehow causes the annotation query to fall out of sync + onChange={useCallback((value) => { setConfig({ lineWidth: value }); - }} + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [])} /> @@ -107,46 +110,42 @@ function getSafeValue(value: number | '', prevValue: number, min: number, max: n return Math.max(minRange, Math.min(value, maxRange)); } -const LineThicknessSlider = ({ - value, - onChange, -}: { - value: number; - onChange: (value: number) => void; -}) => { - const [unsafeValue, setUnsafeValue] = useState(String(value)); +const LineThicknessSlider = memo( + ({ value, onChange }: { value: number; onChange: (value: number) => void }) => { + const [unsafeValue, setUnsafeValue] = useState(String(value)); - return ( - { - setUnsafeValue(newValue); - const convertedValue = newValue === '' ? '' : Number(newValue); - const safeValue = getSafeValue(Number(newValue), Number(newValue), minRange, maxRange); - // only update onChange is the value is valid and in range - if (convertedValue === safeValue) { - onChange(safeValue); - } - }} - onBlur={() => { - if (unsafeValue !== String(value)) { - const safeValue = getSafeValue( - unsafeValue === '' ? unsafeValue : Number(unsafeValue), - value, - minRange, - maxRange - ); - onChange(safeValue); - setUnsafeValue(String(safeValue)); - } - }} - /> - ); -}; + return ( + { + setUnsafeValue(newValue); + const convertedValue = newValue === '' ? '' : Number(newValue); + const safeValue = getSafeValue(Number(newValue), Number(newValue), minRange, maxRange); + // only update onChange is the value is valid and in range + if (convertedValue === safeValue) { + onChange(safeValue); + } + }} + onBlur={() => { + if (unsafeValue !== String(value)) { + const safeValue = getSafeValue( + unsafeValue === '' ? unsafeValue : Number(unsafeValue), + value, + minRange, + maxRange + ); + onChange(safeValue); + setUnsafeValue(String(safeValue)); + } + }} + /> + ); + } +); diff --git a/packages/react/kibana_context/render/render_provider.tsx b/packages/react/kibana_context/render/render_provider.tsx index 3deb8d91433cba..205f9008e6470e 100644 --- a/packages/react/kibana_context/render/render_provider.tsx +++ b/packages/react/kibana_context/render/render_provider.tsx @@ -27,7 +27,7 @@ export const KibanaRenderContextProvider: FC = }) => { return ( - + {children} diff --git a/packages/react/kibana_context/root/README.mdx b/packages/react/kibana_context/root/README.mdx index bfd0e92a5af08e..3825d6d61e219b 100644 --- a/packages/react/kibana_context/root/README.mdx +++ b/packages/react/kibana_context/root/README.mdx @@ -19,6 +19,7 @@ import { BehaviorSubject } from 'rxjs'; import { I18nProvider } from '@kbn/i18n-react'; import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; +import { action } from '@storybook/addon-actions'; import type { DecoratorFn } from '@storybook/react'; import type { CoreTheme } from '@kbn/core-theme-browser'; @@ -26,6 +27,10 @@ import type { I18nStart } from '@kbn/core-i18n-browser'; const theme$ = new BehaviorSubject({ darkMode: false }); +const analytics = { + reportEvent: action('telemetry-report-event'), +}; + const i18n: I18nStart = { Context: ({ children }) => {children}, }; @@ -38,7 +43,7 @@ export const KibanaContextDecorator: DecoratorFn = (storyFn, { globals }) => { }, [colorMode]); return ( - + {storyFn()} ); diff --git a/packages/react/kibana_context/root/root_provider.test.tsx b/packages/react/kibana_context/root/root_provider.test.tsx index 211594e40f1ff6..885065959c9643 100644 --- a/packages/react/kibana_context/root/root_provider.test.tsx +++ b/packages/react/kibana_context/root/root_provider.test.tsx @@ -14,6 +14,8 @@ import { useEuiTheme } from '@elastic/eui'; import type { UseEuiTheme } from '@elastic/eui'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import type { KibanaTheme } from '@kbn/react-kibana-context-common'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { i18nServiceMock } from '@kbn/core-i18n-browser-mocks'; import { KibanaRootContextProvider } from './root_provider'; import { I18nStart } from '@kbn/core-i18n-browser'; @@ -21,9 +23,11 @@ import { I18nStart } from '@kbn/core-i18n-browser'; describe('KibanaRootContextProvider', () => { let euiTheme: UseEuiTheme | undefined; let i18nMock: I18nStart; + let analytics: AnalyticsServiceStart; beforeEach(() => { euiTheme = undefined; + analytics = analyticsServiceMock.createAnalyticsServiceStart(); i18nMock = i18nServiceMock.createStartContract(); }); @@ -56,7 +60,11 @@ describe('KibanaRootContextProvider', () => { const coreTheme: KibanaTheme = { darkMode: true }; const wrapper = mountWithIntl( - + ); @@ -70,7 +78,11 @@ describe('KibanaRootContextProvider', () => { const coreTheme$ = new BehaviorSubject({ darkMode: true }); const wrapper = mountWithIntl( - + ); diff --git a/packages/react/kibana_context/root/root_provider.tsx b/packages/react/kibana_context/root/root_provider.tsx index 8bdc8046fe04fb..a2af8f2eaa2f24 100644 --- a/packages/react/kibana_context/root/root_provider.tsx +++ b/packages/react/kibana_context/root/root_provider.tsx @@ -6,7 +6,8 @@ * Side Public License, v 1. */ -import { I18nStart } from '@kbn/core-i18n-browser'; +import type { I18nStart } from '@kbn/core-i18n-browser'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import React, { FC } from 'react'; import { KibanaEuiProvider, type KibanaEuiProviderProps } from './eui_provider'; @@ -15,6 +16,8 @@ import { KibanaEuiProvider, type KibanaEuiProviderProps } from './eui_provider'; export interface KibanaRootContextProviderProps extends KibanaEuiProviderProps { /** The `I18nStart` API from `CoreStart`. */ i18n: I18nStart; + /** The `AnalyticsServiceStart` API from `CoreStart`. */ + analytics?: AnalyticsServiceStart; } /** diff --git a/packages/react/kibana_context/root/tsconfig.json b/packages/react/kibana_context/root/tsconfig.json index 139318b3ba7e9d..27ea0566f36a71 100644 --- a/packages/react/kibana_context/root/tsconfig.json +++ b/packages/react/kibana_context/root/tsconfig.json @@ -21,5 +21,7 @@ "@kbn/core-i18n-browser-mocks", "@kbn/core-i18n-browser", "@kbn/core-base-common", + "@kbn/core-analytics-browser", + "@kbn/core-analytics-browser-mocks", ] } diff --git a/packages/react/kibana_mount/to_mount_point.test.tsx b/packages/react/kibana_mount/to_mount_point.test.tsx index ea7037765fa085..c9e3277e7f2c3c 100644 --- a/packages/react/kibana_mount/to_mount_point.test.tsx +++ b/packages/react/kibana_mount/to_mount_point.test.tsx @@ -13,11 +13,13 @@ import { useEuiTheme } from '@elastic/eui'; import type { UseEuiTheme } from '@elastic/eui'; import type { CoreTheme } from '@kbn/core/public'; import { toMountPoint } from './to_mount_point'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { i18nServiceMock } from '@kbn/core-i18n-browser-mocks'; describe('toMountPoint', () => { let euiTheme: UseEuiTheme; const i18n = i18nServiceMock.createStartContract(); + const analytics = analyticsServiceMock.createAnalyticsServiceStart(); const InnerComponent: FC = () => { const theme = useEuiTheme(); @@ -39,7 +41,7 @@ describe('toMountPoint', () => { it('exposes the euiTheme when `theme$` is provided', async () => { const theme = { theme$: of({ darkMode: true }) }; - const mount = toMountPoint(, { theme, i18n }); + const mount = toMountPoint(, { theme, i18n, analytics }); const targetEl = document.createElement('div'); mount(targetEl); @@ -52,7 +54,7 @@ describe('toMountPoint', () => { it('propagates changes of the theme$ observable', async () => { const theme$ = new BehaviorSubject({ darkMode: true }); - const mount = toMountPoint(, { theme: { theme$ }, i18n }); + const mount = toMountPoint(, { theme: { theme$ }, i18n, analytics }); const targetEl = document.createElement('div'); mount(targetEl); diff --git a/packages/react/kibana_mount/to_mount_point.tsx b/packages/react/kibana_mount/to_mount_point.tsx index 8e6392c52e623a..60beb29e5793b9 100644 --- a/packages/react/kibana_mount/to_mount_point.tsx +++ b/packages/react/kibana_mount/to_mount_point.tsx @@ -14,7 +14,10 @@ import { KibanaRenderContextProviderProps, } from '@kbn/react-kibana-context-render'; -export type ToMountPointParams = Pick; +export type ToMountPointParams = Pick< + KibanaRenderContextProviderProps, + 'analytics' | 'i18n' | 'theme' +>; /** * MountPoint converter for react nodes. diff --git a/packages/react/kibana_mount/tsconfig.json b/packages/react/kibana_mount/tsconfig.json index 77b523f4486d25..36036d379b7e1e 100644 --- a/packages/react/kibana_mount/tsconfig.json +++ b/packages/react/kibana_mount/tsconfig.json @@ -20,5 +20,6 @@ "@kbn/i18n", "@kbn/core-i18n-browser-mocks", "@kbn/react-kibana-context-render", + "@kbn/core-analytics-browser-mocks", ] } diff --git a/packages/serverless/settings/security_project/index.ts b/packages/serverless/settings/security_project/index.ts index 3a3ed2addf9f4f..276a1e87e4b7e2 100644 --- a/packages/serverless/settings/security_project/index.ts +++ b/packages/serverless/settings/security_project/index.ts @@ -22,4 +22,6 @@ export const SECURITY_PROJECT_SETTINGS = [ settings.SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID, settings.SECURITY_SOLUTION_NEWS_FEED_URL_ID, settings.SECURITY_SOLUTION_ENABLE_NEWS_FEED_ID, + settings.SECURITY_SOLUTION_DEFAULT_ALERT_TAGS_KEY, + settings.SECURITY_SOLUTION_ENABLE_EXPANDABLE_FLYOUT_SETTING, ]; diff --git a/packages/shared-ux/button/exit_full_screen/impl/README.mdx b/packages/shared-ux/button/exit_full_screen/README.mdx similarity index 100% rename from packages/shared-ux/button/exit_full_screen/impl/README.mdx rename to packages/shared-ux/button/exit_full_screen/README.mdx diff --git a/packages/shared-ux/button/exit_full_screen/impl/index.tsx b/packages/shared-ux/button/exit_full_screen/index.tsx similarity index 66% rename from packages/shared-ux/button/exit_full_screen/impl/index.tsx rename to packages/shared-ux/button/exit_full_screen/index.tsx index a003b3b240f67d..dcbd0b7285cf8c 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/index.tsx +++ b/packages/shared-ux/button/exit_full_screen/index.tsx @@ -6,6 +6,6 @@ * Side Public License, v 1. */ -export { ExitFullScreenButtonKibanaProvider, ExitFullScreenButtonProvider } from './src/services'; -export { ExitFullScreenButton as ExitFullScreenButtonComponent } from './src/exit_full_screen_button.component'; +export { ExitFullScreenButtonKibanaProvider } from './src/services'; export { ExitFullScreenButton } from './src/exit_full_screen_button'; +export type { ExitFullScreenButtonProps, ExitFullScreenButtonKibanaDependencies } from './types'; diff --git a/packages/shared-ux/code_editor/mocks/jest.config.js b/packages/shared-ux/button/exit_full_screen/jest.config.js similarity index 81% rename from packages/shared-ux/code_editor/mocks/jest.config.js rename to packages/shared-ux/button/exit_full_screen/jest.config.js index acf20ddf403623..a9c3d2e1afb489 100644 --- a/packages/shared-ux/code_editor/mocks/jest.config.js +++ b/packages/shared-ux/button/exit_full_screen/jest.config.js @@ -7,7 +7,7 @@ */ module.exports = { - preset: '@kbn/test/jest_node', + preset: '@kbn/test', rootDir: '../../../..', - roots: ['/packages/shared-ux/code_editor/mocks'], + roots: ['/packages/shared-ux/button/exit_full_screen'], }; diff --git a/packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/kibana.jsonc similarity index 100% rename from packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc rename to packages/shared-ux/button/exit_full_screen/kibana.jsonc diff --git a/packages/shared-ux/button/exit_full_screen/mocks/README.md b/packages/shared-ux/button/exit_full_screen/mocks/README.md deleted file mode 100644 index a868c7d146ed10..00000000000000 --- a/packages/shared-ux/button/exit_full_screen/mocks/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @kbn/shared-ux-button-exit-full-screen-mocks - -TODO: clintandrewhall diff --git a/packages/shared-ux/button/exit_full_screen/mocks/index.ts b/packages/shared-ux/button/exit_full_screen/mocks/index.ts index 458c17f1b9eab8..76a0892f7fd2e1 100644 --- a/packages/shared-ux/button/exit_full_screen/mocks/index.ts +++ b/packages/shared-ux/button/exit_full_screen/mocks/index.ts @@ -9,7 +9,7 @@ export { getKibanaDependenciesMock as getExitFullScreenButtonKibanaDependenciesMock, getServicesMock as getExitFullScreenButtonServicesMock, -} from './src/jest'; +} from './jest'; -export { StorybookMock as ExitFullScreenButtonStorybookMock } from './src/storybook'; -export type { Params as ExitFullScreenButtonStorybookParams } from './src/storybook'; +export { StorybookMock as ExitFullScreenButtonStorybookMock } from './storybook'; +export type { Params as ExitFullScreenButtonStorybookParams } from './storybook'; diff --git a/packages/shared-ux/button/exit_full_screen/mocks/src/jest.ts b/packages/shared-ux/button/exit_full_screen/mocks/jest.ts similarity index 94% rename from packages/shared-ux/button/exit_full_screen/mocks/src/jest.ts rename to packages/shared-ux/button/exit_full_screen/mocks/jest.ts index 917595d441d6ef..4e92c0ad1a7a26 100644 --- a/packages/shared-ux/button/exit_full_screen/mocks/src/jest.ts +++ b/packages/shared-ux/button/exit_full_screen/mocks/jest.ts @@ -6,11 +6,11 @@ * Side Public License, v 1. */ -import { +import { of } from 'rxjs'; +import type { ExitFullScreenButtonKibanaDependencies, ExitFullScreenButtonServices, -} from '@kbn/shared-ux-button-exit-full-screen-types'; -import { of } from 'rxjs'; +} from '../types'; /** * Return a Jest mock of the services for the `ExitFullScreenButton` component. diff --git a/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc deleted file mode 100644 index 1c21ffbc91c7cb..00000000000000 --- a/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/shared-ux-button-exit-full-screen-mocks", - "owner": "@elastic/appex-sharedux" -} diff --git a/packages/shared-ux/button/exit_full_screen/mocks/package.json b/packages/shared-ux/button/exit_full_screen/mocks/package.json deleted file mode 100644 index bcda1669c6f1dd..00000000000000 --- a/packages/shared-ux/button/exit_full_screen/mocks/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@kbn/shared-ux-button-exit-full-screen-mocks", - "private": true, - "version": "1.0.0", - "license": "SSPL-1.0 OR Elastic License 2.0" -} \ No newline at end of file diff --git a/packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts b/packages/shared-ux/button/exit_full_screen/mocks/storybook.ts similarity index 91% rename from packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts rename to packages/shared-ux/button/exit_full_screen/mocks/storybook.ts index 5393b333a5f813..c892b3dc9f9394 100644 --- a/packages/shared-ux/button/exit_full_screen/mocks/src/storybook.ts +++ b/packages/shared-ux/button/exit_full_screen/mocks/storybook.ts @@ -8,11 +8,8 @@ import { action } from '@storybook/addon-actions'; import { AbstractStorybookMock, ArgumentParams } from '@kbn/shared-ux-storybook-mock'; -import type { - ExitFullScreenButtonProps as Props, - ExitFullScreenButtonServices, -} from '@kbn/shared-ux-button-exit-full-screen-types'; import { of } from 'rxjs'; +import type { ExitFullScreenButtonProps as Props, ExitFullScreenButtonServices } from '../types'; type PropArguments = Pick; diff --git a/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json b/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json deleted file mode 100644 index fbc11adc955233..00000000000000 --- a/packages/shared-ux/button/exit_full_screen/mocks/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "../../../../../tsconfig.base.json", - "compilerOptions": { - "outDir": "target/types", - "types": [ - "jest", - "node", - "react" - ] - }, - "include": [ - "**/*.ts" - ], - "kbn_references": [ - "@kbn/shared-ux-button-exit-full-screen-types", - "@kbn/shared-ux-storybook-mock" - ], - "exclude": [ - "target/**/*", - ] -} diff --git a/packages/shared-ux/button/exit_full_screen/impl/package.json b/packages/shared-ux/button/exit_full_screen/package.json similarity index 100% rename from packages/shared-ux/button/exit_full_screen/impl/package.json rename to packages/shared-ux/button/exit_full_screen/package.json diff --git a/packages/shared-ux/button/exit_full_screen/impl/src/__snapshots__/exit_full_screen_button.test.tsx.snap b/packages/shared-ux/button/exit_full_screen/src/__snapshots__/exit_full_screen_button.test.tsx.snap similarity index 100% rename from packages/shared-ux/button/exit_full_screen/impl/src/__snapshots__/exit_full_screen_button.test.tsx.snap rename to packages/shared-ux/button/exit_full_screen/src/__snapshots__/exit_full_screen_button.test.tsx.snap diff --git a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.component.tsx b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.component.tsx similarity index 98% rename from packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.component.tsx rename to packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.component.tsx index 645426d64eda44..f880d5761f3eb2 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.component.tsx +++ b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.component.tsx @@ -20,7 +20,7 @@ import { i18n } from '@kbn/i18n'; import { css } from '@emotion/react'; import cx from 'classnames'; -import type { ExitFullScreenButtonComponentProps as Props } from '@kbn/shared-ux-button-exit-full-screen-types'; +import type { ExitFullScreenButtonComponentProps as Props } from '../types'; import './exit_full_screen_button.scss'; diff --git a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.scss b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.scss similarity index 100% rename from packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.scss rename to packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.scss diff --git a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.stories.tsx b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.stories.tsx similarity index 84% rename from packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.stories.tsx rename to packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.stories.tsx index 59a37c3c726e63..b126b7e0d5ab26 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.stories.tsx +++ b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.stories.tsx @@ -7,8 +7,10 @@ */ import React from 'react'; -import { ExitFullScreenButtonStorybookMock } from '@kbn/shared-ux-button-exit-full-screen-mocks'; -import type { ExitFullScreenButtonStorybookParams } from '@kbn/shared-ux-button-exit-full-screen-mocks'; +import { + ExitFullScreenButtonStorybookMock, + type ExitFullScreenButtonStorybookParams, +} from '../mocks'; import { ExitFullScreenButtonProvider } from './services'; import { ExitFullScreenButton as Component } from './exit_full_screen_button'; diff --git a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.test.tsx b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.test.tsx similarity index 98% rename from packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.test.tsx rename to packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.test.tsx index 016762e470f97b..b63a87019e387e 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.test.tsx +++ b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.test.tsx @@ -13,7 +13,7 @@ import { keys } from '@elastic/eui'; import { getExitFullScreenButtonServicesMock, getExitFullScreenButtonKibanaDependenciesMock, -} from '@kbn/shared-ux-button-exit-full-screen-mocks'; +} from '../mocks'; import { ExitFullScreenButton } from './exit_full_screen_button'; import { ExitFullScreenButtonKibanaProvider, ExitFullScreenButtonProvider } from './services'; diff --git a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.tsx b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.tsx similarity index 95% rename from packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.tsx rename to packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.tsx index dc70d1de3e4538..563fe9c2f9c3c1 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/src/exit_full_screen_button.tsx +++ b/packages/shared-ux/button/exit_full_screen/src/exit_full_screen_button.tsx @@ -10,10 +10,10 @@ import React, { useCallback, useEffect } from 'react'; import { useEuiTheme, keys } from '@elastic/eui'; import { css } from '@emotion/react'; import useMountedState from 'react-use/lib/useMountedState'; +import useObservable from 'react-use/lib/useObservable'; -import type { ExitFullScreenButtonProps as Props } from '@kbn/shared-ux-button-exit-full-screen-types'; +import type { ExitFullScreenButtonProps as Props } from '../types'; -import useObservable from 'react-use/lib/useObservable'; import { ExitFullScreenButton as Component } from './exit_full_screen_button.component'; import { useServices } from './services'; diff --git a/packages/shared-ux/button/exit_full_screen/impl/src/services.tsx b/packages/shared-ux/button/exit_full_screen/src/services.tsx similarity index 97% rename from packages/shared-ux/button/exit_full_screen/impl/src/services.tsx rename to packages/shared-ux/button/exit_full_screen/src/services.tsx index 909b63e77ed68b..5a4111e4627df6 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/src/services.tsx +++ b/packages/shared-ux/button/exit_full_screen/src/services.tsx @@ -12,7 +12,7 @@ import type { Services, ExitFullScreenButtonServices, ExitFullScreenButtonKibanaDependencies, -} from '@kbn/shared-ux-button-exit-full-screen-types'; +} from '../types'; const ExitFullScreenButtonContext = React.createContext(null); diff --git a/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json b/packages/shared-ux/button/exit_full_screen/tsconfig.json similarity index 67% rename from packages/shared-ux/button/exit_full_screen/impl/tsconfig.json rename to packages/shared-ux/button/exit_full_screen/tsconfig.json index 7dfac857441893..0590172c5b3f15 100644 --- a/packages/shared-ux/button/exit_full_screen/impl/tsconfig.json +++ b/packages/shared-ux/button/exit_full_screen/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../../../tsconfig.base.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ @@ -15,8 +15,8 @@ ], "kbn_references": [ "@kbn/i18n", - "@kbn/shared-ux-button-exit-full-screen-types", - "@kbn/shared-ux-button-exit-full-screen-mocks", + "@kbn/shared-ux-storybook-mock", + "@kbn/core-custom-branding-common" ], "exclude": [ "target/**/*", diff --git a/packages/shared-ux/button/exit_full_screen/types/index.d.ts b/packages/shared-ux/button/exit_full_screen/types.ts similarity index 100% rename from packages/shared-ux/button/exit_full_screen/types/index.d.ts rename to packages/shared-ux/button/exit_full_screen/types.ts diff --git a/packages/shared-ux/button/exit_full_screen/types/README.md b/packages/shared-ux/button/exit_full_screen/types/README.md deleted file mode 100644 index 95956057ddc1a9..00000000000000 --- a/packages/shared-ux/button/exit_full_screen/types/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @kbn/shared-ux-button-exit-full-screen-types - -TODO: clintandrewhall diff --git a/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc deleted file mode 100644 index 9c8448d02a2b14..00000000000000 --- a/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/shared-ux-button-exit-full-screen-types", - "owner": "@elastic/appex-sharedux" -} diff --git a/packages/shared-ux/button/exit_full_screen/types/package.json b/packages/shared-ux/button/exit_full_screen/types/package.json deleted file mode 100644 index d5ff454e0a2c60..00000000000000 --- a/packages/shared-ux/button/exit_full_screen/types/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@kbn/shared-ux-button-exit-full-screen-types", - "private": true, - "version": "1.0.0", - "license": "SSPL-1.0 OR Elastic License 2.0" -} \ No newline at end of file diff --git a/packages/shared-ux/button/exit_full_screen/types/tsconfig.json b/packages/shared-ux/button/exit_full_screen/types/tsconfig.json deleted file mode 100644 index 9909bbb0564ca7..00000000000000 --- a/packages/shared-ux/button/exit_full_screen/types/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../../../../tsconfig.base.json", - "compilerOptions": { - "outDir": "target/types", - "types": [] - }, - "include": [ - "*.d.ts" - ], - "exclude": [ - "target/**/*", - ], - "kbn_references": [ - "@kbn/core-custom-branding-common", - ] -} diff --git a/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.component.test.tsx.snap b/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.component.test.tsx.snap index a74b8433433cbb..17eb4ef8804cda 100644 --- a/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.component.test.tsx.snap +++ b/packages/shared-ux/card/no_data/impl/src/__snapshots__/no_data_card.component.test.tsx.snap @@ -11,9 +11,7 @@ exports[`NoDataCardComponent props button 1`] = ` description="Use Elastic Agent for a simple, unified way to collect data from your machines." footer={ Button @@ -42,9 +40,7 @@ exports[`NoDataCardComponent props href 1`] = ` description="Use Elastic Agent for a simple, unified way to collect data from your machines." footer={ Add Elastic Agent @@ -74,9 +70,7 @@ exports[`NoDataCardComponent renders 1`] = ` description="Use Elastic Agent for a simple, unified way to collect data from your machines." footer={ Add Elastic Agent diff --git a/packages/shared-ux/chrome/navigation/src/ui/__snapshots__/default_navigation.test.tsx.snap b/packages/shared-ux/chrome/navigation/__jest__/__snapshots__/project_navigation.test.tsx.snap similarity index 99% rename from packages/shared-ux/chrome/navigation/src/ui/__snapshots__/default_navigation.test.tsx.snap rename to packages/shared-ux/chrome/navigation/__jest__/__snapshots__/project_navigation.test.tsx.snap index b4121ace0bf7f9..65ed8b80aa8a3c 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/__snapshots__/default_navigation.test.tsx.snap +++ b/packages/shared-ux/chrome/navigation/__jest__/__snapshots__/project_navigation.test.tsx.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[` builds the full navigation tree when only custom project is provided reading the title from config or deeplink 1`] = ` +exports[`Default navigation builds the full navigation tree when only the project is provided 1`] = ` Array [ Object { "children": Array [ diff --git a/packages/shared-ux/chrome/navigation/__jest__/active_node.test.tsx b/packages/shared-ux/chrome/navigation/__jest__/active_node.test.tsx new file mode 100644 index 00000000000000..a0c35ace442e4f --- /dev/null +++ b/packages/shared-ux/chrome/navigation/__jest__/active_node.test.tsx @@ -0,0 +1,232 @@ +/* + * 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 './setup_jest_mocks'; +import React from 'react'; +import { type RenderResult, act } from '@testing-library/react'; +import { type Observable, of, BehaviorSubject } from 'rxjs'; +import type { + ChromeNavLink, + ChromeProjectNavigation, + ChromeProjectNavigationNode, +} from '@kbn/core-chrome-browser'; + +import { Navigation } from '../src/ui/components/navigation'; +import type { RootNavigationItemDefinition } from '../src/ui/types'; + +import { renderNavigation, errorHandler, TestType } from './utils'; + +describe('Active node', () => { + test('should set the active node', async () => { + const navLinks$: Observable = of([ + { + id: 'item1', + title: 'Item 1', + baseUrl: '', + url: '', + href: '', + }, + { + id: 'item2', + title: 'Item 2', + baseUrl: '', + url: '', + href: '', + }, + ]); + + let activeNodes$: BehaviorSubject; + + const getActiveNodes$ = () => { + activeNodes$ = new BehaviorSubject([ + [ + { + id: 'group1', + title: 'Group 1', + path: ['group1'], + }, + { + id: 'item1', + title: 'Item 1', + path: ['group1', 'item1'], + }, + ], + ]); + + return activeNodes$; + }; + + const runTests = async (type: TestType, { findByTestId }: RenderResult) => { + try { + expect((await findByTestId(/nav-item-group1.item1/)).dataset.testSubj).toMatch( + /nav-item-isActive/ + ); + expect((await findByTestId(/nav-item-group1.item2/)).dataset.testSubj).not.toMatch( + /nav-item-isActive/ + ); + + await act(async () => { + activeNodes$.next([ + [ + { + id: 'group1', + title: 'Group 1', + path: ['group1'], + }, + { + id: 'item2', + title: 'Item 2', + path: ['group1', 'item2'], + }, + ], + ]); + }); + + expect((await findByTestId(/nav-item-group1.item1/)).dataset.testSubj).not.toMatch( + /nav-item-isActive/ + ); + expect((await findByTestId(/nav-item-group1.item2/)).dataset.testSubj).toMatch( + /nav-item-isActive/ + ); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'group1', + children: [ + { link: 'item1', title: 'Item 1' }, + { link: 'item2', title: 'Item 2' }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + services: { navLinks$, activeNodes$: getActiveNodes$() }, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + link="item1" title="Item 1" /> + link="item2" title="Item 2" /> + + + ), + services: { navLinks$, activeNodes$: getActiveNodes$() }, + }); + + await runTests('uiComponents', renderResult); + } + }); + + test('should override the URL location to set the active node', async () => { + const navLinks$: Observable = of([ + { + id: 'item1', + title: 'Item 1', + baseUrl: '', + url: '', + href: '', + }, + ]); + + let activeNodes$: BehaviorSubject; + + const getActiveNodes$ = () => { + activeNodes$ = new BehaviorSubject([]); + + return activeNodes$; + }; + + const onProjectNavigationChange = (nav: ChromeProjectNavigation) => { + nav.navigationTree.forEach((node) => { + node.children?.forEach((child) => { + if (child.getIsActive?.({} as any)) { + activeNodes$.next([[child]]); + } + }); + }); + }; + + const runTests = async (type: TestType, { findByTestId }: RenderResult) => { + try { + expect((await findByTestId(/nav-item-group1.item1/)).dataset.testSubj).toMatch( + /nav-item-isActive/ + ); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'group1', + children: [ + { + link: 'item1', + title: 'Item 1', + getIsActive: () => { + return true; // Always active + }, + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + services: { navLinks$, activeNodes$: getActiveNodes$() }, + onProjectNavigationChange, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + link="item1" + title="Item 1" + getIsActive={() => { + return true; + }} + /> + + + ), + onProjectNavigationChange, + services: { navLinks$, activeNodes$: getActiveNodes$() }, + }); + + await runTests('uiComponents', renderResult); + } + }); +}); diff --git a/packages/shared-ux/chrome/navigation/__jest__/build_nav_tree.test.tsx b/packages/shared-ux/chrome/navigation/__jest__/build_nav_tree.test.tsx new file mode 100644 index 00000000000000..df8246df69d5ea --- /dev/null +++ b/packages/shared-ux/chrome/navigation/__jest__/build_nav_tree.test.tsx @@ -0,0 +1,763 @@ +/* + * 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 './setup_jest_mocks'; +import React from 'react'; +import { type RenderResult } from '@testing-library/react'; +import { type Observable, of } from 'rxjs'; +import type { ChromeNavLink } from '@kbn/core-chrome-browser'; + +import { navLinksMock } from '../mocks/src/navlinks'; +import { Navigation } from '../src/ui/components/navigation'; +import type { RootNavigationItemDefinition } from '../src/ui/types'; + +import { + getMockFn, + renderNavigation, + errorHandler, + type TestType, + type ProjectNavigationChangeListener, +} from './utils'; +import { getServicesMock } from '../mocks/src/jest'; + +const { cloudLinks: mockCloudLinks } = getServicesMock(); + +describe('builds navigation tree', () => { + test('render reference UI and build the navigation tree', async () => { + const onProjectNavigationChange = getMockFn(); + + const runTests = async (type: TestType, { findByTestId }: RenderResult) => { + try { + expect(await findByTestId(/nav-item-group1.item1\s/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.item2\s/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A\s/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.item1\s/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.group1A.group1A_1\s/)).toBeVisible(); + + // Click the last group to expand and show the last depth + (await findByTestId(/nav-item-group1.group1A.group1A_1\s/)).click(); + + expect(await findByTestId(/nav-item-group1.group1A.group1A_1.item1/)).toBeVisible(); + + expect(onProjectNavigationChange).toHaveBeenCalled(); + const lastCall = + onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; + const [{ navigationTree }] = lastCall; + return navigationTree; + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const renderResult = renderNavigation({ + navTreeDef: { + body: [ + { + type: 'navGroup', + id: 'group1', + defaultIsCollapsed: false, + children: [ + { + id: 'item1', + title: 'Item 1', + href: 'https://foo', + }, + { + id: 'item2', + title: 'Item 2', + href: 'https://foo', + }, + { + id: 'group1A', + title: 'Group1A', + defaultIsCollapsed: false, + children: [ + { + id: 'item1', + title: 'Group 1A Item 1', + href: 'https://foo', + }, + { + id: 'group1A_1', + title: 'Group1A_1', + children: [ + { + id: 'item1', + title: 'Group 1A_1 Item 1', + href: 'https://foo', + }, + ], + }, + ], + }, + ], + }, + ], + }, + onProjectNavigationChange, + }); + + const navigationTree = await runTests('treeDef', renderResult); + + expect(navigationTree).toMatchInlineSnapshot(` + Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://foo", + "id": "item1", + "isActive": false, + "isGroup": false, + "path": Array [ + "group1", + "item1", + ], + "sideNavStatus": "visible", + "title": "Item 1", + }, + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://foo", + "id": "item2", + "isActive": false, + "isGroup": false, + "path": Array [ + "group1", + "item2", + ], + "sideNavStatus": "visible", + "title": "Item 2", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://foo", + "id": "item1", + "isActive": false, + "isGroup": false, + "path": Array [ + "group1", + "group1A", + "item1", + ], + "sideNavStatus": "visible", + "title": "Group 1A Item 1", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://foo", + "id": "item1", + "isActive": false, + "isGroup": false, + "path": Array [ + "group1", + "group1A", + "group1A_1", + "item1", + ], + "sideNavStatus": "visible", + "title": "Group 1A_1 Item 1", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1A_1", + "isActive": false, + "isGroup": true, + "path": Array [ + "group1", + "group1A", + "group1A_1", + ], + "sideNavStatus": "visible", + "title": "Group1A_1", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1A", + "isActive": true, + "isGroup": true, + "path": Array [ + "group1", + "group1A", + ], + "sideNavStatus": "visible", + "title": "Group1A", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1", + "isActive": true, + "isGroup": true, + "path": Array [ + "group1", + ], + "sideNavStatus": "visible", + "title": "", + "type": "navGroup", + }, + ] + `); + + onProjectNavigationChange.mockReset(); + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + + + + + + + + + + ), + onProjectNavigationChange, + }); + + const navigationTree = await runTests('uiComponents', renderResult); + + expect(navigationTree).toMatchInlineSnapshot(` + Array [ + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://foo", + "id": "item1", + "isActive": false, + "isGroup": false, + "path": Array [ + "group1", + "item1", + ], + "sideNavStatus": "visible", + "title": "Item 1", + }, + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://foo", + "id": "item2", + "isActive": false, + "isGroup": false, + "path": Array [ + "group1", + "item2", + ], + "sideNavStatus": "visible", + "title": "Item 2", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://foo", + "id": "item1", + "isActive": false, + "isGroup": false, + "path": Array [ + "group1", + "group1A", + "item1", + ], + "sideNavStatus": "visible", + "title": "Group 1A Item 1", + }, + Object { + "children": Array [ + Object { + "children": undefined, + "deepLink": undefined, + "href": "https://foo", + "id": "item1", + "isActive": false, + "isGroup": false, + "path": Array [ + "group1", + "group1A", + "group1A_1", + "item1", + ], + "sideNavStatus": "visible", + "title": "Group 1A_1 Item 1", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1A_1", + "isActive": false, + "isGroup": true, + "path": Array [ + "group1", + "group1A", + "group1A_1", + ], + "sideNavStatus": "visible", + "title": "Group1A_1", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1A", + "isActive": false, + "isGroup": true, + "path": Array [ + "group1", + "group1A", + ], + "sideNavStatus": "visible", + "title": "Group1A", + }, + ], + "deepLink": undefined, + "href": undefined, + "id": "group1", + "isActive": true, + "isGroup": true, + "path": Array [ + "group1", + ], + "sideNavStatus": "visible", + "title": "", + }, + ] + `); + } + }); + + test('should read the title from deeplink, prop or React children', async () => { + const navLinks$: Observable = of([ + ...navLinksMock, + { + id: 'item1', + title: 'Title from deeplink', + baseUrl: '', + url: '', + href: '', + }, + ]); + + const onProjectNavigationChange = getMockFn(); + + const runTests = (type: TestType) => { + expect(onProjectNavigationChange).toHaveBeenCalled(); + const lastCall = + onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; + const [{ navigationTree }] = lastCall; + + const groupChildren = navigationTree[0].children?.[0].children; + + if (!groupChildren) { + throw new Error('Expected group children to be defined'); + } + + try { + expect(groupChildren[0].title).toBe('Title from deeplink'); + expect(groupChildren[1].title).toBe('Overwrite deeplink title'); + expect(groupChildren[2].title).toBe('Title in props'); // Unknown deeplink, has not been rendered + } catch (e) { + errorHandler(type)(e); + } + + return groupChildren; + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + children: [ + { + id: 'group1', + children: [ + { + id: 'item1', + link: 'item1', // Title from deeplink + }, + { + id: 'item2', + link: 'item1', // Overwrite title from deeplink + title: 'Overwrite deeplink title', + }, + { + id: 'item3', + title: 'Title in props', + }, + { + id: 'item4', + link: 'unknown', // Unknown deeplink + title: 'Should not be rendered', + }, + ], + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + services: { navLinks$ }, + onProjectNavigationChange, + }); + + const groupChildren = runTests('treeDef'); + expect(groupChildren.length).toBe(3); + expect(groupChildren[3]).toBeUndefined(); // Unknown deeplink, has not been rendered + + onProjectNavigationChange.mockReset(); + renderResult.unmount(); + } + + // -- With UI components + { + renderNavigation({ + navigationElement: ( + + + + {/* Title from deeplink */} + id="item1" link="item1" /> + id="item2" link="item1" title="Overwrite deeplink title" /> + + id="item4" link="unknown" title="Should not be rendered" /> + Title in children + + + + ), + services: { navLinks$ }, + onProjectNavigationChange, + }); + + const groupChildren = runTests('uiComponents'); + expect(groupChildren.length).toBe(4); + // "item4" has been skipped as it is an unknown deeplink and we have the next item in the list + expect(groupChildren[3].title).toBe('Title in children'); + } + }); + + test('should not render the group if it does not have children AND no href or deeplink', async () => { + const navLinks$: Observable = of([ + { + id: 'item1', + title: 'Title from deeplink', + baseUrl: '', + url: '', + href: '', + }, + ]); + const onProjectNavigationChange = getMockFn(); + + const runTests = (type: TestType, { queryByTestId }: RenderResult) => { + expect(onProjectNavigationChange).toHaveBeenCalled(); + + try { + // Check the DOM + expect(queryByTestId(/nav-group-root.group1/)).toBeNull(); + expect(queryByTestId(/nav-item-root.group2.item1/)).toBeVisible(); + + // Check the navigation tree + const lastCall = + onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; + const [navTree] = lastCall; + const [rootNode] = navTree.navigationTree; + expect(rootNode.id).toBe('root'); + expect(rootNode.children?.length).toBe(2); + expect(rootNode.children?.[0]?.id).toBe('group1'); + expect(rootNode.children?.[0]?.children).toBeUndefined(); // No children mounted and registered itself + expect(rootNode.children?.[1]?.id).toBe('group2'); + return navTree; + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + isCollapsible: false, + children: [ + { + id: 'group1', + children: [{ link: 'notRegistered' }], + }, + { + id: 'group2', + children: [{ link: 'item1' }], + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + services: { navLinks$ }, + onProjectNavigationChange, + }); + + await runTests('treeDef', renderResult); + + onProjectNavigationChange.mockReset(); + renderResult.unmount(); + } + + // -- With UI components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + link="notRegistered" /> + + + link="item1" /> + + + + ), + services: { navLinks$ }, + onProjectNavigationChange, + }); + + await runTests('uiComponents', renderResult); + } + }); + + test('should render group preset (analytics, ml...)', async () => { + const onProjectNavigationChange = getMockFn(); + + const runTests = async (type: TestType) => { + try { + expect(onProjectNavigationChange).toHaveBeenCalled(); + const lastCall = + onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; + const [navTreeGenerated] = lastCall; + + expect(navTreeGenerated).toEqual({ + navigationTree: expect.any(Array), + }); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'preset', + preset: 'analytics', + }, + { + type: 'preset', + preset: 'ml', + }, + { + type: 'preset', + preset: 'devtools', + }, + { + type: 'preset', + preset: 'management', + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + onProjectNavigationChange, + }); + + await runTests('treeDef'); + + renderResult.unmount(); + onProjectNavigationChange.mockReset(); + } + + // -- With UI Components + { + renderNavigation({ + navigationElement: ( + + + + + + + ), + onProjectNavigationChange, + }); + + await runTests('uiComponents'); + } + }); + + test('should render recently accessed items', async () => { + const recentlyAccessed$ = of([ + { label: 'This is an example', link: '/app/example/39859', id: '39850' }, + { label: 'Another example', link: '/app/example/5235', id: '5235' }, + ]); + + const runTests = async (type: TestType, { findByTestId }: RenderResult) => { + try { + expect(await findByTestId('nav-bucket-recentlyAccessed')).toBeVisible(); + expect((await findByTestId('nav-bucket-recentlyAccessed')).textContent).toBe( + 'RecentThis is an exampleAnother example' + ); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'recentlyAccessed', + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + services: { recentlyAccessed$ }, + }); + + await runTests('treeDef', renderResult); + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + + + + + ), + services: { recentlyAccessed$ }, + }); + + await runTests('uiComponents', renderResult); + } + }); + + test('should render the cloud links', async () => { + const stripLastChar = (str: string = '') => str.substring(0, str.length - 1); + + const runTests = async (type: TestType, { findByTestId }: RenderResult) => { + try { + expect(await findByTestId(/nav-item-group1.cloudLink1/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.cloudLink2/)).toBeVisible(); + expect(await findByTestId(/nav-item-group1.cloudLink3/)).toBeVisible(); + + { + const userAndRolesLink = await findByTestId(/nav-item-group1.cloudLink1/); + expect(userAndRolesLink.textContent).toBe('Mock Users & RolesExternal link'); + const href = userAndRolesLink.getAttribute('href'); + expect(href).toBe(stripLastChar(mockCloudLinks.userAndRoles?.href)); + } + + { + const performanceLink = await findByTestId(/nav-item-group1.cloudLink2/); + expect(performanceLink.textContent).toBe('Mock PerformanceExternal link'); + const href = performanceLink.getAttribute('href'); + expect(href).toBe(stripLastChar(mockCloudLinks.performance?.href)); + } + + { + const billingLink = await findByTestId(/nav-item-group1.cloudLink3/); + expect(billingLink.textContent).toBe('Mock Billing & SubscriptionsExternal link'); + const href = billingLink.getAttribute('href'); + expect(href).toBe(stripLastChar(mockCloudLinks.billingAndSub?.href)); + } + + { + const deploymentLink = await findByTestId(/nav-item-group1.cloudLink4/); + expect(deploymentLink.textContent).toBe('Mock DeploymentExternal link'); + const href = deploymentLink.getAttribute('href'); + expect(href).toBe(stripLastChar(mockCloudLinks.deployment?.href)); + } + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'group1', + defaultIsCollapsed: false, + children: [ + { id: 'cloudLink1', cloudLink: 'userAndRoles' }, + { id: 'cloudLink2', cloudLink: 'performance' }, + { id: 'cloudLink3', cloudLink: 'billingAndSub' }, + { id: 'cloudLink4', cloudLink: 'deployment' }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + }); + + await runTests('treeDef', renderResult); + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + + + + + + ), + }); + + await runTests('uiComponents', renderResult); + } + }); +}); diff --git a/packages/shared-ux/chrome/navigation/__jest__/links.test.tsx b/packages/shared-ux/chrome/navigation/__jest__/links.test.tsx new file mode 100644 index 00000000000000..56da3d4494c89a --- /dev/null +++ b/packages/shared-ux/chrome/navigation/__jest__/links.test.tsx @@ -0,0 +1,234 @@ +/* + * 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 './setup_jest_mocks'; +import React from 'react'; +import { type RenderResult } from '@testing-library/react'; +import { type Observable, of } from 'rxjs'; +import type { ChromeNavLink } from '@kbn/core-chrome-browser'; + +import { Navigation } from '../src/ui/components/navigation'; +import type { RootNavigationItemDefinition } from '../src/ui/types'; + +import { + getMockFn, + renderNavigation, + errorHandler, + TestType, + type ProjectNavigationChangeListener, +} from './utils'; + +describe('Links', () => { + test('should filter out unknown deeplinks', async () => { + const onProjectNavigationChange = getMockFn(); + const unknownLinkId = 'unknown'; + + const navLinks$: Observable = of([ + { + id: 'item1', + title: 'Title from deeplink', + baseUrl: '', + url: '', + href: '', + }, + ]); + + const runTests = async (type: TestType, { findByTestId, queryByTestId }: RenderResult) => { + try { + expect(await queryByTestId(new RegExp(`nav-item-root.group1.${unknownLinkId}`))).toBeNull(); + expect(await findByTestId(/nav-item-root.group1.item1/)).toBeVisible(); + expect(await findByTestId(/nav-item-root.group1.item1/)).toBeVisible(); + + expect(onProjectNavigationChange).toHaveBeenCalled(); + const lastCall = + onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; + const [{ navigationTree }] = lastCall; + const [root] = navigationTree; + expect(root.id).toBe('root'); + expect(root.children?.length).toBe(1); + expect(root.children?.[0].children?.length).toBe(1); + expect(root.children?.[0].children?.[0].id).toBe('item1'); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + defaultIsCollapsed: false, + children: [ + { + id: 'group1', + defaultIsCollapsed: false, + children: [ + { + link: 'item1', + }, + { + link: unknownLinkId, + }, + ], + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + onProjectNavigationChange, + services: { navLinks$ }, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + onProjectNavigationChange.mockReset(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + link="item1" /> + {/* Should be removed */} + link={unknownLinkId} title="Should NOT be there" /> + + + + ), + onProjectNavigationChange, + services: { navLinks$ }, + }); + + await runTests('uiComponents', renderResult); + } + }); + + test('should allow href for absolute links', async () => { + const onProjectNavigationChange = getMockFn(); + + const runTests = async (type: TestType, { debug }: RenderResult) => { + try { + expect(onProjectNavigationChange).toHaveBeenCalled(); + const lastCall = + onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; + const [{ navigationTree }] = lastCall; + + const [root] = navigationTree; + expect(root.children?.[0].href).toBe('https://example.com'); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + defaultIsCollapsed: false, + children: [ + { + id: 'item1', + title: 'Item 1', + href: 'https://example.com', + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + onProjectNavigationChange, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + onProjectNavigationChange.mockReset(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + + + ), + onProjectNavigationChange, + }); + + await runTests('uiComponents', renderResult); + } + }); + + test('should throw if href is not an absolute links', async () => { + // We'll mock the console.error to avoid dumping the (expected) error in the console + // source: https://github.com/jestjs/jest/pull/5267#issuecomment-356605468 + jest.spyOn(console, 'error'); + // @ts-expect-error we're mocking the console so "mockImplementation" exists + // eslint-disable-next-line no-console + console.error.mockImplementation(() => {}); + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + defaultIsCollapsed: false, + children: [ + { + id: 'item1', + title: 'Item 1', + href: '../dashboards', + }, + ], + }, + ]; + + const expectToThrow = () => { + renderNavigation({ + navTreeDef: { body: navigationBody }, + }); + }; + + expect(expectToThrow).toThrowError('href must be an absolute URL. Node id [item1].'); + } + + // -- With UI Components + { + const expectToThrow = () => { + renderNavigation({ + navigationElement: ( + + + + + + ), + }); + }; + + expect(expectToThrow).toThrowError('href must be an absolute URL. Node id [item1].'); + // @ts-expect-error we're mocking the console so "mockImplementation" exists + // eslint-disable-next-line no-console + console.error.mockRestore(); + } + }); +}); diff --git a/packages/shared-ux/chrome/navigation/__jest__/panel.test.tsx b/packages/shared-ux/chrome/navigation/__jest__/panel.test.tsx new file mode 100644 index 00000000000000..40641eb31d2d24 --- /dev/null +++ b/packages/shared-ux/chrome/navigation/__jest__/panel.test.tsx @@ -0,0 +1,546 @@ +/* + * 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 './setup_jest_mocks'; +import React from 'react'; +import { type RenderResult } from '@testing-library/react'; +import { BehaviorSubject } from 'rxjs'; +import type { ChromeProjectNavigationNode } from '@kbn/core-chrome-browser'; + +import { Navigation } from '../src/ui/components/navigation'; +import type { RootNavigationItemDefinition } from '../src/ui/types'; + +import { + renderNavigation, + errorHandler, + TestType, + getMockFn, + ProjectNavigationChangeListener, +} from './utils'; +import { PanelContentProvider } from '../src/ui'; + +describe('Panel', () => { + test('should render group as panel opener', async () => { + const onProjectNavigationChange = getMockFn(); + + const runTests = async (type: TestType, { findByTestId, queryByTestId }: RenderResult) => { + try { + expect(await findByTestId(/panelOpener-root.group1/)).toBeVisible(); + expect(queryByTestId(/sideNavPanel/)).toBeNull(); + (await findByTestId(/panelOpener-root.group1/)).click(); // open the panel + expect(queryByTestId(/sideNavPanel/)).toBeVisible(); + + expect(onProjectNavigationChange).toHaveBeenCalled(); + const lastCall = + onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; + const [{ navigationTree }] = lastCall; + + const [root] = navigationTree; + expect(root.id).toBe('root'); + expect(root.children?.[0]).toMatchObject({ + id: 'group1', + renderAs: 'panelOpener', + children: [ + { + id: 'management', + title: 'Deeplink management', + }, + ], + }); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: RootNavigationItemDefinition[] = [ + { + type: 'navGroup', + id: 'root', + isCollapsible: false, + children: [ + { + id: 'group1', + link: 'dashboards', + renderAs: 'panelOpener', + children: [{ link: 'management' }], + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + onProjectNavigationChange, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + + + + + ), + onProjectNavigationChange, + }); + await runTests('uiComponents', renderResult); + } + }); + + test('should not render group if all children are hidden', async () => { + const onProjectNavigationChange = getMockFn(); + + const runTests = async (type: TestType, { queryByTestId }: RenderResult) => { + try { + expect(queryByTestId(/panelOpener-root.group1/)).toBeNull(); + expect(queryByTestId(/panelOpener-root.group2/)).toBeNull(); + expect(queryByTestId(/panelOpener-root.group3/)).toBeVisible(); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + isCollapsible: false, + children: [ + { + id: 'group1', + link: 'dashboards', + renderAs: 'panelOpener', + children: [{ link: 'unknown' }], + }, + { + id: 'group2', + link: 'dashboards', + renderAs: 'panelOpener', + children: [{ link: 'management', sideNavStatus: 'hidden' }], + }, + { + id: 'group3', + link: 'dashboards', + renderAs: 'panelOpener', + children: [{ link: 'management' }], // sideNavStatus is "visible" by default + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + onProjectNavigationChange, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + link="unknown" /> + + + + + + + + + + ), + onProjectNavigationChange, + }); + await runTests('uiComponents', renderResult); + } + }); + + describe('custom content', () => { + test('should render custom component inside the panel', async () => { + const panelContentProvider: PanelContentProvider = (id) => { + return { + content: ({ closePanel, selectedNode, activeNodes }) => { + const [path0 = []] = activeNodes; + return ( +

+

{selectedNode.id}

+
    + {path0.map((node) => ( +
  • {node.id}
  • + ))} +
+ +
+ ); + }, + }; + }; + + const activeNodes$ = new BehaviorSubject([ + [ + { + id: 'activeGroup1', + title: 'Group 1', + path: ['activeGroup1'], + }, + { + id: 'activeItem1', + title: 'Item 1', + path: ['activeGroup1', 'activeItem1'], + }, + ], + ]); + + const runTests = async (type: TestType, { queryByTestId }: RenderResult) => { + try { + queryByTestId(/panelOpener-root.group1/)?.click(); // open the panel + + expect(queryByTestId(/customPanelContent/)).toBeVisible(); + // Test that the selected node is correclty passed + expect(queryByTestId(/customPanelSelectedNode/)?.textContent).toBe('root.group1'); + // Test that the active nodes are correclty passed + expect(queryByTestId(/customPanelActiveNodes/)?.textContent).toBe( + 'activeGroup1activeItem1' + ); + // Test that handler to close the panel is correctly passed + queryByTestId(/customPanelCloseBtn/)?.click(); // close the panel + expect(queryByTestId(/customPanelContent/)).toBeNull(); + expect(queryByTestId(/sideNavPanel/)).toBeNull(); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + isCollapsible: false, + children: [ + { + id: 'group1', + link: 'dashboards', + renderAs: 'panelOpener', + children: [{ link: 'management' }], + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + panelContentProvider, + services: { activeNodes$ }, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + + + + + ), + services: { activeNodes$ }, + }); + await runTests('uiComponents', renderResult); + } + }); + }); + + describe('auto generated content', () => { + test('should rendre block groups with title', async () => { + const runTests = async ( + type: TestType, + { queryByTestId, queryAllByTestId }: RenderResult + ) => { + try { + queryByTestId(/panelOpener-root.group1/)?.click(); // open the panel + + expect(queryByTestId(/panelGroupId-foo/)).toBeVisible(); + expect(queryByTestId(/panelGroupTitleId-foo/)?.textContent).toBe('Foo'); + + const panelNavItems = queryAllByTestId(/panelNavItem/); + expect(panelNavItems.length).toBe(2); // "item2" has been filtered out as it is hidden + expect(panelNavItems.map(({ textContent }) => textContent?.trim())).toEqual([ + 'Item 1', + 'Item 3', + ]); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + isCollapsible: false, + children: [ + { + id: 'group1', + link: 'dashboards', + renderAs: 'panelOpener', + children: [ + { + id: 'foo', + title: 'Foo', + children: [ + { id: 'item1', link: 'management', title: 'Item 1' }, + { id: 'item2', link: 'management', title: 'Item 2', sideNavStatus: 'hidden' }, + { id: 'item3', link: 'management', title: 'Item 3' }, + ], + }, + ], + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + + + + + + + + + ), + }); + await runTests('uiComponents', renderResult); + } + }); + + test('should rendre block groups without title', async () => { + const runTests = async ( + type: TestType, + { queryByTestId, queryAllByTestId }: RenderResult + ) => { + try { + queryByTestId(/panelOpener-root.group1/)?.click(); // open the panel + + expect(queryByTestId(/panelGroupTitleId-foo/)).toBeNull(); // No title rendered + + const panelNavItems = queryAllByTestId(/panelNavItem/); + expect(panelNavItems.length).toBe(2); // "item2" has been filtered out as it is hidden + expect(panelNavItems.map(({ textContent }) => textContent?.trim())).toEqual([ + 'Item 1', + 'Item 3', + ]); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + isCollapsible: false, + children: [ + { + id: 'group1', + link: 'dashboards', + renderAs: 'panelOpener', + children: [ + { + id: 'foo', + children: [ + { id: 'item1', link: 'management', title: 'Item 1' }, + { id: 'item2', link: 'management', title: 'Item 2', sideNavStatus: 'hidden' }, + { id: 'item3', link: 'management', title: 'Item 3' }, + ], + }, + ], + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + } + + // -- With UI Components + { + // const renderResult = renderNavigation({ + // navigationElement: ( + // + // + // + // + // + // + // + // + // + // + // + // ), + // }); + // await runTests('uiComponents', renderResult); + } + }); + + test('should rendre accordion groups', async () => { + const runTests = async ( + type: TestType, + { queryByTestId, queryAllByTestId, findByRole }: RenderResult + ) => { + try { + queryByTestId(/panelOpener-root.group1/)?.click(); // open the panel + + expect(queryByTestId(/panelGroupId-foo/)).toBeVisible(); + + const panelNavItems = queryAllByTestId(/panelNavItem/); + expect(panelNavItems.length).toBe(2); // "item2" has been filtered out as it is hidden + + expect(queryByTestId(/panelNavItem-id-item1/)).not.toBeVisible(); // Accordion is collapsed + expect(queryByTestId(/panelNavItem-id-item3/)).not.toBeVisible(); // Accordion is collapsed + + queryByTestId(/panelAccordionBtnId-foo/)?.click(); // Expand accordion + + expect(queryByTestId(/panelNavItem-id-item1/)).toBeVisible(); + expect(queryByTestId(/panelNavItem-id-item3/)).toBeVisible(); + } catch (e) { + errorHandler(type)(e); + } + }; + + // -- Default navigation + { + const navigationBody: Array> = [ + { + type: 'navGroup', + id: 'root', + isCollapsible: false, + children: [ + { + id: 'group1', + link: 'dashboards', + renderAs: 'panelOpener', + children: [ + { + id: 'foo', + title: 'Foo', + renderAs: 'accordion', + children: [ + { id: 'item1', link: 'management', title: 'Item 1' }, + { id: 'item2', link: 'management', title: 'Item 2', sideNavStatus: 'hidden' }, + { id: 'item3', link: 'management', title: 'Item 3' }, + ], + }, + ], + }, + ], + }, + ]; + + const renderResult = renderNavigation({ + navTreeDef: { body: navigationBody }, + }); + + await runTests('treeDef', renderResult); + + renderResult.unmount(); + } + + // -- With UI Components + { + const renderResult = renderNavigation({ + navigationElement: ( + + + + + + + + + + + + ), + }); + await runTests('uiComponents', renderResult); + } + }); + }); +}); diff --git a/packages/shared-ux/chrome/navigation/__jest__/project_navigation.test.tsx b/packages/shared-ux/chrome/navigation/__jest__/project_navigation.test.tsx new file mode 100644 index 00000000000000..7b47c466b838b9 --- /dev/null +++ b/packages/shared-ux/chrome/navigation/__jest__/project_navigation.test.tsx @@ -0,0 +1,80 @@ +/* + * 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 './setup_jest_mocks'; +import { type Observable, of } from 'rxjs'; +import type { ChromeNavLink } from '@kbn/core-chrome-browser'; + +import { navLinksMock } from '../mocks/src/navlinks'; +import type { ProjectNavigationTreeDefinition } from '../src/ui/types'; + +import { getMockFn, renderNavigation, type ProjectNavigationChangeListener } from './utils'; + +describe('Default navigation', () => { + /** + * INFO: the navigation system support providing "just" the serverless project navigation and we + * render all the rest (other sections, footer, recently accessed...) + * For now, none of the serverless project uses this feature as they all have completely different navs + */ + test('builds the full navigation tree when only the project is provided', async () => { + const onProjectNavigationChange = getMockFn(); + const navLinks$: Observable = of([ + ...navLinksMock, + { + id: 'item2', + title: 'Title from deeplink!', + baseUrl: '', + url: '', + href: '', + }, + ]); + + const projectNavigationTree: ProjectNavigationTreeDefinition = [ + { + id: 'group1', + title: 'Group 1', + children: [ + { + id: 'item1', + title: 'Item 1', + }, + { + id: 'item2', + link: 'item2', // Title from deeplink + }, + { + id: 'item3', + link: 'item2', + title: 'Deeplink title overriden', // Override title from deeplink + }, + { + link: 'disabled', + title: 'Should NOT be there', + }, + ], + }, + ]; + + renderNavigation({ + projectNavigationTree, + onProjectNavigationChange, + services: { navLinks$ }, + }); + + expect(onProjectNavigationChange).toHaveBeenCalled(); + const lastCall = + onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; + const [navTreeGenerated] = lastCall; + + expect(navTreeGenerated).toEqual({ + navigationTree: expect.any(Array), + }); + + // The project navigation tree passed + expect(navTreeGenerated.navigationTree).toMatchSnapshot(); + }); +}); diff --git a/packages/shared-ux/code_editor/impl/languages/handlebars/index.ts b/packages/shared-ux/chrome/navigation/__jest__/setup_jest_mocks.ts similarity index 54% rename from packages/shared-ux/code_editor/impl/languages/handlebars/index.ts rename to packages/shared-ux/chrome/navigation/__jest__/setup_jest_mocks.ts index 7f3e6802a515bc..9d41d7f29236a6 100644 --- a/packages/shared-ux/code_editor/impl/languages/handlebars/index.ts +++ b/packages/shared-ux/chrome/navigation/__jest__/setup_jest_mocks.ts @@ -6,7 +6,17 @@ * Side Public License, v 1. */ -import { LangModuleType } from '@kbn/monaco'; -import { languageConfiguration, lexerRules } from './language'; +import { useEffect } from 'react'; -export const Lang: LangModuleType = { ID: 'handlebars', languageConfiguration, lexerRules }; +const mockUseEffect = useEffect; + +// Replace useDebounce() with a normal useEffect() +jest.mock('react-use/lib/useDebounce', () => { + return (cb: () => void, ms: number, deps: any[]) => { + mockUseEffect(() => { + cb(); + }, deps); + }; +}); + +export {}; diff --git a/packages/shared-ux/chrome/navigation/__jest__/utils.tsx b/packages/shared-ux/chrome/navigation/__jest__/utils.tsx new file mode 100644 index 00000000000000..547f71277683bd --- /dev/null +++ b/packages/shared-ux/chrome/navigation/__jest__/utils.tsx @@ -0,0 +1,75 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import React from 'react'; +import { render, type RenderResult } from '@testing-library/react'; +import type { ChromeProjectNavigation } from '@kbn/core-chrome-browser'; + +import { EuiThemeProvider } from '@elastic/eui'; +import { getServicesMock } from '../mocks/src/jest'; +import { NavigationProvider } from '../src/services'; +import { DefaultNavigation } from '../src/ui/default_navigation'; +import type { PanelContentProvider } from '../src/ui'; +import type { NavigationTreeDefinition, ProjectNavigationTreeDefinition } from '../src/ui/types'; +import { NavigationServices } from '../types'; + +const services = getServicesMock(); + +export type ProjectNavigationChangeListener = (projectNavigation: ChromeProjectNavigation) => void; +export type TestType = 'treeDef' | 'uiComponents'; + +export const renderNavigation = ({ + navTreeDef, + projectNavigationTree, + navigationElement, + services: overrideServices = {}, + onProjectNavigationChange = () => undefined, + panelContentProvider, +}: { + navTreeDef?: NavigationTreeDefinition; + projectNavigationTree?: ProjectNavigationTreeDefinition; + navigationElement?: React.ReactElement; + services?: Partial; + onProjectNavigationChange?: ProjectNavigationChangeListener; + panelContentProvider?: PanelContentProvider; +}): RenderResult => { + const element = navigationElement ?? ( + + ); + + const renderResult = render( + + + {element} + + + ); + + return renderResult; +}; + +export const errorHandler = (type: TestType) => (e: Error) => { + const err = new Error(`Failed to run tests for ${type}.`); + err.stack = e.stack; + // eslint-disable-next-line no-console + console.error(err.message); + throw err; +}; + +type ArgsType = T extends (...args: infer A) => any ? A : never; + +export function getMockFn any>() { + return jest.fn() as jest.Mock>; +} diff --git a/packages/shared-ux/chrome/navigation/index.ts b/packages/shared-ux/chrome/navigation/index.ts index 0659fe0461664c..1d2c89f25e4d60 100644 --- a/packages/shared-ux/chrome/navigation/index.ts +++ b/packages/shared-ux/chrome/navigation/index.ts @@ -21,6 +21,7 @@ export type { RootNavigationItemDefinition, PanelComponentProps, PanelContent, + PanelContentProvider, } from './src/ui'; export type { NavigationServices } from './types'; diff --git a/packages/shared-ux/chrome/navigation/mocks/src/jest.ts b/packages/shared-ux/chrome/navigation/mocks/src/jest.ts index e1761de6be6fdf..9ae6c2b2a6952e 100644 --- a/packages/shared-ux/chrome/navigation/mocks/src/jest.ts +++ b/packages/shared-ux/chrome/navigation/mocks/src/jest.ts @@ -33,15 +33,19 @@ export const getServicesMock = ({ cloudLinks: { billingAndSub: { title: 'Mock Billing & Subscriptions', - href: 'https://cloud.elastic.co/account/billing', + href: 'https://cloud.elastic.co/account/billing/', }, performance: { title: 'Mock Performance', - href: 'https://cloud.elastic.co/deployments/123456789/performance', + href: 'https://cloud.elastic.co/deployments/123456789/performance/', }, userAndRoles: { title: 'Mock Users & Roles', - href: 'https://cloud.elastic.co/deployments/123456789/security/users', + href: 'https://cloud.elastic.co/deployments/123456789/security/users/', + }, + deployment: { + title: 'Mock Deployment', + href: 'https://cloud.elastic.co/deployments/123456789/', }, }, }; diff --git a/packages/shared-ux/chrome/navigation/src/cloud_links.tsx b/packages/shared-ux/chrome/navigation/src/cloud_links.tsx index fd1909551888bf..ce9d9e5990aaba 100644 --- a/packages/shared-ux/chrome/navigation/src/cloud_links.tsx +++ b/packages/shared-ux/chrome/navigation/src/cloud_links.tsx @@ -9,11 +9,13 @@ import { i18n } from '@kbn/i18n'; import type { CloudLinkId } from '@kbn/core-chrome-browser'; import type { CloudStart } from '@kbn/cloud-plugin/public'; +export interface CloudLink { + title: string; + href: string; +} + export type CloudLinks = { - [id in CloudLinkId]?: { - title: string; - href: string; - }; + [id in CloudLinkId]?: CloudLink; }; export const getCloudLinks = (cloud: CloudStart): CloudLinks => { diff --git a/packages/shared-ux/chrome/navigation/src/services.tsx b/packages/shared-ux/chrome/navigation/src/services.tsx index fd3f774bd72fba..f77a288160a3dc 100644 --- a/packages/shared-ux/chrome/navigation/src/services.tsx +++ b/packages/shared-ux/chrome/navigation/src/services.tsx @@ -9,15 +9,45 @@ import React, { FC, useContext, useMemo } from 'react'; import useObservable from 'react-use/lib/useObservable'; import { NavigationKibanaDependencies, NavigationServices } from '../types'; -import { CloudLinks, getCloudLinks } from './cloud_links'; +import { CloudLink, CloudLinks, getCloudLinks } from './cloud_links'; const Context = React.createContext(null); +const stripTrailingForwardSlash = (str: string) => { + return str[str.length - 1] === '/' ? str.substring(0, str.length - 1) : str; +}; + +const parseCloudURLs = (cloudLinks: CloudLinks): CloudLinks => { + const { userAndRoles, billingAndSub, deployment, performance } = cloudLinks; + + // We remove potential trailing forward slash ("/") at the end of the URL + // because it breaks future navigation in Cloud console once we navigate there. + const parseLink = (link?: CloudLink): CloudLink | undefined => { + if (!link) return undefined; + return { ...link, href: stripTrailingForwardSlash(link.href) }; + }; + + return { + ...cloudLinks, + userAndRoles: parseLink(userAndRoles), + billingAndSub: parseLink(billingAndSub), + deployment: parseLink(deployment), + performance: parseLink(performance), + }; +}; + /** * A Context Provider that provides services to the component and its dependencies. */ export const NavigationProvider: FC = ({ children, ...services }) => { - return {children}; + const servicesParsed = useMemo(() => { + return { + ...services, + cloudLinks: parseCloudURLs(services.cloudLinks), + }; + }, [services]); + + return {children}; }; /** @@ -32,7 +62,10 @@ export const NavigationKibanaProvider: FC = ({ const { basePath } = http; const { navigateToUrl } = core.application; - const cloudLinks: CloudLinks = useMemo(() => (cloud ? getCloudLinks(cloud) : {}), [cloud]); + const cloudLinks: CloudLinks = useMemo( + () => (cloud ? parseCloudURLs(getCloudLinks(cloud)) : {}), + [cloud] + ); const isSideNavCollapsed = useObservable(chrome.getIsSideNavCollapsed$(), true); const value: NavigationServices = { diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/index.ts b/packages/shared-ux/chrome/navigation/src/ui/components/index.ts index 29de9b8d21dadd..c4e66fcb72e757 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/index.ts +++ b/packages/shared-ux/chrome/navigation/src/ui/components/index.ts @@ -8,4 +8,8 @@ export { Navigation } from './navigation'; export type { Props as RecentlyAccessedProps } from './recently_accessed'; -export type { PanelContent, PanelComponentProps } from './panel'; +export type { + PanelContent, + PanelComponentProps, + ContentProvider as PanelContentProvider, +} from './panel'; diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx deleted file mode 100644 index 16a952281aec23..00000000000000 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation.test.tsx +++ /dev/null @@ -1,894 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import type { - ChromeNavLink, - ChromeProjectNavigation, - ChromeProjectNavigationNode, -} from '@kbn/core-chrome-browser'; -import { render } from '@testing-library/react'; -import React from 'react'; -import { act } from 'react-dom/test-utils'; -import { BehaviorSubject, of, type Observable } from 'rxjs'; -import { EuiThemeProvider } from '@elastic/eui'; - -import { getServicesMock } from '../../../mocks/src/jest'; -import { NavigationProvider } from '../../services'; -import { Navigation } from './navigation'; - -// There is a 100ms debounce to update project navigation tree -const SET_NAVIGATION_DELAY = 100; - -describe('', () => { - const services = getServicesMock(); - - beforeAll(() => { - jest.useFakeTimers(); - }); - - afterAll(() => { - jest.useRealTimers(); - }); - - describe('builds the navigation tree', () => { - test('render reference UI and build the navigation tree', async () => { - const onProjectNavigationChange = jest.fn(); - - const { findByTestId } = render( - - - - - - - - - - - - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(await findByTestId(/nav-item-group1.item1/)).toBeVisible(); - expect(await findByTestId(/nav-item-group1.item2/)).toBeVisible(); - expect(await findByTestId(/nav-item-group1.group1A\s/)).toBeVisible(); - expect(await findByTestId(/nav-item-group1.group1A.item1/)).toBeVisible(); - expect(await findByTestId(/nav-item-group1.group1A.group1A_1\s/)).toBeVisible(); - - // Click the last group to expand and show the last depth - (await findByTestId(/nav-item-group1.group1A.group1A_1\s/)).click(); - - expect(await findByTestId(/nav-item-group1.group1A.group1A_1.item1/)).toBeVisible(); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTree] = lastCall; - - expect(navTree.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": "https://foo", - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Item 1", - }, - Object { - "children": undefined, - "deepLink": undefined, - "href": "https://foo", - "id": "item2", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "item2", - ], - "sideNavStatus": "visible", - "title": "Item 2", - }, - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": "https://foo", - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "group1A", - "item1", - ], - "sideNavStatus": "visible", - "title": "Group 1A Item 1", - }, - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": "https://foo", - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "group1A", - "group1A_1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Group 1A_1 Item 1", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1A_1", - "isActive": true, - "isGroup": true, - "path": Array [ - "group1", - "group1A", - "group1A_1", - ], - "renderAs": "accordion", - "sideNavStatus": "visible", - "title": "Group1A_1", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1A", - "isActive": true, - "isGroup": true, - "path": Array [ - "group1", - "group1A", - ], - "renderAs": "accordion", - "sideNavStatus": "visible", - "title": "Group1A", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": true, - "isGroup": true, - "path": Array [ - "group1", - ], - "renderAs": "accordion", - "sideNavStatus": "visible", - "title": "", - }, - ] - `); - }); - - test('should read the title from props, children or deeplink', async () => { - const navLinks$: Observable = of([ - { - id: 'item1', - title: 'Title from deeplink', - baseUrl: '', - url: '', - href: '', - }, - ]); - - const onProjectNavigationChange = jest.fn(); - - render( - - - - - - {/* Title from deeplink */} - id="item1" link="item1" /> - id="item2" link="item1" title="Overwrite deeplink title" /> - - Title in children - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTree] = lastCall; - - expect(navTree.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": Object { - "baseUrl": "", - "href": "", - "id": "item1", - "title": "Title from deeplink", - "url": "", - }, - "href": undefined, - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Title from deeplink", - }, - Object { - "children": undefined, - "deepLink": Object { - "baseUrl": "", - "href": "", - "id": "item1", - "title": "Title from deeplink", - "url": "", - }, - "href": undefined, - "id": "item2", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item2", - ], - "sideNavStatus": "visible", - "title": "Overwrite deeplink title", - }, - Object { - "children": undefined, - "deepLink": undefined, - "href": undefined, - "id": "item3", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item3", - ], - "sideNavStatus": "visible", - "title": "Title in props", - }, - Object { - "children": undefined, - "deepLink": undefined, - "href": undefined, - "id": "item4", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item4", - ], - "sideNavStatus": "visible", - "title": "Title in children", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": false, - "isGroup": true, - "path": Array [ - "root", - "group1", - ], - "sideNavStatus": "visible", - "title": "", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "root", - "isActive": false, - "isGroup": true, - "path": Array [ - "root", - ], - "sideNavStatus": "visible", - "title": "", - }, - ] - `); - }); - - test('should filter out unknown deeplinks', async () => { - const navLinks$: Observable = of([ - { - id: 'item1', - title: 'Title from deeplink', - baseUrl: '', - url: '', - href: '', - }, - ]); - - const onProjectNavigationChange = jest.fn(); - - const { findByTestId } = render( - - - - - - {/* Title from deeplink */} - id="item1" link="item1" /> - {/* Should not appear */} - - id="unknownLink" - link="unknown" - title="Should NOT be there" - /> - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(await findByTestId(/nav-item-root.group1.item1/)).toBeVisible(); - expect(await findByTestId(/nav-item-root.group1.item1/)).toBeVisible(); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTree] = lastCall; - - expect(navTree.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": Object { - "baseUrl": "", - "href": "", - "id": "item1", - "title": "Title from deeplink", - "url": "", - }, - "href": undefined, - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Title from deeplink", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": true, - "isGroup": true, - "path": Array [ - "root", - "group1", - ], - "sideNavStatus": "visible", - "title": "", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "root", - "isActive": true, - "isGroup": true, - "path": Array [ - "root", - ], - "sideNavStatus": "visible", - "title": "", - }, - ] - `); - }); - - test('should not render the group if it does not have children AND no href or deeplink', async () => { - const navLinks$: Observable = of([ - { - id: 'item1', - title: 'Title from deeplink', - baseUrl: '', - url: '', - href: '', - }, - ]); - const onProjectNavigationChange = jest.fn(); - - const { queryByTestId } = render( - - - - - - id="item1" link="notRegistered" /> - - - id="item1" link="item1" /> - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(queryByTestId(/nav-group-root.group1/)).toBeNull(); - expect(queryByTestId(/nav-item-root.group2.item1/)).toBeVisible(); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTree] = lastCall; - - expect(navTree.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": true, - "isGroup": true, - "path": Array [ - "root", - "group1", - ], - "sideNavStatus": "visible", - "title": "", - }, - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": Object { - "baseUrl": "", - "href": "", - "id": "item1", - "title": "Title from deeplink", - "url": "", - }, - "href": undefined, - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group2", - "item1", - ], - "sideNavStatus": "visible", - "title": "Title from deeplink", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group2", - "isActive": true, - "isGroup": true, - "path": Array [ - "root", - "group2", - ], - "sideNavStatus": "visible", - "title": "", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "root", - "isActive": true, - "isGroup": true, - "path": Array [ - "root", - ], - "sideNavStatus": "visible", - "title": "", - }, - ] - `); - }); - - test('should render group preset (analytics, ml...)', async () => { - const onProjectNavigationChange = jest.fn(); - - render( - - - - - - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTreeGenerated] = lastCall; - - expect(navTreeGenerated).toEqual({ - navigationTree: expect.any(Array), - }); - }); - - test('should render recently accessed items', async () => { - const recentlyAccessed$ = of([ - { label: 'This is an example', link: '/app/example/39859', id: '39850' }, - { label: 'Another example', link: '/app/example/5235', id: '5235' }, - ]); - - const { findByTestId } = render( - - - - - - - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(await findByTestId('nav-bucket-recentlyAccessed')).toBeVisible(); - expect((await findByTestId('nav-bucket-recentlyAccessed')).textContent).toBe( - 'RecentThis is an exampleAnother example' - ); - }); - - test('should allow href for absolute links', async () => { - const onProjectNavigationChange = jest.fn(); - - render( - - - - - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTreeGenerated] = lastCall; - - expect(navTreeGenerated.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": "https://example.com", - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Item 1", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": false, - "isGroup": true, - "path": Array [ - "group1", - ], - "sideNavStatus": "visible", - "title": "", - }, - ] - `); - }); - - test('should throw if href is not an absolute links', async () => { - // We'll mock the console.error to avoid dumping the (expected) error in the console - // source: https://github.com/jestjs/jest/pull/5267#issuecomment-356605468 - jest.spyOn(console, 'error'); - // @ts-expect-error we're mocking the console so "mockImplementation" exists - // eslint-disable-next-line no-console - console.error.mockImplementation(() => {}); - - const onProjectNavigationChange = jest.fn(); - - const expectToThrow = () => { - render( - - - - - - - - - - ); - }; - - expect(expectToThrow).toThrowError('href must be an absolute URL. Node id [item1].'); - // @ts-expect-error we're mocking the console so "mockImplementation" exists - // eslint-disable-next-line no-console - console.error.mockRestore(); - }); - - test('should set the active node', async () => { - const navLinks$: Observable = of([ - { - id: 'item1', - title: 'Item 1', - baseUrl: '', - url: '', - href: '', - }, - { - id: 'item2', - title: 'Item 2', - baseUrl: '', - url: '', - href: '', - }, - ]); - - const activeNodes$ = new BehaviorSubject([ - [ - { - id: 'group1', - title: 'Group 1', - path: ['group1'], - }, - { - id: 'item1', - title: 'Item 1', - path: ['group1', 'item1'], - }, - ], - ]); - - const getActiveNodes$ = () => activeNodes$; - - const { findByTestId } = render( - - - - - link="item1" title="Item 1" /> - link="item2" title="Item 2" /> - - - - - ); - - expect((await findByTestId(/nav-item-group1.item1/)).dataset.testSubj).toMatch( - /nav-item-isActive/ - ); - expect((await findByTestId(/nav-item-group1.item2/)).dataset.testSubj).not.toMatch( - /nav-item-isActive/ - ); - - await act(async () => { - activeNodes$.next([ - [ - { - id: 'group1', - title: 'Group 1', - path: ['group1'], - }, - { - id: 'item2', - title: 'Item 2', - path: ['group1', 'item2'], - }, - ], - ]); - }); - - expect((await findByTestId(/nav-item-group1.item1/)).dataset.testSubj).not.toMatch( - /nav-item-isActive/ - ); - expect((await findByTestId(/nav-item-group1.item2/)).dataset.testSubj).toMatch( - /nav-item-isActive/ - ); - }); - - test('should override the history behaviour to set the active node', async () => { - const navLinks$: Observable = of([ - { - id: 'item1', - title: 'Item 1', - baseUrl: '', - url: '', - href: '', - }, - ]); - - const activeNodes$ = new BehaviorSubject([]); - const getActiveNodes$ = () => activeNodes$; - - const onProjectNavigationChange = (nav: ChromeProjectNavigation) => { - nav.navigationTree.forEach((node) => { - if (node.children) { - node.children.forEach((child) => { - if (child.getIsActive?.('mockLocation' as any)) { - activeNodes$.next([[child]]); - } - }); - } - }); - }; - - const { findByTestId } = render( - - - - - - link="item1" - title="Item 1" - getIsActive={() => { - return true; - }} - /> - - - - - ); - - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - - expect((await findByTestId(/nav-item-group1.item1/)).dataset.testSubj).toMatch( - /nav-item-isActive/ - ); - }); - }); - - describe('cloud links', () => { - test('render the cloud link', async () => { - const onProjectNavigationChange = jest.fn(); - - const { findByTestId } = render( - - - - - - - - - - - - ); - - expect(await findByTestId(/nav-item-group1.cloudLink1/)).toBeVisible(); - expect(await findByTestId(/nav-item-group1.cloudLink2/)).toBeVisible(); - expect(await findByTestId(/nav-item-group1.cloudLink3/)).toBeVisible(); - - expect((await findByTestId(/nav-item-group1.cloudLink1/)).textContent).toBe( - 'Mock Users & RolesExternal link' - ); - expect((await findByTestId(/nav-item-group1.cloudLink2/)).textContent).toBe( - 'Mock PerformanceExternal link' - ); - expect((await findByTestId(/nav-item-group1.cloudLink3/)).textContent).toBe( - 'Mock Billing & SubscriptionsExternal link' - ); - }); - }); -}); diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation.tsx index 83dc748047a93e..8f74abee6a1109 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation.tsx @@ -93,8 +93,8 @@ export function Navigation({ }); }, []); - const register = useCallback( - (navNode: ChromeProjectNavigationNode) => { + const register = useCallback( + (navNode) => { if (orderChildrenRef.current[navNode.id] === undefined) { orderChildrenRef.current[navNode.id] = idx.current++; } diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_item.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_item.tsx index 87564319d518c3..dae8cef6f4eee9 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_item.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_item.tsx @@ -9,6 +9,7 @@ import React, { Fragment, useEffect, useMemo } from 'react'; import type { AppDeepLinkId, ChromeProjectNavigationNode } from '@kbn/core-chrome-browser'; import { EuiCollapsibleNavItem } from '@elastic/eui'; +import classNames from 'classnames'; import { useNavigation as useNavigationServices } from '../../services'; import { useInitNavNode } from '../hooks'; @@ -74,6 +75,10 @@ function NavigationItemComp< if (isRootLevel) { const href = getNavigationNodeHref(navNode); + const dataTestSubj = classNames(`nav-item`, { + [`nav-item-deepLinkId-${navNode.deepLink?.id}`]: !!navNode.deepLink, + [`nav-item-isActive`]: navNode.isActive, + }); return ( { diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx index 8fc2a2adf800a0..d91c59d6988eff 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/navigation_section_ui.tsx @@ -60,6 +60,15 @@ const getRenderAs = (navNode: ChromeProjectNavigationNode): RenderAs => { return 'block'; }; +const getTestSubj = (navNode: ChromeProjectNavigationNode, isActive = false): string => { + const { id, deepLink } = navNode; + return classnames(`nav-item`, `nav-item-${id}`, { + [`nav-item-deepLinkId-${deepLink?.id}`]: !!deepLink, + [`nav-item-id-${id}`]: id, + [`nav-item-isActive`]: isActive, + }); +}; + const filterChildren = ( children?: ChromeProjectNavigationNode[] ): ChromeProjectNavigationNode[] | undefined => { @@ -94,15 +103,18 @@ const isEuiCollapsibleNavItemProps = ( }; const renderBlockTitle: ( - { title }: ChromeProjectNavigationNode, + navNode: ChromeProjectNavigationNode, { spaceBefore }: { spaceBefore: EuiThemeSize | null } ) => Required['renderItem'] = - ({ title }, { spaceBefore }) => - () => - ( + (navNode, { spaceBefore }) => + () => { + const { title } = navNode; + const dataTestSubj = getTestSubj(navNode); + return ( { return { marginTop: spaceBefore ? euiTheme.size[spaceBefore] : undefined, @@ -114,6 +126,7 @@ const renderBlockTitle: (
{title}
); + }; const renderGroup = ( navGroup: ChromeProjectNavigationNode, @@ -165,27 +178,14 @@ const nodeToEuiCollapsibleNavProps = ( } => { const { navNode, isItem, hasChildren, hasLink } = serializeNavNode(_navNode); - const { - id, - title, - href, - icon, - renderAs, - isActive, - deepLink, - spaceBefore: _spaceBefore, - } = navNode; + const { id, title, href, icon, renderAs, isActive, spaceBefore: _spaceBefore } = navNode; const isExternal = Boolean(href) && isAbsoluteLink(href!); const isAccordion = hasChildren && !isItem; const isAccordionExpanded = (itemsState[id]?.isCollapsed ?? DEFAULT_IS_COLLAPSED) === false; const isSelected = isAccordion && isAccordionExpanded ? false : isActive; - const dataTestSubj = classnames(`nav-item`, `nav-item-${id}`, { - [`nav-item-deepLinkId-${deepLink?.id}`]: !!deepLink, - [`nav-item-id-${id}`]: id, - [`nav-item-isActive`]: isSelected, - }); + const dataTestSubj = getTestSubj(navNode, isSelected); let spaceBefore = _spaceBefore; if (spaceBefore === undefined && treeDepth === 1 && hasChildren) { @@ -291,6 +291,18 @@ const nodeToEuiCollapsibleNavProps = ( return { items, isVisible }; }; +// Temporary solution to prevent showing the outline when the page load when the +// accordion is auto-expanded if one of its children is active +// Once https://github.com/elastic/eui/pull/7314 is released in Kibana we can +// safely remove this CSS class. +const className = css` + .euiAccordion__childWrapper, + .euiAccordion__children, + .euiCollapsibleNavAccordion__children { + outline: none; + } +`; + interface AccordionItemsState { [navNodeId: string]: { isCollapsible: boolean; @@ -453,15 +465,7 @@ export const NavigationSectionUI: FC = ({ navNode }) => { return ( diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/panel/panel_group.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/panel/panel_group.tsx index d3f39f291f25d9..56c27124a4a061 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/panel/panel_group.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/panel/panel_group.tsx @@ -69,6 +69,7 @@ export const PanelGroup: FC = ({ navNode, isFirstInList, hasHorizontalRul const removePaddingTop = !hasTitle && !isFirstInList; const someChildIsGroup = filteredChildren?.some((child) => !!child.children); const firstChildIsGroup = !!filteredChildren?.[0]?.children; + const groupTestSubj = `panelGroup panelGroupId-${navNode.id}`; let spaceBefore = _spaceBefore; if (spaceBefore === undefined) { @@ -106,6 +107,10 @@ export const PanelGroup: FC = ({ navNode, isFirstInList, hasHorizontalRul buttonContent={title} className={classNames.accordion} buttonClassName={accordionButtonClassName} + data-test-subj={groupTestSubj} + buttonProps={{ + 'data-test-subj': `panelAccordionBtnId-${navNode.id}`, + }} > <> {!firstChildIsGroup && } @@ -118,10 +123,14 @@ export const PanelGroup: FC = ({ navNode, isFirstInList, hasHorizontalRul } return ( - <> +
{spaceBefore !== null && } {hasTitle && ( - +

{title}

)} @@ -139,6 +148,6 @@ export const PanelGroup: FC = ({ navNode, isFirstInList, hasHorizontalRul {renderChildren()} {appendHorizontalRule && } - +
); }; diff --git a/packages/shared-ux/chrome/navigation/src/ui/components/panel/panel_nav_item.tsx b/packages/shared-ux/chrome/navigation/src/ui/components/panel/panel_nav_item.tsx index 651408697169a2..aa87582497b07b 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/components/panel/panel_nav_item.tsx +++ b/packages/shared-ux/chrome/navigation/src/ui/components/panel/panel_nav_item.tsx @@ -42,7 +42,7 @@ export const PanelNavItem: FC = ({ item }) => { wrapText className="sideNavPanelLink" size="s" - data-test-subj={`nav-item-id-${item.id}`} + data-test-subj={`panelNavItem panelNavItem-id-${item.id}`} href={href} iconType={icon} onClick={onClick} diff --git a/packages/shared-ux/chrome/navigation/src/ui/default_navigation.test.tsx b/packages/shared-ux/chrome/navigation/src/ui/default_navigation.test.tsx deleted file mode 100644 index 9cc7d72525f924..00000000000000 --- a/packages/shared-ux/chrome/navigation/src/ui/default_navigation.test.tsx +++ /dev/null @@ -1,871 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import React from 'react'; -import { render } from '@testing-library/react'; -import { type Observable, of, BehaviorSubject } from 'rxjs'; -import type { - ChromeNavLink, - ChromeProjectNavigation, - ChromeProjectNavigationNode, -} from '@kbn/core-chrome-browser'; -import { EuiThemeProvider } from '@elastic/eui'; - -import { getServicesMock } from '../../mocks/src/jest'; -import { NavigationProvider } from '../services'; -import { DefaultNavigation } from './default_navigation'; -import type { ProjectNavigationTreeDefinition, RootNavigationItemDefinition } from './types'; -import { navLinksMock } from '../../mocks/src/navlinks'; -import { act } from 'react-dom/test-utils'; - -// There is a 100ms debounce to update project navigation tree -const SET_NAVIGATION_DELAY = 100; - -describe('', () => { - const services = getServicesMock(); - beforeAll(() => { - jest.useFakeTimers(); - }); - - afterAll(() => { - jest.useRealTimers(); - }); - - describe('builds custom navigation tree', () => { - test('render reference UI and build the navigation tree', async () => { - const onProjectNavigationChange = jest.fn(); - - const navigationBody: RootNavigationItemDefinition[] = [ - { - type: 'navGroup', - id: 'group1', - children: [ - { - id: 'item1', - title: 'Item 1', - href: 'http://foo', - }, - { - id: 'item2', - title: 'Item 2', - href: 'http://foo', - }, - { - id: 'group1A', - title: 'Group1A', - children: [ - { - id: 'item1', - title: 'Group 1A Item 1', - href: 'http://foo', - }, - { - id: 'group1A_1', - title: 'Group1A_1', - children: [ - { - id: 'item1', - title: 'Group 1A_1 Item 1', - href: 'http://foo', - }, - ], - }, - ], - }, - ], - }, - ]; - - const { findAllByTestId } = render( - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - // Click the last group to expand and show the last depth - (await findAllByTestId(/nav-item-group1.group1A.group1A_1/))[0].click(); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTreeGenerated] = lastCall; - - expect(navTreeGenerated.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": "http://foo", - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Item 1", - }, - Object { - "children": undefined, - "deepLink": undefined, - "href": "http://foo", - "id": "item2", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "item2", - ], - "sideNavStatus": "visible", - "title": "Item 2", - }, - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": "http://foo", - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "group1A", - "item1", - ], - "sideNavStatus": "visible", - "title": "Group 1A Item 1", - }, - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": "http://foo", - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "group1", - "group1A", - "group1A_1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Group 1A_1 Item 1", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1A_1", - "isActive": false, - "isGroup": true, - "path": Array [ - "group1", - "group1A", - "group1A_1", - ], - "sideNavStatus": "visible", - "title": "Group1A_1", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1A", - "isActive": false, - "isGroup": true, - "path": Array [ - "group1", - "group1A", - ], - "sideNavStatus": "visible", - "title": "Group1A", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": false, - "isGroup": true, - "path": Array [ - "group1", - ], - "sideNavStatus": "visible", - "title": "", - "type": "navGroup", - }, - ] - `); - }); - - test('should read the title from deeplink', async () => { - const navLinks$: Observable = of([ - ...navLinksMock, - { - id: 'item1', - title: 'Title from deeplink', - baseUrl: '', - url: '', - href: '', - }, - ]); - - const onProjectNavigationChange = jest.fn(); - - const navigationBody: Array> = [ - { - type: 'navGroup', - id: 'root', - children: [ - { - id: 'group1', - children: [ - { - id: 'item1', - link: 'item1', // Title from deeplink - }, - { - id: 'item2', - link: 'item1', // Overwrite title from deeplink - title: 'Overwrite deeplink title', - }, - { - id: 'item3', - link: 'unknown', // Unknown deeplink - title: 'Should not be rendered', - }, - ], - }, - ], - }, - ]; - - render( - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTreeGenerated] = lastCall; - - expect(navTreeGenerated.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": Object { - "baseUrl": "", - "href": "", - "id": "item1", - "title": "Title from deeplink", - "url": "", - }, - "href": undefined, - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Title from deeplink", - }, - Object { - "children": undefined, - "deepLink": Object { - "baseUrl": "", - "href": "", - "id": "item1", - "title": "Title from deeplink", - "url": "", - }, - "href": undefined, - "id": "item2", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item2", - ], - "sideNavStatus": "visible", - "title": "Overwrite deeplink title", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": false, - "isGroup": true, - "path": Array [ - "root", - "group1", - ], - "sideNavStatus": "visible", - "title": "", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "root", - "isActive": false, - "isGroup": true, - "path": Array [ - "root", - ], - "sideNavStatus": "visible", - "title": "", - "type": "navGroup", - }, - ] - `); - }); - - test("shouldn't render hidden deeplink", async () => { - const navLinks$: Observable = of([ - ...navLinksMock, - { - id: 'item1', - title: 'Item 1', - baseUrl: '', - url: '', - href: '', - }, - { - id: 'item', - title: 'Item 2', - hidden: true, - baseUrl: '', - url: '', - href: '', - }, - ]); - - const onProjectNavigationChange = jest.fn(); - - const navigationBody: Array> = [ - { - type: 'navGroup', - id: 'root', - children: [ - { - id: 'group1', - children: [ - { - id: 'item1', - link: 'item1', - }, - { - id: 'item2', - link: 'item2', // this should be hidden from sidenav - }, - ], - }, - ], - }, - ]; - - const { queryByTestId } = render( - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTreeGenerated] = lastCall; - - expect(navTreeGenerated.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": Object { - "baseUrl": "", - "href": "", - "id": "item1", - "title": "Item 1", - "url": "", - }, - "href": undefined, - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Item 1", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": false, - "isGroup": true, - "path": Array [ - "root", - "group1", - ], - "sideNavStatus": "visible", - "title": "", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "root", - "isActive": false, - "isGroup": true, - "path": Array [ - "root", - ], - "sideNavStatus": "visible", - "title": "", - "type": "navGroup", - }, - ] - `); - - expect(await queryByTestId(/nav-item-deepLinkId-item1/)).not.toBeNull(); - expect(await queryByTestId(/nav-item-deepLinkId-item2/)).toBeNull(); - }); - - test('should allow href for absolute links', async () => { - const onProjectNavigationChange = jest.fn(); - - const navigationBody: Array> = [ - { - type: 'navGroup', - id: 'root', - children: [ - { - id: 'group1', - children: [ - { - id: 'item1', - title: 'Absolute link', - href: 'https://example.com', - }, - ], - }, - ], - }, - ]; - - render( - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTreeGenerated] = lastCall; - - expect(navTreeGenerated.navigationTree).toMatchInlineSnapshot(` - Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": undefined, - "deepLink": undefined, - "href": "https://example.com", - "id": "item1", - "isActive": false, - "isGroup": false, - "path": Array [ - "root", - "group1", - "item1", - ], - "sideNavStatus": "visible", - "title": "Absolute link", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "group1", - "isActive": false, - "isGroup": true, - "path": Array [ - "root", - "group1", - ], - "sideNavStatus": "visible", - "title": "", - }, - ], - "deepLink": undefined, - "href": undefined, - "id": "root", - "isActive": false, - "isGroup": true, - "path": Array [ - "root", - ], - "sideNavStatus": "visible", - "title": "", - "type": "navGroup", - }, - ] - `); - }); - - test('should throw if href is not an absolute links', async () => { - // We'll mock the console.error to avoid dumping the (expected) error in the console - // source: https://github.com/jestjs/jest/pull/5267#issuecomment-356605468 - jest.spyOn(console, 'error'); - // @ts-expect-error we're mocking the console so "mockImplementation" exists - // eslint-disable-next-line no-console - console.error.mockImplementation(() => {}); - - const onProjectNavigationChange = jest.fn(); - - const navigationBody: Array> = [ - { - type: 'navGroup', - id: 'root', - children: [ - { - id: 'group1', - children: [ - { - id: 'item1', - title: 'Absolute link', - href: '../dashboards', - }, - ], - }, - ], - }, - ]; - - const expectToThrow = () => { - render( - - - - - - ); - }; - - expect(expectToThrow).toThrowError('href must be an absolute URL. Node id [item1].'); - // @ts-expect-error we're mocking the console so "mockImplementation" exists - // eslint-disable-next-line no-console - console.error.mockRestore(); - }); - - test('should render recently accessed items', async () => { - const recentlyAccessed$ = of([ - { label: 'This is an example', link: '/app/example/39859', id: '39850' }, - { label: 'Another example', link: '/app/example/5235', id: '5235' }, - ]); - - const navigationBody: RootNavigationItemDefinition[] = [ - { - type: 'recentlyAccessed', - }, - ]; - - const { findByTestId } = render( - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(await findByTestId('nav-bucket-recentlyAccessed')).toBeVisible(); - expect((await findByTestId('nav-bucket-recentlyAccessed')).textContent).toBe( - 'RecentThis is an exampleAnother example' - ); - }); - - test('should set the active node', async () => { - const navLinks$: Observable = of([ - { - id: 'item1', - title: 'Item 1', - baseUrl: '', - url: '', - href: '', - }, - { - id: 'item2', - title: 'Item 2', - baseUrl: '', - url: '', - href: '', - }, - ]); - - const navigationBody: RootNavigationItemDefinition[] = [ - { - type: 'navGroup', - id: 'group1', - children: [ - { - link: 'item1' as any, - title: 'Item 1', - }, - { - link: 'item2' as any, - title: 'Item 2', - }, - ], - }, - ]; - - const activeNodes$ = new BehaviorSubject([ - [ - { - id: 'group1', - title: 'Group 1', - path: ['group1'], - }, - { - id: 'item1', - title: 'Item 1', - path: ['group1', 'item1'], - }, - ], - ]); - - const getActiveNodes$ = () => activeNodes$; - - const { findByTestId } = render( - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect((await findByTestId(/nav-item-group1.item1/)).dataset.testSubj).toMatch( - /nav-item-isActive/ - ); - expect((await findByTestId(/nav-item-group1.item2/)).dataset.testSubj).not.toMatch( - /nav-item-isActive/ - ); - }); - - test('should override the history behaviour to set the active node', async () => { - const navLinks$: Observable = of([ - { - id: 'item1', - title: 'Item 1', - baseUrl: '', - url: '', - href: '', - }, - ]); - - const navigationBody: RootNavigationItemDefinition[] = [ - { - type: 'navGroup', - id: 'group1', - children: [ - { - link: 'item1' as any, - title: 'Item 1', - getIsActive: () => true, - }, - ], - }, - ]; - - const activeNodes$ = new BehaviorSubject([[]]); - const getActiveNodes$ = () => activeNodes$; - - const onProjectNavigationChange = (nav: ChromeProjectNavigation) => { - nav.navigationTree.forEach((node) => { - if (node.children) { - node.children.forEach((child) => { - if (child.getIsActive) { - activeNodes$.next([[child]]); - } - }); - } - }); - }; - - const { findByTestId } = render( - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect((await findByTestId(/nav-item-group1.item1/)).dataset.testSubj).toMatch( - /nav-item-isActive/ - ); - }); - }); - - describe('builds the full navigation tree when only custom project is provided', () => { - test('reading the title from config or deeplink', async () => { - const navLinks$: Observable = of([ - ...navLinksMock, - { - id: 'item2', - title: 'Title from deeplink!', - baseUrl: '', - url: '', - href: '', - }, - ]); - - const onProjectNavigationChange = jest.fn(); - - // Custom project navigation tree definition - const projectNavigationTree: ProjectNavigationTreeDefinition = [ - { - id: 'group1', - title: 'Group 1', - children: [ - { - id: 'item1', - title: 'Item 1', - }, - { - id: 'item2', - link: 'item2', // Title from deeplink - }, - { - id: 'item3', - link: 'item2', - title: 'Deeplink title overriden', // Override title from deeplink - }, - { - link: 'disabled', - title: 'Should NOT be there', - }, - ], - }, - ]; - - render( - - - - - - ); - - await act(async () => { - jest.advanceTimersByTime(SET_NAVIGATION_DELAY); - }); - - expect(onProjectNavigationChange).toHaveBeenCalled(); - const lastCall = - onProjectNavigationChange.mock.calls[onProjectNavigationChange.mock.calls.length - 1]; - const [navTreeGenerated] = lastCall; - - expect(navTreeGenerated).toEqual({ - navigationTree: expect.any(Array), - }); - - // The project navigation tree passed - expect(navTreeGenerated.navigationTree).toMatchSnapshot(); - }); - - describe('cloud links', () => { - test('render the cloud link', async () => { - const { findByTestId } = render( - - - - - - ); - - expect( - (await findByTestId(/nav-item-project_settings_project_nav.cloudLinkUserAndRoles/)) - .textContent - ).toBe('Mock Users & RolesExternal link'); - - expect( - (await findByTestId(/nav-item-project_settings_project_nav.cloudLinkBilling/)).textContent - ).toBe('Mock Billing & SubscriptionsExternal link'); - }); - }); - }); -}); diff --git a/packages/shared-ux/chrome/navigation/src/ui/hooks/use_init_navnode.ts b/packages/shared-ux/chrome/navigation/src/ui/hooks/use_init_navnode.ts index 4e24c887b1d02d..f8d56bc7852697 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/hooks/use_init_navnode.ts +++ b/packages/shared-ux/chrome/navigation/src/ui/hooks/use_init_navnode.ts @@ -120,6 +120,11 @@ function validateNodeProps< `[Chrome navigation] Error in node [${id}]. If renderAs is set to "panelOpener", a "link" must also be provided.` ); } + if (renderAs === 'item' && !link) { + throw new Error( + `[Chrome navigation] Error in node [${id}]. If renderAs is set to "item", a "link" must also be provided.` + ); + } if (appendHorizontalRule && !isGroup) { throw new Error( `[Chrome navigation] Error in node [${id}]. "appendHorizontalRule" can only be added for group with children.` @@ -279,6 +284,10 @@ export const useInitNavNode = < const registerChildNode = useCallback( (childNode) => { + if (orderChildrenRef.current[childNode.id] === undefined) { + orderChildrenRef.current[childNode.id] = idx.current++; + } + const childPath = nodePath ? [...nodePath, childNode.id] : []; setChildrenNodes((prev) => { @@ -291,10 +300,6 @@ export const useInitNavNode = < }; }); - if (orderChildrenRef.current[childNode.id] === undefined) { - orderChildrenRef.current[childNode.id] = idx.current++; - } - return { unregister: (childId: string) => { setChildrenNodes((prev) => { diff --git a/packages/shared-ux/chrome/navigation/src/ui/index.ts b/packages/shared-ux/chrome/navigation/src/ui/index.ts index 60b55fc5d200a5..2e94b144161dd6 100644 --- a/packages/shared-ux/chrome/navigation/src/ui/index.ts +++ b/packages/shared-ux/chrome/navigation/src/ui/index.ts @@ -7,7 +7,7 @@ */ export { Navigation } from './components'; -export type { PanelContent, PanelComponentProps } from './components'; +export type { PanelContent, PanelComponentProps, PanelContentProvider } from './components'; export { DefaultNavigation } from './default_navigation'; diff --git a/packages/shared-ux/chrome/serverless_projects_documentation.mdx b/packages/shared-ux/chrome/serverless_project_navigation.mdx similarity index 67% rename from packages/shared-ux/chrome/serverless_projects_documentation.mdx rename to packages/shared-ux/chrome/serverless_project_navigation.mdx index 498d2a0737f9ce..cbb049d25b60da 100644 --- a/packages/shared-ux/chrome/serverless_projects_documentation.mdx +++ b/packages/shared-ux/chrome/serverless_project_navigation.mdx @@ -48,11 +48,11 @@ In the following sections, we will explore each of these building blocks in deta > Left Side Navigation is available in shared_ux storybook under the `Chrome/Navigation` section. You can explore the components and their properties there. > `yarn storybook shared_ux` -The left side navigation is a primary way for users to navigate through different sections of the project. It consists of a tree of navigation items that can be expanded and collapsed. Apart from the navigation tree it also supports special pre-built blocks like recently accessed items. The main part of the navigation tree is project's navigation: this is fully configured and supported by the project teams (e.g. Observability). We also provide pre-configured platform sections as presets that solutions can use as part of their navigation (e.g. `ml`, `analytics`). Solutions can customize those sections to their needs. +The left side navigation is a primary way for users to navigate through different sections of the project. It consists of a tree of navigation items that can be expanded/collapsed or opened in a side panel. Apart from the navigation tree it also supports special pre-built blocks like recently accessed items. The main part of the navigation tree is project's navigation: this is fully configured and supported by the project teams (e.g. Observability). We also provide pre-configured platform sections as presets that solutions can use as part of their navigation (e.g. `ml`, `analytics`). Solutions can customize those sections to their needs. There are two approaches to building the side navigation: -1. **Navigation tree definition**: Developers provide a navigation tree definition. This approach is recommended if the use case works with the existing building blocks. +1. **Navigation tree definition**: Developers provide a navigation tree definition. ~~This approach is recommended if the use case works with the existing building blocks.~~ :warning: We are planing in deprecating this approach, use the React components instead. 2. **React components**: Alternatively, we provide a set of pre-built components that can be used to construct the left side navigation. These components include: @@ -69,6 +69,8 @@ By leveraging these components, you can create a customized left side navigation ### Navigation Tree Definition +:warning: **Soon to be deprecated** :warning: - Use the React components instead. + Use the `NavigationTreeDefinition` interface to create your left side navigation using a tree definition. This interface allows you to define the complete navigation tree, including the **body** and **footer** of the navigation. #### Example @@ -109,6 +111,19 @@ const navigationTree: NavigationTreeDefinition = { }, ], }, + { + id: 'search', + title: 'Search', + renderAs: 'accordion', // This group will be rendered as an accordion + children: [ + { + link: 'foo', + }, + { + link: 'bar', + }, + ], + }, ], }, { @@ -126,6 +141,7 @@ const navigationTree: NavigationTreeDefinition = { children: [ { id: 'settings', + renderAs: 'accordion', children: [ { link: 'management', @@ -190,25 +206,39 @@ The `RootNavigationItemDefinition` is one of: - `GroupDefinition` - `RecentlyAccessedDefinition` +- `PresetDefinition` +- `ItemDefinition` + +All those interfaces extend the `NodeDefinition` which has the following **common properties**: + +### `NodeDefinition` + +| Property | Type | Description| +| -------------------- | -------------------------| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | `Id` (extends `string`) | Optional ID of the navigation node.| +| `title` | `string` | Optional title of the navigation node. If not provided and a "link" is provided, the title will be the Deep link title.| +| `link` | `LinkId` | Optional App ID or deep link ID for the navigation node. [More about deep links](#deep-links)| +| `icon` | `string` | Optional icon for the navigation node. Note that not all navigation depths will render the icon.| +| `href` | `string` | Use `href` for absolute links only. Internal links should use "link".| +| `getIsActive` | `function` | Optional function to control the active state. This function is called whenever the location changes.| +| `sideNavStatus` | `'hidden'\|'visible'` | Optional status to indicate if the node should be hidden in the side nav (but still present in the navigation tree). | +| `breadcrumbStatus` | `'hidden'\|'visible'` | An optional flag to indicate if the breadcrumb should be hidden when this node is active. The default value is `'visible'`.| +| `spaceBefore` | `EuiThemeSize\|null` | Optional vertical space to add before this node. It defaults to `null` except for group node at **tree depth 1** where it defaults to `"m"`. | + ##### `GroupDefinition` The `GroupDefinition` interface represents a group of items in the side navigation. It extends the `NodeDefinition` interface and has the following additional properties: -| Property | Type | Description | +| Property | Type | Description| | -------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | `'navGroup'` | Indicates that this item is a navigation group. | -| `defaultIsCollapsed` | `boolean \| undefined` | Determines if the group is initially collapsed or expanded. Use `undefined` (recommended) to open the group if any of its children nodes match the current URL, `false` to always open the group, or `true` to always collapse it. | -| `preset` | `NavigationGroupPreset` | A preset value for the group, such as `'analytics'`, `'devtools'`, `'ml'`, or `'management'`. | -| `id` | `Id` | Optional ID of the navigation node. | -| `title` | `string` | Optional title of the navigation node. If not provided and a "link" is provided, the title will be the Deep link title. | -| `link` | `LinkId` | Optional App ID or deep link ID for the navigation node. [More about deep links](#deep-links) | -| `cloudLink` | `CloudLinkId` | Optional cloud link ID for the navigation node. [More about cloud links](#cloud-links) | -| `icon` | `string` | Optional icon for the navigation node. Note that not all navigation depths will render the icon. | -| `children` | `NodeDefinition[]` | Optional children of the navigation node. | -| `href` | `string` | Use `href` for absolute links only. Internal links should use "link". | -| `getIsActive` | `function` | Optional function to control the active state. This function is called whenever the location changes. | -| `breadcrumbStatus` | `'hidden'\|'visible'` | An optional flag to indicate if the breadcrumb should be hidden when this node is active. The default value is `'visible'`. | +| `type` | `'navGroup'` | Indicates that this item is a navigation group.| +| `children` | `NodeDefinition[]` | Children of the group navigation node. This is recursive, groups can contain other groups. | +| `defaultIsCollapsed` | `boolean \| undefined` | Determines if the group is initially collapsed or expanded. Use `undefined` (recommended) to open the group if any of its children nodes match the current URL, `false` to always open the group, or `true` to always collapse it.| +| `cloudLink` | `CloudLinkId` | Optional cloud link ID for the navigation node. [More about cloud links](#cloud-links)| +| `renderAs` | `'block'\|'accordion'\|'panelOpener'\|'item'`| Property to indicate how the group should be rendered.
* `'block'`: this is the default, renders the group as a block of items.
* `'accordion'`: wraps the items in an `EuiAccordion`.
* `'panelOpener'`: renders as an item with a `link` (required) + an icon button to open a panel on the right of the side nav.
* `'item'`: renders the group as an item in the side nav. This is useful when you want to declare descendant links of a node that will be displayed in the breadcrumb as such but you don't want to render any of the `children` in the side nav. | +| `appendHorizontalRule` | `boolean` | Optional flag to indicate if a horizontal rule should be rendered after the node.
Note: this property is currently only available for group nodes in the navigation **panel** opening on the right of the side nav. | +| `isCollapsible` | `boolean` | Optional flag to indicate if the accordion is collapsible (when `renderAs` is set to `'accordion'`.| ##### `RecentlyAccessedDefinition` @@ -218,6 +248,94 @@ The `GroupDefinition` interface represents a group of items in the side navigati | `recentlyAccessed$` | `Observable` | An optional observable for recently accessed items. If not provided, the recently accessed items from the Chrome service will be used. | | `defaultIsCollapsed` | `boolean` | If set to `true`, the recently accessed list will be collapsed by default. The default value is `false`. | +##### `PresetDefinition` + +The `PresetDefinition` interface represents a group of items which are prepopulated based on a preset. It extends the `GroupDefinition` interface (without `children` as those are pre-defined) and has the following additional properties: + +| Property | Type | Description| +| -------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `'preset'` | Indicates that this item is a navigation group.| +| `preset` | `NavigationGroupPreset` | A preset value for the group, such as `'analytics'`, `'devtools'`, `'ml'`, or `'management'`.| | + +##### `ItemDefinition` + +The `ItemDefinition` interface represents a top level item in the side navigation. It extends the `NodeDefinition` interface and has the following additional properties: + + +| Property | Type | Description| +| -------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `'navItem'` | Indicates that this item is a navigation item.| +| `cloudLink` | `CloudLinkId` | Optional cloud link ID for the navigation node. [More about cloud links](#cloud-links)| +| `openInNewTab` | `boolean` | Optional flag to indicate if the target page should be opened in a new Browser tab.
Note: this property is currently only used in the navigation **panel** opening on the right of the side nav.| +| `withBadge` | `boolean` | Optional flag to indicate if a badge should be rendered next to the text.
Note: this property is currently only used in the navigation **panel** opening on the right of the side nav.| +| `badgeOptions` | `{ text?: string; }` | If `withBadge` is true, this object can be used to customize the badge. | + +### Panels + +As seen in the API above, the `renderAs` property can be used to render a group as a panel opener. This is useful when you want to display a group of links in the side navigation and display its content in a panel on the right of the side navigation. +The content of the panel can be auto-generaged (based on the group's children) or manually provided. + +#### Auto-generated panels + +When the panel content is auto-generated, the group's children will be rendered in the panel. Those `children` can be items or other groups (that render as `'block' (default) or `'accordion'`). +The panel will be opened when the user clicks on the group's icon button. The panel will be closed when the user clicks on the group's icon again or when the user clicks outside of the panel. + +#### Manually provided panels + +When the panel content is manually provided, the group's `children` are used for the navigation tree definition (and the breadcrumbs) but the actual UI content rendered inside the panel is provided through JSX. + +```tsx +// 1. Define the PanelContentProvider +// ----------------------------------- +const panelContentProvider: PanelContentProvider = (id: string) => { + // The full ID of the node icon button that was clicked is provided (e.g. "root.group1.itemA") + // You can use this ID to determine which panel content to render + + if (id === 'foo1') { + // Return the JSX to render in the panel for this node. + return { + content: ({ + /** Handler to close the panel */ + closePanel, + /** ChromeNavigationNode - The node that has been clicked in the main nav */ + selectedNode, + /** ChromeProjectNavigationNode[][] - Active nodes that match the current URL location */ + activeNodes, + }) => { + return ( +
+ This is a custom component to render in the panel. + closePanel()}>Close panel +
+ ); + }, + }; + } + + if (id === 'foo2') { + // If need be you can only customize the "Title" of the panel and leave the content + // to be auto-generated. + return { + title:
Custom title
, + }; + } + + // All other nodes content ids that haven't match will be auto-generated +}; + +// 2. Pass it to the or components +// -------------------------------------------------------------------- + + + + {...} + +; + +// or using +; +``` + ### React components If you need other navigation sections in your navigation you will need to use our React components. They have the same properties as seen above except the `unstyled` prop that we will detail below. @@ -425,26 +543,96 @@ Breadcrumbs is a list of links that represent the current navigation path. Proje Project breadcrumbs are built from 3 sections: -1. **Home link:** 🏠 -2. **Platform navigation:** is automatically controlled by SharedUX services -3. **Deeper context:** is manually controlled by projects +1. **Project name** +2. **Project navigation:** automatically set based on the project's navigation tree and the currently active navigation path +3. **Deeper context:** manually set by currently active application ### Project breadcrumbs sections -#### 🏠 Home breadcrumb +#### Project name breadcrumb + +Project name breadcrumb is always displayed as the first breadcrumb. It displays the project name and opens a popup with links to manage the project and view all projects. -Home breadcrumb is always displayed as the first breadcrumb and leads to what project specifies as home page in `kibana.yml`. +#### Project navigation breadcrumbs -#### Navigation breadcrumbs +Project navigation breadcrumbs are automatically generated based on the project's navigation tree set for the [side navigation](#left-side-navigation) and the currently active navigation path. -Navigation breadcrumbs are automatically generated based on the navigation tree set for the [side navigation](#left-side-navigation) and the currently active navigation path. +> **Note** +> If you have static pages that are accessible from an app and should display breadcrumbs but shouldn't be visible in the sidenav, you can add such pages to the navigation tree with `sideNavStatus: 'hidden'`. #### Deeper context breadcrumbs -Deeper context breadcrumbs are manually controlled by projects. They are added to the breadcrumbs using the `pluginsStart.serverless.setBreadcrumbs` method. +Most of the applications are already setting the complete breadcrumb path for stateful Kibana navigation using the `chrome.setBreadcrumbs` API. It is possible to reuse the existing breadcrumbs for deeper context breadcrumbs in the serverless project navigation. For this, apps need to add a deepLinkId to the breadcrumb object. This `deepLinkId` will be used to match and merge the project navigation breadcrumbs with the deeper context breadcrumbs set in `chrome.setBreadcrumbs`. + +For example, consider the navigation tree: + +```tsx + + + + + +``` + +When on `ml:anomalyexplorer` page, the project navigation breadcrumbs will be: + +```ts +[ + { + text: 'AI Ops' + }, + { + text: 'Anomaly Explorer', + link: 'ml:anomalyexplorer', + }, +]; +``` + +The ml app sets the stateless Kibana breadcrumbs using `chrome.setBreadcrumbs`: + +```ts +chrome.setBreadcrumbs([ + { + text: 'Kibana', + }, + { + text: 'Machine Learning', + href: '/app/ml', + deepLinkId: 'ml', + }, + { + text: 'Anomaly Explorer', + link: 'ml:anomalyexplorer', + deepLinkId: 'ml:anomalyexplorer', + }, + { + text: 'Jobs' + } +]) +``` + +The resulting project breadcrumbs list will be: + +```ts +[ + {}, // project name breadcrumb + { + text: 'AI Ops' + }, + { + text: 'Anomaly Explorer', + link: 'ml:anomalyexplorer', + }, + { + text: 'Jobs' + } +] +``` + +Alternatively, the deeper context breadcrumbs can be manually set using the `serverless.setBreadcrumbs` API. ```ts -pluginsStart.serverless.setBreadcrumbs([ +serverless.setBreadcrumbs([ { text: 'Deeper Context', href: '/some/deeper/context', @@ -456,7 +644,7 @@ These breadcrumbs are removed when the active navigation path changes. ### Overriding breadcrumbs -Projects can override navigation breadcrumbs. This will override navigation breadcrumbs, but will keep the Home breadcrumb: +Apps can override navigation breadcrumbs. This will override navigation breadcrumbs keeping the root "project name" breadcrumb: ```ts pluginsStart.serverless.setBreadcrumbs([b1, b2, b3], { absolute: true }); diff --git a/packages/shared-ux/code_editor/impl/README.mdx b/packages/shared-ux/code_editor/README.mdx similarity index 100% rename from packages/shared-ux/code_editor/impl/README.mdx rename to packages/shared-ux/code_editor/README.mdx diff --git a/src/plugins/kibana_react/public/code_editor/__snapshots__/code_editor.test.tsx.snap b/packages/shared-ux/code_editor/__snapshots__/code_editor.test.tsx.snap similarity index 90% rename from src/plugins/kibana_react/public/code_editor/__snapshots__/code_editor.test.tsx.snap rename to packages/shared-ux/code_editor/__snapshots__/code_editor.test.tsx.snap index 0a3ba18656cae3..790a4f05f8c501 100644 --- a/src/plugins/kibana_react/public/code_editor/__snapshots__/code_editor.test.tsx.snap +++ b/packages/shared-ux/code_editor/__snapshots__/code_editor.test.tsx.snap @@ -3,8 +3,8 @@ exports[` hint element should be tabable 1`] = `
is rendered 1`] = `

@@ -148,7 +148,7 @@ exports[` is rendered 1`] = `

@@ -255,8 +255,28 @@ exports[` is rendered 1`] = ` >

', () => { test('should be tabable', () => { const DOMnode = getHint().getDOMNode(); - expect(getHint().find('[data-test-subj="codeEditorHint"]').exists()).toBeTruthy(); + expect(getHint().find('[data-test-subj~="codeEditorHint"]').exists()).toBeTruthy(); expect(DOMnode.getAttribute('tabindex')).toBe('0'); expect(DOMnode).toMatchSnapshot(); }); test('should be disabled when the ui monaco editor gains focus', async () => { // Initially it is visible and active - expect(getHint().find('[data-test-subj="codeEditorHint"]').exists()).toBeTruthy(); + expect(getHint().find('[data-test-subj~="codeEditorHint"]').prop('data-test-subj')).toContain( + `codeEditorHint--active` + ); getHint().simulate('keydown', { key: keys.ENTER }); - expect(getHint().find('[data-test-subj="codeEditorHint"]').exists()).toBeFalsy(); + expect(getHint().find('[data-test-subj~="codeEditorHint"]').prop('data-test-subj')).toContain( + `codeEditorHint--inactive` + ); }); test('should be enabled when hitting the ESC key', () => { @@ -152,7 +156,9 @@ describe('', () => { keyCode: monaco.KeyCode.Escape, }); - // expect((getHint().props() as any).className).not.toContain('isInactive'); + expect(getHint().find('[data-test-subj~="codeEditorHint"]').prop('data-test-subj')).toContain( + `codeEditorHint--active` + ); }); test('should detect that the suggestion menu is open and not show the hint on ESC', async () => { diff --git a/packages/shared-ux/code_editor/impl/code_editor.tsx b/packages/shared-ux/code_editor/code_editor.tsx similarity index 88% rename from packages/shared-ux/code_editor/impl/code_editor.tsx rename to packages/shared-ux/code_editor/code_editor.tsx index bceb5a352971e3..e6d54ddbff04d9 100644 --- a/packages/shared-ux/code_editor/impl/code_editor.tsx +++ b/packages/shared-ux/code_editor/code_editor.tsx @@ -25,23 +25,20 @@ import { import { monaco } from '@kbn/monaco'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; +import { css } from '@emotion/react'; import './register_languages'; import { remeasureFonts } from './remeasure_fonts'; import { PlaceholderWidget } from './placeholder_widget'; import { - codeEditorControlsStyles, - codeEditorControlsWithinFullScreenStyles, - codeEditorFullScreenStyles, - codeEditorKeyboardHintStyles, - codeEditorStyles, + styles, DARK_THEME, LIGHT_THEME, DARK_THEME_TRANSPARENT, LIGHT_THEME_TRANSPARENT, } from './editor.styles'; -export interface Props { +export interface CodeEditorProps { /** Width of editor. Defaults to 100%. */ width?: string | number; @@ -132,12 +129,12 @@ export interface Props { allowFullScreen?: boolean; } -export const CodeEditor: React.FC = ({ +export const CodeEditor: React.FC = ({ languageId, value, onChange, width, - height = '100px', + height, options, overrideEditorWillMount, editorDidMount, @@ -182,12 +179,6 @@ export const CodeEditor: React.FC = ({ const textboxMutationObserver = useRef(null); const [isHintActive, setIsHintActive] = useState(true); - const defaultStyles = codeEditorStyles(); - const hintStyles = codeEditorKeyboardHintStyles(euiTheme.levels); - - const promptClasses = useMemo(() => { - return isHintActive ? [defaultStyles, hintStyles] : [defaultStyles]; - }, [isHintActive, defaultStyles, hintStyles]); const _updateDimensions = useCallback(() => { _editor.current?.layout(); @@ -269,14 +260,12 @@ export const CodeEditor: React.FC = ({

{isReadOnly ? ( ) : ( = ({

{isReadOnly ? ( ) : ( = ({ } >

= ({ onClick={startEditing} onKeyDown={onKeyDownHint} aria-label={ariaLabel} - data-test-subj={isHintActive ? 'codeEditorHint' : 'codeEditor'} + data-test-subj={`codeEditorHint codeEditorHint--${isHintActive ? 'active' : 'inactive'}`} /> ); - }, [ - onKeyDownHint, - startEditing, - ariaLabel, - isReadOnly, - promptClasses, - defaultStyles, - isHintActive, - ]); + }, [isHintActive, isReadOnly, euiTheme, startEditing, onKeyDownHint, ariaLabel]); const _editorWillMount = useCallback( (__monaco: unknown) => { @@ -357,6 +342,7 @@ export const CodeEditor: React.FC = ({ } }); + // Register themes monaco.editor.defineTheme('euiColors', useDarkTheme ? DARK_THEME : LIGHT_THEME); monaco.editor.defineTheme( 'euiColorsTransparent', @@ -433,35 +419,46 @@ export const CodeEditor: React.FC = ({ useEffect(() => { if (placeholder && !value && _editor.current) { // Mounts editor inside constructor - _placeholderWidget.current = new PlaceholderWidget(placeholder, _editor.current); + _placeholderWidget.current = new PlaceholderWidget(placeholder, euiTheme, _editor.current); } return () => { _placeholderWidget.current?.dispose(); _placeholderWidget.current = null; }; - }, [placeholder, value]); + }, [placeholder, value, euiTheme]); const { CopyButton } = useCopy({ isCopyable, value }); - const controlStyles = useMemo(() => { - const copyableStyles = [defaultStyles, codeEditorControlsStyles(euiTheme.size, euiTheme.base)]; - return allowFullScreen || isCopyable ? copyableStyles && defaultStyles : defaultStyles; - }, [allowFullScreen, isCopyable, defaultStyles, euiTheme]); - - const theme = useMemo(() => { - // register theme for dark or light + useEffect(() => { + // Register themes when 'useDarkThem' changes monaco.editor.defineTheme('euiColors', useDarkTheme ? DARK_THEME : LIGHT_THEME); - return options?.theme ?? (transparentBackground ? 'euiColorsTransparent' : 'euiColors'); - }, [useDarkTheme, transparentBackground, options]); + monaco.editor.defineTheme( + 'euiColorsTransparent', + useDarkTheme ? DARK_THEME_TRANSPARENT : LIGHT_THEME_TRANSPARENT + ); + }, [useDarkTheme]); + + const theme = options?.theme ?? (transparentBackground ? 'euiColorsTransparent' : 'euiColors'); return ( -
+
{renderPrompt()} {allowFullScreen || isCopyable ? ( -
+
@@ -478,7 +475,6 @@ export const CodeEditor: React.FC = ({ value={value} onChange={onChange} width={isFullScreen ? '100vw' : width} - // previously defaulted to height which defaulted to 100% but this makes it unviewable height={isFullScreen ? '100vh' : height} editorWillMount={_editorWillMount} editorDidMount={_editorDidMount} @@ -539,7 +535,6 @@ const useFullScreen = ({ allowFullScreen }: { allowFullScreen?: boolean }) => { > {([fullscreenCollapse, fullscreenExpand]: string[]) => ( { ); }; - const { euiTheme } = useEuiTheme(); - const FullScreenDisplay = useMemo( () => ({ children }: { children: Array | JSX.Element }) => { @@ -561,20 +554,12 @@ const useFullScreen = ({ allowFullScreen }: { allowFullScreen?: boolean }) => { return ( -
- {children} -
+
{children}
); }, - [isFullScreen, euiTheme] + [isFullScreen] ); return { @@ -593,7 +578,7 @@ const useCopy = ({ isCopyable, value }: { isCopyable: boolean; value: string }) if (!showCopyButton) return null; return ( -
+
{(copyButton: string) => ( diff --git a/src/plugins/kibana_react/public/code_editor/editor_theme.ts b/packages/shared-ux/code_editor/editor.styles.ts similarity index 62% rename from src/plugins/kibana_react/public/code_editor/editor_theme.ts rename to packages/shared-ux/code_editor/editor.styles.ts index 70d3267338ed93..8e96ef10046299 100644 --- a/src/plugins/kibana_react/public/code_editor/editor_theme.ts +++ b/packages/shared-ux/code_editor/editor.styles.ts @@ -6,9 +6,44 @@ * Side Public License, v 1. */ +import { css } from '@emotion/react'; import { monaco } from '@kbn/monaco'; +import type { EuiThemeComputed } from '@elastic/eui'; +import { euiDarkVars as darkTheme, euiLightVars as lightTheme } from '@kbn/ui-theme'; -import { euiLightVars as lightTheme, euiDarkVars as darkTheme } from '@kbn/ui-theme'; +export const styles = { + container: css` + position: relative; + height: 100%; + `, + fullscreenContainer: css` + position: absolute; + left: 0; + top: 0; + `, + keyboardHint: (euiTheme: EuiThemeComputed) => css` + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + &:focus { + z-index: ${euiTheme.levels.mask}; + } + `, + controls: { + base: (euiTheme: EuiThemeComputed) => css` + position: absolute; + top: ${euiTheme.size.xs}; + right: ${euiTheme.size.base}; + z-index: ${euiTheme.levels.menu}; + `, + fullscreen: (euiTheme: EuiThemeComputed) => css` + top: ${euiTheme.size.l}; + right: ${euiTheme.size.l}; + `, + }, +}; // NOTE: For talk around where this theme information will ultimately live, // please see this discuss issue: https://github.com/elastic/kibana/issues/43814 @@ -27,62 +62,62 @@ export function createTheme( foreground: euiTheme.euiColorDarkestShade, background: euiTheme.euiFormBackgroundColor, }, - { token: 'invalid', foreground: euiTheme.euiColorAccent }, + { token: 'invalid', foreground: euiTheme.euiColorAccentText }, { token: 'emphasis', fontStyle: 'italic' }, { token: 'strong', fontStyle: 'bold' }, - { token: 'variable', foreground: euiTheme.euiColorPrimary }, - { token: 'variable.predefined', foreground: euiTheme.euiColorSuccess }, - { token: 'constant', foreground: euiTheme.euiColorAccent }, - { token: 'comment', foreground: euiTheme.euiColorMediumShade }, - { token: 'number', foreground: euiTheme.euiColorAccent }, - { token: 'number.hex', foreground: euiTheme.euiColorAccent }, - { token: 'regexp', foreground: euiTheme.euiColorDanger }, - { token: 'annotation', foreground: euiTheme.euiColorMediumShade }, - { token: 'type', foreground: euiTheme.euiColorVis0 }, + { token: 'variable', foreground: euiTheme.euiColorPrimaryText }, + { token: 'variable.predefined', foreground: euiTheme.euiColorSuccessText }, + { token: 'constant', foreground: euiTheme.euiColorAccentText }, + { token: 'comment', foreground: euiTheme.euiTextSubduedColor }, + { token: 'number', foreground: euiTheme.euiColorAccentText }, + { token: 'number.hex', foreground: euiTheme.euiColorAccentText }, + { token: 'regexp', foreground: euiTheme.euiColorDangerText }, + { token: 'annotation', foreground: euiTheme.euiTextSubduedColor }, + { token: 'type', foreground: euiTheme.euiColorSuccessText }, { token: 'delimiter', foreground: euiTheme.euiTextSubduedColor }, { token: 'delimiter.html', foreground: euiTheme.euiColorDarkShade }, - { token: 'delimiter.xml', foreground: euiTheme.euiColorPrimary }, + { token: 'delimiter.xml', foreground: euiTheme.euiColorPrimaryText }, - { token: 'tag', foreground: euiTheme.euiColorDanger }, - { token: 'tag.id.jade', foreground: euiTheme.euiColorPrimary }, - { token: 'tag.class.jade', foreground: euiTheme.euiColorPrimary }, - { token: 'meta.scss', foreground: euiTheme.euiColorAccent }, - { token: 'metatag', foreground: euiTheme.euiColorSuccess }, - { token: 'metatag.content.html', foreground: euiTheme.euiColorDanger }, - { token: 'metatag.html', foreground: euiTheme.euiColorMediumShade }, - { token: 'metatag.xml', foreground: euiTheme.euiColorMediumShade }, + { token: 'tag', foreground: euiTheme.euiColorDangerText }, + { token: 'tag.id.jade', foreground: euiTheme.euiColorPrimaryText }, + { token: 'tag.class.jade', foreground: euiTheme.euiColorPrimaryText }, + { token: 'meta.scss', foreground: euiTheme.euiColorAccentText }, + { token: 'metatag', foreground: euiTheme.euiColorSuccessText }, + { token: 'metatag.content.html', foreground: euiTheme.euiColorDangerText }, + { token: 'metatag.html', foreground: euiTheme.euiTextSubduedColor }, + { token: 'metatag.xml', foreground: euiTheme.euiTextSubduedColor }, { token: 'metatag.php', fontStyle: 'bold' }, - { token: 'key', foreground: euiTheme.euiColorWarning }, - { token: 'string.key.json', foreground: euiTheme.euiColorDanger }, - { token: 'string.value.json', foreground: euiTheme.euiColorPrimary }, + { token: 'key', foreground: euiTheme.euiColorWarningText }, + { token: 'string.key.json', foreground: euiTheme.euiColorDangerText }, + { token: 'string.value.json', foreground: euiTheme.euiColorPrimaryText }, - { token: 'attribute.name', foreground: euiTheme.euiColorDanger }, - { token: 'attribute.name.css', foreground: euiTheme.euiColorSuccess }, - { token: 'attribute.value', foreground: euiTheme.euiColorPrimary }, - { token: 'attribute.value.number', foreground: euiTheme.euiColorWarning }, - { token: 'attribute.value.unit', foreground: euiTheme.euiColorWarning }, - { token: 'attribute.value.html', foreground: euiTheme.euiColorPrimary }, - { token: 'attribute.value.xml', foreground: euiTheme.euiColorPrimary }, + { token: 'attribute.name', foreground: euiTheme.euiColorDangerText }, + { token: 'attribute.name.css', foreground: euiTheme.euiColorSuccessText }, + { token: 'attribute.value', foreground: euiTheme.euiColorPrimaryText }, + { token: 'attribute.value.number', foreground: euiTheme.euiColorWarningText }, + { token: 'attribute.value.unit', foreground: euiTheme.euiColorWarningText }, + { token: 'attribute.value.html', foreground: euiTheme.euiColorPrimaryText }, + { token: 'attribute.value.xml', foreground: euiTheme.euiColorPrimaryText }, - { token: 'string', foreground: euiTheme.euiColorDanger }, - { token: 'string.html', foreground: euiTheme.euiColorPrimary }, - { token: 'string.sql', foreground: euiTheme.euiColorDanger }, - { token: 'string.yaml', foreground: euiTheme.euiColorPrimary }, + { token: 'string', foreground: euiTheme.euiColorDangerText }, + { token: 'string.html', foreground: euiTheme.euiColorPrimaryText }, + { token: 'string.sql', foreground: euiTheme.euiColorDangerText }, + { token: 'string.yaml', foreground: euiTheme.euiColorPrimaryText }, - { token: 'keyword', foreground: euiTheme.euiColorPrimary }, - { token: 'keyword.json', foreground: euiTheme.euiColorPrimary }, - { token: 'keyword.flow', foreground: euiTheme.euiColorWarning }, - { token: 'keyword.flow.scss', foreground: euiTheme.euiColorPrimary }, + { token: 'keyword', foreground: euiTheme.euiColorPrimaryText }, + { token: 'keyword.json', foreground: euiTheme.euiColorPrimaryText }, + { token: 'keyword.flow', foreground: euiTheme.euiColorWarningText }, + { token: 'keyword.flow.scss', foreground: euiTheme.euiColorPrimaryText }, // Monaco editor supports strikethrough font style only starting from 0.32.0. - { token: 'keyword.deprecated', foreground: euiTheme.euiColorAccent }, + { token: 'keyword.deprecated', foreground: euiTheme.euiColorAccentText }, { token: 'operator.scss', foreground: euiTheme.euiColorDarkShade }, - { token: 'operator.sql', foreground: euiTheme.euiColorMediumShade }, - { token: 'operator.swift', foreground: euiTheme.euiColorMediumShade }, - { token: 'predefined.sql', foreground: euiTheme.euiColorMediumShade }, + { token: 'operator.sql', foreground: euiTheme.euiTextSubduedColor }, + { token: 'operator.swift', foreground: euiTheme.euiTextSubduedColor }, + { token: 'predefined.sql', foreground: euiTheme.euiTextSubduedColor }, { token: 'text', foreground: euiTheme.euiTitleColor }, { token: 'label', foreground: euiTheme.euiColorVis9 }, diff --git a/packages/shared-ux/code_editor/impl/__snapshots__/code_editor.test.tsx.snap b/packages/shared-ux/code_editor/impl/__snapshots__/code_editor.test.tsx.snap deleted file mode 100644 index b8a983ce582f2e..00000000000000 --- a/packages/shared-ux/code_editor/impl/__snapshots__/code_editor.test.tsx.snap +++ /dev/null @@ -1,396 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` hint element should be tabable 1`] = ` -
-`; - -exports[` is rendered 1`] = ` - -
- -

- - Enter - , - } - } - /> -

-

- - Esc - , - } - } - /> -

- - } - delay="regular" - display="block" - position="top" - > - - - - - - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "uuw4g3-euiToolTipAnchor-block", - "next": undefined, - "styles": "*[disabled]{pointer-events:none;};label:euiToolTipAnchor;;;display:block;label:block;;;", - "toString": [Function], - } - } - /> - -
- - - - - - -
-
-