import { useRef, useState, FunctionComponent, MouseEvent, CSSProperties, Ref, MouseEvent as ReactMouseEvent } from 'react'; import { Button, SkipToContent, MenuToggle, MenuToggleElement, Select, SelectList, SelectOption, Stack } from '@patternfly/react-core'; import Onboarding from '@patternfly/chatbot/dist/dynamic/Onboarding'; import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot'; export const OnboardingExample: FunctionComponent = () => { const [isModalOpen, setIsModalOpen] = useState(true); const [displayMode, setDisplayMode] = useState(ChatbotDisplayMode.default); const chatbotRef = useRef(null); const termsRef = useRef(null); const [isOpen, setIsOpen] = useState(false); const [selected, setSelected] = useState('Select display mode'); const handleSkipToContent = (e) => { e.preventDefault(); if (!isModalOpen && chatbotRef.current) { chatbotRef.current.focus(); } if (isModalOpen && termsRef.current) { termsRef.current.focus(); } }; const handleModalToggle = (_event: MouseEvent | MouseEvent | KeyboardEvent) => { setIsModalOpen(!isModalOpen); }; const onPrimaryAction = () => { // eslint-disable-next-line no-console console.log('Clicked primary action'); }; const onSecondaryAction = () => { // eslint-disable-next-line no-console console.log('Clicked secondary action'); }; const onSelect = (_event: ReactMouseEvent | undefined, value: string | number | undefined) => { setSelected(value as string); setIsOpen(false); if (value === 'Default') { setDisplayMode(ChatbotDisplayMode.default); } if (value === 'Docked') { setDisplayMode(ChatbotDisplayMode.docked); } if (value === 'Fullscreen') { setDisplayMode(ChatbotDisplayMode.fullscreen); } if (value === 'Embedded') { setDisplayMode(ChatbotDisplayMode.embedded); } }; const onToggleClick = () => { setIsOpen(!isOpen); }; const toggle = (toggleRef: Ref) => ( {selected} ); const body = 'Simplify your Red Hat journey with personalized assistance and seamless problem-solving.'; return ( <> Skip to chatbot
{body} ); };