import { hooks } from 'botframework-webchat'; import cx from 'classnames'; import React, { memo, type MouseEventHandler, type ReactNode } from 'react'; import { useStyles } from '../../styles'; import styles from './Toolbar.module.css'; const { useUIState } = hooks; const preventDefaultHandler: MouseEventHandler = event => event.preventDefault(); export const ToolbarButton = memo( ( props: Readonly<{ 'aria-label'?: string | undefined; children?: ReactNode | undefined; className?: string | undefined; 'data-testid'?: string | undefined; disabled?: boolean | undefined; onClick?: MouseEventHandler | undefined; selected?: boolean | undefined; type?: 'button' | 'submit' | undefined; }> ) => { const classNames = useStyles(styles); const [uiState] = useUIState(); const disabled = props.disabled || uiState === 'disabled'; return ( ); } ); ToolbarButton.displayName = 'ToolbarButton'; export const Toolbar = memo((props: Readonly<{ children?: ReactNode | undefined; className?: string | undefined }>) => { const [uiState] = useUIState(); const classNames = useStyles(styles); return (
{uiState !== 'blueprint' && props.children}
); }); Toolbar.displayName = 'Toolbar'; export const ToolbarSeparator = memo( (props: Readonly<{ children?: ReactNode | undefined; className?: string | undefined }>) => { const classNames = useStyles(styles); return (
); } ); ToolbarSeparator.displayName = 'ToolbarSeparator';