lexical-vue
Version:
An extensible Vue 3 web text-editor based on Lexical.
34 lines (33 loc) • 1.22 kB
JavaScript
import { defineComponent, nextTick, onMounted } from "vue";
import { useLexicalComposer } from "./LexicalComposer.vine.js";
const AutoFocusPlugin = (()=>{
const __vine = defineComponent({
name: 'AutoFocusPlugin',
props: {
defaultSelection: {}
},
setup (__props, param) {
let { expose: __expose } = param;
__expose();
const props = __props;
const editor = useLexicalComposer();
onMounted(()=>{
nextTick(()=>{
editor.focus(()=>{
const activeElement = document.activeElement;
const rootElement = editor.getRootElement();
if (null !== rootElement && (null === activeElement || !rootElement.contains(activeElement))) rootElement.focus({
preventScroll: true
});
}, {
defaultSelection: props.defaultSelection
});
});
});
return (_ctx, _cache)=>null;
}
});
__vine.__vue_vine = true;
return __vine;
})();
export { AutoFocusPlugin };