UNPKG

@blocknote/core

Version:

A "Notion-style" block-based extensible text editor built on top of Prosemirror and Tiptap.

2 lines 1.68 kB
let e=require("@tiptap/core");var t=`annotation`;function n(n){return n&&n.options.extensions.some(t=>{if(t.type!==`mark`)return!1;let n=(0,e.getExtensionField)(t,`group`);return typeof n==`string`&&n.split(` `).includes(`annotation`)})?t:``}var r=class{listeners=new Set;state;prevState;options;constructor(e,t){this.prevState=e,this.state=e,this.options=t}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});setState(e){this.prevState=this.state,this.state=i(e)?e(this.prevState):e,s(this)}_notify(){let e={prevVal:this.prevState,currentVal:this.state};for(let t of this.listeners)t(e)}};function i(e){return typeof e==`function`}var a=!1,o=new Set;function s(e){o.add(e);let t=!a;a=!0;try{if(e.options?.onUpdate?.(e.state,e.prevState),!t)return;for(;o.size>0;){let e=Array.from(o);o.clear();for(let t of e)t._notify()}}finally{t&&(a=!1,o.clear())}}var c=Symbol(`originalFactory`);function l(e){if(typeof e==`object`&&`key`in e)return function t(){return e[c]=t,e};if(typeof e!=`function`)throw Error(`factory must be a function`);return function t(n){return r=>{let i=e({editor:r.editor,options:n});return i[c]=t,i}}}function u(e,t){return new r(e,t)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}}); //# sourceMappingURL=BlockNoteExtension-BJCLnwrE.cjs.map