@selfcommunity/react-ui
Version:
React UI Components to integrate a Community created with SelfCommunity Platform.
28 lines (27 loc) • 1.27 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCanShowPlaceholder = void 0;
const text_1 = require("@lexical/text");
const utils_1 = require("@lexical/utils");
const react_1 = require("react");
const react_core_1 = require("@selfcommunity/react-core");
function canShowPlaceholderFromCurrentEditorState(editor) {
return editor.getEditorState().read((0, text_1.$canShowPlaceholderCurry)(editor.isComposing()));
}
function useCanShowPlaceholder(editor) {
const [canShowPlaceholder, setCanShowPlaceholder] = (0, react_1.useState)(() => canShowPlaceholderFromCurrentEditorState(editor));
(0, react_core_1.useIsomorphicLayoutEffect)(() => {
function resetCanShowPlaceholder() {
const currentCanShowPlaceholder = canShowPlaceholderFromCurrentEditorState(editor);
setCanShowPlaceholder(currentCanShowPlaceholder);
}
resetCanShowPlaceholder();
return (0, utils_1.mergeRegister)(editor.registerUpdateListener(() => {
resetCanShowPlaceholder();
}), editor.registerEditableListener(() => {
resetCanShowPlaceholder();
}));
}, [editor]);
return canShowPlaceholder;
}
exports.useCanShowPlaceholder = useCanShowPlaceholder;
;