/* * 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", the "GNU Affero General Public License v3.0 only", and the "Server Side * Public License v 1"; you may not use this file except in compliance with, at * your election, the "Elastic License 2.0", the "GNU Affero General Public * License v3.0 only", or the "Server Side Public License, v 1". */ import React, { useEffect, useState } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiButton, EuiText, EuiTourStep, EuiTitle, EuiPageHeader, EuiPageSection, EuiSpacer, EuiCode, EuiFieldText, EuiFlexGroup, EuiFlexItem, EuiFormRow, } from '@elastic/eui'; import { GuidedOnboardingPluginStart } from '@kbn/guided-onboarding-plugin/public/types'; interface GuidedOnboardingExampleAppDeps { guidedOnboarding?: GuidedOnboardingPluginStart; } export const StepOne = ({ guidedOnboarding }: GuidedOnboardingExampleAppDeps) => { const [isTourStepOpen, setIsTourStepOpen] = useState(false); const [indexName, setIndexName] = useState('test1234'); useEffect(() => { const subscription = guidedOnboarding?.guidedOnboardingApi ?.isGuideStepActive$('testGuide', 'step1') .subscribe((isStepActive) => { setIsTourStepOpen(isStepActive); }); return () => subscription?.unsubscribe(); }, [guidedOnboarding]); return ( <>

indexName, }} />

} > setIndexName(e.target.value)} />

Click this button to complete step 1.

} isStepOpen={isTourStepOpen} minWidth={300} onFinish={() => setIsTourStepOpen(false)} step={1} stepsTotal={1} title="Step 1" anchorPosition="rightUp" > { await guidedOnboarding?.guidedOnboardingApi?.completeGuideStep( 'testGuide', 'step1', { indexName, } ); }} > Complete step 1
); };