kibana/packages
Elena Stoeva fd1a1f93f3
[serverless] Advanced Settings - Form component (#166460)
Addresses https://github.com/elastic/kibana/issues/160411

## Summary

This PR adds a package that contains a form component for the Advanced
Settings UI in serverless.
This implementation was extracted from the the `Form` component in the
`advancedSettings` plugin, excluding some functionalities:
- The form doesn't support search queries.
- The form doesn't divide the settings into categories.

### Testing

The form can be tested in the Storybook Preview from the CI build. Some
things to be tested:

- Making changes to any of the fields displays the bottom bar.
- Clicking the Cancel button clears the changes.
- Clicking the Save button triggers a `saveChanges` action with the
correct changes.
- The bottom bar correctly shows the number of unsaved settings.
- Toggling the `isSavingEnabled` control to `false` disables all fields.
- Toggling the `requirePageReload` control to `true` causes saving of
changes to any of the fields to trigger a `showReloadPagePrompt` action.

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

<!--
### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Clint Andrew Hall <clint@clintandrewhall.com>
2023-09-26 10:50:41 +01:00
..
analytics [FullStory] Add projectId to the context (#166693) 2023-09-19 03:44:00 -07:00
content-management [Dashboard] Add Readonly State For Managed Dashboards (#166204) 2023-09-21 11:04:23 -04:00
core [kbn/es serverless] invert teardown logic to always kill cluster (#166546) 2023-09-21 09:10:21 -07:00
deeplinks [Log Explorer] Add Explorer app locator (#165962) 2023-09-20 19:49:57 +02:00
default-nav [ML] Serverless compatibility fixes (#163724) 2023-09-13 12:07:55 -07:00
home Upgrade EUI to 83.0.0 (#160813) 2023-07-06 12:46:55 -07:00
kbn-ace Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-alerts-as-data-utils [RAM] Alert search strategy fields for security (#165040) 2023-08-29 13:18:28 -04:00
kbn-alerts-ui-shared [RAM] Autocomplete (#158454) 2023-08-30 19:04:14 -07:00
kbn-ambient-common-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ambient-ftr-types [codeowners] add appex-qa for ftr-related packages (#155230) 2023-05-24 08:53:09 +02:00
kbn-ambient-storybook-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ambient-ui-types Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-analytics Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-apm-config-loader [APM Tracing config] Allow per-service overrides (#166184) 2023-09-19 12:49:37 +02:00
kbn-apm-synthtrace [APM] Add elastic-api-version header to Kibana API calls (#166602) 2023-09-18 04:47:36 -07:00
kbn-apm-synthtrace-client Mobile UI crash widget (#163527) 2023-09-18 10:56:00 -07:00
kbn-apm-utils Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-axe-config Updating axe-core to latest (#144940) 2023-03-29 00:06:25 +05:30
kbn-babel-preset [Defend workflows] [On-week] Migrate osquery from styled-components to @emotion (#161179) 2023-08-02 19:18:10 +02:00
kbn-babel-register [kbn/babel-register] improve cache performance (#150261) 2023-02-06 19:50:42 -07:00
kbn-babel-transform [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-bazel-runner chore(NA): remove a small change to trigger risk-free backport (#160810) 2023-06-28 21:08:33 +01:00
kbn-cases-components [Cases] Version cases and comment domain and apis (#161954) 2023-07-26 06:09:10 -07:00
kbn-cell-actions [SecuritySolutions] Remove filter actions from Cases alerts table and fix show_top_n action (#161150) 2023-07-05 09:03:18 +02:00
kbn-chart-icons [Lens] fix inconsistent annotation icon styles (#159542) 2023-06-21 09:18:48 +02:00
kbn-check-mappings-update-cli [Metrics] metrics_data_access plugin (#164094) 2023-09-14 12:55:13 +02:00
kbn-ci-stats-core Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ci-stats-performance-metrics Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ci-stats-reporter [Ops] Upgrade to axios 1.4 (#163732) 2023-08-22 11:47:48 +02:00
kbn-ci-stats-shipper-cli [ci-stats] move shipper to a package, validate limits in on-merge job (#149474) 2023-01-25 08:20:40 -07:00
kbn-cli-dev-mode Enables preventing access to internal APIs (#156935) 2023-05-10 04:25:15 -07:00
kbn-coloring [Lens][Event annotations] Move logic into packages (#161500) 2023-07-19 09:46:57 -05:00
kbn-config [On-Week] Hot update of APM/EBT labels (#157093) 2023-08-31 14:36:20 +02:00
kbn-config-mocks [On-Week] Hot update of APM/EBT labels (#157093) 2023-08-31 14:36:20 +02:00
kbn-config-schema [ResponseOps][Alerting] Create xpack.actions.queued.max circuit breaker (#164632) 2023-09-07 06:59:01 -07:00
kbn-content-management-utils [Dashboard] Add Readonly State For Managed Dashboards (#166204) 2023-09-21 11:04:23 -04:00
kbn-crypto Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-crypto-browser Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-custom-integrations [Logs+] Enforce dataset names (#166654) 2023-09-21 16:32:25 +01:00
kbn-cypress-config Revert "Upgrade EUI to v88.3.0 (#166292)" 2023-09-18 18:37:13 -05:00
kbn-data-service [UnifiedFieldList] Convert from a plugin into a package (#158718) 2023-06-23 14:28:12 +02:00
kbn-datemath [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-dev-cli-errors Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-dev-cli-runner [Ops] ES Serverless image verification pipeline (#166054) 2023-09-25 09:49:20 -07:00
kbn-dev-proc-runner Fix typecheck foundations (#167060) 2023-09-25 16:28:56 -07:00
kbn-dev-utils [kbn/es serverless] Rename usages of ESS (#166581) 2023-09-21 10:44:45 -07:00
kbn-discover-utils [ES|QL] Enable ESQL alerts from the Discover app (#165973) 2023-09-14 10:55:09 +03:00
kbn-doc-links [Index Management] Add support for enrich policies (#164080) 2023-09-20 17:03:42 +02:00
kbn-docs-utils chore: update elastic-agent-nodejs to v4 (#165483) 2023-09-13 12:56:39 +02:00
kbn-dom-drag-drop [Discover] Redesign for the grid, panels and sidebar v1 (#165866) 2023-09-12 08:51:34 +02:00
kbn-ebt-tools Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ecs Generate kbn/ecs with ECS 8.6.1 (#151642) 2023-02-21 15:02:38 +01:00
kbn-es [Ops] ES Serverless image verification pipeline (#166054) 2023-09-25 09:49:20 -07:00
kbn-es-archiver [esArchiver] Do not perform SO migration on cleanup (#163302) 2023-09-01 12:41:20 +02:00
kbn-es-errors Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-es-query [ES|QL] Technical preview in Discover and Dashboards (#146971) 2023-09-01 12:22:00 +03:00
kbn-es-types refactor search source warnings to return a single warning for 'is_partial' results (#165512) 2023-09-14 08:55:53 -06:00
kbn-eslint-config Upgrade ESLint React plugins (#162464) 2023-07-28 10:43:53 +02:00
kbn-eslint-plugin-disable Clean up imports of ESLint types (#162436) 2023-07-25 10:09:55 +02:00
kbn-eslint-plugin-eslint Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-eslint-plugin-imports [Ops] Fix @kbn/imports/no_unused_imports rule (#164870) 2023-08-26 01:13:57 +02:00
kbn-eslint-plugin-telemetry Enable "Event Generating Elements Should Be Instrumented" ESLint rule for more O11y Apps (#165647) 2023-09-05 15:48:03 -04:00
kbn-event-annotation-common [Lens][Event annotations] Move logic into packages (#161500) 2023-07-19 09:46:57 -05:00
kbn-event-annotation-components [Event annotations] Individual annotation editing from library (#163346) 2023-09-20 10:09:17 +03:00
kbn-expandable-flyout [Security Solution] expandable flyout - prevalence details UI improvements (#164016) 2023-08-26 12:20:58 +02:00
kbn-expect [codeowners] add appex-qa for ftr-related packages (#155230) 2023-05-24 08:53:09 +02:00
kbn-failed-test-reporter-cli [Ops] Upgrade to axios 1.4 (#163732) 2023-08-22 11:47:48 +02:00
kbn-field-types Update codeowners to move AppServices packages to DataDiscovery (#149065) 2023-01-18 13:34:28 -07:00
kbn-find-used-node-modules [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-flot-charts Fix useless regex escapes (#150043) 2023-02-07 09:58:47 -07:00
kbn-ftr-common-functional-services [ftr] fix test users for serverless (#161280) 2023-07-10 10:09:07 +02:00
kbn-ftr-screenshot-filename [codeowners] add appex-qa for ftr-related packages (#155230) 2023-05-24 08:53:09 +02:00
kbn-generate Remove kibana-design from the ultimate rule for scss files. (#157493) 2023-05-12 10:01:47 -05:00
kbn-generate-console-definitions [Console] Generate autocomplete definitions from ES specification (#163301) 2023-08-15 11:30:39 +02:00
kbn-generate-csv [Lens] Quote csv values when contain separator char (#155905) 2023-04-28 15:04:30 +02:00
kbn-generate-csv-types [Reporting] Generate CSV Package (#151801) 2023-04-13 10:27:35 -07:00
kbn-get-repo-files [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-guided-onboarding [Guided onboarding] Updating search solution items. (#166953) 2023-09-25 18:02:33 +02:00
kbn-handlebars [@kbn/handlebars] Refactor types (#150520) 2023-02-14 13:37:41 +01:00
kbn-hapi-mocks [HTTP] Allow for internal requests to also specify special query param elasticInternalOrigin (#163796) 2023-08-21 11:55:33 +02:00
kbn-health-gateway-server Change the health gateway to use the status API (#160125) 2023-06-26 02:34:00 -07:00
kbn-i18n Change i18n.translate() to return string type instead of leaving it up to Typescript parser (#164464) 2023-08-22 10:42:20 -06:00
kbn-i18n-react Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-import-locator [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-import-resolver Fix @kbn/import-resolver detection of nested node_modules (#162391) 2023-07-25 10:09:05 +02:00
kbn-interpreter Fix eslint rule for restricting certain lodash imports (#151023) 2023-02-16 08:35:09 -07:00
kbn-io-ts-utils [Observability AI Assistant]: Chat & function calling (#162906) 2023-08-08 13:48:05 +02:00
kbn-jest-serializers Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-journeys [On-Week] Hot update of APM/EBT labels (#157093) 2023-08-31 14:36:20 +02:00
kbn-json-ast [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-kibana-manifest-schema implement "plugin" package type (#149370) 2023-01-30 10:47:53 -07:00
kbn-language-documentation-popover Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-lens-embeddable-utils [Infra UI] Refactor host view and asset details dashboards configuraton (#163918) 2023-08-16 09:01:48 +02:00
kbn-lint-packages-cli [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-lint-ts-projects-cli [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-logging Replace ecs package with ecs-typescript generated code (#148804) 2023-01-26 07:10:32 +01:00
kbn-logging-mocks Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-managed-vscode-config Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-managed-vscode-config-cli Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-management [serverless] Advanced Settings - Form component (#166460) 2023-09-26 10:50:41 +01:00
kbn-mapbox-gl [maps] fix Map orphans sources on layer deletion (#159067) 2023-06-06 14:34:40 -06:00
kbn-monaco [ES|QL] Update function supports and improve signatures (#166282) 2023-09-13 12:40:53 +02:00
kbn-object-versioning [CM] Onboard maps to cross-type search (#155148) 2023-04-21 07:41:08 -07:00
kbn-openapi-generator [Security Solution] Extract OpenAPI codegen to a package (#166269) 2023-09-25 10:51:40 +02:00
kbn-optimizer [Event annotations] Individual annotation editing from library (#163346) 2023-09-20 10:09:17 +03:00
kbn-optimizer-webpack-helpers Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-osquery-io-ts-types [Osquery] Substitute Event Data in place of {{parameter}} in Osquery run from Alerts (#146598) 2023-01-05 15:49:40 +01:00
kbn-peggy Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-peggy-loader Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-performance-testing-dataset-extractor [performance] use journey own ftr config to run scalability test (#152596) 2023-03-07 13:20:21 +01:00
kbn-picomatcher Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-plugin-generator Migrate from deprecated EUI components (#161548) 2023-07-13 03:22:02 -07:00
kbn-plugin-helpers [node] Enable openssl legacy provider (#163190) 2023-08-30 11:51:10 -07:00
kbn-profiling-utils [Profiling-APM] Removing Profiling dependency from APM (#166253) 2023-09-22 09:16:48 +01:00
kbn-react-field [Discover] Drag & drop for adding columns to the table (#153538) 2023-04-19 19:17:54 +02:00
kbn-repo-file-maps [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-repo-info Add build_date to kbn:api/status (#157905) 2023-05-25 10:21:47 -07:00
kbn-repo-linter Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kbn-repo-packages chore(NA): upgrade typescript into v4.7.4 (#162738) 2023-08-24 17:27:13 +01:00
kbn-repo-path [packages] prevent and remove basename collisions for js/ts code (#148835) 2023-01-12 12:29:30 -07:00
kbn-repo-source-classifier fix(NA): source classifier to indentify xml as static files (#164109) 2023-08-17 00:53:59 +01:00
kbn-repo-source-classifier-cli [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-reporting/common [Reporting] Generate CSV Package (#151801) 2023-04-13 10:27:35 -07:00
kbn-rison [Security Solution] Global query string functionality improvements (#147218) 2023-01-05 18:02:12 +01:00
kbn-rrule [RAM] Remove third party RRule library, replace with own timezone-compliant lib (#152873) 2023-07-02 17:03:45 -04:00
kbn-rule-data-utils [RAM] .es-query and .observability.rules.threshold RBAC (#166032) 2023-09-21 15:10:28 -07:00
kbn-safer-lodash-set Fix eslint rule for restricting certain lodash imports (#151023) 2023-02-16 08:35:09 -07:00
kbn-saved-objects-settings [Content Management] Remove dep from content_management -> saved_object_finder (#155013) 2023-04-17 16:25:58 +02:00
kbn-search-api-panels [Serverless Search] Serverless Getting Started UI Polish (#167118) 2023-09-25 13:11:12 -07:00
kbn-search-connectors [Search] Update connector also updates status (#165983) 2023-09-08 11:14:17 +02:00
kbn-search-response-warnings refactor search source warnings to return a single warning for 'is_partial' results (#165512) 2023-09-14 08:55:53 -06:00
kbn-securitysolution-autocomplete [Security Solution][Detection Engine] move lists to data stream (#162508) 2023-08-23 19:42:57 +01:00
kbn-securitysolution-ecs [Security Solution][Detection Alerts] Alert tagging (#157786) 2023-06-20 22:04:52 -04:00
kbn-securitysolution-es-utils [Security Solution] Initial migration of API endpoints to OpenAPI and code generation (#164482) 2023-08-25 20:01:31 +02:00
kbn-securitysolution-exception-list-components Upgrade EUI to v88.3.0 (#166676) 2023-09-20 08:03:02 -05:00
kbn-securitysolution-grouping Upgrade EUI to v88.2.0 (#165790) 2023-09-12 08:51:07 -07:00
kbn-securitysolution-hook-utils [Security Solution] Clean up CODEOWNERS and other files for the Detection Engine team (#159729) 2023-06-14 10:39:50 -07:00
kbn-securitysolution-io-ts-alerting-types [Security Solution] Clean up CODEOWNERS and other files for the Detection Engine team (#159729) 2023-06-14 10:39:50 -07:00
kbn-securitysolution-io-ts-list-types [Security Solution][Detection Engine] move lists to data stream (#162508) 2023-08-23 19:42:57 +01:00
kbn-securitysolution-io-ts-types [Security Solution] Added OpenAPI schema definitions for rules management (#162641) 2023-08-04 17:13:20 +02:00
kbn-securitysolution-io-ts-utils [Security Solution] Explicit request and response schemas for rules management endpoints (#162324) 2023-07-26 18:00:55 +02:00
kbn-securitysolution-list-api [Security Solution][Endpoint] Adapt exception list api calls to versioned router (#165658) 2023-09-07 17:35:15 +02:00
kbn-securitysolution-list-constants [Security Solution][Detection Engine] move lists to data stream (#162508) 2023-08-23 19:42:57 +01:00
kbn-securitysolution-list-hooks [Security Solution][Detection Engine] move lists to data stream (#162508) 2023-08-23 19:42:57 +01:00
kbn-securitysolution-list-utils [Security Solution][EDR Workflows] Remove the filter on Endpoint Exceptions and Event Filters creation to allow more user flexibility (#162193) 2023-08-03 12:53:17 -04:00
kbn-securitysolution-rules [Security Solution] Clean up CODEOWNERS and other files for the Detection Engine team (#159729) 2023-06-14 10:39:50 -07:00
kbn-securitysolution-t-grid Upgrade EUI to v86.0.0 (#163088) 2023-08-14 15:45:09 -05:00
kbn-securitysolution-utils [DE] - Investigation fields followup (#164133) 2023-08-29 05:41:24 -07:00
kbn-server-http-tools Enables preventing access to internal APIs (#156935) 2023-05-10 04:25:15 -07:00
kbn-server-route-repository [Observability AI Assistant]: Chat & function calling (#162906) 2023-08-08 13:48:05 +02:00
kbn-set-map [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-shared-svg Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-shared-ux-utility [codeowners] rename global experience to @elastic/appex-sharedux 2023-01-18 10:02:49 -07:00
kbn-some-dev-log Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-sort-package-json [sort-package-json] always ensure 2-space indent is used 2023-01-10 10:39:48 -07:00
kbn-spec-to-console [Console] Update dynamic parameters for the new script (#162917) 2023-08-04 06:42:41 -07:00
kbn-std [uiSettings] always use the latest config document to create the new one (#159649) 2023-06-19 00:09:27 -07:00
kbn-stdio-dev-helpers Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-storybook [serverless] Advanced Settings - Field Row components (#165286) 2023-09-11 18:47:22 -04:00
kbn-subscription-tracking [kbn] Subscription tracking (cont.) (#157392) 2023-09-18 18:27:16 +02:00
kbn-telemetry-tools chore(NA): upgrade typescript into v4.7.4 (#162738) 2023-08-24 17:27:13 +01:00
kbn-test [Ops] ES Serverless image verification pipeline (#166054) 2023-09-25 09:49:20 -07:00
kbn-test-jest-helpers [Lens] Add custom formatter within the Lens editor (#158468) 2023-06-13 13:08:07 +02:00
kbn-test-subj-selector [codeowners] add appex-qa for ftr-related packages (#155230) 2023-05-24 08:53:09 +02:00
kbn-text-based-editor [ES|QL] Hides system indices (#166909) 2023-09-25 10:38:22 -07:00
kbn-timelion-grammar Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-tinymath Remove eslint-plugin-prefer-object-spread dependency (#162439) 2023-07-25 10:04:44 +02:00
kbn-tooling-log Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ts-projects [Synthetics/Uptime] Separate e2e tests by app (#152197) 2023-06-07 17:33:56 +02:00
kbn-ts-type-check-cli Fix typecheck foundations (#167060) 2023-09-25 16:28:56 -07:00
kbn-typed-react-router-config [shared-ux-router] Add Router and Routes components (#159834) 2023-06-23 10:02:06 -05:00
kbn-ui-actions-browser [UnifiedFieldList] Convert from a plugin into a package (#158718) 2023-06-23 14:28:12 +02:00
kbn-ui-framework Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-ui-shared-deps-npm Upgrade EUI to v88.3.0 (#166676) 2023-09-20 08:03:02 -05:00
kbn-ui-shared-deps-src [Bundling] Add redux (and inner deps) to shared bundle (#166367) 2023-09-18 03:27:13 -07:00
kbn-ui-theme Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-unified-data-table [Discover] Set data table row height to auto-fit by default (#164218) 2023-09-12 13:27:08 +02:00
kbn-unified-doc-viewer [UnifiedDocViewer] Move Discover doc viewer into plugin/package (#162847) 2023-08-31 11:46:59 -07:00
kbn-unified-field-list [Discover] Redesign for the grid, panels and sidebar v1 (#165866) 2023-09-12 08:51:34 +02:00
kbn-url-state [Security Solution] Fix missing hash in sync to url (#166847) 2023-09-22 10:23:50 +02:00
kbn-use-tracked-promise [Logs+] Create an integration while on-boarding logs (#163219) 2023-08-11 17:18:55 +01:00
kbn-user-profile-components [UserProfiles] Move React hook to package (#162888) 2023-08-09 09:02:02 -07:00
kbn-utility-types [Serverless][Security Solution][Endpoint] Restrict endpoint exceptions on serverless via plugin sub-features (#164107) 2023-08-31 13:35:42 +02:00
kbn-utility-types-jest [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-utils Revert "Custom path for data directory configuration is ignored (#157… (#158325) 2023-05-23 14:22:35 -07:00
kbn-validate-next-docs-cli [validate-next-docs] declare how github urls are determined 2023-02-10 10:54:20 -06:00
kbn-visualization-ui-components [Event annotations] Individual annotation editing from library (#163346) 2023-09-20 10:09:17 +03:00
kbn-web-worker-stub Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
kbn-whereis-pkg-cli [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
kbn-xstate-utils [Logs+] Extract custom integration resources to package (#165510) 2023-09-12 20:22:25 +01:00
kbn-yarn-lock-validator [packages] migrate all plugins to packages (#148130) 2023-02-08 21:06:50 -06:00
react [regression] Handle deprecated KibanaThemeProvider uses to include KibanaRenderContextProvider (#163103) 2023-08-04 09:11:31 -07:00
serverless [Advanced settings] Add settings allowlist (#164471) 2023-09-11 21:12:53 +01:00
shared-ux [Dashboard] Focus on a single panel (#165417) 2023-09-25 15:37:30 -07:00
README.md create @kbn/ui-actions-browser package (#149202) 2023-01-19 18:28:07 +01:00

Kibana-related packages

This folder contains packages that are intended for use in Kibana and Kibana plugins.

tl;dr:

  • Don't publish to npm registry
  • Always use the @kbn namespace
  • Always set "private": true in package.json

Using these packages

We no longer publish these packages to the npm registry. Now, instead of specifying a version when including these packages, we rely on yarn workspaces, which sets up a symlink to the package.

For example if you want to use the @kbn/i18n package in Kibana itself, you can specify the dependency like this:

"@kbn/i18n": "1.0.0"

However, if you want to use this from a Kibana plugin, you need to use a link: dependency and account for the relative location of the Kibana repo, so it would instead be:

"@kbn/i18n": "link:../../kibana/packages/kbn-i18n"

then run yarn kbn bootstrap from the plugin directory.

Creating a new package

Run the following command from the root of the Kibana repo:

node scripts/generate package @kbn/<PACKAGE_NAME> --web --owner @elastic/<TEAM_NAME>

Unit tests for a package

Currently there is only one tool being used in order to test packages which is Jest. Below we will explain how it should be done.

Jest

A package should follow the pattern of having .test.js files as siblings of the source code files, and these run by Jest.

A package using the .test.js naming convention will have those tests automatically picked up by Jest and run by the unit test runner, currently mapped to the Kibana test script in the root package.json.

  • yarn test runs all unit tests.
  • yarn jest runs all Jest tests in Kibana.

In order for the plugin or package to use Jest, a jest.config.js file must be present in it's root. However, there are safeguards for this in CI should a test file be added without a corresponding config file.


Each package can also specify its own test script in the package's package.json, for cases where you'd prefer to run the tests from the local package directory.