import React, { ReactElement, ChangeEvent, MouseEvent } from 'react';
import Button from '../Button';
import Icon from '../Icon';
import Input from '../Input';
import {
Avatar,
EditorContainer,
EditorWrapper,
EditorActionsWrapper,
} from './StyledComment';
export interface EditorProps {
/**
* Custom actions section, can be used for attaching file and more.
*/
actions?: ReactElement;
/**
* Author avatar.
*/
avatar?: string | ReactElement;
/**
* onChange event for Editor textarea.
*/
onChange: (e: ChangeEvent) => void;
/**
* submit event.
*/
onSubmit?: (e: MouseEvent) => void;
/**
* loading state for button.
*/
submitting?: boolean;
/**
* content for text area.
*/
value: string;
}
const Editor = ({
avatar,
onChange,
onSubmit,
submitting = false,
value,
actions,
}: EditorProps): ReactElement => {
const avatarElement = avatar !== undefined && (
{typeof avatar === 'string' ? (
) : (
avatar
)}
);
const actionsElement = (
{submitting === true ? (
) : (
)}
{actions !== undefined && actions}
);
return (
{avatarElement}
{actionsElement}
);
};
export default Editor;