kibana/packages
Eyo O. Eyo 22e0545d0e
Redesign the "Add Panel" Experience (#183764)
## Summary

Closes https://github.com/elastic/kibana/issues/144418

This PR introduces changes to the dashboard add panel selection
functionality, so that panel selection would now happen from within a
flyout, and as such panels are now grouped together logically.

With this implementation any panel that is intended to show up within
this new flyout is required to have either been registered leveraging
the ui action trigger `ADD_PANEL_TRIGGER` and have it's `grouping` value
defined or belong to a subset of visualization types (`PROMOTED`,
`TOOLS`, and `LEGACY`) that would automatically get grouped.

It's worth pointing out that because we can't control the order at which
UI actions gets registered, we won't always get the the panel groups in
the same order, for this specific reason ~a new optional property
(`placementPriority`) has been added in~ the property `order` is now
leveraged such that it allows a user registering a UI action define a
relative weight for where they'd like their group to show up. All
registered actions would be rendered in descending order considering all
`order` defined, in the case where no order is defined `0` is assumed
for the group. In addition an action which is registered without a
group, would automatically get assigned into a default group titled
"Other".

The search implemented within the add panel is rudimentary, checking if
the group titles and group item titles contain the input character; when
a group title is matched the entire group is remains highlighted, in the
case that the group isn't matched and it's just the group item, only
said item is highlighted within it's group.

## Visuals

#### Default view
<img width="2560" alt="Screenshot 2024-06-10 at 17 44 17"
src="90aadf82-684a-4263-aecd-2843c3eff3c1">


#### Search match view
<img width="2560" alt="Screenshot 2024-06-10 at 17 45 11"
src="5a766f29-a3b7-40e3-b1f7-8b423073cd87">


##### P.S.

This changes also includes changes to the display of certain panels;
- ML group has a new title i.e. *Machine Learning and Analytics*
- In serverless, the observability panels (SLO*) only shows as a
selection choice in the observability project type.


### Checklist

Delete any items that are not applicable to this PR.

- [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)
<!--
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
-->
- [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: Catherine Liu <catherine.liu@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-06-26 13:55:28 -07:00
..
analytics [EBT] Combine packages (#186048) 2024-06-18 14:23:16 +02:00
cloud [ConnectionDetails] add aria-labels (#184243) 2024-05-29 07:13:20 -06:00
content-management Add dashboard metadata to the info flyout (#185941) 2024-06-18 10:25:51 -07:00
core Bump @elastic/elasticsearch to 8.14.0 (reloaded) (#186848) 2024-06-26 08:29:15 -07:00
deeplinks [Search] Homepage Plugin setup (#186224) 2024-06-19 12:47:18 +02:00
default-nav Rename Management team name in codeowners file (#178626) 2024-03-18 15:46:31 +00:00
home Add explicit children types (#181257) 2024-04-29 16:56:41 +01:00
kbn-ace Rename Management team name in codeowners file (#178626) 2024-03-18 15:46:31 +00:00
kbn-actions-types [RAM][Maintenance Window] Maintenance window scoped query frontend changes (#171949) 2023-12-04 15:18:33 -08:00
kbn-alerting-types [Response Ops][Alerting] Adding severity levels to action groups and determining if alert is improving (#184163) 2024-06-26 12:42:24 -04:00
kbn-alerts-as-data-utils [Response Ops][Alerting] Adding severity levels to action groups and determining if alert is improving (#184163) 2024-06-26 12:42:24 -04:00
kbn-alerts-ui-shared [Response Ops][Rule Form V2] Move dependencies from triggers actions UI to shared package (#184977) 2024-06-12 16:16:31 -07:00
kbn-ambient-common-types
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
kbn-ambient-ui-types
kbn-analytics Browser-side analytics services: use core logger (#184520) 2024-05-31 04:11:47 -07:00
kbn-apm-config-loader fix(apm): flatten globalLabels object (#186579) 2024-06-21 01:54:48 -07:00
kbn-apm-data-view [UX/Maps] Fixing APM data view id (#179257) 2024-03-28 12:14:32 +00:00
kbn-apm-synthtrace [APM] Entity centric inventory view (#183605) 2024-06-20 22:20:33 +03:00
kbn-apm-synthtrace-client [Obs AI Assistant] Fix flaky e2e test (contextual insights for APM errors) (#184642) 2024-06-26 09:17:58 -07:00
kbn-apm-utils Update new codeowners for Obs team changes (#170182) 2023-11-08 14:30:17 +00:00
kbn-axe-config Removing component exceptions from axe-core validation config (#145059) 2023-11-28 18:29:12 -05:00
kbn-babel-preset Enable TS decorators (#178873) 2024-03-20 12:02:41 +01:00
kbn-babel-register
kbn-babel-transform
kbn-bazel-runner chore(NA): remove a small change to trigger risk-free backport (#160810) 2023-06-28 21:08:33 +01:00
kbn-bfetch-error @kbn/search-errors package (#171563) 2023-12-07 10:39:19 -07:00
kbn-calculate-auto feat(slo): add events chart (#170896) 2023-11-16 15:19:57 -05:00
kbn-calculate-width-from-char-count [Lens][Unified search] Auto expand comboboxes and popovers based on the content (#171573) 2023-11-28 13:13:43 +01:00
kbn-capture-oas-snapshot-cli [OAS] Capture and commit serverless bundle (#184915) 2024-06-10 03:48:10 -07:00
kbn-cases-components [Cases] Version cases and comment domain and apis (#161954) 2023-07-26 06:09:10 -07:00
kbn-cell-actions [Security Solution] Optimize Cell Actions extra render (#186282) 2024-06-17 16:07:43 +02:00
kbn-chart-icons [Lens] Replace expression_gauge from Goal to Bullet (#177766) 2024-03-26 08:42:13 -07:00
kbn-check-mappings-update-cli [Fleet] Allow to install Kibana assets in multiple spaces (#186620) 2024-06-26 16:12:41 -04:00
kbn-ci-stats-core
kbn-ci-stats-performance-metrics
kbn-ci-stats-reporter [Ops] Upgrade to axios 1.4 (#163732) 2023-08-22 11:47:48 +02:00
kbn-ci-stats-shipper-cli
kbn-cli-dev-mode Add http2 support for Kibana server (#183465) 2024-06-03 09:34:13 +02:00
kbn-code-owners Add script to check test file code ownership (#173411) 2023-12-18 17:41:39 +01:00
kbn-coloring Add explicit children types (#181257) 2024-04-29 16:56:41 +01:00
kbn-config Config: add support for ${VAR:default} syntax (#182139) 2024-05-01 07:55:24 +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 chore(joi): upgrade package (#186547) 2024-06-21 18:56:57 +02:00
kbn-content-management-utils Add updated_by to saved objects (#182687) 2024-05-29 08:03:11 -07:00
kbn-crypto [osquery] Setup E2E against Serverless ES, Kibana, Fleet server standalone and Elastic agents in Docker (#165415) 2023-09-29 03:33:06 -07:00
kbn-crypto-browser flag packages without side effects (#173351) 2023-12-19 02:46:39 -07:00
kbn-custom-icons [Logs Explorer] Add resource column with tooltip (#175287) 2024-01-26 02:36:36 -07:00
kbn-custom-integrations flag packages without side effects (#173351) 2023-12-19 02:46:39 -07:00
kbn-cypress-config Revert "Upgrade EUI to v88.3.0 (#166292)" 2023-09-18 18:37:13 -05:00
kbn-data-service [Discover] Make _index and _id optional in EsHitRecord to support ES|QL records (#184975) 2024-06-11 15:30:33 -03:00
kbn-data-stream-adapter Bump @elastic/elasticsearch to 8.14.0 (reloaded) (#186848) 2024-06-26 08:29:15 -07:00
kbn-data-view-utils [Discover] Add logs source and document contexts (#184601) 2024-06-18 12:18:07 +02:00
kbn-datemath
kbn-dev-cli-errors
kbn-dev-cli-runner [Ops] Snapshot saved object migrations (#167983) 2023-10-11 09:47:15 +02:00
kbn-dev-proc-runner Use rxjs instead of rxjs/operators (#179553) 2024-04-02 11:41:33 -07:00
kbn-dev-utils [OAS] Capture and commit serverless bundle (#184915) 2024-06-10 03:48:10 -07:00
kbn-discover-utils [Discover] Add logs source and document contexts (#184601) 2024-06-18 12:18:07 +02:00
kbn-doc-links [Reporting/Docs] Organize troubleshooting page and add CSV content (#182202) 2024-06-24 14:53:57 -07:00
kbn-docs-utils [dx] Dependency check script for plugins (#171483) 2024-01-17 17:19:41 -05:00
kbn-dom-drag-drop Add explicit children types (#181257) 2024-04-29 16:56:41 +01:00
kbn-ebt-tools [EBT] Combine packages (#186048) 2024-06-18 14:23:16 +02:00
kbn-elastic-agent-utils fix otel service detection (#180574) 2024-04-22 04:39:47 -07:00
kbn-es [Security Solution] [Detections] adds view_index_metadata to threat intelligence analyst and endpoint operations manager roles (#184547) 2024-06-04 07:26:25 -07:00
kbn-es-archiver [ES Archiver][Load Action] Add perf option override to cli (#175781) 2024-02-02 14:24:04 +00:00
kbn-es-errors Implement elasticsearch.maxResponseSize config option (#186291) 2024-06-19 11:04:33 +02:00
kbn-es-query [KQL] Remove unnecessary contrived wildcard match_all handling (#184351) 2024-05-29 09:48:51 -07:00
kbn-es-types Fix typo in ESQLSearchResponse type (#184861) 2024-06-05 21:49:27 +02:00
kbn-eslint-config [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-eslint-plugin-disable Clean up imports of ESLint types (#162436) 2023-07-25 10:09:55 +02:00
kbn-eslint-plugin-eslint [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-eslint-plugin-i18n [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-eslint-plugin-imports [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-eslint-plugin-telemetry [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-esql-ast [ES|QL] METRICS command definition and validation (#184905) 2024-06-20 09:22:58 +02:00
kbn-esql-utils [ES|QL] Moves the @timestamp assignment to the ESQL util (#186158) 2024-06-17 17:43:28 +02:00
kbn-esql-validation-autocomplete [ES|QL] Change the icon for comma, pipe and punctuation in general (#186442) 2024-06-21 07:59:44 +02:00
kbn-event-annotation-common [shared-ux] no-data analytics page package code cleanup (#172416) 2023-12-04 13:07:59 -07:00
kbn-event-annotation-components [Lens] Fix reference line width stale update (#184414) 2024-06-05 10:07:13 +02:00
kbn-expandable-flyout [Package][Expandable flyout] - fix Storybook (#185036) 2024-06-11 21:27:45 -05: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 [failed-test-reporter] Include pipeline in comment (#182576) 2024-05-06 07:05:32 -05:00
kbn-field-types [ES|QL] Fixes the mapping of ES fields (#176665) 2024-02-12 17:18:33 +02:00
kbn-field-utils [Discover][DocViewer] Convert EuiTable to EuiDataGrid. Enable up to 500 fields per page. (#175787) 2024-06-19 15:31:44 +02:00
kbn-find-used-node-modules
kbn-flot-charts
kbn-formatters [Dataset quality] Implement Summary Panel (#175994) 2024-02-13 14:41:32 +02:00
kbn-ftr-common-functional-services [kbn-ftr-common-functional-services] extend retry service (#178660) 2024-03-19 16:32:59 +01:00
kbn-ftr-common-functional-ui-services [FTR] Update getAttribute method return (#179715) 2024-04-10 10:28:03 -07: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 Rename Management team name in codeowners file (#178626) 2024-03-18 15:46:31 +00:00
kbn-generate-csv Fix typo in ESQLSearchResponse type (#184861) 2024-06-05 21:49:27 +02:00
kbn-get-repo-files
kbn-grouping [Security Solution] [Grouping] Re-add support to custom Group By title in the useGetGroupSelector hook (#184165) 2024-05-29 09:15:40 -07:00
kbn-guided-onboarding [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-handlebars Identify CSP test functions (#184456) 2024-05-30 06:04:55 -04:00
kbn-hapi-mocks Add httpVersion and protocol fields to KibanaRequest (#183725) 2024-05-21 04:17:44 -07:00
kbn-health-gateway-server Add http2 support for Kibana server (#183465) 2024-06-03 09:34:13 +02:00
kbn-i18n [data views] Fix single quotes on field save confirm toast (#184789) 2024-06-05 05:09:51 -07:00
kbn-i18n-react [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-import-locator
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 [Spacetime] Fields metadata services (#183806) 2024-06-05 09:51:50 +02:00
kbn-ipynb [Search] Renaming the search frontend group (#184565) 2024-06-03 13:14:49 -07:00
kbn-jest-serializers
kbn-journeys Add http2 support for Kibana server (#183465) 2024-06-03 09:34:13 +02:00
kbn-json-ast
kbn-kibana-manifest-schema
kbn-language-documentation-popover [ES|QL] Query history design feedback (#180579) 2024-04-14 09:45:32 +02:00
kbn-lens-embeddable-utils [Lens] Legend Statistics feature (#182357) 2024-06-19 21:04:07 +02:00
kbn-lens-formula-docs [Lens] Update time_range() function with an additional example (#179408) 2024-03-26 15:16:25 +01:00
kbn-lint-packages-cli
kbn-lint-ts-projects-cli
kbn-logging replace kbn/ecs with official npm package holding ecs schema (#176128) 2024-02-13 22:03:30 +01:00
kbn-logging-mocks Limit download concurrency for files within Kibana (#168601) 2023-10-30 12:28:11 +01:00
kbn-managed-content-badge [Lens] Prevent overwriting managed content from editor (#175062) 2024-01-24 09:06:05 -06:00
kbn-managed-vscode-config
kbn-managed-vscode-config-cli
kbn-management [Security Solution][Expandable flyout] - replace advanced settings with feature flag (#184169) 2024-06-04 10:04:19 -05:00
kbn-mapbox-gl [maps] fix layer shows no data instead of error (#170084) 2023-11-06 17:00:15 -07:00
kbn-mock-idp-plugin [Core] Deprecate nav link status (#176383) 2024-02-16 11:06:33 -07:00
kbn-mock-idp-utils [mock-idp-plugin] add end-point to fetch roles from yml (#175439) 2024-01-26 13:37:16 -07:00
kbn-monaco [ES|QL] Set custom highlight colors for suggest widget (#186476) 2024-06-19 09:46:20 -07:00
kbn-object-versioning [Content Management] Server side client (#175968) 2024-02-05 04:37:32 -07:00
kbn-openapi-bundler [Security Solution] Support bundling ESS and Serverless OAS separately (#184348) 2024-06-07 15:14:21 +02:00
kbn-openapi-common [Security Solution] Add missing Lists API OpenAPI specifications (#185865) 2024-06-18 13:22:19 -07:00
kbn-openapi-generator [Security Solution] Add missing Alert index API OpenAPI specs (#186401) 2024-06-21 08:39:35 -07:00
kbn-optimizer [eem] rename asset_manager to entity_manager (#186617) 2024-06-26 14:25:32 +02:00
kbn-optimizer-webpack-helpers
kbn-osquery-io-ts-types [EDR Workflows] Osquery Timeout (#169925) 2023-11-15 05:37:11 -07:00
kbn-panel-loader [Dashboard] UI Refresh (#178139) 2024-03-26 11:55:16 -07:00
kbn-peggy
kbn-peggy-loader
kbn-performance-testing-dataset-extractor [kbn-journeys] add synthtrace support (#178599) 2024-03-18 16:42:45 -07:00
kbn-picomatcher
kbn-plugin-check [dx] Dependency check script for plugins (#171483) 2024-01-17 17:19:41 -05:00
kbn-plugin-generator [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-plugin-helpers fix(NA): do not change default encoding when using vfs to copy files (#181174) 2024-04-18 18:35:47 +01:00
kbn-profiling-utils Profiling: Add color for .NET (#181126) 2024-04-26 12:02:58 +02:00
kbn-react-field Add treeshake to react-field package (#184506) 2024-06-04 16:22:49 +02:00
kbn-react-hooks [Infra][Logs Explorer] Factor out shared custom hook into a package (#182336) 2024-05-06 16:17:39 +02:00
kbn-repo-file-maps
kbn-repo-info Add build_date to kbn:api/status (#157905) 2023-05-25 10:21:47 -07:00
kbn-repo-linter
kbn-repo-packages [Core plugin system] Add dynamic contract resolving (#167113) 2023-10-24 02:32:09 -07:00
kbn-repo-path
kbn-repo-source-classifier chore(NA): rename journeys folder into journeys_e2e inside x-pack/performance to correctly classify journey e2e files (#178340) 2024-03-14 21:15:57 +00:00
kbn-repo-source-classifier-cli
kbn-reporting [Fix] Additional tests and clean up for share modal redesign initiative (#183643) 2024-06-12 15:35:33 -07:00
kbn-resizable-layout [ResizableLayout] Remove onResizeEnd stable callback workaround (#176030) 2024-02-01 09:46:26 -04:00
kbn-rison
kbn-router-to-openapispec [OAS] @kbn/config-schema conversion tests (#186879) 2024-06-25 06:22:10 -07:00
kbn-router-utils [Infra] Register kibana locator to link to infras asset details and inventory uis (#181749) 2024-05-13 18:05:33 +02: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 [Response Ops][Alerting] Adding severity levels to action groups and determining if alert is improving (#184163) 2024-06-26 12:42:24 -04: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 [Search] Renaming the search frontend group (#184565) 2024-06-03 13:14:49 -07:00
kbn-search-connectors Upgrade EUI to v95.1.0 (#186324) 2024-06-21 09:10:58 -07:00
kbn-search-errors [search] Make ISearchOptions compatible with DataViewLazy (#183939) 2024-05-23 11:14:36 -07:00
kbn-search-index-documents Bump @elastic/elasticsearch to 8.14.0 (reloaded) (#186848) 2024-06-26 08:29:15 -07:00
kbn-search-response-warnings [Discover] Remove usage of deprecated React rendering utilities (#181623) 2024-04-26 11:48:06 -07:00
kbn-search-types [search] Make ISearchOptions compatible with DataViewLazy (#183939) 2024-05-23 11:14:36 -07:00
kbn-security-hardening Harden console functions (#171367) 2024-02-09 09:13:52 -05:00
kbn-securitysolution-autocomplete Upgrade EUI to v95.1.0 (#186324) 2024-06-21 09:10:58 -07:00
kbn-securitysolution-ecs Fix Alert exception flyout don't open for ESQL alerts (#184389) 2024-05-30 09:22:52 -07:00
kbn-securitysolution-es-utils [Security Solution] Remove privileges that are not available in serverless from read privileges route (#178580) 2024-03-14 10:29:45 -07:00
kbn-securitysolution-exception-list-components Upgrade EUI to v95.1.0 (#186324) 2024-06-21 09:10:58 -07:00
kbn-securitysolution-hook-utils flag packages without side effects (#173351) 2023-12-19 02:46:39 -07:00
kbn-securitysolution-io-ts-alerting-types [Security Solution] Remove @ts-expect-error from v4.9.5 upgrade in Detection and Response areas (#179273) 2024-03-27 05:01:53 -07:00
kbn-securitysolution-io-ts-list-types Value lists modal window (#179339) 2024-04-15 19:45:52 +02:00
kbn-securitysolution-io-ts-types flag packages without side effects (#173351) 2023-12-19 02:46:39 -07:00
kbn-securitysolution-io-ts-utils flag packages without side effects (#173351) 2023-12-19 02:46:39 -07:00
kbn-securitysolution-list-api Value lists modal window (#179339) 2024-04-15 19:45:52 +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 Value lists modal window (#179339) 2024-04-15 19:45:52 +02:00
kbn-securitysolution-list-utils [Security Solution][Endpoint Exceptions] Wildcard warning with IS operator for endpoint exceptions creation/editing (#182903) 2024-06-11 15:03:02 -07:00
kbn-securitysolution-lists-common [Security Solution] Add missing Lists API OpenAPI specifications (#185865) 2024-06-18 13:22:19 -07:00
kbn-securitysolution-rules [Security Solution][Detection Engine] adds ES|QL rule type to Security Detections rules (#165450) 2023-09-30 09:45:34 +01:00
kbn-securitysolution-t-grid Upgrade EUI to v86.0.0 (#163088) 2023-08-14 15:45:09 -05:00
kbn-securitysolution-utils [Security Solution][Endpoint Exceptions] Wildcard warning with IS operator for endpoint exceptions creation/editing (#182903) 2024-06-11 15:03:02 -07:00
kbn-server-http-tools Add http2 support for Kibana server (#183465) 2024-06-03 09:34:13 +02:00
kbn-server-route-repository Add install integrations endpoint (#184167) 2024-05-29 18:04:24 +01:00
kbn-set-map
kbn-shared-svg Update new codeowners for Obs team changes (#170182) 2023-11-08 14:30:17 +00:00
kbn-shared-ux-utility Add explicit children types (#181257) 2024-04-29 16:56:41 +01:00
kbn-some-dev-log
kbn-sort-package-json
kbn-sort-predicates [Lens] Fix table sorting on time picker interval change (#182173) 2024-04-30 22:04:29 -07:00
kbn-spec-to-console Rename Management team name in codeowners file (#178626) 2024-03-18 15:46:31 +00:00
kbn-std Use spec-compliant URL parser to parse next URL parameter. (#183521) 2024-05-17 13:39:52 +02:00
kbn-stdio-dev-helpers
kbn-storybook [Storybook][i18n] initialize i18n with english locale (#185033) 2024-06-07 12:44:37 -07:00
kbn-telemetry-tools Migrate from listr to listr2 (#182683) 2024-05-07 07:30:42 -04:00
kbn-test [kbn-test] retry Cloud token fetching (#186626) 2024-06-22 07:01:12 -07:00
kbn-test-eui-helpers [Lens] Fix yAxis scale/custom domain issues and help/error text (#180532) 2024-05-06 09:29:04 -07:00
kbn-test-jest-helpers [i18n][system upgrade] Upgrade Intl Packages from v2 to v6 (#179506) 2024-06-02 16:50:33 +03:00
kbn-test-subj-selector [FTR] add dataViews service (#180066) 2024-04-10 16:33:00 +02:00
kbn-text-based-editor [ES|QL] Various fixes in editor loading functionality (#186445) 2024-06-21 07:59:54 +02:00
kbn-timelion-grammar
kbn-timerange [Dataset quality] Degraded docs insights in flyout (#176912) 2024-02-22 11:20:47 +01:00
kbn-tinymath Remove eslint-plugin-prefer-object-spread dependency (#162439) 2023-07-25 10:04:44 +02:00
kbn-tooling-log Use rxjs instead of rxjs/operators (#179553) 2024-04-02 11:41:33 -07:00
kbn-triggers-actions-ui-types [RAM][Maintenance Window] Maintenance window scoped query frontend changes (#171949) 2023-12-04 15:18:33 -08:00
kbn-try-in-console [Search] Renaming the search frontend group (#184565) 2024-06-03 13:14:49 -07: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 [APM] Add memoization to hooks consumed on service inventory page (#173973) 2024-01-12 09:57:03 -07:00
kbn-ui-actions-browser Redesign the "Add Panel" Experience (#183764) 2024-06-26 13:55:28 -07:00
kbn-ui-shared-deps-npm Upgrade EUI to v95.0.0 (#185943) 2024-06-18 08:55:26 -07:00
kbn-ui-shared-deps-src Upgrade EUI to v95.0.0 (#185943) 2024-06-18 08:55:26 -07:00
kbn-ui-theme Implement system option for theme:darkMode uiSetting (#173044) 2024-02-20 06:48:58 -07:00
kbn-unified-data-table [Unified Data Table] Fix visual line clamping with EuiDescriptionList description (#186570) 2024-06-26 09:47:40 -07:00
kbn-unified-doc-viewer [Discover][DocViewer] Convert EuiTable to EuiDataGrid. Enable up to 500 fields per page. (#175787) 2024-06-19 15:31:44 +02:00
kbn-unified-field-list [data view field editor] Allow editing of DataViewLazy (#186348) 2024-06-22 08:54:30 -07:00
kbn-unsaved-changes-badge Upgrade EUI to v91.0.0 (with backports) (#170716) 2023-12-18 11:15:15 -06:00
kbn-unsaved-changes-prompt [Ingest Pipelines] Add unsaved changes prompt (#183699) 2024-06-07 20:35:56 +02:00
kbn-use-tracked-promise Update new codeowners for Obs team changes (#170182) 2023-11-08 14:30:17 +00:00
kbn-user-profile-components [UsersProfilePopover] Fix email sometimes is not visible (#184318) 2024-06-05 14:19:30 +02:00
kbn-utility-types chore(NA): upgrade typescript into v4.9.5 (#175178) 2024-02-25 01:23:57 +00:00
kbn-utility-types-jest
kbn-utils Upgrade Node.js to 20.11.1 (#177042) 2024-02-20 14:01:23 -06:00
kbn-validate-next-docs-cli
kbn-visualization-ui-components [Lens] Fix reference line width stale update (#184414) 2024-06-05 10:07:13 +02:00
kbn-visualization-utils [ES|QL][Lens] Fixes import to other spaces (#183076) 2024-05-13 09:30:11 +02:00
kbn-web-worker-stub
kbn-whereis-pkg-cli
kbn-xstate-utils [Logs+] Refactor state and URL persistence of Log Explorer (#170200) 2023-12-11 14:56:44 +01:00
kbn-yarn-lock-validator
kbn-zod-helpers [Security Solution] Add missing Lists API OpenAPI specifications (#185865) 2024-06-18 13:22:19 -07:00
presentation Migrate time slider control (#184958) 2024-06-20 14:05:54 -06:00
react [KibanaEuiProvider] Fix missing modify prop not being passed down to EuiProvider (#186055) 2024-06-11 20:39:24 -07:00
response-ops/feature_flag_service [ResponseOps] Package for feature flags (#185000) 2024-06-13 03:11:32 -07:00
serverless [Security Solution][Expandable flyout] - replace advanced settings with feature flag (#184169) 2024-06-04 10:04:19 -05:00
shared-ux [Share Modal]Add aria-labelledby for accessibility (#186216) 2024-06-24 08:18:55 -07:00
README.md

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.