@blocknote/core 0.41.1 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BlockNoteSchema-Bi-eeHal.js +3288 -0
- package/dist/BlockNoteSchema-Bi-eeHal.js.map +1 -0
- package/dist/BlockNoteSchema-DjDaA2C3.cjs +6 -0
- package/dist/BlockNoteSchema-DjDaA2C3.cjs.map +1 -0
- package/dist/blockToNode-DIfPWLH8.js +1140 -0
- package/dist/blockToNode-DIfPWLH8.js.map +1 -0
- package/dist/blockToNode-w7H99R6p.cjs +7 -0
- package/dist/blockToNode-w7H99R6p.cjs.map +1 -0
- package/dist/blocknote.cjs +4 -4
- package/dist/blocknote.cjs.map +1 -1
- package/dist/blocknote.js +1413 -1366
- package/dist/blocknote.js.map +1 -1
- package/dist/blocks.cjs +1 -1
- package/dist/blocks.js +1 -1
- package/dist/comments.cjs +1 -1
- package/dist/comments.cjs.map +1 -1
- package/dist/comments.js +49 -49
- package/dist/comments.js.map +1 -1
- package/dist/en-Cl87Uuyf.cjs.map +1 -1
- package/dist/en-njEqD7AG.js.map +1 -1
- package/dist/locales.cjs.map +1 -1
- package/dist/locales.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/webpack-stats.json +1 -1
- package/dist/yjs.cjs +2 -0
- package/dist/yjs.cjs.map +1 -0
- package/dist/yjs.js +44 -0
- package/dist/yjs.js.map +1 -0
- package/package.json +30 -25
- package/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.ts +19 -6
- package/src/api/blockManipulation/commands/replaceBlocks/util/fixColumnList.ts +173 -0
- package/src/api/nodeConversions/nodeToBlock.ts +17 -14
- package/src/blocks/Code/block.ts +1 -0
- package/src/blocks/ListItem/NumberedListItem/IndexingPlugin.ts +2 -1
- package/src/blocks/defaultBlockTypeGuards.ts +7 -18
- package/src/comments/threadstore/yjs/YjsThreadStoreBase.ts +3 -1
- package/src/editor/BlockNoteEditor.test.ts +70 -1
- package/src/editor/BlockNoteEditor.ts +55 -4
- package/src/editor/managers/ExportManager.ts +1 -1
- package/src/extensions/Collaboration/__snapshots__/fork-yjs-snap-editor-forked.json +2 -2
- package/src/extensions/Collaboration/__snapshots__/fork-yjs-snap-editor.json +2 -2
- package/src/extensions/Collaboration/__snapshots__/fork-yjs-snap-forked.html +1 -1
- package/src/extensions/Collaboration/__snapshots__/fork-yjs-snap.html +1 -1
- package/src/extensions/Collaboration/schemaMigration/SchemaMigrationPlugin.ts +10 -3
- package/src/extensions/Collaboration/schemaMigration/migrationRules/moveColorAttributes.test.ts +130 -0
- package/src/extensions/Collaboration/schemaMigration/migrationRules/moveColorAttributes.ts +34 -21
- package/src/extensions/Comments/CommentsPlugin.ts +37 -7
- package/src/extensions/KeyboardShortcuts/KeyboardShortcutsExtension.ts +30 -128
- package/src/extensions/SideMenu/SideMenuPlugin.ts +2 -0
- package/src/index.ts +1 -0
- package/src/schema/inlineContent/createSpec.ts +3 -0
- package/src/schema/inlineContent/types.ts +1 -0
- package/src/schema/schema.ts +49 -6
- package/src/schema/styles/createSpec.ts +6 -0
- package/src/schema/styles/types.ts +1 -0
- package/src/yjs/index.ts +1 -0
- package/src/yjs/utils.test.ts +1023 -0
- package/src/yjs/utils.ts +150 -0
- package/types/src/api/blockManipulation/commands/replaceBlocks/replaceBlocks.d.ts +1 -1
- package/types/src/api/blockManipulation/commands/replaceBlocks/util/fixColumnList.d.ts +32 -0
- package/types/src/api/nodeConversions/nodeToBlock.d.ts +1 -1
- package/types/src/editor/BlockNoteEditor.d.ts +6 -1
- package/types/src/editor/managers/ExportManager.d.ts +1 -1
- package/types/src/extensions/Collaboration/schemaMigration/migrationRules/moveColorAttributes.test.d.ts +1 -0
- package/types/src/extensions/Comments/CommentsPlugin.d.ts +1 -1
- package/types/src/index.d.ts +1 -0
- package/types/src/schema/inlineContent/createSpec.d.ts +1 -0
- package/types/src/schema/inlineContent/types.d.ts +1 -0
- package/types/src/schema/styles/createSpec.d.ts +1 -0
- package/types/src/schema/styles/types.d.ts +1 -0
- package/types/src/yjs/index.d.ts +1 -0
- package/types/src/yjs/utils.d.ts +55 -0
- package/types/src/yjs/utils.test.d.ts +1 -0
- package/dist/BlockNoteSchema-COA0fsXW.cjs +0 -11
- package/dist/BlockNoteSchema-COA0fsXW.cjs.map +0 -1
- package/dist/BlockNoteSchema-CYRHak18.js +0 -4375
- package/dist/BlockNoteSchema-CYRHak18.js.map +0 -1
- package/src/extensions/BackgroundColor/BackgroundColorMark.ts +0 -46
- package/src/extensions/TextColor/TextColorMark.ts +0 -38
- package/types/src/extensions/BackgroundColor/BackgroundColorMark.d.ts +0 -10
- package/types/src/extensions/TextColor/TextColorMark.d.ts +0 -10
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";var Pt=Object.defineProperty;var Ht=(e,t,n)=>t in e?Pt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var y=(e,t,n)=>Ht(e,typeof t!="symbol"?t+"":t,n);const I=require("prosemirror-tables"),g=require("./blockToNode-w7H99R6p.cjs"),Dt=require("@tiptap/extension-bold"),Ot=require("@tiptap/extension-code"),_t=require("@tiptap/extension-italic"),Vt=require("@tiptap/extension-strike"),Rt=require("@tiptap/extension-underline"),E=require("@tiptap/core"),B=require("prosemirror-model"),Ft=require("prosemirror-highlight"),Wt=require("prosemirror-highlight/shiki"),W=require("prosemirror-state"),jt=require("prosemirror-transform"),z=require("prosemirror-view"),R=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},Ut=R(Dt),qt=R(Ot),$t=R(_t),Gt=R(Vt),Zt=R(Rt),ye=()=>typeof navigator<"u"&&(/Mac/.test(navigator.platform)||/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent));function A(e,t="Ctrl"){return ye()?e.replace("Mod","⌘"):e.replace("Mod",t)}function O(...e){return[...new Set(e.filter(t=>t).join(" ").split(" "))].join(" ")}const zt=()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent);function ve(e,t,n,o){const r=document.createElement("div");r.className=O("bn-block-content",n.class),r.setAttribute("data-content-type",e);for(const[s,c]of Object.entries(n))s!=="class"&&r.setAttribute(s,c);const a=document.createElement(t);a.className=O("bn-inline-content",o.class);for(const[s,c]of Object.entries(o))s!=="class"&&a.setAttribute(s,c);return r.appendChild(a),{dom:r,contentDOM:a}}const X=(e,t)=>{let n=g.blockToNode(e,t.pmSchema);n.type.name==="blockContainer"&&(n=n.firstChild);const o=t.pmSchema.nodes[n.type.name].spec.toDOM;if(o===void 0)throw new Error("This block has no default HTML serialization as its corresponding TipTap node doesn't implement `renderHTML`.");const r=o(n);if(typeof r!="object"||!("dom"in r))throw new Error("Cannot use this block's default HTML serialization as its corresponding TipTap node's `renderHTML` function does not return an object with the `dom` property.");return r};function Se(e,t="<br>"){const n=e.querySelectorAll("p");if(n.length>1){const o=n[0];for(let r=1;r<n.length;r++){const a=n[r];o.innerHTML+=t+a.innerHTML,a.remove()}}}function V(e){return"data-"+e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Xt(e){const t=e.split("/");return!t.length||t[t.length-1]===""?e:t[t.length-1]}function Kt(e){var n;const t=["mp4","webm","ogg","mov","mkv","flv","avi","wmv","m4v"];try{const r=((n=new URL(e).pathname.split(".").pop())==null?void 0:n.toLowerCase())||"";return t.includes(r)}catch{return!1}}function Ee(e){const t={};return Object.entries(e).forEach(([n,o])=>{t[n]={default:o.default,keepOnSplit:!0,parseHTML:r=>{const a=r.getAttribute(V(n));if(a===null)return null;if(o.default===void 0&&o.type==="boolean"||o.default!==void 0&&typeof o.default=="boolean")return a==="true"?!0:a==="false"?!1:null;if(o.default===void 0&&o.type==="number"||o.default!==void 0&&typeof o.default=="number"){const s=parseFloat(a);return!Number.isNaN(s)&&Number.isFinite(s)?s:null}return a},renderHTML:r=>r[n]!==o.default?{[V(n)]:r[n]}:{}}}),t}function Be(e,t,n,o){const r=e();if(r===void 0)throw new Error("Cannot find node position");const s=n.state.doc.resolve(r).node().attrs.id;if(!s)throw new Error("Block doesn't have id");const c=t.getBlock(s);if(c.type!==o)throw new Error("Block type does not match");return c}function j(e,t,n,o,r=!1,a){const s=document.createElement("div");if(a!==void 0)for(const[c,l]of Object.entries(a))c!=="class"&&s.setAttribute(c,l);s.className=O("bn-block-content",(a==null?void 0:a.class)||""),s.setAttribute("data-content-type",t);for(const[c,l]of Object.entries(n)){const u=o[c].default;l!==u&&s.setAttribute(V(c),l)}return r&&s.setAttribute("data-file-block",""),s.appendChild(e.dom),e.contentDOM&&(e.contentDOM.className=O("bn-inline-content",e.contentDOM.className)),{...e,dom:s}}function xe(e,t,n){return{config:{type:e.type,content:e.content,propSchema:t},implementation:{node:e.node,render:X,toExternalHTML:X},extensions:n}}function we(e,t){e.stopEvent=n=>(n.type==="mousedown"&&setTimeout(()=>{t.view.dom.blur()},10),!0)}function Le(e,t){const n=[{tag:"[data-content-type="+e.type+"]",contentElement:".bn-inline-content"}];return t.parse&&n.push({tag:"*",getAttrs(o){var a;if(typeof o=="string")return!1;const r=(a=t.parse)==null?void 0:a.call(t,o);return r===void 0?!1:r},getContent:e.content==="inline"||e.content==="none"?(o,r)=>{var a;if(t.parseContent)return t.parseContent({el:o,schema:r});if(e.content==="inline"){const c=o.cloneNode(!0);return Se(c,(a=t.meta)!=null&&a.code?`
|
|
2
|
+
`:"<br>"),B.DOMParser.fromSchema(r).parse(c,{topNode:r.nodes.paragraph.create()}).content}return B.Fragment.empty}:void 0}),n}function Te(e,t,n,o){var a,s,c,l;const r=t.node||E.Node.create({name:e.type,content:e.content==="inline"?"inline*":e.content==="none"?"":e.content,group:"blockContent",selectable:((a=t.meta)==null?void 0:a.selectable)??!0,isolating:((s=t.meta)==null?void 0:s.isolating)??!0,code:((c=t.meta)==null?void 0:c.code)??!1,defining:((l=t.meta)==null?void 0:l.defining)??!0,priority:o,addAttributes(){return Ee(e.propSchema)},parseHTML(){return Le(e,t)},renderHTML({HTMLAttributes:i}){var d;const u=document.createElement("div");return j({dom:u,contentDOM:e.content==="inline"?u:void 0},e.type,{},e.propSchema,((d=t.meta)==null?void 0:d.fileBlockAccept)!==void 0,i)},addNodeView(){return i=>{var f,w;const u=this.options.editor,d=Be(i.getPos,u,this.editor,e.type),p=((f=this.options.domAttributes)==null?void 0:f.blockContent)||{},h=t.render.call({blockContentDOMAttributes:p,props:i,renderType:"nodeView"},d,u);return((w=t.meta)==null?void 0:w.selectable)===!1&&we(h,this.editor),h}}});if(r.name!==e.type)throw new Error("Node name does not match block type. This is a bug in BlockNote.");return{config:e,implementation:{...t,node:r,render(i,u){var p;const d=((p=r.options.domAttributes)==null?void 0:p.blockContent)||{};return t.render.call({blockContentDOMAttributes:d,props:void 0,renderType:"dom"},i,u)},toExternalHTML:(i,u)=>{var p,h;const d=((p=r.options.domAttributes)==null?void 0:p.blockContent)||{};return((h=t.toExternalHTML)==null?void 0:h.call({blockContentDOMAttributes:d},i,u))??t.render.call({blockContentDOMAttributes:d,renderType:"dom",props:void 0},i,u)}},extensions:n}}function Yt(e){return e}function S(e,t,n){return(o={})=>{const r=typeof e=="function"?e(o):e,a=typeof t=="function"?t(o):t,s=n?typeof n=="function"?n(o):n:void 0;return{config:r,implementation:{...a,toExternalHTML(c,l){var u,d;const i=(u=a.toExternalHTML)==null?void 0:u.call({blockContentDOMAttributes:this.blockContentDOMAttributes},c,l);if(i!==void 0)return j(i,c.type,c.props,r.propSchema,((d=a.meta)==null?void 0:d.fileBlockAccept)!==void 0)},render(c,l){var d;const i=a.render.call({blockContentDOMAttributes:this.blockContentDOMAttributes,renderType:this.renderType,props:this.props},c,l);return j(i,c.type,c.props,r.propSchema,((d=a.meta)==null?void 0:d.fileBlockAccept)!==void 0,this.blockContentDOMAttributes)}},extensions:s}}}function Qt(e,t,n,o){return e.dom.setAttribute("data-inline-content-type",t),Object.entries(n).filter(([r,a])=>{const s=o[r];return a!==s.default}).map(([r,a])=>[V(r),a]).forEach(([r,a])=>e.dom.setAttribute(r,a)),e.contentDOM&&e.contentDOM.setAttribute("data-editable",""),e}function Jt(e){return{Backspace:({editor:t})=>{const n=t.state.selection.$from;return t.state.selection.empty&&n.node().type.name===e.type&&n.parentOffset===0}}}function Me(e,t){return{config:e,implementation:t}}function en(e,t,n){return Me({type:e.name,propSchema:t,content:e.config.content==="inline*"?"styled":"none"},{...n,node:e})}function Y(e){return Object.fromEntries(Object.entries(e).map(([t,n])=>[t,n.config]))}function Ae(e){return e==="boolean"?{}:{stringValue:{default:void 0,keepOnSplit:!0,parseHTML:t=>t.getAttribute("data-value"),renderHTML:t=>t.stringValue!==void 0?{"data-value":t.stringValue}:{}}}}function _(e,t,n,o){return e.dom.setAttribute("data-style-type",t),o==="string"&&e.dom.setAttribute("data-value",n),e.contentDOM&&e.contentDOM.setAttribute("data-editable",""),e}function Q(e,t){return{config:e,implementation:t}}function D(e,t){return Q({type:e.name,propSchema:t},{mark:e,render(n,o){const r=o.pmSchema.marks[e.name].spec.toDOM;if(r===void 0)throw new Error("This block has no default HTML serialization as its corresponding TipTap node doesn't implement `renderHTML`.");const a=o.pmSchema.mark(e.name,{stringValue:n}),s=B.DOMSerializer.renderSpec(document,r(a,!0));if(typeof s!="object"||!("dom"in s))throw new Error("Cannot use this block's default HTML serialization as its corresponding TipTap mark's `renderHTML` function does not return an object with the `dom` property.");return s},toExternalHTML(n,o){const r=o.pmSchema.marks[e.name].spec.toDOM;if(r===void 0)throw new Error("This block has no default HTML serialization as its corresponding TipTap node doesn't implement `renderHTML`.");const a=o.pmSchema.mark(e.name,{stringValue:n}),s=B.DOMSerializer.renderSpec(document,r(a,!0));if(typeof s!="object"||!("dom"in s))throw new Error("Cannot use this block's default HTML serialization as its corresponding TipTap mark's `renderHTML` function does not return an object with the `dom` property.");return s}})}function J(e){return Object.fromEntries(Object.entries(e).map(([t,n])=>[t,n.config]))}function Ie(e,t){const n=[{tag:`[data-style-type="${e.type}"]`,contentElement:o=>{const r=o;return r.matches("[data-editable]")?r:r.querySelector("[data-editable]")||r}}];return t&&n.push({tag:"*",consuming:!1,getAttrs(o){if(typeof o=="string")return!1;const r=t==null?void 0:t(o);return r===void 0?!1:{stringValue:r}}}),n}function ee(e,t){const n=E.Mark.create({name:e.type,addAttributes(){return Ae(e.propSchema)},parseHTML(){return Ie(e,t.parse)},renderHTML({mark:o}){const r=(t.toExternalHTML||t.render)(o.attrs.stringValue);return _(r,e.type,o.attrs.stringValue,e.propSchema)},addMarkView(){return({mark:o})=>{const r=t.render(o.attrs.stringValue);return _(r,e.type,o.attrs.stringValue,e.propSchema)}}});return Q(e,{...t,mark:n,render:o=>{const r=t.render(o);return _(r,e.type,o,e.propSchema)},toExternalHTML:o=>{const r=(t.toExternalHTML||t.render)(o);return _(r,e.type,o,e.propSchema)}})}function tn(e){const t=on(e);let{roots:n,nonRoots:o}=pe(t);const r=[];for(;n.size;){r.push(n);const a=new Set;for(const s of n){const c=e.get(s);if(c)for(const l of c){const i=t.get(l);if(i===void 0)continue;const u=i-1;t.set(l,u),u===0&&a.add(l)}}n=a}if(o=pe(t).nonRoots,o.size)throw new Error(`Cycle(s) detected; toposort only works on acyclic graphs. Cyclic nodes: ${Array.from(o).join(", ")}`);return r}function nn(e){const t=rn(e);return tn(t)}function on(e){const t=new Map;for(const[n,o]of e.entries()){t.has(n)||t.set(n,0);for(const r of o){const a=t.get(r)??0;t.set(r,a+1)}}return t}function pe(e){const t=new Set,n=new Set;for(const[o,r]of e.entries())r===0?t.add(o):n.add(o);return{roots:t,nonRoots:n}}function rn(e){const t=new Map;for(const[n,o]of e.entries()){t.has(n)||t.set(n,new Set);for(const r of o)t.has(r)||t.set(r,new Set),t.get(r).add(n)}return t}function an(){return new Map}function fe(e){return e&&Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}class Ne{constructor(t){y(this,"BlockNoteEditor","only for types");y(this,"Block","only for types");y(this,"PartialBlock","only for types");y(this,"inlineContentSpecs");y(this,"styleSpecs");y(this,"blockSpecs");y(this,"blockSchema");y(this,"inlineContentSchema");y(this,"styleSchema");this.opts=t;const{blockSpecs:n,inlineContentSpecs:o,styleSpecs:r,blockSchema:a,inlineContentSchema:s,styleSchema:c}=this.init();this.blockSpecs=n,this.styleSpecs=r,this.styleSchema=c,this.inlineContentSpecs=o,this.blockSchema=a,this.inlineContentSchema=s}init(){var i;const t=an(),n=new Set;t.set("default",n);for(const[u,d]of Object.entries({...this.opts.blockSpecs,...this.opts.inlineContentSpecs,...this.opts.styleSpecs}))(i=d.implementation)!=null&&i.runsBefore?t.set(u,new Set(d.implementation.runsBefore)):n.add(u);const o=nn(t),r=o.findIndex(u=>u.has("default")),a=u=>91+(o.findIndex(p=>p.has(u))+r)*10,s=Object.fromEntries(Object.entries(this.opts.blockSpecs).map(([u,d])=>[u,Te(d.config,d.implementation,d.extensions,a(u))])),c=Object.fromEntries(Object.entries(this.opts.inlineContentSpecs).map(([u,d])=>{var p;return typeof d.config!="object"?[u,d]:[u,{...d,implementation:{...d.implementation,node:(p=d.implementation)==null?void 0:p.node.extend({priority:a(u)})}}]})),l=Object.fromEntries(Object.entries(this.opts.styleSpecs).map(([u,d])=>{var p;return[u,{...d,implementation:{...d.implementation,mark:(p=d.implementation)==null?void 0:p.mark.extend({priority:a(u)})}}]}));return{blockSpecs:s,blockSchema:Object.fromEntries(Object.entries(s).map(([u,d])=>[u,d.config])),inlineContentSpecs:fe(c),styleSpecs:fe(l),inlineContentSchema:Y(c),styleSchema:J(l)}}extend(t){Object.assign(this.opts.blockSpecs,t.blockSpecs),Object.assign(this.opts.inlineContentSpecs,t.inlineContentSpecs),Object.assign(this.opts.styleSpecs,t.styleSpecs);const{blockSpecs:n,inlineContentSpecs:o,styleSpecs:r,blockSchema:a,inlineContentSchema:s,styleSchema:c}=this.init();return this.blockSpecs=n,this.styleSpecs=r,this.styleSchema=c,this.inlineContentSpecs=o,this.blockSchema=a,this.inlineContentSchema=s,this}}function Pe(e,t){let n,o;if(t.firstChild.descendants((r,a)=>n?!1:!He(r)||r.attrs.id!==e?!0:(n=r,o=a+1,!1)),!(n===void 0||o===void 0))return{node:n,posBeforeNode:o}}function He(e){return e.type.isInGroup("bnBlock")}const sn=(e,t)=>({tr:n,dispatch:o})=>(o&&U(n,e,t),!0);function U(e,t,n,o,r){const a=g.getBlockInfoFromResolvedPos(e.doc.resolve(t));let s=null;a.blockNoteType==="table"&&(s=De(e));const c=g.getPmSchema(e);if(o!==void 0&&r!==void 0&&o>r)throw new Error("Invalid replaceFromPos or replaceToPos");const l=c.nodes[a.blockNoteType],i=c.nodes[n.type||a.blockNoteType],u=i.isInGroup("bnBlock")?i:c.nodes.blockContainer;if(a.isBlockContainer&&i.isInGroup("blockContent")){const d=o!==void 0&&o>a.blockContent.beforePos&&o<a.blockContent.afterPos?o-a.blockContent.beforePos-1:void 0,p=r!==void 0&&r>a.blockContent.beforePos&&r<a.blockContent.afterPos?r-a.blockContent.beforePos-1:void 0;me(n,e,a),cn(n,e,l,i,a,d,p)}else if(!a.isBlockContainer&&i.isInGroup("bnBlock"))me(n,e,a);else{const d=g.nodeToBlock(a.bnBlock.node,c);e.replaceWith(a.bnBlock.beforePos,a.bnBlock.afterPos,g.blockToNode({children:d.children,...n},c));return}e.setNodeMarkup(a.bnBlock.beforePos,u,{...a.bnBlock.node.attrs,...n.props}),s&&dn(e,a,s)}function cn(e,t,n,o,r,a,s){const c=g.getPmSchema(t);let l="keep";if(e.content)if(typeof e.content=="string")l=g.inlineContentToNodes([e.content],c,o.name);else if(Array.isArray(e.content))l=g.inlineContentToNodes(e.content,c,o.name);else if(e.content.type==="tableContent")l=g.tableContentToNodes(e.content,c);else throw new g.UnreachableCaseError(e.content.type);else n.spec.content===""||o.spec.content!==n.spec.content&&(l=[]);if(l==="keep")t.setNodeMarkup(r.blockContent.beforePos,o,{...r.blockContent.node.attrs,...e.props});else if(a!==void 0||s!==void 0){t.setNodeMarkup(r.blockContent.beforePos,o,{...r.blockContent.node.attrs,...e.props});const i=r.blockContent.beforePos+1+(a??0),u=r.blockContent.beforePos+1+(s??r.blockContent.node.content.size),d=t.doc.resolve(r.blockContent.beforePos).depth,p=t.doc.resolve(i).depth,h=t.doc.resolve(u).depth;t.replace(i,u,new B.Slice(B.Fragment.from(l),p-d-1,h-d-1))}else t.replaceWith(r.blockContent.beforePos,r.blockContent.afterPos,o.createChecked({...r.blockContent.node.attrs,...e.props},l))}function me(e,t,n){const o=g.getPmSchema(t);if(e.children!==void 0&&e.children.length>0){const r=e.children.map(a=>g.blockToNode(a,o));if(n.childContainer)t.step(new jt.ReplaceStep(n.childContainer.beforePos+1,n.childContainer.afterPos-1,new B.Slice(B.Fragment.from(r),0,0)));else{if(!n.isBlockContainer)throw new Error("impossible");t.insert(n.blockContent.afterPos,o.nodes.blockGroup.createChecked({},r))}}}function ln(e,t,n,o,r){const a=typeof t=="string"?t:t.id,s=Pe(a,e.doc);if(!s)throw new Error(`Block with ID ${a} not found`);U(e,s.posBeforeNode,n,o,r);const c=e.doc.resolve(s.posBeforeNode+1).node(),l=g.getPmSchema(e);return g.nodeToBlock(c,l)}function De(e){const t="selection"in e?e.selection:null;if(!(t instanceof W.TextSelection))return null;const n=e.doc.resolve(t.head);let o=-1,r=-1;for(let T=n.depth;T>=0;T--){const L=n.node(T).type.name;if(o<0&&(L==="tableCell"||L==="tableHeader")&&(o=T),L==="table"){r=T;break}}if(o<0||r<0)return null;const a=n.before(o),s=n.before(r),c=e.doc.nodeAt(s);if(!c||c.type.name!=="table")return null;const l=I.TableMap.get(c),i=a-(s+1),u=l.map.indexOf(i);if(u<0)return null;const d=Math.floor(u/l.width),p=u%l.width,f=a+1+1,w=Math.max(0,t.head-f);return{row:d,col:p,offset:w}}function dn(e,t,n){var T;if(t.blockNoteType!=="table")return!1;let o=-1;if(t.isBlockContainer)o=e.mapping.map(t.blockContent.beforePos);else{const L=e.mapping.map(t.bnBlock.beforePos),H=L+(((T=e.doc.nodeAt(L))==null?void 0:T.nodeSize)||0);e.doc.nodesBetween(L,H,(k,M)=>k.type.name==="table"?(o=M,!1):!0)}const r=o>=0?e.doc.nodeAt(o):null;if(!r||r.type.name!=="table")return!1;const a=I.TableMap.get(r),s=Math.max(0,Math.min(n.row,a.height-1)),c=Math.max(0,Math.min(n.col,a.width-1)),l=s*a.width+c,i=a.map[l];if(i==null)return!1;const d=o+1+i+1,p=e.doc.nodeAt(d),h=d+1,f=p?p.content.size:0,w=h+Math.max(0,Math.min(n.offset,f));return"selection"in e&&e.setSelection(W.TextSelection.create(e.doc,w)),!0}const N={gray:{text:"#9b9a97",background:"#ebeced"},brown:{text:"#64473a",background:"#e9e5e3"},red:{text:"#e03e3e",background:"#fbe4e4"},orange:{text:"#d9730d",background:"#f6e9d9"},yellow:{text:"#dfab01",background:"#fbf3db"},green:{text:"#4d6461",background:"#ddedea"},blue:{text:"#0b6e99",background:"#ddebf1"},purple:{text:"#6940a5",background:"#eae4f2"},pink:{text:"#ad1a72",background:"#f4dfeb"}},un={gray:{text:"#bebdb8",background:"#9b9a97"},brown:{text:"#8e6552",background:"#64473a"},red:{text:"#ec4040",background:"#be3434"},orange:{text:"#e3790d",background:"#b7600a"},yellow:{text:"#dfab01",background:"#b58b00"},green:{text:"#6b8b87",background:"#4d6461"},blue:{text:"#0e87bc",background:"#0b6e99"},purple:{text:"#8552d7",background:"#6940a5"},pink:{text:"#da208f",background:"#ad1a72"}},m={backgroundColor:{default:"default"},textColor:{default:"default"},textAlignment:{default:"left",values:["left","center","right","justify"]}},v=e=>{const t={};return e.hasAttribute("data-background-color")?t.backgroundColor=e.getAttribute("data-background-color"):e.style.backgroundColor&&(t.backgroundColor=e.style.backgroundColor),e.hasAttribute("data-text-color")?t.textColor=e.getAttribute("data-text-color"):e.style.color&&(t.textColor=e.style.color),t.textAlignment=m.textAlignment.values.includes(e.style.textAlign)?e.style.textAlign:void 0,t},P=(e,t)=>{e.backgroundColor&&e.backgroundColor!==m.backgroundColor.default&&(t.style.backgroundColor=e.backgroundColor in N?N[e.backgroundColor].background:e.backgroundColor),e.textColor&&e.textColor!==m.textColor.default&&(t.style.color=e.textColor in N?N[e.textColor].text:e.textColor),e.textAlignment&&e.textAlignment!==m.textAlignment.default&&(t.style.textAlign=e.textAlignment)},pn=(e="backgroundColor")=>({default:m.backgroundColor.default,parseHTML:t=>t.hasAttribute("data-background-color")?t.getAttribute("data-background-color"):t.style.backgroundColor?t.style.backgroundColor:m.backgroundColor.default,renderHTML:t=>t[e]===m.backgroundColor.default?{}:{"data-background-color":t[e]}}),fn=(e="textColor")=>({default:m.textColor.default,parseHTML:t=>t.hasAttribute("data-text-color")?t.getAttribute("data-text-color"):t.style.color?t.style.color:m.textColor.default,renderHTML:t=>t[e]===m.textColor.default?{}:{"data-text-color":t[e]}}),mn=(e="textAlignment")=>({default:m.textAlignment.default,parseHTML:t=>t.hasAttribute("data-text-alignment")?t.getAttribute("data-text-alignment"):t.style.textAlign?t.style.textAlign:m.textAlignment.default,renderHTML:t=>t[e]===m.textAlignment.default?{}:{"data-text-alignment":t[e]}}),q=(e,t)=>{const n=e.querySelector(t);if(!n)return;const o=e.querySelector("figcaption"),r=(o==null?void 0:o.textContent)??void 0;return{targetElement:n,caption:r}},hn=(e,t,n)=>{const o=document.createElement("div");o.className="bn-add-file-button";const r=document.createElement("div");r.className="bn-add-file-button-icon",n?r.appendChild(n):r.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M3 8L9.00319 2H19.9978C20.5513 2 21 2.45531 21 2.9918V21.0082C21 21.556 20.5551 22 20.0066 22H3.9934C3.44476 22 3 21.5501 3 20.9932V8ZM10 4V9H5V20H19V4H10Z"></path></svg>',o.appendChild(r);const a=document.createElement("p");a.className="bn-add-file-button-text",a.innerHTML=e.type in t.dictionary.file_blocks.add_button_text?t.dictionary.file_blocks.add_button_text[e.type]:t.dictionary.file_blocks.add_button_text.file,o.appendChild(a);const s=l=>{l.preventDefault()},c=()=>{t.transact(l=>l.setMeta(t.filePanel.plugins[0],{block:e}))};return o.addEventListener("mousedown",s,!0),o.addEventListener("click",c,!0),{dom:o,destroy:()=>{o.removeEventListener("mousedown",s,!0),o.removeEventListener("click",c,!0)}}},gn='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M3 8L9.00319 2H19.9978C20.5513 2 21 2.45531 21 2.9918V21.0082C21 21.556 20.5551 22 20.0066 22H3.9934C3.44476 22 3 21.5501 3 20.9932V8ZM10 4V9H5V20H19V4H10Z"></path></svg>',bn=e=>{const t=document.createElement("div");t.className="bn-file-name-with-icon";const n=document.createElement("div");n.className="bn-file-icon",n.innerHTML=gn,t.appendChild(n);const o=document.createElement("p");return o.className="bn-file-name",o.textContent=e.props.name,t.appendChild(o),{dom:t}},te=(e,t,n,o)=>{const r=document.createElement("div");if(r.className="bn-file-block-content-wrapper",e.props.url===""){const s=hn(e,t,o);r.appendChild(s.dom);const c=t.onUploadStart(l=>{if(l===e.id){r.removeChild(s.dom);const i=document.createElement("div");i.className="bn-file-loading-preview",i.textContent="Loading...",r.appendChild(i)}});return{dom:r,destroy:()=>{c(),s.destroy()}}}const a={dom:r};if(e.props.showPreview===!1||!n){const s=bn(e);r.appendChild(s.dom),a.destroy=()=>{var c;(c=s.destroy)==null||c.call(s)}}else r.appendChild(n.dom);if(e.props.caption){const s=document.createElement("p");s.className="bn-file-caption",s.textContent=e.props.caption,r.appendChild(s)}return a},ne=(e,t)=>{const n=document.createElement("figure"),o=document.createElement("figcaption");return o.textContent=t,n.appendChild(e),n.appendChild(o),{dom:n}},$=(e,t)=>{const n=document.createElement("div"),o=document.createElement("p");return o.textContent=t,n.appendChild(e),n.appendChild(o),{dom:n}},K=e=>({url:e.src||void 0}),Oe='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M2 16.0001H5.88889L11.1834 20.3319C11.2727 20.405 11.3846 20.4449 11.5 20.4449C11.7761 20.4449 12 20.2211 12 19.9449V4.05519C12 3.93977 11.9601 3.8279 11.887 3.73857C11.7121 3.52485 11.3971 3.49335 11.1834 3.66821L5.88889 8.00007H2C1.44772 8.00007 1 8.44778 1 9.00007V15.0001C1 15.5524 1.44772 16.0001 2 16.0001ZM23 12C23 15.292 21.5539 18.2463 19.2622 20.2622L17.8445 18.8444C19.7758 17.1937 21 14.7398 21 12C21 9.26016 19.7758 6.80629 17.8445 5.15557L19.2622 3.73779C21.5539 5.75368 23 8.70795 23 12ZM18 12C18 10.0883 17.106 8.38548 15.7133 7.28673L14.2842 8.71584C15.3213 9.43855 16 10.64 16 12C16 13.36 15.3213 14.5614 14.2842 15.2841L15.7133 16.7132C17.106 15.6145 18 13.9116 18 12Z"></path></svg>',_e=e=>({type:"audio",propSchema:{backgroundColor:m.backgroundColor,name:{default:""},url:{default:""},caption:{default:""},showPreview:{default:!0}},content:"none"}),Ve=(e={})=>t=>{if(t.tagName==="AUDIO"){if(t.closest("figure"))return;const{backgroundColor:n}=v(t);return{...K(t),backgroundColor:n}}if(t.tagName==="FIGURE"){const n=q(t,"audio");if(!n)return;const{targetElement:o,caption:r}=n,{backgroundColor:a}=v(t);return{...K(o),backgroundColor:a,caption:r}}},Re=(e={})=>(t,n)=>{const o=document.createElement("div");o.innerHTML=e.icon??Oe;const r=document.createElement("audio");return r.className="bn-audio",n.resolveFileUrl?n.resolveFileUrl(t.props.url).then(a=>{r.src=a}):r.src=t.props.url,r.controls=!0,r.contentEditable="false",r.draggable=!1,te(t,n,{dom:r},o.firstElementChild)},Fe=(e={})=>(t,n)=>{if(!t.props.url){const r=document.createElement("p");return r.textContent="Add audio",{dom:r}}let o;return t.props.showPreview?(o=document.createElement("audio"),o.src=t.props.url):(o=document.createElement("a"),o.href=t.props.url,o.textContent=t.props.name||t.props.url),t.props.caption?t.props.showPreview?ne(o,t.props.caption):$(o,t.props.caption):{dom:o}},We=S(_e,e=>({meta:{fileBlockAccept:["audio/*"]},parse:Ve(e),render:Re(e),toExternalHTML:Fe(e),runsBefore:["file"]}));class je{constructor(){y(this,"callbacks",{})}on(t,n){return this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(n),()=>this.off(t,n)}emit(t,...n){const o=this.callbacks[t];o&&o.forEach(r=>r.apply(this,n))}off(t,n){const o=this.callbacks[t];o&&(n?this.callbacks[t]=o.filter(r=>r!==n):delete this.callbacks[t])}removeAllListeners(){this.callbacks={}}}class Ue extends je{constructor(...n){super();y(this,"plugins",[]);y(this,"inputRules");y(this,"keyboardShortcuts");y(this,"tiptapExtensions")}static key(){throw new Error("You must implement the key method in your extension")}addProsemirrorPlugin(n){this.plugins.push(n)}get priority(){}}function x(e){const t=Object.create(Ue.prototype);return t.key=e.key,t.inputRules=e.inputRules,t.keyboardShortcuts=e.keyboardShortcuts,t.plugins=e.plugins??[],t.tiptapExtensions=e.tiptapExtensions,t}const he=Symbol.for("blocknote.shikiParser"),Z=Symbol.for("blocknote.shikiHighlighterPromise");function kn(e){const t=globalThis;let n,o,r=!1;const a=s=>{if(!e.createHighlighter)return process.env.NODE_ENV==="development"&&!r&&(console.log("For syntax highlighting of code blocks, you must provide a `createCodeBlockSpec({ createHighlighter: () => ... })` function"),r=!0),[];if(!n)return t[Z]=t[Z]||e.createHighlighter(),t[Z].then(l=>{n=l});const c=oe(e,s.language);return!c||c==="text"||c==="none"||c==="plaintext"||c==="txt"?[]:n.getLoadedLanguages().includes(c)?(o||(o=t[he]||Wt.createParser(n),t[he]=o),o(s)):n.loadLanguage(c)};return Ft.createHighlightPlugin({parser:a,languageExtractor:s=>s.attrs.language,nodeTypes:["codeBlock"]})}const qe=({defaultLanguage:e="text"})=>({type:"codeBlock",propSchema:{language:{default:e}},content:"inline"}),$e=S(qe,e=>({meta:{code:!0,defining:!0,isolating:!1},parse:t=>{var r,a;if(t.tagName!=="PRE"||t.childElementCount!==1||((r=t.firstElementChild)==null?void 0:r.tagName)!=="CODE")return;const n=t.firstElementChild;return{language:n.getAttribute("data-language")||((a=n.className.split(" ").find(s=>s.includes("language-")))==null?void 0:a.replace("language-",""))}},parseContent:({el:t,schema:n})=>{const o=B.DOMParser.fromSchema(n),r=t.firstElementChild;return o.parse(r,{preserveWhitespace:"full",topNode:n.nodes.codeBlock.create()}).content},render(t,n){const o=document.createDocumentFragment(),r=document.createElement("pre"),a=document.createElement("code");r.appendChild(a);let s;if(e.supportedLanguages){const c=document.createElement("select");Object.entries(e.supportedLanguages??{}).forEach(([u,{name:d}])=>{const p=document.createElement("option");p.value=u,p.text=d,c.appendChild(p)}),c.value=t.props.language||e.defaultLanguage||"text";const l=u=>{const d=u.target.value;n.updateBlock(t.id,{props:{language:d}})};c.addEventListener("change",l),s=()=>c.removeEventListener("change",l);const i=document.createElement("div");i.contentEditable="false",i.appendChild(c),o.appendChild(i)}return o.appendChild(r),{dom:o,contentDOM:a,destroy:()=>{s==null||s()}}},toExternalHTML(t){const n=document.createElement("pre"),o=document.createElement("code");return o.className=`language-${t.props.language}`,o.dataset.language=t.props.language,n.appendChild(o),{dom:n,contentDOM:o}}}),e=>[x({key:"code-block-highlighter",plugins:[kn(e)]}),x({key:"code-block-keyboard-shortcuts",keyboardShortcuts:{Delete:({editor:t})=>t.transact(n=>{const{block:o}=t.getTextCursorPosition();if(o.type!=="codeBlock")return!1;const{$from:r}=n.selection;return r.parent.textContent?!1:(t.removeBlocks([o]),!0)}),Tab:({editor:t})=>e.indentLineWithTab===!1?!1:t.transact(n=>{const{block:o}=t.getTextCursorPosition();return o.type==="codeBlock"?(n.insertText(" "),!0):!1}),Enter:({editor:t})=>t.transact(n=>{const{block:o,nextBlock:r}=t.getTextCursorPosition();if(o.type!=="codeBlock")return!1;const{$from:a}=n.selection,s=a.parentOffset===a.parent.nodeSize-2,c=a.parent.textContent.endsWith(`
|
|
3
|
+
|
|
4
|
+
`);if(s&&c){if(n.delete(a.pos-2,a.pos),r)return t.setTextCursorPosition(r,"start"),!0;const[l]=t.insertBlocks([{type:"paragraph"}],o,"after");return t.setTextCursorPosition(l,"start"),!0}return n.insertText(`
|
|
5
|
+
`),!0}),"Shift-Enter":({editor:t})=>t.transact(()=>{const{block:n}=t.getTextCursorPosition();if(n.type!=="codeBlock")return!1;const[o]=t.insertBlocks([{type:"paragraph"}],n,"after");return t.setTextCursorPosition(o,"start"),!0})},inputRules:[{find:/^```(.*?)\s$/,replace:({match:t})=>{const n=t[1].trim();return{type:"codeBlock",props:{language:{language:oe(e,n)??n}.language},content:[]}}}]})]);function oe(e,t){var n;return(n=Object.entries(e.supportedLanguages??{}).find(([o,{aliases:r}])=>(r==null?void 0:r.includes(t))||o===t))==null?void 0:n[0]}const Ge=()=>({type:"divider",propSchema:{},content:"none"}),Ze=S(Ge,{meta:{isolating:!1},parse(e){if(e.tagName==="HR")return{}},render(){return{dom:document.createElement("hr")}}},[x({key:"divider-block-shortcuts",inputRules:[{find:new RegExp("^---$"),replace(){return{type:"divider",props:{},content:[]}}}]})]),ge=e=>({url:e.src||void 0}),ze=()=>({type:"file",propSchema:{backgroundColor:m.backgroundColor,name:{default:""},url:{default:""},caption:{default:""}},content:"none"}),Xe=()=>e=>{if(e.tagName==="EMBED"){if(e.closest("figure"))return;const{backgroundColor:t}=v(e);return{...ge(e),backgroundColor:t}}if(e.tagName==="FIGURE"){const t=q(e,"embed");if(!t)return;const{targetElement:n,caption:o}=t,{backgroundColor:r}=v(e);return{...ge(n),backgroundColor:r,caption:o}}},Ke=S(ze,{meta:{fileBlockAccept:["*/*"]},parse:Xe(),render(e,t){return te(e,t)},toExternalHTML(e){if(!e.props.url){const n=document.createElement("p");return n.textContent="Add file",{dom:n}}const t=document.createElement("a");return t.href=e.props.url,t.textContent=e.props.name||e.props.url,e.props.caption?$(t,e.props.caption):{dom:t}}}),Ye={set:(e,t)=>window.localStorage.setItem(`toggle-${e.id}`,t?"true":"false"),get:e=>window.localStorage.getItem(`toggle-${e.id}`)==="true"},re=(e,t,n,o=Ye)=>{if("isToggleable"in e.props&&!e.props.isToggleable)return{dom:n};const r=document.createElement("div"),a=document.createElement("div");a.className="bn-toggle-wrapper";const s=document.createElement("button");s.className="bn-toggle-button",s.type="button",s.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="CURRENTCOLOR"><path d="M320-200v-560l440 280-440 280Z"/></svg>';const c=f=>f.preventDefault();s.addEventListener("mousedown",c);const l=()=>{var f;a.getAttribute("data-show-children")==="true"?(a.setAttribute("data-show-children","false"),o.set(t.getBlock(e),!1),r.contains(i)&&r.removeChild(i)):(a.setAttribute("data-show-children","true"),o.set(t.getBlock(e),!0),((f=t.getBlock(e))==null?void 0:f.children.length)===0&&!r.contains(i)&&r.appendChild(i))};s.addEventListener("click",l),a.appendChild(s),a.appendChild(n);const i=document.createElement("button");i.className="bn-toggle-add-block-button",i.type="button",i.textContent=t.dictionary.toggle_blocks.add_block_button;const u=f=>f.preventDefault();i.addEventListener("mousedown",u);const d=()=>{t.transact(()=>{const f=t.updateBlock(e,{children:[{}]});t.setTextCursorPosition(f.children[0].id,"end"),t.focus()})};i.addEventListener("click",d),r.appendChild(a);let p=e.children.length;const h=t.onChange(()=>{var w;const f=((w=t.getBlock(e))==null?void 0:w.children.length)??0;f>p?(a.getAttribute("data-show-children")==="false"&&(a.setAttribute("data-show-children","true"),o.set(t.getBlock(e),!0)),r.contains(i)&&r.removeChild(i)):f===0&&f<p&&(a.getAttribute("data-show-children")==="true"&&(a.setAttribute("data-show-children","false"),o.set(t.getBlock(e),!1)),r.contains(i)&&r.removeChild(i)),p=f});return o.get(e)?(a.setAttribute("data-show-children","true"),e.children.length===0&&r.appendChild(i)):a.setAttribute("data-show-children","false"),{dom:r,ignoreMutation:f=>f instanceof MutationRecord&&(f.type==="attributes"&&f.target===a&&f.attributeName==="data-show-children"||f.type==="childList"&&(f.addedNodes[0]===i||f.removedNodes[0]===i)),destroy:()=>{s.removeEventListener("mousedown",c),s.removeEventListener("click",l),i.removeEventListener("mousedown",u),i.removeEventListener("click",d),h==null||h()}}},Qe=[1,2,3,4,5,6],Je=({defaultLevel:e=1,levels:t=Qe,allowToggleHeadings:n=!0}={})=>({type:"heading",propSchema:{...m,level:{default:e,values:t},...n?{isToggleable:{default:!1,optional:!0}}:{}},content:"inline"}),et=S(Je,({allowToggleHeadings:e=!0}={})=>({meta:{isolating:!1},parse(t){let n;switch(t.tagName){case"H1":n=1;break;case"H2":n=2;break;case"H3":n=3;break;case"H4":n=4;break;case"H5":n=5;break;case"H6":n=6;break;default:return}return{...v(t),level:n}},render(t,n){const o=document.createElement(`h${t.props.level}`);return e?{...re(t,n,o),contentDOM:o}:{dom:o,contentDOM:o}},toExternalHTML(t){const n=document.createElement(`h${t.props.level}`);return P(t.props,n),{dom:n,contentDOM:n}}}),({levels:e=Qe}={})=>[x({key:"heading-shortcuts",keyboardShortcuts:Object.fromEntries(e.map(t=>[`Mod-Alt-${t}`,({editor:n})=>{const o=n.getTextCursorPosition();return n.schema.blockSchema[o.block.type].content!=="inline"?!1:(n.updateBlock(o.block,{type:"heading",props:{level:t}}),!0)}])??[]),inputRules:e.map(t=>({find:new RegExp(`^(#{${t}})\\s$`),replace({match:n}){return{type:"heading",props:{level:n[1].length}}}}))})]),tt=(e,t,n,o,r)=>{const{dom:a,destroy:s}=te(e,t,n,r),c=a;c.style.position="relative",e.props.url&&e.props.showPreview&&(e.props.previewWidth?c.style.width=`${e.props.previewWidth}px`:c.style.width="fit-content");const l=document.createElement("div");l.className="bn-resize-handle",l.style.left="4px";const i=document.createElement("div");i.className="bn-resize-handle",i.style.right="4px";const u=document.createElement("div");u.style.position="absolute",u.style.height="100%",u.style.width="100%";let d,p=e.props.previewWidth;const h=k=>{var de,ue;if(!d){!t.isEditable&&o.contains(l)&&o.contains(i)&&(o.removeChild(l),o.removeChild(i));return}let M;const F="touches"in k?k.touches[0].clientX:k.clientX;e.props.textAlignment==="center"?d.handleUsed==="left"?M=d.initialWidth+(d.initialClientX-F)*2:M=d.initialWidth+(F-d.initialClientX)*2:d.handleUsed==="left"?M=d.initialWidth+d.initialClientX-F:M=d.initialWidth+F-d.initialClientX,p=Math.min(Math.max(M,64),((ue=(de=t.domElement)==null?void 0:de.firstElementChild)==null?void 0:ue.clientWidth)||Number.MAX_VALUE),c.style.width=`${p}px`},f=k=>{(!k.target||!c.contains(k.target)||!t.isEditable)&&o.contains(l)&&o.contains(i)&&(o.removeChild(l),o.removeChild(i)),d&&(d=void 0,c.contains(u)&&c.removeChild(u),t.updateBlock(e,{props:{previewWidth:p}}))},w=()=>{t.isEditable&&(o.appendChild(l),o.appendChild(i))},T=k=>{k.relatedTarget===l||k.relatedTarget===i||d||t.isEditable&&o.contains(l)&&o.contains(i)&&(o.removeChild(l),o.removeChild(i))},L=k=>{k.preventDefault(),c.contains(u)||c.appendChild(u);const M="touches"in k?k.touches[0].clientX:k.clientX;d={handleUsed:"left",initialWidth:c.clientWidth,initialClientX:M}},H=k=>{k.preventDefault(),c.contains(u)||c.appendChild(u);const M="touches"in k?k.touches[0].clientX:k.clientX;d={handleUsed:"right",initialWidth:c.clientWidth,initialClientX:M}};return window.addEventListener("mousemove",h),window.addEventListener("touchmove",h),window.addEventListener("mouseup",f),window.addEventListener("touchend",f),c.addEventListener("mouseenter",w),c.addEventListener("mouseleave",T),l.addEventListener("mousedown",L),l.addEventListener("touchstart",L),i.addEventListener("mousedown",H),i.addEventListener("touchstart",H),{dom:c,destroy:()=>{s==null||s(),window.removeEventListener("mousemove",h),window.removeEventListener("touchmove",h),window.removeEventListener("mouseup",f),window.removeEventListener("touchend",f),c.removeEventListener("mouseenter",w),c.removeEventListener("mouseleave",T),l.removeEventListener("mousedown",L),l.removeEventListener("touchstart",L),i.removeEventListener("mousedown",H),i.removeEventListener("touchstart",H)}}},be=e=>{const t=e.src||void 0,n=e.width||void 0,o=e.alt||void 0;return{url:t,previewWidth:n,name:o}},nt='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M5 11.1005L7 9.1005L12.5 14.6005L16 11.1005L19 14.1005V5H5V11.1005ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3ZM15.5 10C14.6716 10 14 9.32843 14 8.5C14 7.67157 14.6716 7 15.5 7C16.3284 7 17 7.67157 17 8.5C17 9.32843 16.3284 10 15.5 10Z"></path></svg>',ot=(e={})=>({type:"image",propSchema:{textAlignment:m.textAlignment,backgroundColor:m.backgroundColor,name:{default:""},url:{default:""},caption:{default:""},showPreview:{default:!0},previewWidth:{default:void 0,type:"number"}},content:"none"}),rt=(e={})=>t=>{if(t.tagName==="IMG"){if(t.closest("figure"))return;const{backgroundColor:n}=v(t);return{...be(t),backgroundColor:n}}if(t.tagName==="FIGURE"){const n=q(t,"img");if(!n)return;const{targetElement:o,caption:r}=n,{backgroundColor:a}=v(t);return{...be(o),backgroundColor:a,caption:r}}},at=(e={})=>(t,n)=>{const o=document.createElement("div");o.innerHTML=e.icon??nt;const r=document.createElement("div");r.className="bn-visual-media-wrapper";const a=document.createElement("img");return a.className="bn-visual-media",n.resolveFileUrl?n.resolveFileUrl(t.props.url).then(s=>{a.src=s}):a.src=t.props.url,a.alt=t.props.name||t.props.caption||"BlockNote image",a.contentEditable="false",a.draggable=!1,r.appendChild(a),tt(t,n,{dom:r},r,o.firstElementChild)},st=(e={})=>(t,n)=>{if(!t.props.url){const r=document.createElement("p");return r.textContent="Add image",{dom:r}}let o;return t.props.showPreview?(o=document.createElement("img"),o.src=t.props.url,o.alt=t.props.name||t.props.caption||"BlockNote image",t.props.previewWidth&&(o.width=t.props.previewWidth)):(o=document.createElement("a"),o.href=t.props.url,o.textContent=t.props.name||t.props.url),t.props.caption?t.props.showPreview?ne(o,t.props.caption):$(o,t.props.caption):{dom:o}},ct=S(ot,e=>({meta:{fileBlockAccept:["image/*"]},parse:rt(e),render:at(e),toExternalHTML:st(e),runsBefore:["file"]})),Cn=(e,t,n)=>({state:o,dispatch:r})=>r?it(o.tr,e,t,n):!0,it=(e,t,n,o)=>{const r=g.getNearestBlockPos(e.doc,t),a=g.getBlockInfo(r);if(!a.isBlockContainer)return!1;const s=g.getPmSchema(e),c=[{type:a.bnBlock.node.type,attrs:o?{...a.bnBlock.node.attrs,id:void 0}:{}},{type:n?a.blockContent.node.type:s.nodes.paragraph,attrs:o?{...a.blockContent.node.attrs}:{}}];return e.split(t,2,c),!0},G=(e,t)=>{const{blockInfo:n,selectionEmpty:o}=e.transact(s=>({blockInfo:g.getBlockInfoFromTransaction(s),selectionEmpty:s.selection.anchor===s.selection.head}));if(!n.isBlockContainer)return!1;const{bnBlock:r,blockContent:a}=n;return a.node.type.name!==t||!o?!1:a.node.childCount===0?(e.transact(s=>{U(s,r.beforePos,{type:"paragraph",props:{}})}),!0):a.node.childCount>0?e.transact(s=>(s.deleteSelection(),it(s,s.selection.from,!0))):!1};function ae(e,t,n){var d,p,h;const o=B.DOMParser.fromSchema(t),r=e,a=document.createElement("div");a.setAttribute("data-node-type","blockGroup");for(const f of Array.from(r.childNodes))a.appendChild(f.cloneNode(!0));let s=o.parse(a,{topNode:t.nodes.blockGroup.create()});((p=(d=s.firstChild)==null?void 0:d.firstChild)==null?void 0:p.type.name)==="checkListItem"&&(s=s.copy(s.content.cut(s.firstChild.firstChild.nodeSize+2)));const c=(h=s.firstChild)==null?void 0:h.firstChild;if(!(c!=null&&c.isTextblock))return B.Fragment.from(s);const l=t.nodes[n].create({},c.content),i=s.content.cut(c.nodeSize+2);if(i.size>0){const f=s.copy(i);return l.content.addToEnd(f)}return l.content}const lt=()=>({type:"bulletListItem",propSchema:{...m},content:"inline"}),dt=S(lt,{meta:{isolating:!1},parse(e){var n;if(e.tagName!=="LI")return;const t=e.parentElement;if(t!==null&&(t.tagName==="UL"||t.tagName==="DIV"&&((n=t.parentElement)==null?void 0:n.tagName)==="UL"))return v(e)},parseContent:({el:e,schema:t})=>ae(e,t,"bulletListItem"),render(){const e=document.createElement("p");return{dom:e,contentDOM:e}},toExternalHTML(e){const t=document.createElement("li"),n=document.createElement("p");return P(e.props,t),t.appendChild(n),{dom:t,contentDOM:n}}},[x({key:"bullet-list-item-shortcuts",keyboardShortcuts:{Enter:({editor:e})=>G(e,"bulletListItem"),"Mod-Shift-8":({editor:e})=>{const t=e.getTextCursorPosition();return e.schema.blockSchema[t.block.type].content!=="inline"?!1:(e.updateBlock(t.block,{type:"bulletListItem",props:{}}),!0)}},inputRules:[{find:new RegExp("^[-+*]\\s$"),replace({editor:e}){if(g.getBlockInfoFromSelection(e.prosemirrorState).blockNoteType!=="heading")return{type:"bulletListItem",props:{}}}}]})]),ut=()=>({type:"checkListItem",propSchema:{...m,checked:{default:!1,type:"boolean"}},content:"inline"}),pt=S(ut,{meta:{isolating:!1},parse(e){var n;if(e.tagName==="input")return e.closest("[data-content-type]")||e.closest("li")?void 0:e.type==="checkbox"?{checked:e.checked}:void 0;if(e.tagName!=="LI")return;const t=e.parentElement;if(t!==null&&(t.tagName==="UL"||t.tagName==="DIV"&&((n=t.parentElement)==null?void 0:n.tagName)==="UL")){const o=e.querySelector("input[type=checkbox]")||null;return o===null?void 0:{...v(e),checked:o.checked}}},parseContent:({el:e,schema:t})=>ae(e,t,"checkListItem"),render(e,t){const n=document.createDocumentFragment(),o=document.createElement("input");o.type="checkbox",o.checked=e.props.checked,e.props.checked&&o.setAttribute("checked",""),o.addEventListener("change",()=>{t.updateBlock(e,{props:{checked:!e.props.checked}})});const r=document.createElement("p");return n.appendChild(o),n.appendChild(r),{dom:n,contentDOM:r}},toExternalHTML(e){const t=document.createElement("li"),n=document.createElement("input");n.type="checkbox",n.checked=e.props.checked,e.props.checked&&n.setAttribute("checked","");const o=document.createElement("p");return P(e.props,t),t.appendChild(n),t.appendChild(o),{dom:t,contentDOM:o}},runsBefore:["bulletListItem"]},[x({key:"check-list-item-shortcuts",keyboardShortcuts:{Enter:({editor:e})=>G(e,"checkListItem"),"Mod-Shift-9":({editor:e})=>{const t=e.getTextCursorPosition();return e.schema.blockSchema[t.block.type].content!=="inline"?!1:(e.updateBlock(t.block,{type:"checkListItem",props:{}}),!0)}},inputRules:[{find:new RegExp("\\[\\s*\\]\\s$"),replace(){return{type:"checkListItem",props:{checked:!1},content:[]}}},{find:new RegExp("\\[[Xx]\\]\\s$"),replace(){return{type:"checkListItem",props:{checked:!0}}}}]})]);function ft(e,t,n,o){let r=e.firstChild.attrs.start||1,a=!0;const s=!!e.firstChild.attrs.start,c=g.getBlockInfo({posBeforeNode:t,node:e});if(!c.isBlockContainer)throw new Error("impossible");const l=n.doc.resolve(c.bnBlock.beforePos).nodeBefore,i=l?o.get(l):void 0;return i!==void 0?(r=i+1,a=!1):l&&g.getBlockInfo({posBeforeNode:c.bnBlock.beforePos-l.nodeSize,node:l}).blockNoteType==="numberedListItem"&&(r=ft(l,c.bnBlock.beforePos-l.nodeSize,n,o).index+1,a=!1),o.set(e,r),{index:r,isFirst:a,hasStart:s}}function ke(e,t){const n=new Map,o=t.decorations.map(e.mapping,e.doc),r=[];e.doc.nodesBetween(0,e.doc.nodeSize-2,(s,c)=>{if(s.type.name==="blockContainer"&&s.firstChild.type.name==="numberedListItem"){const{index:l,isFirst:i,hasStart:u}=ft(s,c,e,n);if(o.find(c,c+s.nodeSize,p=>p.index===l&&p.isFirst===i&&p.hasStart===u).length===0){const p=e.doc.nodeAt(c+1);r.push(z.Decoration.node(c+1,c+1+p.nodeSize,{"data-index":l.toString()}))}}});const a=r.flatMap(s=>o.find(s.from,s.to));return{decorations:o.remove(a).add(e.doc,r)}}const yn=()=>new W.Plugin({key:new W.PluginKey("numbered-list-indexing-decorations"),state:{init(e,t){return ke(t.tr,{decorations:z.DecorationSet.empty})},apply(e,t){return!e.docChanged&&!e.selectionSet&&t.decorations?t:ke(e,t)}},props:{decorations(e){var t;return((t=this.getState(e))==null?void 0:t.decorations)??z.DecorationSet.empty}}}),mt=()=>({type:"numberedListItem",propSchema:{...m,start:{default:void 0,type:"number"}},content:"inline"}),ht=S(mt,{meta:{isolating:!1},parse(e){var n;if(e.tagName!=="LI")return;const t=e.parentElement;if(t!==null&&(t.tagName==="OL"||t.tagName==="DIV"&&((n=t.parentElement)==null?void 0:n.tagName)==="OL")){const o=parseInt(t.getAttribute("start")||"1"),r=v(e);return e.previousElementSibling||o===1?r:{...r,start:o}}},parseContent:({el:e,schema:t})=>ae(e,t,"numberedListItem"),render(){const e=document.createElement("p");return{dom:e,contentDOM:e}},toExternalHTML(e){const t=document.createElement("li"),n=document.createElement("p");return P(e.props,t),t.appendChild(n),{dom:t,contentDOM:n}}},[x({key:"numbered-list-item-shortcuts",inputRules:[{find:new RegExp("^(\\d+)\\.\\s$"),replace({match:e,editor:t}){if(g.getBlockInfoFromSelection(t.prosemirrorState).blockNoteType==="heading")return;const o=parseInt(e[1]);return{type:"numberedListItem",props:{start:o!==1?o:void 0}}}}],keyboardShortcuts:{Enter:({editor:e})=>G(e,"numberedListItem"),"Mod-Shift-7":({editor:e})=>{const t=e.getTextCursorPosition();return e.schema.blockSchema[t.block.type].content!=="inline"?!1:(e.updateBlock(t.block,{type:"numberedListItem",props:{}}),!0)}},plugins:[yn()]})]),gt=()=>({type:"toggleListItem",propSchema:{...m},content:"inline"}),bt=S(gt,{meta:{isolating:!1},render(e,t){const n=document.createElement("p");return{...re(e,t,n),contentDOM:n}},toExternalHTML(e){const t=document.createElement("li"),n=document.createElement("p");return P(e.props,t),t.appendChild(n),{dom:t,contentDOM:n}}},[x({key:"toggle-list-item-shortcuts",keyboardShortcuts:{Enter:({editor:e})=>G(e,"toggleListItem"),"Mod-Shift-6":({editor:e})=>{const t=e.getTextCursorPosition();return e.schema.blockSchema[t.block.type].content!=="inline"?!1:(e.updateBlock(t.block,{type:"toggleListItem",props:{}}),!0)}}})]),kt=()=>({type:"pageBreak",propSchema:{},content:"none"}),Ct=S(kt,{parse(e){if(e.tagName==="DIV"&&e.hasAttribute("data-page-break"))return{}},render(){const e=document.createElement("div");return e.setAttribute("data-page-break",""),{dom:e}},toExternalHTML(){const e=document.createElement("div");return e.setAttribute("data-page-break",""),{dom:e}}}),vn=e=>e.extend({blockSpecs:{pageBreak:Ct()}}),yt=()=>({type:"paragraph",propSchema:m,content:"inline"}),vt=S(yt,{meta:{isolating:!1},parse:e=>{var t;if(e.tagName==="P"&&(t=e.textContent)!=null&&t.trim())return v(e)},render:()=>{const e=document.createElement("p");return{dom:e,contentDOM:e}},toExternalHTML:e=>{const t=document.createElement("p");return P(e.props,t),{dom:t,contentDOM:t}},runsBefore:["default"]},[x({key:"paragraph-shortcuts",keyboardShortcuts:{"Mod-Alt-0":({editor:e})=>{const t=e.getTextCursorPosition();return e.schema.blockSchema[t.block.type].content!=="inline"?!1:(e.updateBlock(t.block,{type:"paragraph",props:{}}),!0)}}})]),St=()=>({type:"quote",propSchema:{backgroundColor:m.backgroundColor,textColor:m.textColor},content:"inline"}),Et=S(St,{meta:{isolating:!1},parse(e){if(e.tagName==="BLOCKQUOTE"){const{backgroundColor:t,textColor:n}=v(e);return{backgroundColor:t,textColor:n}}},render(){const e=document.createElement("blockquote");return{dom:e,contentDOM:e}},toExternalHTML(e){const t=document.createElement("blockquote");return P(e.props,t),{dom:t,contentDOM:t}}},[x({key:"quote-block-shortcuts",keyboardShortcuts:{"Mod-Alt-q":({editor:e})=>{const t=e.getTextCursorPosition();return e.schema.blockSchema[t.block.type].content!=="inline"?!1:(e.updateBlock(t.block,{type:"quote",props:{}}),!0)}},inputRules:[{find:new RegExp("^>\\s$"),replace(){return{type:"quote",props:{}}}}]})]),Sn=35,se=120,En=31,Bn=E.Extension.create({name:"BlockNoteTableExtension",addProseMirrorPlugins:()=>[I.columnResizing({cellMinWidth:Sn,defaultCellMinWidth:se,View:null}),I.tableEditing()],addKeyboardShortcuts(){return{Enter:()=>this.editor.state.selection.empty&&this.editor.state.selection.$head.parent.type.name==="tableParagraph"?(this.editor.commands.insertContent({type:"hardBreak"}),!0):!1,Backspace:()=>{const e=this.editor.state.selection,t=e.empty,n=e.$head.parentOffset===0,o=e.$head.node().type.name==="tableParagraph";return t&&n&&o},Tab:()=>this.editor.commands.command(({state:e,dispatch:t,view:n})=>I.goToNextCell(1)(e,t,n)),"Shift-Tab":()=>this.editor.commands.command(({state:e,dispatch:t,view:n})=>I.goToNextCell(-1)(e,t,n))}},extendNodeSchema(e){const t={name:e.name,options:e.options,storage:e.storage};return{tableRole:E.callOrReturn(E.getExtensionField(e,"tableRole",t))}}}),Bt={textColor:m.textColor},xn=E.Node.create({name:"tableHeader",addOptions(){return{HTMLAttributes:{}}},content:"tableContent+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:e=>{const t=e.getAttribute("colwidth");return t?t.split(",").map(o=>parseInt(o,10)):null}}}},tableRole:"header_cell",isolating:!0,parseHTML(){return[{tag:"th",getContent:(e,t)=>xt(e,t)}]},renderHTML({HTMLAttributes:e}){return["th",E.mergeAttributes(this.options.HTMLAttributes,e),0]}}),wn=E.Node.create({name:"tableCell",addOptions(){return{HTMLAttributes:{}}},content:"tableContent+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:e=>{const t=e.getAttribute("colwidth");return t?t.split(",").map(o=>parseInt(o,10)):null}}}},tableRole:"cell",isolating:!0,parseHTML(){return[{tag:"td",getContent:(e,t)=>xt(e,t)}]},renderHTML({HTMLAttributes:e}){return["td",E.mergeAttributes(this.options.HTMLAttributes,e),0]}}),Ln=E.Node.create({name:"table",content:"tableRow+",group:"blockContent",tableRole:"table",marks:"deletion insertion modification",isolating:!0,parseHTML(){return[{tag:"table"}]},renderHTML({node:e,HTMLAttributes:t}){var r,a,s;const n=ve(this.name,"table",{...((r=this.options.domAttributes)==null?void 0:r.blockContent)||{},...t},((a=this.options.domAttributes)==null?void 0:a.inlineContent)||{}),o=document.createElement("colgroup");for(const c of e.children[0].children)if(c.attrs.colwidth)for(const i of c.attrs.colwidth){const u=document.createElement("col");i&&(u.style=`width: ${i}px`),o.appendChild(u)}else o.appendChild(document.createElement("col"));return(s=n.dom.firstChild)==null||s.appendChild(o),n},addNodeView(){return({node:e,HTMLAttributes:t})=>{var o;class n extends I.TableView{constructor(a,s,c){super(a,s),this.node=a,this.cellMinWidth=s,this.blockContentHTMLAttributes=c;const l=document.createElement("div");l.className=O("bn-block-content",c.class),l.setAttribute("data-content-type","table");for(const[p,h]of Object.entries(c))p!=="class"&&l.setAttribute(p,h);const i=this.dom,u=document.createElement("div");u.className="tableWrapper-inner",u.appendChild(i.firstChild),i.appendChild(u),l.appendChild(i);const d=document.createElement("div");d.className="table-widgets-container",d.style.position="relative",i.appendChild(d),this.dom=l}ignoreMutation(a){return!a.target.closest(".tableWrapper-inner")||super.ignoreMutation(a)}}return new n(e,se,{...((o=this.options.domAttributes)==null?void 0:o.blockContent)||{},...t})}}}),Tn=E.Node.create({name:"tableParagraph",group:"tableContent",content:"inline*",parseHTML(){return[{tag:"p",getAttrs:e=>{if(typeof e=="string"||!e.textContent||!e.closest("[data-content-type]"))return!1;const t=e.parentElement;return t===null?!1:t.tagName==="TD"||t.tagName==="TH"?{}:!1},node:"tableParagraph"}]},renderHTML({HTMLAttributes:e}){return["p",e,0]}}),Mn=E.Node.create({name:"tableRow",addOptions(){return{HTMLAttributes:{}}},content:"(tableCell | tableHeader)+",tableRole:"row",marks:"deletion insertion modification",parseHTML(){return[{tag:"tr"}]},renderHTML({HTMLAttributes:e}){return["tr",E.mergeAttributes(this.options.HTMLAttributes,e),0]}});function xt(e,t){const o=B.DOMParser.fromSchema(t).parse(e,{topNode:t.nodes.blockGroup.create()}),r=[];return o.content.descendants(a=>{if(a.isInline)return r.push(a),!1}),B.Fragment.fromArray(r)}const wt=()=>xe({node:Ln,type:"table",content:"table"},Bt,[x({key:"table-extensions",tiptapExtensions:[Bn,Tn,xn,wn,Mn]}),x({key:"table-keyboard-delete",keyboardShortcuts:{Backspace:({editor:e})=>{if(!(e.prosemirrorState.selection instanceof I.CellSelection))return!1;const t=e.getTextCursorPosition().block,n=t.content;let o=0;for(const a of n.rows)for(const s of a.cells){if("type"in s&&s.content.length>0||!("type"in s)&&s.length>0)return!1;o++}let r=0;return e.prosemirrorState.selection.forEachCell(()=>{r++}),r<o?!1:(e.transact(()=>{(e.getPrevBlock(t)||e.getNextBlock(t))&&e.setTextCursorPosition(t),e.removeBlocks([t])}),!0)}}})]),Ce=e=>{const t=e.src||void 0,n=e.width||void 0;return{url:t,previewWidth:n}},Lt='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M2 3.9934C2 3.44476 2.45531 3 2.9918 3H21.0082C21.556 3 22 3.44495 22 3.9934V20.0066C22 20.5552 21.5447 21 21.0082 21H2.9918C2.44405 21 2 20.5551 2 20.0066V3.9934ZM8 5V19H16V5H8ZM4 5V7H6V5H4ZM18 5V7H20V5H18ZM4 9V11H6V9H4ZM18 9V11H20V9H18ZM4 13V15H6V13H4ZM18 13V15H20V13H18ZM4 17V19H6V17H4ZM18 17V19H20V17H18Z"></path></svg>',Tt=e=>({type:"video",propSchema:{textAlignment:m.textAlignment,backgroundColor:m.backgroundColor,name:{default:""},url:{default:""},caption:{default:""},showPreview:{default:!0},previewWidth:{default:void 0,type:"number"}},content:"none"}),Mt=e=>t=>{if(t.tagName==="VIDEO"){if(t.closest("figure"))return;const{backgroundColor:n}=v(t);return{...Ce(t),backgroundColor:n}}if(t.tagName==="FIGURE"){const n=q(t,"video");if(!n)return;const{targetElement:o,caption:r}=n,{backgroundColor:a}=v(t);return{...Ce(o),backgroundColor:a,caption:r}}},At=S(Tt,e=>({meta:{fileBlockAccept:["video/*"]},parse:Mt(),render(t,n){const o=document.createElement("div");o.innerHTML=e.icon??Lt;const r=document.createElement("div");r.className="bn-visual-media-wrapper";const a=document.createElement("video");return a.className="bn-visual-media",n.resolveFileUrl?n.resolveFileUrl(t.props.url).then(s=>{a.src=s}):a.src=t.props.url,a.controls=!0,a.contentEditable="false",a.draggable=!1,a.width=t.props.previewWidth,r.appendChild(a),tt(t,n,{dom:r},r,o.firstElementChild)},toExternalHTML(t){if(!t.props.url){const o=document.createElement("p");return o.textContent="Add video",{dom:o}}let n;return t.props.showPreview?(n=document.createElement("video"),n.src=t.props.url,t.props.previewWidth&&(n.width=t.props.previewWidth)):(n=document.createElement("a"),n.href=t.props.url,n.textContent=t.props.name||t.props.url),t.props.caption?t.props.showPreview?ne(n,t.props.caption):$(n,t.props.caption):{dom:n}},runsBefore:["file"]})),An=async e=>{const t=new FormData;return t.append("file",e),(await(await fetch("https://tmpfiles.org/api/v1/upload",{method:"POST",body:t})).json()).data.url.replace("tmpfiles.org/","tmpfiles.org/dl/")};function C(e,t,n){if(!(t in e.schema.blockSpecs))return!1;if(!n)return!0;for(const[o,r]of Object.entries(n)){if(!(o in e.schema.blockSpecs[t].config.propSchema))return!1;if(typeof r=="string"){if(e.schema.blockSpecs[t].config.propSchema[o].default!==void 0&&typeof e.schema.blockSpecs[t].config.propSchema[o].default!==r||e.schema.blockSpecs[t].config.propSchema[o].type!==void 0&&e.schema.blockSpecs[t].config.propSchema[o].type!==r)return!1}else{if(e.schema.blockSpecs[t].config.propSchema[o].default!==r.default||e.schema.blockSpecs[t].config.propSchema[o].default===void 0&&r.default===void 0&&e.schema.blockSpecs[t].config.propSchema[o].type!==r.type||typeof e.schema.blockSpecs[t].config.propSchema[o].values!=typeof r.values)return!1;if(typeof e.schema.blockSpecs[t].config.propSchema[o].values=="object"&&typeof r.values=="object"){for(const a of r.values)if(!e.schema.blockSpecs[t].config.propSchema[o].values.includes(a))return!1}}}return!0}function In(e,t,n,o){return C(t,n,o)&&e.type===n}function Nn(e){return e instanceof I.CellSelection}function Pn(e){let t=e.getTextCursorPosition().block,n=e.schema.blockSchema[t.type].content;for(;n==="none";){if(t=e.getTextCursorPosition().nextBlock,t===void 0)return;n=e.schema.blockSchema[t.type].content,e.setTextCursorPosition(t,"end")}}function b(e,t){const n=e.getTextCursorPosition().block;if(n.content===void 0)throw new Error("Slash Menu open in a block that doesn't contain content.");let o;return Array.isArray(n.content)&&(n.content.length===1&&g.isStyledTextInlineContent(n.content[0])&&n.content[0].type==="text"&&n.content[0].text==="/"||n.content.length===0)?(o=e.updateBlock(n,t),e.setTextCursorPosition(o)):(o=e.insertBlocks([t],n,"after")[0],e.setTextCursorPosition(e.getTextCursorPosition().nextBlock)),Pn(e),o}function Hn(e){const t=[];return C(e,"heading",{level:"number"})&&t.push({onItemClick:()=>{b(e,{type:"heading",props:{level:1}})},badge:A("Mod-Alt-1"),key:"heading",...e.dictionary.slash_menu.heading},{onItemClick:()=>{b(e,{type:"heading",props:{level:2}})},badge:A("Mod-Alt-2"),key:"heading_2",...e.dictionary.slash_menu.heading_2},{onItemClick:()=>{b(e,{type:"heading",props:{level:3}})},badge:A("Mod-Alt-3"),key:"heading_3",...e.dictionary.slash_menu.heading_3}),C(e,"quote")&&t.push({onItemClick:()=>{b(e,{type:"quote"})},key:"quote",...e.dictionary.slash_menu.quote}),C(e,"toggleListItem")&&t.push({onItemClick:()=>{b(e,{type:"toggleListItem"})},badge:A("Mod-Shift-6"),key:"toggle_list",...e.dictionary.slash_menu.toggle_list}),C(e,"numberedListItem")&&t.push({onItemClick:()=>{b(e,{type:"numberedListItem"})},badge:A("Mod-Shift-7"),key:"numbered_list",...e.dictionary.slash_menu.numbered_list}),C(e,"bulletListItem")&&t.push({onItemClick:()=>{b(e,{type:"bulletListItem"})},badge:A("Mod-Shift-8"),key:"bullet_list",...e.dictionary.slash_menu.bullet_list}),C(e,"checkListItem")&&t.push({onItemClick:()=>{b(e,{type:"checkListItem"})},badge:A("Mod-Shift-9"),key:"check_list",...e.dictionary.slash_menu.check_list}),C(e,"paragraph")&&t.push({onItemClick:()=>{b(e,{type:"paragraph"})},badge:A("Mod-Alt-0"),key:"paragraph",...e.dictionary.slash_menu.paragraph}),C(e,"codeBlock")&&t.push({onItemClick:()=>{b(e,{type:"codeBlock"})},badge:A("Mod-Alt-c"),key:"code_block",...e.dictionary.slash_menu.code_block}),C(e,"divider")&&t.push({onItemClick:()=>{b(e,{type:"divider"})},key:"divider",...e.dictionary.slash_menu.divider}),C(e,"table")&&t.push({onItemClick:()=>{b(e,{type:"table",content:{type:"tableContent",rows:[{cells:["","",""]},{cells:["","",""]}]}})},badge:void 0,key:"table",...e.dictionary.slash_menu.table}),C(e,"image",{url:"string"})&&t.push({onItemClick:()=>{const n=b(e,{type:"image"});e.transact(o=>o.setMeta(e.filePanel.plugins[0],{block:n}))},key:"image",...e.dictionary.slash_menu.image}),C(e,"video",{url:"string"})&&t.push({onItemClick:()=>{const n=b(e,{type:"video"});e.transact(o=>o.setMeta(e.filePanel.plugins[0],{block:n}))},key:"video",...e.dictionary.slash_menu.video}),C(e,"audio",{url:"string"})&&t.push({onItemClick:()=>{const n=b(e,{type:"audio"});e.transact(o=>o.setMeta(e.filePanel.plugins[0],{block:n}))},key:"audio",...e.dictionary.slash_menu.audio}),C(e,"file",{url:"string"})&&t.push({onItemClick:()=>{const n=b(e,{type:"file"});e.transact(o=>o.setMeta(e.filePanel.plugins[0],{block:n}))},key:"file",...e.dictionary.slash_menu.file}),C(e,"heading",{level:"number",isToggleable:"boolean"})&&t.push({onItemClick:()=>{b(e,{type:"heading",props:{level:1,isToggleable:!0}})},key:"toggle_heading",...e.dictionary.slash_menu.toggle_heading},{onItemClick:()=>{b(e,{type:"heading",props:{level:2,isToggleable:!0}})},key:"toggle_heading_2",...e.dictionary.slash_menu.toggle_heading_2},{onItemClick:()=>{b(e,{type:"heading",props:{level:3,isToggleable:!0}})},key:"toggle_heading_3",...e.dictionary.slash_menu.toggle_heading_3}),C(e,"heading",{level:"number"})&&(e.schema.blockSchema.heading.propSchema.level.values||[]).filter(n=>n>3).forEach(n=>{t.push({onItemClick:()=>{b(e,{type:"heading",props:{level:n}})},key:`heading_${n}`,...e.dictionary.slash_menu[`heading_${n}`]})}),t.push({onItemClick:()=>{e.openSuggestionMenu(":",{deleteTriggerCharacter:!0,ignoreQueryLength:!0})},key:"emoji",...e.dictionary.slash_menu.emoji}),t}function Dn(e,t){return e.filter(({title:n,aliases:o})=>n.toLowerCase().includes(t.toLowerCase())||o&&o.filter(r=>r.toLowerCase().includes(t.toLowerCase())).length!==0)}function It(e){return"pageBreak"in e.schema.blockSchema}function On(e){const t=[];return It(e)&&t.push({...e.dictionary.slash_menu.page_break,onItemClick:()=>{b(e,{type:"pageBreak"})},key:"page_break"}),t}const Nt={audio:We(),bulletListItem:dt(),checkListItem:pt(),codeBlock:$e(),divider:Ze(),file:Ke(),heading:et(),image:ct(),numberedListItem:ht(),paragraph:vt(),quote:Et(),table:wt(),toggleListItem:bt(),video:At()},_n=ee({type:"textColor",propSchema:"string"},{render:()=>{const e=document.createElement("span");return{dom:e,contentDOM:e}},toExternalHTML:e=>{const t=document.createElement("span");return e!==m.textColor.default&&(t.style.color=e in N?N[e].text:e),{dom:t,contentDOM:t}},parse:e=>{if(e.tagName==="SPAN"&&e.style.color)return e.style.color}}),Vn=ee({type:"backgroundColor",propSchema:"string"},{render:()=>{const e=document.createElement("span");return{dom:e,contentDOM:e}},toExternalHTML:e=>{const t=document.createElement("span");return e!==m.backgroundColor.default&&(t.style.backgroundColor=e in N?N[e].background:e),{dom:t,contentDOM:t}},parse:e=>{if(e.tagName==="SPAN"&&e.style.backgroundColor)return e.style.backgroundColor}}),ce={bold:D(Ut.default,"boolean"),italic:D($t.default,"boolean"),underline:D(Zt.default,"boolean"),strike:D(Gt.default,"boolean"),code:D(qt.default,"boolean"),textColor:_n,backgroundColor:Vn},Rn=J(ce),ie={text:{config:"text",implementation:{}},link:{config:"link",implementation:{}}},Fn=Y(ie);class le extends Ne{static create(t){return new le({blockSpecs:(t==null?void 0:t.blockSpecs)??Nt,inlineContentSpecs:(t==null?void 0:t.inlineContentSpecs)??ie,styleSpecs:(t==null?void 0:t.styleSpecs)??ce})}}exports.BlockNoteExtension=Ue;exports.BlockNoteSchema=le;exports.COLORS_DARK_MODE_DEFAULT=un;exports.COLORS_DEFAULT=N;exports.CustomBlockNoteSchema=Ne;exports.EMPTY_CELL_HEIGHT=En;exports.EMPTY_CELL_WIDTH=se;exports.EventEmitter=je;exports.FILE_AUDIO_ICON_SVG=Oe;exports.FILE_IMAGE_ICON_SVG=nt;exports.FILE_VIDEO_ICON_SVG=Lt;exports.addDefaultPropsExternalHTML=P;exports.addInlineContentAttributes=Qt;exports.addInlineContentKeyboardShortcuts=Jt;exports.addNodeAndExtensionsToSpec=Te;exports.addStyleAttributes=_;exports.applyNonSelectableBlockFix=we;exports.audioParse=Ve;exports.audioRender=Re;exports.audioToExternalHTML=Fe;exports.blockHasType=In;exports.camelToDataKebab=V;exports.captureCellAnchor=De;exports.checkPageBreakBlocksInSchema=It;exports.createAudioBlockConfig=_e;exports.createAudioBlockSpec=We;exports.createBlockConfig=Yt;exports.createBlockNoteExtension=x;exports.createBlockSpec=S;exports.createBlockSpecFromTiptapNode=xe;exports.createBulletListItemBlockConfig=lt;exports.createBulletListItemBlockSpec=dt;exports.createCheckListItemBlockSpec=pt;exports.createCheckListItemConfig=ut;exports.createCodeBlockConfig=qe;exports.createCodeBlockSpec=$e;exports.createDefaultBlockDOMOutputSpec=ve;exports.createDividerBlockConfig=Ge;exports.createDividerBlockSpec=Ze;exports.createFileBlockConfig=ze;exports.createFileBlockSpec=Ke;exports.createHeadingBlockConfig=Je;exports.createHeadingBlockSpec=et;exports.createImageBlockConfig=ot;exports.createImageBlockSpec=ct;exports.createInlineContentSpecFromTipTapNode=en;exports.createInternalInlineContentSpec=Me;exports.createInternalStyleSpec=Q;exports.createNumberedListItemBlockConfig=mt;exports.createNumberedListItemBlockSpec=ht;exports.createPageBreakBlockConfig=kt;exports.createPageBreakBlockSpec=Ct;exports.createParagraphBlockConfig=yt;exports.createParagraphBlockSpec=vt;exports.createQuoteBlockConfig=St;exports.createQuoteBlockSpec=Et;exports.createStyleSpec=ee;exports.createStyleSpecFromTipTapMark=D;exports.createTableBlockSpec=wt;exports.createToggleListItemBlockConfig=gt;exports.createToggleListItemBlockSpec=bt;exports.createToggleWrapper=re;exports.createVideoBlockConfig=Tt;exports.createVideoBlockSpec=At;exports.defaultBlockSpecs=Nt;exports.defaultBlockToHTML=X;exports.defaultInlineContentSchema=Fn;exports.defaultInlineContentSpecs=ie;exports.defaultProps=m;exports.defaultStyleSchema=Rn;exports.defaultStyleSpecs=ce;exports.defaultToggledState=Ye;exports.editorHasBlockWithType=C;exports.fileParse=Xe;exports.filenameFromURL=Xt;exports.filterSuggestionItems=Dn;exports.formatKeyboardShortcut=A;exports.getBackgroundColorAttribute=pn;exports.getBlockFromPos=Be;exports.getDefaultSlashMenuItems=Hn;exports.getInlineContentSchemaFromSpecs=Y;exports.getLanguageId=oe;exports.getNodeById=Pe;exports.getPageBreakSlashMenuItems=On;exports.getParseRules=Le;exports.getStyleParseRules=Ie;exports.getStyleSchemaFromSpecs=J;exports.getTextAlignmentAttribute=mn;exports.getTextColorAttribute=fn;exports.imageParse=rt;exports.imageRender=at;exports.imageToExternalHTML=st;exports.insertOrUpdateBlock=b;exports.isAppleOS=ye;exports.isNodeBlock=He;exports.isSafari=zt;exports.isTableCellSelection=Nn;exports.isVideoUrl=Kt;exports.mergeCSSClasses=O;exports.mergeParagraphs=Se;exports.parseAudioElement=K;exports.parseDefaultProps=v;exports.propsToAttributes=Ee;exports.splitBlockCommand=Cn;exports.stylePropsToAttributes=Ae;exports.tablePropSchema=Bt;exports.updateBlock=ln;exports.updateBlockCommand=sn;exports.updateBlockTr=U;exports.uploadToTmpFilesDotOrg_DEV_ONLY=An;exports.videoParse=Mt;exports.withPageBreak=vn;exports.wrapInBlockStructure=j;
|
|
6
|
+
//# sourceMappingURL=BlockNoteSchema-DjDaA2C3.cjs.map
|