lexical-vue
Version:
An extensible Vue 3 web text-editor based on Lexical.
28 lines (27 loc) • 1.28 kB
JavaScript
import { Fragment, createCommentVNode, createElementBlock, createVNode, defineComponent, openBlock, renderSlot, unref } from "vue";
import { useLexicalComposer } from "./LexicalComposer.vine.js";
import { LexicalDecoratedTeleports } from "./LexicalDecoratedTeleports.js";
import { useCanShowPlaceholder } from "./shared/useCanShowPlaceholder.js";
import { useRichTextSetup } from "./shared/useRichTextSetup.js";
const RichTextPlugin = (()=>{
const __vine = defineComponent({
name: 'RichTextPlugin',
setup (__props, param) {
let { expose: __expose } = param;
__expose();
const editor = useLexicalComposer();
const showPlaceholder = useCanShowPlaceholder(editor);
useRichTextSetup(editor);
return (_ctx, _cache)=>(openBlock(), createElementBlock(Fragment, null, [
unref(showPlaceholder) ? renderSlot(_ctx.$slots, "placeholder", {
key: 0
}) : createCommentVNode("", true),
renderSlot(_ctx.$slots, "contentEditable"),
createVNode(unref(LexicalDecoratedTeleports))
], 64));
}
});
__vine.__vue_vine = true;
return __vine;
})();
export { RichTextPlugin };