reactjs-tiptap-editor
Version:
A modern WYSIWYG rich text editor based on tiptap and shadcn ui for React
2 lines (1 loc) • 862 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CSvnpArE.cjs");function s({types:n,node:o}){return Array.isArray(n)&&n.includes(o.type)||o.type===n}const g=i.Extension.create({name:"trailingNode",addOptions(){return{node:"paragraph",notAfter:["paragraph"]}},addProseMirrorPlugins(){const n=new i.PluginKey(this.name),o=Object.entries(this.editor.schema.nodes).map(([,e])=>e).filter(e=>this.options.notAfter.includes(e.name));return[new i.Plugin({key:n,appendTransaction:(e,r,t)=>{const{doc:d,tr:a,schema:c}=t,l=n.getState(t),u=d.content.size,p=c.nodes[this.options.node];if(l)return a.insert(u,p.create())},state:{init:(e,r)=>{const t=r.tr.doc.lastChild;return!s({node:t,types:o})},apply:(e,r)=>{if(!e.docChanged)return r;const t=e.doc.lastChild;return!s({node:t,types:o})}}})]}});exports.TrailingNode=g;