From 6f06f953f11f5d1b25f28071d576d5bf2017df6e Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Thu, 27 May 2021 15:54:42 -0400 Subject: [PATCH 01/11] New CrawlerLanding component --- .../crawler/assets/bg-crawler-landing.png | Bin 0 -> 36907 bytes .../components/crawler/constants.ts | 2 +- .../components/crawler/crawler_landing.scss | 13 +++ .../crawler/crawler_landing.test.tsx | 41 +++++++++ .../components/crawler/crawler_landing.tsx | 86 ++++++++++++++++++ 5 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg-crawler-landing.png create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.test.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg-crawler-landing.png b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg-crawler-landing.png new file mode 100644 index 0000000000000000000000000000000000000000..3a76e9803b5107344f7624aea9c5f8d845673941 GIT binary patch literal 36907 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

4ArX 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 div { + max-width: 50rem; + } + } +} diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.test.tsx new file mode 100644 index 0000000000000..a6992b71878be --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.test.tsx @@ -0,0 +1,41 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { setMockValues } from '../../../__mocks__'; +import { mockEngineValues } from '../../__mocks__'; + +import React from 'react'; + +import { shallow, ShallowWrapper } from 'enzyme'; + +import { CrawlerLanding } from './crawler_landing'; + +describe('CrawlerLanding', () => { + let wrapper: ShallowWrapper; + + beforeEach(() => { + setMockValues({ ...mockEngineValues }); + wrapper = shallow(); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('contains an external documentation link', () => { + const externalDocumentationLink = wrapper.find('[data-test-subj="CrawlerDocumentationLink"]'); + + expect(externalDocumentationLink.prop('href')).toBe( + 'https://www.elastic.co/guide/en/app-search/current/web-crawler.html' + ); + }); + + it('contains a link to standalone App Search', () => { + const externalDocumentationLink = wrapper.find('[data-test-subj="CrawlerStandaloneLink"]'); + + expect(externalDocumentationLink.prop('href')).toBe('/as/engines/some-engine/crawler'); + }); +}); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx new file mode 100644 index 0000000000000..4981d48a29794 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx @@ -0,0 +1,86 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { + EuiButton, + EuiLink, + EuiPageHeader, + EuiPanel, + EuiSpacer, + EuiText, + EuiTitle, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import { getAppSearchUrl } from '../../../shared/enterprise_search_url'; +import { ENGINE_CRAWLER_PATH } from '../../routes'; +import { generateEnginePath } from '../engine'; + +import './crawler_landing.scss'; +import { CRAWLER_TITLE } from '.'; + +export const CrawlerLanding: React.FC = () => ( +

+ + + +
+ +

+ {i18n.translate('xpack.enterpriseSearch.appSearch.engine.crawler.landingPage.title', { + defaultMessage: 'Setup the Web Crawler', + })} +

+
+ + +

+ {i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.crawler.landingPage.description', + { + defaultMessage: + "Easily index your website's content. To get started, enter your domain name, provide optional entry points and crawl rules, and we will handle the rest.", + } + )}{' '} + + {i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.crawler.landingPage.documentationLinkLabel', + { + defaultMessage: 'Learn more about the web crawler', + } + )} + +

+
+ + + {i18n.translate( + 'xpack.enterpriseSearch.appSearch.engine.crawler.landingPage.standaloneLinkLabel', + { + defaultMessage: 'Configure the web crawler', + } + )} + + +
+
+
+); From 801e282f5ab80fa0cc5c1cf92e56db13f98cb4a3 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Thu, 27 May 2021 15:56:29 -0400 Subject: [PATCH 02/11] New CrawlerRouter component --- .../crawler/crawler_router.test.tsx | 34 +++++++++++++++++++ .../components/crawler/crawler_router.tsx | 26 ++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.test.tsx create mode 100644 x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.test.tsx new file mode 100644 index 0000000000000..6aa9ca8c4feb1 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.test.tsx @@ -0,0 +1,34 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { setMockValues } from '../../../__mocks__'; + +import { mockEngineValues } from '../../__mocks__'; + +import React from 'react'; +import { Switch } from 'react-router-dom'; + +import { shallow } from 'enzyme'; + +import { CrawlerLanding } from './crawler_landing'; +import { CrawlerRouter } from './crawler_router'; + +describe('CrawlerRouter', () => { + beforeEach(() => { + setMockValues({ ...mockEngineValues }); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('renders a landing page', () => { + const wrapper = shallow(); + + expect(wrapper.find(Switch)).toHaveLength(1); + expect(wrapper.find(CrawlerLanding)).toHaveLength(1); + }); +}); 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 new file mode 100644 index 0000000000000..307d1ca3a2344 --- /dev/null +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx @@ -0,0 +1,26 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { Route, Switch } from 'react-router-dom'; + +import { SetAppSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome'; + +import { getEngineBreadcrumbs } from '../engine'; + +import { CrawlerLanding } from './crawler_landing'; + +export const CrawlerRouter: React.FC = () => { + return ( + + + + + + + ); +}; From 253ec4d75c02d648a8e4ea2bff14d8a879d6eef7 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Thu, 27 May 2021 15:57:20 -0400 Subject: [PATCH 03/11] Adding CrawlerRouter to EngineRouter --- .../app_search/components/crawler/index.ts | 1 + .../components/engine/engine_router.test.tsx | 8 ++++++++ .../app_search/components/engine/engine_router.tsx | 10 ++++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/index.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/index.ts index edb7e43aee35e..58fb0a7cebb1a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/index.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/index.ts @@ -6,3 +6,4 @@ */ export { CRAWLER_TITLE } from './constants'; +export { CrawlerRouter } from './crawler_router'; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.test.tsx index 39055e772bcf9..3eab209d706fa 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.test.tsx @@ -18,6 +18,7 @@ import { shallow } from 'enzyme'; import { Loading } from '../../../shared/loading'; import { AnalyticsRouter } from '../analytics'; import { ApiLogs } from '../api_logs'; +import { CrawlerRouter } from '../crawler'; import { CurationsRouter } from '../curations'; import { Documents, DocumentDetail } from '../documents'; import { EngineOverview } from '../engine_overview'; @@ -168,4 +169,11 @@ describe('EngineRouter', () => { expect(wrapper.find(SourceEngines)).toHaveLength(1); }); + + it('renders a crawler view', () => { + setMockValues({ ...values, myRole: { canViewEngineCrawler: true } }); + const wrapper = shallow(); + + expect(wrapper.find(CrawlerRouter)).toHaveLength(1); + }); }); 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 387f8cf1b9837..40cc2ef0368c0 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 @@ -23,7 +23,7 @@ import { ENGINE_DOCUMENTS_PATH, ENGINE_DOCUMENT_DETAIL_PATH, ENGINE_SCHEMA_PATH, - // ENGINE_CRAWLER_PATH, + ENGINE_CRAWLER_PATH, META_ENGINE_SOURCE_ENGINES_PATH, ENGINE_RELEVANCE_TUNING_PATH, ENGINE_SYNONYMS_PATH, @@ -34,6 +34,7 @@ import { } from '../../routes'; import { AnalyticsRouter } from '../analytics'; import { ApiLogs } from '../api_logs'; +import { CrawlerRouter } from '../crawler'; import { CurationsRouter } from '../curations'; import { DocumentDetail, Documents } from '../documents'; import { EngineOverview } from '../engine_overview'; @@ -52,7 +53,7 @@ export const EngineRouter: React.FC = () => { canViewEngineAnalytics, canViewEngineDocuments, canViewEngineSchema, - // canViewEngineCrawler, + canViewEngineCrawler, canViewMetaEngineSourceEngines, canManageEngineRelevanceTuning, canManageEngineSynonyms, @@ -143,6 +144,11 @@ export const EngineRouter: React.FC = () => { )} + {canViewEngineCrawler && ( + + + + )} From 8943432fa181cbb83ae6121ea8803a458155a4ff Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Thu, 27 May 2021 15:57:51 -0400 Subject: [PATCH 04/11] Using internal route for Crawler link in EngineNav --- .../applications/app_search/components/engine/engine_nav.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_nav.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_nav.tsx index 4738209cee4a2..0edf01bada938 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_nav.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_nav.tsx @@ -12,7 +12,6 @@ import { useValues } from 'kea'; import { EuiText, EuiBadge, EuiIcon, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { getAppSearchUrl } from '../../../shared/enterprise_search_url'; import { SideNavLink, SideNavItem } from '../../../shared/layout'; import { AppLogic } from '../../app_logic'; import { @@ -170,8 +169,7 @@ export const EngineNav: React.FC = () => { )} {canViewEngineCrawler && !isMetaEngine && ( {CRAWLER_TITLE} From f56586e87447abf55fc196d27b3b7ab364c1df92 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Thu, 27 May 2021 20:17:48 -0400 Subject: [PATCH 05/11] Rename crawler landing background --- ...g-crawler-landing.png => bg_crawler_landing.png} | Bin .../components/crawler/crawler_landing.scss | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/{bg-crawler-landing.png => bg_crawler_landing.png} (100%) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg-crawler-landing.png b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg_crawler_landing.png similarity index 100% rename from x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg-crawler-landing.png rename to x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg_crawler_landing.png diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss index 882178bd9e82a..4e07c3abc6eba 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss @@ -1,7 +1,7 @@ .crawler-landing { &__panel { overflow: hidden; - background-image: url('./assets/bg-crawler-landing.png'); + background-image: url('./assets/bg_crawler_landing.png'); background-size: 45%; background-repeat: no-repeat; background-position: right -2rem; From 0f3730b401e552621d8376b2b716477ebffd060a Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Tue, 1 Jun 2021 07:34:09 -0400 Subject: [PATCH 06/11] Fix CrawlerLanding css --- .../app_search/components/crawler/crawler_landing.scss | 6 ++++-- .../app_search/components/crawler/crawler_landing.tsx | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss index 4e07c3abc6eba..5e47b855c7f05 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss @@ -1,4 +1,4 @@ -.crawler-landing { +.crawlerLanding { &__panel { overflow: hidden; background-image: url('./assets/bg_crawler_landing.png'); @@ -6,7 +6,9 @@ background-repeat: no-repeat; background-position: right -2rem; - > div { + } + + &__wrapper { max-width: 50rem; } } diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx index 4981d48a29794..ec5c69b9d7845 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx @@ -26,11 +26,11 @@ import './crawler_landing.scss'; import { CRAWLER_TITLE } from '.'; export const CrawlerLanding: React.FC = () => ( -
+
- -
+ +

{i18n.translate('xpack.enterpriseSearch.appSearch.engine.crawler.landingPage.title', { From 5f5ef187af49e446cce00a8ab0802771ae9edaa7 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Tue, 1 Jun 2021 09:41:50 -0400 Subject: [PATCH 07/11] Fix crawler documentation link --- .../app_search/components/crawler/crawler_landing.test.tsx | 4 +++- .../app_search/components/crawler/crawler_landing.tsx | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.test.tsx index a6992b71878be..9591b82773b9f 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.test.tsx @@ -11,6 +11,8 @@ import React from 'react'; import { shallow, ShallowWrapper } from 'enzyme'; +import { docLinks } from '../../../shared/doc_links'; + import { CrawlerLanding } from './crawler_landing'; describe('CrawlerLanding', () => { @@ -29,7 +31,7 @@ describe('CrawlerLanding', () => { const externalDocumentationLink = wrapper.find('[data-test-subj="CrawlerDocumentationLink"]'); expect(externalDocumentationLink.prop('href')).toBe( - 'https://www.elastic.co/guide/en/app-search/current/web-crawler.html' + `${docLinks.appSearchBase}/web-crawler.html` ); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx index ec5c69b9d7845..dadb757ab607f 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx @@ -19,7 +19,7 @@ import { import { i18n } from '@kbn/i18n'; import { getAppSearchUrl } from '../../../shared/enterprise_search_url'; -import { ENGINE_CRAWLER_PATH } from '../../routes'; +import { DOCS_PREFIX, ENGINE_CRAWLER_PATH } from '../../routes'; import { generateEnginePath } from '../engine'; import './crawler_landing.scss'; @@ -49,9 +49,8 @@ export const CrawlerLanding: React.FC = () => ( } )}{' '} {i18n.translate( From 0af45d94fbe4e6e4582f5e0f6221d4fc57fa8657 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Tue, 1 Jun 2021 09:42:12 -0400 Subject: [PATCH 08/11] Add Crawler title to breadcrumbs --- .../app_search/components/crawler/crawler_router.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 307d1ca3a2344..fcc949de7d8b4 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 @@ -12,13 +12,14 @@ import { SetAppSearchChrome as SetPageChrome } from '../../../shared/kibana_chro import { getEngineBreadcrumbs } from '../engine'; +import { CRAWLER_TITLE } from './constants'; import { CrawlerLanding } from './crawler_landing'; export const CrawlerRouter: React.FC = () => { return ( - + From b7d82d9e4524ee3bbfedc5eccb1636a5f0b3e9ab Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Tue, 1 Jun 2021 09:43:51 -0400 Subject: [PATCH 09/11] Reduce png filesize --- .../crawler/assets/bg_crawler_landing.png | Bin 36907 -> 14495 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg_crawler_landing.png b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/assets/bg_crawler_landing.png index 3a76e9803b5107344f7624aea9c5f8d845673941..e1f14ac26f353bd601d36f9e436c2faf164c24ff 100644 GIT binary patch literal 14495 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 J$XR{<{{WQ~4N?FA literal 36907 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

4ArX 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 Date: Tue, 1 Jun 2021 09:44:15 -0400 Subject: [PATCH 10/11] Improve CrawlerLanding copy --- .../app_search/components/crawler/crawler_landing.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx index dadb757ab607f..a2993b4d86d5a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx @@ -32,11 +32,11 @@ export const CrawlerLanding: React.FC = () => (

-

+

{i18n.translate('xpack.enterpriseSearch.appSearch.engine.crawler.landingPage.title', { defaultMessage: 'Setup the Web Crawler', })} -

+

@@ -56,7 +56,7 @@ export const CrawlerLanding: React.FC = () => ( {i18n.translate( 'xpack.enterpriseSearch.appSearch.engine.crawler.landingPage.documentationLinkLabel', { - defaultMessage: 'Learn more about the web crawler', + defaultMessage: 'Learn more about the web crawler.', } )} From 4f57dbedae362818f24be19d4af8492de53fdcc4 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Tue, 1 Jun 2021 18:28:04 -0400 Subject: [PATCH 11/11] Update x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss Co-authored-by: Constance --- .../app_search/components/crawler/crawler_landing.scss | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss index 5e47b855c7f05..3ace4064008b6 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.scss @@ -5,11 +5,9 @@ background-size: 45%; background-repeat: no-repeat; background-position: right -2rem; - } &__wrapper { - max-width: 50rem; - } + max-width: 50rem; } }