/*! 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. */ (window.serverlessSearch_bundle_jsonpfunction=window.serverlessSearch_bundle_jsonpfunction||[]).push([[2],{44:function(e,t,s){switch(window.__kbnThemeTag__){case"v8dark":return s(45);case"v8light":return s(47)}},45:function(e,t,s){var a=s(25),r=s(46);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);a(r,{insert:"head",singleton:!1}),e.exports=r.locals||{}},46:function(e,t,s){(t=s(26)(!1)).push([e.i,".serverlessSearchHeaderSection{background-color:#36a2ef}.serverlessSearchHeaderSection>div{padding-bottom:0;padding-top:0}.serverlessSearchFooterCardsSection{background-color:#36a2ef;padding-bottom:32px;padding-top:32px}.serverlessSearchFooterCard--wrapper{position:relative}.serverlessSearchFooterCard--background{z-index:1}.serverlessSearchFooterCard--iconWrapper{align-items:center;display:inlineFlex;height:100%;justify-content:center;left:0;padding:20px;position:absolute;top:0;width:100%;z-index:2}.serverlessSearchFooter{background-color:#7dded8;padding-bottom:32px;padding-top:32px}",""]),e.exports=t},47:function(e,t,s){var a=s(25),r=s(48);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);a(r,{insert:"head",singleton:!1}),e.exports=r.locals||{}},48:function(e,t,s){(t=s(26)(!1)).push([e.i,".serverlessSearchHeaderSection{background-color:#07c}.serverlessSearchHeaderSection>div{padding-bottom:0;padding-top:0}.serverlessSearchFooterCardsSection{background-color:#07c;padding-bottom:32px;padding-top:32px}.serverlessSearchFooterCard--wrapper{position:relative}.serverlessSearchFooterCard--background{z-index:1}.serverlessSearchFooterCard--iconWrapper{align-items:center;display:inlineFlex;height:100%;justify-content:center;left:0;padding:20px;position:absolute;top:0;width:100%;z-index:2}.serverlessSearchFooter{background-color:#00bfb3;padding-bottom:32px;padding-top:32px}",""]),e.exports=t},50:function(e,t,s){"use strict";s.r(t),s.d(t,"ElasticsearchOverview",(function(){return L}));var a=s(3),r=s(2),i=s(24),l=s(1),n=s.n(l),c=s(8),o=s(32),u=s(28),d=s(27),j=s(29),p=s(33),x=(s(44),s(18)),b=s(0),g=s(20),h=s(30);r.i18n.translate("xpack.serverlessSearch.learnMore",{defaultMessage:"Learn more"});const O=r.i18n.translate("xpack.serverlessSearch.cancel",{defaultMessage:"Cancel"}),f=(r.i18n.translate("xpack.serverlessSearch.back",{defaultMessage:"Back"}),r.i18n.translate("xpack.serverlessSearch.next",{defaultMessage:"Next"}),r.i18n.translate("xpack.serverlessSearch.required",{defaultMessage:"Required"})),S=(r.i18n.translate("xpack.serverlessSearch.optional",{defaultMessage:"Optional"}),r.i18n.translate("xpack.serverlessSearch.enabled",{defaultMessage:"Enabled"})),m=r.i18n.translate("xpack.serverlessSearch.disabled",{defaultMessage:"Disabled"}),y=r.i18n.translate("xpack.serverlessSearch.invalidJsonError",{defaultMessage:"Invalid JSON"});var E=s(23);const v=({isLoading:e,name:t,user:s,expires:i,onChangeName:l,onChangeExpires:n})=>{let c;return i&&(c=new Date,c.setDate(c.getDate()+parseInt(i,10))),Object(b.jsx)(a.EuiForm,null,Object(b.jsx)(a.EuiFormRow,{fullWidth:!0,isInvalid:!t,helpText:r.i18n.translate("xpack.serverlessSearch.apiKey.nameFieldHelpText",{defaultMessage:"A good name makes it clear what your API key does."}),label:r.i18n.translate("xpack.serverlessSearch.apiKey.nameFieldLabel",{defaultMessage:"Name"})},Object(b.jsx)(a.EuiFieldText,{fullWidth:!0,isLoading:e,value:t,onChange:e=>l(e.currentTarget.value)})),Object(b.jsx)(a.EuiFormRow,{fullWidth:!0,helpText:r.i18n.translate("xpack.serverlessSearch.apiKey.userFieldHelpText",{defaultMessage:"ID of the user creating the API key."}),label:r.i18n.translate("xpack.serverlessSearch.apiKey.userFieldLabel",{defaultMessage:"User"})},Object(b.jsx)(a.EuiFieldText,{fullWidth:!0,disabled:!0,value:s,onChange:e=>l(e.currentTarget.value)})),Object(b.jsx)(a.EuiFormRow,{fullWidth:!0,labelAppend:Object(b.jsx)(a.EuiFlexGroup,{gutterSize:"s",justifyContent:"flexEnd",alignItems:"center"},Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiIcon,{type:"warning",size:"s",color:"subdued"})),Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiText,{color:"subdued",size:"xs"},r.i18n.translate("xpack.serverlessSearch.apiKey.expiresFieldHelpText",{defaultMessage:"API keys should be rotated regularly."})))),label:r.i18n.translate("xpack.serverlessSearch.apiKey.expiresFieldLabel",{defaultMessage:"Expires"})},Object(b.jsx)(a.EuiRadioGroup,{options:[{id:"never",label:r.i18n.translate("xpack.serverlessSearch.apiKey.expiresField.neverLabel",{defaultMessage:"Never"})},{id:"days",label:r.i18n.translate("xpack.serverlessSearch.apiKey.expiresField.daysLabel",{defaultMessage:"in days"})}],idSelected:null===i?"never":"days",onChange:e=>n("never"===e?null:"60")})),null!==i&&Object(b.jsx)(a.EuiFormRow,{fullWidth:!0,helpText:Object(b.jsx)(x.FormattedMessage,{id:"xpack.serverlessSearch.apiKey.expiresHelpText",defaultMessage:"This API Key will expire on {expirationDate}",values:{expirationDate:Object(b.jsx)("strong",null,Object(b.jsx)(x.FormattedDate,{year:"numeric",month:"long",day:"numeric",value:c}))}})},Object(b.jsx)(a.EuiFieldNumber,{fullWidth:!0,disabled:e,append:r.i18n.translate("xpack.serverlessSearch.apiKey.expiresFieldUnit",{defaultMessage:"days"}),placeholder:"1",defaultValue:i,min:1,onChange:e=>n(e.currentTarget.value)})))};var k=s(19);const C=({metadata:e,onChangeMetadata:t,error:s})=>Object(b.jsx)(n.a.Fragment,null,Object(b.jsx)(a.EuiLink,{href:c.a.metadata,target:"_blank"},r.i18n.translate("xpack.serverlessSearch.apiKey.metadataLinkLabel",{defaultMessage:"Learn how to structure role metadata"})),Object(b.jsx)(a.EuiSpacer,null),s&&Object(b.jsx)(a.EuiText,{size:"s",color:"danger"},Object(b.jsx)("p",null,s)),Object(b.jsx)(k.CodeEditorField,{allowFullScreen:!0,fullWidth:!0,height:"600px",languageId:"json",isCopyable:!0,onChange:e=>t(e),value:e})),F=({roleDescriptors:e,onChangeRoleDescriptors:t,error:s})=>Object(b.jsx)(n.a.Fragment,null,Object(b.jsx)(a.EuiLink,{href:c.a.roleDescriptors,target:"_blank"},r.i18n.translate("xpack.serverlessSearch.apiKey.roleDescriptorsLinkLabel",{defaultMessage:"Learn how to structure role descriptors"})),Object(b.jsx)(a.EuiSpacer,null),s&&Object(b.jsx)(a.EuiText,{size:"s",color:"danger"},Object(b.jsx)("p",null,s)),Object(b.jsx)(k.CodeEditorField,{allowFullScreen:!0,fullWidth:!0,height:"600px",languageId:"json",isCopyable:!0,onChange:e=>t(e),value:e})),I='{\n "serverless_search": {\n "indices": [{\n "names": ["*"],\n "privileges": [\n "all"\n ]\n }]\n }\n}',M='{\n "application": "myapp"\n}',w=({onClose:e,username:t,setApiKey:s})=>{const{euiTheme:i}=Object(a.useEuiTheme)(),{http:n}=Object(u.a)(),[c,o]=Object(l.useState)(""),[d,j]=Object(l.useState)("60"),[p,x]=Object(l.useState)(I),[k,w]=Object(l.useState)(void 0),[T,z]=Object(l.useState)(M),[P,K]=Object(l.useState)(void 0),[B,L]=Object(l.useState)(!1),[_,A]=Object(l.useState)("closed"),[D,N]=Object(l.useState)(!1),[G,R]=Object(l.useState)("closed"),{isLoading:q,isError:U,error:W,mutate:$}=Object(g.useMutation)({mutationFn:async e=>await n.post(h.a,{body:JSON.stringify(e)}),onSuccess:t=>{s(t),e()}}),H=(e=>{if(e)return(e=>Object(E.has)("body.message",e))(e)?e.body.message:e instanceof Error?e.message:JSON.stringify(e)})(W);return Object(b.jsx)(a.EuiFlyout,{onClose:e,css:Object(b.css)("max-width:calc(",i.size.xxxxl," * 10);","")},Object(b.jsx)(a.EuiFlyoutHeader,{hasBorder:!0},Object(b.jsx)(a.EuiTitle,{size:"m"},Object(b.jsx)("h2",null,r.i18n.translate("xpack.serverlessSearch.apiKey.flyoutTitle",{defaultMessage:"Create an API key"})))),Object(b.jsx)(a.EuiFlyoutBody,null,U&&H&&Object(b.jsx)(a.EuiCallOut,{color:"danger",iconType:"warning",title:r.i18n.translate("xpack.serverlessSearch.apiKey.flyout.errorTitle",{defaultMessage:"Error creating API key"})},H),Object(b.jsx)(a.EuiPanel,{hasBorder:!0},Object(b.jsx)(a.EuiAccordion,{id:"apiKey.setup",paddingSize:"l",initialIsOpen:!0,buttonContent:Object(b.jsx)("div",null,Object(b.jsx)(a.EuiFlexGroup,{justifyContent:"flexStart",alignItems:"center",gutterSize:"s"},Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiIcon,{type:"gear"})),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiTitle,{size:"xs"},Object(b.jsx)("h4",null,r.i18n.translate("xpack.serverlessSearch.apiKey.setup.title",{defaultMessage:"Setup"}))))),Object(b.jsx)(a.EuiSpacer,{size:"xs"}),Object(b.jsx)(a.EuiText,{color:"subdued",size:"xs"},Object(b.jsx)("p",null,r.i18n.translate("xpack.serverlessSearch.apiKey.setup.description",{defaultMessage:"Basic configuration details to create your API key."})))),extraAction:Object(b.jsx)(a.EuiBadge,{color:"hollow"},f)},Object(b.jsx)(a.EuiSpacer,{size:"s"}),Object(b.jsx)(v,{isLoading:q,name:c,user:t,expires:d,onChangeName:e=>o(e),onChangeExpires:e=>j(e)}))),Object(b.jsx)(a.EuiSpacer,{size:"l"}),Object(b.jsx)(a.EuiPanel,{hasBorder:!0},Object(b.jsx)(a.EuiAccordion,{id:"apiKey.privileges",paddingSize:"l",buttonContent:Object(b.jsx)("div",{style:{paddingRight:i.size.s}},Object(b.jsx)(a.EuiFlexGroup,{justifyContent:"flexStart",alignItems:"center",gutterSize:"s"},Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiIcon,{type:"lock"})),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiTitle,{size:"xs"},Object(b.jsx)("h4",null,r.i18n.translate("xpack.serverlessSearch.apiKey.privileges.title",{defaultMessage:"Security Privileges"}))))),Object(b.jsx)(a.EuiSpacer,{size:"xs"}),Object(b.jsx)(a.EuiText,{color:"subdued",size:"xs"},Object(b.jsx)("p",null,r.i18n.translate("xpack.serverlessSearch.apiKey.privileges.description",{defaultMessage:"Control access to specific Elasticsearch APIs and resources using predefined roles or custom privileges per API key."})))),extraAction:Object(b.jsx)(a.EuiSwitch,{label:B?S:m,checked:B,onChange:e=>{const t=e.target.checked;L(t),A(t?"open":"closed"),t&&x(I)}}),forceState:_,onToggle:e=>{B&&A(e?"open":"closed")}},Object(b.jsx)(a.EuiSpacer,{size:"s"}),Object(b.jsx)(F,{roleDescriptors:p,onChangeRoleDescriptors:x,error:k}))),Object(b.jsx)(a.EuiSpacer,{size:"l"}),Object(b.jsx)(a.EuiPanel,{hasBorder:!0},Object(b.jsx)(a.EuiAccordion,{id:"apiKey.metadata",paddingSize:"l",buttonContent:Object(b.jsx)("div",{style:{paddingRight:i.size.s}},Object(b.jsx)(a.EuiFlexGroup,{justifyContent:"flexStart",alignItems:"center",gutterSize:"s"},Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiIcon,{type:"visVega"})),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiTitle,{size:"xs"},Object(b.jsx)("h4",null,r.i18n.translate("xpack.serverlessSearch.apiKey.metadata.title",{defaultMessage:"Metadata"}))))),Object(b.jsx)(a.EuiSpacer,{size:"xs"}),Object(b.jsx)(a.EuiText,{color:"subdued",size:"xs"},Object(b.jsx)("p",null,r.i18n.translate("xpack.serverlessSearch.apiKey.metadata.description",{defaultMessage:"Use configurable key-value pairs to add information about the API key or customize Elasticsearch resource access."})))),extraAction:Object(b.jsx)(a.EuiSwitch,{label:D?S:m,checked:D,onChange:e=>{const t=e.target.checked;N(t),R(t?"open":"closed"),t&&z(M)}}),forceState:G,onToggle:e=>{D&&R(e?"open":"closed")}},Object(b.jsx)(a.EuiSpacer,{size:"s"}),Object(b.jsx)(C,{metadata:T,onChangeMetadata:z,error:P})))),Object(b.jsx)(a.EuiFlyoutFooter,null,Object(b.jsx)(a.EuiFlexGroup,{justifyContent:"spaceBetween"},Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiButtonEmpty,{isDisabled:q,onClick:e},O)),Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiFlexGroup,{justifyContent:"flexEnd"},Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiButton,{fill:!0,disabled:!c,isLoading:q,onClick:()=>{let e,t;if(B)try{e=p.length>0?JSON.parse(p):void 0}catch(e){return void w(y)}if(k&&w(void 0),D)try{t=T.length>0?JSON.parse(T):void 0}catch(e){return void K(y)}P&&K(void 0),$({expiration:null!==d?`${d}d`:void 0,metadata:t,name:c,role_descriptors:e})}},r.i18n.translate("xpack.serverlessSearch.apiKey.flyOutCreateLabel",{defaultMessage:"Create API Key"}))))))))};var T={name:"26bywx",styles:"overflow-wrap:anywhere"},z={name:"1e25on7",styles:".euiStep__content{padding-bottom:0;}"},P={name:"1e25on7",styles:".euiStep__content{padding-bottom:0;}"},K={name:"1e25on7",styles:".euiStep__content{padding-bottom:0;}"};const B=({setClientApiKey:e})=>{const{cloud:t,http:s,userProfile:i}=Object(u.a)(),[c,o]=Object(l.useState)(!1),{data:d}=Object(g.useQuery)({queryKey:["apiKey"],queryFn:()=>s.fetch("/internal/serverless_search/api_keys")}),[j,p]=Object(l.useState)(void 0);return Object(b.jsx)(n.a.Fragment,null,c&&Object(b.jsx)(w,{onClose:()=>o(!1),setApiKey:t=>{p(t),t.encoded&&e(t.encoded)},username:i.user.full_name||i.user.username}),j?Object(b.jsx)(a.EuiPanel,{color:"success"},Object(b.jsx)(a.EuiStep,{css:K,status:"complete",headingElement:"h3",title:r.i18n.translate("xpack.serverlessSearch.apiKey.apiKeyStepTitle",{defaultMessage:"Store this API key"}),titleSize:"xs"},Object(b.jsx)(a.EuiText,null,r.i18n.translate("xpack.serverlessSearch.apiKey.apiKeyStepDescription",{defaultMessage:"You'll only see this key once, so save it somewhere safe. We don't store your API keys, so if you lose a key you'll need to generate a replacement."})),Object(b.jsx)(a.EuiSpacer,{size:"s"}),Object(b.jsx)(a.EuiCodeBlock,{isCopyable:!0},JSON.stringify(j,void 0,2)))):Object(b.jsx)(a.EuiPanel,null,Object(b.jsx)(a.EuiStep,{css:P,status:"incomplete",headingElement:"h3",title:r.i18n.translate("xpack.serverlessSearch.apiKey.stepOneTitle",{defaultMessage:"Generate and store your API key"}),titleSize:"xs"},Object(b.jsx)(a.EuiText,{size:"s"},r.i18n.translate("xpack.serverlessSearch.apiKey.stepOneDescription",{defaultMessage:"Unique identifier for authentication and authorization. "})),Object(b.jsx)(a.EuiSpacer,{size:"l"}),Object(b.jsx)(a.EuiFlexGroup,{justifyContent:"spaceBetween",alignItems:"center"},Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiFlexGroup,null,Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)("span",null,Object(b.jsx)(a.EuiButton,{iconType:"plusInCircleFilled",size:"s",fill:!0,onClick:()=>o(!0)},Object(b.jsx)(a.EuiText,{size:"s"},r.i18n.translate("xpack.serverlessSearch.apiKey.newButtonLabel",{defaultMessage:"New"}))))),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)("span",null,Object(b.jsx)(a.EuiButton,{iconType:"popout",size:"s",href:s.basePath.prepend(h.c),target:"_blank"},r.i18n.translate("xpack.serverlessSearch.apiKey.manageLabel",{defaultMessage:"Manage"})))))),Object(b.jsx)(a.EuiFlexItem,null,!(null==d||!d.apiKeys)&&Object(b.jsx)(a.EuiFlexGroup,{gutterSize:"s",justifyContent:"flexEnd",alignItems:"center"},Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiIcon,{size:"s",type:"iInCircle",color:"subdued"})),Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiText,{size:"xs",color:"subdued"},Object(b.jsx)(x.FormattedMessage,{id:"xpack.serverlessSearch.apiKey.activeKeys",defaultMessage:"You have {number} active keys.",values:{number:Object(b.jsx)(a.EuiBadge,{color:d.apiKeys.length>0?"success":"warning"},d.apiKeys.length)}})))))))),Object(b.jsx)(a.EuiSpacer,null),Object(b.jsx)(a.EuiSplitPanel.Outer,null,Object(b.jsx)(a.EuiSplitPanel.Inner,null,Object(b.jsx)(a.EuiStep,{css:z,headingElement:"h3",step:2,status:"incomplete",title:r.i18n.translate("xpack.serverlessSearch.apiKey.stepTwoTitle",{defaultMessage:"Store your unique Cloud ID"}),titleSize:"xs"},Object(b.jsx)(a.EuiText,null,r.i18n.translate("xpack.serverlessSearch.apiKey.stepTwoDescription",{defaultMessage:"Unique identifier for specific project. "})))),Object(b.jsx)(a.EuiThemeProvider,{colorMode:"dark"},Object(b.jsx)(a.EuiSplitPanel.Inner,{paddingSize:"none"},Object(b.jsx)(a.EuiCodeBlock,{isCopyable:!0,fontSize:"m",css:T},t.cloudId)))))},L=()=>{const[e,t]=Object(l.useState)(j.a),[s,n]=Object(l.useState)(d.a),{application:x,cloud:g,http:h,userProfile:O,share:f}=Object(u.a)(),{navigateToApp:S}=x,m=Object(l.useMemo)((()=>{var e;return null!==(e=null==g?void 0:g.elasticsearchUrl)&&void 0!==e?e:d.b}),[g]),y=h.basePath.prepend(`/plugins/${o.a}/assets/`),E={url:m,apiKey:s};return Object(b.jsx)(a.EuiPageTemplate,{offset:0,grow:!0,restrictWidth:!0,"data-test-subj":"svlSearchOverviewPage"},Object(b.jsx)(a.EuiPageTemplate.Section,{alignment:"top",className:"serverlessSearchHeaderSection"},Object(b.jsx)(a.EuiText,{color:"ghost"},Object(b.jsx)(i.h,{userProfile:O,assetBasePath:y}))),Object(b.jsx)(a.EuiPageTemplate.Section,{color:"subdued",bottomBorder:"extended"},Object(b.jsx)(i.g,{docLinks:c.a,http:h},p.a.map(((s,r)=>Object(b.jsx)(a.EuiFlexItem,{key:`panelItem.${r}`},Object(b.jsx)(i.d,{language:s,setSelectedLanguage:t,isSelectedLanguage:e===s,assetBasePath:y})))))),Object(b.jsx)(a.EuiPageTemplate.Section,{color:"subdued",bottomBorder:"extended"},Object(b.jsx)(i.c,{codeSnippet:Object(i.j)(e,"installClient",E),consoleRequest:Object(i.i)("installClient"),languages:p.a,language:e,setSelectedLanguage:t,assetBasePath:y,application:x,sharePlugin:f})),Object(b.jsx)(a.EuiPageTemplate.Section,{color:"subdued",bottomBorder:"extended"},Object(b.jsx)(i.f,{description:r.i18n.translate("xpack.serverlessSearch.apiKey.description",{defaultMessage:"You'll need these unique identifiers to securely connect to your Elasticsearch project."}),leftPanelContent:Object(b.jsx)(B,{setClientApiKey:n}),links:[{href:c.a.securityApis,label:r.i18n.translate("xpack.serverlessSearch.configureClient.basicConfigLabel",{defaultMessage:"Basic configuration"})}],title:r.i18n.translate("xpack.serverlessSearch.apiKey.title",{defaultMessage:"Store your API key and Cloud ID"})})),Object(b.jsx)(a.EuiPageTemplate.Section,{color:"subdued",bottomBorder:"extended"},Object(b.jsx)(i.f,{description:r.i18n.translate("xpack.serverlessSearch.configureClient.description",{defaultMessage:"Initialize your client with your unique API key and Cloud ID"}),leftPanelContent:Object(b.jsx)(i.a,{languages:p.a,codeSnippet:Object(i.j)(e,"configureClient",E),consoleRequest:Object(i.i)("configureClient"),selectedLanguage:e,setSelectedLanguage:t,assetBasePath:y,application:x,sharePlugin:f}),links:[...e.basicConfig?[{href:e.basicConfig,label:r.i18n.translate("xpack.serverlessSearch.configureClient.basicConfigLabel",{defaultMessage:"Basic configuration"})}]:[]],title:r.i18n.translate("xpack.serverlessSearch.configureClient.title",{defaultMessage:"Configure your client"})})),Object(b.jsx)(a.EuiPageTemplate.Section,{color:"subdued",bottomBorder:"extended"},Object(b.jsx)(i.f,{description:r.i18n.translate("xpack.serverlessSearch.testConnection.description",{defaultMessage:"Send a test request to confirm your language client and Elasticsearch instance are up and running."}),leftPanelContent:Object(b.jsx)(i.a,{languages:p.a,codeSnippet:Object(i.j)(e,"testConnection",E),consoleRequest:Object(i.i)("testConnection"),selectedLanguage:e,setSelectedLanguage:t,assetBasePath:y,application:x,sharePlugin:f}),links:[],title:r.i18n.translate("xpack.serverlessSearch.testConnection.title",{defaultMessage:"Test your connection"})})),Object(b.jsx)(a.EuiPageTemplate.Section,{color:"subdued",bottomBorder:"extended"},Object(b.jsx)(i.b,{codeSnippet:Object(i.j)(e,"ingestData",E),consoleRequest:Object(i.i)("ingestData"),languages:p.a,selectedLanguage:e,setSelectedLanguage:t,assetBasePath:y,docLinks:c.a,application:x,sharePlugin:f})),Object(b.jsx)(a.EuiPageTemplate.Section,{color:"subdued",bottomBorder:"extended"},Object(b.jsx)(i.f,{description:r.i18n.translate("xpack.serverlessSearch.searchQuery.description",{defaultMessage:"Now you're ready to start experimenting with searching and performing aggregations on your Elasticsearch data."}),leftPanelContent:Object(b.jsx)(i.a,{languages:p.a,codeSnippet:Object(i.j)(e,"buildSearchQuery",E),consoleRequest:Object(i.i)("buildSearchQuery"),selectedLanguage:e,setSelectedLanguage:t,assetBasePath:y,application:x,sharePlugin:f}),links:[],title:r.i18n.translate("xpack.serverlessSearch.searchQuery.title",{defaultMessage:"Build your first search query"})})),Object(b.jsx)(a.EuiPageTemplate.Section,{alignment:"top",className:"serverlessSearchFooterCardsSection"},Object(b.jsx)(a.EuiFlexGroup,{justifyContent:"center",alignItems:"center"},Object(b.jsx)(a.EuiFlexItem,{grow:!1},Object(b.jsx)(a.EuiTitle,{size:"l"},Object(b.jsx)("h1",null,Object(b.jsx)(a.EuiTextColor,{color:"ghost"},r.i18n.translate("xpack.serverlessSearch.footer.title",{defaultMessage:"What's next?"})))))),Object(b.jsx)(a.EuiSpacer,null),Object(b.jsx)(a.EuiFlexGroup,{gutterSize:"xl"},Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiCard,{paddingSize:"xl",textAlign:"left",title:r.i18n.translate("xpack.serverlessSearch.footer.discoverCard.title",{defaultMessage:"Explore and visualize your data in Discover"}),description:r.i18n.translate("xpack.serverlessSearch.footer.discoverCard.description",{defaultMessage:"With Discover, you can quickly search and filter your data, get information about the structure of the fields, and display your findings in a visualization."}),footer:Object(b.jsx)(a.EuiFlexGroup,null,Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiButton,{color:"primary",onClick:()=>S("discover")},r.i18n.translate("xpack.serverlessSearch.footer.discoverCard.buttonText",{defaultMessage:"Explore data in Discover"})))),image:Object(b.jsx)(_,{iconSrc:`${y}discover_icon.png`,backgroundSrc:`${y}discover_bg.png`})})),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiCard,{paddingSize:"xl",textAlign:"left",title:r.i18n.translate("xpack.serverlessSearch.footer.pipelinesCard.title",{defaultMessage:"Transform your data using pipelines"}),description:r.i18n.translate("xpack.serverlessSearch.footer.pipelinesCard.description",{defaultMessage:"Preprocess data before indexing into Elasticsearch. Remove fields, extract values from text, or enrich your data with machine learning models like ELSER."}),footer:Object(b.jsx)(a.EuiFlexGroup,null,Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiButton,{color:"primary",onClick:()=>S("management",{path:"/ingest/ingest_pipelines"})},r.i18n.translate("xpack.serverlessSearch.footer.pipelinesCard.buttonText",{defaultMessage:"Configure your ingest pipelines"})))),image:Object(b.jsx)(_,{iconSrc:`${y}transform_icon.png`,backgroundSrc:`${y}transform_bg.png`})})),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiCard,{paddingSize:"xl",textAlign:"left",title:r.i18n.translate("xpack.serverlessSearch.footer.searchUI.title",{defaultMessage:"Build a user interface with Search UI"}),description:r.i18n.translate("xpack.serverlessSearch.footer.searchUI.description",{defaultMessage:"Search UI is a free and open source JavaScript library maintained by Elastic for the fast development of modern, engaging search experiences."}),footer:Object(b.jsx)(a.EuiFlexGroup,null,Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiButton,{color:"primary"},r.i18n.translate("xpack.serverlessSearch.footer.searchUI.buttonText",{defaultMessage:"Build with Search UI"})))),image:Object(b.jsx)(_,{iconSrc:`${y}searchui_icon.png`,backgroundSrc:`${y}searchui_bg.png`})})))),Object(b.jsx)(a.EuiPageTemplate.Section,{alignment:"top",className:"serverlessSearchFooter"},Object(b.jsx)(a.EuiFlexGroup,{gutterSize:"l"},g.usersAndRolesUrl&&Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(A,{href:g.usersAndRolesUrl,imgSrc:`${y}invite_users_icon.png`,title:r.i18n.translate("xpack.serverlessSearch.footer.inviteUsers.title",{defaultMessage:"Invite more users"})})),g.billingUrl&&Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(A,{href:g.billingUrl,imgSrc:`${y}billing_icon.png`,title:r.i18n.translate("xpack.serverlessSearch.footer.billing.title",{defaultMessage:"Billing and usage"})})),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(A,{href:"https://www.elastic.co/community/",imgSrc:`${y}community_icon.png`,title:r.i18n.translate("xpack.serverlessSearch.footer.community.title",{defaultMessage:"Join the community"})})),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(A,{href:c.a.kibanaFeedback,imgSrc:`${y}feedback_icon.png`,title:r.i18n.translate("xpack.serverlessSearch.footer.feedback.title",{defaultMessage:"Give feedback"})})))))},_=({iconSrc:e,backgroundSrc:t})=>Object(b.jsx)("div",{className:"serverlessSearchFooterCard--wrapper"},Object(b.jsx)("img",{src:t,alt:"",className:"serverlessSearchFooterCard--Background"}),Object(b.jsx)(a.EuiImage,{size:250,src:e,alt:"",wrapperProps:{className:"serverlessSearchFooterCard--iconWrapper"},style:{width:"auto",height:"100%",inlineSize:"auto"}})),A=({href:e,imgSrc:t,title:s})=>Object(b.jsx)(a.EuiLink,{href:e,target:"_blank",external:!1},Object(b.jsx)(a.EuiFlexGroup,{direction:"column",alignItems:"center"},Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiImage,{size:120,src:t,alt:""})),Object(b.jsx)(a.EuiFlexItem,null,Object(b.jsx)(a.EuiText,{color:"ghost"},Object(b.jsx)("h5",null,s)))))}}]);