Commit graph

216 commits

Author SHA1 Message Date
Kibana Machine
7a623a822f
[8.8] fix console errors in inspector (#156894) (#157748)
# Backport

This will backport the following commits from `main` to `8.8`:
- [fix console errors in inspector
(#156894)](https://github.com/elastic/kibana/pull/156894)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Nathan
Reese","email":"reese.nathan@elastic.co"},"sourceCommit":{"committedDate":"2023-05-15T15:02:27Z","message":"fix
console errors in inspector (#156894)\n\nSteps to view problem\r\n*
install sample data set\r\n* Open lens visualization\r\n* Open
inspector. Notice console errors\r\n<img width=\"300\" alt=\"Screen Shot
2023-05-05 at 11 03 25
AM\"\r\nsrc=\"https://user-images.githubusercontent.com/373691/236521366-d8fb9302-e93b-4047-a0bf-d7c09dcc3ffb.png\">\r\n\r\nhttps://github.com/elastic/eui/pull/6566
removed `closeButtonAriaLabel`\r\nprop from
[EuiFlyout](https://elastic.github.io/eui/#/layout/flyout) EUI\r\n75.0.0
(Effecting 8.8 and 8.9). FlyoutService spreads options
into\r\n`EuiFlyout`, resulting in `closeButtonAriaLabel` getting added
to dom\r\nand causing error.\r\n\r\n`OverlayFlyoutOpenOptions` type
added by\r\nhttps://github.com/elastic/kibana/issues/37894. I
replaced\r\n`OverlayFlyoutOpenOptions` with `EuiFlyoutProps` to make it
more clear\r\nwhat props are accepted and provide stronger typing that
stays in sync\r\nwith EUI
typings\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b803ba9d7b69250d8bfb0567919128f954c1e935","branchLabelMapping":{"^v8.9.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Inspector","Team:Presentation","release_note:skip","v8.8.0","v8.9.0"],"number":156894,"url":"https://github.com/elastic/kibana/pull/156894","mergeCommit":{"message":"fix
console errors in inspector (#156894)\n\nSteps to view problem\r\n*
install sample data set\r\n* Open lens visualization\r\n* Open
inspector. Notice console errors\r\n<img width=\"300\" alt=\"Screen Shot
2023-05-05 at 11 03 25
AM\"\r\nsrc=\"https://user-images.githubusercontent.com/373691/236521366-d8fb9302-e93b-4047-a0bf-d7c09dcc3ffb.png\">\r\n\r\nhttps://github.com/elastic/eui/pull/6566
removed `closeButtonAriaLabel`\r\nprop from
[EuiFlyout](https://elastic.github.io/eui/#/layout/flyout) EUI\r\n75.0.0
(Effecting 8.8 and 8.9). FlyoutService spreads options
into\r\n`EuiFlyout`, resulting in `closeButtonAriaLabel` getting added
to dom\r\nand causing error.\r\n\r\n`OverlayFlyoutOpenOptions` type
added by\r\nhttps://github.com/elastic/kibana/issues/37894. I
replaced\r\n`OverlayFlyoutOpenOptions` with `EuiFlyoutProps` to make it
more clear\r\nwhat props are accepted and provide stronger typing that
stays in sync\r\nwith EUI
typings\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b803ba9d7b69250d8bfb0567919128f954c1e935"}},"sourceBranch":"main","suggestedTargetBranches":["8.8"],"targetPullRequestStates":[{"branch":"8.8","label":"v8.8.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.9.0","labelRegex":"^v8.9.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/156894","number":156894,"mergeCommit":{"message":"fix
console errors in inspector (#156894)\n\nSteps to view problem\r\n*
install sample data set\r\n* Open lens visualization\r\n* Open
inspector. Notice console errors\r\n<img width=\"300\" alt=\"Screen Shot
2023-05-05 at 11 03 25
AM\"\r\nsrc=\"https://user-images.githubusercontent.com/373691/236521366-d8fb9302-e93b-4047-a0bf-d7c09dcc3ffb.png\">\r\n\r\nhttps://github.com/elastic/eui/pull/6566
removed `closeButtonAriaLabel`\r\nprop from
[EuiFlyout](https://elastic.github.io/eui/#/layout/flyout) EUI\r\n75.0.0
(Effecting 8.8 and 8.9). FlyoutService spreads options
into\r\n`EuiFlyout`, resulting in `closeButtonAriaLabel` getting added
to dom\r\nand causing error.\r\n\r\n`OverlayFlyoutOpenOptions` type
added by\r\nhttps://github.com/elastic/kibana/issues/37894. I
replaced\r\n`OverlayFlyoutOpenOptions` with `EuiFlyoutProps` to make it
more clear\r\nwhat props are accepted and provide stronger typing that
stays in sync\r\nwith EUI
typings\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b803ba9d7b69250d8bfb0567919128f954c1e935"}}]}]
BACKPORT-->

Co-authored-by: Nathan Reese <reese.nathan@elastic.co>
2023-05-15 09:16:17 -07:00
Gerard Soldevila
21351df953
Split the .kibana saved objects index into multiple indices (#154888)
## Description 

Fix https://github.com/elastic/kibana/issues/104081

This PR move some of the SO types from the `.kibana` index into the
following ones:
- `.kibana_alerting_cases`
- `.kibana_analytics`
- `.kibana_security_solution`
- `.kibana_ingest`

This split/reallocation will occur during the `8.8.0` Kibana upgrade
(*meaning: from any version older than `8.8.0` to any version greater or
equal to `8.8.0`*)

**This PR main changes are:**
- implement the changes required in the SO migration algorithm to
support this reallocation
- update the FTR tools (looking at you esArchiver) to support these new
indices
- update hardcoded references to `.kibana` and usage of the
`core.savedObjects.getKibanaIndex()` to use new APIs to target the
correct index/indices
- update FTR datasets, tests and utility accordingly 

## To reviewers

**Overall estimated risk of regressions: low**

But, still, please take the time to review changes in your code. The
parts of the production code that were the most impacted are the
telemetry collectors, as most of them were performing direct requests
against the `.kibana` index, so we had to adapt them. Most other
contributor-owned changes are in FTR tests and datasets.

If you think a type is misplaced (either we missed some types that
should be moved to a specific index, or some types were moved and
shouldn't have been) please tell us, and we'll fix the reallocation
either in this PR or in a follow-up.

## .Kibana split

The following new indices are introduced by this PR, with the following
SO types being moved to it. (any SO type not listed here will be staying
in its current index)

Note: The complete **_type => index_** breakdown is available in [this
spreadsheet](https://docs.google.com/spreadsheets/d/1b_MG_E_aBksZ4Vkd9cVayij1oBpdhvH4XC8NVlChiio/edit#gid=145920788).

#### `.kibana_alerting_cases`
- action
- action_task_params
- alert
- api_key_pending_invalidation
- cases
- cases-comments
- cases-configure
- cases-connector-mappings
- cases-telemetry
- cases-user-actions
- connector_token
- rules-settings
- maintenance-window

#### `.kibana_security_solution`
- csp-rule-template
- endpoint:user-artifact
- endpoint:user-artifact-manifest
- exception-list
- exception-list-agnostic
- osquery-manager-usage-metric
- osquery-pack
- osquery-pack-asset
- osquery-saved-query
- security-rule
- security-solution-signals-migration
- siem-detection-engine-rule-actions
- siem-ui-timeline
- siem-ui-timeline-note
- siem-ui-timeline-pinned-event

#### `.kibana_analytics`

- canvas-element
- canvas-workpad-template
- canvas-workpad
- dashboard
- graph-workspace
- index-pattern
- kql-telemetry
- lens
- lens-ui-telemetry
- map
- search
- search-session
- search-telemetry
- visualization

#### `.kibana_ingest`

- epm-packages
- epm-packages-assets
- fleet-fleet-server-host
- fleet-message-signing-keys
- fleet-preconfiguration-deletion-record
- fleet-proxy
- ingest_manager_settings
- ingest-agent-policies
- ingest-download-sources
- ingest-outputs
- ingest-package-policies

## Tasks / PRs

### Sub-PRs

**Implementation**
- 🟣 https://github.com/elastic/kibana/pull/154846
- 🟣 https://github.com/elastic/kibana/pull/154892
- 🟣 https://github.com/elastic/kibana/pull/154882
- 🟣 https://github.com/elastic/kibana/pull/154884
- 🟣 https://github.com/elastic/kibana/pull/155155

**Individual index split**
- 🟣 https://github.com/elastic/kibana/pull/154897
- 🟣 https://github.com/elastic/kibana/pull/155129
- 🟣 https://github.com/elastic/kibana/pull/155140
- 🟣 https://github.com/elastic/kibana/pull/155130

### Improvements / follow-ups 

- 👷🏼 Extract logic into
[runV2Migration](https://github.com/elastic/kibana/pull/154151#discussion_r1158470566)
@gsoldevila
- Make `getCurrentIndexTypesMap` resillient to intermittent failures
https://github.com/elastic/kibana/pull/154151#discussion_r1169289717
- 🚧 Build a more structured
[MigratorSynchronizer](https://github.com/elastic/kibana/pull/154151#discussion_r1158469918)
- 🟣 https://github.com/elastic/kibana/pull/155035
- 🟣 https://github.com/elastic/kibana/pull/155116
- 🟣 https://github.com/elastic/kibana/pull/155366
## Reallocation tweaks

Tweaks to the reallocation can be done after the initial merge, as long
as it's done before the public release of 8.8

- `url` should get back to `.kibana` (see
[comment](https://github.com/elastic/kibana/pull/154888#discussion_r1172317133))

## Release Note

For performance purposes, Kibana is now using more system indices to
store its internal data.

The following system indices will be created when upgrading to `8.8.0`:

- `.kibana_alerting_cases`
- `.kibana_analytics`
- `.kibana_security_solution`
- `.kibana_ingest`

---------

Co-authored-by: pgayvallet <pierre.gayvallet@elastic.co>
Co-authored-by: Christos Nasikas <christos.nasikas@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Georgii Gorbachev <georgii.gorbachev@elastic.co>
2023-04-25 09:43:42 +02:00
Maja Grubic
0c5fb37670
[Graph] Replace SavedObjectsFinder component (#152432)
## Summary

This PR replaces the `SavedObjectsFinder` component from `saved_objects`
plugin with the one in `saved_objects_finder` plugin.


### 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~
- [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
~- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard
accessibility](https://webaim.org/techniques/keyboard/))~
~- [ ] 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))~
~- [ ] 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)~
~- [ ] 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)


### 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>
2023-03-02 16:12:32 +01:00
Maja Grubic
b4f5fa6ed8
[SavedObjectFinder] Remove savedObjects.find (#151220)
## Summary

This PR replaces deprecated client-side `savedObjects.find` method with
a server-side one and a corresponding API call. As a result, the
dependencies of the `SavedObjectFinder` component have changed slightly:
instead of `coreStart.savedObjects`, the component is now taking
`coreStart.http`.

If you have been tagged as a reviewer, it means your plugin is using
`SavedObjectFinder` somewhere. To test it, ensure it all works as
previously.

### Checklist

Delete any items that are not applicable to this PR.

~- [] 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~
- [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
~- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard
accessibility](https://webaim.org/techniques/keyboard/))~
~- [ ] 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))~
~- [ ] 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)~
~- [ ] 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))~
~- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)~


### 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>
2023-02-16 16:16:32 +01:00
Rachel Shen
50a4fc4916
[Shared UX] Adoption of Shared UX Route component (#150357)
## Summary

This PR removes all imports of Route from react-router-dom and
'@kbn/kibana-react-plugin/public' and instead imports Route from
@kbn/shared-ux-router.

### Context
Based on
https://github.com/elastic/kibana/issues/132629#issue-1243243678 This PR
executes steps 2 - 4:

> 2. To make the transition easier, we want to re-export other
react-router-dom exports alongside the modified' Route'.
> 3. Solutions should start using that Route component in place of the
one from react-router-dom. I.e. replace all occurrences of import { ...
} from 'react-router-dom' with import { ... } from
'@kbn/shared-ux-router'.
> 4. All manual calls to useExecutionContext are not needed anymore and
should be removed.

### Future PR

Looks like this might be getting worked on in:
https://github.com/elastic/kibana/pull/145863 (thanks!)

> Introduce an ESlint rule that ensures that react-router-dom is not
used directly in Kibana and that imports go through the new
@kbn/shared-ux-router package.

This is tangentially accomplished through
https://github.com/elastic/kibana/pull/150340 but only addresses using
Route through @kbn/kibana-react-plugin/public'


### Checklist

Delete any items that are not applicable to this PR.

- [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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Tiago Costa <tiagoffcc@hotmail.com>
2023-02-14 19:25:04 +00:00
Spencer
1b85815402
[packages] migrate all plugins to packages (#148130)
Fixes https://github.com/elastic/kibana/issues/149344

This PR migrates all plugins to packages automatically. It does this
using `node scripts/lint_packages` to automatically migrate
`kibana.json` files to `kibana.jsonc` files. By doing this automatically
we can simplify many build and testing procedures to only support
packages, and not both "packages" and "synthetic packages" (basically
pointers to plugins).

The majority of changes are in operations related code, so we'll be
having operations review this before marking it ready for review. The
vast majority of the code owners are simply pinged because we deleted
all `kibana.json` files and replaced them with `kibana.jsonc` files, so
we plan on leaving the PR ready-for-review for about 24 hours before
merging (after feature freeze), assuming we don't have any blockers
(especially from @elastic/kibana-core since there are a few core
specific changes, though the majority were handled in #149370).

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-02-08 21:06:50 -06:00
Marco Liberati
475908fe93
[Graph] Enable allowJS flag in TS config (#149671)
## Summary

Fixes #144286


### Checklist

Delete any items that are not applicable to this PR.

- [ ] 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
- [ ] [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
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] 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))
- [ ] 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)
- [ ] 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))
- [ ] 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)
2023-01-27 12:21:26 +01:00
Nathan Reese
d5f6fe84c7
fix 'Save modal dark theme issues in Discover, Dashboard, and Maps' (#149147)
Fixes https://github.com/elastic/kibana/issues/149130 and
https://github.com/elastic/kibana/issues/142636

PR updates `showSaveModal` to wrap modal in `KibanaThemeProvider` to
resolve dark theme issues. Rather than passing in theme$ as a new
parameter, theme$ is imported from within the plugin itself.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-01-19 07:55:22 -07:00
Spencer
afb09ccf8a
Transpile packages on demand, validate all TS projects (#146212)
## Dearest Reviewers 👋 

I've been working on this branch with @mistic and @tylersmalley and
we're really confident in these changes. Additionally, this changes code
in nearly every package in the repo so we don't plan to wait for reviews
to get in before merging this. If you'd like to have a concern
addressed, please feel free to leave a review, but assuming that nobody
raises a blocker in the next 24 hours we plan to merge this EOD pacific
tomorrow, 12/22.

We'll be paying close attention to any issues this causes after merging
and work on getting those fixed ASAP. 🚀

---

The operations team is not confident that we'll have the time to achieve
what we originally set out to accomplish by moving to Bazel with the
time and resources we have available. We have also bought ourselves some
headroom with improvements to babel-register, optimizer caching, and
typescript project structure.

In order to make sure we deliver packages as quickly as possible (many
teams really want them), with a usable and familiar developer
experience, this PR removes Bazel for building packages in favor of
using the same JIT transpilation we use for plugins.

Additionally, packages now use `kbn_references` (again, just copying the
dx from plugins to packages).

Because of the complex relationships between packages/plugins and in
order to prepare ourselves for automatic dependency detection tools we
plan to use in the future, this PR also introduces a "TS Project Linter"
which will validate that every tsconfig.json file meets a few
requirements:

1. the chain of base config files extended by each config includes
`tsconfig.base.json` and not `tsconfig.json`
1. the `include` config is used, and not `files`
2. the `exclude` config includes `target/**/*`
3. the `outDir` compiler option is specified as `target/types`
1. none of these compiler options are specified: `declaration`,
`declarationMap`, `emitDeclarationOnly`, `skipLibCheck`, `target`,
`paths`

4. all references to other packages/plugins use their pkg id, ie:
	
	```js
    // valid
    {
      "kbn_references": ["@kbn/core"]
    }
    // not valid
    {
      "kbn_references": [{ "path": "../../../src/core/tsconfig.json" }]
    }
    ```

5. only packages/plugins which are imported somewhere in the ts code are
listed in `kbn_references`

This linter is not only validating all of the tsconfig.json files, but
it also will fix these config files to deal with just about any
violation that can be produced. Just run `node scripts/ts_project_linter
--fix` locally to apply these fixes, or let CI take care of
automatically fixing things and pushing the changes to your PR.

> **Example:** [`64e93e5`
(#146212)](64e93e5806)
When I merged main into my PR it included a change which removed the
`@kbn/core-injected-metadata-browser` package. After resolving the
conflicts I missed a few tsconfig files which included references to the
now removed package. The TS Project Linter identified that these
references were removed from the code and pushed a change to the PR to
remove them from the tsconfig.json files.

## No bazel? Does that mean no packages??
Nope! We're still doing packages but we're pretty sure now that we won't
be using Bazel to accomplish the 'distributed caching' and 'change-based
tasks' portions of the packages project.

This PR actually makes packages much easier to work with and will be
followed up with the bundling benefits described by the original
packages RFC. Then we'll work on documentation and advocacy for using
packages for any and all new code.

We're pretty confident that implementing distributed caching and
change-based tasks will be necessary in the future, but because of
recent improvements in the repo we think we can live without them for
**at least** a year.

## Wait, there are still BUILD.bazel files in the repo
Yes, there are still three webpack bundles which are built by Bazel: the
`@kbn/ui-shared-deps-npm` DLL, `@kbn/ui-shared-deps-src` externals, and
the `@kbn/monaco` workers. These three webpack bundles are still created
during bootstrap and remotely cached using bazel. The next phase of this
project is to figure out how to get the package bundling features
described in the RFC with the current optimizer, and we expect these
bundles to go away then. Until then any package that is used in those
three bundles still needs to have a BUILD.bazel file so that they can be
referenced by the remaining webpack builds.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-12-22 19:00:29 -06:00
Cee Chen
251bdcec6c
Upgrade EUI to v72.0.0 (#147888)
## Summary

`eui@71.0.0`  `eui@72.0.0`

---

## [`72.0.0`](https://github.com/elastic/eui/tree/v72.0.0)

- Added the `customQuickSelectRender` render prop to
`EuiSuperDatePicker`, which allows customizing the Quick Select popover
([#6382](https://github.com/elastic/eui/pull/6382))
- `EuiFilePicker` styles have been updated to look more like an
interactive element. ([#6479](https://github.com/elastic/eui/pull/6479))
- Added a third argument to `EuiSelectable`'s `onChange` callback. The
single `option` object that triggered the `onChange` event is now also
passed to consumers with its most recent `checked` state
([#6487](https://github.com/elastic/eui/pull/6487))

**Bug fixes**

- `EuiTabs` now passes `size` and `expand` to all children using a React
context provider. ([#6478](https://github.com/elastic/eui/pull/6478))
- Fixed security warnings caused by `trim@0.0.1` sub-dependency
([#6482](https://github.com/elastic/eui/pull/6482))

**Breaking changes**

- Removed `size` and `expand` props from `EuiTab`
([#6478](https://github.com/elastic/eui/pull/6478))

## [`71.1.0`](https://github.com/elastic/eui/tree/v71.1.0)

**Deprecations**

- Renamed `EuiPageSideBarProps` to `EuiPageSideBarProps_Deprecated`, to
reduce usage/confusion with `EuiPageSidebar`
([#6468](https://github.com/elastic/eui/pull/6468))

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-12-22 14:41:18 -06:00
Spencer
2e314db2ce
Wrap rison-node to improve types (#146649)
@maximpn brought up the issues caused by the types required by the
rison-node package, which attempted to communicate that "encoded values
must be primitive values, or recursive arrays/object of primitive
values". This isn't actually expressible in TypeScript, which lead to
many instances of `rison.encode(value as unknown as RisonValue)` which
is useless. Additionally, the rison-node library actually supports any
value and will either produce valid rison or `undefined` for that value.

To address this I'm adding a wrapper function which accepts `any` and
returns a `string`. If rison-node is totally unable to produce any rison
for the value (because the value is `undefined` or some other type like
Symbol or BigInt) the `encode()` function will throw. If you're
accepting arbitrary input you can use the `encodeUnknown()` function,
which will return a string or undefined, if the value you provided has
zero rison representation.

Like JSON.stringify() any non-circular primitive, object, or array can
be encoded with either function. If the values within those objects are
not encodable (functions, RegExps, etc) then they will be skipped. Any
object/array with the `toJSON()` method will be converted to JSON first,
and if the prototype of the object has the `encode_rison()` method it
will be used to convert he value into rison.

The changes in this PR are mostly updating usage of rison-node to use
`@kbn/rison` (which is also enforced by eslint). There are also several
changes which remove unnecessary casting.
2022-12-01 08:33:56 -07:00
Constance
c408cebb12
Upgrade EUI to v70.2.4 (#144845)
## Summary
`eui@67.1.8`  `eui@70.2.2`

⚠️ Note: This upgrade contains breaking changes to `EuiFlexGroup` and
`EuiFlexGrid`, primarily around switching margins and negative margins
to `gap`. Please do a quick QA pass of your app to scan for any issues.
We're happy to help resolve minor fixes, or potentially follow up after
PR merges. You can find us over in #eui!

## [`70.2.4`](https://github.com/elastic/eui/tree/v70.2.4)

**Bug fixes**

- Fixed visual bug in nested `EuiFlexGroup`s, where the parent
`EuiFlexGroup` is responsive but a child `EuiFlexGroup` is not
([#6381](https://github.com/elastic/eui/pull/6381))

## [`70.2.3`](https://github.com/elastic/eui/tree/v70.2.3)

**Bug fixes**

- Fixed incorrect margins in `EuiSuperDatePicker` caused by `EuiFlex`
CSS gap change ([#6380](https://github.com/elastic/eui/pull/6380))

## [`70.2.2`](https://github.com/elastic/eui/tree/v70.2.2)

- `EuiButton` now accepts `minWidth={false}`
([#6373](https://github.com/elastic/eui/pull/6373))

**Bug fixes**

- `EuiButton` no longer outputs unnecessary inline styles for
`minWidth={0}` or `minWidth={false}`
([#6373](https://github.com/elastic/eui/pull/6373))
- `EuiFacetButton` no longer reports type issues when passing props
accepted by `EuiButton`
([#6373](https://github.com/elastic/eui/pull/6373))
- Fixed the shadow sizes of `.eui-yScrollWithShadows` and
`.eui-xScrollWithShadows`
([#6374](https://github.com/elastic/eui/pull/6374))


## [`70.2.1`](https://github.com/elastic/eui/tree/v70.2.1)

**Bug fixes**

- Re-fixed `EuiPageSection` not correctly merging `contentProps.css`
([#6365](https://github.com/elastic/eui/pull/6365))
- Fixed `EuiTab` not defaulting to size `m`
([#6366](https://github.com/elastic/eui/pull/6366))

## [`70.2.0`](https://github.com/elastic/eui/tree/v70.2.0)

- Added a keyboard shortcuts popover to `EuiDataGrid`'s toolbar. This
can be visually hidden via `toolbarVisibility.showKeyboardShortcuts`,
but will always remain accessible to keyboard and screen reader users.
([#6036](https://github.com/elastic/eui/pull/6036))
- `EuiScreenReaderOnly`'s `showOnFocus` prop now also shows on focus
within its children ([#6036](https://github.com/elastic/eui/pull/6036))
- Added `onFocus` prop callback to `EuiSuperDatePicker`
([#6320](https://github.com/elastic/eui/pull/6320))

**Bug fixes**

- Fixed `EuiSelectable` to ensure the full options list is re-displayed
when the search bar is controlled and cleared using `searchProps.value`
([#6317](https://github.com/elastic/eui/pull/6317))
- Fixed incorrect padding on `xl`-sized `EuiTabs`
([#6336](https://github.com/elastic/eui/pull/6336))
- Fixed `EuiCard` not correctly merging `css` on its child `icon`s
([#6341](https://github.com/elastic/eui/pull/6341))
- Fixed `EuiCheckableCard` not setting `css` on the correct DOM node
([#6341](https://github.com/elastic/eui/pull/6341))
- Fixed a webkit rendering issue with `EuiModal`s containing
`EuiBasicTable`s tall enough to scroll
([#6343](https://github.com/elastic/eui/pull/6343))
- Fixed bug in `to_initials` that truncates custom initials
([#6346](https://github.com/elastic/eui/pull/6346))
- Fix bug in `EuiCard` where layout breaks when `horizontal` and
`selectable` are both passed
([#6348](https://github.com/elastic/eui/pull/6348))

## [`70.1.0`](https://github.com/elastic/eui/tree/v70.1.0)

- Added the `hint` prop to the `<EuiSearchBar />`. This prop lets the
consumer render a hint below the search bar that will be displayed on
focus. ([#6319](https://github.com/elastic/eui/pull/6319))
- Added the `hasDragDrop` prop to `EuiPopover`. Use this prop if your
popover contains `EuiDragDropContext`.
([#6329](https://github.com/elastic/eui/pull/6329))

**Bug fixes**

- Fixed `EuiButton`'s cursor style when the button is disabled
([#6323](https://github.com/elastic/eui/pull/6323))
- Fixed `EuiPageTemplate` not recognizing child
`EuiPageSidebar`s/`EuiPageTemplate.Sidebar`s with `css` props
([#6324](https://github.com/elastic/eui/pull/6324))
- Fixed `EuiBetaBadge` to always respect its `anchorProps` values,
including when there is no tooltip content
([#6326](https://github.com/elastic/eui/pull/6326))
- Temporarily patched `EuiModal` to not cause scroll-jumping issues on
modal open ([#6327](https://github.com/elastic/eui/pull/6327))
- Fixed buggy drag & drop behavior within `EuiDataGrid`'s columns &
sorting toolbar popovers
([#6329](https://github.com/elastic/eui/pull/6329))
- Fixed `EuiButton` not correctly passing `textProps` for children
inside fragments or i18n components
([#6332](https://github.com/elastic/eui/pull/6332))
- Fixed `EuiButton` not correctly respecting `minWidth={0}`
([#6332](https://github.com/elastic/eui/pull/6332))

**CSS-in-JS conversions**

- Converted `EuiTabs` to Emotion
([#6311](https://github.com/elastic/eui/pull/6311))

## [`70.0.0`](https://github.com/elastic/eui/tree/v70.0.0)

- Added the `enabled` option to the `<EuiInMemoryTable />`
`executeQueryOptions` prop. This option prevents the Query from being
executed when controlled by the consumer.
([#6284](https://github.com/elastic/eui/pull/6284))

**Bug fixes**

- Fixed `EuiOverlayMask` to set a
`[data-relative-to-header=above|below]` attribute to replace the
`--aboveHeader` and `--belowHeader` classNames removed in its Emotion
conversion ([#6289](https://github.com/elastic/eui/pull/6289))
- Fixed `EuiHeader` CSS using removed `EuiOverlayMask` class modifiers
([#6293](https://github.com/elastic/eui/pull/6293))
- Fixed `EuiToolTip` not respecting reduced motion preferences
([#6295](https://github.com/elastic/eui/pull/6295))
- Fixed a bug with `EuiTour` where passing any `panelProps` would cause
the beacon to disappear
([#6298](https://github.com/elastic/eui/pull/6298))

**Breaking changes**

- `@emotion/css` is now a required peer dependency, alongside
`@emotion/react` ([#6288](https://github.com/elastic/eui/pull/6288))
- `@emotion/cache` is no longer required peer dependency, although your
project must still use it if setting custom cache/injection locations
([#6288](https://github.com/elastic/eui/pull/6288))

**CSS-in-JS conversions**

- Converted `EuiCode` and `EuiCodeBlock` to Emotion; Removed
`euiCodeSyntaxTokens` Sass mixin and `$euiCodeBlockPaddingModifiers`;
([#6263](https://github.com/elastic/eui/pull/6263))
- Converted `EuiResizableContainer` and `EuiResizablePanel` to Emotion
([#6287](https://github.com/elastic/eui/pull/6287))

## [`69.0.0`](https://github.com/elastic/eui/tree/v69.0.0)

- Added support for `fullWidth` prop on EuiForm, which will be the
default for all rows/controls within
([#6229](https://github.com/elastic/eui/pull/6229))
- Added support for `onResizeStart` and `onResizeEnd` callbacks to
`EuiResizableContainer`
([#6236](https://github.com/elastic/eui/pull/6236))
- Added optional case sensitive option matching to `EuiComboBox` with
the `isCaseSensitive` prop
([#6268](https://github.com/elastic/eui/pull/6268))
- `EuiFlexItem` now supports `grow={0}`
([#6270](https://github.com/elastic/eui/pull/6270))
- Added the `alignItems` prop to `EuiFlexGrid`
([#6281](https://github.com/elastic/eui/pull/6281))
- Added `filter`, `filterExclude`, `filterIgnore`, `filterInclude`,
`indexTemporary`, `infinity`, `sortAscending`, and `sortDescending`
glyphs to `EuiIcon` ([#6282](https://github.com/elastic/eui/pull/6282))

**Bug fixes**

- Fixed `EuiTextProps` to show the `color` type option `inherit` as
default ([#6267](https://github.com/elastic/eui/pull/6267))
- `EuiFlexGroup` now correctly respects `gutterSize` when responsive
([#6270](https://github.com/elastic/eui/pull/6270))
- Fixed the last breadcrumb in `EuiBreadcrumbs`'s `breadcrumbs` array
not respecting `truncate` overrides
([#6280](https://github.com/elastic/eui/pull/6280))

**Breaking changes**

- `EuiFlexGrid` no longer supports `columns={0}`. Use `EuiFlexGroup`
instead for normal flex display
([#6270](https://github.com/elastic/eui/pull/6270))
- `EuiFlexGrid` now uses modern `display: grid` CSS
([#6270](https://github.com/elastic/eui/pull/6270))
- `EuiFlexGroup`, `EuiFlexGrid`, and `EuiFlexItem` now use modern `gap`
CSS instead of margins and negative margins
([#6270](https://github.com/elastic/eui/pull/6270))
- `EuiFlexGroup` no longer applies responsive styles to `column` or
`columnReverse` directions
([#6270](https://github.com/elastic/eui/pull/6270))

**CSS-in-JS conversions**

- Converted `EuiFlexGroup`, `EuiFlexGrid`, and `EuiFlexItem` to Emotion
([#6270](https://github.com/elastic/eui/pull/6270))

## [`68.0.0`](https://github.com/elastic/eui/tree/v68.0.0)

- Added `beta` glyph to `EuiIcon`
([#6250](https://github.com/elastic/eui/pull/6250))
- Added `launch` and `spaces` glyphs to `EuiIcon`
([#6260](https://github.com/elastic/eui/pull/6260))
- Added the `fallbackDestination` prop to `EuiSkipLink`, which accepts a
string of query selectors to fall back to if the `destinationId` does
not have a valid target. Defaults to `main`
([#6261](https://github.com/elastic/eui/pull/6261))
- `EuiSkipLink` is now always an `a` tag to ensure that it is always
placed within screen reader link menus.
([#6261](https://github.com/elastic/eui/pull/6261))

**Bug fixes**

- Fixed `EuiSuperDatePicker` not correctly merging passed `className`s
([#6253](https://github.com/elastic/eui/pull/6253))
- Fixed `EuiColorStops` not correctly merging in passed
`data-test-subj`s, `style`s, or `...rest`
([#6255](https://github.com/elastic/eui/pull/6255))
- Fixed `EuiResizablePanel` incorrectly passing `style` to the wrapper
instead of the panel. Use `wrapperProps.style` to pass styles to the
wrapper. ([#6255](https://github.com/elastic/eui/pull/6255))
- Fixed custom `onClick`s passed to `EuiSkipLink` overriding
`overrideLinkBehavior`
([#6261](https://github.com/elastic/eui/pull/6261))

**Breaking changes**

- Removed `inherit` and `ghost` color from `EuiListGroupItem`
([#6207](https://github.com/elastic/eui/pull/6207))
- Changed default color to `text` instead of `inherit`
([#6207](https://github.com/elastic/eui/pull/6207))

**CSS-in-JS conversions**

- Converted `EuiListGroup` and `EuiListGroupItem` to Emotion; Removed
`$euiListGroupGutterTypes`, `$euiListGroupItemColorTypes` and
`$euiListGroupItemSizeTypes`;
([#6207](https://github.com/elastic/eui/pull/6207))
- Converted `EuiBadgeGroup` to Emotion
([#6258](https://github.com/elastic/eui/pull/6258))
- Converted `EuiBetaBadge` to Emotion
([#6258](https://github.com/elastic/eui/pull/6258))
- Converted `EuiNotificationBadge` to Emotion
([#6258](https://github.com/elastic/eui/pull/6258))

Co-authored-by: Elizabet Oliveira <elizabet.oliveira@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-11-18 14:21:28 -06:00
Sébastien Loix
a67776b365
[TableListView] Enhance tag filtering (#142108) 2022-11-14 14:25:19 -07:00
Bree Hall
4e9f1c0d04
Bumping EUI to version 67.1.8 (#141279)
* Updated EUI to version 67.1.2. Updated instaces of ButtonColor from EUI to EuiButtonColor.

* Updated to EuiCard instances that utilize the betaBadgeProps object to return an empty string instead of undefined when the label is unavailable

* Removed two instances of the deprecated internetExplorerOnly() mixin

* Updated two instances of the ButtonColor import to EuiButtonColor as is was renamed in PR #6150

* Updated snapshots in Jest Test Suite #1 to account for EuiButton and EuiCard Emotion conversions. Updated snapshots for EuiTooltip as it now contains the new EuiToolTipAnchor component that replaced the tooltip anchor styles

* Updated snapshots in Jest Test Suite #2 to account forEuiButton, EuiDescriptionList, EuiButtonIcon, and EuiBadge Emotion conversions.

* Updated snapshots in Jest Test Suite #3 to account for EuiDescriptionList, EuiButton, and EuiBadge Emotion conversions. Updated snapshots for EuiTooltip as if now contains the new EuiTooltipAnchor component that replaced the tooltop anchor styles

* Updated snapshots in Jest Test Suite #4 to account for EuiButton Emotion conversion.

* Updated snapshots in Jest Test Suite #5 to account for EuiButton Emotion conversion.

* Updated snapshots in Jest Test Suite #8 to account for EuiButtonIcon and EuiButton Emotion conversions. Updated snapshots for EuiTooltip as it now contains the new EuiTooltipAnchor component that replaced the tooltip anchor styles.

* Updated snapshots in Jest Test Suite #9 to account for EuiFlyout and EuiButton Emotion conversions.

* Updated snapshots in Jest Test Suite #10 to account for EuiButton, EuiBadge, EuiButtonIcon, and EuiCard Emotion conversions. Updated snapshots for EuiToolTtip as it now contains the new EuiTooltipAnchor component that replaced the tooltip anchor styles

* Updated instances of EuiButtonIconColor to use EuiButtonIconProps['color'] as it was removed in PR #6150

* Updated tests that target EuiButton to simulate click events to target a generic button to prevent undefined click event errors

* Updated snapshots in Jest Test Suite #1 to account for EuiButton and EuiCard Emotion conversions

* Added the EuiFlyout mixins and variables to Lens Sass file as EuiFlyout has been converted to Emotion and the Sass styles are no longer available in EUI

* Added the EuiCallOutTypes variable to Step Progress Sass file as EuiCallOut has been converted to Emotion and the Sass styles are no longer available in EUI

* Updated snapshots in Jest Test Suite #2 to account for recent Emotion conversions.
Updated snapshots in server_status.test.tsx to render EuiBadge before checking the snapshots to reduce the snapshot churn caused by Emotion.
Updated tests that target EuiButton to simulate click events to target a generic button to prevent undefined click event errors

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

* Added imports for the added flyout mixin. Removed references to EuiCallOut mixin as the component has been converted to Emotion and is no longer available for use.

* Updated unit tests and snapshots in Jest Test Suite #10.
Updated snaphshots to account for EuiBadge, EuiDescriptionList, EuiFlyout, and EuiCard Emotion conversions. Updated snapshots for EuiTooltip as it now contains the new EuiTooltipAnchor component that replaced the tooltip anchor styles.
Updated tests that target EuiButton to simulate click events to target a generic button element to prevent undefined click event errors

* Updated unit tests in Jest Test Suite #11 that target EuiButton to simulate click events to target a generic button to prevent undefined click event errors

* Updated unit tests in Jest Test Suite #12 by updating tests that target EuiButton to simulate click events. Instead, these tests now target a generic button element to prevent undefined click event errors

* Updated unit tests in Jest Test Suite #1 by updating tests that target EuiButton to simulate click events. Instead, these tests now target a generic button element to prevent undefined click event errors

* Updated unit tests in Jest Test Suite #2 by updating tests that use EuiButton to simulate click events. Instead, these test have been updated to target a button element to prevent undefined click event errors.

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* Updated reference to mixins Sass file.
Updated snapshots for Jest Test Suite #5 to account for EuiButton Emotion conversion. Updated unit tests that target EuiButton to simulate click events. These tests have been updated to target a button element to prevent undefined click event errors

* Updated unit tests in Jest Test Suites 3, 7, 8, 13, and 14.
Updated snapshot to account for EuiButton Emotion conversion.
Updated tests that target EuiButton to simulate click events. These tests now target a generic button element to prevent undefined click event errors.
Updated a few snapshots by adding .render() before checking the snapshot. This will prevent large snapshots coming from recent Emotion conversions

* Updated snapshots in Jest Test Suite #10 to account for the recent EuiButton Emotion conversion

* Updated unit tests in Jest Test Suite #2 by editing tests that target EuiButton to simulate click events. These tests now target a button element in order to prevent undefinde click event errors

* Updated snapshots in Jest Test Suite #10 to account for EuiButton and EuiDescriptionList Emotion conversions

* Updated test cases in Jest Test Suites 3, 7, and 8. Updated snapshots to account for EuiButton and EuiPagination Emotion conversions.
Updated tests that target EuiButton to simulate click events. These tests now target a button element to prevent undefined click errors

* Updated test cases in Jest Test Suite 14. Updated snapshots to account for EuiButton Emotion conversion. Opted to use .render() when updating a few snapshots to reduce the large length of snapshots caused by Emotion

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* Revised a change to betaBadgeProps to ensure that the label is available. If not, the value for the badge with be set to undefined.

* Resolved two linting errors

* Resolved two linting errors

* Updated Jest unit tests in various suites.
Updated snapshots to account for EuiButton Emotion conversion. Updated snapshots for EuiTooltip as it now contains the new EuiTooltipAnchor component that replaced the tooltip anchor styles.

* Updated EuiFlyout in query_flyout.tsx to remove the onClick function from maskProps as it is no longer available. Updated this flyout to use ownFocus and not to close when the overlay mask is clicked.

* Removed the use of EuiButtonIconColor in favor of EuiButtonIconProps['color']

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* Updated Cypress test looking for strict equality on EuiPaginationButton class names to match a substring of the Emotion generated class name

* Removed unneeded debugging code. Updated snapshots for various test suites to account for the recent EuiButton Emotion conversion

* Updated a few EuiButton, EuiButtonEmpty, and EuiText components that set the color as ghost. The ghost color mode has been deprecated as of PR #6150. These components now are wrapped in EuiThemeProvider with a dark colorMode to create the previous ghost color.

* Resolved  TS error with EuiCard betaBadgeProps

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* Remove references to now-removed EuiFlyout CSS classes/vars

* Remove now-removed euiBadge className references

- Convert directly to EuiBadge instead of using CSS

- Remove confusing and now-possibly-irrelevant CSS badge overrides - left/right icons are now set via JSX and not via flex-direction

* Pre-emptively fix various euiOverlayMask CSS overrides

- this data attr isn't technically in yet but will be once https://github.com/elastic/eui/pull/6289 merges

- at the very least this isn't breaking any more than it currently already is!

* Update to v67.1.3

* v67.1.4

* Resolved test failing test case in Security/Manage/Blocklist. The test did not remove focus from the last combo box in the form, which didn't allow the disbaled attribute to be removed from the flyout submit button. I've updated the mock file for Blocklist to return focus to the first form element in the flyout to allow the disabled attribute to be removed.

* Updated snapshots to account for the recent EuiText Emotion conversion

* Fix Log's custom tooltips relying on EuiTooltip classNames that no longer exist

* Fix Vega vis custom tooltips relying on EuiTooltip classNames that no longer exist

- this one is trickier than Log's as it's not using React, so we need to use Emotion's Global to set a static className

* Convert remaining vega_vis.scss to Emotion

- as an example of how other global + non global styles could be handled in the future

* Fix references to removed `euiPaginationButton-isActive` className

- use aria-current attribute instead

* Added missing EuiFlyoutAnimation keyframes for EuiFlyout. This resolved test that failed because they used onAnimationEnd because the FlyoutAnimation could not be found.

* Reolved Jest Tests in suites 1 and 5. Updated snapshots to account for the recent EuiButton Emotion conversion. Updated snapshots for EuiToolTip as it now contains the new EuiToolTipAnchor component that replaced the tooltip anchor styles.

* iterate on rules_list.test.tsx

* bump eui to v67.1.5

* Updatde snapshots for jest test suites to account for the recent EuiButton, EuiOverlayMask, EuiTooltip, and EuiBadge Emotion conversions

* Resolved failing security test by updating the target element for CONNECTOR_TITLE. EuiCard has recently been converted to Emotion and the card title is no longer wrapper in a span.

* Resolved failing test case in Runtime Fields. The modify runtime field test was failing because the combobox responsbible for adding and updating scripts was not appearing. The textbox did not appear because the shared setFieldScript function targets and toggles the script textbox when opening the flyout. When a runtime field is being modified, the toggle is already active and using the shared function will trigger the toggle again (losing access to the script textbox).
Also resolved an issue that prevented the warning EuiCallout to appear when changing the type of a runtime field from its original type. Resolved this by adding an enter keypress at the end of setFieldType function to confirm the type selection, thus triggering the EuiCallout

* Resolved two tests that were failing in Lens. These test were failing because they were checking for equality in class names that no longer exist within EuiButtonGroup as it was recently converted to Emotion. These tests were updated to check for a substring of the new and longer class name

* Quick fix in test case failing because of misspelling in data-test-sub

* Updated snapshot for Jest test case as EuiButton as recently been converted to Emotion

* Removed console.log statement. Oops!

* Resolved a failing test case in Lens. They were failing because they were checking for equality in class names that no longer exist within EuiButtonGroup as it was recently converted to Emotion. These tests were updated to check for a substring of the new and longer class name.
Updated a Security test case by giving a target button the data-test-subj attribute for easier querying

* Removed reference to EuiFlyout mixin as it has been converted to Emotion. Updated the reference to an interal copy of EuiFlyout styles

* Corrected spelling error in EuiFlyout animation in Lens app

* Update EUI with latest backport

* Update button snapshots

* fix another button snapshot

* More snapshot fixes

* [EuiButton][Security] Fix button relying on now-removed `euiButton__text` CSS

- replace removed CSS with `eui-textTruncate` util instead

- combine/DRY out unnecessary span - was affecting min-width of truncation util

+ increase screenshot diff limit - this was smaller than updating the actual baseline screenshots for whatever reason (likely render diff between local and CI)

* Fix remaining Jest tests affected by Emotion conversions

- because Emotion creates its own wrapper, `.first()` can no longer be used - prefer `.last()` instead

* Fix Jest test affected by EuiButton Emotion conversion + removed modifier class

- targeting the native DOM node + filtering by disabled true/false gets us back to the 'correct' lengths

* Fix + improve flyout test

- `.last()` changes to account for EuiButton Emotion conversion is needed, but the last onClose assertion still fails due to us having modified inputs, and the confirm modal being displayed

- split test into two separate tests - one testing the onClose call, and the other testing the confirm modal

* derpin

* Skip rules_list Jest suite

* Update new EuiButton snapshot

* Upgraded EUI version to 67.1.7

* [EuiCard] Update snapshots

* [EuiPopover] Update snapshots

* [QA] Fix missing Vega warn/error message colors

;_;

* [CI] Auto-commit changed files from 'node scripts/generate codeowners'

* Fix Lens kbnToolbarButton regressions

- Caused by flattening of EUI button CSS specificity

- background-color was previously relying on isDisabled CSS specificity to override its #fff color

- `text` color modifier & `!important` is no longer needed and overrides Emotion CSS flatly

- isDisabled class is no longer needed - euiButton no longer sets `pointer-events: none` on disabled buttons (fixes tooltip bug in webkit as well)

* Backport EUI 67.1.8 fixes

* Update EuiCard snapshots

* Fix EuiModal form wrapper causing overflow issues

- see https://elastic.github.io/eui/#/layout/modal#forms-in-a-modal

* Workaround for `.kbnOverlayMountWrapper` mount point causing overflow issues

- not sure what all is using this modal service to be honest, but the wrapper is causing issues with the modal layout, this fixes overflow issues but will not fix any mask-image issues as a result

* more snapshot updates

* EuiButton - added textProps to EuiButton to prevent very long button names from spilling over outside of the container

* EuiButton - Update EuiButton related snapshots. Updated tests that target EuiButton directly to use a data-telementary-id for more specific element querying required by Emotion

* QA - Removed unnecessary comment in code

* Temporary fix for EuiCard[selectable][layout=horizontal] instances on security solutions' rule page

* Temporary fix for EuiCard[selectable][layout=horizontal] instances on osquery live query and canvas's datasource selector

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

* Fix CSS specificity, where canvas's solutionToolbarButton's background-color now takes precedence over EuiButton's primary styles

* Removed update to search_marker_tooltip that removed the euiTooltip styles and replaced then with Emotion styling. Added EuiTooltip Sass styles for the component to rely on to test for a styling bug that is causing the tooltip and the tooltip arrow to be out of sync with each other.

* Lint Sass file

* Lint Sass file

* Removed overflow:hidden style from .vgaVis_view as it was causing euiScrollStyles not to present the scroll bars in Vega Vis

* Remove typo from EuiButton textProps object. 'className' should not have been included in the actual class name

* Revert tooltip Sass

This reverts commit 20e6ead571, a5cd2de901, and c605cbd7b9

* Fix Emotion tooltip arrows

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Constance Chen <constance.chen@elastic.co>
Co-authored-by: Chandler Prall <chandler.prall@elastic.co>
2022-11-07 21:45:50 +00:00
Spencer
7d77d39e1f
[ts] set allowJs to true by default (#144281)
* [ts] set allowJs to true by default

* fix scripts/check_ts_projects, original implementation is now wildly inefficient

* produce stats in check_ts_projects to make sure it's actually working

* fix imports
2022-11-01 15:26:44 -07:00
spalger
52f2b33a07
[auto] migrate existing plugin/package configs 2022-10-28 14:06:46 -05:00
Matthew Kime
631c24abf4
[unified search] Query string input uses data views plugin directly instead of via deprecated data plugin reference (#143611)
* use data views plugin

* remove unneeded dependency

* use data views plugin

* fix type

* type fix

* supply dataViews as depedency

* supply dataViews as depeden
2022-10-20 07:15:33 -07:00
Marco Liberati
6522bbb453
[UnifiedSearch][Lens] Make sure adHoc dataViews are receiving the right query suggestions (#143389)
* 🐛 Resolve title and id strings as dataViews

* 🐛 Make sure dataViews are passed by id when available

* 🐛 Forgot to spread results

*  Fix and add more tests

* 🐛 Fix test

*  refactor as suggested for performance

* 🏷️ reuse type

*  Fix one more test

* 🐛 Fix mock name

* Update x-pack/plugins/graph/public/components/search_bar.test.tsx

* Update x-pack/plugins/graph/public/components/search_bar.test.tsx

* 🐛 Fix instanceof issue

* 🐛 Use a mock function for dataview

Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2022-10-19 15:29:29 +02:00
Matthias Wilhelm
384ecc4b7b
[Graph] Unskip a11y functional test (#141798) 2022-09-29 12:43:47 +02:00
Dmitry Tomashevich
2b4f5d9a64
[Graph] Align Inspect requests experience with common approach (#141222)
* [Graph] hide inspect button when there is no relevant request content

* [Graph] fix functional

* [Graph] add common inspector

* [Discover] fix checks

* [Discover] apply suggestion
2022-09-29 11:19:58 +03:00
Davis McPhee
b026d2c84d
[Graph] Fix guidance panel appearing for a moment when saving Graph (#141228)
* [Discover] Fix issue where workspace switches to uninitialized briefly when saving as copy in Graph

* [Graph] Add Jest tests for Graph workspace saving bug
2022-09-22 10:22:18 -03:00
Julia Rechkunova
03a3446111
[Graph] Fix query bar autocomplete (#140963)
* [Graph] Fix unified search dep

* [Graph] Fix after the merge

* [Graph] Fix autocomplete by excluding filtering by time range

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-09-22 13:04:00 +02:00
Julia Rechkunova
797b351b1a
[Graph] Fix drilldown url templates for sample data (#141079)
* [Graph] Fix drilldown url templates for sample data

* [Graph] Add tests

* Revert "[Graph] Add tests"

This reverts commit 08d5c7d864.

* Revert "[Graph] Fix drilldown url templates for sample data"

This reverts commit 0fc575ef09.

* [Graph] Fix issue with opening sample graph ws in any Kibana spaces

* [Graph] Add tests

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-09-22 13:03:38 +02:00
Nodir Latipov
10211c6df7
[Unified Search] Fix regress autocomplete (#140880)
* fix: refress with autocomplete

* fix: autocomplite

* feat: added usageCollection to unified search plugin

* fix: check type

* fix: jest test

* refact: move usageCollection to optionalPlugins

* cleanup

* fix: avtocomplete in lens

* fix default editro

* some cleanup

* feat: rename app name in Lens

* feat: rename app in apm

* fix: descover autocomplete
2022-09-21 16:29:46 +05:00
Julia Rechkunova
3487e3a221
[Graph] Fix positioning of Add fields popover (#141040)
* [Graph] Fix positioning of Add fields popover

* [Graph] Fix positioning of Edit field popover
2022-09-20 14:09:40 +02:00
Julia Rechkunova
7a1934fcfc
[Graph] Fix responsive styles of field manager (#140948) 2022-09-19 18:41:31 +02:00
Sébastien Loix
189196181c
[Table list view] Improve UX (phase 1) (#135892) 2022-09-19 12:29:23 +02:00
Nodir Latipov
1fcd75a706
[Unified Search] Create a filter builder component which works with nested OR/AND filters (#136815)
* init: add filters editor component

* apply some changes

* add storybook

* push some changes

* push some logic

* push some logic

* push some logic

* add reducer

* add more complext filters

* feat: add moveFilter action

* feat: add input form for filters editor filter item

* feat: add filter UI

* fix: storybook

* fix UI: edit filter component

* style: add panel to filter

* feat: update style

* style: add style for dilimeter

* refact: filter item

* style: added style for odd filter group

* feat: added add filter action

* feat: update add filter in filter group

* feat: added remove filter

* refact: updated add filter and remove filter

* feat: added addFilterGroup

* feat: updated addFilterGroup with empty filter

* refact: utils

* refact: seperte filters editor filter (field input)

* refact: seperte filters editor filter (operator input)

* refact: filters editor

* refact: filters editor (params field

* push some changes

* push some cleanup

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* move filters to __mock__ folder

* feat: update handle filter item

* add getFilterByPath method

* remove addFilterGroupWithFilter

* remove addFilterGroupWithFilter

* add some logic

* add addFilter support

* update styles

* add removeFilter

* fix types

* refact: cleanup any

* refact: filter item

* fix: data for show filter item

* refact: cleanup useState in filters editor

* refact: filter edit

* style: fix UI in filter group

* add disableOR/AND/DELETE params

* add preparation for d2d

* fix: show filter item after add filter

* update filterGroup

* fix: drag and drop

* do cleanup

* feat: add logic for drag&drop

* style: filter item

* apply new structure

* push some logic

* fix some cases

* feat: udpated updateFilter

* feat: added update field in filter

* feat: added update params in filter

* feat: added update operator in filter

* feat: added update operator in filter--amend

* style: add uiPanel into filterItem

* feat: added translate

* refact: filter item

* feat: updated filter item for exists type

* feat: added unique key for filter Item

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* fix: update params

* fix: update params

* style: params input

* fix: disabled for phrase value input

* feat: added filter params update

* refact: change type

* feat: index for EuiDraggable

* refact: rename properties

* feat: added useCallback

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* refact: cleanup code

* refact: minor changes

* style: change show label for filter phrase(s)

* dandd preparation

* feat: add ref to panel

* fix merge configct

* refact: destination => dropTarget and added it into context

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

* feat: udpate d&d logic

* feat: added chagne cursor for OR filter

* feat: add change cursor in d&d

* feat: add change cursor in d&d

* style: changed cursor view svg

* feat: added disable or conditional in d&d

* feat: moved filter_editor -> shared_component

* style: used emotion react

* move filter_label

* rename filters editor -> filters builder

* feat: added hideOr

* feat: added hideOr

* feat: added sisabled and drop if depth =  maxDepth

* feat: update disable isCombine

* feat: rename filtersEditor->filtersBulder

* feat: added new storybook

* feat: remove autocomplete service

* refact: updated filterBuilder

* feat: updated css style

* fix: jest test

* refact: move snapshot for filter label

* feat: update search bar

* refact: filter builder utils

* fix: update filter

* refact: update filter builder

* fix: autocomplete test

* fix: test

* fix: jest test

* fix: d&d

* test: update test

* test: update test

* fix: functional tests:

* fix: check type

* refact: move filter

* refact: minor

* feat: move filter editor from shared components to filter bar

* minor update

* fix: check type

* fix: type check

* fix: d&d

* fix: d&d

* feat: resolve comment

* minor fix

* fix: d&d

* fix: type check test

* fix: check type test

* feat: covered new case with d&d

* feat: covered new case with d&d

* feat: covered new case with d&d

* refact: move filter

* fix: bug with storybook

* refact: remove todo comment

* fix normalizeFilters method

* refact: ref to FilterEditor

* refact: moved filters_builder to up level

* fix: update operator

* refact: key for list

* refact: did FiltersBuilder lazy

* feat: move cvg to under component and rename

* feat: resolve comment

* feat: added validation for filter build item into params enter uncorrect date

* test: added test for normalizeFilters

* feat: update test

* style: fix UI

* refact: utils files in filters builder

* style: filter group  background

* style: filter group

* doc: added comment to methods in utils

* style: fix border

* style: fix border

* fix: UI

* feat: added backgroud for gray filter group

* temp changes

* fix some styles

* feat: added devider and margin

* style: change style -> css

* style: change style -> css

* refact: style

* refact: style

* fix: test

* refact: style

* feat: added rule for show border

* style: UI

* style: show OR delimiter

* style: margin for AND delimiter

* feat: update show border for first level

* feat: update styles

* style: fix padding for panel
2022-09-13 19:36:52 +05:00
Julia Rechkunova
fe4553ddee
[Graph] Fix closing behaviour of the field picker popover (#138799) 2022-08-15 16:53:15 +02:00
Matthew Kime
b16f91625c
Saved Object Finder - allow it to find data views (#137766)
* add defaultSearchField
2022-08-02 16:31:12 -04:00
Pierre Gayvallet
0645a3ba38
Create common and api types packages for the savedObjects domain (#136722)
* Creating empty @kbn/core-saved-objects-common package

* start moving types around

* start fixing imports

* fix entrypoint exports

* fix external import

* create explicit ISavedObjectsRepository interface

* fix another external usage

* rewrite browser exports

* create explicit SavedObjectsClientContract interface

* move client/repository types to @kbn/core-saved-objects-api-server

* start fixing imports

* one more

* fix global re-exports

* fix some browser-side imports

* fix more violations

* prepare the browser-side client

* fix one more usage

* fix external usage

* fix more external usages

* one more

* Create @kbn/core-saved-objects-api-browser package

* fix more usages of error helper

* fix more internal imports

* use interface for SSO

* adapt more imports

* damn those types were a mess

* fix more usages of SSO

* Revert "fix more usages of SSO"

This reverts commit 07a12e5353.

* Revert "use interface for SSO"

This reverts commit 6240fc86c5.

* export the interface with the old name instead.

* adapt tests concrete usages of SSO

* export reference type, more fixes

* this gonna be long

* one more

* other resolve type change

* more usages

* Am I getting close?

* yet more fixes

* back to client impl

* fix bulkGetting undefined

* fix SS mock

* some cleanup

* self-review

* fix new usages
2022-07-26 04:01:33 -07:00
Gerard Soldevila
4824d9da8c
Migrate types to packages: Client-side HTTP service (#135562)
* Migrate types to packages: Client-side HTTP service

* Fix linting issues, compactify some imports

* Fix incorrect typing, remove unnecessary exports

* Remove unnecessary export

* Fix trailing spaces removed by mistake

* Move Sha256 to new @kbn/crypto-browser package

* Support deprecated 'req' property in isHttpFetchError() method

* Fix failing UT in lens

* Update API docs

* Reorder imports, absolute imports first

* Provide createHttpFetchError() convenience method

* Fix typing issue

* Fix rebase issues

* Fix incorrect import

* Avod using core internals for plugin testing

* Fix automerge issues

* Misc enhancements following PR review
2022-07-11 12:25:55 -07:00
Dmitry Tomashevich
789e2e9ceb
[Graph] Remove Venn diagram dependency (#135007)
* [Graph] remove venn diagram dependency

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* [Discover] add license changes

* Update x-pack/plugins/graph/public/components/venn_diagram/vennjs/LICENSE

Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>

* [Graph] apply suggestions

* [Graph] update yarn lock

Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>
2022-07-05 15:04:28 +03:00
Julia Rechkunova
f308aa166d
[Graph] Migrate from savedObjectsClient to dataViews and fix the displayed data view name (#135142)
* [Graph] Migrate from savedObjectsClient to dataViews

* [Graph] Update tests

* [Graph] Fix "no data views" view

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-06-28 17:00:23 +02:00
Greg Thompson
2336f33632
Upgrade EUI to v59.0.1 (#133927)
* eui to v59.0.0

* i18n tokens

* update theme var tokens

* mock mouseevent for euiselectable

* mock mouseevent for euiselectable

* update theme var tokens

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

* mock mouseevent for euiselectable

* update theme var tokens

* update theme var tokens mocks

* WIP: forwardRef type

* update snapshots

* euiTextColor

* snapshot updates

* jest test updates

* euiTextColor updates

* jest test updates

* update getVisualizeError selector

* euiPaddingSizes

* snapshot update

* WIP: accordion cy.react

* DetailPanelMetadataTab test updates

* eui to v59.0.1

* snapshot updates

* WIP: osquery cypress

* WIP: osquery cypress

* use data-test-subj

* log standard console errors

* snapshot

* paddingSizes update

* euiaccordion class type comment

* snapshots

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-06-21 17:08:15 -05:00
Anton Dosov
a8095ce11a
Remove deprecated es-query re-imports from data plugin (#134600) 2022-06-21 04:09:44 -07:00
Bhavya RM
7e44314b4a
Graph a11y tests (#134694)
Graph a11y tests
2022-06-20 14:33:13 -04:00
Matthew Kime
d3e5764102
[data views] More dev docs (#132817)
* more data view code comments
Co-authored-by: Jean-Louis Leysens <jloleysens@gmail.com>
2022-06-01 21:00:35 -07:00
Sébastien Loix
a80bfb7283
[Content management] Add "Last updated" metadata to TableListView (#132321) 2022-05-19 09:18:21 -07:00
Stratoula Kalafateli
0d4cc4dc32
[Unified search] Improves the current filter/search experience (#128401)
* [Unified search] Moves dataview picker to the search bar (#126560)

* [Unified search] Moves dataview picker to the search bar

* alter texts

* Remove unused file

* [ChangeDataView] Design cleanup

* Fix services mock failure

* Show newly created datavuew on the list

* Keep dataview picker in discover in mobile view

* Cleanup

* Cleanup translations

* Fix some discover FTs

* Fix management FTs

* More test fixes

* Added a dismissible tour

* Pulled the selectabl list into a new component

… for reuse

Called `DataViewsList`. I then changed Lens’ config panel’s own EuiSelectableList to use this new component instead.

*Didn’t do any test updates*

* Fix broken jest test

* Use the same picker component on Discover mobile view

* Apply some CI fixes

* Fix more functional tests

* More FTs fixes

* Close the tour popover for lens tests

* More FTs fixes

* Fix lens FTs

* Using new `styles.ts` pattern for custom styles and allowing for `fullWidth` buttons

* Better tour text and i18n

* Update copy

* No exclamation point

* Cleanup

* Fixes on discover tests

* Fixes on Lens Fts - create runtime fields

* Fixes on edit permission of add field in discover and some FTs fixes

* Further Fts fixes

* More FTs fixes

* Made tour opt-in with `showNewMenuTour`

* Refactor the OSS FTs to change less files

* Further cleanup on the FTs

* Remove unecessary action

* Fix dataview creation bug

* Add a unit test to the new component

* More fixes

* Fix OSS a11y tests

* Adds another unit test for Lens permissions

* Make a change to stabilize the tests

* Clear flyout prop as it is not used anymore

* Deisgn fixes for mobile view

* Address PR comments WIP

* Update the layrpanl dataview list when a new dataview is created

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: cchaos <caroline.horn@elastic.co>
Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>

* fix test

* Fix CI

* Fix i18n checks

* [Unified search] Redesign search bar (#126566)

* [Unified search] Redesign search bar

* Changes to the saved queries design

* Remove `globalQueryBar` from nested under `.kbnTopNavMenu__wrapper`

* [Security Solution] Removing overrides of `.globaQueryBar`

* Cleanup of `.globalQueryBar` styles and variants

* General layout fixes/adjustments

* More general layout fixes and better defaults

* Enable Clear all button if saved query is applied

* Clear should be enabled if searched query is applied but not the save as new

* fix some bugs on enabling and disabling the menu options

* [design] Working on Load Filter set menu

* Indicate selection even before the user clicks apply

* prettify the time text

* Add delete saved qquery confirmation modal

* Some cleaning up

* Fix the manage saved queries link

* Enable load filter set if saved query is created for the first time

* Some fixes on linting and on translations

* Clanup scss

* Make some fixes

* Fix navigatation unit test

* Fix translations check

* Fix rest jest tests

* Fix some functional tests

* Fix checks

* Fixes the appearance of the searchbar components depending on the flags

* Fix OSS tests

* Fixes on tests and query bar logic

* Fix the OSS ally tests

* Fix graph and lens KQL bar display problems, apply saveQuery flag correctly

* Fix more tests

* Fix security solution test

* Undo tweaks for graph

* Better fix for Graph

- Emulate new look, not old
- Uses same context menu panel as the new one
- Provides the same button type (filter button)

* Fix checks and jest test

* Further fixes

* Fix language switcher test

* Hopefully fixes the rest of the solution tests

* Cleanup

* Fixes on maps filtering

* Fix Discover padding

* [Discover] Added New Field button to bottom of fields list

* Simple responsive behavior

* Quick filter updates

* CI fixes

* area-label fix

* 18n translate the add filed btn in discover

* Fix lens functional test

* fix functional tests

* Refactor and add unit test for the add filter button

* Add unit test to the saved management list component

* Stabilize lens test

* Second try to solve the flakiness

* Fix panels depending on the flags

* Fix jest tests

* Fix double menu when only the queryInput is on

* Add storybook for the different layouts of the unified search bar

* Fix ci checks

* Removee hooks comment

* Fix flakiness

* Fix problem with lens dataview change

* Fix checks

* Ensure that the query is submitted

* Fixes oon CI

* Fixes flakiness

* Fix checks CI

* Update texts

* Cleanup

* Fix unskipped funtional test

* Fix FT

* Update src/plugins/unified_search/public/saved_query_form/save_query_form.tsx

Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>

* Fix eslint

* Fix checks

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: cchaos <caroline.horn@elastic.co>
Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>

* Fix jest

* Fix jest tests

* Stabilize discover security tests

* [Unified search] Further enhancements (#129877)

* [Unified search] Redesign search bar

* Changes to the saved queries design

* Remove `globalQueryBar` from nested under `.kbnTopNavMenu__wrapper`

* [Security Solution] Removing overrides of `.globaQueryBar`

* Cleanup of `.globalQueryBar` styles and variants

* General layout fixes/adjustments

* More general layout fixes and better defaults

* Enable Clear all button if saved query is applied

* Clear should be enabled if searched query is applied but not the save as new

* fix some bugs on enabling and disabling the menu options

* [design] Working on Load Filter set menu

* Indicate selection even before the user clicks apply

* prettify the time text

* Add delete saved qquery confirmation modal

* Some cleaning up

* Fix the manage saved queries link

* Enable load filter set if saved query is created for the first time

* Some fixes on linting and on translations

* Clanup scss

* Make some fixes

* Fix navigatation unit test

* Fix translations check

* Fix rest jest tests

* Fix some functional tests

* Fix checks

* Fixes the appearance of the searchbar components depending on the flags

* Fix OSS tests

* Fixes on tests and query bar logic

* Fix the OSS ally tests

* Fix graph and lens KQL bar display problems, apply saveQuery flag correctly

* Fix more tests

* Fix security solution test

* Undo tweaks for graph

* Better fix for Graph

- Emulate new look, not old
- Uses same context menu panel as the new one
- Provides the same button type (filter button)

* Fix checks and jest test

* Further fixes

* Fix language switcher test

* Hopefully fixes the rest of the solution tests

* Cleanup

* Fixes on maps filtering

* Fix Discover padding

* [Discover] Added New Field button to bottom of fields list

* Simple responsive behavior

* Quick filter updates

* CI fixes

* area-label fix

* 18n translate the add filed btn in discover

* Fix lens functional test

* fix functional tests

* Refactor and add unit test for the add filter button

* Add unit test to the saved management list component

* Stabilize lens test

* Second try to solve the flakiness

* Fix panels depending on the flags

* Fix jest tests

* Fix double menu when only the queryInput is on

* Add storybook for the different layouts of the unified search bar

* Fix ci checks

* Removee hooks comment

* Fix flakiness

* Fix problem with lens dataview change

* Fix checks

* Ensure that the query is submitted

* Fixes oon CI

* Fixes flakiness

* Fix checks CI

* Update texts

* Cleanup

* Fix unskipped funtional test

* Fix FT

* Fixes filter bar responsiveness

* Add filter button option to the main menu

* Filter form design pass

- Added tooltip around “Add filter” icon button
- Fixed padding
- Stubbed in “Add” vs “Edit” labels

* Query menu icon button tooltip

* ‘Update’ not ‘Edit’ button label

* Apply different strings for adding filter mode vs edit

* Hide Manage SO link if the user donesnt have the permissions

* Fix the wrapping of the badges and datepicker badge

* Minor props naming fix

* Fix checks

* Fix mobile

* Cleanup

* Fix checks

* Faux button group

* Changes on the search input placeholder

* Fix CI

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: cchaos <caroline.horn@elastic.co>
Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>

* Fix translations

* Fix security solution add filter bug

* Filter bar / items: Reduce to only necessary wrappers and styles

- Switch to Emotion for styling
- Rename `FilterBadgesWrapper` to `FilterItems`
- Move `FilterItems` and `FilterItem` so own folder `filter_item/`

# Conflicts:
#	src/plugins/unified_search/public/filter_bar/filter_bar.tsx
#	src/plugins/unified_search/public/filter_bar/filter_editor/lib/filter_label.tsx
#	src/plugins/unified_search/public/filter_bar/filter_item/filter_item.tsx
#	src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx
#	src/plugins/unified_search/public/filter_bar/filter_view/index.tsx
#	src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx
#	src/plugins/unified_search/public/search_bar/search_bar.tsx

* Fix styles by removing styled-components

Also added prop `afterQueryBar` to signify that it needs the top margin

# Conflicts:
#	packages/kbn-babel-preset/styled_components_files.js

* Refactor `SearchBar` and `QueryBarTopRow` a bit

- Added `showSubmitButton` to explicitely hide the submit button (defaults to true)
- SearchBar always renders the `QueryBarTopRow` which now fully controls visibility of the pieces
- Renamed class with new `uni` prefix
- Tried and failed to use Emotion

* Update usages

# Conflicts:
#	x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx

* Fix a test

* Fix jest test

* Attaches filter menu when no add button and better dropdown styles

* Fix lint errors

* Clearing the query and filters of a saved query should unload the saved query

* Do not allow to update the loaded saved query if no filters or no query

* Fix Graph by creating reusable `KibanaFilterButtonGroup`

* Use EuiTheme for SearchBar styles

Updated `displayStyle` for Lens & Discover

* Fix displayStyle prop problem

* Correct alignment of data visualizer

* Super nit comment

* Data visualizer improvements

* Apply useMemo in editPermission cont in Discover

* Fix translations checks

* Fix translations checks

* Fix filter badge popover bug

* [Submit button] Changed to EuiSuperUpdateButton

- Quickly adds tooltip content and filled state for more prominence when dirty
- Fixed 18n

* Fix tests

* Align the position with the other tolltips and check that functional tests succeed

* Give some time to the tooltip to disappear

* Fix tests

* Fix CI checks

* Address PR comments

* Move constants outside render

* Apply PR comments

* Fix dataview picker glich

* lovercase emotion function

* Fix a11y problem on dataview picker

* Lowercase rest of emotion style functions

* Clean up

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: cchaos <caroline.horn@elastic.co>
Co-authored-by: Caroline Horn <549577+cchaos@users.noreply.github.com>
Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>
2022-05-06 10:10:01 +03:00
Spencer
542b381fa5
[ftr] automatically determine config run order (#130983)
* [ftr] automatically determine config run order

* split lens config into two groups

* support ftr configs always running against CI

* Split detection_engine_api_integration rule exception list tests

* Add configs from previous commit

* [ftr] remove testMetadata and maintain a unique lifecycle instance per run

* Revert "[ftr] remove testMetadata and maintain a unique lifecycle instance per run"

This reverts commit d2b4fdb824.

* Split alerting_api_integration/security_and_spaces tests

* Add groups to yaml

* Revert "Revert "[ftr] remove testMetadata and maintain a unique lifecycle instance per run""

This reverts commit 56232eea68.

* stop ES more forcefully and fix timeout

* only cleanup lifecycle phases when the cleanup is totally complete

* only use kill when cleaning up an esTestInstance

* fix broken import

* fix runOptions.alwaysUseSource implementation

* fix config access

* fix x-pack/ccs config

* fix ml import file paths

* update kibana build id

* revert array.concat() change

* fix baseConfig usage

* fix pie chart data

* split up maps tests

* pull in all of group5 so that es archives are loaded correctly

* add to ftr configs.yml

* fix pie chart data without breaking legacy version

* fix more pie_chart stuff in new vis lib

* restore normal PR tasks

* bump kibana-buildkite-library

* remove ciGroup validation

* remove the script which is no longer called from checks.sh

* [CI] Auto-commit changed files from 'yarn kbn run build -i @kbn/pm'

* adapt flaky test runner scripts to handle ftrConfig paths

* fix types in alerting_api_integration

* improve flaky config parsing and use non-local var name for passing explicit configs to ftr_configs.sh

* Split xpack dashboard tests

* Add configs

* [flaky] remove key from ftr-config steps

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* restore cypress builds

* remove ciGroups from FTR config files

* fixup some docs

* add temporary script to hunt for FTR config files

* use config.base.js naming for clarity

* use script to power ftr_configs.yml

* remove usage of removed x-pack/scripts/functional_tests

* fix test names in dashboard snapshots

* bump kibana-buildkite-library

* Try retrying only failed configs

* be a little quieter about trying to get testStats from configs with testRunners defined

* Remove test code

* bump kibana-buildkite-library

* update es_snapshot and on_merge jobs too

* track duration and exit code for each config and print it at the end of the script

* store results in order, rather than by key, in case there are duplicates in $config

* bash is hard

* fix env source and use +e rather than disabling e for whole file

* bash sucks

* print config summary in jest jobs too

* define results in jest_parallel.sh

* simplify config summary print, format times a little better

* fix reference to unbound time variable, use better variable name

* skip the newline between each result

* finish with the nitpicking

* sync changes with ftr_configs.sh

* refuse to execute config files which aren't listed in the .buildkite/ftr_configs.yml

* fix config.edge.js base config import paths

* fix some readmes

* resolve paths from ftr_configs manifest

* fix readConfigFile tests

* just allow __fixtures__ configs

* list a few more cypress config files

* install the main branch of kibana-buildkite-library

* split up lens group1

* move ml data_visualizer tests to their own config

* fix import paths

* fix more imports

* install specific commit of buildkite-pipeline-library

* sort configs in ftr_configs.yml

* bump kibana-buildkite-library

* remove temporary script

* fix env var for limiting config types

* Update docs/developer/contributing/development-functional-tests.asciidoc

Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>

* produce a JUnit report for saved objects field count

* apply standard concurrency limits from flaky test runner

* support customizing FTR concurrency via the env

Co-authored-by: Brian Seeders <brian.seeders@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>
2022-05-04 17:05:58 -05:00
Nodir Latipov
b61ef246d7
fix jest test search_bar (#130876) 2022-04-25 17:35:47 +05:00
Pierre Gayvallet
a02c00b8a3
Change ContextContainer to lazily initialize providers (#129896)
* Change ContextContainer to lazily initialize providers

* Introduce CustomRequestHandlerContext, start adapting usages

* adapt IContextProvider's return type

* start fixing violations

* fixing violations - 2

* adapt home routes

* fix remaining core violation

* fix violations on core tests

* fixing more violations

* fixing more violations

* update generated doc...

* fix more violations

* adapt remaining RequestHandlerContext

* fix more violations

* fix non-async method

* more fixes

* fix another await in non async method

* add yet another missing async

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* add yet yet another missing async

* update fleet's endpoints

* fix telemetry endpoints

* fix event_log endpoints

* fix some security unit tests

* adapt canvas routes

* adapt alerting routes

* adapt more so_tagging routes

* fix data_enhanced routes

* fix license_management routes

* fix file_upload routes

* fix index_management routes

* fix lists routes

* fix snapshot_restore routes

* fix rule_registry routes

* fix ingest_pipelines routes

* fix remote_clusters routes

* fix index_lifecycle_management routes

* improve and fix the lazy implementation

* fix triggers_actions_ui endpoints

* start fixing unit tests

* fix cases routes

* fix transform routes

* fix upgrade_assistant routes

* fix uptime route wrapper

* fix uptime route wrapper bis

* update osquery routes

* update cross_cluster_replication routes

* fix some ML routes / wrappers

* adapt maps routes

* adapt rollup routes

* fix some canvas unit tests

* fix more canvas unit tests

* fix observability wrapper

* fix (?) infra type hell

* start fixing monitoring

* fix a few test plugins

* woups

* fix yet more violations

* fixing UA  tests

* fix logstash handlers

* fix fleet unit tests

* lint?

* one more batch

* update security_solution endpoints

* start fixing security_solution mocks

* start fixing security_solution tests

* fix more security_solution tests

* fix more security_solution tests

* just one more

* fix last (?) security_solution tests

* fix timelion javascript file

* fix more test plugins

* fix transforms context type

* fix ml context type

* fix context tests

* fix securitySolution withEndpointAuthz tests

* fix features unit tests

* fix actions unit tests

* fix imports

* fix duplicate import

* fix some merge problems

* fix new usage

* fix new test

* introduces context.resolve

* down the rabbit hole again

* start fixing test type failures

* more test type failures fixes

* move import comment back to correct place

* more test type failures fixes, bis

* use context.resolve for security solution rules routes

* fix new violations due to master merge

* remove comment

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-04-22 13:15:58 +02:00
Nodir Latipov
7c01257055
[Unified Search] Move autocomplete logic to unified search plugin (#129977)
* feat: move autocomplete logic from data plugin to unified search

* minor fix after comments

* updated Documentation: data.autocomplete -> unifiedSearch.autocomplete

* changed renameFromRoot order for autocomplete

* removed extra renameFromRoot in config deprecations, updated test

* added configPath for unified search plugin

* Update kibana.json

* updated path to autocomplete

* fix conflict

* fix conflict

* [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix'

* fix Linting

* fix functional_with_es_ssl test
2022-04-22 11:02:56 +05:00
Pierre Gayvallet
813193d8c3
no longer use an enum for home's FeatureCatalogueCategory (#129599)
* no longer use an enum for home's FeatureCatalogueCategory

* use export type for `FeatureCatalogueCategory`

* fix unused import

* remove home as requiredBundle for more kibana manifests

* fix imports

* how did I mess that?

* fixing the mess, bis

* fix duplicate import

* fix some merge problems

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-04-19 13:32:25 +02:00
spalger
3730dd0779 fix all violations 2022-04-16 01:37:30 -05:00
Stratoula Kalafateli
b0591a48db
[Maps][Visualize][Graph][Dashboard] Fixes the listingLimit settings url (#129701)
* [Maps][Visualize][Graph][Dashboard] Fixes the listingLimit settings url

* Check if user has permissions to alter the advanced setting

* Use the uiSettings service instead of the deprecated savedObjects one

* Address review comments - maps

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-04-12 15:16:32 +03:00
Nodir Latipov
3e2761d981
[Unified search] Create unified search plugin (#127651)
* [Unified search] Create unified search plugin

* add unified_search into USES_STYLED_COMPONENTS

* fix JEST group 4

* update limits for data plugin

* fix: remove unifiedSearch plugin from x-pack/plugins/file_upload

* feat: updated .github/CODEOWNERS and set @elastic/kibana-app-services as a code owner

* apply PR comments

* [CI] Auto-commit changed files from 'node scripts/build_plugin_list_docs'

* feat: moved filter bar, apply filters folders and apply filter action from Data plugin to unified search plugin

* fix Checks

* fix Checks

* fix Linting and Default CI Group #16

* fix Checks

* fix Checks

* fix Linting (with types)

* fix show FILTER_BAR

* fix Jest Tests

* feat replece indexPatternsContranct in setIndexPatterns to DataViewsContract

* feat: removed unnecessary interface in unified search

* fix Checks

* fix Checks

* fix Jest Tests, Checks

* fix Checks

* resolve comments

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-04-05 12:23:31 +05:00
renovate[bot]
d89ddadc17
Update typescript (main) (#129106)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Spencer <spencer@elastic.co>
2022-04-04 07:05:12 -07:00
Dmitry Tomashevich
91394d41e7
[Graph] Clean up deprecated APIs (#128579)
* [Discover] clean up deprecated apis

* [Graph] apply suggestions

* [Discover] replace the last DataView occurrence

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-03-29 17:48:49 +05:00