@gechiui/block-editor
Version:
33 lines (32 loc) • 829 B
JavaScript
/**
* GeChiUI dependencies
*/
import { useEffect } from '@gechiui/element';
import { useDispatch, useSelect } from '@gechiui/data';
/**
* Internal dependencies
*/
import { store as blockEditorStore } from '../../store';
export function useCaretInFormat(_ref) {
let {
value
} = _ref;
const hasActiveFormats = value.activeFormats && !!value.activeFormats.length;
const {
isCaretWithinFormattedText
} = useSelect(blockEditorStore);
const {
enterFormattedText,
exitFormattedText
} = useDispatch(blockEditorStore);
useEffect(() => {
if (hasActiveFormats) {
if (!isCaretWithinFormattedText()) {
enterFormattedText();
}
} else if (isCaretWithinFormattedText()) {
exitFormattedText();
}
}, [hasActiveFormats]);
}
//# sourceMappingURL=use-caret-in-format.js.map