[Serverless Search] Create overview page (#157021)
## Summary This adds the basics of the planned Serverless Search overview page to the Serverless Search plugin. I added these pages to the `serverless_search` plugin rather than rely on the existing Enterprise Search plugin for a few reasons: 1) These pages don't need any of the overhead and frameworks we've built into the Enterprise Search plugin, keeping it in its own plugin makes this much lighter-weight and easier to maintain and decouple. 2) This is all specific to Serverless Search, and won't be used in Enterprise Search (at least for the foreseeable future). There's still quite a lot that needs to be added: 1) A bottom section with links to specific pages elsewhere in Kibana. 2) A section to create API keys 3) The integration links still need to go somewhere 4) This page needs some work on smaller screens, and the sidebar overlaps the content on smaller screens. https://user-images.githubusercontent.com/94373878/236879351-13af0162-4510-4bb0-a815-afa61249542c.mov ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
|
@ -9,7 +9,7 @@ enterpriseSearch.enabled: true
|
|||
xpack.serverless.search.enabled: true
|
||||
|
||||
## Set the home route
|
||||
uiSettings.overrides.defaultRoute: /app/enterprise_search/content/search_indices
|
||||
uiSettings.overrides.defaultRoute: /app/elasticsearch
|
||||
|
||||
## Set the dev project switcher current type
|
||||
xpack.serverless.plugin.developer.projectSwitcher.currentType: 'search'
|
||||
|
|
|
@ -603,7 +603,9 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => {
|
|||
putIndexTemplateV1: `${ELASTICSEARCH_DOCS}indices-templates-v1.html`,
|
||||
putSnapshotLifecyclePolicy: `${ELASTICSEARCH_DOCS}slm-api-put-policy.html`,
|
||||
putWatch: `${ELASTICSEARCH_DOCS}watcher-api-put-watch.html`,
|
||||
restApis: `${ELASTICSEARCH_DOCS}rest-apis.html`,
|
||||
searchPreference: `${ELASTICSEARCH_DOCS}search-search.html#search-preference`,
|
||||
securityApis: `${ELASTICSEARCH_DOCS}security-api.html`,
|
||||
simulatePipeline: `${ELASTICSEARCH_DOCS}simulate-pipeline-api.html`,
|
||||
timeUnits: `${ELASTICSEARCH_DOCS}api-conventions.html#time-units`,
|
||||
unfreezeIndex: `${ELASTICSEARCH_DOCS}unfreeze-index-api.html`,
|
||||
|
@ -713,6 +715,9 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => {
|
|||
javaInstallation: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/java-api-client/${DOC_LINK_VERSION}/installation.html`,
|
||||
javaIntroduction: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/java-api-client/${DOC_LINK_VERSION}/introduction.html`,
|
||||
javaRestLow: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/java-api-client/${DOC_LINK_VERSION}/java-rest-low.html`,
|
||||
jsAdvancedConfig: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/javascript-api/${DOC_LINK_VERSION}/advanced-config.html`,
|
||||
jsApiReference: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/javascript-api/${DOC_LINK_VERSION}/api-reference.html`,
|
||||
jsBasicConfig: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/javascript-api/${DOC_LINK_VERSION}/basic-config.html`,
|
||||
jsClientConnecting: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/javascript-api/${DOC_LINK_VERSION}/client-connecting.html`,
|
||||
jsIntro: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/javascript-api/${DOC_LINK_VERSION}/introduction.html`,
|
||||
netGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/net-api/${DOC_LINK_VERSION}/index.html`,
|
||||
|
@ -727,6 +732,9 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => {
|
|||
pythonGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/python-api/${DOC_LINK_VERSION}/index.html`,
|
||||
pythonOverview: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/python-api/${DOC_LINK_VERSION}/overview.html`,
|
||||
rubyAuthentication: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/ruby-api/${DOC_LINK_VERSION}/connecting.html#client-auth`,
|
||||
rubyAdvancedConfig: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/ruby-api/${DOC_LINK_VERSION}/advanced-config.html`,
|
||||
rubyBasicConfig: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/ruby-api/${DOC_LINK_VERSION}/basic-config.html`,
|
||||
rubyExamples: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/ruby-api/${DOC_LINK_VERSION}/examples.html`,
|
||||
rubyOverview: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/ruby-api/${DOC_LINK_VERSION}/ruby_client.html`,
|
||||
rustGuide: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/rust-api/${DOC_LINK_VERSION}/index.html`,
|
||||
rustOverview: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/client/rust-api/${DOC_LINK_VERSION}/overview.html`,
|
||||
|
@ -747,6 +755,9 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => {
|
|||
appSearch: `${SEARCH_UI_DOCS}tutorials/app-search`,
|
||||
elasticsearch: `${SEARCH_UI_DOCS}tutorials/elasticsearch`,
|
||||
},
|
||||
serverlessSearch: {
|
||||
integrations: `${ELASTIC_WEBSITE_URL}/integrations`,
|
||||
},
|
||||
synthetics: {
|
||||
featureRoles: `${ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/synthetics-feature-roles.html`,
|
||||
},
|
||||
|
|
|
@ -351,7 +351,9 @@ export interface DocLinks {
|
|||
putSnapshotLifecyclePolicy: string;
|
||||
putIndexTemplateV1: string;
|
||||
putWatch: string;
|
||||
restApis: string;
|
||||
searchPreference: string;
|
||||
securityApis: string;
|
||||
simulatePipeline: string;
|
||||
timeUnits: string;
|
||||
unfreezeIndex: string;
|
||||
|
@ -482,6 +484,9 @@ export interface DocLinks {
|
|||
readonly javaInstallation: string;
|
||||
readonly javaIntroduction: string;
|
||||
readonly javaRestLow: string;
|
||||
readonly jsAdvancedConfig: string;
|
||||
readonly jsApiReference: string;
|
||||
readonly jsBasicConfig: string;
|
||||
readonly jsClientConnecting: string;
|
||||
readonly jsIntro: string;
|
||||
readonly netGuide: string;
|
||||
|
@ -496,6 +501,9 @@ export interface DocLinks {
|
|||
readonly pythonGuide: string;
|
||||
readonly pythonOverview: string;
|
||||
readonly rubyAuthentication: string;
|
||||
readonly rubyAdvancedConfig: string;
|
||||
readonly rubyBasicConfig: string;
|
||||
readonly rubyExamples: string;
|
||||
readonly rubyOverview: string;
|
||||
readonly rustGuide: string;
|
||||
readonly rustOverview: string;
|
||||
|
@ -516,6 +524,9 @@ export interface DocLinks {
|
|||
readonly appSearch: string;
|
||||
readonly elasticsearch: string;
|
||||
};
|
||||
readonly serverlessSearch: {
|
||||
readonly integrations: string;
|
||||
};
|
||||
readonly synthetics: {
|
||||
readonly featureRoles: string;
|
||||
};
|
||||
|
|
|
@ -117,7 +117,7 @@ pageLoadAssetSize:
|
|||
securitySolution: 66738
|
||||
serverless: 16573
|
||||
serverlessObservability: 16582
|
||||
serverlessSearch: 22555
|
||||
serverlessSearch: 25600
|
||||
serverlessSecurity: 41807
|
||||
sessionView: 77750
|
||||
share: 71239
|
||||
|
|
|
@ -68,6 +68,7 @@
|
|||
"xpack.security": "plugins/security",
|
||||
"xpack.server": "legacy/server",
|
||||
"xpack.serverless": "plugins/serverless",
|
||||
"xpack.serverlessSearch": "plugins/serverless_search",
|
||||
"xpack.securitySolution": "plugins/security_solution",
|
||||
"xpack.sessionView": "plugins/session_view",
|
||||
"xpack.snapshotRestore": "plugins/snapshot_restore",
|
||||
|
|
|
@ -1 +1 @@
|
|||
<svg fill="none" height="100" viewBox="0 0 100 100" width="100" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="m49.9954 1c-27.6067 0-49.9954 22.3856-49.9954 50.0015 0 22.0909 14.3252 40.83 34.1938 47.4416 2.5016.4605 3.4132-1.0835 3.4132-2.4095 0-1.1879-.0429-4.331-.0675-8.5024-13.9077 3.0203-16.8421-6.7037-16.8421-6.7037-2.2745-5.7767-5.5527-7.3145-5.5527-7.3145-4.5397-3.1002.3438-3.0388.3438-3.0388 5.0186.353 7.6583 5.1536 7.6583 5.1536 4.4599 7.6399 11.7039 5.433 14.5523 4.153.4543-3.2291 1.7466-5.4329 3.1739-6.6822-11.1023-1.2616-22.7755-5.5527-22.7755-24.7122 0-5.4576 1.9492-9.9236 5.1475-13.4167-.5156-1.2646-2.2315-6.3507.4911-13.2324 0 0 4.196-1.3444 13.7482 5.126 3.9872-1.1112 8.266-1.6637 12.5172-1.6851 4.2482.0214 8.5239.5739 12.5173 1.6851 9.546-6.4704 13.7358-5.126 13.7358-5.126 2.7288 6.8817 1.013 11.9678.5004 13.2324 3.2045 3.4931 5.1382 7.9591 5.1382 13.4167 0 19.2086-11.6915 23.4353-22.8275 24.6723 1.7925 1.5439 3.3917 4.595 3.3917 9.2575 0 6.6853-.0614 12.0783-.0614 13.7174 0 1.3383.9024 2.8945 3.4378 2.4065 19.8533-6.627 34.1662-25.3538 34.1662-47.4386 0-27.6159-22.3887-50.0015-50.0046-50.0015z" fill="#1a1919" fill-rule="evenodd"/></svg>
|
||||
<svg fill="none" height="100" viewBox="0 0 100 100" width="100" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="m49.9954 1c-27.6067 0-49.9954 22.3856-49.9954 50.0015 0 22.0909 14.3252 40.83 34.1938 47.4416 2.5016.4605 3.4132-1.0835 3.4132-2.4095 0-1.1879-.0429-4.331-.0675-8.5024-13.9077 3.0203-16.8421-6.7037-16.8421-6.7037-2.2745-5.7767-5.5527-7.3145-5.5527-7.3145-4.5397-3.1002.3438-3.0388.3438-3.0388 5.0186.353 7.6583 5.1536 7.6583 5.1536 4.4599 7.6399 11.7039 5.433 14.5523 4.153.4543-3.2291 1.7466-5.4329 3.1739-6.6822-11.1023-1.2616-22.7755-5.5527-22.7755-24.7122 0-5.4576 1.9492-9.9236 5.1475-13.4167-.5156-1.2646-2.2315-6.3507.4911-13.2324 0 0 4.196-1.3444 13.7482 5.126 3.9872-1.1112 8.266-1.6637 12.5172-1.6851 4.2482.0214 8.5239.5739 12.5173 1.6851 9.546-6.4704 13.7358-5.126 13.7358-5.126 2.7288 6.8817 1.013 11.9678.5004 13.2324 3.2045 3.4931 5.1382 7.9591 5.1382 13.4167 0 19.2086-11.6915 23.4353-22.8275 24.6723 1.7925 1.5439 3.3917 4.595 3.3917 9.2575 0 6.6853-.0614 12.0783-.0614 13.7174 0 1.3383.9024 2.8945 3.4378 2.4065 19.8533-6.627 34.1662-25.3538 34.1662-47.4386 0-27.6159-22.3887-50.0015-50.0046-50.0015z" fill="#1a1919" fill-rule="evenodd"/></svg>
|
||||
|
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
42
x-pack/plugins/serverless_search/common/doc_links.ts
Normal file
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* 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 { DocLinks } from '@kbn/doc-links';
|
||||
|
||||
class ESDocLinks {
|
||||
public apiIntro: string = '';
|
||||
public beats: string = '';
|
||||
public connectors: string = '';
|
||||
public integrations: string = '';
|
||||
public jsApiReference: string = '';
|
||||
public jsAdvancedConfig: string = '';
|
||||
public jsBasicConfig: string = '';
|
||||
public jsClient: string = '';
|
||||
public logStash: string = '';
|
||||
public rubyAdvancedConfig: string = '';
|
||||
public rubyBasicConfig: string = '';
|
||||
public rubyClient: string = '';
|
||||
public rubyExamples: string = '';
|
||||
public securityApis: string = '';
|
||||
constructor() {}
|
||||
|
||||
setDocLinks(newDocLinks: DocLinks) {
|
||||
this.apiIntro = newDocLinks.apis.restApis;
|
||||
this.integrations = newDocLinks.serverlessSearch.integrations;
|
||||
this.jsAdvancedConfig = newDocLinks.clients.jsAdvancedConfig;
|
||||
this.jsApiReference = newDocLinks.clients.jsApiReference;
|
||||
this.jsBasicConfig = newDocLinks.clients.jsBasicConfig;
|
||||
this.jsClient = newDocLinks.clients.jsIntro;
|
||||
this.rubyAdvancedConfig = newDocLinks.clients.rubyAdvancedConfig;
|
||||
this.rubyBasicConfig = newDocLinks.clients.rubyBasicConfig;
|
||||
this.rubyExamples = newDocLinks.clients.rubyExamples;
|
||||
this.rubyClient = newDocLinks.clients.rubyOverview;
|
||||
this.securityApis = newDocLinks.apis.securityApis;
|
||||
}
|
||||
}
|
||||
|
||||
export const docLinks = new ESDocLinks();
|
12
x-pack/plugins/serverless_search/common/i18n_string.ts
Normal file
|
@ -0,0 +1,12 @@
|
|||
/*
|
||||
* 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 { i18n } from '@kbn/i18n';
|
||||
|
||||
export const LEARN_MORE_LABEL = i18n.translate('xpack.serverlessSearch.learnMore', {
|
||||
defaultMessage: 'Learn more',
|
||||
});
|
|
@ -18,6 +18,6 @@
|
|||
"management"
|
||||
],
|
||||
"optionalPlugins": [],
|
||||
"requiredBundles": []
|
||||
"requiredBundles": ["kibanaReact"]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
.serverlessSearchCodeBoxPanel {
|
||||
border-top: $euiBorderThin $euiColorLightShade;
|
||||
}
|
|
@ -0,0 +1,115 @@
|
|||
/*
|
||||
* 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 {
|
||||
EuiButtonEmpty,
|
||||
EuiCodeBlock,
|
||||
EuiContextMenuItem,
|
||||
EuiContextMenuPanel,
|
||||
EuiCopy,
|
||||
EuiFlexGroup,
|
||||
EuiFlexItem,
|
||||
EuiHorizontalRule,
|
||||
EuiPanel,
|
||||
EuiPopover,
|
||||
EuiThemeProvider,
|
||||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React, { useState } from 'react';
|
||||
import { PLUGIN_ID } from '../../../common';
|
||||
import { useKibanaServices } from '../hooks/use_kibana';
|
||||
import { LanguageDefinition } from './languages/types';
|
||||
import './code_box.scss';
|
||||
|
||||
interface CodeBoxProps {
|
||||
languages: LanguageDefinition[];
|
||||
code: keyof LanguageDefinition;
|
||||
// overrides the language type for syntax highlighting
|
||||
languageType?: string;
|
||||
selectedLanguage: LanguageDefinition;
|
||||
setSelectedLanguage: (language: LanguageDefinition) => void;
|
||||
}
|
||||
|
||||
export const CodeBox: React.FC<CodeBoxProps> = ({
|
||||
code,
|
||||
languages,
|
||||
languageType,
|
||||
selectedLanguage,
|
||||
setSelectedLanguage,
|
||||
}) => {
|
||||
const [isPopoverOpen, setIsPopoverOpen] = useState<boolean>(false);
|
||||
const { http } = useKibanaServices();
|
||||
const items = languages.map((language) => (
|
||||
<EuiContextMenuItem
|
||||
key={language.id}
|
||||
icon={http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets/${language.iconType}`)}
|
||||
onClick={() => {
|
||||
setSelectedLanguage(language);
|
||||
setIsPopoverOpen(false);
|
||||
}}
|
||||
>
|
||||
{language.name}
|
||||
</EuiContextMenuItem>
|
||||
));
|
||||
|
||||
const button = (
|
||||
<EuiThemeProvider colorMode="dark">
|
||||
<EuiButtonEmpty
|
||||
aria-label={i18n.translate('xpack.serverlessSearch.codeBox.selectAriaLabel', {
|
||||
defaultMessage: 'Select a programming language',
|
||||
})}
|
||||
color="text"
|
||||
iconType="arrowDown"
|
||||
iconSide="left"
|
||||
onClick={() => setIsPopoverOpen(!isPopoverOpen)}
|
||||
>
|
||||
{selectedLanguage.name}
|
||||
</EuiButtonEmpty>
|
||||
</EuiThemeProvider>
|
||||
);
|
||||
|
||||
return (
|
||||
<EuiThemeProvider colorMode="dark">
|
||||
<EuiPanel paddingSize="xs" className="serverlessSearchCodeBlockControlsPanel">
|
||||
<EuiFlexGroup justifyContent="spaceBetween" alignItems="center">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiThemeProvider colorMode="light">
|
||||
<EuiPopover
|
||||
button={button}
|
||||
isOpen={isPopoverOpen}
|
||||
closePopover={() => setIsPopoverOpen(false)}
|
||||
panelPaddingSize="none"
|
||||
anchorPosition="downLeft"
|
||||
>
|
||||
<EuiContextMenuPanel items={items} size="s" />
|
||||
</EuiPopover>
|
||||
</EuiThemeProvider>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiCopy textToCopy={selectedLanguage[code] ?? ''}>
|
||||
{(copy) => (
|
||||
<EuiButtonEmpty color="text" iconType="copy" size="s" onClick={copy}>
|
||||
{i18n.translate('xpack.serverlessSearch.codeBox.copyButtonLabel', {
|
||||
defaultMessage: 'Copy',
|
||||
})}
|
||||
</EuiButtonEmpty>
|
||||
)}
|
||||
</EuiCopy>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
<EuiHorizontalRule margin="none" />
|
||||
<EuiCodeBlock
|
||||
transparentBackground
|
||||
fontSize="m"
|
||||
language={languageType || selectedLanguage.languageStyling || selectedLanguage.id}
|
||||
>
|
||||
{selectedLanguage[code]}
|
||||
</EuiCodeBlock>
|
||||
</EuiPanel>
|
||||
</EuiThemeProvider>
|
||||
);
|
||||
};
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* 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 { EuiTitle } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React from 'react';
|
||||
|
||||
export const ElasticsearchHeader = () => {
|
||||
return (
|
||||
<EuiTitle>
|
||||
<h1>
|
||||
{i18n.translate('xpack.serverlessSearch.header.title', {
|
||||
defaultMessage: 'Get started with Elasticsearch',
|
||||
})}
|
||||
</h1>
|
||||
</EuiTitle>
|
||||
);
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* 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 { i18n } from '@kbn/i18n';
|
||||
import { docLinks } from '../../../../common/doc_links';
|
||||
import { LanguageDefinition, Languages } from './types';
|
||||
|
||||
export const curlDefinition: LanguageDefinition = {
|
||||
buildSearchQuery: `TBD`,
|
||||
configureClient: `TBD`,
|
||||
docLink: docLinks.apiIntro,
|
||||
iconType: 'curl.svg',
|
||||
id: Languages.CURL,
|
||||
ingestData: `TBD`,
|
||||
installClient: `TBD`,
|
||||
name: i18n.translate('xpack.serverlessSearch.languages.curl', {
|
||||
defaultMessage: 'curl',
|
||||
}),
|
||||
languageStyling: 'shell',
|
||||
testConnection: `TBD`,
|
||||
};
|
|
@ -0,0 +1,107 @@
|
|||
/*
|
||||
* 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 { i18n } from '@kbn/i18n';
|
||||
import { docLinks } from '../../../../common/doc_links';
|
||||
import { LanguageDefinition, Languages } from './types';
|
||||
|
||||
export const javascriptDefinition: LanguageDefinition = {
|
||||
advancedConfig: docLinks.jsAdvancedConfig,
|
||||
apiReference: docLinks.jsApiReference,
|
||||
basicConfig: docLinks.jsBasicConfig,
|
||||
buildSearchQuery: `// Sample flight data
|
||||
const dataset = [
|
||||
{'flight': '9HY9SWR', 'price': 841.2656419677076, 'delayed': false},
|
||||
{'flight': 'X98CCZO', 'price': 882.9826615595518, 'delayed': false},
|
||||
{'flight': 'UFK2WIZ', 'price': 190.6369038508356, 'delayed': true},
|
||||
];
|
||||
|
||||
// Index with the bulk helper
|
||||
const result = await client.helpers.bulk({
|
||||
datasource: dataset,
|
||||
onDocument (doc) {
|
||||
return { index: { _index: 'my-index-name' }};
|
||||
}
|
||||
});
|
||||
|
||||
console.log(result);
|
||||
/**
|
||||
{
|
||||
total: 3,
|
||||
failed: 0,
|
||||
retry: 0,
|
||||
successful: 3,
|
||||
noop: 0,
|
||||
time: 421,
|
||||
bytes: 293,
|
||||
aborted: false
|
||||
}
|
||||
*/`,
|
||||
configureClient: `const { Client } = require('@elastic/elasticsearch');
|
||||
const client = Client({
|
||||
node: 'https://project-name-abc123.elastic.cloud',
|
||||
auth: {
|
||||
apiKey: 'VnVhQ2ZHY0JDZGJrUW0tZTVhT3g6dWkybHAyYXhUTm1zeWFrdzl0dk5udw=='
|
||||
}
|
||||
});`,
|
||||
docLink: docLinks.jsClient,
|
||||
iconType: 'javascript.svg',
|
||||
id: Languages.JAVASCRIPT,
|
||||
ingestData: `// Sample flight data
|
||||
const dataset = [
|
||||
{'flight': '9HY9SWR', 'price': 841.2656419677076, 'delayed': false},
|
||||
{'flight': 'X98CCZO', 'price': 882.9826615595518, 'delayed': false},
|
||||
{'flight': 'UFK2WIZ', 'price': 190.6369038508356, 'delayed': true},
|
||||
];
|
||||
|
||||
// Index with the bulk helper
|
||||
const result = await client.helpers.bulk({
|
||||
datasource: dataset,
|
||||
onDocument (doc) {
|
||||
return { index: { _index: 'my-index-name' }};
|
||||
}
|
||||
});
|
||||
|
||||
console.log(result);
|
||||
/**
|
||||
{
|
||||
total: 3,
|
||||
failed: 0,
|
||||
retry: 0,
|
||||
successful: 3,
|
||||
noop: 0,
|
||||
time: 421,
|
||||
bytes: 293,
|
||||
aborted: false
|
||||
}
|
||||
*/`,
|
||||
installClient: `$ npm install @elastic/elasticsearch@8`,
|
||||
name: i18n.translate('xpack.serverlessSearch.languages.javascript', {
|
||||
defaultMessage: 'JavaScript / Node.js',
|
||||
}),
|
||||
testConnection: `const resp = await client.info();
|
||||
|
||||
console.log(resp);
|
||||
/**
|
||||
{
|
||||
name: 'instance-0000000000',
|
||||
cluster_name: 'd9dcd35d12fe46dfaa28ec813f65d57b',
|
||||
cluster_uuid: 'iln8jaivThSezhTkzp0Knw',
|
||||
version: {
|
||||
build_flavor: 'default',
|
||||
build_type: 'docker',
|
||||
build_hash: 'c94b4700cda13820dad5aa74fae6db185ca5c304',
|
||||
build_date: '2022-10-24T16:54:16.433628434Z',
|
||||
build_snapshot: false,
|
||||
lucene_version: '9.4.1',
|
||||
minimum_wire_compatibility_version: '7.17.0',
|
||||
minimum_index_compatibility_version: '7.0.0'
|
||||
},
|
||||
tagline: 'You Know, for Search'
|
||||
}
|
||||
*/`,
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* 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 { curlDefinition } from './curl';
|
||||
import { javascriptDefinition } from './javascript';
|
||||
import { rubyDefinition } from './ruby';
|
||||
import { Languages, LanguageDefinition } from './types';
|
||||
|
||||
const languageDefinitionRecords: Partial<Record<Languages, LanguageDefinition>> = {
|
||||
[Languages.CURL]: curlDefinition,
|
||||
[Languages.JAVASCRIPT]: javascriptDefinition,
|
||||
[Languages.RUBY]: rubyDefinition,
|
||||
};
|
||||
|
||||
export const languageDefinitions: LanguageDefinition[] = Object.values(languageDefinitionRecords);
|
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* 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 { i18n } from '@kbn/i18n';
|
||||
import { docLinks } from '../../../../common/doc_links';
|
||||
import { LanguageDefinition, Languages } from './types';
|
||||
|
||||
export const rubyDefinition: LanguageDefinition = {
|
||||
advancedConfig: docLinks.rubyAdvancedConfig,
|
||||
apiReference: docLinks.rubyExamples,
|
||||
buildSearchQuery: `client.search(index: 'books', q: 'snow')`,
|
||||
configureClient: `client = ElasticsearchServerless::Client.new(
|
||||
api_key: 'your_api_key',
|
||||
url: 'https://my-deployment-url'
|
||||
)
|
||||
`,
|
||||
basicConfig: docLinks.rubyBasicConfig,
|
||||
docLink: docLinks.rubyClient,
|
||||
iconType: 'ruby.svg',
|
||||
id: Languages.RUBY,
|
||||
ingestData: `documents = [
|
||||
{ index: { _index: 'books', data: {name: "Snow Crash", "author": "Neal Stephenson", "release_date": "1992-06-01", "page_count": 470} } },
|
||||
{ index: { _index: 'books', data: {name: "Revelation Space", "author": "Alastair Reynolds", "release_date": "2000-03-15", "page_count": 585} } },
|
||||
{ index: { _index: 'books', data: {name: "1984", "author": "George Orwell", "release_date": "1985-06-01", "page_count": 328} } },
|
||||
{ index: { _index: 'books', data: {name: "Fahrenheit 451", "author": "Ray Bradbury", "release_date": "1953-10-15", "page_count": 227} } },
|
||||
{ index: { _index: 'books', data: {name: "Brave New World", "author": "Aldous Huxley", "release_date": "1932-06-01", "page_count": 268} } },
|
||||
{ index: { _index: 'books', data: {name: "The Handmaid's Tale", "author": "Margaret Atwood", "release_date": "1985-06-01", "page_count": 311} } }
|
||||
]
|
||||
client.bulk(body: documents)`,
|
||||
installClient: `# Requires Ruby version 3.0 or higher
|
||||
|
||||
# From the project's root directory:$ gem build elasticsearch-serverless.gemspec
|
||||
$ gem install elasticsearch-serverless-x.x.x.gem`,
|
||||
name: i18n.translate('xpack.serverlessSearch.languages.ruby', {
|
||||
defaultMessage: 'Ruby',
|
||||
}),
|
||||
testConnection: `TBD`,
|
||||
};
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
export enum Languages {
|
||||
JAVA = 'java',
|
||||
JAVASCRIPT = 'javascript',
|
||||
RUBY = 'ruby',
|
||||
GO = 'go',
|
||||
DOTNET = 'dotnet',
|
||||
PHP = 'php',
|
||||
PERL = 'perl',
|
||||
PYTHON = 'python',
|
||||
RUST = 'rust',
|
||||
CURL = 'curl',
|
||||
}
|
||||
|
||||
export interface LanguageDefinition {
|
||||
advancedConfig?: string;
|
||||
apiReference?: string;
|
||||
basicConfig?: string;
|
||||
configureClient: string;
|
||||
docLink: string;
|
||||
iconType: string;
|
||||
id: Languages;
|
||||
ingestData: string;
|
||||
installClient: string;
|
||||
languageStyling?: string;
|
||||
name: string;
|
||||
buildSearchQuery: string;
|
||||
testConnection: string;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
.serverlessSearchHeaderTitle {
|
||||
color: $euiColorEmptyShade;
|
||||
}
|
||||
|
||||
.serverlessSearchHeaderSection {
|
||||
background-color: $euiColorPrimary;
|
||||
color: $euiColorEmptyShade;
|
||||
}
|
||||
|
||||
.serverlessSearchHeaderSection > div {
|
||||
padding-bottom: 0;
|
||||
padding-top: 0;
|
||||
}
|
|
@ -0,0 +1,165 @@
|
|||
/*
|
||||
* 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 {
|
||||
EuiFlexGroup,
|
||||
EuiFlexItem,
|
||||
EuiImage,
|
||||
EuiPageTemplate,
|
||||
EuiSpacer,
|
||||
EuiText,
|
||||
EuiTitle,
|
||||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React, { useState } from 'react';
|
||||
import { PLUGIN_ID } from '../../../common';
|
||||
import { useKibanaServices } from '../hooks/use_kibana';
|
||||
import { CodeBox } from './code_box';
|
||||
import { javascriptDefinition } from './languages/javascript';
|
||||
import { languageDefinitions } from './languages/languages';
|
||||
import { LanguageDefinition } from './languages/types';
|
||||
import { InstallClientPanel } from './overview_panels/install_client';
|
||||
import { OverviewPanel } from './overview_panels/overview_panel';
|
||||
import './overview.scss';
|
||||
import { IngestData } from './overview_panels/ingest_data';
|
||||
|
||||
export const ElasticsearchOverview = () => {
|
||||
const [selectedLanguage, setSelectedLanguage] =
|
||||
useState<LanguageDefinition>(javascriptDefinition);
|
||||
const { http } = useKibanaServices();
|
||||
|
||||
return (
|
||||
<EuiPageTemplate offset={0} grow restrictWidth>
|
||||
<EuiPageTemplate.Section alignment="top" className="serverlessSearchHeaderSection">
|
||||
<EuiFlexGroup justifyContent="spaceBetween">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiFlexGroup justifyContent="flexEnd" direction="column" gutterSize="l">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiTitle className="serverlessSearchHeaderTitle" size="l">
|
||||
<h1>
|
||||
{i18n.translate('xpack.serverlessSearch.header.title', {
|
||||
defaultMessage: 'Get started with Elasticsearch',
|
||||
})}
|
||||
</h1>
|
||||
</EuiTitle>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiText>
|
||||
{i18n.translate('xpack.serverlessSearch.header.description', {
|
||||
defaultMessage:
|
||||
"Set up your programming language client, ingest some data, and you'll be ready to start searching within minutes.",
|
||||
})}
|
||||
</EuiText>
|
||||
<EuiSpacer size="xxl" />
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiFlexItem>
|
||||
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiImage
|
||||
alt=""
|
||||
src={http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets/serverless_header.png`)}
|
||||
size="554px"
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiPageTemplate.Section>
|
||||
<EuiPageTemplate.Section color="subdued" bottomBorder="extended">
|
||||
<InstallClientPanel language={selectedLanguage} setSelectedLanguage={setSelectedLanguage} />
|
||||
</EuiPageTemplate.Section>
|
||||
<EuiPageTemplate.Section color="subdued" bottomBorder="extended">
|
||||
<OverviewPanel
|
||||
description={i18n.translate('xpack.serverlessSearch.configureClient.description', {
|
||||
defaultMessage: 'Initialize your client with your unique API key and Cloud ID',
|
||||
})}
|
||||
leftPanelContent={
|
||||
<CodeBox
|
||||
code="configureClient"
|
||||
languages={languageDefinitions}
|
||||
selectedLanguage={selectedLanguage}
|
||||
setSelectedLanguage={setSelectedLanguage}
|
||||
/>
|
||||
}
|
||||
links={[
|
||||
...(selectedLanguage.basicConfig
|
||||
? [
|
||||
{
|
||||
href: selectedLanguage.basicConfig,
|
||||
label: i18n.translate(
|
||||
'xpack.serverlessSearch.configureClient.basicConfigLabel',
|
||||
{
|
||||
defaultMessage: 'Basic configuration',
|
||||
}
|
||||
),
|
||||
},
|
||||
]
|
||||
: []),
|
||||
...(selectedLanguage.advancedConfig
|
||||
? [
|
||||
{
|
||||
href: selectedLanguage.advancedConfig,
|
||||
label: i18n.translate(
|
||||
'xpack.serverlessSearch.configureClient.advancedConfigLabel',
|
||||
{
|
||||
defaultMessage: 'Advanced configuration',
|
||||
}
|
||||
),
|
||||
},
|
||||
]
|
||||
: []),
|
||||
]}
|
||||
title={i18n.translate('xpack.serverlessSearch.configureClient.title', {
|
||||
defaultMessage: 'Configure your client',
|
||||
})}
|
||||
/>
|
||||
</EuiPageTemplate.Section>
|
||||
<EuiPageTemplate.Section color="subdued" bottomBorder="extended">
|
||||
<OverviewPanel
|
||||
description={i18n.translate('xpack.serverlessSearch.testConnection.description', {
|
||||
defaultMessage:
|
||||
'Send a test request to confirm your language client and Elasticsearch instance are up and running.',
|
||||
})}
|
||||
leftPanelContent={
|
||||
<CodeBox
|
||||
code="testConnection"
|
||||
languages={languageDefinitions}
|
||||
selectedLanguage={selectedLanguage}
|
||||
setSelectedLanguage={setSelectedLanguage}
|
||||
/>
|
||||
}
|
||||
links={[]}
|
||||
title={i18n.translate('xpack.serverlessSearch.testConnection.title', {
|
||||
defaultMessage: 'Test your connection',
|
||||
})}
|
||||
/>
|
||||
</EuiPageTemplate.Section>
|
||||
<EuiPageTemplate.Section color="subdued" bottomBorder="extended">
|
||||
<IngestData selectedLanguage={selectedLanguage} setSelectedLanguage={setSelectedLanguage} />
|
||||
</EuiPageTemplate.Section>
|
||||
<EuiPageTemplate.Section color="subdued" bottomBorder="extended">
|
||||
<OverviewPanel
|
||||
description={i18n.translate('xpack.serverlessSearch.searchQuery.description', {
|
||||
defaultMessage:
|
||||
"Now you're ready to start experimenting with searching and performing aggregations on your Elasticsearch data.",
|
||||
})}
|
||||
leftPanelContent={
|
||||
<CodeBox
|
||||
code="buildSearchQuery"
|
||||
languages={languageDefinitions}
|
||||
selectedLanguage={selectedLanguage}
|
||||
setSelectedLanguage={setSelectedLanguage}
|
||||
/>
|
||||
}
|
||||
links={[]}
|
||||
title={i18n.translate('xpack.serverlessSearch.searchQuery.title', {
|
||||
defaultMessage: 'Build your first search query',
|
||||
})}
|
||||
/>
|
||||
</EuiPageTemplate.Section>
|
||||
</EuiPageTemplate>
|
||||
);
|
||||
};
|
|
@ -0,0 +1,3 @@
|
|||
.serverlessSearchIntegrationsPanel {
|
||||
background-color: $euiColorDarkestShade;
|
||||
}
|
|
@ -0,0 +1,129 @@
|
|||
/*
|
||||
* 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 { EuiCheckableCard, EuiFormFieldset, EuiSpacer, EuiText, EuiTitle } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React, { useState } from 'react';
|
||||
import { docLinks } from '../../../../common/doc_links';
|
||||
import { CodeBox } from '../code_box';
|
||||
import { languageDefinitions } from '../languages/languages';
|
||||
import { LanguageDefinition } from '../languages/types';
|
||||
import { OverviewPanel } from './overview_panel';
|
||||
import { IntegrationsPanel } from './integrations_panel';
|
||||
|
||||
interface IngestDataProps {
|
||||
selectedLanguage: LanguageDefinition;
|
||||
setSelectedLanguage: (language: LanguageDefinition) => void;
|
||||
}
|
||||
|
||||
export const IngestData: React.FC<IngestDataProps> = ({
|
||||
selectedLanguage,
|
||||
setSelectedLanguage,
|
||||
}) => {
|
||||
const [selectedIngestMethod, setSelectedIngestMethod] = useState<
|
||||
'ingestViaApi' | 'ingestViaIntegration'
|
||||
>('ingestViaApi');
|
||||
return (
|
||||
<OverviewPanel
|
||||
description={i18n.translate('xpack.serverlessSearch.ingestData.description', {
|
||||
defaultMessage:
|
||||
'Add data to your data stream or index to make it searchable. Choose an ingestion method that fits your application and workflow.',
|
||||
})}
|
||||
leftPanelContent={
|
||||
selectedIngestMethod === 'ingestViaApi' ? (
|
||||
<CodeBox
|
||||
code="ingestData"
|
||||
languages={languageDefinitions}
|
||||
selectedLanguage={selectedLanguage}
|
||||
setSelectedLanguage={setSelectedLanguage}
|
||||
/>
|
||||
) : (
|
||||
<IntegrationsPanel />
|
||||
)
|
||||
}
|
||||
links={[
|
||||
...(selectedLanguage.apiReference
|
||||
? [
|
||||
{
|
||||
href: selectedLanguage.apiReference,
|
||||
label: i18n.translate('xpack.serverlessSearch.ingestData.clientDocLink', {
|
||||
defaultMessage: '{languageName} API reference',
|
||||
values: { languageName: selectedLanguage.name },
|
||||
}),
|
||||
},
|
||||
]
|
||||
: []),
|
||||
{
|
||||
href: docLinks.integrations,
|
||||
label: i18n.translate('xpack.serverlessSearch.ingestData.integrationsLink', {
|
||||
defaultMessage: 'About Integrations',
|
||||
}),
|
||||
},
|
||||
]}
|
||||
title={i18n.translate('xpack.serverlessSearch.ingestData.title', {
|
||||
defaultMessage: 'Ingest data',
|
||||
})}
|
||||
>
|
||||
<EuiFormFieldset
|
||||
legend={{
|
||||
children: i18n.translate('xpack.serverlessSearch.ingestData.ingestLegendLabel', {
|
||||
defaultMessage: 'Select an ingestion method',
|
||||
}),
|
||||
display: 'hidden',
|
||||
}}
|
||||
>
|
||||
<EuiCheckableCard
|
||||
hasShadow
|
||||
id="ingestViaApi"
|
||||
label={
|
||||
<EuiTitle size="xs">
|
||||
<h3>
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.ingestApiLabel', {
|
||||
defaultMessage: 'Ingest via API',
|
||||
})}
|
||||
</h3>
|
||||
</EuiTitle>
|
||||
}
|
||||
value="ingestViaApi"
|
||||
checked={selectedIngestMethod === 'ingestViaApi'}
|
||||
onChange={() => setSelectedIngestMethod('ingestViaApi')}
|
||||
>
|
||||
<EuiText>
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.ingestApiDescription', {
|
||||
defaultMessage:
|
||||
'The most flexible way to index data, enabling full control over your customization and optimization options.',
|
||||
})}
|
||||
</EuiText>
|
||||
</EuiCheckableCard>
|
||||
<EuiSpacer />
|
||||
<EuiCheckableCard
|
||||
hasShadow
|
||||
id="ingestViaIntegration"
|
||||
label={
|
||||
<EuiTitle size="xs">
|
||||
<h3>
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.ingestIntegrationLabel', {
|
||||
defaultMessage: 'Ingest via integration',
|
||||
})}
|
||||
</h3>
|
||||
</EuiTitle>
|
||||
}
|
||||
value="ingestViaIntegration"
|
||||
checked={selectedIngestMethod === 'ingestViaIntegration'}
|
||||
onChange={() => setSelectedIngestMethod('ingestViaIntegration')}
|
||||
>
|
||||
<EuiText>
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.ingestIntegrationDescription', {
|
||||
defaultMessage:
|
||||
'Specialized ingestion tools optimized for transforming data and shipping it to Elasticsearch.',
|
||||
})}
|
||||
</EuiText>
|
||||
</EuiCheckableCard>
|
||||
</EuiFormFieldset>
|
||||
</OverviewPanel>
|
||||
);
|
||||
};
|
|
@ -0,0 +1,107 @@
|
|||
/*
|
||||
* 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 { EuiSpacer, EuiCallOut, EuiText } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React from 'react';
|
||||
import { CodeBox } from '../code_box';
|
||||
import { languageDefinitions } from '../languages/languages';
|
||||
import { OverviewPanel } from './overview_panel';
|
||||
import { LanguageDefinition, Languages } from '../languages/types';
|
||||
import { GithubLink } from '../shared/github_link';
|
||||
|
||||
interface InstallClientProps {
|
||||
language: LanguageDefinition;
|
||||
setSelectedLanguage: (language: LanguageDefinition) => void;
|
||||
}
|
||||
|
||||
const Link: React.FC<{ language: Languages }> = ({ language }) => {
|
||||
switch (language) {
|
||||
case Languages.CURL:
|
||||
return (
|
||||
<GithubLink
|
||||
href="https://github.com/curl/curl"
|
||||
label={i18n.translate('xpack.serverlessSearch.githubLink.curl.label', {
|
||||
defaultMessage: 'curl',
|
||||
})}
|
||||
/>
|
||||
);
|
||||
case Languages.JAVASCRIPT:
|
||||
return (
|
||||
<GithubLink
|
||||
href="https://github.com/elastic/elasticsearch-js"
|
||||
label={i18n.translate('xpack.serverlessSearch.githubLink.javascript.label', {
|
||||
defaultMessage: 'elasticsearch',
|
||||
})}
|
||||
/>
|
||||
);
|
||||
case Languages.RUBY:
|
||||
return (
|
||||
<GithubLink
|
||||
href="https://github.com/elastic/elasticsearch-ruby"
|
||||
label={i18n.translate('xpack.serverlessSearch.githubLink.ruby.label', {
|
||||
defaultMessage: 'elasticsearch-ruby',
|
||||
})}
|
||||
/>
|
||||
);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
export const InstallClientPanel: React.FC<InstallClientProps> = ({
|
||||
language,
|
||||
setSelectedLanguage,
|
||||
}) => {
|
||||
return (
|
||||
<OverviewPanel
|
||||
description={i18n.translate('xpack.serverlessSearch.installClient.description', {
|
||||
defaultMessage:
|
||||
'Elastic builds and maintains clients in several popular languages and our community has contributed many more. Install your favorite language client to get started.',
|
||||
})}
|
||||
links={[
|
||||
{
|
||||
href: language.docLink,
|
||||
label: i18n.translate('xpack.serverlessSearch.installClient.clientDocLink', {
|
||||
defaultMessage: '{languageName} client documentation',
|
||||
values: { languageName: language.name },
|
||||
}),
|
||||
},
|
||||
]}
|
||||
title={i18n.translate('xpack.serverlessSearch.installClient.title', {
|
||||
defaultMessage: 'Install a client',
|
||||
})}
|
||||
leftPanelContent={
|
||||
<>
|
||||
<CodeBox
|
||||
code="installClient"
|
||||
languageType="shell"
|
||||
languages={languageDefinitions}
|
||||
selectedLanguage={language}
|
||||
setSelectedLanguage={setSelectedLanguage}
|
||||
/>
|
||||
<EuiSpacer />
|
||||
<Link language={language.id} />
|
||||
<EuiSpacer />
|
||||
<EuiCallOut
|
||||
iconType="iInCircle"
|
||||
title={i18n.translate('xpack.serverlessSearch.apiCallOut.title', {
|
||||
defaultMessage: 'Call the API with Console',
|
||||
})}
|
||||
color="primary"
|
||||
>
|
||||
<EuiText size="s">
|
||||
{i18n.translate('xpack.serverlessSearch.apiCallout.content', {
|
||||
defaultMessage:
|
||||
'Console enables you to call Elasticsearch and Kibana REST APIs directly, without needing to install a language client.',
|
||||
})}
|
||||
</EuiText>
|
||||
</EuiCallOut>
|
||||
</>
|
||||
}
|
||||
/>
|
||||
);
|
||||
};
|
|
@ -0,0 +1,154 @@
|
|||
/*
|
||||
* 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 {
|
||||
EuiThemeProvider,
|
||||
EuiPanel,
|
||||
EuiFlexGroup,
|
||||
EuiFlexItem,
|
||||
EuiIcon,
|
||||
EuiTitle,
|
||||
EuiSpacer,
|
||||
EuiText,
|
||||
EuiLink,
|
||||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React from 'react';
|
||||
import { docLinks } from '../../../../common/doc_links';
|
||||
import { LEARN_MORE_LABEL } from '../../../../common/i18n_string';
|
||||
import { GithubLink } from '../shared/github_link';
|
||||
|
||||
export const IntegrationsPanel: React.FC = () => {
|
||||
return (
|
||||
<EuiThemeProvider colorMode="dark">
|
||||
<EuiPanel paddingSize="xl">
|
||||
<EuiFlexGroup alignItems="center" justifyContent="flexStart">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiIcon type="logoLogstash" size="xxl" />
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
<EuiTitle size="l">
|
||||
<h3>
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.logstashTitle', {
|
||||
defaultMessage: 'Logstash',
|
||||
})}
|
||||
</h3>
|
||||
</EuiTitle>
|
||||
|
||||
<EuiSpacer size="xs" />
|
||||
<EuiText size="s" color="default">
|
||||
<p>
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.logstashDescription', {
|
||||
defaultMessage:
|
||||
'Add data to your data stream or index to make it searchable. Choose an ingestion method that fits your application and workflow.',
|
||||
})}
|
||||
</p>
|
||||
</EuiText>
|
||||
<EuiSpacer size="s" />
|
||||
<EuiFlexGroup justifyContent="flexStart">
|
||||
<EuiFlexItem>
|
||||
<EuiText size="s">
|
||||
<EuiLink href={docLinks.logStash} target="_blank">
|
||||
{LEARN_MORE_LABEL}
|
||||
</EuiLink>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
<GithubLink
|
||||
href="https://github.com/elastic/logstash"
|
||||
label={i18n.translate('xpack.serverlessSearch.ingestData.logstashLink', {
|
||||
defaultMessage: 'Logstash',
|
||||
})}
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
<EuiSpacer size="xl" />
|
||||
<EuiFlexGroup alignItems="center" justifyContent="flexStart">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiIcon type="logoBeats" size="xxl" />
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
<EuiTitle size="l">
|
||||
<h3>
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.beatsTitle', {
|
||||
defaultMessage: 'Beats',
|
||||
})}
|
||||
</h3>
|
||||
</EuiTitle>
|
||||
<EuiSpacer size="xs" />
|
||||
<EuiText size="s" color="default">
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.beatsDescription', {
|
||||
defaultMessage:
|
||||
'Lightweight, single-purpose data shippers for Elasticsearch. Use Beats to send operational data from your servers.',
|
||||
})}
|
||||
</EuiText>
|
||||
<EuiSpacer size="s" />
|
||||
<EuiFlexGroup justifyContent="flexStart">
|
||||
<EuiFlexItem>
|
||||
<EuiText size="s">
|
||||
<EuiLink href={docLinks.beats} target="_blank">
|
||||
{LEARN_MORE_LABEL}
|
||||
</EuiLink>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
<GithubLink
|
||||
href="https://github.com/elastic/beats"
|
||||
label={i18n.translate('xpack.serverlessSearch.ingestData.beatsLink', {
|
||||
defaultMessage: 'beats',
|
||||
})}
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
<EuiSpacer size="l" />
|
||||
<EuiFlexGroup alignItems="center" justifyContent="flexStart">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiIcon type="logoBeats" size="xxl" />
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
<EuiTitle size="l">
|
||||
<h3>
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.connectorsTitle', {
|
||||
defaultMessage: 'Connector Client',
|
||||
})}
|
||||
</h3>
|
||||
</EuiTitle>
|
||||
<EuiSpacer size="xs" />
|
||||
<EuiText size="s" color="default">
|
||||
{i18n.translate('xpack.serverlessSearch.ingestData.connectorsDescription', {
|
||||
defaultMessage:
|
||||
'Specialized integrations for syncing data from third-party sources to Elasticsearch. Use Elastic Connectors to sync content from a range of databases and object stores.',
|
||||
})}
|
||||
</EuiText>
|
||||
<EuiSpacer size="s" />
|
||||
<EuiFlexGroup justifyContent="flexStart">
|
||||
<EuiFlexItem>
|
||||
<EuiText size="s">
|
||||
<EuiLink href={docLinks.connectors} target="_blank">
|
||||
{LEARN_MORE_LABEL}
|
||||
</EuiLink>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
<GithubLink
|
||||
href="https://github.com/elastic/connectors-python"
|
||||
label={i18n.translate('xpack.serverlessSearch.ingestData.connectorsPythonLink', {
|
||||
defaultMessage: 'connectors-python',
|
||||
})}
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
</EuiPanel>
|
||||
</EuiThemeProvider>
|
||||
);
|
||||
};
|
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
* 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 {
|
||||
EuiFlexGroup,
|
||||
EuiFlexItem,
|
||||
EuiSpacer,
|
||||
EuiText,
|
||||
EuiPanel,
|
||||
EuiTitle,
|
||||
EuiLink,
|
||||
} from '@elastic/eui';
|
||||
import React from 'react';
|
||||
import { LEARN_MORE_LABEL } from '../../../../common/i18n_string';
|
||||
|
||||
interface OverviewPanelProps {
|
||||
description: React.ReactNode | string;
|
||||
leftPanelContent: React.ReactNode;
|
||||
links: Array<{ label: string; href: string }>;
|
||||
title: string;
|
||||
}
|
||||
|
||||
export const OverviewPanel: React.FC<OverviewPanelProps> = ({
|
||||
children,
|
||||
description,
|
||||
leftPanelContent,
|
||||
links,
|
||||
title,
|
||||
}) => {
|
||||
return (
|
||||
<>
|
||||
<EuiSpacer size="xxl" />
|
||||
<EuiFlexGroup alignItems="center">
|
||||
<EuiFlexItem grow={3}>{leftPanelContent}</EuiFlexItem>
|
||||
<EuiFlexItem grow={2}>
|
||||
<EuiPanel color="subdued">
|
||||
<EuiTitle>
|
||||
<h2>{title}</h2>
|
||||
</EuiTitle>
|
||||
<EuiSpacer />
|
||||
<EuiText>{description}</EuiText>
|
||||
{children}
|
||||
{links.length > 0 ? (
|
||||
<>
|
||||
<EuiSpacer />
|
||||
<EuiTitle size="xxs">
|
||||
<h3>{LEARN_MORE_LABEL}</h3>
|
||||
</EuiTitle>
|
||||
<EuiSpacer size="s" />
|
||||
{links.map(({ label, href }, index) => (
|
||||
<EuiText size="s">
|
||||
<EuiLink key={index} href={href} target="_blank">
|
||||
{label}
|
||||
</EuiLink>
|
||||
</EuiText>
|
||||
))}
|
||||
</>
|
||||
) : null}
|
||||
</EuiPanel>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
<EuiSpacer size="xxl" />
|
||||
</>
|
||||
);
|
||||
};
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* 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 { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiText, EuiLink } from '@elastic/eui';
|
||||
import React from 'react';
|
||||
import { PLUGIN_ID } from '../../../../common';
|
||||
import { useKibanaServices } from '../../hooks/use_kibana';
|
||||
|
||||
export const GithubLink: React.FC<{ label: string; href: string }> = ({ label, href }) => {
|
||||
const { http } = useKibanaServices();
|
||||
return (
|
||||
<EuiFlexGroup alignItems="center" gutterSize="xs" justifyContent="flexEnd">
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiIcon size="s" type={http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets/github.svg`)} />
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
<EuiText size="s">
|
||||
<EuiLink target="_blank" href={href}>
|
||||
{label}
|
||||
</EuiLink>
|
||||
</EuiText>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
);
|
||||
};
|
|
@ -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; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
import React, { useContext } from 'react';
|
||||
|
||||
export const ServerlessSearchContext = React.createContext<{} | undefined>(undefined);
|
||||
|
||||
export const useServerlessSearchContext = () => {
|
||||
return useContext(ServerlessSearchContext);
|
||||
};
|
|
@ -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; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import type { CoreStart } from '@kbn/core/public';
|
||||
import { useKibana as useKibanaBase } from '@kbn/kibana-react-plugin/public';
|
||||
|
||||
type ServerlessSearchKibanaContext = CoreStart;
|
||||
|
||||
export const useKibanaServices = () => useKibanaBase<ServerlessSearchKibanaContext>().services;
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* 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 ReactDOM from 'react-dom';
|
||||
import { CoreStart } from '@kbn/core/public';
|
||||
import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public';
|
||||
import { I18nProvider } from '@kbn/i18n-react';
|
||||
|
||||
export async function renderApp(element: HTMLElement, core: CoreStart) {
|
||||
const { ElasticsearchOverview } = await import('./components/overview');
|
||||
ReactDOM.render(
|
||||
<KibanaThemeProvider theme$={core.theme.theme$}>
|
||||
<KibanaContextProvider services={core}>
|
||||
<I18nProvider>
|
||||
<ElasticsearchOverview />
|
||||
</I18nProvider>
|
||||
</KibanaContextProvider>
|
||||
</KibanaThemeProvider>,
|
||||
element
|
||||
);
|
||||
return () => ReactDOM.unmountComponentAtNode(element);
|
||||
}
|
92
x-pack/plugins/serverless_search/public/assets/curl.svg
Normal file
|
@ -0,0 +1,92 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="123.18359pt"
|
||||
height="102.92578pt"
|
||||
viewBox="0 0 123.18359 102.92578"
|
||||
version="1.1"
|
||||
id="svg4155">
|
||||
<metadata
|
||||
id="metadata4199">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs4157">
|
||||
<g
|
||||
id="g4159">
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-0"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 73.359375,0 0,-84.171875 -60.125,0 0,84.171875 z m -9.625,-78.15625 L 43.296875,-47.5 22.84375,-78.15625 Z M 67.34375,-11.421875 46.890625,-42.09375 67.34375,-72.75 Z m -44.5,5.40625 20.453125,-30.65625 20.4375,30.65625 z M 19.234375,-72.75 39.6875,-42.09375 19.234375,-11.421875 Z m 0,0"
|
||||
id="path4162" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-1"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 15.03125,-26.8125 c 0,7.09375 1.328125,10.578125 6.859375,15.140625 l 8.53125,7.109375 C 35.828125,-0.125 38.59375,0 45.328125,0 l 18.28125,0 c 3.84375,0 7.9375,-0.84375 7.9375,-5.765625 0,-5.0625 -4.5625,-5.78125 -7.9375,-5.78125 l -20.3125,0 c -2.296875,0 -4.578125,-1.203125 -6.625,-2.890625 l -6.96875,-5.890625 c -1.8125,-1.4375 -3.125,-2.640625 -3.125,-4.921875 l 0,-14.3125 c 0,-2.28125 1.3125,-3.484375 3.125,-4.9375 l 6.96875,-5.890625 c 2.046875,-1.671875 4.328125,-2.875 6.625,-2.875 l 20.3125,0 c 3.375,0 7.9375,-0.734375 7.9375,-5.78125 0,-4.921875 -4.09375,-5.765625 -7.9375,-5.765625 l -18.28125,0 c -6.734375,0 -9.5,0.125 -14.90625,4.5625 l -8.53125,7.09375 C 16.359375,-48.578125 15.03125,-45.09375 15.03125,-38 Z m 0,0"
|
||||
id="path4165" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-2"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 71.546875,-56.875 c 0,-3.96875 -0.84375,-7.9375 -5.765625,-7.9375 -4.9375,0 -5.78125,3.96875 -5.78125,7.9375 L 60,-23.328125 43.046875,-12.625 c -1.078125,0.71875 -2.28125,1.078125 -3.609375,1.078125 l -3.84375,0 c -2.765625,0 -5.765625,-0.71875 -6.734375,-2.40625 -0.96875,-1.671875 -1.078125,-4.8125 -1.203125,-7.453125 L 26.453125,-56.875 c -0.125,-3.734375 -0.71875,-7.9375 -5.65625,-7.9375 -5.28125,0 -5.890625,4.453125 -5.765625,8.65625 l 1.203125,36.3125 c 0.234375,6.25 0.125,11.1875 5.296875,15.640625 C 25.375,-0.96875 28.984375,0 32.234375,0 l 8.53125,0 c 3.125,0 6.25,-1.4375 9.984375,-3.84375 l 9.375,-6.140625 0,1.921875 c 0,3.96875 0.84375,8.0625 5.765625,8.0625 6.140625,0 5.65625,-5.890625 5.65625,-8.53125 z m 0,0"
|
||||
id="path4168" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-3"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 15.03125,-7.9375 c 0,3.96875 0.84375,7.9375 5.765625,7.9375 4.9375,0 5.78125,-3.96875 5.78125,-7.9375 l 0,-29.21875 L 42.6875,-50.5 c 2.046875,-1.6875 3.609375,-2.765625 5.765625,-2.765625 l 3.375,0 c 2.765625,0 5.53125,0 6.96875,2.046875 C 60,-49.546875 60,-48.09375 60,-46.171875 c 0,3.71875 1.6875,7.09375 5.890625,7.09375 4.9375,0 5.65625,-4.09375 5.65625,-8.0625 0,-5.28125 -1.328125,-9.25 -5.171875,-13.109375 -3.125,-3.125 -6.84375,-4.5625 -11.296875,-4.5625 l -9.265625,0 c -3.609375,0 -6.96875,2.28125 -10.21875,4.921875 l -9.015625,7.46875 0,-4.703125 c 0,-3.84375 -1.203125,-7.6875 -5.78125,-7.6875 -5.28125,0 -5.765625,4.328125 -5.765625,8.53125 z m 0,0"
|
||||
id="path4171" />
|
||||
</symbol>
|
||||
<symbol
|
||||
overflow="visible"
|
||||
id="glyph0-4"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
style="stroke:none"
|
||||
d="m 49.296875,-80.5625 c 0,-6.859375 -1.921875,-8.0625 -8.53125,-8.0625 l -12.140625,0 c -3.859375,0 -7.9375,0.84375 -7.9375,5.765625 0,5.0625 4.5625,5.78125 7.9375,5.78125 l 9.140625,0 0,65.53125 -9.140625,0 c -3.859375,0 -7.9375,0.84375 -7.9375,5.78125 C 20.6875,-0.71875 25.25,0 28.625,0 l 29.328125,0 c 3.375,0 7.9375,-0.71875 7.9375,-5.765625 0,-4.9375 -4.078125,-5.78125 -7.9375,-5.78125 l -8.65625,0 z m 0,0"
|
||||
id="path4174" />
|
||||
</symbol>
|
||||
</g>
|
||||
</defs>
|
||||
<path
|
||||
id="path4177"
|
||||
d="m 114.10156,14.04297 c -2.74219,0 -4.96094,-2.22266 -4.96094,-4.96094 0,-2.74219 2.21875,-4.96094 4.96094,-4.96094 2.73828,0 4.96094,2.21875 4.96094,4.96094 0,2.73828 -2.22266,4.96094 -4.96094,4.96094 M 64.83203,98.80468 c -2.74219,0 -4.96094,-2.22265 -4.96094,-4.96093 0,-2.74219 2.21875,-4.96094 4.96094,-4.96094 2.73828,0 4.95703,2.21875 4.95703,4.96094 0,2.73828 -2.21875,4.96093 -4.95703,4.96093 M 114.10156,0 c -5.01563,0 -9.08203,4.0664 -9.08203,9.08203 0,1.07031 0.26953,2.0664 0.60937,3.01953 L 63.02343,85.125 C 58.90625,85.98828 55.75,89.46875 55.75,93.84375 c 0,5.01562 4.0664,9.08203 9.08203,9.08203 5.01172,0 9.07812,-4.06641 9.07812,-9.08203 0,-1.00782 -0.26953,-1.92969 -0.57031,-2.83594 l 42.82031,-73.26172 c 3.99219,-0.95703 7.02344,-4.37891 7.02344,-8.66406 C 123.18359,4.0664 119.11718,0 114.10156,0"
|
||||
style="fill:#0c544c;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
id="path4179"
|
||||
d="m 76.9414,14.04297 c -2.74218,0 -4.96093,-2.22266 -4.96093,-4.96094 0,-2.74219 2.21875,-4.96094 4.96093,-4.96094 2.73828,0 4.95703,2.21875 4.95703,4.96094 0,2.73828 -2.21875,4.96094 -4.95703,4.96094 M 27.66797,98.80468 c -2.73829,0 -4.96094,-2.22265 -4.96094,-4.96093 0,-2.74219 2.22265,-4.96094 4.96094,-4.96094 2.74218,0 4.96093,2.21875 4.96093,4.96094 0,2.73828 -2.21875,4.96093 -4.96093,4.96093 M 76.9414,0 c -5.01953,0 -9.08203,4.0664 -9.08203,9.08203 0,1.07031 0.26953,2.0664 0.60938,3.01953 L 25.86328,85.125 c -4.1211,0.86328 -7.27735,4.34375 -7.27735,8.71875 0,5.01562 4.06641,9.08203 9.08204,9.08203 5.01562,0 9.08203,-4.06641 9.08203,-9.08203 0,-1.00782 -0.26953,-1.92969 -0.57032,-2.83594 L 79,17.74609 C 82.99218,16.78906 86.02343,13.36718 86.02343,9.08203 86.02343,4.0664 81.95312,0 76.9414,0"
|
||||
style="fill:#073551;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
id="path4181"
|
||||
d="m 9.08203,29.22656 c 2.73828,0 4.96094,2.22266 4.96094,4.96094 0,2.73828 -2.22266,4.96093 -4.96094,4.96093 -2.74219,0 -4.96094,-2.22265 -4.96094,-4.96093 0,-2.73828 2.21875,-4.96094 4.96094,-4.96094 m 0,14.04297 c 5.01562,0 9.08203,-4.06641 9.08203,-9.08203 0,-1.00391 -0.27344,-1.92969 -0.57422,-2.83594 -1.20312,-3.60547 -4.5,-6.24609 -8.50781,-6.24609 -0.64063,0 -1.20313,0.23828 -1.8086,0.36718 C 3.15625,26.33203 0,29.8125 0,34.1875 c 0,5.01562 4.0664,9.08203 9.08203,9.08203"
|
||||
style="fill:#073551;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
id="path4183"
|
||||
d="m 4.12109,65.92187 c 0,-2.74219 2.22266,-4.96094 4.96094,-4.96094 2.73828,0 4.96094,2.21875 4.96094,4.96094 0,2.73828 -2.22266,4.95703 -4.96094,4.95703 -2.73828,0 -4.96094,-2.21875 -4.96094,-4.95703 m 14.04297,0 c 0,-1.00781 -0.27344,-1.92969 -0.57422,-2.83594 -1.20312,-3.60546 -4.49609,-6.24609 -8.50781,-6.24609 -0.64063,0 -1.20313,0.23828 -1.8086,0.36328 C 3.15625,58.0664 0,61.54687 0,65.92187 c 0,5.01172 4.0664,9.08203 9.08203,9.08203 5.01562,0 9.08203,-4.07031 9.08203,-9.08203"
|
||||
style="fill:#073551;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
</svg>
|
After Width: | Height: | Size: 7.5 KiB |
126
x-pack/plugins/serverless_search/public/assets/dotnet.svg
Normal file
|
@ -0,0 +1,126 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.49146 9.29211C9.31964 11.8247 9.63333 16.3423 12.0551 16.3423C12.2392 16.3423 12.4258 16.3243 12.6127 16.2887C10.4115 15.7755 10.1505 11.307 8.80702 8.99268C8.69996 9.0905 8.59475 9.19033 8.49146 9.29211Z" fill="url(#paint0_linear_2584_222717)"/>
|
||||
<path d="M8.80701 8.9927C10.1504 11.3068 10.4114 15.7753 12.6127 16.2887C12.7894 16.2553 12.9632 16.2084 13.1326 16.1483C11.1566 15.18 10.6106 10.8409 9.08488 8.75195C8.99263 8.82883 8.89982 8.90927 8.80701 8.9927Z" fill="url(#paint1_linear_2584_222717)"/>
|
||||
<path d="M10.7426 7.61671C10.5589 7.61671 10.3719 7.63471 10.1844 7.67033C9.6947 7.76277 9.1967 7.97371 8.69495 8.29302C8.83182 8.42839 8.96251 8.58308 9.08513 8.75202C9.5957 8.32846 10.1027 8.01552 10.6076 7.82727C10.792 7.75834 10.9821 7.70552 11.1756 7.66939C11.034 7.63396 10.8886 7.61626 10.7426 7.61671Z" fill="#14559A"/>
|
||||
<path d="M14.6752 15.2562C14.8857 15.088 15.0884 14.9103 15.2827 14.7237C14.4412 12.2031 14.1399 7.62061 11.7013 7.62061C11.5269 7.62061 11.351 7.63692 11.1755 7.66936C13.3968 8.22192 13.6815 13.0547 14.6752 15.2562Z" fill="url(#paint2_linear_2584_222717)"/>
|
||||
<path d="M11.1757 7.66958C11.0341 7.63398 10.8885 7.61622 10.7424 7.61671L11.7013 7.62027C11.5271 7.62027 11.3512 7.6364 11.1757 7.66958Z" fill="#3092C4"/>
|
||||
<path d="M14.6325 15.7916C14.5354 15.6978 14.4437 15.5986 14.3576 15.4946C13.9474 15.7851 13.5386 16.0054 13.1327 16.1488C13.2773 16.2193 13.4286 16.2718 13.5894 16.3043C13.7139 16.3298 13.8431 16.3429 13.9785 16.3429C14.4343 16.3429 14.7947 16.2889 15.1011 16.1419C14.9323 16.0504 14.7774 15.9323 14.6325 15.7916Z" fill="#1969BC"/>
|
||||
<path d="M10.6074 7.82787C12.597 8.8685 12.77 13.5811 14.3576 15.4946C14.4641 15.4196 14.5695 15.3401 14.6747 15.2562C13.6809 13.0548 13.3969 8.22143 11.1759 7.66943C10.9864 7.70487 10.7972 7.75737 10.6074 7.82787Z" fill="url(#paint3_linear_2584_222717)"/>
|
||||
<path d="M9.08496 8.75201C10.6106 10.8409 11.1566 15.1803 13.1327 16.1485C13.5388 16.0051 13.9476 15.7849 14.3576 15.4943C12.7701 13.5809 12.597 8.86845 10.6075 7.82764C10.1025 8.01551 9.59552 8.32845 9.08496 8.75201Z" fill="url(#paint4_linear_2584_222717)"/>
|
||||
<path d="M7.51556 9.23121C7.2765 9.77177 7.03219 10.4826 6.73706 11.4101C7.32412 10.5827 7.9095 9.87002 8.4915 9.29234C8.41805 9.06222 8.33154 8.83647 8.23237 8.61621C7.98241 8.808 7.74311 9.0133 7.51556 9.23121Z" fill="url(#paint5_linear_2584_222717)"/>
|
||||
<path d="M8.44442 8.45996C8.37429 8.51021 8.30361 8.56159 8.23254 8.61596C8.32536 8.81846 8.41123 9.04571 8.49129 9.29227C8.59479 9.19063 8.70006 9.09081 8.80704 8.99284C8.70003 8.80616 8.5788 8.62801 8.44442 8.45996Z" fill="#2B74B1"/>
|
||||
<path d="M8.6949 8.29297C8.61146 8.34584 8.5284 8.40172 8.44421 8.46003C8.57453 8.62034 8.69415 8.79941 8.80721 8.99328C8.90003 8.90928 8.99265 8.82847 9.08509 8.75197C8.96246 8.58322 8.83196 8.42834 8.6949 8.29297Z" fill="#125A9E"/>
|
||||
<path d="M22.2658 7.42379C21.1406 11.7633 18.7903 15.2489 16.82 16.1275H16.8161L16.7098 16.1731L16.6968 16.1782L16.6666 16.1898L16.6531 16.1954L16.6038 16.2129L16.5836 16.22L16.559 16.228L16.5354 16.2363L16.5144 16.2434L16.4724 16.2562L16.4544 16.2609L16.4261 16.2685L16.4068 16.2738L16.3758 16.2819L16.3381 16.2901C16.4272 16.3229 16.52 16.3396 16.6199 16.3396C18.4884 16.3396 20.3724 12.9912 23.4896 7.42285H22.2656L22.2658 7.42379Z" fill="url(#paint6_linear_2584_222717)"/>
|
||||
<path d="M6.33119 7.79298L6.33475 7.78998L6.33907 7.78717H6.3415L6.37169 7.77555L6.37769 7.77255L6.38557 7.76936L6.418 7.75773H6.41969L6.4915 7.73261L6.50219 7.7298L6.53294 7.72061L6.547 7.71611L6.57794 7.70692L6.58975 7.70373L6.6925 7.67711L6.70657 7.67392L6.73657 7.66811L6.75119 7.66361L6.78138 7.65798H6.7885L6.85094 7.64636H6.86332L6.89219 7.6413L6.9085 7.63848L6.93607 7.63436L6.95125 7.63136L7.01838 7.62536C6.95226 7.61891 6.88587 7.61553 6.81944 7.61523C4.71513 7.61523 1.816 11.5194 0.510254 16.5755H0.762066C1.15246 15.8776 1.53138 15.1734 1.89869 14.4631C2.8135 10.8819 4.67632 8.43948 6.33119 7.79242" fill="url(#paint7_linear_2584_222717)"/>
|
||||
<path d="M7.5155 9.23151C7.74315 9.01364 7.98243 8.80828 8.23231 8.61632C8.1815 8.5032 8.12448 8.39297 8.0615 8.28613C7.86913 8.51976 7.69325 8.82801 7.5155 9.23151Z" fill="#0D82CA"/>
|
||||
<path d="M7.68849 7.82228C7.82593 7.93741 7.94912 8.09603 8.06162 8.28597C8.09705 8.24247 8.13305 8.20216 8.17037 8.16428C8.01931 8.02133 7.84796 7.90147 7.66187 7.80859L7.68437 7.81928L7.68849 7.82228Z" fill="#0D82CA"/>
|
||||
<path d="M1.89893 14.4632C3.81761 10.7659 4.72661 8.42586 6.33143 7.79248C4.67674 8.44011 2.81355 10.8823 1.89893 14.4632Z" fill="url(#paint8_linear_2584_222717)"/>
|
||||
<path d="M8.17015 8.16455C8.13284 8.2028 8.09721 8.24274 8.0614 8.28624C8.12178 8.38711 8.17784 8.49699 8.23259 8.61624C8.30346 8.56186 8.37434 8.51068 8.44428 8.46024C8.35993 8.35539 8.26833 8.25658 8.17015 8.16455Z" fill="#127BCA"/>
|
||||
<path d="M2.76996 16.5591L2.73509 16.5633H2.72852L2.6989 16.5663H2.69402L2.62352 16.5709H2.61621C4.55796 16.5166 5.44577 15.5444 5.88621 14.134C6.2209 13.0651 6.49596 12.1643 6.7369 11.4087C5.92352 12.5536 5.1064 13.9182 4.28496 15.4473C3.88896 16.1841 3.28652 16.492 2.76996 16.5576" fill="url(#paint9_linear_2584_222717)"/>
|
||||
<path d="M2.76996 16.5583C3.28653 16.4925 3.88896 16.185 4.28496 15.4478C5.1064 13.9195 5.9239 12.5545 6.73653 11.4094C7.03221 10.4815 7.27615 9.77122 7.5154 9.23047C5.89559 10.7723 4.26959 13.336 2.76978 16.5574" fill="url(#paint10_linear_2584_222717)"/>
|
||||
<path d="M1.89878 14.4634C1.53147 15.1737 1.15248 15.8779 0.761963 16.5758H1.49396C1.58641 15.8643 1.72152 15.159 1.89859 14.4638" fill="#05A1E6"/>
|
||||
<path d="M6.95122 7.633L6.93566 7.636L6.90828 7.63993L6.89216 7.64275L6.86328 7.64781L6.85091 7.65081L6.78847 7.66168H6.78134L6.75097 7.66768L6.73578 7.67181L6.70634 7.67762L6.69247 7.681L6.58953 7.70762L6.57772 7.711L6.54659 7.72018L6.53253 7.72412L6.50197 7.73331L6.49072 7.73631L6.41928 7.76143L6.38684 7.77268L6.37334 7.77831L6.34316 7.78956L6.33303 7.79443C4.72841 8.42762 3.81941 10.7676 1.90072 14.4649C1.72328 15.1601 1.58816 15.8654 1.49609 16.5769H1.59866L2.30272 16.5739H2.62578L2.69609 16.5692H2.70059L2.73022 16.5662H2.73716L2.77203 16.5621C4.27203 13.3405 5.89803 10.777 7.51766 9.23518C7.69578 8.83168 7.87147 8.52343 8.06347 8.29018C7.95097 8.10025 7.82797 7.94125 7.69072 7.82593L7.68678 7.82293L7.66391 7.81187L7.64122 7.80043L7.61928 7.78975L7.59322 7.77887L7.57297 7.77006L7.53041 7.75225L7.51222 7.7455L7.48053 7.73275L7.46347 7.72712L7.41941 7.71193H7.41584L7.36484 7.6975L7.35341 7.69393L7.31047 7.68193L7.30053 7.67912C7.26527 7.66999 7.22968 7.66217 7.19384 7.65568L7.18278 7.65268L7.13647 7.64518L7.12728 7.64237L7.07253 7.63506H7.06297L7.02059 7.63037L6.95347 7.63656" fill="url(#paint11_linear_2584_222717)"/>
|
||||
<path d="M17.8708 9.82646C17.5014 11.009 17.2027 11.9846 16.9423 12.7873C17.9553 11.3932 18.9532 9.63971 19.9033 7.61621C18.7946 7.9644 18.2036 8.76127 17.8708 9.82646Z" fill="url(#paint12_linear_2584_222717)"/>
|
||||
<path d="M16.9744 16.0539C16.9228 16.0801 16.8709 16.1051 16.8201 16.1278C18.7903 15.249 21.1408 11.7633 22.2658 7.42383H22.0378C19.4526 12.0421 18.6212 15.1338 16.9744 16.0539Z" fill="url(#paint13_linear_2584_222717)"/>
|
||||
<path d="M15.6877 15.666C16.1165 15.1427 16.4655 14.2532 16.9423 12.7871C16.3924 13.5425 15.8389 14.1919 15.2848 14.7214L15.282 14.726C15.4029 15.0881 15.5355 15.4078 15.6866 15.6658" fill="#079AE1"/>
|
||||
<path d="M15.6878 15.666C15.5419 15.8441 15.3872 15.9797 15.2154 16.0802C15.1779 16.1021 15.1397 16.1228 15.1011 16.1415C15.2875 16.2426 15.4915 16.3069 15.7022 16.3311L15.8004 16.3397H15.8063L15.8535 16.3427H16.0138L16.032 16.3397L16.0674 16.3367H16.0847L16.1231 16.3326H16.1263L16.1381 16.3298L16.1792 16.3234H16.1912L16.2373 16.3157H16.2448L16.3369 16.2962C16.0824 16.2032 15.8696 15.9836 15.6864 15.6711" fill="#1969BC"/>
|
||||
<path d="M12.0553 16.3428C12.2394 16.3428 12.4258 16.3248 12.6127 16.2888C12.7894 16.2558 12.9633 16.209 13.1327 16.1487C13.2772 16.2192 13.4287 16.2717 13.5892 16.3045C13.7137 16.3299 13.8431 16.343 13.9787 16.343H12.0553V16.3428ZM13.9787 16.3428C14.4341 16.3428 14.7949 16.2888 15.101 16.1416C15.2874 16.2427 15.4915 16.3071 15.7022 16.3314L15.8004 16.3398H15.8062L15.8535 16.3428H15.9101H13.9787Z" fill="#1E5CB3"/>
|
||||
<path d="M15.9102 16.3426H16.0153L16.0335 16.3396L16.0693 16.3366H16.0866L16.1248 16.3325H16.128L16.1397 16.3295L16.1807 16.3233L16.1933 16.3205L16.2396 16.313H16.2469L16.339 16.2935C16.428 16.3263 16.5208 16.343 16.6208 16.343L15.9105 16.346L15.9102 16.3426Z" fill="#1D60B5"/>
|
||||
<path d="M15.2833 14.7261V14.7231C15.0891 14.9098 14.8863 15.0875 14.6758 15.2556C14.5723 15.3381 14.4665 15.4176 14.3584 15.494C14.4476 15.6005 14.5382 15.7002 14.6336 15.7911C14.7784 15.9316 14.9331 16.0499 15.102 16.1412C15.1405 16.1223 15.1789 16.1016 15.2162 16.0799C15.3883 15.9794 15.5426 15.8436 15.6887 15.6657C15.5376 15.4077 15.405 15.0878 15.2843 14.726" fill="#175FAB"/>
|
||||
<path d="M21.316 7.42383H20.1683L19.9864 7.43264L19.9018 7.61376C18.9516 9.63745 17.9541 11.391 16.941 12.785C16.4648 14.2509 16.1153 15.1406 15.6866 15.6637C15.8698 15.9765 16.083 16.1962 16.3365 16.2894L16.3564 16.2851H16.3605L16.3746 16.2821L16.4065 16.2742L16.4254 16.2688L16.4537 16.2615L16.4713 16.2564L16.5137 16.2436L16.5347 16.2365L16.5583 16.2279L16.5827 16.2202L16.6026 16.2127L16.6521 16.1953L16.6658 16.1902L16.6961 16.1784L16.7089 16.1737L16.8154 16.1281H16.8191C16.87 16.1058 16.9217 16.0805 16.9731 16.0543C18.6203 15.134 19.4518 12.0425 22.0371 7.42439H21.315L21.316 7.42383Z" fill="url(#paint14_linear_2584_222717)"/>
|
||||
<path d="M7.01868 7.62695L7.03049 7.62995L7.06049 7.63314H7.07061L7.12536 7.64026L7.13455 7.64326L7.18068 7.65095L7.1923 7.65376L7.29861 7.67739L7.30836 7.68039L7.35111 7.69239L7.36293 7.69595L7.41374 7.71039L7.41768 7.71339L7.46211 7.72857L7.47899 7.73401L7.51086 7.74695L7.52886 7.75332L7.57124 7.77095L7.59186 7.77976L7.61736 7.79082L7.63986 7.80151L7.66218 7.81314C7.84574 7.90314 8.01449 8.02332 8.17086 8.16901C8.22861 8.10845 8.28861 8.05407 8.35124 8.00514C8.00943 7.7627 7.62186 7.62451 7.17543 7.62451C7.12368 7.62451 7.07193 7.62751 7.01943 7.63145" fill="#7DCBEC"/>
|
||||
<path d="M8.17017 8.16436C8.26598 8.25343 8.35767 8.3528 8.44429 8.46005C8.52829 8.40174 8.61154 8.34549 8.69498 8.29299C8.58859 8.18584 8.47323 8.08798 8.35017 8.00049C8.28773 8.04924 8.22792 8.10399 8.17017 8.16436Z" fill="#5EC5ED"/>
|
||||
<path d="M6.96899 7.63884L7.12508 7.63222C7.57183 7.63222 7.95901 7.77039 8.30069 8.0127C8.66131 7.7278 9.09758 7.62844 9.70334 7.62844H6.77014L6.96899 7.63884Z" fill="url(#paint15_linear_2584_222717)"/>
|
||||
<path d="M9.70343 7.62892C9.09767 7.62892 8.66234 7.72828 8.30078 8.01318C8.42004 8.09741 8.53553 8.19587 8.64532 8.30566C9.14791 7.98669 9.6448 7.77466 10.1351 7.68285C10.3225 7.64783 10.5089 7.62984 10.6926 7.62984H9.70343V7.62892Z" fill="url(#paint16_linear_2584_222717)"/>
|
||||
<path d="M16.9423 12.7878C17.2031 11.9846 17.5011 11.0094 17.8712 9.82643C18.2044 8.76068 18.7947 7.96381 19.9028 7.61618L19.9883 7.43506C18.1815 7.54325 17.337 8.46237 16.9123 9.82343C16.1691 12.1996 15.7189 13.7399 15.2854 14.7215C15.8389 14.1922 16.3924 13.5425 16.9423 12.7878Z" fill="url(#paint17_linear_2584_222717)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_2584_222717" x1="10.5932" y1="7.55676" x2="10.5932" y2="18.5342" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0994DC"/>
|
||||
<stop offset="0.35" stop-color="#66CEF5"/>
|
||||
<stop offset="0.846" stop-color="#127BCA"/>
|
||||
<stop offset="1" stop-color="#127BCA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_2584_222717" x1="11.0064" y1="7.29273" x2="11.0064" y2="18.5211" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0E76BC"/>
|
||||
<stop offset="0.36" stop-color="#36AEE8"/>
|
||||
<stop offset="0.846" stop-color="#00ADEF"/>
|
||||
<stop offset="1" stop-color="#00ADEF"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_2584_222717" x1="13.2284" y1="16.076" x2="13.2284" y2="7.14174" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#1C63B7"/>
|
||||
<stop offset="0.5" stop-color="#33BDF2"/>
|
||||
<stop offset="1" stop-color="#33BDF2" stop-opacity="0.42"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint3_linear_2584_222717" x1="12.6246" y1="6.11995" x2="12.6246" y2="17.8078" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#166AB8"/>
|
||||
<stop offset="0.4" stop-color="#36AEE8"/>
|
||||
<stop offset="0.846" stop-color="#0798DD"/>
|
||||
<stop offset="1" stop-color="#0798DD"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint4_linear_2584_222717" x1="11.7635" y1="6.21097" x2="11.7635" y2="18.6395" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#124379"/>
|
||||
<stop offset="0.39" stop-color="#1487CB"/>
|
||||
<stop offset="0.78" stop-color="#165197"/>
|
||||
<stop offset="1" stop-color="#165197"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint5_linear_2584_222717" x1="6.6428" y1="9.88034" x2="8.39705" y2="9.88034" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#33BDF2" stop-opacity="0.698"/>
|
||||
<stop offset="1" stop-color="#1DACD8"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint6_linear_2584_222717" x1="19.9273" y1="15.8436" x2="19.9273" y2="7.14044" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#136AB4"/>
|
||||
<stop offset="0.6" stop-color="#59CAF5" stop-opacity="0.549"/>
|
||||
<stop offset="1" stop-color="#59CAF5" stop-opacity="0.235"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint7_linear_2584_222717" x1="0.417025" y1="11.9618" x2="6.92451" y2="11.9618" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#05A1E6" stop-opacity="0.247"/>
|
||||
<stop offset="1" stop-color="#05A1E6"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint8_linear_2584_222717" x1="4.14995" y1="16.068" x2="4.14995" y2="7.15666" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#318ED5"/>
|
||||
<stop offset="1" stop-color="#38A7E4"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint9_linear_2584_222717" x1="4.63022" y1="16.1157" x2="4.63022" y2="7.43113" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#05A1E6"/>
|
||||
<stop offset="1" stop-color="#05A1E6" stop-opacity="0.549"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint10_linear_2584_222717" x1="5.17474" y1="16.5698" x2="5.17474" y2="9.23118" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#1959A6"/>
|
||||
<stop offset="0.5" stop-color="#05A1E6"/>
|
||||
<stop offset="0.918" stop-color="#7EC5EA"/>
|
||||
<stop offset="1" stop-color="#7EC5EA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint11_linear_2584_222717" x1="5.39494" y1="16.084" x2="3.99548" y2="8.14723" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#165096"/>
|
||||
<stop offset="1" stop-color="#0D82CA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint12_linear_2584_222717" x1="18.3774" y1="11.5819" x2="18.3774" y2="7.43417" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#05A1E6"/>
|
||||
<stop offset="0.874" stop-color="#0495D6"/>
|
||||
<stop offset="1" stop-color="#0495D6"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint13_linear_2584_222717" x1="20.3992" y1="7.06683" x2="18.7127" y2="16.6312" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#38A7E4" stop-opacity="0.329"/>
|
||||
<stop offset="0.962" stop-color="#0E88D3"/>
|
||||
<stop offset="1" stop-color="#0E88D3"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint14_linear_2584_222717" x1="18.8074" y1="7.40818" x2="18.8074" y2="16.4568" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#168CD4"/>
|
||||
<stop offset="0.5" stop-color="#1C87CC"/>
|
||||
<stop offset="1" stop-color="#154B8D"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint15_linear_2584_222717" x1="6.56946" y1="6.52504" x2="17.0906" y2="10.8891" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#97D6EE"/>
|
||||
<stop offset="0.703" stop-color="#55C1EA"/>
|
||||
<stop offset="1" stop-color="#55C1EA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint16_linear_2584_222717" x1="9.42988" y1="8.99537" x2="17.7398" y2="5.22846" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#7ACCEC"/>
|
||||
<stop offset="1" stop-color="#3FB7ED"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint17_linear_2584_222717" x1="17.5728" y1="7.90017" x2="17.5728" y2="16.7506" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#1DA7E7"/>
|
||||
<stop offset="1" stop-color="#37ABE7" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 16 KiB |
|
@ -0,0 +1,3 @@
|
|||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8 0C3.58203 0 0 3.67167 0 8.2002C0 11.8238 2.292 14.8969 5.47119 15.981C5.87109 16.0561 6.01709 15.8028 6.01709 15.5866C6.01709 15.3914 6.00977 14.7447 6.00586 14.0601C3.78125 14.5555 3.31103 13.0931 3.31103 13.0931C2.94678 12.1461 2.42284 11.8939 2.42284 11.8939C1.6958 11.3854 2.478 11.3954 2.478 11.3954C3.28122 11.4524 3.70409 12.2402 3.70409 12.2402C4.41797 13.4935 5.57714 13.1311 6.03222 12.9209C6.10494 12.3924 6.31197 12.03 6.54003 11.8258C4.76416 11.6186 2.896 10.9149 2.896 7.77276C2.896 6.87686 3.20802 6.14615 3.71875 5.57207C3.6372 5.36386 3.36181 4.52952 3.79784 3.4009C3.79784 3.4009 4.46875 3.18069 5.99803 4.24175C6.63572 4.05907 7.31981 3.96898 7.99998 3.96597C8.67967 3.96898 9.36423 4.06006 10.0029 4.24274C11.5293 3.18068 12.2012 3.4019 12.2012 3.4019C12.6387 4.53152 12.3633 5.36485 12.2812 5.57207C12.7939 6.14615 13.1035 6.87688 13.1035 7.77276C13.1035 10.9229 11.2324 11.6166 9.4502 11.8198C9.7383 12.0741 9.99317 12.5726 9.99317 13.3373C9.99317 14.4334 9.98242 15.3173 9.98242 15.5876C9.98242 15.8058 10.1279 16.0611 10.5332 15.981C13.71 14.8949 16 11.8218 16 8.2002C16 3.67167 12.418 0 8 0Z" fill="#0077CC"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
4
x-pack/plugins/serverless_search/public/assets/go.svg
Normal file
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.09177 10.2805C2.0462 10.2805 2.03495 10.2576 2.05764 10.2237L2.29633 9.91672C2.31883 9.8826 2.37583 9.85991 2.4212 9.85991H6.47814C6.5237 9.85991 6.53495 9.89404 6.51227 9.92816L6.31914 10.2237C6.29645 10.2576 6.23964 10.2917 6.20552 10.2917L2.09177 10.2805ZM0.375767 11.3258C0.330392 11.3258 0.318954 11.3033 0.341642 11.269L0.580329 10.9622C0.603017 10.9281 0.659829 10.9054 0.705392 10.9054H5.88714C5.93252 10.9054 5.95539 10.9395 5.94395 10.9737L5.85302 11.2463C5.84177 11.2918 5.7962 11.3145 5.75083 11.3145L0.375767 11.3258ZM3.12564 12.3713C3.08027 12.3713 3.06902 12.3372 3.0917 12.303L3.2507 12.019C3.27358 11.9848 3.31895 11.9509 3.36452 11.9509H5.63702C5.68258 11.9509 5.70527 11.9848 5.70527 12.0304L5.68277 12.303C5.68277 12.3486 5.6372 12.3827 5.60308 12.3827L3.12564 12.3713ZM14.9213 10.0759C14.2052 10.2578 13.7166 10.3941 13.0121 10.5758C12.8415 10.6213 12.8303 10.6326 12.6825 10.4622C12.5121 10.269 12.387 10.144 12.1485 10.0303C11.4325 9.67822 10.7393 9.78041 10.0916 10.201C9.31895 10.7008 8.92127 11.4394 8.93252 12.3598C8.94377 13.269 9.56889 14.019 10.4666 14.1441C11.2393 14.2463 11.8871 13.9735 12.3985 13.3941C12.5006 13.269 12.5916 13.1327 12.7052 12.9735H10.512C10.2735 12.9735 10.2167 12.8258 10.2962 12.6327C10.444 12.2803 10.7166 11.6895 10.8756 11.394C10.9099 11.3258 10.9894 11.2122 11.1598 11.2122H15.2961C15.2736 11.5191 15.2736 11.8258 15.228 12.1328C15.103 12.9508 14.7962 13.7008 14.2961 14.3599C13.4779 15.4395 12.4099 16.1098 11.0575 16.2917C9.94389 16.4395 8.90983 16.2235 8.00083 15.5417C7.15989 14.9053 6.6827 14.0644 6.55764 13.0191C6.40989 11.7805 6.77345 10.6667 7.52345 9.68947C8.33027 8.63272 9.39845 7.96222 10.7053 7.72354C11.7735 7.53041 12.7961 7.65547 13.7166 8.28041C14.3188 8.6781 14.7506 9.22354 15.0347 9.8826C15.103 9.98497 15.0576 10.0418 14.9211 10.0757L14.9213 10.0759Z" fill="#00ACD7"/>
|
||||
<path d="M18.6826 16.3602C17.6485 16.3373 16.7052 16.042 15.9098 15.36C15.2393 14.7807 14.8189 14.0419 14.6826 13.1669C14.4781 11.8829 14.8302 10.7464 15.6031 9.73523C16.4326 8.64417 17.4325 8.07605 18.7849 7.83736C19.9439 7.63298 21.0349 7.74661 22.0234 8.41692C22.9212 9.03061 23.4779 9.86011 23.6256 10.951C23.8187 12.4851 23.3757 13.7352 22.3187 14.8034C21.5687 15.5646 20.6483 16.042 19.5916 16.2578C19.2848 16.3146 18.9779 16.326 18.6826 16.3602ZM21.3871 11.7692C21.3758 11.6215 21.3758 11.5079 21.3529 11.3942C21.1486 10.2692 20.1143 9.63286 19.0349 9.88298C17.9779 10.1215 17.2962 10.792 17.0462 11.8602C16.8417 12.7465 17.2735 13.6442 18.0916 14.0078C18.7167 14.2806 19.3416 14.2465 19.9439 13.9397C20.8416 13.4738 21.3302 12.7465 21.3871 11.7692Z" fill="#00ACD7"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
3
x-pack/plugins/serverless_search/public/assets/java.svg
Normal file
|
@ -0,0 +1,3 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.92816 18.3973C5.32966 19.4027 11.1176 21.4796 15.6997 19.5165C14.9492 19.2247 14.4109 18.8882 14.4109 18.8882C12.3677 19.2744 11.4199 19.3048 9.5651 19.0929C8.03435 18.9176 8.92816 18.3973 8.92816 18.3973ZM15.1511 16.4361C12.4429 16.9571 10.8785 16.9404 8.89722 16.7361C7.36516 16.5776 8.3681 15.8351 8.3681 15.8351C4.40491 17.1506 10.5744 18.6433 16.1135 17.0231C15.5248 16.8157 15.1511 16.4361 15.1511 16.4361ZM17.2734 5.07824C17.2736 5.07824 9.26135 7.07868 13.0879 11.4883C14.2174 12.7886 12.7916 13.9577 12.7916 13.9577C12.7916 13.9577 15.6583 12.4781 14.342 10.6245C13.1122 8.89668 12.1695 8.0383 17.2734 5.07824ZM19.148 20.2927C19.148 20.2927 19.8097 20.8384 18.419 21.2601C15.7749 22.0611 7.41166 22.3026 5.08872 21.2921C4.25435 20.9287 5.81979 20.4249 6.31235 20.3186C6.82591 20.2074 7.11916 20.2277 7.11916 20.2277C6.19066 19.5739 1.11672 21.5121 4.54254 22.068C13.884 23.5822 21.5707 21.3861 19.148 20.2927ZM15.9375 14.6053C16.3865 14.2989 17.0068 14.0329 17.0068 14.0329C17.0068 14.0329 15.2398 14.3488 13.4794 14.4967C11.3242 14.6775 9.01254 14.7131 7.8521 14.5579C5.10485 14.1906 9.35829 13.1801 9.35829 13.1801C9.35829 13.1801 7.70604 13.0684 5.67504 14.0509C3.27279 15.2124 11.6171 15.7419 15.9375 14.6053ZM16.9892 17.445C16.9689 17.4994 16.9014 17.5605 16.9014 17.5605C22.7651 16.0191 20.6092 12.1269 17.8055 13.1121C17.5595 13.1991 17.4305 13.4014 17.4305 13.4014C17.4305 13.4014 17.586 13.3387 17.9327 13.2664C19.35 12.9711 21.3806 15.1637 16.9892 17.445ZM12.0339 13.1377C11.1688 11.1823 8.23516 9.47155 12.0352 6.47043C16.7735 2.73036 14.3422 0.297363 14.3422 0.297363C15.3228 4.16136 10.8827 5.32855 9.27991 7.73493C8.18848 9.37461 9.8156 11.1366 12.0339 13.1377ZM17.1478 22.8405C13.5502 23.5177 9.11266 23.4388 6.48148 23.0044C6.48148 23.0044 7.02035 23.4506 9.7901 23.6289C14.0043 23.8984 20.4776 23.4789 20.6306 21.4847C20.6308 21.4847 20.3362 22.2407 17.1478 22.8405Z" fill="#EA2D2E"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2 KiB |
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.875 1.875H22.125V22.1252H1.875V1.875Z" fill="#F0DB4F"/>
|
||||
<path d="M20.4677 17.2954C20.3194 16.3716 19.717 15.5956 17.9326 14.8721C17.3127 14.5872 16.6217 14.3832 16.4158 13.9135C16.3426 13.6401 16.3329 13.4861 16.3792 13.3206C16.512 12.7836 17.1531 12.6162 17.6612 12.7702C17.9884 12.8798 18.2982 13.132 18.485 13.5343C19.3588 12.9685 19.3571 12.9722 19.9672 12.5833C19.7438 12.237 19.6246 12.0772 19.4784 11.929C18.9528 11.342 18.2367 11.0396 17.0914 11.0628L16.4949 11.1399C15.9232 11.2844 15.3784 11.5844 15.0589 11.9867C14.1003 13.0744 14.3737 14.978 15.5401 15.7615C16.6893 16.624 18.3774 16.8202 18.5931 17.6267C18.8029 18.6141 17.8674 18.9338 16.9376 18.8202C16.2524 18.6777 15.8713 18.3294 15.4593 17.6961C14.7009 18.135 14.7009 18.135 13.9212 18.5834C14.1061 18.9876 14.3004 19.1706 14.6103 19.5208C16.0772 21.0087 19.7479 20.9356 20.4063 18.6835C20.4329 18.6062 20.6102 18.0905 20.4677 17.2954V17.2954ZM12.8835 11.182H10.9894L10.9817 16.0788C10.9817 17.1203 11.0356 18.075 10.8662 18.3676C10.5891 18.9431 9.87103 18.8718 9.54378 18.7602C9.21072 18.5965 9.04135 18.3637 8.84513 18.0347C8.79127 17.9402 8.75083 17.8671 8.73724 17.8614L7.19727 18.8045C7.45333 19.3301 7.83056 19.7863 8.31375 20.0826C9.03553 20.5158 10.0056 20.6486 11.0202 20.4157C11.6805 20.2233 12.2502 19.8249 12.5485 19.2185C12.9798 18.4234 12.8872 17.4611 12.8834 16.3967C12.8931 14.6602 12.8835 12.924 12.8835 11.182V11.182Z" fill="#323330"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
11
x-pack/plugins/serverless_search/public/assets/perl.svg
Normal file
|
@ -0,0 +1,11 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2584_222676)">
|
||||
<path d="M22.7197 11.7895C22.7197 5.40547 17.756 0.230469 11.6319 0.230469C5.50851 0.230469 0.543701 5.40547 0.543701 11.7895C0.543701 18.1735 5.50833 23.349 11.6317 23.349C17.7558 23.349 22.7195 18.1735 22.7195 11.7895H22.7197Z" fill="white"/>
|
||||
<path d="M10.0012 23.9094C7.39308 23.448 5.15583 22.2571 3.30689 20.3458C1.73433 18.7205 0.651891 16.6741 0.159891 14.3932C-0.0532969 13.4077 -0.0532969 10.5894 0.159891 9.60445C0.492891 8.06264 1.13902 6.5317 2.02045 5.19652C2.60433 4.31264 4.3132 2.60414 5.1967 2.02008C6.53227 1.13883 8.06414 0.491953 9.60558 0.159891C10.5905 -0.0532969 13.4092 -0.0532969 14.3949 0.159891C16.7962 0.678328 18.7921 1.76264 20.5143 3.48483C22.2369 5.2072 23.3212 7.20258 23.8404 9.60464C24.0528 10.5894 24.0528 13.4077 23.8404 14.3934C23.3212 16.7945 22.2369 18.7899 20.5143 20.5123C18.8197 22.2075 16.8487 23.2895 14.4868 23.8216C13.6492 24.0108 10.8796 24.0648 10.0012 23.9094ZM12.17 21.5146C12.17 20.7283 12.1584 20.6715 12 20.6715C11.8428 20.6715 11.8305 20.7255 11.837 21.4021C11.8451 22.2016 11.9013 22.4469 12.0641 22.3929C12.1393 22.3681 12.17 22.1133 12.17 21.5146ZM10.9031 21.7856C11.1266 21.5613 11.1922 21.4256 11.1922 21.1839C11.1922 20.9371 11.1622 20.8773 11.0491 20.8991C10.971 20.9137 10.8768 21.0416 10.8403 21.1816C10.8039 21.3219 10.6528 21.5386 10.506 21.6635C10.2401 21.8878 10.23 22.0745 10.4825 22.0745C10.5549 22.0745 10.7439 21.9438 10.9031 21.7856ZM13.7049 21.9819C13.7362 21.9315 13.6413 21.7876 13.4945 21.6635C13.3471 21.5386 13.1966 21.3219 13.1602 21.1816C13.1229 21.0416 13.0288 20.9137 12.9506 20.8991C12.8381 20.8773 12.8081 20.9371 12.8081 21.1839C12.8081 21.6731 13.5099 22.298 13.7049 21.9819ZM9.83114 20.4545C9.83114 20.4056 9.71227 20.3004 9.56676 20.2209C8.61914 19.7017 7.50708 18.8754 6.88927 18.2315C5.68308 16.9734 5.13989 15.7213 5.12677 14.1669C5.11777 13.1281 5.25145 12.5863 5.75752 11.616C6.2467 10.6777 6.81333 9.9697 8.37314 8.34952C10.1145 6.53958 10.5153 6.06202 10.8178 5.43708C11.033 4.99327 11.0615 4.83127 11.0915 3.89302C11.1288 2.7277 11.0578 1.92314 10.9177 1.92314C10.8541 1.92314 10.8425 2.22539 10.8783 2.90452C10.9951 5.07802 10.5915 5.75264 8.08608 7.5697C6.3607 8.82108 5.56908 9.50095 4.97114 10.2442C4.12402 11.2961 3.74864 12.2066 3.65527 13.4411C3.42895 16.4163 5.31427 18.9965 8.64089 20.2633C9.37477 20.5421 9.83114 20.616 9.83114 20.4545ZM15.5874 20.2136C16.7308 19.7368 17.6004 19.1608 18.4205 18.3373C19.6706 17.0808 20.1903 15.906 20.2685 14.1669C20.3364 12.6418 20.0056 11.6328 19.0616 10.49C18.4147 9.70758 17.7187 9.14752 15.8415 7.90064C13.3158 6.22195 12.7228 5.55389 12.7228 4.38577C12.7228 4.07489 12.779 3.63464 12.8469 3.40758C12.9637 3.01983 12.9609 2.75264 12.8431 3.05845C12.7323 3.34833 12.4781 3.21539 12.3416 2.79408L12.2103 2.39058L12.2598 2.77308C12.4365 4.13095 12.4586 4.69983 12.3802 5.88839C12.2745 7.49527 12.0772 8.59345 11.5346 10.5901C10.9965 12.5724 10.8995 13.2909 10.9666 14.8044C11.0229 16.0841 11.2018 17.0413 11.618 18.2906C12.0043 19.4499 12.0765 19.5382 12.7871 19.7201C13.1776 19.82 13.548 19.9888 13.8421 20.2012C14.1189 20.4013 14.3956 20.5312 14.5511 20.534C14.6913 20.5363 15.158 20.3925 15.5872 20.2136H15.5874ZM15.3303 19.6368C15.2244 19.5309 15.2741 19.4403 15.6888 18.9819C16.9957 17.5393 17.5815 16.0492 17.5981 14.1245C17.61 12.8133 17.3201 11.9445 16.4356 10.6383C16.0363 10.0477 14.6293 8.57433 13.9488 8.03339C13.4501 7.63702 12.9367 6.96089 12.8454 6.57839C12.7528 6.19064 13.0126 6.29283 13.3134 6.76214C13.461 6.9922 13.7808 7.33027 14.024 7.51289C14.267 7.69608 14.9863 8.23195 15.6223 8.70445C17.8093 10.3303 18.7833 11.7168 19.0016 13.518C19.1287 14.5597 18.9271 15.6367 18.419 16.6368C17.8918 17.6728 16.9308 18.8015 16.1079 19.3513C15.6011 19.6893 15.4411 19.7478 15.3303 19.6368ZM11.0484 19.7463C11.0733 19.682 10.8541 19.271 10.5622 18.8323C9.7882 17.6715 9.45145 17.0311 9.13758 16.1221C8.87245 15.3562 8.85783 15.252 8.85558 14.0816C8.85277 12.3133 9.04402 11.7525 10.4475 9.4222C11.7706 7.22508 11.9503 6.37383 11.8012 2.99358C11.7472 1.78233 11.6866 0.773953 11.6662 0.752953C11.5267 0.613453 11.4967 0.972703 11.5486 2.19108C11.6508 4.61733 11.4939 5.96864 10.9828 7.0777C10.6344 7.83258 10.2444 8.40427 9.19589 9.70308C7.73564 11.51 7.3237 12.4687 7.33102 14.0392C7.33683 15.116 7.48214 15.7783 7.91733 16.6989C8.38833 17.6964 9.25514 18.7031 10.3417 19.5135C10.8418 19.8873 10.9775 19.9318 11.0486 19.7463H11.0484Z" fill="#212178"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2584_222676">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 4.5 KiB |
3
x-pack/plugins/serverless_search/public/assets/php.svg
Normal file
|
@ -0,0 +1,3 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12 6.19482C5.6738 6.19482 0.544922 8.79395 0.544922 12C0.544922 15.2061 5.6738 17.8052 12 17.8052C18.3263 17.8052 23.4552 15.2061 23.4552 12C23.4552 8.79395 18.3263 6.19482 12 6.19482ZM9.01936 13.131C8.74599 13.3868 8.44242 13.4923 8.10811 13.6011C7.7738 13.71 7.34836 13.6875 6.83105 13.6875H5.65861L5.33367 15.5625H3.96473L5.1863 9.18751H7.8188C8.6108 9.18751 9.18849 9.41532 9.55167 9.83101C9.91486 10.2467 10.024 10.8368 9.87924 11.5817C9.81942 11.8886 9.71874 12.174 9.57661 12.4283C9.42933 12.6906 9.24123 12.9278 9.01936 13.131ZM13.0152 13.6875L13.5554 10.9838C13.6169 10.6673 13.5944 10.4321 13.4877 10.3172C13.3808 10.2021 13.1535 10.125 12.8061 10.125H11.7205L11.0209 13.6875H9.66267L10.8842 7.50001H12.2425L11.9177 9.18751H13.1277C13.8891 9.18751 14.4141 9.34032 14.703 9.60582C14.992 9.87132 15.0786 10.2351 14.9631 10.8298L14.3948 13.6875H13.0152ZM20.5637 11.5916C20.5041 11.8986 20.4032 12.1791 20.2613 12.4331C20.1192 12.6876 19.9335 12.9203 19.7042 13.131C19.4309 13.3868 19.1271 13.4923 18.793 13.6011C18.4589 13.71 18.033 13.6875 17.5157 13.6875H16.3433L16.0185 15.5625H14.6496L15.871 9.18751H18.5037C19.2957 9.18751 19.8734 9.41532 20.2364 9.83101C20.5992 10.2467 20.7085 10.8469 20.5637 11.5916ZM17.9849 10.125H17.0472L16.5359 12.75H17.3687C17.9204 12.75 18.3317 12.6956 18.6017 12.4875C18.8721 12.2798 19.0542 11.9573 19.1489 11.4711C19.2396 11.004 19.1984 10.6397 19.0251 10.4477C18.8517 10.2557 18.505 10.125 17.9849 10.125ZM7.30017 10.125H6.3623L5.85098 12.75H6.68367C7.23549 12.75 7.64667 12.6956 7.91686 12.4875C8.18705 12.2798 8.3693 11.9573 8.4638 11.4711C8.55455 11.004 8.5133 10.6397 8.34005 10.4477C8.1668 10.2557 7.8203 10.125 7.30017 10.125Z" fill="#6181B6"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
19
x-pack/plugins/serverless_search/public/assets/python.svg
Normal file
|
@ -0,0 +1,19 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.8858 2.29654C11.0942 2.30029 10.3386 2.3676 9.67335 2.48535C7.71398 2.83147 7.35848 3.55597 7.35848 4.89229V6.65685H11.9884V7.24504H5.62073C4.27523 7.24504 3.09698 8.05372 2.72835 9.59272C2.3031 11.3562 2.28435 12.4568 2.72835 14.2982C3.05741 15.669 3.84341 16.6455 5.1891 16.6455H6.78116V14.5302C6.78116 13.0018 8.10323 11.6539 9.67354 11.6539H14.2982C15.5856 11.6539 16.6131 10.5938 16.6131 9.30116V4.89247C16.6131 3.63754 15.5545 2.69497 14.2982 2.48554C13.5025 2.35316 12.6773 2.29297 11.8858 2.29654ZM9.38198 3.71572C9.8601 3.71572 10.2509 4.11266 10.2509 4.60091C10.2509 5.0871 9.86029 5.48029 9.38198 5.48029C8.90198 5.48029 8.51329 5.0871 8.51329 4.60091C8.5131 4.11266 8.90198 3.71572 9.38198 3.71572Z" fill="url(#paint0_linear_2584_222770)"/>
|
||||
<path d="M17.1903 7.24482V9.30094C17.1903 10.8947 15.8388 12.2363 14.298 12.2363H9.67327C8.40652 12.2363 7.3584 13.3206 7.3584 14.5892V18.9983C7.3584 20.2528 8.44927 20.991 9.67327 21.3508C11.1388 21.7815 12.5443 21.8595 14.298 21.3508C15.4635 21.0131 16.6128 20.334 16.6128 18.9983V17.2335H11.9883V16.6451H18.9281C20.2736 16.6451 20.7753 15.7067 21.2433 14.2978C21.7267 12.8475 21.7059 11.4527 21.2433 9.59232C20.9107 8.25263 20.2756 7.24463 18.9281 7.24463H17.1903V7.24482ZM14.5891 18.4099C15.0693 18.4099 15.458 18.8031 15.458 19.2896C15.458 19.7775 15.0691 20.1744 14.5891 20.1744C14.111 20.1744 13.7205 19.7775 13.7205 19.2896C13.7205 18.8031 14.111 18.4099 14.5891 18.4099Z" fill="url(#paint1_linear_2584_222770)"/>
|
||||
<path opacity="0.444" d="M18.2455 22.4244C18.2455 23.0887 15.4675 23.6274 12.0409 23.6274C8.61418 23.6274 5.83618 23.0887 5.83618 22.4244C5.83618 21.7599 8.61399 21.2212 12.0409 21.2212C15.4675 21.2212 18.2455 21.7597 18.2455 22.4244Z" fill="url(#paint2_radial_2584_222770)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_2584_222770" x1="1.9382" y1="2.84828" x2="12.617" y2="11.9551" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#5A9FD4"/>
|
||||
<stop offset="1" stop-color="#306998"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_2584_222770" x1="16.6347" y1="17.6159" x2="12.8051" y2="12.2455" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFD43B"/>
|
||||
<stop offset="1" stop-color="#FFE873"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="paint2_radial_2584_222770" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.0159 22.3899) rotate(-90) scale(1.20343 5.2901)">
|
||||
<stop stop-color="#B8B8B8" stop-opacity="0.498"/>
|
||||
<stop offset="1" stop-color="#7F7F7F" stop-opacity="0"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
3
x-pack/plugins/serverless_search/public/assets/ruby.svg
Normal file
|
@ -0,0 +1,3 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.93374 18.8694L19.8239 20.4925C18.4639 18.2284 17.139 16.0223 15.8034 13.7981L7.93374 18.8694ZM20.9485 6.3373C20.5973 6.8648 20.2453 7.39186 19.8945 7.91965C18.6896 9.73197 17.4854 11.5447 16.2817 13.3578C16.2147 13.4588 16.1278 13.5389 16.2222 13.6945C17.3851 15.6149 18.5389 17.5409 19.6956 19.4652C19.8781 19.7692 20.0627 20.0719 20.2987 20.3635L21 6.3521L20.9485 6.3373ZM5.07299 12.325C5.12739 12.3765 5.26318 12.4066 5.32644 12.3754C6.44193 11.8271 7.56452 11.2911 8.65564 10.6977C9.01151 10.5043 9.28512 10.1576 9.59167 9.87643C10.6068 8.94548 11.6203 8.01264 12.6333 7.07966C12.6953 7.02235 12.7687 6.96693 12.8057 6.89469C13.1695 6.18352 13.5271 5.46873 13.8974 4.73335C13.4559 4.56738 13.0374 4.40504 12.6136 4.25735C12.5561 4.23733 12.4656 4.27708 12.4034 4.31175C11.4225 4.85971 10.4232 5.3785 9.47358 5.97607C8.99845 6.27507 8.61139 6.71566 8.19067 7.09939C7.51259 7.71828 6.83537 8.33863 6.16715 8.96826C5.98888 9.13729 5.82898 9.3247 5.69014 9.52738C5.23315 10.1928 4.7898 10.8679 4.32614 11.5621C4.58524 11.83 4.82085 12.0862 5.07299 12.325ZM9.14991 11.4152L7.47341 18.4983L15.351 13.4225L9.14991 11.4152ZM20.2672 6.35994L13.572 7.47847L15.8441 13.0053C17.327 10.7771 18.7805 8.59352 20.2672 6.35994ZM9.24305 10.9358L15.3206 12.9088C14.5589 11.0533 13.8234 9.26261 13.0726 7.43408L9.24305 10.9358ZM5.15699 13.6921L3.02989 18.7767L7.08113 18.657L5.15699 13.6921ZM7.129 17.478L7.1792 17.4669C7.66564 15.4444 8.15904 13.4359 8.65564 11.3343L5.4055 13.0236C5.95955 14.4636 6.5503 15.9827 7.129 17.478ZM19.4499 6.03192C18.803 5.86058 18.1561 5.68867 17.5089 5.5185C16.5787 5.2739 15.6477 5.03235 14.7181 4.78557C14.6019 4.75467 14.5179 4.73451 14.4495 4.8745C14.1209 5.54766 13.7822 6.21573 13.4484 6.88642C13.4381 6.90716 13.4402 6.934 13.4323 6.98608L19.4486 6.07428L19.4499 6.03192ZM15.6969 4.50079L20.9694 5.95938L20.0982 3.47713L15.7046 4.45132L15.6969 4.50079ZM7.57598 19.2578C6.923 19.1825 6.2526 19.2517 5.59033 19.2631C5.0463 19.2723 4.50226 19.293 3.95823 19.31C3.90223 19.3117 3.84637 19.323 3.79052 19.3834C8.28831 19.7992 12.7859 20.215 17.2836 20.6311L17.2927 20.571L12.9673 19.9805C11.1707 19.7352 9.3771 19.4654 7.57598 19.2578ZM3.11882 17.2248C3.6984 15.88 4.27551 14.5342 4.85741 13.1904C4.91558 13.0556 4.91108 12.9641 4.7972 12.8556C4.55376 12.6239 4.32759 12.3742 4.06152 12.0974C3.70188 13.8731 3.35108 15.6049 3 17.3365L3.03932 17.3549C3.06615 17.3119 3.09894 17.2711 3.11882 17.2248ZM14.5421 4.14579C15.5195 3.89365 16.5111 3.69649 17.4969 3.47655C17.5607 3.46219 17.6231 3.44115 17.6859 3.42317L17.6762 3.375L13.4408 3.94486C13.8385 4.11851 14.1449 4.24821 14.5421 4.14579Z" fill="#D91404"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
3
x-pack/plugins/serverless_search/public/assets/rust.svg
Normal file
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 71 KiB |
|
@ -5,8 +5,9 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { CoreSetup, CoreStart, Plugin } from '@kbn/core/public';
|
||||
import { AppMountParameters, CoreSetup, CoreStart, Plugin } from '@kbn/core/public';
|
||||
import { createServerlessSearchSideNavComponent as createComponent } from './layout/nav';
|
||||
import { docLinks } from '../common/doc_links';
|
||||
import {
|
||||
ServerlessSearchPluginSetup,
|
||||
ServerlessSearchPluginSetupDependencies,
|
||||
|
@ -18,9 +19,21 @@ export class ServerlessSearchPlugin
|
|||
implements Plugin<ServerlessSearchPluginSetup, ServerlessSearchPluginStart>
|
||||
{
|
||||
public setup(
|
||||
_core: CoreSetup,
|
||||
core: CoreSetup,
|
||||
_setupDeps: ServerlessSearchPluginSetupDependencies
|
||||
): ServerlessSearchPluginSetup {
|
||||
core.application.register({
|
||||
id: 'serverlessElasticsearch',
|
||||
title: 'Elasticsearch',
|
||||
appRoute: '/app/elasticsearch',
|
||||
async mount({ element }: AppMountParameters) {
|
||||
const { renderApp } = await import('./application');
|
||||
const [coreStart] = await core.getStartServices();
|
||||
docLinks.setDocLinks(coreStart.docLinks.links);
|
||||
|
||||
return await renderApp(element, coreStart);
|
||||
},
|
||||
});
|
||||
return {};
|
||||
}
|
||||
|
||||
|
|
|
@ -20,5 +20,9 @@
|
|||
"@kbn/enterprise-search-plugin",
|
||||
"@kbn/management-plugin",
|
||||
"@kbn/shared-ux-chrome-navigation",
|
||||
"@kbn/doc-links",
|
||||
"@kbn/i18n",
|
||||
"@kbn/kibana-react-plugin",
|
||||
"@kbn/i18n-react",
|
||||
]
|
||||
}
|
||||
|
|