import useCaretPosition from 'components/markdown-editor/position' import TestStyles from 'theme/caret.styles' import React, { useRef, useState, useEffect, Fragment } from 'react' import { render } from 'react-dom' const App = () => { const triggerRef = useRef(null) const [showTrigger, setShowTrigger] = useState(false) const { x: triggerX, y: triggerY, getPosition: getPositionTrigger, } = useCaretPosition(triggerRef) const handleCustomUI = (e) => { const previousCharacter = e.target.value .charAt(triggerRef.current.selectionStart - 2) .trim() const character = e.target.value .charAt(triggerRef.current.selectionStart - 1) .trim() if (character === '@' && previousCharacter === '') { setShowTrigger(true) } if (character === '' && showTrigger) { setShowTrigger(false) } } useEffect(() => { if (triggerRef.current) { getPositionTrigger(triggerRef) } }, []) return ( <>