import { Button, ModalBody, ModalFooter, useDisclosure } from '@chakra-ui/react'; import React from 'react'; import { editorStateToText } from './utils'; import Editor from './Editor'; import MyModal from '../../MyModal'; import { useTranslation } from 'next-i18next'; import { EditorState, type LexicalEditor } from 'lexical'; import { EditorVariableLabelPickerType, EditorVariablePickerType } from './type.d'; import { useCallback } from 'react'; const PromptEditor = ({ showOpenModal = true, variables = [], variableLabels = [], value, onChange, onBlur, minH, maxH, maxLength, placeholder, title, bg = 'white' }: { showOpenModal?: boolean; variables?: EditorVariablePickerType[]; variableLabels?: EditorVariableLabelPickerType[]; value?: string; onChange?: (text: string) => void; onBlur?: (text: string) => void; minH?: number; maxH?: number; maxLength?: number; placeholder?: string; title?: string; bg?: string; }) => { const { isOpen, onOpen, onClose } = useDisclosure(); const { t } = useTranslation(); const onChangeInput = useCallback( (editorState: EditorState, editor: LexicalEditor) => { const text = editorStateToText(editor).replaceAll('}}{{', '}} {{'); onChange?.(text); }, [onChange] ); const onBlurInput = useCallback( (editor: LexicalEditor) => { const text = editorStateToText(editor).replaceAll('}}{{', '}} {{'); onBlur?.(text); }, [onBlur] ); return ( <> ); }; export default React.memo(PromptEditor);