diff --git a/.eslintrc.js b/.eslintrc.js index c0b1d8d34e46..c011bbe6636c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -249,6 +249,16 @@ const RESTRICTED_IMPORTS = [ name: 'react-use', message: 'Please use react-use/lib/{method} instead.', }, + { + name: 'react-router-dom', + importNames: ['Route'], + message: 'Please use @kbn/shared-ux-router instead', + }, + { + name: '@kbn/kibana-react-plugin/public', + importNames: ['Route'], + message: 'Please use @kbn/shared-ux-router instead', + }, ]; module.exports = { diff --git a/examples/bfetch_explorer/public/containers/app/index.tsx b/examples/bfetch_explorer/public/containers/app/index.tsx index 1027aa7f31fd..383ff6fa3000 100644 --- a/examples/bfetch_explorer/public/containers/app/index.tsx +++ b/examples/bfetch_explorer/public/containers/app/index.tsx @@ -7,7 +7,8 @@ */ import React from 'react'; -import { BrowserRouter as Router, Route, Redirect, Switch } from 'react-router-dom'; +import { BrowserRouter as Router, Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage } from '@elastic/eui'; import { useDeps } from '../../hooks/use_deps'; import { Sidebar } from './sidebar'; diff --git a/examples/bfetch_explorer/tsconfig.json b/examples/bfetch_explorer/tsconfig.json index 94a4f021199d..e09ad294b4ae 100644 --- a/examples/bfetch_explorer/tsconfig.json +++ b/examples/bfetch_explorer/tsconfig.json @@ -18,5 +18,6 @@ "@kbn/developer-examples-plugin", "@kbn/bfetch-plugin", "@kbn/kibana-react-plugin", + "@kbn/shared-ux-router", ] } diff --git a/examples/embeddable_explorer/public/app.tsx b/examples/embeddable_explorer/public/app.tsx index e37765b007ee..ac24e45818bf 100644 --- a/examples/embeddable_explorer/public/app.tsx +++ b/examples/embeddable_explorer/public/app.tsx @@ -8,8 +8,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { BrowserRouter as Router, Route, withRouter, RouteComponentProps } from 'react-router-dom'; - +import { BrowserRouter as Router, withRouter, RouteComponentProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage, EuiPageSideBar_Deprecated as EuiPageSideBar, EuiSideNav } from '@elastic/eui'; import { EmbeddableStart } from '@kbn/embeddable-plugin/public'; diff --git a/examples/embeddable_explorer/tsconfig.json b/examples/embeddable_explorer/tsconfig.json index b69738ab1f0b..c6ba97cabe51 100644 --- a/examples/embeddable_explorer/tsconfig.json +++ b/examples/embeddable_explorer/tsconfig.json @@ -20,5 +20,6 @@ "@kbn/inspector-plugin", "@kbn/embeddable-examples-plugin", "@kbn/developer-examples-plugin", + "@kbn/shared-ux-router", ] } diff --git a/examples/guided_onboarding_example/public/components/app.tsx b/examples/guided_onboarding_example/public/components/app.tsx index ae55f3d3811d..41b9f62ddc07 100755 --- a/examples/guided_onboarding_example/public/components/app.tsx +++ b/examples/guided_onboarding_example/public/components/app.tsx @@ -8,7 +8,8 @@ import React from 'react'; import { FormattedMessage, I18nProvider } from '@kbn/i18n-react'; -import { Router, Switch, Route } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage, diff --git a/examples/guided_onboarding_example/tsconfig.json b/examples/guided_onboarding_example/tsconfig.json index d3c93fc9ec38..0707df0a3330 100644 --- a/examples/guided_onboarding_example/tsconfig.json +++ b/examples/guided_onboarding_example/tsconfig.json @@ -16,6 +16,7 @@ "@kbn/i18n-react", "@kbn/i18n", "@kbn/guided-onboarding", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/examples/locator_examples/public/app.tsx b/examples/locator_examples/public/app.tsx index 048da396833b..34f991c975be 100644 --- a/examples/locator_examples/public/app.tsx +++ b/examples/locator_examples/public/app.tsx @@ -12,7 +12,8 @@ import ReactDOM from 'react-dom'; import { EuiPageBody } from '@elastic/eui'; import { EuiPageContent_Deprecated as EuiPageContent } from '@elastic/eui'; import { EuiPageContentBody_Deprecated as EuiPageContentBody } from '@elastic/eui'; -import { Route, Switch, Redirect, Router, useLocation } from 'react-router-dom'; +import { Switch, Redirect, Router, useLocation } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { createBrowserHistory } from 'history'; import { EuiText } from '@elastic/eui'; import { AppMountParameters } from '@kbn/core/public'; diff --git a/examples/locator_examples/tsconfig.json b/examples/locator_examples/tsconfig.json index 2548553d7d1b..d2c764e9fd93 100644 --- a/examples/locator_examples/tsconfig.json +++ b/examples/locator_examples/tsconfig.json @@ -18,5 +18,6 @@ "@kbn/share-plugin", "@kbn/utility-types", "@kbn/kibana-utils-plugin", + "@kbn/shared-ux-router", ] } diff --git a/examples/response_stream/public/containers/app/index.tsx b/examples/response_stream/public/containers/app/index.tsx index eb61a748a5fd..957ddcbeb650 100644 --- a/examples/response_stream/public/containers/app/index.tsx +++ b/examples/response_stream/public/containers/app/index.tsx @@ -7,7 +7,8 @@ */ import React from 'react'; -import { BrowserRouter as Router, Route, Redirect, Switch } from 'react-router-dom'; +import { BrowserRouter as Router, Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage } from '@elastic/eui'; import { useDeps } from '../../hooks/use_deps'; import { Sidebar } from './sidebar'; diff --git a/examples/response_stream/tsconfig.json b/examples/response_stream/tsconfig.json index 9e54eb4fb152..0c65995944cc 100644 --- a/examples/response_stream/tsconfig.json +++ b/examples/response_stream/tsconfig.json @@ -21,5 +21,6 @@ "@kbn/kibana-react-plugin", "@kbn/aiops-utils", "@kbn/config-schema", + "@kbn/shared-ux-router", ] } diff --git a/examples/search_examples/public/application.tsx b/examples/search_examples/public/application.tsx index ad39cdf2e662..6aca952a33f2 100644 --- a/examples/search_examples/public/application.tsx +++ b/examples/search_examples/public/application.tsx @@ -8,7 +8,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Route, Redirect } from 'react-router-dom'; +import { Router, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { I18nProvider } from '@kbn/i18n-react'; import { AppMountParameters, CoreStart } from '@kbn/core/public'; import { RedirectAppLinks } from '@kbn/kibana-react-plugin/public'; diff --git a/examples/search_examples/tsconfig.json b/examples/search_examples/tsconfig.json index 3c5ac732dbfc..fbfca076b818 100644 --- a/examples/search_examples/tsconfig.json +++ b/examples/search_examples/tsconfig.json @@ -31,5 +31,6 @@ "@kbn/i18n", "@kbn/core-mount-utils-browser-internal", "@kbn/config-schema", + "@kbn/shared-ux-router", ] } diff --git a/examples/state_containers_examples/public/todo/todo.tsx b/examples/state_containers_examples/public/todo/todo.tsx index a02e27d91c4a..216dc024bb6a 100644 --- a/examples/state_containers_examples/public/todo/todo.tsx +++ b/examples/state_containers_examples/public/todo/todo.tsx @@ -7,7 +7,8 @@ */ import React, { useEffect, useMemo } from 'react'; -import { Link, Route, Router, Switch, useLocation } from 'react-router-dom'; +import { Link, Router, Switch, useLocation } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { History } from 'history'; import { EuiButton, diff --git a/examples/state_containers_examples/tsconfig.json b/examples/state_containers_examples/tsconfig.json index 24bef65c50b4..400b8613a4d8 100644 --- a/examples/state_containers_examples/tsconfig.json +++ b/examples/state_containers_examples/tsconfig.json @@ -22,5 +22,6 @@ "@kbn/data-views-plugin", "@kbn/developer-examples-plugin", "@kbn/es-query", + "@kbn/shared-ux-router", ] } diff --git a/packages/core/application/core-application-browser-internal/src/ui/app_router.tsx b/packages/core/application/core-application-browser-internal/src/ui/app_router.tsx index 94127f22f0fa..0115b1aec1a4 100644 --- a/packages/core/application/core-application-browser-internal/src/ui/app_router.tsx +++ b/packages/core/application/core-application-browser-internal/src/ui/app_router.tsx @@ -7,7 +7,8 @@ */ import React, { FunctionComponent, useMemo } from 'react'; -import { Route, RouteComponentProps, Router, Switch } from 'react-router-dom'; +// eslint-disable-next-line no-restricted-imports +import { RouteComponentProps, Router, Route, Switch } from 'react-router-dom'; import { History } from 'history'; import { EMPTY, Observable } from 'rxjs'; import useObservable from 'react-use/lib/useObservable'; diff --git a/packages/kbn-test-jest-helpers/src/router_helpers.tsx b/packages/kbn-test-jest-helpers/src/router_helpers.tsx index a02a044c0750..20c517d2476d 100644 --- a/packages/kbn-test-jest-helpers/src/router_helpers.tsx +++ b/packages/kbn-test-jest-helpers/src/router_helpers.tsx @@ -7,7 +7,8 @@ */ import React, { Component, ComponentType } from 'react'; -import { MemoryRouter, Route, withRouter } from 'react-router-dom'; +import { MemoryRouter, withRouter } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { History, LocationDescriptor } from 'history'; const stringifyPath = (path: LocationDescriptor): string => { diff --git a/packages/kbn-test-jest-helpers/tsconfig.json b/packages/kbn-test-jest-helpers/tsconfig.json index 5a79ec9d8b01..99630e68c5b9 100644 --- a/packages/kbn-test-jest-helpers/tsconfig.json +++ b/packages/kbn-test-jest-helpers/tsconfig.json @@ -11,6 +11,7 @@ "kbn_references": [ "@kbn/i18n-react", "@kbn/axe-config", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/packages/shared-ux/router/impl/router.tsx b/packages/shared-ux/router/impl/router.tsx index da1dc2def3fc..0039463411f9 100644 --- a/packages/shared-ux/router/impl/router.tsx +++ b/packages/shared-ux/router/impl/router.tsx @@ -8,6 +8,7 @@ import React, { useMemo } from 'react'; import { + // eslint-disable-next-line no-restricted-imports Route as ReactRouterRoute, RouteComponentProps, RouteProps, diff --git a/src/plugins/advanced_settings/public/management_app/mount_management_section.tsx b/src/plugins/advanced_settings/public/management_app/mount_management_section.tsx index bbe7c36ee820..7372404f2cc8 100644 --- a/src/plugins/advanced_settings/public/management_app/mount_management_section.tsx +++ b/src/plugins/advanced_settings/public/management_app/mount_management_section.tsx @@ -8,7 +8,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Switch, Route, Redirect, RouteChildrenProps } from 'react-router-dom'; +import { Router, Switch, Redirect, RouteChildrenProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { i18n } from '@kbn/i18n'; import { I18nProvider } from '@kbn/i18n-react'; diff --git a/src/plugins/advanced_settings/tsconfig.json b/src/plugins/advanced_settings/tsconfig.json index e5a2db29d0fd..fb21916f697d 100644 --- a/src/plugins/advanced_settings/tsconfig.json +++ b/src/plugins/advanced_settings/tsconfig.json @@ -20,6 +20,7 @@ "@kbn/i18n-react", "@kbn/expect", "@kbn/monaco", + "@kbn/shared-ux-router", "@kbn/core-ui-settings-browser-mocks", "@kbn/core-application-browser", "@kbn/core-ui-settings-browser", diff --git a/src/plugins/dashboard/public/dashboard_app/dashboard_router.tsx b/src/plugins/dashboard/public/dashboard_app/dashboard_router.tsx index 69dffa5bd616..31c6caf84020 100644 --- a/src/plugins/dashboard/public/dashboard_app/dashboard_router.tsx +++ b/src/plugins/dashboard/public/dashboard_app/dashboard_router.tsx @@ -12,7 +12,8 @@ import React from 'react'; import { History } from 'history'; import { parse, ParsedQuery } from 'query-string'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Switch, Route, RouteComponentProps, HashRouter, Redirect } from 'react-router-dom'; +import { Switch, RouteComponentProps, HashRouter, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { TableListViewKibanaDependencies, diff --git a/src/plugins/dashboard/tsconfig.json b/src/plugins/dashboard/tsconfig.json index 8ab580ccdfe7..ddf6e65028ea 100644 --- a/src/plugins/dashboard/tsconfig.json +++ b/src/plugins/dashboard/tsconfig.json @@ -52,6 +52,7 @@ "@kbn/task-manager-plugin", "@kbn/core-execution-context-common", "@kbn/core-custom-branding-browser", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/src/plugins/data_view_management/public/management_app/mount_management_section.tsx b/src/plugins/data_view_management/public/management_app/mount_management_section.tsx index f8d26c9508d9..99c0ef830ba8 100644 --- a/src/plugins/data_view_management/public/management_app/mount_management_section.tsx +++ b/src/plugins/data_view_management/public/management_app/mount_management_section.tsx @@ -8,7 +8,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Switch, Route, Redirect } from 'react-router-dom'; +import { Router, Switch, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { i18n } from '@kbn/i18n'; import { I18nProvider } from '@kbn/i18n-react'; diff --git a/src/plugins/data_view_management/tsconfig.json b/src/plugins/data_view_management/tsconfig.json index 5fc549c32a46..832902342847 100644 --- a/src/plugins/data_view_management/tsconfig.json +++ b/src/plugins/data_view_management/tsconfig.json @@ -32,6 +32,7 @@ "@kbn/shared-ux-link-redirect-app", "@kbn/utility-types-jest", "@kbn/config-schema", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/src/plugins/dev_tools/public/application.tsx b/src/plugins/dev_tools/public/application.tsx index 0499c4ab5ccb..2422a3f2e730 100644 --- a/src/plugins/dev_tools/public/application.tsx +++ b/src/plugins/dev_tools/public/application.tsx @@ -9,13 +9,8 @@ import React, { useEffect, useRef } from 'react'; import { Observable } from 'rxjs'; import ReactDOM from 'react-dom'; -import { - HashRouter as Router, - Switch, - Route, - Redirect, - RouteComponentProps, -} from 'react-router-dom'; +import { HashRouter as Router, Switch, Redirect, RouteComponentProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiTab, EuiTabs, EuiToolTip, EuiBetaBadge } from '@elastic/eui'; import { I18nProvider } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; @@ -28,7 +23,7 @@ import type { CoreTheme, ExecutionContextStart, } from '@kbn/core/public'; -import { KibanaThemeProvider, useExecutionContext } from '@kbn/kibana-react-plugin/public'; +import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import type { DocTitleService, BreadcrumbService } from './services'; import { DevToolApp } from './dev_tool'; @@ -79,11 +74,6 @@ function DevToolsWrapper({ breadcrumbService.setBreadcrumbs(activeDevTool.title); }, [activeDevTool, docTitleService, breadcrumbService]); - useExecutionContext(appServices.executionContext, { - type: 'application', - page: activeDevTool.id, - }); - return (
diff --git a/src/plugins/dev_tools/tsconfig.json b/src/plugins/dev_tools/tsconfig.json index 314749c7c7f5..c9ca3b8f6289 100644 --- a/src/plugins/dev_tools/tsconfig.json +++ b/src/plugins/dev_tools/tsconfig.json @@ -12,6 +12,7 @@ "@kbn/i18n", "@kbn/ui-theme", "@kbn/kibana-react-plugin", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/src/plugins/discover/public/application/discover_router.test.tsx b/src/plugins/discover/public/application/discover_router.test.tsx index 9b8eb172ba59..e9fd30b3e1ae 100644 --- a/src/plugins/discover/public/application/discover_router.test.tsx +++ b/src/plugins/discover/public/application/discover_router.test.tsx @@ -7,7 +7,8 @@ */ import React from 'react'; import { shallow } from 'enzyme'; -import { Route, RouteProps } from 'react-router-dom'; +import { RouteProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { createSearchSessionMock } from '../__mocks__/search_session'; import { discoverServiceMock as mockDiscoverServices } from '../__mocks__/services'; import { discoverRouter } from './discover_router'; diff --git a/src/plugins/discover/public/application/discover_router.tsx b/src/plugins/discover/public/application/discover_router.tsx index 9cac8a4f1f50..d2e03758e5c3 100644 --- a/src/plugins/discover/public/application/discover_router.tsx +++ b/src/plugins/discover/public/application/discover_router.tsx @@ -6,7 +6,8 @@ * Side Public License, v 1. */ -import { Redirect, Route, Router, Switch } from 'react-router-dom'; +import { Redirect, Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import React from 'react'; import { History } from 'history'; import { EuiErrorBoundary } from '@elastic/eui'; diff --git a/src/plugins/discover/tsconfig.json b/src/plugins/discover/tsconfig.json index ddb5ee5ada87..ff8b9b0bed85 100644 --- a/src/plugins/discover/tsconfig.json +++ b/src/plugins/discover/tsconfig.json @@ -52,6 +52,7 @@ "@kbn/rison", "@kbn/config-schema", "@kbn/storybook", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/src/plugins/files_management/public/mount_management_section.tsx b/src/plugins/files_management/public/mount_management_section.tsx index 259053d3da89..7dce1986237a 100755 --- a/src/plugins/files_management/public/mount_management_section.tsx +++ b/src/plugins/files_management/public/mount_management_section.tsx @@ -8,7 +8,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Route } from 'react-router-dom'; +import { Router } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { toMountPoint } from '@kbn/kibana-react-plugin/public'; import { I18nProvider, FormattedRelative } from '@kbn/i18n-react'; import type { CoreStart } from '@kbn/core/public'; diff --git a/src/plugins/files_management/tsconfig.json b/src/plugins/files_management/tsconfig.json index a8852fcb7039..d15175fae047 100644 --- a/src/plugins/files_management/tsconfig.json +++ b/src/plugins/files_management/tsconfig.json @@ -13,6 +13,7 @@ "@kbn/kibana-react-plugin", "@kbn/i18n-react", "@kbn/shared-ux-file-image", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/src/plugins/home/public/application/components/home_app.js b/src/plugins/home/public/application/components/home_app.js index a6cdfec3b62e..58d9c2a0f3fc 100644 --- a/src/plugins/home/public/application/components/home_app.js +++ b/src/plugins/home/public/application/components/home_app.js @@ -12,6 +12,7 @@ import PropTypes from 'prop-types'; import { Home } from './home'; import { TutorialDirectory } from './tutorial_directory'; import { Tutorial } from './tutorial/tutorial'; +// eslint-disable-next-line no-restricted-imports import { HashRouter as Router, Switch, Route, Redirect } from 'react-router-dom'; import { getTutorial } from '../load_tutorials'; import { replaceTemplateStrings } from './tutorial/replace_template_strings'; diff --git a/src/plugins/kibana_overview/public/components/app.tsx b/src/plugins/kibana_overview/public/components/app.tsx index 9c82c9842e9d..98d4a6801ae8 100644 --- a/src/plugins/kibana_overview/public/components/app.tsx +++ b/src/plugins/kibana_overview/public/components/app.tsx @@ -9,7 +9,8 @@ import React, { useEffect, useState } from 'react'; import { Observable } from 'rxjs'; import { I18nProvider } from '@kbn/i18n-react'; -import { HashRouter as Router, Switch, Route } from 'react-router-dom'; +import { HashRouter as Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { CoreStart } from '@kbn/core/public'; import { NavigationPublicPluginStart } from '@kbn/navigation-plugin/public'; import { FetchResult } from '@kbn/newsfeed-plugin/public'; diff --git a/src/plugins/kibana_overview/tsconfig.json b/src/plugins/kibana_overview/tsconfig.json index 5630613c4bf1..2f450f1e5760 100644 --- a/src/plugins/kibana_overview/tsconfig.json +++ b/src/plugins/kibana_overview/tsconfig.json @@ -25,6 +25,7 @@ "@kbn/shared-ux-page-analytics-no-data", "@kbn/shared-ux-avatar-solution", "@kbn/shared-ux-link-redirect-app", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/src/plugins/kibana_react/public/router/router.tsx b/src/plugins/kibana_react/public/router/router.tsx index 15e2c1df30ce..639431f59b82 100644 --- a/src/plugins/kibana_react/public/router/router.tsx +++ b/src/plugins/kibana_react/public/router/router.tsx @@ -8,6 +8,7 @@ import React, { useMemo } from 'react'; import { + // eslint-disable-next-line no-restricted-imports Route as ReactRouterRoute, RouteComponentProps, RouteProps, diff --git a/src/plugins/management/public/components/management_app/management_router.tsx b/src/plugins/management/public/components/management_app/management_router.tsx index 79c537451ac5..104bea659f4d 100644 --- a/src/plugins/management/public/components/management_app/management_router.tsx +++ b/src/plugins/management/public/components/management_app/management_router.tsx @@ -7,7 +7,8 @@ */ import React, { memo } from 'react'; -import { Route, Router, Switch, Redirect } from 'react-router-dom'; +import { Router, Switch, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { AppMountParameters, ChromeBreadcrumb, ScopedHistory } from '@kbn/core/public'; import { ManagementAppWrapper } from '../management_app_wrapper'; import { ManagementLandingPage } from '../landing'; diff --git a/src/plugins/management/tsconfig.json b/src/plugins/management/tsconfig.json index 1270aef15b63..1edc7f9a5e59 100644 --- a/src/plugins/management/tsconfig.json +++ b/src/plugins/management/tsconfig.json @@ -19,6 +19,7 @@ "@kbn/i18n", "@kbn/i18n-react", "@kbn/shared-ux-page-kibana-template", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/src/plugins/saved_objects_management/public/management_section/mount_section.tsx b/src/plugins/saved_objects_management/public/management_section/mount_section.tsx index b3822d92e4aa..d752aceb846d 100644 --- a/src/plugins/saved_objects_management/public/management_section/mount_section.tsx +++ b/src/plugins/saved_objects_management/public/management_section/mount_section.tsx @@ -8,7 +8,8 @@ import React, { lazy, Suspense } from 'react'; import ReactDOM from 'react-dom'; -import { Router, Switch, Route } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { I18nProvider } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { EuiLoadingSpinner } from '@elastic/eui'; diff --git a/src/plugins/saved_objects_management/tsconfig.json b/src/plugins/saved_objects_management/tsconfig.json index 0ed7eee5b203..c578ea0fbecc 100644 --- a/src/plugins/saved_objects_management/tsconfig.json +++ b/src/plugins/saved_objects_management/tsconfig.json @@ -26,6 +26,7 @@ "@kbn/config-schema", "@kbn/core-custom-branding-browser-mocks", "@kbn/core-custom-branding-browser", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/src/plugins/visualizations/public/visualize_app/app.tsx b/src/plugins/visualizations/public/visualize_app/app.tsx index c841ebea51f3..0a4e46288616 100644 --- a/src/plugins/visualizations/public/visualize_app/app.tsx +++ b/src/plugins/visualizations/public/visualize_app/app.tsx @@ -8,7 +8,8 @@ import './app.scss'; import React, { useEffect, useCallback, useState } from 'react'; -import { Route, Switch, useLocation } from 'react-router-dom'; +import { Switch, useLocation } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiLoadingSpinner } from '@elastic/eui'; import { AppMountParameters, CoreStart } from '@kbn/core/public'; import type { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public'; diff --git a/src/plugins/visualizations/tsconfig.json b/src/plugins/visualizations/tsconfig.json index 9b73af16bb4b..658d391f0a0d 100644 --- a/src/plugins/visualizations/tsconfig.json +++ b/src/plugins/visualizations/tsconfig.json @@ -50,6 +50,7 @@ "@kbn/core-overlays-browser", "@kbn/config-schema", "@kbn/usage-collection-plugin", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/test/common/fixtures/plugins/coverage/kibana.json b/test/common/fixtures/plugins/coverage/kibana.json new file mode 100644 index 000000000000..80afd40ba805 --- /dev/null +++ b/test/common/fixtures/plugins/coverage/kibana.json @@ -0,0 +1,8 @@ +{ + "id": "coverageFixtures", + "owner": { "name": "Kibana Operations", "githubTeam": "kibana-operations" }, + "version": "kibana", + "server": false, + "ui": true +} + diff --git a/test/common/fixtures/plugins/coverage/public/index.ts b/test/common/fixtures/plugins/coverage/public/index.ts new file mode 100644 index 000000000000..647b101d2a8c --- /dev/null +++ b/test/common/fixtures/plugins/coverage/public/index.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { CodeCoverageReportingPlugin } from './plugin'; + +export function plugin() { + return new CodeCoverageReportingPlugin(); +} diff --git a/test/common/fixtures/plugins/coverage/public/plugin.ts b/test/common/fixtures/plugins/coverage/public/plugin.ts new file mode 100644 index 000000000000..0c7d3f238a27 --- /dev/null +++ b/test/common/fixtures/plugins/coverage/public/plugin.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Plugin } from '@kbn/core/server'; + +declare global { + interface Window { + __coverage__: any; + flushCoverageToLog: any; + } +} + +export class CodeCoverageReportingPlugin implements Plugin { + constructor() {} + + public start() {} + + public setup() { + window.flushCoverageToLog = function () { + if (window.__coverage__) { + // eslint-disable-next-line no-console + console.log('coveragejson:' + btoa(JSON.stringify(window.__coverage__))); + } + }; + window.addEventListener('beforeunload', window.flushCoverageToLog); + } +} diff --git a/test/plugin_functional/plugins/core_history_block/public/app.tsx b/test/plugin_functional/plugins/core_history_block/public/app.tsx index 29ccf03ad890..4d686ee20387 100644 --- a/test/plugin_functional/plugins/core_history_block/public/app.tsx +++ b/test/plugin_functional/plugins/core_history_block/public/app.tsx @@ -8,6 +8,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; +// eslint-disable-next-line no-restricted-imports import { Router, Switch, Route, Prompt } from 'react-router-dom'; import type { AppMountParameters, IBasePath, ApplicationStart } from '@kbn/core/public'; import { RedirectAppLinks } from '@kbn/kibana-react-plugin/public'; diff --git a/test/plugin_functional/plugins/core_plugin_a/public/application.tsx b/test/plugin_functional/plugins/core_plugin_a/public/application.tsx index eea162c717bb..6b229404ef1d 100644 --- a/test/plugin_functional/plugins/core_plugin_a/public/application.tsx +++ b/test/plugin_functional/plugins/core_plugin_a/public/application.tsx @@ -9,7 +9,8 @@ import { History } from 'history'; import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Route, withRouter, RouteComponentProps, Redirect } from 'react-router-dom'; +import { Router, withRouter, RouteComponentProps, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage, diff --git a/test/plugin_functional/plugins/core_plugin_a/tsconfig.json b/test/plugin_functional/plugins/core_plugin_a/tsconfig.json index 1031bd9b3802..42cabb63e1b5 100644 --- a/test/plugin_functional/plugins/core_plugin_a/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_a/tsconfig.json @@ -14,6 +14,7 @@ "target/**/*", ], "kbn_references": [ - "@kbn/core" + "@kbn/core", + "@kbn/shared-ux-router" ] } diff --git a/test/plugin_functional/plugins/core_plugin_b/public/application.tsx b/test/plugin_functional/plugins/core_plugin_b/public/application.tsx index 627d8b9e8520..81f7c8979378 100644 --- a/test/plugin_functional/plugins/core_plugin_b/public/application.tsx +++ b/test/plugin_functional/plugins/core_plugin_b/public/application.tsx @@ -9,7 +9,8 @@ import { History } from 'history'; import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Route, withRouter, RouteComponentProps } from 'react-router-dom'; +import { Router, withRouter, RouteComponentProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage, diff --git a/test/plugin_functional/plugins/core_plugin_b/tsconfig.json b/test/plugin_functional/plugins/core_plugin_b/tsconfig.json index 0a3cc148df18..d22bb43e0944 100644 --- a/test/plugin_functional/plugins/core_plugin_b/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_b/tsconfig.json @@ -17,5 +17,6 @@ "@kbn/core", "@kbn/core-plugin-a-plugin", "@kbn/config-schema", + "@kbn/shared-ux-router", ] } diff --git a/test/plugin_functional/plugins/core_plugin_chromeless/public/application.tsx b/test/plugin_functional/plugins/core_plugin_chromeless/public/application.tsx index 568be8cb39d2..cf3ef4e2943e 100644 --- a/test/plugin_functional/plugins/core_plugin_chromeless/public/application.tsx +++ b/test/plugin_functional/plugins/core_plugin_chromeless/public/application.tsx @@ -8,7 +8,8 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { BrowserRouter as Router, Route } from 'react-router-dom'; +import { BrowserRouter as Router } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage, EuiPageBody, diff --git a/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json b/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json index 3a0bc171cada..101722091ea0 100644 --- a/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_chromeless/tsconfig.json @@ -14,5 +14,6 @@ ], "kbn_references": [ "@kbn/core", + "@kbn/shared-ux-router", ] } diff --git a/test/plugin_functional/plugins/core_plugin_deep_links/public/application.tsx b/test/plugin_functional/plugins/core_plugin_deep_links/public/application.tsx index b4f55a484d82..c1723fcac1dc 100644 --- a/test/plugin_functional/plugins/core_plugin_deep_links/public/application.tsx +++ b/test/plugin_functional/plugins/core_plugin_deep_links/public/application.tsx @@ -9,7 +9,8 @@ import { History } from 'history'; import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Route, withRouter, RouteComponentProps, Redirect } from 'react-router-dom'; +import { Router, withRouter, RouteComponentProps, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage, diff --git a/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json b/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json index c4001804608c..840bf1e8c594 100644 --- a/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json +++ b/test/plugin_functional/plugins/core_plugin_deep_links/tsconfig.json @@ -13,6 +13,7 @@ "target/**/*", ], "kbn_references": [ - "@kbn/core" + "@kbn/core", + "@kbn/shared-ux-router" ] } diff --git a/test/plugin_functional/plugins/management_test_plugin/public/plugin.tsx b/test/plugin_functional/plugins/management_test_plugin/public/plugin.tsx index 99129b2375f3..a4795767fa32 100644 --- a/test/plugin_functional/plugins/management_test_plugin/public/plugin.tsx +++ b/test/plugin_functional/plugins/management_test_plugin/public/plugin.tsx @@ -8,7 +8,9 @@ import * as React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Switch, Route, Link } from 'react-router-dom'; +import { Router, Switch, Link } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { CoreSetup, Plugin } from '@kbn/core/public'; import { ManagementSetup } from '@kbn/management-plugin/public'; diff --git a/test/plugin_functional/plugins/management_test_plugin/tsconfig.json b/test/plugin_functional/plugins/management_test_plugin/tsconfig.json index 91f33da6a5de..7a81d3e2ec17 100644 --- a/test/plugin_functional/plugins/management_test_plugin/tsconfig.json +++ b/test/plugin_functional/plugins/management_test_plugin/tsconfig.json @@ -15,5 +15,6 @@ "kbn_references": [ "@kbn/core", "@kbn/management-plugin", + "@kbn/shared-ux-router", ] } diff --git a/x-pack/examples/alerting_example/public/application.tsx b/x-pack/examples/alerting_example/public/application.tsx index 6e4521111101..7262f29278e7 100644 --- a/x-pack/examples/alerting_example/public/application.tsx +++ b/x-pack/examples/alerting_example/public/application.tsx @@ -7,7 +7,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { BrowserRouter as Router, Route, RouteComponentProps } from 'react-router-dom'; +import { BrowserRouter as Router, RouteComponentProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage } from '@elastic/eui'; import { AppMountParameters, CoreStart } from '@kbn/core/public'; diff --git a/x-pack/examples/alerting_example/tsconfig.json b/x-pack/examples/alerting_example/tsconfig.json index 21967255756a..60d23740ef34 100644 --- a/x-pack/examples/alerting_example/tsconfig.json +++ b/x-pack/examples/alerting_example/tsconfig.json @@ -25,6 +25,7 @@ "@kbn/developer-examples-plugin", "@kbn/i18n", "@kbn/core-application-common", + "@kbn/shared-ux-router", "@kbn/config-schema", ] } diff --git a/x-pack/examples/reporting_example/public/application.tsx b/x-pack/examples/reporting_example/public/application.tsx index 24ca76c3c903..9e95c33cb737 100644 --- a/x-pack/examples/reporting_example/public/application.tsx +++ b/x-pack/examples/reporting_example/public/application.tsx @@ -7,7 +7,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Route, Switch } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { AppMountParameters, CoreStart } from '@kbn/core/public'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { CaptureTest } from './containers/capture_test'; diff --git a/x-pack/examples/reporting_example/tsconfig.json b/x-pack/examples/reporting_example/tsconfig.json index c8f6db0e7690..6b02e36ce0f9 100644 --- a/x-pack/examples/reporting_example/tsconfig.json +++ b/x-pack/examples/reporting_example/tsconfig.json @@ -24,5 +24,6 @@ "@kbn/share-plugin", "@kbn/i18n-react", "@kbn/utility-types", + "@kbn/shared-ux-router", ] } diff --git a/x-pack/examples/triggers_actions_ui_example/public/application.tsx b/x-pack/examples/triggers_actions_ui_example/public/application.tsx index 1e0132d8b518..c3c2a49ad26d 100644 --- a/x-pack/examples/triggers_actions_ui_example/public/application.tsx +++ b/x-pack/examples/triggers_actions_ui_example/public/application.tsx @@ -7,7 +7,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { BrowserRouter as Router, Route } from 'react-router-dom'; +import { BrowserRouter as Router } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPage, EuiTitle, EuiText, EuiSpacer } from '@elastic/eui'; import { AppMountParameters, CoreStart } from '@kbn/core/public'; import { TriggersAndActionsUIPublicPluginStart } from '@kbn/triggers-actions-ui-plugin/public'; diff --git a/x-pack/examples/triggers_actions_ui_example/tsconfig.json b/x-pack/examples/triggers_actions_ui_example/tsconfig.json index 0e78735f7a13..f999d2709a66 100644 --- a/x-pack/examples/triggers_actions_ui_example/tsconfig.json +++ b/x-pack/examples/triggers_actions_ui_example/tsconfig.json @@ -22,5 +22,6 @@ "@kbn/rule-data-utils", "@kbn/data-plugin", "@kbn/i18n-react", + "@kbn/shared-ux-router", ] } diff --git a/x-pack/plugins/apm/public/components/routing/app_root.tsx b/x-pack/plugins/apm/public/components/routing/app_root.tsx index 825e73608c77..57fbc70143a9 100644 --- a/x-pack/plugins/apm/public/components/routing/app_root.tsx +++ b/x-pack/plugins/apm/public/components/routing/app_root.tsx @@ -19,7 +19,7 @@ import { import { RouteRenderer, RouterProvider } from '@kbn/typed-react-router-config'; import { euiDarkVars, euiLightVars } from '@kbn/ui-theme'; import React from 'react'; -import { Route } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { DefaultTheme, ThemeProvider } from 'styled-components'; import { AnomalyDetectionJobsContextProvider } from '../../context/anomaly_detection_jobs/anomaly_detection_jobs_context'; import { diff --git a/x-pack/plugins/apm/tsconfig.json b/x-pack/plugins/apm/tsconfig.json index fbb5f4781542..b1bb6362af1a 100644 --- a/x-pack/plugins/apm/tsconfig.json +++ b/x-pack/plugins/apm/tsconfig.json @@ -78,6 +78,7 @@ "@kbn/core-elasticsearch-server", "@kbn/shared-ux-prompt-not-found", "@kbn/core-saved-objects-api-server", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/canvas/public/routes/home/home_route.tsx b/x-pack/plugins/canvas/public/routes/home/home_route.tsx index ee331d914f0c..c6c2cd7ec0cb 100644 --- a/x-pack/plugins/canvas/public/routes/home/home_route.tsx +++ b/x-pack/plugins/canvas/public/routes/home/home_route.tsx @@ -5,7 +5,8 @@ * 2.0. */ import React from 'react'; -import { Route } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { HomeApp } from '../../components/home_app'; export const HomeRoute = () => ( diff --git a/x-pack/plugins/canvas/public/routes/index.tsx b/x-pack/plugins/canvas/public/routes/index.tsx index e7e9cd6541a3..6bbd40b2065c 100644 --- a/x-pack/plugins/canvas/public/routes/index.tsx +++ b/x-pack/plugins/canvas/public/routes/index.tsx @@ -6,7 +6,8 @@ */ import React, { FC } from 'react'; -import { Router, Switch, Route, RouteComponentProps, Redirect } from 'react-router-dom'; +import { Router, Switch, RouteComponentProps, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { History } from 'history'; import { parse, stringify } from 'query-string'; import { HomeRoute } from './home'; diff --git a/x-pack/plugins/canvas/public/routes/workpad/workpad_route.tsx b/x-pack/plugins/canvas/public/routes/workpad/workpad_route.tsx index c5374c3ad6e0..07473cadc162 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/workpad_route.tsx +++ b/x-pack/plugins/canvas/public/routes/workpad/workpad_route.tsx @@ -6,7 +6,8 @@ */ import React, { FC, useEffect, useCallback } from 'react'; -import { Route, Switch, Redirect, useParams } from 'react-router-dom'; +import { Switch, Redirect, useParams } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { useDispatch } from 'react-redux'; import { WorkpadApp } from '../../components/workpad_app'; import { ExportApp } from '../../components/export_app'; diff --git a/x-pack/plugins/canvas/tsconfig.json b/x-pack/plugins/canvas/tsconfig.json index c946d46687f7..ae50b56a27be 100644 --- a/x-pack/plugins/canvas/tsconfig.json +++ b/x-pack/plugins/canvas/tsconfig.json @@ -76,6 +76,7 @@ "@kbn/storybook", "@kbn/core-apps-server-internal", "@kbn/flot-charts", + "@kbn/shared-ux-router", "@kbn/babel-register", ], "exclude": [ diff --git a/x-pack/plugins/cases/public/application.tsx b/x-pack/plugins/cases/public/application.tsx index 360a9ce15476..bac423a9f829 100644 --- a/x-pack/plugins/cases/public/application.tsx +++ b/x-pack/plugins/cases/public/application.tsx @@ -8,6 +8,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { Router } from 'react-router-dom'; + import { I18nProvider } from '@kbn/i18n-react'; import { EuiErrorBoundary } from '@elastic/eui'; diff --git a/x-pack/plugins/cases/public/components/app/routes.tsx b/x-pack/plugins/cases/public/components/app/routes.tsx index 875568910280..1d8b4249899e 100644 --- a/x-pack/plugins/cases/public/components/app/routes.tsx +++ b/x-pack/plugins/cases/public/components/app/routes.tsx @@ -7,7 +7,8 @@ import React, { lazy, Suspense, useCallback } from 'react'; import { Redirect, Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; + import { QueryClientProvider } from '@tanstack/react-query'; import { EuiLoadingSpinner } from '@elastic/eui'; import { AllCases } from '../all_cases'; diff --git a/x-pack/plugins/cases/tsconfig.json b/x-pack/plugins/cases/tsconfig.json index 599545caf0ae..a1737094134f 100644 --- a/x-pack/plugins/cases/tsconfig.json +++ b/x-pack/plugins/cases/tsconfig.json @@ -55,6 +55,7 @@ "@kbn/core-saved-objects-api-server", "@kbn/core-saved-objects-base-server-mocks", "@kbn/core-saved-objects-utils-server", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/cloud_defend/public/test/test_provider.tsx b/x-pack/plugins/cloud_defend/public/test/test_provider.tsx index c384e6dbe005..472f0ea04ecd 100755 --- a/x-pack/plugins/cloud_defend/public/test/test_provider.tsx +++ b/x-pack/plugins/cloud_defend/public/test/test_provider.tsx @@ -8,7 +8,8 @@ import type { AppMountParameters, CoreStart } from '@kbn/core/public'; import React, { useMemo } from 'react'; import { I18nProvider } from '@kbn/i18n-react'; -import { Router, Switch, Route } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { coreMock } from '@kbn/core/public/mocks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; diff --git a/x-pack/plugins/cloud_defend/tsconfig.json b/x-pack/plugins/cloud_defend/tsconfig.json index aabb3ece1e8d..630c1ba061a3 100755 --- a/x-pack/plugins/cloud_defend/tsconfig.json +++ b/x-pack/plugins/cloud_defend/tsconfig.json @@ -17,7 +17,8 @@ "@kbn/data-plugin", "@kbn/kibana-react-plugin", "@kbn/monaco", - "@kbn/i18n" + "@kbn/i18n", + "@kbn/shared-ux-router" ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/cloud_security_posture/public/application/csp_route.tsx b/x-pack/plugins/cloud_security_posture/public/application/csp_route.tsx index 7d0197fe0eed..7233612c7840 100644 --- a/x-pack/plugins/cloud_security_posture/public/application/csp_route.tsx +++ b/x-pack/plugins/cloud_security_posture/public/application/csp_route.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Route, type RouteProps } from 'react-router-dom'; +import { type RouteProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; import { cloudPosturePages } from '../common/navigation/constants'; import { useSecuritySolutionContext } from './security_solution_context'; diff --git a/x-pack/plugins/cloud_security_posture/public/application/csp_router.tsx b/x-pack/plugins/cloud_security_posture/public/application/csp_router.tsx index 0522a82c9cd6..094425707ae8 100644 --- a/x-pack/plugins/cloud_security_posture/public/application/csp_router.tsx +++ b/x-pack/plugins/cloud_security_posture/public/application/csp_router.tsx @@ -7,7 +7,8 @@ import React from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { Redirect, Route, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { benchmarksNavigation, cloudPosturePages } from '../common/navigation/constants'; import type { CspSecuritySolutionContext } from '..'; import { SecuritySolutionContext } from './security_solution_context'; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/findings.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/findings.tsx index 8830724193e1..bdd32eaaa8bd 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/findings.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/findings.tsx @@ -5,7 +5,8 @@ * 2.0. */ import React from 'react'; -import { Redirect, Switch, Route, useLocation } from 'react-router-dom'; +import { Redirect, Switch, useLocation } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; import { useCspSetupStatusApi } from '../../common/api/use_setup_status_api'; import { NoFindingsStates } from '../../components/no_findings_states'; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_container.tsx b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_container.tsx index 94de46402f08..bcd5ac1bbbca 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_container.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/findings/latest_findings_by_resource/findings_by_resource_container.tsx @@ -5,7 +5,8 @@ * 2.0. */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; diff --git a/x-pack/plugins/cloud_security_posture/public/test/test_provider.tsx b/x-pack/plugins/cloud_security_posture/public/test/test_provider.tsx index f6c636b5ce9e..8287c2eaba9d 100755 --- a/x-pack/plugins/cloud_security_posture/public/test/test_provider.tsx +++ b/x-pack/plugins/cloud_security_posture/public/test/test_provider.tsx @@ -8,7 +8,9 @@ import type { AppMountParameters, CoreStart } from '@kbn/core/public'; import React, { useMemo } from 'react'; import { I18nProvider } from '@kbn/i18n-react'; -import { Router, Switch, Route } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { coreMock } from '@kbn/core/public/mocks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; diff --git a/x-pack/plugins/cloud_security_posture/tsconfig.json b/x-pack/plugins/cloud_security_posture/tsconfig.json index 71d207ec19a6..60c540b422bc 100755 --- a/x-pack/plugins/cloud_security_posture/tsconfig.json +++ b/x-pack/plugins/cloud_security_posture/tsconfig.json @@ -46,6 +46,7 @@ "@kbn/core-elasticsearch-server", "@kbn/ecs", "@kbn/core-saved-objects-api-server", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/cross_cluster_replication/public/app/app.tsx b/x-pack/plugins/cross_cluster_replication/public/app/app.tsx index 3bec8e9b9cc7..47e1796a3ff4 100644 --- a/x-pack/plugins/cross_cluster_replication/public/app/app.tsx +++ b/x-pack/plugins/cross_cluster_replication/public/app/app.tsx @@ -6,7 +6,9 @@ */ import React, { Component } from 'react'; -import { Route, Switch, Router, Redirect } from 'react-router-dom'; +import { Switch, Router, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { ScopedHistory, ApplicationStart } from '@kbn/core/public'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; diff --git a/x-pack/plugins/cross_cluster_replication/public/app/sections/home/home.js b/x-pack/plugins/cross_cluster_replication/public/app/sections/home/home.js index 662ffd108e2e..cd83fc2d06b8 100644 --- a/x-pack/plugins/cross_cluster_replication/public/app/sections/home/home.js +++ b/x-pack/plugins/cross_cluster_replication/public/app/sections/home/home.js @@ -6,6 +6,7 @@ */ import React, { PureComponent } from 'react'; +// eslint-disable-next-line no-restricted-imports import { Route, Switch } from 'react-router-dom'; import { FormattedMessage } from '@kbn/i18n-react'; diff --git a/x-pack/plugins/cross_cluster_replication/tsconfig.json b/x-pack/plugins/cross_cluster_replication/tsconfig.json index 20dfb113207a..db1ff7daae5b 100644 --- a/x-pack/plugins/cross_cluster_replication/tsconfig.json +++ b/x-pack/plugins/cross_cluster_replication/tsconfig.json @@ -28,6 +28,7 @@ "@kbn/analytics", "@kbn/test-jest-helpers", "@kbn/config-schema", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/enterprise_search/public/applications/analytics/index.tsx b/x-pack/plugins/enterprise_search/public/applications/analytics/index.tsx index b2f7d20bf261..092129e17dd2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/analytics/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/analytics/index.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; + +import { Route } from '@kbn/shared-ux-router'; import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_router.test.tsx index c69eb768183f..f3432aafae4d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_router.test.tsx @@ -9,10 +9,12 @@ import '../../__mocks__/engine_logic.mock'; import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { shallow } from 'enzyme'; +import { Route } from '@kbn/shared-ux-router'; + import { AnalyticsRouter } from '.'; describe('AnalyticsRouter', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_router.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_router.tsx index 2ed06d68301c..64c7a3a7e645 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_router.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; -import { Route, Switch, Redirect } from 'react-router-dom'; +import { Switch, Redirect } from 'react-router-dom'; + +import { Route } from '@kbn/shared-ux-router'; import { ENGINE_ANALYTICS_PATH, diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx index 2cebb28d962f..7bfb43b73162 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { useActions } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { ENGINE_CRAWLER_DOMAIN_PATH, ENGINE_CRAWLER_PATH } from '../../routes'; import { CrawlerLogic } from './crawler_logic'; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_router.test.tsx index 2a67d2139945..6748da71fb15 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_router.test.tsx @@ -8,10 +8,12 @@ import '../../__mocks__/engine_logic.mock'; import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { shallow } from 'enzyme'; +import { Route } from '@kbn/shared-ux-router'; + import { CurationsRouter } from '.'; describe('CurationsRouter', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_router.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_router.tsx index 693e5406b714..72f3bbe16097 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_router.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; + +import { Route } from '@kbn/shared-ux-router'; import { ENGINE_CURATIONS_PATH, diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.tsx index 251a51f402bf..19fb5f556762 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.tsx @@ -6,11 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Route, Switch, Redirect, useParams } from 'react-router-dom'; +import { Switch, Redirect, useParams } from 'react-router-dom'; import { useValues, useActions } from 'kea'; import { i18n } from '@kbn/i18n'; +import { Route } from '@kbn/shared-ux-router'; import { setQueuedErrorMessage } from '../../../shared/flash_messages'; import { AppLogic } from '../../app_logic'; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_router.test.tsx index 42a09ddc5b34..4d41e6d795e3 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_router.test.tsx @@ -9,10 +9,12 @@ import { setMockValues } from '../../../__mocks__/kea_logic'; import '../../__mocks__/engine_logic.mock'; import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { shallow } from 'enzyme'; +import { Route } from '@kbn/shared-ux-router'; + import { rerender } from '../../../test_helpers'; import { ReindexJob } from './reindex_job'; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_router.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_router.tsx index d358c489593c..e1262f870c62 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_router.tsx @@ -6,10 +6,12 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { ENGINE_REINDEX_JOB_PATH } from '../../routes'; import { EngineLogic } from '../engine'; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx index a7197cdca94f..66aa55bb0b21 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/index.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Route, Redirect, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; import { useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; import { HttpLogic } from '../shared/http'; diff --git a/x-pack/plugins/enterprise_search/public/applications/elasticsearch/index.tsx b/x-pack/plugins/enterprise_search/public/applications/elasticsearch/index.tsx index 361d74e2f63c..3ab1ab42dba2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/elasticsearch/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/elasticsearch/index.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; + +import { Route } from '@kbn/shared-ux-router'; import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_router.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_router.tsx index a9984b1ece3b..8c93ecc67c1c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_router.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Redirect, Route, Switch, useParams } from 'react-router-dom'; +import { Redirect, Switch, useParams } from 'react-router-dom'; import { useActions } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { generateEncodedPath } from '../../../shared/encode_path_params'; import { ENGINE_PATH, ENGINE_TAB_PATH, EngineViewTabs } from '../../routes'; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view.tsx index f62096ac756b..9fd27c752ac4 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engine/engine_view.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { useParams, Route, Switch } from 'react-router-dom'; +import { useParams, Switch } from 'react-router-dom'; import { useValues, useActions } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { Status } from '../../../../../common/types/api'; import { KibanaLogic } from '../../../shared/kibana'; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_router.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_router.tsx index fdbc4e544c13..de01ca4500bd 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/engines/engines_router.tsx @@ -6,10 +6,12 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { KibanaLogic } from '../../../shared/kibana'; import { ENGINES_PATH, ENGINE_PATH } from '../../routes'; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/search_index_router.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/search_index_router.tsx index e7be83aa6443..1e85b3b3e2ba 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/search_index_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/search_index_router.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Redirect, Route, Switch, useParams } from 'react-router-dom'; +import { Redirect, Switch, useParams } from 'react-router-dom'; import { useActions } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { OLD_SEARCH_INDEX_CRAWLER_DOMAIN_DETAIL_PATH, SEARCH_INDEX_PATH, diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices_router.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices_router.tsx index 0d7993f168fc..ca86d6932de0 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices_router.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; + +import { Route } from '@kbn/shared-ux-router'; import { SEARCH_INDICES_PATH, SEARCH_INDEX_PATH, NEW_INDEX_PATH } from '../../routes'; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/index.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/index.tsx index b1fe9f6c2816..6db9c0a7760e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/index.tsx @@ -6,10 +6,12 @@ */ import React from 'react'; -import { Route, Redirect, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; import { useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; import { SetupGuide } from '../enterprise_search_overview/components/setup_guide'; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx index ca4b91d0e03b..8638f0d256cc 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_overview/index.tsx @@ -6,10 +6,12 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; import { HttpLogic } from '../shared/http'; diff --git a/x-pack/plugins/enterprise_search/public/applications/search_experiences/index.tsx b/x-pack/plugins/enterprise_search/public/applications/search_experiences/index.tsx index 4416c8309211..1f41321f68c5 100644 --- a/x-pack/plugins/enterprise_search/public/applications/search_experiences/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/search_experiences/index.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; + +import { Route } from '@kbn/shared-ux-router'; import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx index 488d9a0daafd..de77d030cd57 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/index.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Route, Redirect, Switch, useRouteMatch } from 'react-router-dom'; +import { Redirect, Switch, useRouteMatch } from 'react-router-dom'; import { useActions, useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { isVersionMismatch } from '../../../common/is_version_mismatch'; import { InitialAppData } from '../../../common/types'; import { HttpLogic } from '../shared/http'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_router.test.tsx index 7f4e566022ab..9489b757704d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_router.test.tsx @@ -10,10 +10,12 @@ import '../../../../../__mocks__/shallow_useeffect.mock'; import { setMockValues } from '../../../../../__mocks__/kea_logic'; import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { shallow } from 'enzyme'; +import { Route } from '@kbn/shared-ux-router'; + import { DisplaySettings } from './display_settings'; import { DisplaySettingsRouter } from './display_settings_router'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_router.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_router.tsx index bd753631ed48..0142693c4059 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_router.tsx @@ -6,10 +6,12 @@ */ import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { AppLogic } from '../../../../app_logic'; import { DISPLAY_SETTINGS_RESULT_DETAIL_PATH, diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_router.test.tsx index b863c43edcb3..aea519139fd7 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_router.test.tsx @@ -10,10 +10,12 @@ import '../../../../../__mocks__/shallow_useeffect.mock'; import { setMockValues } from '../../../../../__mocks__/kea_logic'; import React from 'react'; -import { Redirect, Route, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; import { shallow } from 'enzyme'; +import { Route } from '@kbn/shared-ux-router'; + import { AssetsAndObjects } from './assets_and_objects'; import { Frequency } from './frequency'; import { Synchronization } from './synchronization'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_router.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_router.tsx index ad91dfb1bd65..fea123eaaa60 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_router.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; -import { Redirect, Route, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; + +import { Route } from '@kbn/shared-ux-router'; import { SYNC_FREQUENCY_PATH, diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_router.test.tsx index 3f9bbc59e842..e2626b57ef87 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_router.test.tsx @@ -11,10 +11,11 @@ import { unmountHandler } from '../../../__mocks__/shallow_useeffect.mock'; import { contentSources } from '../../__mocks__/content_sources.mock'; import React from 'react'; -import { Route } from 'react-router-dom'; import { shallow } from 'enzyme'; +import { Route } from '@kbn/shared-ux-router'; + import { WorkplaceSearchPageTemplate, PersonalDashboardLayout } from '../../components/layout'; import { DisplaySettingsRouter } from './components/display_settings'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_router.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_router.tsx index ed65b83e6cf2..bd5fddfe84e5 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_router.tsx @@ -7,10 +7,12 @@ import React, { useEffect } from 'react'; -import { Route, Switch, useLocation, useParams } from 'react-router-dom'; +import { Switch, useLocation, useParams } from 'react-router-dom'; import { useActions, useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { AppLogic } from '../../app_logic'; import { WorkplaceSearchPageTemplate, PersonalDashboardLayout } from '../../components/layout'; import { NAV, CUSTOM_SERVICE_TYPE } from '../../constants'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_router.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_router.tsx index 02bf2fce3724..4126c808f7c9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_router.tsx @@ -6,11 +6,13 @@ */ import React, { useEffect } from 'react'; -import { Redirect, Route, Switch, useLocation } from 'react-router-dom'; +import { Redirect, Switch, useLocation } from 'react-router-dom'; import { Location } from 'history'; import { useActions, useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { AppLogic } from '../../app_logic'; import { GITHUB_ENTERPRISE_SERVER_VIA_APP_SERVICE_TYPE, diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_router.test.tsx index 393b5a7e194d..8a75978744dc 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_router.test.tsx @@ -11,10 +11,12 @@ import { setMockValues, setMockActions } from '../../../__mocks__/kea_logic'; import { groups } from '../../__mocks__/groups.mock'; import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { shallow } from 'enzyme'; +import { Route } from '@kbn/shared-ux-router'; + import { GroupOverview } from './components/group_overview'; import { GroupSourcePrioritization } from './components/group_source_prioritization'; import { OrgSourcesModal } from './components/org_sources_modal'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_router.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_router.tsx index ffdfb9c37861..e036c557021b 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_router.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Route, Switch, useParams } from 'react-router-dom'; +import { Switch, useParams } from 'react-router-dom'; import { useActions, useValues } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { GROUP_SOURCE_PRIORITIZATION_PATH, GROUP_PATH } from '../../routes'; import { GroupOverview } from './components/group_overview'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_router.test.tsx index 66204f74f51f..f582a86acce9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_router.test.tsx @@ -9,10 +9,12 @@ import '../../../__mocks__/shallow_useeffect.mock'; import { setMockActions } from '../../../__mocks__/kea_logic'; import React from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { shallow } from 'enzyme'; +import { Route } from '@kbn/shared-ux-router'; + import { GroupRouter } from './group_router'; import { Groups } from './groups'; import { GroupsRouter } from './groups_router'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_router.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_router.tsx index 06e0a18b933f..5eea2e1086e0 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_router.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; import { useActions } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { GROUP_PATH, GROUPS_PATH } from '../../routes'; import { GroupRouter } from './group_router'; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/settings_router.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/settings_router.tsx index fc250bbfbf4e..20a5d355578e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/settings_router.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/settings_router.tsx @@ -6,10 +6,12 @@ */ import React, { useEffect } from 'react'; -import { Redirect, Route, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; import { useActions } from 'kea'; +import { Route } from '@kbn/shared-ux-router'; + import { ORG_SETTINGS_CUSTOMIZE_PATH, ORG_SETTINGS_CONNECTORS_PATH, diff --git a/x-pack/plugins/enterprise_search/tsconfig.json b/x-pack/plugins/enterprise_search/tsconfig.json index 37d800e154a7..96a61dbc2b61 100644 --- a/x-pack/plugins/enterprise_search/tsconfig.json +++ b/x-pack/plugins/enterprise_search/tsconfig.json @@ -47,5 +47,6 @@ "@kbn/cypress-config", "@kbn/discover-plugin", "@kbn/guided-onboarding", + "@kbn/shared-ux-router", ] } diff --git a/x-pack/plugins/fleet/public/applications/fleet/app.tsx b/x-pack/plugins/fleet/public/applications/fleet/app.tsx index f62ae6100ce6..d947115861af 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/app.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/app.tsx @@ -10,7 +10,8 @@ import React, { memo, useEffect, useState } from 'react'; import type { AppMountParameters } from '@kbn/core/public'; import { EuiCode, EuiEmptyPrompt, EuiErrorBoundary, EuiPanel, EuiPortal } from '@elastic/eui'; import type { History } from 'history'; -import { Router, Redirect, Route, Switch, useRouteMatch } from 'react-router-dom'; +import { Router, Redirect, Switch, useRouteMatch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import styled from 'styled-components'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/index.tsx index a2a91b105568..bf3cba4f8d8e 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/index.tsx @@ -8,7 +8,9 @@ import React from 'react'; import ReactDOM from 'react-dom'; import type { RouteProps } from 'react-router-dom'; -import { Redirect, Route } from 'react-router-dom'; +import { Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import type { CoreStart, AppMountParameters } from '@kbn/core/public'; import type { FleetConfigType, FleetStartServices } from '../../plugin'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx index ee1be70ead43..57154ecb6b00 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/index.test.tsx @@ -5,7 +5,8 @@ * 2.0. */ -import { Route, useHistory } from 'react-router-dom'; +import { useHistory } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import React from 'react'; import { fireEvent, act, waitFor } from '@testing-library/react'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/index.tsx index e684e8f05c8f..54541fc930c7 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/index.tsx @@ -6,7 +6,9 @@ */ import React, { useMemo, useState, useCallback } from 'react'; -import { Redirect, useRouteMatch, Switch, Route, useLocation } from 'react-router-dom'; +import { Redirect, useRouteMatch, Switch, useLocation } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiPortal } from '@elastic/eui'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/index.tsx index 15196fadf752..2360a6228afb 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/index.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Router, Switch, Route, useHistory } from 'react-router-dom'; +import { Router, Switch, useHistory } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { FLEET_ROUTING_PATHS } from '../../constants'; import { useBreadcrumbs } from '../../hooks'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/index.tsx index cd5c397bce14..28589906bd2c 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/index.tsx @@ -6,7 +6,8 @@ */ import React, { useMemo, useCallback } from 'react'; -import { useRouteMatch, Switch, Route, useLocation } from 'react-router-dom'; +import { useRouteMatch, Switch, useLocation } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiFlexGroup, EuiFlexItem, EuiButtonEmpty, EuiText, EuiSpacer } from '@elastic/eui'; import type { Props as EuiTabProps } from '@elastic/eui/src/components/tabs/tab'; import { FormattedMessage } from '@kbn/i18n-react'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/index.tsx index 0cf9e7d1ba6b..d25bbe52f63e 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/index.tsx @@ -7,7 +7,9 @@ import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; -import { Router, Route, Switch, useHistory } from 'react-router-dom'; +import { Router, Switch, useHistory } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { EuiButton, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { FLEET_ROUTING_PATHS } from '../../constants'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/index.tsx index 51c8346a665c..20e08d445985 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/index.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Router, Route, Switch, useHistory } from 'react-router-dom'; +import { Router, Switch, useHistory } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { FLEET_ROUTING_PATHS } from '../../constants'; import { DefaultLayout } from '../../layouts'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/index.tsx index 91230438119a..b345c0edfcbc 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/index.tsx @@ -7,7 +7,8 @@ import React, { useCallback } from 'react'; import { EuiPortal } from '@elastic/eui'; -import { Router, Route, Switch, useHistory, Redirect } from 'react-router-dom'; +import { Router, Switch, useHistory, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { useBreadcrumbs, diff --git a/x-pack/plugins/fleet/public/applications/integrations/app.tsx b/x-pack/plugins/fleet/public/applications/integrations/app.tsx index 44e2dc7c7abe..68b40589d0b8 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/app.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/app.tsx @@ -9,7 +9,8 @@ import React, { memo } from 'react'; import type { AppMountParameters } from '@kbn/core/public'; import { EuiErrorBoundary, EuiPortal } from '@elastic/eui'; import type { History } from 'history'; -import { Router, Redirect, Route, Switch } from 'react-router-dom'; +import { Router, Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import useObservable from 'react-use/lib/useObservable'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; diff --git a/x-pack/plugins/fleet/public/applications/integrations/index.tsx b/x-pack/plugins/fleet/public/applications/integrations/index.tsx index adf57e23dbcf..7ec58031cf4e 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/index.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/index.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; import ReactDOM from 'react-dom'; -import { Redirect, Route } from 'react-router-dom'; +import { Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import type { RouteProps } from 'react-router-dom'; import type { CoreStart, AppMountParameters } from '@kbn/core/public'; diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/index.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/index.tsx index d7c1c8801adf..67ea0781bafc 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/index.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/index.tsx @@ -6,7 +6,9 @@ */ import React from 'react'; -import { Switch, Route } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { EuiLoadingContent } from '@elastic/eui'; import { INTEGRATIONS_ROUTING_PATHS } from '../../constants'; diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/detail.stories.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/detail.stories.tsx index 67369c2f24cb..264202aeb3b0 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/detail.stories.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/detail.stories.tsx @@ -7,7 +7,8 @@ import React from 'react'; -import { MemoryRouter, Route } from 'react-router-dom'; +import { MemoryRouter } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { INTEGRATIONS_ROUTING_PATHS } from '../../../../constants'; diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.test.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.test.tsx index cb03f5321e57..87ce388fa9db 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.test.tsx @@ -6,7 +6,7 @@ */ import React, { lazy, memo } from 'react'; -import { Route } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { act, cleanup } from '@testing-library/react'; import { INTEGRATIONS_ROUTING_PATHS, pagePathGetters } from '../../../../constants'; diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.tsx index 63314d6fc936..24c0bbb8d9f5 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.tsx @@ -6,7 +6,9 @@ */ import type { ReactEventHandler } from 'react'; import React, { useCallback, useEffect, useMemo, useState } from 'react'; -import { Redirect, Route, Switch, useLocation, useParams, useHistory } from 'react-router-dom'; +import { Redirect, Switch, useLocation, useParams, useHistory } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import styled from 'styled-components'; import { EuiBadge, diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/index.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/index.tsx index bbe61f291021..2596d970d96a 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/index.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/index.tsx @@ -6,7 +6,8 @@ */ import React, { useState } from 'react'; -import { Switch, Route } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import type { CustomIntegration } from '@kbn/custom-integrations-plugin/common'; diff --git a/x-pack/plugins/fleet/tsconfig.json b/x-pack/plugins/fleet/tsconfig.json index db294662d240..7c803170c333 100644 --- a/x-pack/plugins/fleet/tsconfig.json +++ b/x-pack/plugins/fleet/tsconfig.json @@ -94,5 +94,6 @@ "@kbn/ml-is-populated-object", "@kbn/utils", "@kbn/core-http-request-handler-context-server", + "@kbn/shared-ux-router", ] } diff --git a/x-pack/plugins/graph/public/router.tsx b/x-pack/plugins/graph/public/router.tsx index 61a39bbbf63d..a62cc06559da 100644 --- a/x-pack/plugins/graph/public/router.tsx +++ b/x-pack/plugins/graph/public/router.tsx @@ -7,7 +7,9 @@ import React from 'react'; import { createHashHistory } from 'history'; -import { Redirect, Route, Router, Switch } from 'react-router-dom'; +import { Redirect, Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { ListingRoute } from './apps/listing_route'; import { GraphServices } from './application'; import { WorkspaceRoute } from './apps/workspace_route'; diff --git a/x-pack/plugins/graph/tsconfig.json b/x-pack/plugins/graph/tsconfig.json index 46eda528c113..0f9bc04b6975 100644 --- a/x-pack/plugins/graph/tsconfig.json +++ b/x-pack/plugins/graph/tsconfig.json @@ -37,6 +37,7 @@ "@kbn/std", "@kbn/utility-types", "@kbn/react-field", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/index_lifecycle_management/public/application/app.tsx b/x-pack/plugins/index_lifecycle_management/public/application/app.tsx index dea2dcb18532..df80272b418f 100644 --- a/x-pack/plugins/index_lifecycle_management/public/application/app.tsx +++ b/x-pack/plugins/index_lifecycle_management/public/application/app.tsx @@ -6,11 +6,11 @@ */ import React, { useEffect } from 'react'; -import { Router, Switch, Route, Redirect } from 'react-router-dom'; +import { Router, Switch, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { ScopedHistory } from '@kbn/core/public'; import { METRIC_TYPE } from '@kbn/analytics'; -import { useKibana, useExecutionContext } from '../shared_imports'; import { UIM_APP_LOAD } from './constants'; import { EditPolicy } from './sections/edit_policy'; import { PolicyList } from './sections/policy_list'; @@ -18,17 +18,8 @@ import { trackUiMetric } from './services/ui_metric'; import { ROUTES } from './services/navigation'; export const App = ({ history }: { history: ScopedHistory }) => { - const { - services: { executionContext }, - } = useKibana(); - useEffect(() => trackUiMetric(METRIC_TYPE.LOADED, UIM_APP_LOAD), []); - useExecutionContext(executionContext!, { - type: 'application', - page: 'indexLifecycleManagement', - }); - return ( diff --git a/x-pack/plugins/index_lifecycle_management/tsconfig.json b/x-pack/plugins/index_lifecycle_management/tsconfig.json index 75a4d7e68950..e437c207ef5f 100644 --- a/x-pack/plugins/index_lifecycle_management/tsconfig.json +++ b/x-pack/plugins/index_lifecycle_management/tsconfig.json @@ -34,6 +34,7 @@ "@kbn/i18n-react", "@kbn/core-http-browser", "@kbn/config-schema", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/index_management/public/application/app.tsx b/x-pack/plugins/index_management/public/application/app.tsx index 52aad9756f85..7c1de80a6ee4 100644 --- a/x-pack/plugins/index_management/public/application/app.tsx +++ b/x-pack/plugins/index_management/public/application/app.tsx @@ -8,11 +8,11 @@ import React, { useEffect } from 'react'; import { METRIC_TYPE } from '@kbn/analytics'; -import { Router, Switch, Route, Redirect } from 'react-router-dom'; +import { Router, Switch, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { ScopedHistory } from '@kbn/core/public'; import { UIM_APP_LOAD } from '../../common/constants'; -import { useExecutionContext } from '../shared_imports'; import { IndexManagementHome, homeSections } from './sections/home'; import { TemplateCreate } from './sections/template_create'; import { TemplateClone } from './sections/template_clone'; @@ -25,17 +25,12 @@ import { } from './components'; export const App = ({ history }: { history: ScopedHistory }) => { - const { core, services } = useAppContext(); + const { services } = useAppContext(); useEffect( () => services.uiMetricService.trackMetric(METRIC_TYPE.LOADED, UIM_APP_LOAD), [services.uiMetricService] ); - useExecutionContext(core.executionContext, { - type: 'application', - page: 'indexManagement', - }); - return ( diff --git a/x-pack/plugins/index_management/public/application/sections/home/home.tsx b/x-pack/plugins/index_management/public/application/sections/home/home.tsx index 8a43c4dab4f9..ae4c9de5070c 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/home.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/home.tsx @@ -6,7 +6,8 @@ */ import React, { useEffect } from 'react'; -import { Route, RouteComponentProps, Switch } from 'react-router-dom'; +import { RouteComponentProps, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiButtonEmpty, EuiPageHeader, EuiSpacer } from '@elastic/eui'; import { documentationService } from '../../services/documentation'; diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/detail_panel.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/detail_panel.js index 15df66db46c1..cb6e7d9cceba 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/detail_panel.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/detail_panel.js @@ -6,6 +6,7 @@ */ import React, { Fragment } from 'react'; +// eslint-disable-next-line no-restricted-imports import { Route } from 'react-router-dom'; import { FormattedMessage } from '@kbn/i18n-react'; import { diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js index f47df83edf49..dcee6869e4b8 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js @@ -9,6 +9,7 @@ import React, { Component, Fragment } from 'react'; import { i18n } from '@kbn/i18n'; import { METRIC_TYPE } from '@kbn/analytics'; import { FormattedMessage } from '@kbn/i18n-react'; +// eslint-disable-next-line no-restricted-imports import { Route } from 'react-router-dom'; import qs from 'query-string'; diff --git a/x-pack/plugins/index_management/tsconfig.json b/x-pack/plugins/index_management/tsconfig.json index 4dddd38cab29..c11707e646cb 100644 --- a/x-pack/plugins/index_management/tsconfig.json +++ b/x-pack/plugins/index_management/tsconfig.json @@ -30,6 +30,7 @@ "@kbn/core-doc-links-browser-mocks", "@kbn/core-execution-context-browser-mocks", "@kbn/config-schema", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/infra/public/apps/legacy_app.tsx b/x-pack/plugins/infra/public/apps/legacy_app.tsx index d444225a4070..c02e4a57fc09 100644 --- a/x-pack/plugins/infra/public/apps/legacy_app.tsx +++ b/x-pack/plugins/infra/public/apps/legacy_app.tsx @@ -10,7 +10,8 @@ import { createBrowserHistory, History } from 'history'; import { AppMountParameters } from '@kbn/core/public'; import React from 'react'; import ReactDOM from 'react-dom'; -import { Route, RouteProps, Router, Switch } from 'react-router-dom'; +import { RouteProps, Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; // This exists purely to facilitate legacy app/infra URL redirects. // It will be removed in 8.0.0. diff --git a/x-pack/plugins/infra/public/apps/logs_app.tsx b/x-pack/plugins/infra/public/apps/logs_app.tsx index 9e5722e316b0..10aa5dcf58fe 100644 --- a/x-pack/plugins/infra/public/apps/logs_app.tsx +++ b/x-pack/plugins/infra/public/apps/logs_app.tsx @@ -9,7 +9,8 @@ import { History } from 'history'; import { CoreStart } from '@kbn/core/public'; import React from 'react'; import ReactDOM from 'react-dom'; -import { Route, Router, Switch } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { AppMountParameters } from '@kbn/core/public'; import { Storage } from '@kbn/kibana-utils-plugin/public'; import '../index.scss'; diff --git a/x-pack/plugins/infra/public/apps/metrics_app.tsx b/x-pack/plugins/infra/public/apps/metrics_app.tsx index 159c6dab7a66..d6cfc8e03101 100644 --- a/x-pack/plugins/infra/public/apps/metrics_app.tsx +++ b/x-pack/plugins/infra/public/apps/metrics_app.tsx @@ -9,7 +9,8 @@ import { History } from 'history'; import { CoreStart } from '@kbn/core/public'; import React from 'react'; import ReactDOM from 'react-dom'; -import { Route, Router, Switch } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { AppMountParameters } from '@kbn/core/public'; import { Storage } from '@kbn/kibana-utils-plugin/public'; import '../index.scss'; diff --git a/x-pack/plugins/infra/public/pages/link_to/link_to_logs.test.tsx b/x-pack/plugins/infra/public/pages/link_to/link_to_logs.test.tsx index 5ed7ab99b4a3..0345b2568858 100644 --- a/x-pack/plugins/infra/public/pages/link_to/link_to_logs.test.tsx +++ b/x-pack/plugins/infra/public/pages/link_to/link_to_logs.test.tsx @@ -8,7 +8,8 @@ import { render, waitFor } from '@testing-library/react'; import { createMemoryHistory } from 'history'; import React from 'react'; -import { Route, Router, Switch } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { httpServiceMock } from '@kbn/core/public/mocks'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template'; diff --git a/x-pack/plugins/infra/public/pages/link_to/link_to_logs.tsx b/x-pack/plugins/infra/public/pages/link_to/link_to_logs.tsx index 67eb0ed019a8..85d38e7f476d 100644 --- a/x-pack/plugins/infra/public/pages/link_to/link_to_logs.tsx +++ b/x-pack/plugins/infra/public/pages/link_to/link_to_logs.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { match as RouteMatch, Redirect, Route, Switch } from 'react-router-dom'; +import { match as RouteMatch, Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { RedirectToLogs } from './redirect_to_logs'; import { RedirectToNodeLogs } from './redirect_to_node_logs'; diff --git a/x-pack/plugins/infra/public/pages/link_to/link_to_metrics.tsx b/x-pack/plugins/infra/public/pages/link_to/link_to_metrics.tsx index 05a099441b69..5ec1ae419674 100644 --- a/x-pack/plugins/infra/public/pages/link_to/link_to_metrics.tsx +++ b/x-pack/plugins/infra/public/pages/link_to/link_to_metrics.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { match as RouteMatch, Redirect, Route, Switch } from 'react-router-dom'; +import { match as RouteMatch, Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { RedirectToNodeDetail } from './redirect_to_node_detail'; import { RedirectToHostDetailViaIP } from './redirect_to_host_detail_via_ip'; diff --git a/x-pack/plugins/infra/public/pages/logs/page_content.tsx b/x-pack/plugins/infra/public/pages/logs/page_content.tsx index 8acd4004603e..3befe20270dd 100644 --- a/x-pack/plugins/infra/public/pages/logs/page_content.tsx +++ b/x-pack/plugins/infra/public/pages/logs/page_content.tsx @@ -8,7 +8,8 @@ import { EuiHeaderLink, EuiHeaderLinks } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React, { useContext } from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { HeaderMenuPortal, useLinkProps } from '@kbn/observability-plugin/public'; import { AlertDropdown } from '../../alerting/log_threshold'; diff --git a/x-pack/plugins/infra/public/pages/metrics/index.tsx b/x-pack/plugins/infra/public/pages/metrics/index.tsx index 28a1b84e1538..3e8d61fe2e03 100644 --- a/x-pack/plugins/infra/public/pages/metrics/index.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/index.tsx @@ -8,7 +8,8 @@ import { i18n } from '@kbn/i18n'; import React, { useContext } from 'react'; -import { Route, RouteComponentProps, Switch } from 'react-router-dom'; +import { RouteComponentProps, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiErrorBoundary, EuiHeaderLinks, EuiHeaderLink } from '@elastic/eui'; import { useKibana } from '@kbn/kibana-react-plugin/public'; diff --git a/x-pack/plugins/infra/public/utils/redirect_with_query_params.tsx b/x-pack/plugins/infra/public/utils/redirect_with_query_params.tsx index 0e6c019b9e29..2fa6873aa61f 100644 --- a/x-pack/plugins/infra/public/utils/redirect_with_query_params.tsx +++ b/x-pack/plugins/infra/public/utils/redirect_with_query_params.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Route, Redirect, RouteProps, RedirectProps } from 'react-router-dom'; +import { Redirect, RouteProps, RedirectProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; interface RedirectWithQueryParamsProps extends Omit { from: string; diff --git a/x-pack/plugins/infra/public/utils/url_state.tsx b/x-pack/plugins/infra/public/utils/url_state.tsx index e793ade8ff5a..0b4ca2c4e733 100644 --- a/x-pack/plugins/infra/public/utils/url_state.tsx +++ b/x-pack/plugins/infra/public/utils/url_state.tsx @@ -8,7 +8,7 @@ import { parse, stringify } from 'query-string'; import { History, Location } from 'history'; import React from 'react'; -import { Route, RouteProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { decode, encode, RisonValue } from '@kbn/rison'; import { url } from '@kbn/kibana-utils-plugin/public'; import { throttle } from 'lodash'; @@ -123,7 +123,7 @@ class UrlStateContainerLifecycle extends React.Component< export const UrlStateContainer = ( props: UrlStateContainerProps ) => ( - > + {({ history, location }) => ( history={history} location={location} {...props} /> )} diff --git a/x-pack/plugins/infra/tsconfig.json b/x-pack/plugins/infra/tsconfig.json index d02875ed711c..22f0d5727de8 100644 --- a/x-pack/plugins/infra/tsconfig.json +++ b/x-pack/plugins/infra/tsconfig.json @@ -52,7 +52,8 @@ "@kbn/lens-plugin", "@kbn/core-saved-objects-common", "@kbn/core-analytics-server", - "@kbn/analytics-client" + "@kbn/analytics-client", + "@kbn/shared-ux-router" ], "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/ingest_pipelines/public/application/app.tsx b/x-pack/plugins/ingest_pipelines/public/application/app.tsx index 75b3b46f463e..b7674df24a74 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/app.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/app.tsx @@ -8,9 +8,11 @@ import { FormattedMessage } from '@kbn/i18n-react'; import { EuiPageContent_Deprecated as EuiPageContent, EuiEmptyPrompt } from '@elastic/eui'; import React, { FunctionComponent } from 'react'; -import { Router, Switch, Route } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; -import { useKibana, useExecutionContext } from '../shared_imports'; +import { Route } from '@kbn/shared-ux-router'; + +import { useKibana } from '../shared_imports'; import { APP_CLUSTER_REQUIRED_PRIVILEGES } from '../../common/constants'; @@ -44,12 +46,7 @@ export const AppWithoutRouter = () => ( export const App: FunctionComponent = () => { const { apiError } = useAuthorizationContext(); - const { history, executionContext } = useKibana().services; - - useExecutionContext(executionContext!, { - type: 'application', - page: 'ingestPipelines', - }); + const { history } = useKibana().services; if (apiError) { return ( diff --git a/x-pack/plugins/ingest_pipelines/tsconfig.json b/x-pack/plugins/ingest_pipelines/tsconfig.json index 0d7e754ad292..7dfce7125dcb 100644 --- a/x-pack/plugins/ingest_pipelines/tsconfig.json +++ b/x-pack/plugins/ingest_pipelines/tsconfig.json @@ -28,6 +28,7 @@ "@kbn/monaco", "@kbn/test-jest-helpers", "@kbn/config-schema", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/kubernetes_security/public/components/kubernetes_security_routes/index.tsx b/x-pack/plugins/kubernetes_security/public/components/kubernetes_security_routes/index.tsx index d51e9609c62b..a64d6317071c 100644 --- a/x-pack/plugins/kubernetes_security/public/components/kubernetes_security_routes/index.tsx +++ b/x-pack/plugins/kubernetes_security/public/components/kubernetes_security_routes/index.tsx @@ -6,7 +6,8 @@ */ import React, { useCallback, useMemo } from 'react'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import useLocalStorage from 'react-use/lib/useLocalStorage'; import { EuiBetaBadge, diff --git a/x-pack/plugins/kubernetes_security/tsconfig.json b/x-pack/plugins/kubernetes_security/tsconfig.json index 8460942e5ac3..9db01cda0a61 100644 --- a/x-pack/plugins/kubernetes_security/tsconfig.json +++ b/x-pack/plugins/kubernetes_security/tsconfig.json @@ -33,6 +33,7 @@ "@kbn/ui-theme", "@kbn/i18n-react", "@kbn/config-schema", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/lens/public/app_plugin/mounter.tsx b/x-pack/plugins/lens/public/app_plugin/mounter.tsx index 45de1597148a..070a336623c9 100644 --- a/x-pack/plugins/lens/public/app_plugin/mounter.tsx +++ b/x-pack/plugins/lens/public/app_plugin/mounter.tsx @@ -9,7 +9,8 @@ import React, { FC, useCallback, useEffect, useState, useMemo } from 'react'; import { PreloadedState } from '@reduxjs/toolkit'; import { AppMountParameters, CoreSetup, CoreStart } from '@kbn/core/public'; import { FormattedMessage, I18nProvider } from '@kbn/i18n-react'; -import { HashRouter, Route, RouteComponentProps, Switch } from 'react-router-dom'; +import { HashRouter, RouteComponentProps, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { History } from 'history'; import { render, unmountComponentAtNode } from 'react-dom'; import { i18n } from '@kbn/i18n'; diff --git a/x-pack/plugins/lens/tsconfig.json b/x-pack/plugins/lens/tsconfig.json index 86430fa10325..3732371c9fd2 100644 --- a/x-pack/plugins/lens/tsconfig.json +++ b/x-pack/plugins/lens/tsconfig.json @@ -63,6 +63,7 @@ "@kbn/core-saved-objects-common", "@kbn/core-ui-settings-browser", "@kbn/core-saved-objects-server", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/license_management/public/application/app.js b/x-pack/plugins/license_management/public/application/app.js index abf37be6fb84..62e027d567d8 100644 --- a/x-pack/plugins/license_management/public/application/app.js +++ b/x-pack/plugins/license_management/public/application/app.js @@ -8,7 +8,8 @@ import React, { useEffect } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { LicenseDashboard, UploadLicense } from './sections'; -import { Switch, Route } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { APP_PERMISSION } from '../../common/constants'; import { SectionLoading, useExecutionContext } from '../shared_imports'; import { diff --git a/x-pack/plugins/license_management/tsconfig.json b/x-pack/plugins/license_management/tsconfig.json index e53f1324077d..c1ff3321ca87 100644 --- a/x-pack/plugins/license_management/tsconfig.json +++ b/x-pack/plugins/license_management/tsconfig.json @@ -24,6 +24,7 @@ "@kbn/i18n", "@kbn/config-schema", "@kbn/test-jest-helpers", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/logstash/public/application/index.tsx b/x-pack/plugins/logstash/public/application/index.tsx index 03c2d9d878e2..998b4d6e27a1 100644 --- a/x-pack/plugins/logstash/public/application/index.tsx +++ b/x-pack/plugins/logstash/public/application/index.tsx @@ -7,7 +7,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { Router, Route, Switch, Redirect } from 'react-router-dom'; +import { Router, Switch, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { Observable } from 'rxjs'; import { first } from 'rxjs/operators'; diff --git a/x-pack/plugins/logstash/tsconfig.json b/x-pack/plugins/logstash/tsconfig.json index 560458be71c0..e3fb0fc3ed6b 100644 --- a/x-pack/plugins/logstash/tsconfig.json +++ b/x-pack/plugins/logstash/tsconfig.json @@ -23,6 +23,7 @@ "@kbn/test-jest-helpers", "@kbn/es-ui-shared-plugin", "@kbn/config-schema", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/maps/public/render_app.tsx b/x-pack/plugins/maps/public/render_app.tsx index d8112b696d24..01eba4ee7905 100644 --- a/x-pack/plugins/maps/public/render_app.tsx +++ b/x-pack/plugins/maps/public/render_app.tsx @@ -7,7 +7,8 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Router, Switch, Route, Redirect, RouteComponentProps } from 'react-router-dom'; +import { Router, Switch, Redirect, RouteComponentProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { i18n } from '@kbn/i18n'; import type { CoreStart, AppMountParameters } from '@kbn/core/public'; import { ExitFullScreenButtonKibanaProvider } from '@kbn/shared-ux-button-exit-full-screen'; diff --git a/x-pack/plugins/maps/tsconfig.json b/x-pack/plugins/maps/tsconfig.json index e7ecc7639613..0505ffb7473c 100644 --- a/x-pack/plugins/maps/tsconfig.json +++ b/x-pack/plugins/maps/tsconfig.json @@ -64,6 +64,7 @@ "@kbn/config-schema", "@kbn/field-types", "@kbn/controls-plugin", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx b/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx index 2498aa280fa9..477a41193563 100644 --- a/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx +++ b/x-pack/plugins/ml/public/application/components/ml_page/ml_page.tsx @@ -7,7 +7,9 @@ import React, { createContext, FC, useEffect, useMemo, useState } from 'react'; import { createHtmlPortalNode, HtmlPortalNode } from 'react-reverse-portal'; -import { Redirect, Route, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { Subscription } from 'rxjs'; import { EuiPageSection } from '@elastic/eui'; diff --git a/x-pack/plugins/ml/tsconfig.json b/x-pack/plugins/ml/tsconfig.json index 5dc4bfd67dc5..72fbeee62048 100644 --- a/x-pack/plugins/ml/tsconfig.json +++ b/x-pack/plugins/ml/tsconfig.json @@ -79,6 +79,7 @@ "@kbn/shared-ux-link-redirect-app", "@kbn/react-field", "@kbn/unified-field-list-plugin", + "@kbn/shared-ux-router", "@kbn/saved-search-plugin", ], } diff --git a/x-pack/plugins/monitoring/public/application/index.tsx b/x-pack/plugins/monitoring/public/application/index.tsx index f8a9cfa89c3a..0a1688028bab 100644 --- a/x-pack/plugins/monitoring/public/application/index.tsx +++ b/x-pack/plugins/monitoring/public/application/index.tsx @@ -10,7 +10,8 @@ import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import React, { useMemo } from 'react'; import ReactDOM from 'react-dom'; -import { Redirect, Route, Router, Switch } from 'react-router-dom'; +import { Redirect, Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import useObservable from 'react-use/lib/useObservable'; import { Observable } from 'rxjs'; import { diff --git a/x-pack/plugins/monitoring/public/application/route_init.tsx b/x-pack/plugins/monitoring/public/application/route_init.tsx index 92def5b2c36f..460a6ffa5ee0 100644 --- a/x-pack/plugins/monitoring/public/application/route_init.tsx +++ b/x-pack/plugins/monitoring/public/application/route_init.tsx @@ -5,7 +5,9 @@ * 2.0. */ import React, { useContext } from 'react'; -import { Route, Redirect, useLocation } from 'react-router-dom'; +import { Redirect, useLocation } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { useClusters } from './hooks/use_clusters'; import { GlobalStateContext } from './contexts/global_state_context'; import { getClusterFromClusters } from '../lib/get_cluster_from_clusters'; diff --git a/x-pack/plugins/monitoring/tsconfig.json b/x-pack/plugins/monitoring/tsconfig.json index 84d45ef76b3d..cccc6020d2d1 100644 --- a/x-pack/plugins/monitoring/tsconfig.json +++ b/x-pack/plugins/monitoring/tsconfig.json @@ -39,6 +39,7 @@ "@kbn/io-ts-utils", "@kbn/dashboard-plugin", "@kbn/fleet-plugin", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/observability/public/application/index.tsx b/x-pack/plugins/observability/public/application/index.tsx index 7edbb74b80c8..bc4445accb36 100644 --- a/x-pack/plugins/observability/public/application/index.tsx +++ b/x-pack/plugins/observability/public/application/index.tsx @@ -8,7 +8,8 @@ import { i18n } from '@kbn/i18n'; import React from 'react'; import ReactDOM from 'react-dom'; -import { Route, Router, Switch } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { AppMountParameters, APP_WRAPPER_CLASS, CoreStart } from '@kbn/core/public'; import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; import { diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx index 6abb0416d090..023d3d96288c 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_series_storage.test.tsx @@ -7,7 +7,8 @@ import React, { useEffect } from 'react'; import { act, renderHook } from '@testing-library/react-hooks'; -import { Route, Router } from 'react-router-dom'; +import { Router } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { render } from '@testing-library/react'; import { UrlStorageContextProvider, useSeriesStorage, reportTypeKey } from './use_series_storage'; import { getHistoryFromUrl } from '../rtl_helpers'; diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx index 1e9145ed7a10..9c0c1817d489 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx @@ -14,7 +14,8 @@ import { RenderOptions, MatcherFunction, } from '@testing-library/react'; -import { Route, Router } from 'react-router-dom'; +import { Router } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { createMemoryHistory, History } from 'history'; import { CoreStart } from '@kbn/core/public'; import { I18nProvider } from '@kbn/i18n-react'; diff --git a/x-pack/plugins/observability/tsconfig.json b/x-pack/plugins/observability/tsconfig.json index 2deabdc736d4..d08a00ea674a 100644 --- a/x-pack/plugins/observability/tsconfig.json +++ b/x-pack/plugins/observability/tsconfig.json @@ -69,6 +69,7 @@ "@kbn/guided-onboarding", "@kbn/charts-plugin", "@kbn/securitysolution-ecs", + "@kbn/shared-ux-router", "@kbn/alerts-ui-shared", ], "exclude": [ diff --git a/x-pack/plugins/osquery/public/routes/index.tsx b/x-pack/plugins/osquery/public/routes/index.tsx index 48ce8a7619e1..9d9ceccd66a6 100644 --- a/x-pack/plugins/osquery/public/routes/index.tsx +++ b/x-pack/plugins/osquery/public/routes/index.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Switch, Redirect, Route } from 'react-router-dom'; +import { Switch, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { useBreadcrumbs } from '../common/hooks/use_breadcrumbs'; import { LiveQueries } from './live_queries'; diff --git a/x-pack/plugins/osquery/public/routes/live_queries/index.tsx b/x-pack/plugins/osquery/public/routes/live_queries/index.tsx index 9eefba4cb67a..14d917093a1a 100644 --- a/x-pack/plugins/osquery/public/routes/live_queries/index.tsx +++ b/x-pack/plugins/osquery/public/routes/live_queries/index.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Switch, Route, useRouteMatch } from 'react-router-dom'; +import { Switch, useRouteMatch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { LiveQueriesPage } from './list'; import { NewLiveQueryPage } from './new'; diff --git a/x-pack/plugins/osquery/public/routes/packs/index.tsx b/x-pack/plugins/osquery/public/routes/packs/index.tsx index 7b6f5ed58229..ffd8ab332a68 100644 --- a/x-pack/plugins/osquery/public/routes/packs/index.tsx +++ b/x-pack/plugins/osquery/public/routes/packs/index.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Switch, Route, useRouteMatch } from 'react-router-dom'; +import { Switch, useRouteMatch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { PacksPage } from './list'; import { AddPackPage } from './add'; diff --git a/x-pack/plugins/osquery/public/routes/saved_queries/index.tsx b/x-pack/plugins/osquery/public/routes/saved_queries/index.tsx index a2241ae017df..931563cd40dd 100644 --- a/x-pack/plugins/osquery/public/routes/saved_queries/index.tsx +++ b/x-pack/plugins/osquery/public/routes/saved_queries/index.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Switch, Route, useRouteMatch } from 'react-router-dom'; +import { Switch, useRouteMatch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { QueriesPage } from './list'; import { NewSavedQueryPage } from './new'; diff --git a/x-pack/plugins/osquery/tsconfig.json b/x-pack/plugins/osquery/tsconfig.json index 9807641e8b68..678f4900134c 100644 --- a/x-pack/plugins/osquery/tsconfig.json +++ b/x-pack/plugins/osquery/tsconfig.json @@ -68,5 +68,6 @@ "@kbn/core-elasticsearch-server", "@kbn/core-saved-objects-api-server", "@kbn/logging", + "@kbn/shared-ux-router", ] } diff --git a/x-pack/plugins/remote_clusters/public/application/app.js b/x-pack/plugins/remote_clusters/public/application/app.js index 261b579320d9..d8bd0640ff4e 100644 --- a/x-pack/plugins/remote_clusters/public/application/app.js +++ b/x-pack/plugins/remote_clusters/public/application/app.js @@ -7,6 +7,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; +// eslint-disable-next-line no-restricted-imports import { Switch, Route, Redirect, Router } from 'react-router-dom'; import { UIM_APP_LOAD } from './constants'; diff --git a/x-pack/plugins/rollup/public/crud_app/app.js b/x-pack/plugins/rollup/public/crud_app/app.js index 58d4feacc5e9..3a269a575690 100644 --- a/x-pack/plugins/rollup/public/crud_app/app.js +++ b/x-pack/plugins/rollup/public/crud_app/app.js @@ -7,6 +7,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; +// eslint-disable-next-line no-restricted-imports import { Router, Switch, Route, Redirect, withRouter } from 'react-router-dom'; import { UIM_APP_LOAD } from '../../common'; diff --git a/x-pack/plugins/security/public/management/api_keys/api_keys_grid/api_keys_grid_page.tsx b/x-pack/plugins/security/public/management/api_keys/api_keys_grid/api_keys_grid_page.tsx index 49b606c7b34c..1ce95fc80897 100644 --- a/x-pack/plugins/security/public/management/api_keys/api_keys_grid/api_keys_grid_page.tsx +++ b/x-pack/plugins/security/public/management/api_keys/api_keys_grid/api_keys_grid_page.tsx @@ -24,7 +24,6 @@ import { css } from '@emotion/react'; import type { History } from 'history'; import moment from 'moment-timezone'; import React, { Component } from 'react'; -import { Route } from 'react-router-dom'; import type { NotificationsStart } from '@kbn/core/public'; import { SectionLoading } from '@kbn/es-ui-shared-plugin/public'; @@ -32,6 +31,7 @@ import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { reactRouterNavigate } from '@kbn/kibana-react-plugin/public'; import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template'; +import { Route } from '@kbn/shared-ux-router'; import type { PublicMethodsOf } from '@kbn/utility-types'; import type { ApiKey, ApiKeyToInvalidate } from '../../../../common/model'; diff --git a/x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx b/x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx index c5b50c21401c..59a1c5c16f6b 100644 --- a/x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx +++ b/x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx @@ -7,12 +7,13 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Route, Router, useParams } from 'react-router-dom'; +import { Router, useParams } from 'react-router-dom'; import type { StartServicesAccessor } from '@kbn/core/public'; import { i18n } from '@kbn/i18n'; import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import type { RegisterManagementAppArgs } from '@kbn/management-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { Breadcrumb, diff --git a/x-pack/plugins/security/public/management/roles/roles_management_app.tsx b/x-pack/plugins/security/public/management/roles/roles_management_app.tsx index 30ddeb590042..48c1072e19e7 100644 --- a/x-pack/plugins/security/public/management/roles/roles_management_app.tsx +++ b/x-pack/plugins/security/public/management/roles/roles_management_app.tsx @@ -7,12 +7,13 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Route, Router, useParams } from 'react-router-dom'; +import { Router, useParams } from 'react-router-dom'; import type { FatalErrorsSetup, StartServicesAccessor } from '@kbn/core/public'; import { i18n } from '@kbn/i18n'; import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import type { RegisterManagementAppArgs } from '@kbn/management-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import type { SecurityLicense } from '../../../common/licensing'; import { diff --git a/x-pack/plugins/security/public/management/users/users_management_app.tsx b/x-pack/plugins/security/public/management/users/users_management_app.tsx index a8a13bb72dc6..571f55880356 100644 --- a/x-pack/plugins/security/public/management/users/users_management_app.tsx +++ b/x-pack/plugins/security/public/management/users/users_management_app.tsx @@ -10,7 +10,7 @@ import type { FunctionComponent } from 'react'; import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; import type { RouteComponentProps } from 'react-router-dom'; -import { Redirect, Route, Router, Switch } from 'react-router-dom'; +import { Redirect, Router, Switch } from 'react-router-dom'; import type { Observable } from 'rxjs'; import type { CoreStart, CoreTheme, StartServicesAccessor } from '@kbn/core/public'; @@ -18,6 +18,7 @@ import { i18n } from '@kbn/i18n'; import { I18nProvider } from '@kbn/i18n-react'; import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import type { RegisterManagementAppArgs } from '@kbn/management-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import type { AuthenticationServiceSetup } from '../../authentication'; import type { BreadcrumbsChangeHandler } from '../../components/breadcrumb'; diff --git a/x-pack/plugins/security/tsconfig.json b/x-pack/plugins/security/tsconfig.json index 30687113a404..1ca14763ef53 100644 --- a/x-pack/plugins/security/tsconfig.json +++ b/x-pack/plugins/security/tsconfig.json @@ -52,6 +52,7 @@ "@kbn/core-custom-branding-browser-mocks", "@kbn/core-custom-branding-common", "@kbn/core-custom-branding-server-mocks", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/security_solution/public/app/index.tsx b/x-pack/plugins/security_solution/public/app/index.tsx index 29abcc5c475e..25ab0d14189e 100644 --- a/x-pack/plugins/security_solution/public/app/index.tsx +++ b/x-pack/plugins/security_solution/public/app/index.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { NotFoundPage } from './404'; import { SecurityApp } from './app'; diff --git a/x-pack/plugins/security_solution/public/app/routes.tsx b/x-pack/plugins/security_solution/public/app/routes.tsx index 0e8fb5f69cb2..cc69b531adb2 100644 --- a/x-pack/plugins/security_solution/public/app/routes.tsx +++ b/x-pack/plugins/security_solution/public/app/routes.tsx @@ -9,7 +9,7 @@ import type { History } from 'history'; import type { FC } from 'react'; import React, { memo, useEffect } from 'react'; import { Router, Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { useDispatch } from 'react-redux'; import type { AppLeaveHandler, AppMountParameters } from '@kbn/core/public'; diff --git a/x-pack/plugins/security_solution/public/common/components/ml/conditional_links/ml_host_conditional_container.tsx b/x-pack/plugins/security_solution/public/common/components/ml/conditional_links/ml_host_conditional_container.tsx index be872e89f1a2..a4553f6fe9d5 100644 --- a/x-pack/plugins/security_solution/public/common/components/ml/conditional_links/ml_host_conditional_container.tsx +++ b/x-pack/plugins/security_solution/public/common/components/ml/conditional_links/ml_host_conditional_container.tsx @@ -9,7 +9,7 @@ import { parse, stringify } from 'query-string'; import React from 'react'; import { Redirect, Switch, useRouteMatch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { url as urlUtils } from '@kbn/kibana-utils-plugin/public'; import { addEntitiesToKql } from './add_entities_to_kql'; diff --git a/x-pack/plugins/security_solution/public/common/components/ml/conditional_links/ml_network_conditional_container.tsx b/x-pack/plugins/security_solution/public/common/components/ml/conditional_links/ml_network_conditional_container.tsx index 7261ef7335a9..8e05d6cfc8b2 100644 --- a/x-pack/plugins/security_solution/public/common/components/ml/conditional_links/ml_network_conditional_container.tsx +++ b/x-pack/plugins/security_solution/public/common/components/ml/conditional_links/ml_network_conditional_container.tsx @@ -9,7 +9,7 @@ import { parse, stringify } from 'query-string'; import React from 'react'; import { Redirect, Switch, useRouteMatch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { url as urlUtils } from '@kbn/kibana-utils-plugin/public'; import { addEntitiesToKql } from './add_entities_to_kql'; import { replaceKQLParts } from './replace_kql_parts'; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx index 0b6a0f5f5e79..4ebd2d2aa6f4 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx @@ -18,7 +18,8 @@ import { EuiWindowEvent, } from '@elastic/eui'; import { i18n as i18nTranslate } from '@kbn/i18n'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; + import { FormattedMessage } from '@kbn/i18n-react'; import { noop, omit } from 'lodash/fp'; import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; diff --git a/x-pack/plugins/security_solution/public/detections/pages/alert_details/index.tsx b/x-pack/plugins/security_solution/public/detections/pages/alert_details/index.tsx index 4b2bfe99ee30..c95cb3a7f03e 100644 --- a/x-pack/plugins/security_solution/public/detections/pages/alert_details/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/pages/alert_details/index.tsx @@ -7,7 +7,7 @@ import React, { memo, useEffect, useMemo } from 'react'; import { Switch, useParams } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { ALERT_RULE_NAME, TIMESTAMP } from '@kbn/rule-data-utils'; import { EuiSpacer } from '@elastic/eui'; import { useDispatch } from 'react-redux'; diff --git a/x-pack/plugins/security_solution/public/detections/pages/alerts/index.tsx b/x-pack/plugins/security_solution/public/detections/pages/alerts/index.tsx index d9ac9813ec72..1cb4ee66e4f3 100644 --- a/x-pack/plugins/security_solution/public/detections/pages/alerts/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/pages/alerts/index.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { Redirect, Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; import { useIsExperimentalFeatureEnabled } from '../../../common/hooks/use_experimental_features'; diff --git a/x-pack/plugins/security_solution/public/exceptions/routes.tsx b/x-pack/plugins/security_solution/public/exceptions/routes.tsx index dd94e51f6c33..c94c22a987a1 100644 --- a/x-pack/plugins/security_solution/public/exceptions/routes.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/routes.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; import * as i18n from './translations'; diff --git a/x-pack/plugins/security_solution/public/explore/hosts/pages/details/details_tabs.tsx b/x-pack/plugins/security_solution/public/explore/hosts/pages/details/details_tabs.tsx index e1d6de9b80eb..ebbd93afeb42 100644 --- a/x-pack/plugins/security_solution/public/explore/hosts/pages/details/details_tabs.tsx +++ b/x-pack/plugins/security_solution/public/explore/hosts/pages/details/details_tabs.tsx @@ -7,8 +7,7 @@ import React from 'react'; import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; - +import { Route } from '@kbn/shared-ux-router'; import { RiskScoreEntity } from '../../../../../common/search_strategy'; import { RiskDetailsTabBody } from '../../../components/risk_score/risk_details_tab_body'; import { HostsTableType } from '../../store/model'; diff --git a/x-pack/plugins/security_solution/public/explore/hosts/pages/hosts_tabs.tsx b/x-pack/plugins/security_solution/public/explore/hosts/pages/hosts_tabs.tsx index 5deb95d06551..9d693ab63766 100644 --- a/x-pack/plugins/security_solution/public/explore/hosts/pages/hosts_tabs.tsx +++ b/x-pack/plugins/security_solution/public/explore/hosts/pages/hosts_tabs.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import type { HostsTabsProps } from './types'; import { HostsTableType } from '../store/model'; diff --git a/x-pack/plugins/security_solution/public/explore/hosts/pages/index.tsx b/x-pack/plugins/security_solution/public/explore/hosts/pages/index.tsx index 3179f03032ea..1cc89dbbedb4 100644 --- a/x-pack/plugins/security_solution/public/explore/hosts/pages/index.tsx +++ b/x-pack/plugins/security_solution/public/explore/hosts/pages/index.tsx @@ -7,7 +7,8 @@ import React from 'react'; import { Switch, Redirect } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; + import { HOSTS_PATH } from '../../../../common/constants'; import { HostDetails } from './details'; import { HostsTableType } from '../store/model'; diff --git a/x-pack/plugins/security_solution/public/explore/network/pages/index.tsx b/x-pack/plugins/security_solution/public/explore/network/pages/index.tsx index 8007d438a0de..e74c2033b9ae 100644 --- a/x-pack/plugins/security_solution/public/explore/network/pages/index.tsx +++ b/x-pack/plugins/security_solution/public/explore/network/pages/index.tsx @@ -7,7 +7,7 @@ import React, { useMemo } from 'react'; import { Redirect, Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { useMlCapabilities } from '../../../common/components/ml/hooks/use_ml_capabilities'; import { hasMlUserPermissions } from '../../../../common/machine_learning/has_ml_user_permissions'; diff --git a/x-pack/plugins/security_solution/public/explore/network/pages/navigation/network_routes.tsx b/x-pack/plugins/security_solution/public/explore/network/pages/navigation/network_routes.tsx index 5f4d2211cd8a..f39522f177c3 100644 --- a/x-pack/plugins/security_solution/public/explore/network/pages/navigation/network_routes.tsx +++ b/x-pack/plugins/security_solution/public/explore/network/pages/navigation/network_routes.tsx @@ -7,7 +7,8 @@ import React from 'react'; import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; + import { EuiFlexItem, EuiSpacer } from '@elastic/eui'; import { FlowTargetSourceDest } from '../../../../../common/search_strategy/security_solution/network'; diff --git a/x-pack/plugins/security_solution/public/explore/users/pages/details/details_tabs.tsx b/x-pack/plugins/security_solution/public/explore/users/pages/details/details_tabs.tsx index 0049a77df946..7b9d6904cd49 100644 --- a/x-pack/plugins/security_solution/public/explore/users/pages/details/details_tabs.tsx +++ b/x-pack/plugins/security_solution/public/explore/users/pages/details/details_tabs.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { RiskDetailsTabBody } from '../../../components/risk_score/risk_details_tab_body'; import { RiskScoreEntity } from '../../../../../common/search_strategy'; diff --git a/x-pack/plugins/security_solution/public/explore/users/pages/index.tsx b/x-pack/plugins/security_solution/public/explore/users/pages/index.tsx index fe7afba6e96b..79a711abe1aa 100644 --- a/x-pack/plugins/security_solution/public/explore/users/pages/index.tsx +++ b/x-pack/plugins/security_solution/public/explore/users/pages/index.tsx @@ -7,7 +7,8 @@ import React from 'react'; import { Switch, Redirect } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; + import { USERS_PATH } from '../../../../common/constants'; import { UsersTableType } from '../store/model'; import { Users } from './users'; diff --git a/x-pack/plugins/security_solution/public/explore/users/pages/users_tabs.tsx b/x-pack/plugins/security_solution/public/explore/users/pages/users_tabs.tsx index df84c8efc11b..0df9a5446e40 100644 --- a/x-pack/plugins/security_solution/public/explore/users/pages/users_tabs.tsx +++ b/x-pack/plugins/security_solution/public/explore/users/pages/users_tabs.tsx @@ -7,7 +7,7 @@ import React, { memo } from 'react'; import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import type { UsersTabsProps } from './types'; import { UsersTableType } from '../store/model'; diff --git a/x-pack/plugins/security_solution/public/management/pages/blocklist/index.tsx b/x-pack/plugins/security_solution/public/management/pages/blocklist/index.tsx index c16a75b08496..3ba5682ccec9 100644 --- a/x-pack/plugins/security_solution/public/management/pages/blocklist/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/blocklist/index.tsx @@ -6,7 +6,7 @@ */ import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import React, { memo } from 'react'; import { MANAGEMENT_ROUTING_BLOCKLIST_PATH } from '../../common/constants'; import { NotFoundPage } from '../../../app/404'; diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/index.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/index.tsx index 8da9e0e05d07..6ede1235909c 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/index.tsx @@ -6,7 +6,7 @@ */ import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import React, { memo } from 'react'; import { EndpointList } from './view'; import { MANAGEMENT_ROUTING_ENDPOINTS_PATH } from '../../common/constants'; diff --git a/x-pack/plugins/security_solution/public/management/pages/event_filters/index.tsx b/x-pack/plugins/security_solution/public/management/pages/event_filters/index.tsx index 9cb825bd06a6..d7271feae77b 100644 --- a/x-pack/plugins/security_solution/public/management/pages/event_filters/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/event_filters/index.tsx @@ -6,7 +6,7 @@ */ import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import React from 'react'; import { NotFoundPage } from '../../../app/404'; import { MANAGEMENT_ROUTING_EVENT_FILTERS_PATH } from '../../common/constants'; diff --git a/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/index.tsx b/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/index.tsx index ac6a191eddd8..5f2d528ecbfc 100644 --- a/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/index.tsx @@ -6,7 +6,7 @@ */ import { Switch, Redirect } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import React, { memo } from 'react'; import { ENDPOINTS_PATH, SecurityPageName } from '../../../../common/constants'; import { useLinkExists } from '../../../common/links/links'; diff --git a/x-pack/plugins/security_solution/public/management/pages/index.tsx b/x-pack/plugins/security_solution/public/management/pages/index.tsx index ccb9adbb1456..5c23387abfe4 100644 --- a/x-pack/plugins/security_solution/public/management/pages/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/index.tsx @@ -7,7 +7,7 @@ import React, { memo } from 'react'; import { Switch, Redirect } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { EuiLoadingSpinner } from '@elastic/eui'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; import { diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/index.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/index.tsx index 8157cc65e3fb..50556686438a 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/index.tsx @@ -7,7 +7,8 @@ import React, { memo } from 'react'; import { Switch, Redirect } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; + import { PolicyDetails, PolicyList } from './view'; import { MANAGEMENT_ROUTING_POLICY_DETAILS_FORM_PATH, diff --git a/x-pack/plugins/security_solution/public/management/pages/response_actions/index.tsx b/x-pack/plugins/security_solution/public/management/pages/response_actions/index.tsx index 25d4fa117da6..fcd2a4d2153e 100644 --- a/x-pack/plugins/security_solution/public/management/pages/response_actions/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/response_actions/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import React, { memo } from 'react'; import { MANAGEMENT_ROUTING_RESPONSE_ACTIONS_HISTORY_PATH } from '../../common/constants'; import { NotFoundPage } from '../../../app/404'; diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/index.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/index.tsx index 6d1d56ea25e2..63e48bb7e700 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/index.tsx @@ -6,7 +6,7 @@ */ import { Switch } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import React, { memo } from 'react'; import { TrustedAppsList } from './view/trusted_apps_list'; import { MANAGEMENT_ROUTING_TRUSTED_APPS_PATH } from '../../common/constants'; diff --git a/x-pack/plugins/security_solution/public/rules/routes.tsx b/x-pack/plugins/security_solution/public/rules/routes.tsx index d6b6ee8d332a..9f8192fa7866 100644 --- a/x-pack/plugins/security_solution/public/rules/routes.tsx +++ b/x-pack/plugins/security_solution/public/rules/routes.tsx @@ -6,8 +6,8 @@ */ import React from 'react'; import { Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; -import { Route } from '@kbn/kibana-react-plugin/public'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; import * as i18n from './translations'; import { RULES_PATH, SecurityPageName } from '../../common/constants'; diff --git a/x-pack/plugins/security_solution/public/timelines/pages/index.tsx b/x-pack/plugins/security_solution/public/timelines/pages/index.tsx index 8cd417f90402..cf25231384a8 100644 --- a/x-pack/plugins/security_solution/public/timelines/pages/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/pages/index.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { Switch, Redirect } from 'react-router-dom'; -import { Route } from '@kbn/kibana-react-plugin/public'; +import { Route } from '@kbn/shared-ux-router'; import { TimelineType } from '../../../common/types/timeline'; diff --git a/x-pack/plugins/security_solution/tsconfig.json b/x-pack/plugins/security_solution/tsconfig.json index daa763a72f37..ac6c2b0c6e16 100644 --- a/x-pack/plugins/security_solution/tsconfig.json +++ b/x-pack/plugins/security_solution/tsconfig.json @@ -139,5 +139,6 @@ "@kbn/guided-onboarding", "@kbn/securitysolution-ecs", "@kbn/cell-actions", + "@kbn/shared-ux-router", ] } diff --git a/x-pack/plugins/snapshot_restore/public/application/app.tsx b/x-pack/plugins/snapshot_restore/public/application/app.tsx index 44e322222d3f..f2e803665e03 100644 --- a/x-pack/plugins/snapshot_restore/public/application/app.tsx +++ b/x-pack/plugins/snapshot_restore/public/application/app.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import { Redirect, Route, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { EuiPageContent_Deprecated as EuiPageContent } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -18,7 +19,6 @@ import { PageError, WithPrivileges, NotAuthorizedSection, - useExecutionContext, } from '../shared_imports'; import { PageLoading } from './components'; import { DEFAULT_SECTION, Section } from './constants'; @@ -30,12 +30,11 @@ import { PolicyAdd, PolicyEdit, } from './sections'; -import { useAppContext, useConfig } from './app_context'; +import { useConfig } from './app_context'; export const App: React.FunctionComponent = () => { const { slm_ui: slmUi } = useConfig(); const { apiError } = useAuthorizationContext(); - const { core } = useAppContext(); const sections: Section[] = ['repositories', 'snapshots', 'restore_status']; @@ -45,11 +44,6 @@ export const App: React.FunctionComponent = () => { const sectionsRegex = sections.join('|'); - useExecutionContext(core.executionContext, { - type: 'application', - page: 'snapshotRestore', - }); - return apiError ? ( ({ diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/routes.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/routes.tsx index d530b557fa35..02ea72e39a99 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/routes.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/routes.tsx @@ -8,7 +8,9 @@ import { EuiThemeComputed } from '@elastic/eui/src/services/theme/types'; import React, { FC, useEffect } from 'react'; import { EuiButtonEmpty, EuiLink, useEuiTheme } from '@elastic/eui'; -import { Route, Switch, useHistory } from 'react-router-dom'; +import { Switch, useHistory } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { OutPortal } from 'react-reverse-portal'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx index d8e220669339..2faf26be23b6 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx @@ -13,7 +13,9 @@ import { MatcherFunction, RenderOptions, } from '@testing-library/react'; -import { Router, Route } from 'react-router-dom'; +import { Router } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { merge } from 'lodash'; import { createMemoryHistory, History } from 'history'; import { CoreStart } from '@kbn/core/public'; diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/monitor_title.test.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/monitor_title.test.tsx index e4594e8c6063..3c98245760fc 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/monitor_title.test.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/monitor_title.test.tsx @@ -9,7 +9,9 @@ import React from 'react'; import moment from 'moment'; import { screen } from '@testing-library/react'; import { render } from '../../lib/helper/rtl_helpers'; +// eslint-disable-next-line no-restricted-imports import * as reactRouterDom from 'react-router-dom'; + import { Ping } from '../../../../common/runtime_types'; import { MonitorPageTitle, MonitorPageTitleContent } from './monitor_title'; diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx index 2ae975803b52..be57f2a9945c 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/synthetics/step_detail/use_monitor_breadcrumbs.test.tsx @@ -7,7 +7,8 @@ import { ChromeBreadcrumb } from '@kbn/core/public'; import React from 'react'; -import { Route } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { of } from 'rxjs'; import { render } from '../../../../lib/helper/rtl_helpers'; import { useMonitorBreadcrumb } from './use_monitor_breadcrumb'; diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor_management/monitor_config/use_monitor_name.test.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor_management/monitor_config/use_monitor_name.test.tsx index 04879cd0da65..c9af6ca329eb 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor_management/monitor_config/use_monitor_name.test.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor_management/monitor_config/use_monitor_name.test.tsx @@ -9,10 +9,11 @@ import { defaultCore, WrappedHelper } from '../../../lib/helper/rtl_helpers'; import { renderHook } from '@testing-library/react-hooks'; import { useMonitorName } from './use_monitor_name'; -import * as reactRouter from 'react-router-dom'; +import { useParams, Router } from 'react-router-dom'; const mockRouter = { - ...reactRouter, + useParams, + ...Router, }; jest.mock('react-router-dom', () => ({ diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx index ccbb10a6f265..f79a93eee53e 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/synthetics/check_steps/use_expanded_row.test.tsx @@ -6,7 +6,8 @@ */ import React from 'react'; -import ReactRouterDom, { Route } from 'react-router-dom'; +import ReactRouterDom from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { fireEvent, screen } from '@testing-library/dom'; import { renderHook, act as hooksAct } from '@testing-library/react-hooks'; import { createMemoryHistory } from 'history'; diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx index 35b5a1aa0994..70e5cc8f1f94 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/hooks/use_breadcrumbs.test.tsx @@ -7,7 +7,7 @@ import { ChromeBreadcrumb } from '@kbn/core/public'; import React from 'react'; -import { Route } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { mountWithRouter } from '../lib'; import { OVERVIEW_ROUTE } from '../../../common/constants'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/lib/helper/rtl_helpers.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/lib/helper/rtl_helpers.tsx index e1bee1d621f1..88ca59f02d1a 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/lib/helper/rtl_helpers.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/lib/helper/rtl_helpers.tsx @@ -13,7 +13,9 @@ import { MatcherFunction, RenderOptions, } from '@testing-library/react'; -import { Router, Route } from 'react-router-dom'; +import { Router } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { merge } from 'lodash'; import { createMemoryHistory, History } from 'history'; import { CoreStart } from '@kbn/core/public'; diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/lib/helper/test_helpers.ts b/x-pack/plugins/synthetics/public/legacy_uptime/lib/helper/test_helpers.ts index 0b32c4a2420e..8ba26624f3f0 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/lib/helper/test_helpers.ts +++ b/x-pack/plugins/synthetics/public/legacy_uptime/lib/helper/test_helpers.ts @@ -8,6 +8,7 @@ import moment from 'moment'; import { Moment } from 'moment-timezone'; import * as redux from 'react-redux'; +// eslint-disable-next-line no-restricted-imports import * as reactRouterDom from 'react-router-dom'; export function mockMoment() { diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/routes.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/routes.tsx index b0700c822078..dda5953f6e8e 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/routes.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/routes.tsx @@ -7,7 +7,9 @@ import React, { FC, useEffect } from 'react'; import { EuiBetaBadge, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { Route, Switch } from 'react-router-dom'; +import { Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { APP_WRAPPER_CLASS } from '@kbn/core/public'; diff --git a/x-pack/plugins/synthetics/tsconfig.json b/x-pack/plugins/synthetics/tsconfig.json index 384edfb5f752..93f1026bf13e 100644 --- a/x-pack/plugins/synthetics/tsconfig.json +++ b/x-pack/plugins/synthetics/tsconfig.json @@ -72,6 +72,7 @@ "@kbn/core-saved-objects-api-server-mocks", "@kbn/core-saved-objects-server", "@kbn/shared-ux-prompt-not-found", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/transform/public/app/app.tsx b/x-pack/plugins/transform/public/app/app.tsx index 0680228963ad..8e4c5d5c6d54 100644 --- a/x-pack/plugins/transform/public/app/app.tsx +++ b/x-pack/plugins/transform/public/app/app.tsx @@ -7,7 +7,9 @@ import React, { useContext, FC } from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { Router, Route, Switch } from 'react-router-dom'; +import { Router, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { ScopedHistory } from '@kbn/core/public'; import { EuiErrorBoundary } from '@elastic/eui'; diff --git a/x-pack/plugins/transform/tsconfig.json b/x-pack/plugins/transform/tsconfig.json index 104b61f276cf..ff5f138262cf 100644 --- a/x-pack/plugins/transform/tsconfig.json +++ b/x-pack/plugins/transform/tsconfig.json @@ -52,7 +52,8 @@ "@kbn/ml-query-utils", "@kbn/charts-plugin", "@kbn/field-formats-plugin", - "@kbn/unified-field-list-plugin" + "@kbn/unified-field-list-plugin", + "@kbn/shared-ux-router" ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/triggers_actions_ui/public/application/app.tsx b/x-pack/plugins/triggers_actions_ui/public/application/app.tsx index 24bb8856c61c..5b04a6bb5d68 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/app.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/app.tsx @@ -6,7 +6,8 @@ */ import React, { lazy } from 'react'; -import { Switch, Route, Redirect, Router } from 'react-router-dom'; +import { Switch, Redirect, Router } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { ChromeBreadcrumb, CoreStart, CoreTheme, ScopedHistory } from '@kbn/core/public'; import { render, unmountComponentAtNode } from 'react-dom'; import { I18nProvider } from '@kbn/i18n-react'; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx b/x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx index 869936352198..8790b0bea8b8 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/connectors_app.tsx @@ -6,7 +6,8 @@ */ import React, { lazy } from 'react'; -import { Switch, Route, Router, Redirect } from 'react-router-dom'; +import { Switch, Router, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; import { ChromeBreadcrumb, CoreStart, CoreTheme, ScopedHistory } from '@kbn/core/public'; import { render, unmountComponentAtNode } from 'react-dom'; import { I18nProvider } from '@kbn/i18n-react'; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/home.tsx b/x-pack/plugins/triggers_actions_ui/public/application/home.tsx index 68d3f6973beb..fd713de0ae02 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/home.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/home.tsx @@ -6,7 +6,9 @@ */ import React, { useState, lazy, useEffect, useCallback } from 'react'; -import { Route, RouteComponentProps, Switch, Redirect } from 'react-router-dom'; +import { RouteComponentProps, Switch, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { FormattedMessage } from '@kbn/i18n-react'; import { EuiSpacer, EuiPageTemplate } from '@elastic/eui'; diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/actions_connectors_list/components/actions_connectors_home.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/actions_connectors_list/components/actions_connectors_home.tsx index c45c14513a27..81323cd67348 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/actions_connectors_list/components/actions_connectors_home.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/actions_connectors_list/components/actions_connectors_home.tsx @@ -6,7 +6,9 @@ */ import React, { lazy, useCallback, useEffect } from 'react'; -import { Route, RouteComponentProps, Switch } from 'react-router-dom'; +import { RouteComponentProps, Switch } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { EuiSpacer, EuiButtonEmpty, EuiPageHeader, EuiPageTemplate } from '@elastic/eui'; diff --git a/x-pack/plugins/triggers_actions_ui/tsconfig.json b/x-pack/plugins/triggers_actions_ui/tsconfig.json index e6f7ac42c3cc..2468cb5b30fd 100644 --- a/x-pack/plugins/triggers_actions_ui/tsconfig.json +++ b/x-pack/plugins/triggers_actions_ui/tsconfig.json @@ -44,6 +44,7 @@ "@kbn/ui-theme", "@kbn/datemath", "@kbn/core-capabilities-common", + "@kbn/shared-ux-router", "@kbn/alerts-ui-shared", ], "exclude": [ diff --git a/x-pack/plugins/upgrade_assistant/public/application/app.tsx b/x-pack/plugins/upgrade_assistant/public/application/app.tsx index 39d4b5602b14..9917429c5a5b 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/app.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/app.tsx @@ -6,7 +6,9 @@ */ import React, { useState, useEffect } from 'react'; -import { Router, Switch, Route, Redirect } from 'react-router-dom'; +import { Router, Switch, Redirect } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { FormattedMessage } from '@kbn/i18n-react'; import { EuiEmptyPrompt, diff --git a/x-pack/plugins/upgrade_assistant/tsconfig.json b/x-pack/plugins/upgrade_assistant/tsconfig.json index 74ef1142e929..c9d8201c1607 100644 --- a/x-pack/plugins/upgrade_assistant/tsconfig.json +++ b/x-pack/plugins/upgrade_assistant/tsconfig.json @@ -36,6 +36,7 @@ "@kbn/security-plugin", "@kbn/core-elasticsearch-client-server-mocks", "@kbn/utility-types", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/watcher/public/application/app.tsx b/x-pack/plugins/watcher/public/application/app.tsx index 4425e77eb153..35a46801a9ab 100644 --- a/x-pack/plugins/watcher/public/application/app.tsx +++ b/x-pack/plugins/watcher/public/application/app.tsx @@ -16,7 +16,9 @@ import { ExecutionContextStart, } from '@kbn/core/public'; -import { Router, Switch, Route, Redirect, withRouter, RouteComponentProps } from 'react-router-dom'; +import { Router, Switch, Redirect, withRouter, RouteComponentProps } from 'react-router-dom'; + +import { Route } from '@kbn/shared-ux-router'; import { EuiPageContent_Deprecated as EuiPageContent, EuiEmptyPrompt, EuiLink } from '@elastic/eui'; @@ -29,7 +31,6 @@ import { LicenseStatus } from '../../common/types/license_status'; import { WatchListPage, WatchEditPage, WatchStatusPage } from './sections'; import { registerRouter } from './lib/navigation'; import { AppContextProvider } from './app_context'; -import { useExecutionContext } from './shared_imports'; const ShareRouter = withRouter(({ children, history }: RouteComponentProps & { children: any }) => { registerRouter({ history }); @@ -58,11 +59,6 @@ export const App = (deps: AppDeps) => { return () => s.unsubscribe(); }, [deps.licenseStatus$]); - useExecutionContext(deps.executionContext, { - type: 'application', - page: 'watcher', - }); - if (!valid) { return ( diff --git a/x-pack/plugins/watcher/tsconfig.json b/x-pack/plugins/watcher/tsconfig.json index 457da687c9d4..6b40217aa0bc 100644 --- a/x-pack/plugins/watcher/tsconfig.json +++ b/x-pack/plugins/watcher/tsconfig.json @@ -32,6 +32,7 @@ "@kbn/field-formats-plugin", "@kbn/i18n-react", "@kbn/ace", + "@kbn/shared-ux-router", ], "exclude": [ "target/**/*", diff --git a/x-pack/test/functional_with_es_ssl/plugins/alerts/public/application.tsx b/x-pack/test/functional_with_es_ssl/plugins/alerts/public/application.tsx index 25709923a7c8..83f45d80bc7f 100644 --- a/x-pack/test/functional_with_es_ssl/plugins/alerts/public/application.tsx +++ b/x-pack/test/functional_with_es_ssl/plugins/alerts/public/application.tsx @@ -7,7 +7,9 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { BrowserRouter as Router, Route, RouteComponentProps } from 'react-router-dom'; +import { BrowserRouter as Router, RouteComponentProps } from 'react-router-dom'; +import { Route } from '@kbn/shared-ux-router'; + import { EuiPage, EuiText } from '@elastic/eui'; import { AppMountParameters, CoreStart } from '@kbn/core/public'; diff --git a/x-pack/test/functional_with_es_ssl/plugins/alerts/tsconfig.json b/x-pack/test/functional_with_es_ssl/plugins/alerts/tsconfig.json index 629e7fe41b76..1fe0f1963872 100644 --- a/x-pack/test/functional_with_es_ssl/plugins/alerts/tsconfig.json +++ b/x-pack/test/functional_with_es_ssl/plugins/alerts/tsconfig.json @@ -15,5 +15,6 @@ "@kbn/features-plugin", "@kbn/alerting-plugin", "@kbn/triggers-actions-ui-plugin", + "@kbn/shared-ux-router", ] }