pillardash-ui-react 0.1.138 → 0.1.142
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/cjs/components/Cards/Card.js +1 -1
- package/dist/cjs/components/Cards/Card.js.map +1 -1
- package/dist/cjs/components/Form/TextEditor/ImagePopover.js +2 -0
- package/dist/cjs/components/Form/TextEditor/ImagePopover.js.map +1 -0
- package/dist/cjs/components/Form/TextEditor/LinkPopover.js +2 -0
- package/dist/cjs/components/Form/TextEditor/LinkPopover.js.map +1 -0
- package/dist/cjs/components/Form/TextEditor/TextEditor.js +1 -1
- package/dist/cjs/components/Form/TextEditor/TextEditor.js.map +1 -1
- package/dist/cjs/components/Form/TextEditor/ToolbarGroups.js +2 -0
- package/dist/cjs/components/Form/TextEditor/ToolbarGroups.js.map +1 -0
- package/dist/cjs/components/Form/TextEditor/extensions.js +2 -0
- package/dist/cjs/components/Form/TextEditor/extensions.js.map +1 -0
- package/dist/cjs/components/Form/TextEditor/toolbar.js +2 -0
- package/dist/cjs/components/Form/TextEditor/toolbar.js.map +1 -0
- package/dist/cjs/node_modules/@tiptap/core/dist/index.js +1 -1
- package/dist/cjs/node_modules/@tiptap/core/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@tiptap/extension-list/dist/index.js +1 -1
- package/dist/cjs/node_modules/@tiptap/extension-list/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@tiptap/extension-table/dist/index.js +2 -0
- package/dist/cjs/node_modules/@tiptap/extension-table/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@tiptap/extension-table-cell/dist/index.js +2 -0
- package/dist/cjs/node_modules/@tiptap/extension-table-cell/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@tiptap/extension-table-header/dist/index.js +2 -0
- package/dist/cjs/node_modules/@tiptap/extension-table-header/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@tiptap/extension-table-row/dist/index.js +2 -0
- package/dist/cjs/node_modules/@tiptap/extension-table-row/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@tiptap/extension-task-item/dist/index.js +2 -0
- package/dist/cjs/node_modules/@tiptap/extension-task-item/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@tiptap/extension-task-list/dist/index.js +2 -0
- package/dist/cjs/node_modules/@tiptap/extension-task-list/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@tiptap/extension-text-align/dist/index.js +2 -0
- package/dist/cjs/node_modules/@tiptap/extension-text-align/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/prosemirror-keymap/dist/index.js +2 -0
- package/dist/cjs/node_modules/prosemirror-keymap/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/prosemirror-model/dist/index.js +1 -1
- package/dist/cjs/node_modules/prosemirror-model/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/prosemirror-tables/dist/index.js +2 -0
- package/dist/cjs/node_modules/prosemirror-tables/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/prosemirror-transform/dist/index.js +1 -1
- package/dist/cjs/node_modules/prosemirror-transform/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/prosemirror-view/dist/index.js +2 -0
- package/dist/cjs/node_modules/prosemirror-view/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/w3c-keyname/index.js +2 -0
- package/dist/cjs/node_modules/w3c-keyname/index.js.map +1 -0
- package/dist/esm/components/Cards/Card.mjs +1 -1
- package/dist/esm/components/Cards/Card.mjs.map +1 -1
- package/dist/esm/components/Form/TextEditor/ImagePopover.mjs +2 -0
- package/dist/esm/components/Form/TextEditor/ImagePopover.mjs.map +1 -0
- package/dist/esm/components/Form/TextEditor/LinkPopover.mjs +2 -0
- package/dist/esm/components/Form/TextEditor/LinkPopover.mjs.map +1 -0
- package/dist/esm/components/Form/TextEditor/TextEditor.mjs +1 -1
- package/dist/esm/components/Form/TextEditor/TextEditor.mjs.map +1 -1
- package/dist/esm/components/Form/TextEditor/ToolbarGroups.mjs +2 -0
- package/dist/esm/components/Form/TextEditor/ToolbarGroups.mjs.map +1 -0
- package/dist/esm/components/Form/TextEditor/extensions.mjs +2 -0
- package/dist/esm/components/Form/TextEditor/extensions.mjs.map +1 -0
- package/dist/esm/components/Form/TextEditor/toolbar.mjs +2 -0
- package/dist/esm/components/Form/TextEditor/toolbar.mjs.map +1 -0
- package/dist/esm/node_modules/@tiptap/core/dist/index.mjs +1 -1
- package/dist/esm/node_modules/@tiptap/core/dist/index.mjs.map +1 -1
- package/dist/esm/node_modules/@tiptap/extension-list/dist/index.mjs +1 -1
- package/dist/esm/node_modules/@tiptap/extension-list/dist/index.mjs.map +1 -1
- package/dist/esm/node_modules/@tiptap/extension-table/dist/index.mjs +2 -0
- package/dist/esm/node_modules/@tiptap/extension-table/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@tiptap/extension-table-cell/dist/index.mjs +2 -0
- package/dist/esm/node_modules/@tiptap/extension-table-cell/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@tiptap/extension-table-header/dist/index.mjs +2 -0
- package/dist/esm/node_modules/@tiptap/extension-table-header/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@tiptap/extension-table-row/dist/index.mjs +2 -0
- package/dist/esm/node_modules/@tiptap/extension-table-row/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@tiptap/extension-task-item/dist/index.mjs +2 -0
- package/dist/esm/node_modules/@tiptap/extension-task-item/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@tiptap/extension-task-list/dist/index.mjs +2 -0
- package/dist/esm/node_modules/@tiptap/extension-task-list/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/@tiptap/extension-text-align/dist/index.mjs +2 -0
- package/dist/esm/node_modules/@tiptap/extension-text-align/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/prosemirror-keymap/dist/index.mjs +2 -0
- package/dist/esm/node_modules/prosemirror-keymap/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/prosemirror-model/dist/index.mjs +1 -1
- package/dist/esm/node_modules/prosemirror-model/dist/index.mjs.map +1 -1
- package/dist/esm/node_modules/prosemirror-tables/dist/index.mjs +2 -0
- package/dist/esm/node_modules/prosemirror-tables/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/prosemirror-transform/dist/index.mjs +1 -1
- package/dist/esm/node_modules/prosemirror-transform/dist/index.mjs.map +1 -1
- package/dist/esm/node_modules/prosemirror-view/dist/index.mjs +2 -0
- package/dist/esm/node_modules/prosemirror-view/dist/index.mjs.map +1 -0
- package/dist/esm/node_modules/w3c-keyname/index.mjs +2 -0
- package/dist/esm/node_modules/w3c-keyname/index.mjs.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/styles.css +1 -1
- package/package.json +9 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Plugin as e,PluginKey as t,Selection as n,TextSelection as r,AllSelection as o,NodeSelection as s}from"../../../prosemirror-state/dist/index.mjs";import{findWrapping as a,canJoin as i,RemoveMarkStep as c,Transform as d,liftTarget as l,joinPoint as p,canSplit as m,ReplaceStep as f,ReplaceAroundStep as u}from"../../../prosemirror-transform/dist/index.mjs";import{Fragment as h,Slice as y,Node as g,Schema as k,DOMParser as v}from"../../../prosemirror-model/dist/index.mjs";import{createParagraphNear as b,deleteSelection as w,exitCode as x,joinUp as M,joinDown as S,joinBackward as O,joinForward as C,joinTextblockBackward as $,joinTextblockForward as E,lift as j,liftEmptyBlock as T,newlineInCode as I,selectNodeBackward as A,selectNodeForward as P,selectParentNode as R,selectTextblockEnd as B,selectTextblockStart as N,setBlockType as z,wrapIn as F}from"../../../prosemirror-commands/dist/index.mjs";import{liftListItem as D,sinkListItem as L,wrapInList as V}from"../../../prosemirror-schema-list/dist/index.mjs";var _=Object.defineProperty,W=(e,t)=>{for(var n in t)_(e,n,{get:t[n],enumerable:!0})};function K(e){const{state:t,transaction:n}=e;let{selection:r}=n,{doc:o}=n,{storedMarks:s}=n;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return s},get selection(){return r},get doc(){return o},get tr(){return r=n.selection,o=n.doc,s=n.storedMarks,n}}}var U=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:e,editor:t,state:n}=this,{view:r}=t,{tr:o}=n,s=this.buildProps(o);return Object.fromEntries(Object.entries(e).map((([e,t])=>[e,(...e)=>{const n=t(...e)(s);return o.getMeta("preventDispatch")||this.hasCustomState||r.dispatch(o),n}])))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){const{rawCommands:n,editor:r,state:o}=this,{view:s}=r,a=[],i=!!e,c=e||o.tr,d={...Object.fromEntries(Object.entries(n).map((([e,n])=>[e,(...e)=>{const r=this.buildProps(c,t),o=n(...e)(r);return a.push(o),d}]))),run:()=>(i||!t||c.getMeta("preventDispatch")||this.hasCustomState||s.dispatch(c),a.every((e=>!0===e)))};return d}createCan(e){const{rawCommands:t,state:n}=this,r=!1,o=e||n.tr,s=this.buildProps(o,r);return{...Object.fromEntries(Object.entries(t).map((([e,t])=>[e,(...e)=>t(...e)({...s,dispatch:void 0})]))),chain:()=>this.createChain(o,r)}}buildProps(e,t=!0){const{rawCommands:n,editor:r,state:o}=this,{view:s}=r,a={tr:e,editor:r,view:s,state:K({state:o,transaction:e}),dispatch:t?()=>{}:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map((([e,t])=>[e,(...e)=>t(...e)(a)])))}};return a}};function q(e,t){const n=new d(e);return t.forEach((e=>{e.steps.forEach((e=>{n.step(e)}))})),n}var J=e=>{const t=e.childNodes;for(let n=t.length-1;n>=0;n-=1){const r=t[n];3===r.nodeType&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):1===r.nodeType&&J(r)}return e};function H(e){if("undefined"==typeof window)throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");const t=`<body>${e}</body>`,n=(new window.DOMParser).parseFromString(t,"text/html").body;return J(n)}function G(e,t,n){if(e instanceof g||e instanceof h)return e;n={slice:!0,parseOptions:{},...n};const r="string"==typeof e;if("object"==typeof e&&null!==e)try{if(Array.isArray(e)&&e.length>0)return h.fromArray(e.map((e=>t.nodeFromJSON(e))));const r=t.nodeFromJSON(e);return n.errorOnInvalidContent&&r.check(),r}catch(r){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:r});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",r),G("",t,n)}if(r){if(n.errorOnInvalidContent){let r=!1,o="";const s=new k({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:e=>(r=!0,o="string"==typeof e?e:e.outerHTML,null)}]}})});if(n.slice?v.fromSchema(s).parseSlice(H(e),n.parseOptions):v.fromSchema(s).parse(H(e),n.parseOptions),n.errorOnInvalidContent&&r)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${o}`)})}const r=v.fromSchema(t);return n.slice?r.parseSlice(H(e),n.parseOptions).content:r.parse(H(e),n.parseOptions)}return G("",t,n)}function Q(e,t,n={},r={}){return G(e,t,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}function X(e){for(let t=0;t<e.edgeCount;t+=1){const{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}function Y(e,t){for(let n=e.depth;n>0;n-=1){const r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function Z(e){return t=>Y(t.$from,e)}function ee(e,t,n){if(void 0===e.config[t]&&e.parent)return ee(e.parent,t,n);if("function"==typeof e.config[t]){return e.config[t].bind({...n,parent:e.parent?ee(e.parent,t,n):null})}return e.config[t]}function te(e){return"function"==typeof e}function ne(e,t=void 0,...n){return te(e)?t?e.bind(t)(...n):e(...n):e}function re(e){return{baseExtensions:e.filter((e=>"extension"===e.type)),nodeExtensions:e.filter((e=>"node"===e.type)),markExtensions:e.filter((e=>"mark"===e.type))}}function oe(...e){return e.filter((e=>!!e)).reduce(((e,t)=>{const n={...e};return Object.entries(t).forEach((([e,t])=>{if(n[e])if("class"===e){const r=t?String(t).split(" "):[],o=n[e]?n[e].split(" "):[],s=r.filter((e=>!o.includes(e)));n[e]=[...o,...s].join(" ")}else if("style"===e){const r=t?t.split(";").map((e=>e.trim())).filter(Boolean):[],o=n[e]?n[e].split(";").map((e=>e.trim())).filter(Boolean):[],s=new Map;o.forEach((e=>{const[t,n]=e.split(":").map((e=>e.trim()));s.set(t,n)})),r.forEach((e=>{const[t,n]=e.split(":").map((e=>e.trim()));s.set(t,n)})),n[e]=Array.from(s.entries()).map((([e,t])=>`${e}: ${t}`)).join("; ")}else n[e]=t;else n[e]=t})),n}),{})}function se(e,t,n){const{from:r,to:o}=t,{blockSeparator:s="\n\n",textSerializers:a={}}=n||{};let i="";return e.nodesBetween(r,o,((e,n,c,d)=>{var l;e.isBlock&&n>r&&(i+=s);const p=null==a?void 0:a[e.type.name];if(p)return c&&(i+=p({node:e,pos:n,parent:c,index:d,range:t})),!1;e.isText&&(i+=null==(l=null==e?void 0:e.text)?void 0:l.slice(Math.max(r,n)-n,o-n))})),i}function ae(e){return Object.fromEntries(Object.entries(e.nodes).filter((([,e])=>e.spec.toText)).map((([e,t])=>[e,t.spec.toText])))}function ie(e,t){if("string"==typeof e){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}function ce(e,t){const n=ie(t,e.schema),{from:r,to:o,empty:s}=e.selection,a=[];s?(e.storedMarks&&a.push(...e.storedMarks),a.push(...e.selection.$head.marks())):e.doc.nodesBetween(r,o,(e=>{a.push(...e.marks)}));const i=a.find((e=>e.type.name===n.name));return i?{...i.attrs}:{}}function de(e,t){if("string"==typeof e){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}function le(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function pe(e,t=JSON.stringify){const n={};return e.filter((e=>{const r=t(e);return!Object.prototype.hasOwnProperty.call(n,r)&&(n[r]=!0)}))}function me(e){const{mapping:t,steps:n}=e,r=[];return t.maps.forEach(((e,o)=>{const s=[];if(e.ranges.length)e.forEach(((e,t)=>{s.push({from:e,to:t})}));else{const{from:e,to:t}=n[o];if(void 0===e||void 0===t)return;s.push({from:e,to:t})}s.forEach((({from:e,to:n})=>{const s=t.slice(o).map(e,-1),a=t.slice(o).map(n),i=t.invert().map(s,-1),c=t.invert().map(a);r.push({oldRange:{from:i,to:c},newRange:{from:s,to:a}})}))})),function(e){const t=pe(e);return 1===t.length?t:t.filter(((e,n)=>!t.filter(((e,t)=>t!==n)).some((t=>e.oldRange.from>=t.oldRange.from&&e.oldRange.to<=t.oldRange.to&&e.newRange.from>=t.newRange.from&&e.newRange.to<=t.newRange.to))))}(r)}function fe(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function ue(e,t,n={strict:!0}){const r=Object.keys(t);return!r.length||r.every((r=>n.strict?t[r]===e[r]:fe(t[r])?t[r].test(e[r]):t[r]===e[r]))}function he(e,t,n={}){return e.find((e=>e.type===t&&ue(Object.fromEntries(Object.keys(n).map((t=>[t,e.attrs[t]]))),n)))}function ye(e,t,n={}){return!!he(e,t,n)}function ge(e,t,n){var r;if(!e||!t)return;let o=e.parent.childAfter(e.parentOffset);if(o.node&&o.node.marks.some((e=>e.type===t))||(o=e.parent.childBefore(e.parentOffset)),!o.node||!o.node.marks.some((e=>e.type===t)))return;n=n||(null==(r=o.node.marks[0])?void 0:r.attrs);if(!he([...o.node.marks],t,n))return;let s=o.index,a=e.start()+o.offset,i=s+1,c=a+o.node.nodeSize;for(;s>0&&ye([...e.parent.child(s-1).marks],t,n);)s-=1,a-=e.parent.child(s).nodeSize;for(;i<e.parent.childCount&&ye([...e.parent.child(i).marks],t,n);)c+=e.parent.child(i).nodeSize,i+=1;return{from:a,to:c}}function ke(e,t,n){const r=[];return e===t?n.resolve(e).marks().forEach((t=>{const o=ge(n.resolve(e),t.type);o&&r.push({mark:t,...o})})):n.nodesBetween(e,t,((e,t)=>{e&&void 0!==(null==e?void 0:e.nodeSize)&&r.push(...e.marks.map((n=>({from:t,to:t+e.nodeSize,mark:n}))))})),r}var ve=(e,t,n,r=20)=>{const o=e.doc.resolve(n);let s=r,a=null;for(;s>0&&null===a;){const e=o.node(s);(null==e?void 0:e.type.name)===t?a=e:s-=1}return[a,s]};function be(e,t,n){return Object.fromEntries(Object.entries(n).filter((([n])=>{const r=e.find((e=>e.type===t&&e.name===n));return!!r&&r.attribute.keepOnSplit})))}function we(e,t,n={}){const{empty:r,ranges:o}=e.selection,s=t?ie(t,e.schema):null;if(r)return!!(e.storedMarks||e.selection.$from.marks()).filter((e=>!s||s.name===e.type.name)).find((e=>ue(e.attrs,n,{strict:!1})));let a=0;const i=[];if(o.forEach((({$from:t,$to:n})=>{const r=t.pos,o=n.pos;e.doc.nodesBetween(r,o,((e,t)=>{if(!e.isText&&!e.marks.length)return;const n=Math.max(r,t),s=Math.min(o,t+e.nodeSize);a+=s-n,i.push(...e.marks.map((e=>({mark:e,from:n,to:s}))))}))})),0===a)return!1;const c=i.filter((e=>!s||s.name===e.mark.type.name)).filter((e=>ue(e.mark.attrs,n,{strict:!1}))).reduce(((e,t)=>e+t.to-t.from),0),d=i.filter((e=>!s||e.mark.type!==s&&e.mark.type.excludes(s))).reduce(((e,t)=>e+t.to-t.from),0);return(c>0?c+d:c)>=a}function xe(e,t,n={}){const{from:r,to:o,empty:s}=e.selection,a=t?de(t,e.schema):null,i=[];e.doc.nodesBetween(r,o,((e,t)=>{if(e.isText)return;const n=Math.max(r,t),s=Math.min(o,t+e.nodeSize);i.push({node:e,from:n,to:s})}));const c=o-r,d=i.filter((e=>!a||a.name===e.node.type.name)).filter((e=>ue(e.node.attrs,n,{strict:!1})));if(s)return!!d.length;return d.reduce(((e,t)=>e+t.to-t.from),0)>=c}var Me=(e,t)=>{const{$from:n,$to:r,$anchor:o}=e.selection;if(t){const n=Z((e=>e.type.name===t))(e.selection);if(!n)return!1;const r=e.doc.resolve(n.pos+1);return o.pos+1===r.end()}return!(r.parentOffset<r.parent.nodeSize-2||n.pos!==r.pos)},Se=e=>{const{$from:t,$to:n}=e.selection;return!(t.parentOffset>0||t.pos!==n.pos)};function Oe(e,t){const{nodeExtensions:n}=re(t),r=n.find((t=>t.name===e));if(!r)return!1;const o=ne(ee(r,"group",{name:r.name,options:r.options,storage:r.storage}));return"string"==typeof o&&o.split(" ").includes("list")}function Ce(e,{checkChildren:t=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if("hardBreak"===e.type.name)return!0;if(e.isText)return/^\s*$/m.test(null!=(r=e.text)?r:"")}if(e.isText)return!e.text;if(e.isAtom||e.isLeaf)return!1;if(0===e.content.childCount)return!0;if(t){let r=!0;return e.content.forEach((e=>{!1!==r&&(Ce(e,{ignoreWhitespace:n,checkChildren:t})||(r=!1))})),r}return!1}function $e(e){return e instanceof r}function Ee(e=0,t=0,n=0){return Math.min(Math.max(e,t),n)}function je(e,t=null){if(!t)return null;const o=n.atStart(e),s=n.atEnd(e);if("start"===t||!0===t)return o;if("end"===t)return s;const a=o.from,i=s.to;return"all"===t?r.create(e,Ee(0,a,i),Ee(e.content.size,a,i)):r.create(e,Ee(t,a,i),Ee(t,a,i))}function Te(e,t,r){const o=e.steps.length-1;if(o<t)return;const s=e.steps[o];if(!(s instanceof f||s instanceof u))return;const a=e.mapping.maps[o];let i=0;a.forEach(((e,t,n,r)=>{0===i&&(i=r)})),e.setSelection(n.near(e.doc.resolve(i),r))}var Ie=class{constructor(e){this.find=e.find,this.handler=e.handler}};function Ae(e){return"Object"===function(e){return Object.prototype.toString.call(e).slice(8,-1)}(e)&&(e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype)}function Pe(e,t){const n={...e};return Ae(e)&&Ae(t)&&Object.keys(t).forEach((r=>{Ae(t[r])&&Ae(e[r])?n[r]=Pe(e[r],t[r]):n[r]=t[r]})),n}var Re=class{constructor(e={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...e},this.name=this.config.name}get options(){return{...ne(ee(this,"addOptions",{name:this.name}))||{}}}get storage(){return{...ne(ee(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(e={}){const t=this.extend({...this.config,addOptions:()=>Pe(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){const t=new this.constructor({...this.config,...e});return t.parent=this,this.child=t,t.name="name"in e?e.name:t.parent.name,t}},Be=class e extends Re{constructor(){super(...arguments),this.type="mark"}static create(t={}){const n="function"==typeof t?t():t;return new e(n)}static handleExit({editor:e,mark:t}){const{tr:n}=e.state,r=e.state.selection.$from;if(r.pos===r.end()){const o=r.marks();if(!!!o.find((e=>(null==e?void 0:e.type.name)===t.name)))return!1;const s=o.find((e=>(null==e?void 0:e.type.name)===t.name));return s&&n.removeStoredMark(s),n.insertText(" ",r.pos),e.view.dispatch(n),!0}return!1}configure(e){return super.configure(e)}extend(e){const t="function"==typeof e?e():e;return super.extend(t)}},Ne=class{constructor(e){this.find=e.find,this.handler=e.handler}},ze={};W(ze,{ClipboardTextSerializer:()=>De,Commands:()=>Yt,Delete:()=>Zt,Drop:()=>en,Editable:()=>tn,FocusEvents:()=>rn,Keymap:()=>on,Paste:()=>sn,Tabindex:()=>an,focusEventsPluginKey:()=>nn});var Fe=class e extends Re{constructor(){super(...arguments),this.type="extension"}static create(t={}){const n="function"==typeof t?t():t;return new e(n)}configure(e){return super.configure(e)}extend(e){const t="function"==typeof e?e():e;return super.extend(t)}},De=Fe.create({name:"clipboardTextSerializer",addOptions:()=>({blockSeparator:void 0}),addProseMirrorPlugins(){return[new e({key:new t("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:o}=t,{ranges:s}=o,a=Math.min(...s.map((e=>e.$from.pos))),i=Math.max(...s.map((e=>e.$to.pos))),c=ae(n);return se(r,{from:a,to:i},{...void 0!==this.options.blockSeparator?{blockSeparator:this.options.blockSeparator}:{},textSerializers:c})}}})]}}),Le={};W(Le,{blur:()=>Ve,clearContent:()=>_e,clearNodes:()=>We,command:()=>Ke,createParagraphNear:()=>Ue,cut:()=>qe,deleteCurrentNode:()=>Je,deleteNode:()=>He,deleteRange:()=>Ge,deleteSelection:()=>Qe,enter:()=>Xe,exitCode:()=>Ye,extendMarkRange:()=>Ze,first:()=>et,focus:()=>rt,forEach:()=>ot,insertContent:()=>st,insertContentAt:()=>at,joinBackward:()=>dt,joinDown:()=>ct,joinForward:()=>lt,joinItemBackward:()=>pt,joinItemForward:()=>mt,joinTextblockBackward:()=>ft,joinTextblockForward:()=>ut,joinUp:()=>it,keyboardShortcut:()=>yt,lift:()=>gt,liftEmptyBlock:()=>kt,liftListItem:()=>vt,newlineInCode:()=>bt,resetAttributes:()=>xt,scrollIntoView:()=>Mt,selectAll:()=>St,selectNodeBackward:()=>Ot,selectNodeForward:()=>Ct,selectParentNode:()=>$t,selectTextblockEnd:()=>Et,selectTextblockStart:()=>jt,setContent:()=>Tt,setMark:()=>It,setMeta:()=>At,setNode:()=>Pt,setNodeSelection:()=>Rt,setTextSelection:()=>Bt,sinkListItem:()=>Nt,splitBlock:()=>Ft,splitListItem:()=>Dt,toggleList:()=>_t,toggleMark:()=>Wt,toggleNode:()=>Kt,toggleWrap:()=>Ut,undoInputRule:()=>qt,unsetAllMarks:()=>Jt,unsetMark:()=>Ht,updateAttributes:()=>Gt,wrapIn:()=>Qt,wrapInList:()=>Xt});var Ve=()=>({editor:e,view:t})=>(requestAnimationFrame((()=>{var n;e.isDestroyed||(t.dom.blur(),null==(n=null==window?void 0:window.getSelection())||n.removeAllRanges())})),!0),_e=(e=!0)=>({commands:t})=>t.setContent("",{emitUpdate:e}),We=()=>({state:e,tr:t,dispatch:n})=>{const{selection:r}=t,{ranges:o}=r;return!n||(o.forEach((({$from:n,$to:r})=>{e.doc.nodesBetween(n.pos,r.pos,((e,n)=>{if(e.type.isText)return;const{doc:r,mapping:o}=t,s=r.resolve(o.map(n)),a=r.resolve(o.map(n+e.nodeSize)),i=s.blockRange(a);if(!i)return;const c=l(i);if(e.type.isTextblock){const{defaultType:e}=s.parent.contentMatchAt(s.index());t.setNodeMarkup(i.start,e)}(c||0===c)&&t.lift(i,c)}))})),!0)},Ke=e=>t=>e(t),Ue=()=>({state:e,dispatch:t})=>b(e,t),qe=(e,t)=>({editor:n,tr:o})=>{const{state:s}=n,a=s.doc.slice(e.from,e.to);o.deleteRange(e.from,e.to);const i=o.mapping.map(t);return o.insert(i,a.content),o.setSelection(new r(o.doc.resolve(Math.max(i-1,0)))),!0},Je=()=>({tr:e,dispatch:t})=>{const{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;const o=e.selection.$anchor;for(let n=o.depth;n>0;n-=1){if(o.node(n).type===r.type){if(t){const t=o.before(n),r=o.after(n);e.delete(t,r).scrollIntoView()}return!0}}return!1},He=e=>({tr:t,state:n,dispatch:r})=>{const o=de(e,n.schema),s=t.selection.$anchor;for(let e=s.depth;e>0;e-=1){if(s.node(e).type===o){if(r){const n=s.before(e),r=s.after(e);t.delete(n,r).scrollIntoView()}return!0}}return!1},Ge=e=>({tr:t,dispatch:n})=>{const{from:r,to:o}=e;return n&&t.delete(r,o),!0},Qe=()=>({state:e,dispatch:t})=>w(e,t),Xe=()=>({commands:e})=>e.keyboardShortcut("Enter"),Ye=()=>({state:e,dispatch:t})=>x(e,t),Ze=(e,t={})=>({tr:n,state:o,dispatch:s})=>{const a=ie(e,o.schema),{doc:i,selection:c}=n,{$from:d,from:l,to:p}=c;if(s){const e=ge(d,a,t);if(e&&e.from<=l&&e.to>=p){const t=r.create(i,e.from,e.to);n.setSelection(t)}}return!0},et=e=>t=>{const n="function"==typeof e?e(t):e;for(let e=0;e<n.length;e+=1)if(n[e](t))return!0;return!1};function tt(){return"Android"===navigator.platform||/android/i.test(navigator.userAgent)}function nt(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}var rt=(e=null,t={})=>({editor:n,view:r,tr:o,dispatch:s})=>{t={scrollIntoView:!0,...t};const a=()=>{(nt()||tt())&&r.dom.focus(),requestAnimationFrame((()=>{n.isDestroyed||(r.focus(),(null==t?void 0:t.scrollIntoView)&&n.commands.scrollIntoView())}))};if(r.hasFocus()&&null===e||!1===e)return!0;if(s&&null===e&&!$e(n.state.selection))return a(),!0;const i=je(o.doc,e)||n.state.selection,c=n.state.selection.eq(i);return s&&(c||o.setSelection(i),c&&o.storedMarks&&o.setStoredMarks(o.storedMarks),a()),!0},ot=(e,t)=>n=>e.every(((e,r)=>t(e,{...n,index:r}))),st=(e,t)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},e,t),at=(e,t,n)=>({tr:r,dispatch:o,editor:s})=>{var a;if(o){let o;n={parseOptions:s.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};const{selection:i}=s.state,c=e=>{s.emit("contentError",{editor:s,error:e,disableCollaboration:()=>{"collaboration"in s.storage&&"object"==typeof s.storage.collaboration&&s.storage.collaboration&&(s.storage.collaboration.isDisabled=!0)}})},d={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!s.options.enableContentCheck&&s.options.emitContentError)try{G(t,s.schema,{parseOptions:d,errorOnInvalidContent:!0})}catch(e){c(e)}try{o=G(t,s.schema,{parseOptions:d,errorOnInvalidContent:null!=(a=n.errorOnInvalidContent)?a:s.options.enableContentCheck})}catch(e){return c(e),!1}let{from:l,to:p}="number"==typeof e?{from:e,to:e}:{from:e.from,to:e.to},m=!0,f=!0;if(("type"in o?[o]:o).forEach((e=>{e.check(),m=!!m&&(e.isText&&0===e.marks.length),f=!!f&&e.isBlock})),l===p&&f){const{parent:e}=r.doc.resolve(l);e.isTextblock&&!e.type.spec.code&&!e.childCount&&(l-=1,p+=1)}let u;if(m){if(Array.isArray(t))u=t.map((e=>e.text||"")).join("");else if(t instanceof h){let e="";t.forEach((t=>{t.text&&(e+=t.text)})),u=e}else u="object"==typeof t&&t&&t.text?t.text:t;r.insertText(u,l,p)}else{u=o;const e=0===i.$from.parentOffset,t=i.$from.node().isText||i.$from.node().isTextblock,n=i.$from.node().content.size>0;e&&t&&n&&(l=Math.max(0,l-1)),r.replaceWith(l,p,u)}n.updateSelection&&Te(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:l,text:u}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:l,text:u})}return!0},it=()=>({state:e,dispatch:t})=>M(e,t),ct=()=>({state:e,dispatch:t})=>S(e,t),dt=()=>({state:e,dispatch:t})=>O(e,t),lt=()=>({state:e,dispatch:t})=>C(e,t),pt=()=>({state:e,dispatch:t,tr:n})=>{try{const r=p(e.doc,e.selection.$from.pos,-1);return null!=r&&(n.join(r,2),t&&t(n),!0)}catch{return!1}},mt=()=>({state:e,dispatch:t,tr:n})=>{try{const r=p(e.doc,e.selection.$from.pos,1);return null!=r&&(n.join(r,2),t&&t(n),!0)}catch{return!1}},ft=()=>({state:e,dispatch:t})=>$(e,t),ut=()=>({state:e,dispatch:t})=>E(e,t);function ht(){return"undefined"!=typeof navigator&&/Mac/.test(navigator.platform)}var yt=e=>({editor:t,view:n,tr:r,dispatch:o})=>{const s=function(e){const t=e.split(/-(?!$)/);let n,r,o,s,a=t[t.length-1];"Space"===a&&(a=" ");for(let e=0;e<t.length-1;e+=1){const a=t[e];if(/^(cmd|meta|m)$/i.test(a))s=!0;else if(/^a(lt)?$/i.test(a))n=!0;else if(/^(c|ctrl|control)$/i.test(a))r=!0;else if(/^s(hift)?$/i.test(a))o=!0;else{if(!/^mod$/i.test(a))throw new Error(`Unrecognized modifier name: ${a}`);nt()||ht()?s=!0:r=!0}}return n&&(a=`Alt-${a}`),r&&(a=`Ctrl-${a}`),s&&(a=`Meta-${a}`),o&&(a=`Shift-${a}`),a}(e).split(/-(?!$)/),a=s.find((e=>!["Alt","Ctrl","Meta","Shift"].includes(e))),i=new KeyboardEvent("keydown",{key:"Space"===a?" ":a,altKey:s.includes("Alt"),ctrlKey:s.includes("Ctrl"),metaKey:s.includes("Meta"),shiftKey:s.includes("Shift"),bubbles:!0,cancelable:!0}),c=t.captureTransaction((()=>{n.someProp("handleKeyDown",(e=>e(n,i)))}));return null==c||c.steps.forEach((e=>{const t=e.map(r.mapping);t&&o&&r.maybeStep(t)})),!0},gt=(e,t={})=>({state:n,dispatch:r})=>!!xe(n,de(e,n.schema),t)&&j(n,r),kt=()=>({state:e,dispatch:t})=>T(e,t),vt=e=>({state:t,dispatch:n})=>{const r=de(e,t.schema);return D(r)(t,n)},bt=()=>({state:e,dispatch:t})=>I(e,t);function wt(e,t){const n="string"==typeof t?[t]:t;return Object.keys(e).reduce(((t,r)=>(n.includes(r)||(t[r]=e[r]),t)),{})}var xt=(e,t)=>({tr:n,state:r,dispatch:o})=>{let s=null,a=null;const i=le("string"==typeof e?e:e.name,r.schema);return!!i&&("node"===i&&(s=de(e,r.schema)),"mark"===i&&(a=ie(e,r.schema)),o&&n.selection.ranges.forEach((e=>{r.doc.nodesBetween(e.$from.pos,e.$to.pos,((e,r)=>{s&&s===e.type&&n.setNodeMarkup(r,void 0,wt(e.attrs,t)),a&&e.marks.length&&e.marks.forEach((o=>{a===o.type&&n.addMark(r,r+e.nodeSize,a.create(wt(o.attrs,t)))}))}))})),!0)},Mt=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),!0),St=()=>({tr:e,dispatch:t})=>{if(t){const t=new o(e.doc);e.setSelection(t)}return!0},Ot=()=>({state:e,dispatch:t})=>A(e,t),Ct=()=>({state:e,dispatch:t})=>P(e,t),$t=()=>({state:e,dispatch:t})=>R(e,t),Et=()=>({state:e,dispatch:t})=>B(e,t),jt=()=>({state:e,dispatch:t})=>N(e,t),Tt=(e,{errorOnInvalidContent:t,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:o,tr:s,dispatch:a,commands:i})=>{const{doc:c}=s;if("full"!==r.preserveWhitespace){const i=Q(e,o.schema,r,{errorOnInvalidContent:null!=t?t:o.options.enableContentCheck});return a&&s.replaceWith(0,c.content.size,i).setMeta("preventUpdate",!n),!0}return a&&s.setMeta("preventUpdate",!n),i.insertContentAt({from:0,to:c.content.size},e,{parseOptions:r,errorOnInvalidContent:null!=t?t:o.options.enableContentCheck})};var It=(e,t={})=>({tr:n,state:r,dispatch:o})=>{const{selection:s}=n,{empty:a,ranges:i}=s,c=ie(e,r.schema);if(o)if(a){const e=ce(r,c);n.addStoredMark(c.create({...e,...t}))}else i.forEach((e=>{const o=e.$from.pos,s=e.$to.pos;r.doc.nodesBetween(o,s,((e,r)=>{const a=Math.max(r,o),i=Math.min(r+e.nodeSize,s);e.marks.find((e=>e.type===c))?e.marks.forEach((e=>{c===e.type&&n.addMark(a,i,c.create({...e.attrs,...t}))})):n.addMark(a,i,c.create(t))}))}));return function(e,t,n){var r;const{selection:o}=t;let s=null;if($e(o)&&(s=o.$cursor),s){const t=null!=(r=e.storedMarks)?r:s.marks();return!!n.isInSet(t)||!t.some((e=>e.type.excludes(n)))}const{ranges:a}=o;return a.some((({$from:t,$to:r})=>{let o=0===t.depth&&e.doc.inlineContent&&e.doc.type.allowsMarkType(n);return e.doc.nodesBetween(t.pos,r.pos,((e,t,r)=>{if(o)return!1;if(e.isInline){const t=!r||r.type.allowsMarkType(n),s=!!n.isInSet(e.marks)||!e.marks.some((e=>e.type.excludes(n)));o=t&&s}return!o})),o}))}(r,n,c)},At=(e,t)=>({tr:n})=>(n.setMeta(e,t),!0),Pt=(e,t={})=>({state:n,dispatch:r,chain:o})=>{const s=de(e,n.schema);let a;return n.selection.$anchor.sameParent(n.selection.$head)&&(a=n.selection.$anchor.parent.attrs),s.isTextblock?o().command((({commands:e})=>!!z(s,{...a,...t})(n)||e.clearNodes())).command((({state:e})=>z(s,{...a,...t})(e,r))).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},Rt=e=>({tr:t,dispatch:n})=>{if(n){const{doc:n}=t,r=Ee(e,0,n.content.size),o=s.create(n,r);t.setSelection(o)}return!0},Bt=e=>({tr:t,dispatch:n})=>{if(n){const{doc:n}=t,{from:o,to:s}="number"==typeof e?{from:e,to:e}:e,a=r.atStart(n).from,i=r.atEnd(n).to,c=Ee(o,a,i),d=Ee(s,a,i),l=r.create(n,c,d);t.setSelection(l)}return!0},Nt=e=>({state:t,dispatch:n})=>{const r=de(e,t.schema);return L(r)(t,n)};function zt(e,t){const n=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(n){const r=n.filter((e=>null==t?void 0:t.includes(e.type.name)));e.tr.ensureMarks(r)}}var Ft=({keepMarks:e=!0}={})=>({tr:t,state:n,dispatch:o,editor:a})=>{const{selection:i,doc:c}=t,{$from:d,$to:l}=i,p=be(a.extensionManager.attributes,d.node().type.name,d.node().attrs);if(i instanceof s&&i.node.isBlock)return!(!d.parentOffset||!m(c,d.pos))&&(o&&(e&&zt(n,a.extensionManager.splittableMarks),t.split(d.pos).scrollIntoView()),!0);if(!d.parent.isBlock)return!1;const f=l.parentOffset===l.parent.content.size,u=0===d.depth?void 0:X(d.node(-1).contentMatchAt(d.indexAfter(-1)));let h=f&&u?[{type:u,attrs:p}]:void 0,y=m(t.doc,t.mapping.map(d.pos),1,h);if(h||y||!m(t.doc,t.mapping.map(d.pos),1,u?[{type:u}]:void 0)||(y=!0,h=u?[{type:u,attrs:p}]:void 0),o){if(y&&(i instanceof r&&t.deleteSelection(),t.split(t.mapping.map(d.pos),1,h),u&&!f&&!d.parentOffset&&d.parent.type!==u)){const e=t.mapping.map(d.before()),n=t.doc.resolve(e);d.node(-1).canReplaceWith(n.index(),n.index()+1,u)&&t.setNodeMarkup(t.mapping.map(d.before()),u)}e&&zt(n,a.extensionManager.splittableMarks),t.scrollIntoView()}return y},Dt=(e,t={})=>({tr:n,state:o,dispatch:s,editor:a})=>{var i;const c=de(e,o.schema),{$from:d,$to:l}=o.selection,p=o.selection.node;if(p&&p.isBlock||d.depth<2||!d.sameParent(l))return!1;const f=d.node(-1);if(f.type!==c)return!1;const u=a.extensionManager.attributes;if(0===d.parent.content.size&&d.node(-1).childCount===d.indexAfter(-1)){if(2===d.depth||d.node(-3).type!==c||d.index(-2)!==d.node(-2).childCount-1)return!1;if(s){let e=h.empty;const o=d.index(-1)?1:d.index(-2)?2:3;for(let t=d.depth-o;t>=d.depth-3;t-=1)e=h.from(d.node(t).copy(e));const s=d.indexAfter(-1)<d.node(-2).childCount?1:d.indexAfter(-2)<d.node(-3).childCount?2:3,a={...be(u,d.node().type.name,d.node().attrs),...t},l=(null==(i=c.contentMatch.defaultType)?void 0:i.createAndFill(a))||void 0;e=e.append(h.from(c.createAndFill(null,l)||void 0));const p=d.before(d.depth-(o-1));n.replace(p,d.after(-s),new y(e,4-o,0));let m=-1;n.doc.nodesBetween(p,n.doc.content.size,((e,t)=>{if(m>-1)return!1;e.isTextblock&&0===e.content.size&&(m=t+1)})),m>-1&&n.setSelection(r.near(n.doc.resolve(m))),n.scrollIntoView()}return!0}const g=l.pos===d.end()?f.contentMatchAt(0).defaultType:null,k={...be(u,f.type.name,f.attrs),...t},v={...be(u,d.node().type.name,d.node().attrs),...t};n.delete(d.pos,l.pos);const b=g?[{type:c,attrs:k},{type:g,attrs:v}]:[{type:c,attrs:k}];if(!m(n.doc,d.pos,2))return!1;if(s){const{selection:e,storedMarks:t}=o,{splittableMarks:r}=a.extensionManager,i=t||e.$to.parentOffset&&e.$from.marks();if(n.split(d.pos,2,b).scrollIntoView(),!i||!s)return!0;const c=i.filter((e=>r.includes(e.type.name)));n.ensureMarks(c)}return!0},Lt=(e,t)=>{const n=Z((e=>e.type===t))(e.selection);if(!n)return!0;const r=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(void 0===r)return!0;const o=e.doc.nodeAt(r);return n.node.type!==(null==o?void 0:o.type)||!i(e.doc,n.pos)||(e.join(n.pos),!0)},Vt=(e,t)=>{const n=Z((e=>e.type===t))(e.selection);if(!n)return!0;const r=e.doc.resolve(n.start).after(n.depth);if(void 0===r)return!0;const o=e.doc.nodeAt(r);return n.node.type!==(null==o?void 0:o.type)||!i(e.doc,r)||(e.join(r),!0)},_t=(e,t,n,r={})=>({editor:o,tr:s,state:a,dispatch:i,chain:c,commands:d,can:l})=>{const{extensions:p,splittableMarks:m}=o.extensionManager,f=de(e,a.schema),u=de(t,a.schema),{selection:h,storedMarks:y}=a,{$from:g,$to:k}=h,v=g.blockRange(k),b=y||h.$to.parentOffset&&h.$from.marks();if(!v)return!1;const w=Z((e=>Oe(e.type.name,p)))(h);if(v.depth>=1&&w&&v.depth-w.depth<=1){if(w.node.type===f)return d.liftListItem(u);if(Oe(w.node.type.name,p)&&f.validContent(w.node.content)&&i)return c().command((()=>(s.setNodeMarkup(w.pos,f),!0))).command((()=>Lt(s,f))).command((()=>Vt(s,f))).run()}return n&&b&&i?c().command((()=>{const e=l().wrapInList(f,r),t=b.filter((e=>m.includes(e.type.name)));return s.ensureMarks(t),!!e||d.clearNodes()})).wrapInList(f,r).command((()=>Lt(s,f))).command((()=>Vt(s,f))).run():c().command((()=>!!l().wrapInList(f,r)||d.clearNodes())).wrapInList(f,r).command((()=>Lt(s,f))).command((()=>Vt(s,f))).run()},Wt=(e,t={},n={})=>({state:r,commands:o})=>{const{extendEmptyMarkRange:s=!1}=n,a=ie(e,r.schema);return we(r,a,t)?o.unsetMark(a,{extendEmptyMarkRange:s}):o.setMark(a,t)},Kt=(e,t,n={})=>({state:r,commands:o})=>{const s=de(e,r.schema),a=de(t,r.schema),i=xe(r,s,n);let c;return r.selection.$anchor.sameParent(r.selection.$head)&&(c=r.selection.$anchor.parent.attrs),i?o.setNode(a,c):o.setNode(s,{...c,...n})},Ut=(e,t={})=>({state:n,commands:r})=>{const o=de(e,n.schema);return xe(n,o,t)?r.lift(o):r.wrapIn(o,t)},qt=()=>({state:e,dispatch:t})=>{const n=e.plugins;for(let r=0;r<n.length;r+=1){const o=n[r];let s;if(o.spec.isInputRules&&(s=o.getState(e))){if(t){const t=e.tr,n=s.transform;for(let e=n.steps.length-1;e>=0;e-=1)t.step(n.steps[e].invert(n.docs[e]));if(s.text){const n=t.doc.resolve(s.from).marks();t.replaceWith(s.from,s.to,e.schema.text(s.text,n))}else t.delete(s.from,s.to)}return!0}}return!1},Jt=()=>({tr:e,dispatch:t})=>{const{selection:n}=e,{empty:r,ranges:o}=n;return r||t&&o.forEach((t=>{e.removeMark(t.$from.pos,t.$to.pos)})),!0},Ht=(e,t={})=>({tr:n,state:r,dispatch:o})=>{var s;const{extendEmptyMarkRange:a=!1}=t,{selection:i}=n,c=ie(e,r.schema),{$from:d,empty:l,ranges:p}=i;if(!o)return!0;if(l&&a){let{from:e,to:t}=i;const r=null==(s=d.marks().find((e=>e.type===c)))?void 0:s.attrs,o=ge(d,c,r);o&&(e=o.from,t=o.to),n.removeMark(e,t,c)}else p.forEach((e=>{n.removeMark(e.$from.pos,e.$to.pos,c)}));return n.removeStoredMark(c),!0},Gt=(e,t={})=>({tr:n,state:r,dispatch:o})=>{let s=null,a=null;const i=le("string"==typeof e?e:e.name,r.schema);return!!i&&("node"===i&&(s=de(e,r.schema)),"mark"===i&&(a=ie(e,r.schema)),o&&n.selection.ranges.forEach((e=>{const o=e.$from.pos,i=e.$to.pos;let c,d,l,p;n.selection.empty?r.doc.nodesBetween(o,i,((e,t)=>{s&&s===e.type&&(l=Math.max(t,o),p=Math.min(t+e.nodeSize,i),c=t,d=e)})):r.doc.nodesBetween(o,i,((e,r)=>{r<o&&s&&s===e.type&&(l=Math.max(r,o),p=Math.min(r+e.nodeSize,i),c=r,d=e),r>=o&&r<=i&&(s&&s===e.type&&n.setNodeMarkup(r,void 0,{...e.attrs,...t}),a&&e.marks.length&&e.marks.forEach((s=>{if(a===s.type){const c=Math.max(r,o),d=Math.min(r+e.nodeSize,i);n.addMark(c,d,a.create({...s.attrs,...t}))}})))})),d&&(void 0!==c&&n.setNodeMarkup(c,void 0,{...d.attrs,...t}),a&&d.marks.length&&d.marks.forEach((e=>{a===e.type&&n.addMark(l,p,a.create({...e.attrs,...t}))})))})),!0)},Qt=(e,t={})=>({state:n,dispatch:r})=>{const o=de(e,n.schema);return F(o,t)(n,r)},Xt=(e,t={})=>({state:n,dispatch:r})=>{const o=de(e,n.schema);return V(o,t)(n,r)},Yt=Fe.create({name:"commands",addCommands:()=>({...Le})}),Zt=Fe.create({name:"delete",onUpdate({transaction:e,appendedTransactions:t}){var n,r,o;const s=()=>{var n,r,o,s;if(null!=(s=null==(o=null==(r=null==(n=this.editor.options.coreExtensionOptions)?void 0:n.delete)?void 0:r.filterTransaction)?void 0:o.call(r,e))?s:e.getMeta("y-sync$"))return;const a=q(e.before,[e,...t]);me(a).forEach((t=>{a.mapping.mapResult(t.oldRange.from).deletedAfter&&a.mapping.mapResult(t.oldRange.to).deletedBefore&&a.before.nodesBetween(t.oldRange.from,t.oldRange.to,((n,r)=>{const o=r+n.nodeSize-2,s=t.oldRange.from<=r&&o<=t.oldRange.to;this.editor.emit("delete",{type:"node",node:n,from:r,to:o,newFrom:a.mapping.map(r),newTo:a.mapping.map(o),deletedRange:t.oldRange,newRange:t.newRange,partial:!s,editor:this.editor,transaction:e,combinedTransform:a})}))}));const i=a.mapping;a.steps.forEach(((t,n)=>{var r,o;if(t instanceof c){const s=i.slice(n).map(t.from,-1),c=i.slice(n).map(t.to),d=i.invert().map(s,-1),l=i.invert().map(c),p=null==(r=a.doc.nodeAt(s-1))?void 0:r.marks.some((e=>e.eq(t.mark))),m=null==(o=a.doc.nodeAt(c))?void 0:o.marks.some((e=>e.eq(t.mark)));this.editor.emit("delete",{type:"mark",mark:t.mark,from:t.from,to:t.to,deletedRange:{from:d,to:l},newRange:{from:s,to:c},partial:Boolean(m||p),editor:this.editor,transaction:e,combinedTransform:a})}}))};null==(o=null==(r=null==(n=this.editor.options.coreExtensionOptions)?void 0:n.delete)?void 0:r.async)||o?setTimeout(s,0):s()}}),en=Fe.create({name:"drop",addProseMirrorPlugins(){return[new e({key:new t("tiptapDrop"),props:{handleDrop:(e,t,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:t,slice:n,moved:r})}}})]}}),tn=Fe.create({name:"editable",addProseMirrorPlugins(){return[new e({key:new t("editable"),props:{editable:()=>this.editor.options.editable}})]}}),nn=new t("focusEvents"),rn=Fe.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new e({key:nn,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;const r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),on=Fe.create({name:"keymap",addKeyboardShortcuts(){const e=()=>this.editor.commands.first((({commands:e})=>[()=>e.undoInputRule(),()=>e.command((({tr:t})=>{const{selection:r,doc:o}=t,{empty:s,$anchor:a}=r,{pos:i,parent:c}=a,d=a.parent.isTextblock&&i>0?t.doc.resolve(i-1):a,l=d.parent.type.spec.isolating,p=a.pos-a.parentOffset,m=l&&1===d.parent.childCount?p===a.pos:n.atStart(o).from===i;return!(!s||!c.type.isTextblock||c.textContent.length||!m||m&&"paragraph"===a.parent.type.name)&&e.clearNodes()})),()=>e.deleteSelection(),()=>e.joinBackward(),()=>e.selectNodeBackward()])),t=()=>this.editor.commands.first((({commands:e})=>[()=>e.deleteSelection(),()=>e.deleteCurrentNode(),()=>e.joinForward(),()=>e.selectNodeForward()])),r={Enter:()=>this.editor.commands.first((({commands:e})=>[()=>e.newlineInCode(),()=>e.createParagraphNear(),()=>e.liftEmptyBlock(),()=>e.splitBlock()])),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},o={...r},s={...r,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return nt()||ht()?s:o},addProseMirrorPlugins(){return[new e({key:new t("clearDocument"),appendTransaction:(e,t,r)=>{if(e.some((e=>e.getMeta("composition"))))return;const o=e.some((e=>e.docChanged))&&!t.doc.eq(r.doc),s=e.some((e=>e.getMeta("preventClearDocument")));if(!o||s)return;const{empty:a,from:i,to:c}=t.selection,d=n.atStart(t.doc).from,l=n.atEnd(t.doc).to;if(a||!(i===d&&c===l))return;if(!Ce(r.doc))return;const p=r.tr,m=K({state:r,transaction:p}),{commands:f}=new U({editor:this.editor,state:m});return f.clearNodes(),p.steps.length?p:void 0}})]}}),sn=Fe.create({name:"paste",addProseMirrorPlugins(){return[new e({key:new t("tiptapPaste"),props:{handlePaste:(e,t,n)=>{this.editor.emit("paste",{editor:this.editor,event:t,slice:n})}}})]}}),an=Fe.create({name:"tabindex",addProseMirrorPlugins(){return[new e({key:new t("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}});function cn(e){return new Ie({find:e.find,handler:({state:t,range:n,match:r})=>{const o=ne(e.getAttributes,void 0,r);if(!1===o||null===o)return null;const{tr:s}=t,a=r[r.length-1],i=r[0];if(a){const r=i.search(/\S/),c=n.from+i.indexOf(a),d=c+a.length;if(ke(n.from,n.to,t.doc).filter((t=>t.mark.type.excluded.find((n=>n===e.type&&n!==t.mark.type)))).filter((e=>e.to>c)).length)return null;d<n.to&&s.delete(d,n.to),c>n.from&&s.delete(n.from+r,c);const l=n.from+r+a.length;s.addMark(n.from+r,l,e.type.create(o||{})),s.removeStoredMark(e.type)}}})}function dn(e){return new Ie({find:e.find,handler:({state:t,range:n,match:r})=>{const o=t.doc.resolve(n.from),s=ne(e.getAttributes,void 0,r)||{};if(!o.node(-1).canReplaceWith(o.index(-1),o.indexAfter(-1),e.type))return null;t.tr.delete(n.from,n.to).setBlockType(n.from,n.from,e.type,s)}})}function ln(e){return new Ie({find:e.find,handler:({state:t,range:n,match:r,chain:o})=>{const s=ne(e.getAttributes,void 0,r)||{},c=t.tr.delete(n.from,n.to),d=c.doc.resolve(n.from).blockRange(),l=d&&a(d,e.type,s);if(!l)return null;if(c.wrap(d,l),e.keepMarks&&e.editor){const{selection:n,storedMarks:r}=t,{splittableMarks:o}=e.editor.extensionManager,s=r||n.$to.parentOffset&&n.$from.marks();if(s){const e=s.filter((e=>o.includes(e.type.name)));c.ensureMarks(e)}}if(e.keepAttributes){const t="bulletList"===e.type.name||"orderedList"===e.type.name?"listItem":"taskList";o().updateAttributes(t,s).run()}const p=c.doc.resolve(n.from-1).nodeBefore;p&&p.type===e.type&&i(c.doc,n.from-1)&&(!e.joinPredicate||e.joinPredicate(r,p))&&c.join(n.from-1)}})}var pn=class e extends Re{constructor(){super(...arguments),this.type="node"}static create(t={}){const n="function"==typeof t?t():t;return new e(n)}configure(e){return super.configure(e)}extend(e){const t="function"==typeof e?e():e;return super.extend(t)}};function mn(e){return new Ne({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:o})=>{const s=ne(e.getAttributes,void 0,r,o);if(!1===s||null===s)return null;const{tr:a}=t,i=r[r.length-1],c=r[0];let d=n.to;if(i){const r=c.search(/\S/),o=n.from+c.indexOf(i),l=o+i.length;if(ke(n.from,n.to,t.doc).filter((t=>t.mark.type.excluded.find((n=>n===e.type&&n!==t.mark.type)))).filter((e=>e.to>o)).length)return null;l<n.to&&a.delete(l,n.to),o>n.from&&a.delete(n.from+r,o),d=n.from+r+i.length,a.addMark(n.from+r,d,e.type.create(s||{})),a.removeStoredMark(e.type)}}})}export{U as CommandManager,Fe as Extension,Ie as InputRule,Be as Mark,pn as Node,Ne as PasteRule,ne as callOrReturn,q as combineTransactionSteps,K as createChainableState,Q as createDocument,G as createNodeFromContent,X as defaultBlockAt,wt as deleteProps,H as elementFromString,ze as extensions,Z as findParentNode,Y as findParentNodeClosestToPos,me as getChangedRanges,ee as getExtensionField,ce as getMarkAttributes,ge as getMarkRange,ie as getMarkType,ke as getMarksBetween,ve as getNodeAtPosition,de as getNodeType,le as getSchemaTypeNameByName,be as getSplittedAttributes,se as getTextBetween,ae as getTextSerializersFromSchema,tt as isAndroid,Me as isAtEndOfNode,Se as isAtStartOfNode,te as isFunction,Oe as isList,ht as isMacOS,we as isMarkActive,xe as isNodeActive,Ce as isNodeEmpty,Ae as isPlainObject,fe as isRegExp,$e as isTextSelection,nt as isiOS,cn as markInputRule,mn as markPasteRule,oe as mergeAttributes,Pe as mergeDeep,Ee as minMax,ue as objectIncludes,pe as removeDuplicates,je as resolveFocusPosition,Te as selectionToInsertionEnd,re as splitExtensions,dn as textblockTypeInputRule,ln as wrappingInputRule};
|
|
1
|
+
import{findWrapping as e,canJoin as t,RemoveMarkStep as n,Transform as r,liftTarget as o,joinPoint as s,canSplit as a,ReplaceStep as i,ReplaceAroundStep as c}from"../../../prosemirror-transform/dist/index.mjs";import{createParagraphNear as d,deleteSelection as l,exitCode as p,joinUp as u,joinDown as f,joinBackward as m,joinForward as h,joinTextblockBackward as g,joinTextblockForward as k,lift as y,liftEmptyBlock as v,newlineInCode as b,selectNodeBackward as w,selectNodeForward as x,selectParentNode as M,selectTextblockEnd as $,selectTextblockStart as S,setBlockType as E,wrapIn as C}from"../../../prosemirror-commands/dist/index.mjs";import{Plugin as O,PluginKey as T,Selection as A,TextSelection as j,AllSelection as I,NodeSelection as N}from"../../../prosemirror-state/dist/index.mjs";import{Fragment as R,Slice as z,Node as P,Schema as B,DOMParser as _}from"../../../prosemirror-model/dist/index.mjs";import{liftListItem as D,sinkListItem as L,wrapInList as F}from"../../../prosemirror-schema-list/dist/index.mjs";var V=Object.defineProperty,U=(e,t)=>{for(var n in t)V(e,n,{get:t[n],enumerable:!0})};function W(e){const{state:t,transaction:n}=e;let{selection:r}=n,{doc:o}=n,{storedMarks:s}=n;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return s},get selection(){return r},get doc(){return o},get tr(){return r=n.selection,o=n.doc,s=n.storedMarks,n}}}var K=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:e,editor:t,state:n}=this,{view:r}=t,{tr:o}=n,s=this.buildProps(o);return Object.fromEntries(Object.entries(e).map((([e,t])=>[e,(...e)=>{const n=t(...e)(s);return o.getMeta("preventDispatch")||this.hasCustomState||r.dispatch(o),n}])))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){const{rawCommands:n,editor:r,state:o}=this,{view:s}=r,a=[],i=!!e,c=e||o.tr,d={...Object.fromEntries(Object.entries(n).map((([e,n])=>[e,(...e)=>{const r=this.buildProps(c,t),o=n(...e)(r);return a.push(o),d}]))),run:()=>(i||!t||c.getMeta("preventDispatch")||this.hasCustomState||s.dispatch(c),a.every((e=>!0===e)))};return d}createCan(e){const{rawCommands:t,state:n}=this,r=!1,o=e||n.tr,s=this.buildProps(o,r);return{...Object.fromEntries(Object.entries(t).map((([e,t])=>[e,(...e)=>t(...e)({...s,dispatch:void 0})]))),chain:()=>this.createChain(o,r)}}buildProps(e,t=!0){const{rawCommands:n,editor:r,state:o}=this,{view:s}=r,a={tr:e,editor:r,view:s,state:W({state:o,transaction:e}),dispatch:t?()=>{}:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map((([e,t])=>[e,(...e)=>t(...e)(a)])))}};return a}},q={};U(q,{blur:()=>H,clearContent:()=>Z,clearNodes:()=>J,command:()=>Q,createParagraphNear:()=>G,cut:()=>X,deleteCurrentNode:()=>Y,deleteNode:()=>te,deleteRange:()=>ne,deleteSelection:()=>re,enter:()=>oe,exitCode:()=>se,extendMarkRange:()=>ue,first:()=>fe,focus:()=>be,forEach:()=>we,insertContent:()=>xe,insertContentAt:()=>Ce,joinBackward:()=>Ae,joinDown:()=>Te,joinForward:()=>je,joinItemBackward:()=>Ie,joinItemForward:()=>Ne,joinTextblockBackward:()=>Re,joinTextblockForward:()=>ze,joinUp:()=>Oe,keyboardShortcut:()=>Be,lift:()=>De,liftEmptyBlock:()=>Le,liftListItem:()=>Fe,newlineInCode:()=>Ve,resetAttributes:()=>Ke,scrollIntoView:()=>qe,selectAll:()=>He,selectNodeBackward:()=>Ze,selectNodeForward:()=>Je,selectParentNode:()=>Qe,selectTextblockEnd:()=>Ge,selectTextblockStart:()=>Xe,setContent:()=>et,setMark:()=>St,setMeta:()=>Et,setNode:()=>Ct,setNodeSelection:()=>Ot,setTextDirection:()=>Tt,setTextSelection:()=>At,sinkListItem:()=>jt,splitBlock:()=>Nt,splitListItem:()=>Rt,toggleList:()=>Bt,toggleMark:()=>_t,toggleNode:()=>Dt,toggleWrap:()=>Lt,undoInputRule:()=>Ft,unsetAllMarks:()=>Vt,unsetMark:()=>Ut,unsetTextDirection:()=>Wt,updateAttributes:()=>Kt,wrapIn:()=>qt,wrapInList:()=>Ht});var H=()=>({editor:e,view:t})=>(requestAnimationFrame((()=>{var n;e.isDestroyed||(t.dom.blur(),null==(n=null==window?void 0:window.getSelection())||n.removeAllRanges())})),!0),Z=(e=!0)=>({commands:t})=>t.setContent("",{emitUpdate:e}),J=()=>({state:e,tr:t,dispatch:n})=>{const{selection:r}=t,{ranges:s}=r;return!n||(s.forEach((({$from:n,$to:r})=>{e.doc.nodesBetween(n.pos,r.pos,((e,n)=>{if(e.type.isText)return;const{doc:r,mapping:s}=t,a=r.resolve(s.map(n)),i=r.resolve(s.map(n+e.nodeSize)),c=a.blockRange(i);if(!c)return;const d=o(c);if(e.type.isTextblock){const{defaultType:e}=a.parent.contentMatchAt(a.index());t.setNodeMarkup(c.start,e)}(d||0===d)&&t.lift(c,d)}))})),!0)},Q=e=>t=>e(t),G=()=>({state:e,dispatch:t})=>d(e,t),X=(e,t)=>({editor:n,tr:r})=>{const{state:o}=n,s=o.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);const a=r.mapping.map(t);return r.insert(a,s.content),r.setSelection(new j(r.doc.resolve(Math.max(a-1,0)))),!0},Y=()=>({tr:e,dispatch:t})=>{const{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;const o=e.selection.$anchor;for(let n=o.depth;n>0;n-=1){if(o.node(n).type===r.type){if(t){const t=o.before(n),r=o.after(n);e.delete(t,r).scrollIntoView()}return!0}}return!1};function ee(e,t){if("string"==typeof e){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}var te=e=>({tr:t,state:n,dispatch:r})=>{const o=ee(e,n.schema),s=t.selection.$anchor;for(let e=s.depth;e>0;e-=1){if(s.node(e).type===o){if(r){const n=s.before(e),r=s.after(e);t.delete(n,r).scrollIntoView()}return!0}}return!1},ne=e=>({tr:t,dispatch:n})=>{const{from:r,to:o}=e;return n&&t.delete(r,o),!0},re=()=>({state:e,dispatch:t})=>l(e,t),oe=()=>({commands:e})=>e.keyboardShortcut("Enter"),se=()=>({state:e,dispatch:t})=>p(e,t);function ae(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function ie(e,t,n={strict:!0}){const r=Object.keys(t);return!r.length||r.every((r=>n.strict?t[r]===e[r]:ae(t[r])?t[r].test(e[r]):t[r]===e[r]))}function ce(e,t,n={}){return e.find((e=>e.type===t&&ie(Object.fromEntries(Object.keys(n).map((t=>[t,e.attrs[t]]))),n)))}function de(e,t,n={}){return!!ce(e,t,n)}function le(e,t,n){if(!e||!t)return;let r=e.parent.childAfter(e.parentOffset);if(r.node&&r.node.marks.some((e=>e.type===t))||(r=e.parent.childBefore(e.parentOffset)),!r.node||!r.node.marks.some((e=>e.type===t)))return;if(!n){const e=r.node.marks.find((e=>e.type===t));e&&(n=e.attrs)}if(!ce([...r.node.marks],t,n))return;let o=r.index,s=e.start()+r.offset,a=o+1,i=s+r.node.nodeSize;for(;o>0&&de([...e.parent.child(o-1).marks],t,n);)o-=1,s-=e.parent.child(o).nodeSize;for(;a<e.parent.childCount&&de([...e.parent.child(a).marks],t,n);)i+=e.parent.child(a).nodeSize,a+=1;return{from:s,to:i}}function pe(e,t){if("string"==typeof e){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}var ue=(e,t)=>({tr:n,state:r,dispatch:o})=>{const s=pe(e,r.schema),{doc:a,selection:i}=n,{$from:c,from:d,to:l}=i;if(o){const e=le(c,s,t);if(e&&e.from<=d&&e.to>=l){const t=j.create(a,e.from,e.to);n.setSelection(t)}}return!0},fe=e=>t=>{const n="function"==typeof e?e(t):e;for(let e=0;e<n.length;e+=1)if(n[e](t))return!0;return!1};function me(e){return e instanceof j}function he(e=0,t=0,n=0){return Math.min(Math.max(e,t),n)}function ge(e,t=null){if(!t)return null;const n=A.atStart(e),r=A.atEnd(e);if("start"===t||!0===t)return n;if("end"===t)return r;const o=n.from,s=r.to;return"all"===t?j.create(e,he(0,o,s),he(e.content.size,o,s)):j.create(e,he(t,o,s),he(t,o,s))}function ke(){return"Android"===navigator.platform||/android/i.test(navigator.userAgent)}function ye(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}function ve(){return"undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}var be=(e=null,t={})=>({editor:n,view:r,tr:o,dispatch:s})=>{t={scrollIntoView:!0,...t};const a=()=>{(ye()||ke())&&r.dom.focus(),!ve()||ye()||ke()||r.dom.focus({preventScroll:!0}),requestAnimationFrame((()=>{n.isDestroyed||(r.focus(),(null==t?void 0:t.scrollIntoView)&&n.commands.scrollIntoView())}))};try{if(r.hasFocus()&&null===e||!1===e)return!0}catch{return!1}if(s&&null===e&&!me(n.state.selection))return a(),!0;const i=ge(o.doc,e)||n.state.selection,c=n.state.selection.eq(i);return s&&(c||o.setSelection(i),c&&o.storedMarks&&o.setStoredMarks(o.storedMarks),a()),!0},we=(e,t)=>n=>e.every(((e,r)=>t(e,{...n,index:r}))),xe=(e,t)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},e,t),Me=e=>{const t=e.childNodes;for(let n=t.length-1;n>=0;n-=1){const r=t[n];3===r.nodeType&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):1===r.nodeType&&Me(r)}return e};function $e(e){if("undefined"==typeof window)throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");const t=`<body>${e}</body>`,n=(new window.DOMParser).parseFromString(t,"text/html").body;return Me(n)}function Se(e,t,n){if(e instanceof P||e instanceof R)return e;n={slice:!0,parseOptions:{},...n};const r="string"==typeof e;if("object"==typeof e&&null!==e)try{if(Array.isArray(e)&&e.length>0)return R.fromArray(e.map((e=>t.nodeFromJSON(e))));const r=t.nodeFromJSON(e);return n.errorOnInvalidContent&&r.check(),r}catch(r){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:r});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",r),Se("",t,n)}if(r){if(n.errorOnInvalidContent){let r=!1,o="";const s=new B({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:e=>(r=!0,o="string"==typeof e?e:e.outerHTML,null)}]}})});if(n.slice?_.fromSchema(s).parseSlice($e(e),n.parseOptions):_.fromSchema(s).parse($e(e),n.parseOptions),n.errorOnInvalidContent&&r)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${o}`)})}const r=_.fromSchema(t);return n.slice?r.parseSlice($e(e),n.parseOptions).content:r.parse($e(e),n.parseOptions)}return Se("",t,n)}function Ee(e,t,n){const r=e.steps.length-1;if(r<t)return;const o=e.steps[r];if(!(o instanceof i||o instanceof c))return;const s=e.mapping.maps[r];let a=0;s.forEach(((e,t,n,r)=>{0===a&&(a=r)})),e.setSelection(A.near(e.doc.resolve(a),n))}var Ce=(e,t,n)=>({tr:r,dispatch:o,editor:s})=>{var a;if(o){let o;const i=e=>{s.emit("contentError",{editor:s,error:e,disableCollaboration:()=>{"collaboration"in s.storage&&"object"==typeof s.storage.collaboration&&s.storage.collaboration&&(s.storage.collaboration.isDisabled=!0)}})},c={preserveWhitespace:"full",...(n={parseOptions:s.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n}).parseOptions};if(!n.errorOnInvalidContent&&!s.options.enableContentCheck&&s.options.emitContentError)try{Se(t,s.schema,{parseOptions:c,errorOnInvalidContent:!0})}catch(e){i(e)}try{o=Se(t,s.schema,{parseOptions:c,errorOnInvalidContent:null!=(a=n.errorOnInvalidContent)?a:s.options.enableContentCheck})}catch(e){return i(e),!1}let{from:d,to:l}="number"==typeof e?{from:e,to:e}:{from:e.from,to:e.to},p=!0,u=!0;if(("type"in o?[o]:o).forEach((e=>{e.check(),p=!!p&&(e.isText&&0===e.marks.length),u=!!u&&e.isBlock})),d===l&&u){const{parent:e}=r.doc.resolve(d);e.isTextblock&&!e.type.spec.code&&!e.childCount&&(d-=1,l+=1)}let f;if(p){if(Array.isArray(t))f=t.map((e=>e.text||"")).join("");else if(t instanceof R){let e="";t.forEach((t=>{t.text&&(e+=t.text)})),f=e}else f="object"==typeof t&&t&&t.text?t.text:t;r.insertText(f,d,l)}else{f=o;const e=r.doc.resolve(d),t=e.node(),n=0===e.parentOffset,s=t.isText||t.isTextblock,a=t.content.size>0;n&&s&&a&&u&&(d=Math.max(0,d-1)),r.replaceWith(d,l,f)}n.updateSelection&&Ee(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:d,text:f}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:d,text:f})}return!0},Oe=()=>({state:e,dispatch:t})=>u(e,t),Te=()=>({state:e,dispatch:t})=>f(e,t),Ae=()=>({state:e,dispatch:t})=>m(e,t),je=()=>({state:e,dispatch:t})=>h(e,t),Ie=()=>({state:e,dispatch:t,tr:n})=>{try{const r=s(e.doc,e.selection.$from.pos,-1);return null!=r&&(n.join(r,2),t&&t(n),!0)}catch{return!1}},Ne=()=>({state:e,dispatch:t,tr:n})=>{try{const r=s(e.doc,e.selection.$from.pos,1);return null!=r&&(n.join(r,2),t&&t(n),!0)}catch{return!1}},Re=()=>({state:e,dispatch:t})=>g(e,t),ze=()=>({state:e,dispatch:t})=>k(e,t);function Pe(){return"undefined"!=typeof navigator&&/Mac/.test(navigator.platform)}var Be=e=>({editor:t,view:n,tr:r,dispatch:o})=>{const s=function(e){const t=e.split(/-(?!$)/);let n,r,o,s,a=t[t.length-1];"Space"===a&&(a=" ");for(let e=0;e<t.length-1;e+=1){const a=t[e];if(/^(cmd|meta|m)$/i.test(a))s=!0;else if(/^a(lt)?$/i.test(a))n=!0;else if(/^(c|ctrl|control)$/i.test(a))r=!0;else if(/^s(hift)?$/i.test(a))o=!0;else{if(!/^mod$/i.test(a))throw new Error(`Unrecognized modifier name: ${a}`);ye()||Pe()?s=!0:r=!0}}return n&&(a=`Alt-${a}`),r&&(a=`Ctrl-${a}`),s&&(a=`Meta-${a}`),o&&(a=`Shift-${a}`),a}(e).split(/-(?!$)/),a=s.find((e=>!["Alt","Ctrl","Meta","Shift"].includes(e))),i=new KeyboardEvent("keydown",{key:"Space"===a?" ":a,altKey:s.includes("Alt"),ctrlKey:s.includes("Ctrl"),metaKey:s.includes("Meta"),shiftKey:s.includes("Shift"),bubbles:!0,cancelable:!0}),c=t.captureTransaction((()=>{n.someProp("handleKeyDown",(e=>e(n,i)))}));return null==c||c.steps.forEach((e=>{const t=e.map(r.mapping);t&&o&&r.maybeStep(t)})),!0};function _e(e,t,n={}){const{from:r,to:o,empty:s}=e.selection,a=t?ee(t,e.schema):null,i=[];e.doc.nodesBetween(r,o,((e,t)=>{if(e.isText)return;const n=Math.max(r,t),s=Math.min(o,t+e.nodeSize);i.push({node:e,from:n,to:s})}));const c=o-r,d=i.filter((e=>!a||a.name===e.node.type.name)).filter((e=>ie(e.node.attrs,n,{strict:!1})));if(s)return!!d.length;return d.reduce(((e,t)=>e+t.to-t.from),0)>=c}var De=(e,t={})=>({state:n,dispatch:r})=>!!_e(n,ee(e,n.schema),t)&&y(n,r),Le=()=>({state:e,dispatch:t})=>v(e,t),Fe=e=>({state:t,dispatch:n})=>{const r=ee(e,t.schema);return D(r)(t,n)},Ve=()=>({state:e,dispatch:t})=>b(e,t);function Ue(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function We(e,t){const n="string"==typeof t?[t]:t;return Object.keys(e).reduce(((t,r)=>(n.includes(r)||(t[r]=e[r]),t)),{})}var Ke=(e,t)=>({tr:n,state:r,dispatch:o})=>{let s=null,a=null;const i=Ue("string"==typeof e?e:e.name,r.schema);if(!i)return!1;"node"===i&&(s=ee(e,r.schema)),"mark"===i&&(a=pe(e,r.schema));let c=!1;return n.selection.ranges.forEach((e=>{r.doc.nodesBetween(e.$from.pos,e.$to.pos,((e,r)=>{s&&s===e.type&&(c=!0,o&&n.setNodeMarkup(r,void 0,We(e.attrs,t))),a&&e.marks.length&&e.marks.forEach((s=>{a===s.type&&(c=!0,o&&n.addMark(r,r+e.nodeSize,a.create(We(s.attrs,t))))}))}))})),c},qe=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),!0),He=()=>({tr:e,dispatch:t})=>{if(t){const t=new I(e.doc);e.setSelection(t)}return!0},Ze=()=>({state:e,dispatch:t})=>w(e,t),Je=()=>({state:e,dispatch:t})=>x(e,t),Qe=()=>({state:e,dispatch:t})=>M(e,t),Ge=()=>({state:e,dispatch:t})=>$(e,t),Xe=()=>({state:e,dispatch:t})=>S(e,t);function Ye(e,t,n={},r={}){return Se(e,t,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}var et=(e,{errorOnInvalidContent:t,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:o,tr:s,dispatch:a,commands:i})=>{const{doc:c}=s;if("full"!==r.preserveWhitespace){const i=Ye(e,o.schema,r,{errorOnInvalidContent:null!=t?t:o.options.enableContentCheck});return a&&s.replaceWith(0,c.content.size,i).setMeta("preventUpdate",!n),!0}return a&&s.setMeta("preventUpdate",!n),i.insertContentAt({from:0,to:c.content.size},e,{parseOptions:r,errorOnInvalidContent:null!=t?t:o.options.enableContentCheck})};function tt(e,t){const n=pe(t,e.schema),{from:r,to:o,empty:s}=e.selection,a=[];s?(e.storedMarks&&a.push(...e.storedMarks),a.push(...e.selection.$head.marks())):e.doc.nodesBetween(r,o,(e=>{a.push(...e.marks)}));const i=a.find((e=>e.type.name===n.name));return i?{...i.attrs}:{}}function nt(e,t){const n=new r(e);return t.forEach((e=>{e.steps.forEach((e=>{n.step(e)}))})),n}function rt(e){for(let t=0;t<e.edgeCount;t+=1){const{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}function ot(e,t){for(let n=e.depth;n>0;n-=1){const r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function st(e){return t=>ot(t.$from,e)}function at(e,t,n){if(void 0===e.config[t]&&e.parent)return at(e.parent,t,n);if("function"==typeof e.config[t]){return e.config[t].bind({...n,parent:e.parent?at(e.parent,t,n):null})}return e.config[t]}function it(e){return"function"==typeof e}function ct(e,t=void 0,...n){return it(e)?t?e.bind(t)(...n):e(...n):e}function dt(e){return{baseExtensions:e.filter((e=>"extension"===e.type)),nodeExtensions:e.filter((e=>"node"===e.type)),markExtensions:e.filter((e=>"mark"===e.type))}}function lt(e){const t=[],n=function(e){const t=[];let n="",r=!1,o=!1,s=0;const a=e.length;for(let i=0;i<a;i+=1){const a=e[i];if("'"!==a||o)if('"'!==a||r){if(!r&&!o){if("("===a){s+=1,n+=a;continue}if(")"===a&&s>0){s-=1,n+=a;continue}if(";"===a&&0===s){t.push(n),n="";continue}}n+=a}else o=!o,n+=a;else r=!r,n+=a}return n&&t.push(n),t}(e||""),r=n.length;for(let e=0;e<r;e+=1){const r=n[e],o=r.indexOf(":");if(-1===o)continue;const s=r.slice(0,o).trim(),a=r.slice(o+1).trim();s&&a&&t.push([s,a])}return t}function pt(...e){return e.filter((e=>!!e)).reduce(((e,t)=>{const n={...e};return Object.entries(t).forEach((([e,t])=>{if(n[e])if("class"===e){const r=t?String(t).split(" "):[],o=n[e]?n[e].split(" "):[],s=r.filter((e=>!o.includes(e)));n[e]=[...o,...s].join(" ")}else if("style"===e){const r=new Map([...lt(n[e]),...lt(t)]);n[e]=Array.from(r.entries()).map((([e,t])=>`${e}: ${t}`)).join("; ")}else n[e]=t;else n[e]=t})),n}),{})}function ut(e,t){return t.filter((t=>t.type===e.type.name)).filter((e=>e.attribute.rendered)).map((t=>t.attribute.renderHTML?t.attribute.renderHTML(e.attrs)||{}:{[t.name]:e.attrs[t.name]})).reduce(((e,t)=>pt(e,t)),{})}function ft(e,t,n){const{from:r,to:o}=t,{blockSeparator:s="\n\n",textSerializers:a={}}=n||{};let i="";return e.nodesBetween(r,o,((e,n,c,d)=>{var l;e.isBlock&&n>r&&(i+=s);const p=null==a?void 0:a[e.type.name];if(p)return c&&(i+=p({node:e,pos:n,parent:c,index:d,range:t})),!1;e.isText&&(i+=null==(l=null==e?void 0:e.text)?void 0:l.slice(Math.max(r,n)-n,o-n))})),i}function mt(e){return Object.fromEntries(Object.entries(e.nodes).filter((([,e])=>e.spec.toText)).map((([e,t])=>[e,t.spec.toText])))}function ht(e,t=JSON.stringify){const n={};return e.filter((e=>{const r=t(e);return!Object.prototype.hasOwnProperty.call(n,r)&&(n[r]=!0)}))}function gt(e){const{mapping:t,steps:n}=e,r=[];return t.maps.forEach(((e,o)=>{const s=[];if(e.ranges.length)e.forEach(((e,t)=>{s.push({from:e,to:t})}));else{const{from:e,to:t}=n[o];if(void 0===e||void 0===t)return;s.push({from:e,to:t})}s.forEach((({from:e,to:n})=>{const s=t.slice(o).map(e,-1),a=t.slice(o).map(n),i=t.invert().map(s,-1),c=t.invert().map(a);r.push({oldRange:{from:i,to:c},newRange:{from:s,to:a}})}))})),function(e){const t=ht(e);return 1===t.length?t:t.filter(((e,n)=>!t.filter(((e,t)=>t!==n)).some((t=>e.oldRange.from>=t.oldRange.from&&e.oldRange.to<=t.oldRange.to&&e.newRange.from>=t.newRange.from&&e.newRange.to<=t.newRange.to))))}(r)}function kt(e,t,n){const r=[];return e===t?n.resolve(e).marks().forEach((t=>{const o=le(n.resolve(e),t.type);o&&r.push({mark:t,...o})})):n.nodesBetween(e,t,((e,t)=>{e&&void 0!==(null==e?void 0:e.nodeSize)&&r.push(...e.marks.map((n=>({from:t,to:t+e.nodeSize,mark:n}))))})),r}var yt=(e,t,n,r=20)=>{const o=e.doc.resolve(n);let s=r,a=null;for(;s>0&&null===a;){const e=o.node(s);(null==e?void 0:e.type.name)===t?a=e:s-=1}return[a,s]};function vt(e,t,n){return Object.fromEntries(Object.entries(n).filter((([n])=>{const r=e.find((e=>e.type===t&&e.name===n));return!!r&&r.attribute.keepOnSplit})))}function bt(e,t,n={}){const{empty:r,ranges:o}=e.selection,s=t?pe(t,e.schema):null;if(r)return!!(e.storedMarks||e.selection.$from.marks()).filter((e=>!s||s.name===e.type.name)).find((e=>ie(e.attrs,n,{strict:!1})));let a=0;const i=[];if(o.forEach((({$from:t,$to:n})=>{const r=t.pos,o=n.pos;e.doc.nodesBetween(r,o,((e,t)=>{if(s&&e.inlineContent&&!e.type.allowsMarkType(s))return!1;if(!e.isText&&!e.marks.length)return;const n=Math.max(r,t),c=Math.min(o,t+e.nodeSize);a+=c-n,i.push(...e.marks.map((e=>({mark:e,from:n,to:c}))))}))})),0===a)return!1;const c=i.filter((e=>!s||s.name===e.mark.type.name)).filter((e=>ie(e.mark.attrs,n,{strict:!1}))).reduce(((e,t)=>e+t.to-t.from),0),d=i.filter((e=>!s||e.mark.type!==s&&e.mark.type.excludes(s))).reduce(((e,t)=>e+t.to-t.from),0);return(c>0?c+d:c)>=a}var wt=(e,t)=>{const{$from:n,$to:r,$anchor:o}=e.selection;if(t){const n=st((e=>e.type.name===t))(e.selection);if(!n)return!1;const r=e.doc.resolve(n.pos+1);return o.pos+1===r.end()}return!(r.parentOffset<r.parent.nodeSize-2||n.pos!==r.pos)},xt=e=>{const{$from:t,$to:n}=e.selection;return!(t.parentOffset>0||t.pos!==n.pos)};function Mt(e,t){const{nodeExtensions:n}=dt(t),r=n.find((t=>t.name===e));if(!r)return!1;const o=ct(at(r,"group",{name:r.name,options:r.options,storage:r.storage}));return"string"==typeof o&&o.split(" ").includes("list")}function $t(e,{checkChildren:t=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if("hardBreak"===e.type.name)return!0;if(e.isText)return!/\S/.test(null!=(r=e.text)?r:"")}if(e.isText)return!e.text;if(e.isAtom||e.isLeaf)return!1;if(0===e.content.childCount)return!0;if(t){let r=!0;return e.content.forEach((e=>{!1!==r&&($t(e,{ignoreWhitespace:n,checkChildren:t})||(r=!1))})),r}return!1}var St=(e,t={})=>({tr:n,state:r,dispatch:o})=>{const{selection:s}=n,{empty:a,ranges:i}=s,c=pe(e,r.schema);if(o)if(a){const e=tt(r,c);n.addStoredMark(c.create({...e,...t}))}else i.forEach((e=>{const o=e.$from.pos,s=e.$to.pos;r.doc.nodesBetween(o,s,((e,r)=>{const a=Math.max(r,o),i=Math.min(r+e.nodeSize,s);e.marks.find((e=>e.type===c))?e.marks.forEach((e=>{c===e.type&&n.addMark(a,i,c.create({...e.attrs,...t}))})):n.addMark(a,i,c.create(t))}))}));return function(e,t,n){var r;const{selection:o}=t;let s=null;if(me(o)&&(s=o.$cursor),s){const t=null!=(r=e.storedMarks)?r:s.marks();return s.parent.type.allowsMarkType(n)&&(!!n.isInSet(t)||!t.some((e=>e.type.excludes(n))))}const{ranges:a}=o;return a.some((({$from:t,$to:r})=>{let o=0===t.depth&&e.doc.inlineContent&&e.doc.type.allowsMarkType(n);return e.doc.nodesBetween(t.pos,r.pos,((e,t,r)=>{if(o)return!1;if(e.isInline){const t=!r||r.type.allowsMarkType(n),s=!!n.isInSet(e.marks)||!e.marks.some((e=>e.type.excludes(n)));o=t&&s}return!o})),o}))}(r,n,c)},Et=(e,t)=>({tr:n})=>(n.setMeta(e,t),!0),Ct=(e,t={})=>({state:n,dispatch:r,chain:o})=>{const s=ee(e,n.schema);let a;return n.selection.$anchor.sameParent(n.selection.$head)&&(a=n.selection.$anchor.parent.attrs),s.isTextblock?o().command((({commands:e})=>!!E(s,{...a,...t})(n)||e.clearNodes())).command((({state:e})=>E(s,{...a,...t})(e,r))).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},Ot=e=>({tr:t,dispatch:n})=>{if(n){const{doc:n}=t,r=he(e,0,n.content.size),o=N.create(n,r);t.setSelection(o)}return!0},Tt=(e,t)=>({tr:n,state:r,dispatch:o})=>{const{selection:s}=r;let a,i;return"number"==typeof t?(a=t,i=t):t&&"from"in t&&"to"in t?(a=t.from,i=t.to):(a=s.from,i=s.to),o&&n.doc.nodesBetween(a,i,((t,r)=>{t.isText||n.setNodeMarkup(r,void 0,{...t.attrs,dir:e})})),!0},At=e=>({tr:t,dispatch:n})=>{if(n){const{doc:n}=t,{from:r,to:o}="number"==typeof e?{from:e,to:e}:e,s=j.atStart(n).from,a=j.atEnd(n).to,i=he(r,s,a),c=he(o,s,a),d=j.create(n,i,c);t.setSelection(d)}return!0},jt=e=>({state:t,dispatch:n})=>{const r=ee(e,t.schema);return L(r)(t,n)};function It(e,t){const n=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(n){const r=n.filter((e=>null==t?void 0:t.includes(e.type.name)));e.tr.ensureMarks(r)}}var Nt=({keepMarks:e=!0}={})=>({tr:t,state:n,dispatch:r,editor:o})=>{const{selection:s,doc:i}=t,{$from:c,$to:d}=s,l=vt(o.extensionManager.attributes,c.node().type.name,c.node().attrs);if(s instanceof N&&s.node.isBlock)return!(!c.parentOffset||!a(i,c.pos))&&(r&&(e&&It(n,o.extensionManager.splittableMarks),t.split(c.pos).scrollIntoView()),!0);if(!c.parent.isBlock)return!1;const p=d.parentOffset===d.parent.content.size,u=0===c.depth?void 0:rt(c.node(-1).contentMatchAt(c.indexAfter(-1)));let f=p&&u?[{type:u,attrs:l}]:void 0,m=a(t.doc,t.mapping.map(c.pos),1,f);if(f||m||!a(t.doc,t.mapping.map(c.pos),1,u?[{type:u}]:void 0)||(m=!0,f=u?[{type:u,attrs:l}]:void 0),r){if(m&&(s instanceof j&&t.deleteSelection(),t.split(t.mapping.map(c.pos),1,f),u&&!p&&!c.parentOffset&&c.parent.type!==u)){const e=t.mapping.map(c.before()),n=t.doc.resolve(e);c.node(-1).canReplaceWith(n.index(),n.index()+1,u)&&t.setNodeMarkup(t.mapping.map(c.before()),u)}e&&It(n,o.extensionManager.splittableMarks),t.scrollIntoView()}return m},Rt=(e,t={})=>({tr:n,state:r,dispatch:o,editor:s})=>{var i;const c=ee(e,r.schema),{$from:d,$to:l}=r.selection,p=r.selection.node;if(p&&p.isBlock||d.depth<2||!d.sameParent(l))return!1;const u=d.node(-1);if(u.type!==c)return!1;const f=s.extensionManager.attributes;if(0===d.parent.content.size&&d.node(-1).childCount===d.indexAfter(-1)){if(2===d.depth||d.node(-3).type!==c||d.index(-2)!==d.node(-2).childCount-1)return!1;if(o){let e=R.empty;const r=d.index(-1)?1:d.index(-2)?2:3;for(let t=d.depth-r;t>=d.depth-3;t-=1)e=R.from(d.node(t).copy(e));const o=d.indexAfter(-1)<d.node(-2).childCount?1:d.indexAfter(-2)<d.node(-3).childCount?2:3,s={...vt(f,d.node().type.name,d.node().attrs),...t},a=(null==(i=c.contentMatch.defaultType)?void 0:i.createAndFill(s))||void 0;e=e.append(R.from(c.createAndFill(null,a)||void 0));const l=d.before(d.depth-(r-1));n.replace(l,d.after(-o),new z(e,4-r,0));let p=-1;n.doc.nodesBetween(l,n.doc.content.size,((e,t)=>{if(p>-1)return!1;e.isTextblock&&0===e.content.size&&(p=t+1)})),p>-1&&n.setSelection(j.near(n.doc.resolve(p))),n.scrollIntoView()}return!0}const m=l.pos===d.end()?u.contentMatchAt(0).defaultType:null,h={...vt(f,u.type.name,u.attrs),...t},g={...vt(f,d.node().type.name,d.node().attrs),...t};n.delete(d.pos,l.pos);const k=m?[{type:c,attrs:h},{type:m,attrs:g}]:[{type:c,attrs:h}];if(!a(n.doc,d.pos,2))return!1;if(o){const{selection:e,storedMarks:t}=r,{splittableMarks:a}=s.extensionManager,i=t||e.$to.parentOffset&&e.$from.marks();if(n.split(d.pos,2,k).scrollIntoView(),!i||!o)return!0;const c=i.filter((e=>a.includes(e.type.name)));n.ensureMarks(c)}return!0},zt=(e,n)=>{const r=st((e=>e.type===n))(e.selection);if(!r)return!0;const o=e.doc.resolve(Math.max(0,r.pos-1)).before(r.depth);if(void 0===o)return!0;const s=e.doc.nodeAt(o);return r.node.type!==(null==s?void 0:s.type)||!t(e.doc,r.pos)||(e.join(r.pos),!0)},Pt=(e,n)=>{const r=st((e=>e.type===n))(e.selection);if(!r)return!0;const o=e.doc.resolve(r.start).after(r.depth);if(void 0===o)return!0;const s=e.doc.nodeAt(o);return r.node.type!==(null==s?void 0:s.type)||!t(e.doc,o)||(e.join(o),!0)};var Bt=(e,t,n,r={})=>({editor:o,tr:s,state:a,dispatch:i,chain:c,commands:d,can:l})=>{const{extensions:p,splittableMarks:u}=o.extensionManager,f=ee(e,a.schema),m=ee(t,a.schema),{selection:h,storedMarks:g}=a,{$from:k,$to:y}=h,v=k.blockRange(y),b=g||h.$to.parentOffset&&h.$from.marks();if(!v)return!1;const w=st((e=>Mt(e.type.name,p)))(h),x=0===h.from&&h.to===a.doc.content.size,M=a.doc.content.content,$=1===M.length?M[0]:null,S=x&&$&&Mt($.type.name,p)?{node:$,pos:0}:null,E=null!=w?w:S,C=!!S;if((!!w&&v.depth>=1&&v.depth-w.depth<=1||C)&&E){if(E.node.type===f)return x&&C?c().command((({tr:e,dispatch:t})=>{const n=function(e){const t=e.doc,n=t.firstChild;if(!n)return null;const r=t.resolve(1),o=t.resolve(n.nodeSize-1);return j.between(r,o)}(e);return!!n&&(e.setSelection(n),t&&t(e),!0)})).liftListItem(m).run():d.liftListItem(m);if(Mt(E.node.type.name,p)&&f.validContent(E.node.content))return c().command((()=>(s.setNodeMarkup(E.pos,f),!0))).command((()=>zt(s,f))).command((()=>Pt(s,f))).run()}return n&&b&&i?c().command((()=>{const e=l().wrapInList(f,r),t=b.filter((e=>u.includes(e.type.name)));return s.ensureMarks(t),!!e||d.clearNodes()})).wrapInList(f,r).command((()=>zt(s,f))).command((()=>Pt(s,f))).run():c().command((()=>!!l().wrapInList(f,r)||d.clearNodes())).wrapInList(f,r).command((()=>zt(s,f))).command((()=>Pt(s,f))).run()},_t=(e,t={},n={})=>({state:r,commands:o})=>{const{extendEmptyMarkRange:s=!1}=n,a=pe(e,r.schema);return bt(r,a,t)?o.unsetMark(a,{extendEmptyMarkRange:s}):o.setMark(a,t)},Dt=(e,t,n={})=>({state:r,commands:o})=>{const s=ee(e,r.schema),a=ee(t,r.schema),i=_e(r,s,n);let c;return r.selection.$anchor.sameParent(r.selection.$head)&&(c=r.selection.$anchor.parent.attrs),i?o.setNode(a,c):o.setNode(s,{...c,...n})},Lt=(e,t={})=>({state:n,commands:r})=>{const o=ee(e,n.schema);return _e(n,o,t)?r.lift(o):r.wrapIn(o,t)},Ft=()=>({state:e,dispatch:t})=>{const n=e.plugins;for(let r=0;r<n.length;r+=1){const o=n[r];let s;if(o.spec.isInputRules&&(s=o.getState(e))){if(t){const t=e.tr,n=s.transform;for(let e=n.steps.length-1;e>=0;e-=1)t.step(n.steps[e].invert(n.docs[e]));if(s.text){const n=t.doc.resolve(s.from).marks();t.replaceWith(s.from,s.to,e.schema.text(s.text,n))}else t.delete(s.from,s.to)}return!0}}return!1},Vt=()=>({tr:e,dispatch:t})=>{const{selection:n}=e,{empty:r,ranges:o}=n;return r||t&&o.forEach((t=>{e.removeMark(t.$from.pos,t.$to.pos)})),!0},Ut=(e,t={})=>({tr:n,state:r,dispatch:o})=>{var s;const{extendEmptyMarkRange:a=!1}=t,{selection:i}=n,c=pe(e,r.schema),{$from:d,empty:l,ranges:p}=i;if(!o)return!0;if(l&&a){let{from:e,to:t}=i;const r=null==(s=d.marks().find((e=>e.type===c)))?void 0:s.attrs,o=le(d,c,r);o&&(e=o.from,t=o.to),n.removeMark(e,t,c)}else p.forEach((e=>{n.removeMark(e.$from.pos,e.$to.pos,c)}));return n.removeStoredMark(c),!0},Wt=e=>({tr:t,state:n,dispatch:r})=>{const{selection:o}=n;let s,a;return"number"==typeof e?(s=e,a=e):e&&"from"in e&&"to"in e?(s=e.from,a=e.to):(s=o.from,a=o.to),r&&t.doc.nodesBetween(s,a,((e,n)=>{if(e.isText)return;const r={...e.attrs};delete r.dir,t.setNodeMarkup(n,void 0,r)})),!0},Kt=(e,t={})=>({tr:n,state:r,dispatch:o})=>{let s=null,a=null;const i=Ue("string"==typeof e?e:e.name,r.schema);if(!i)return!1;"node"===i&&(s=ee(e,r.schema)),"mark"===i&&(a=pe(e,r.schema));let c=!1;return n.selection.ranges.forEach((e=>{const i=e.$from.pos,d=e.$to.pos;let l,p,u,f;n.selection.empty?r.doc.nodesBetween(i,d,((e,t)=>{s&&s===e.type&&(c=!0,u=Math.max(t,i),f=Math.min(t+e.nodeSize,d),l=t,p=e)})):r.doc.nodesBetween(i,d,((e,r)=>{r<i&&s&&s===e.type&&(c=!0,u=Math.max(r,i),f=Math.min(r+e.nodeSize,d),l=r,p=e),r>=i&&r<=d&&(s&&s===e.type&&(c=!0,o&&n.setNodeMarkup(r,void 0,{...e.attrs,...t})),a&&e.marks.length&&e.marks.forEach((s=>{if(a===s.type&&(c=!0,o)){const o=Math.max(r,i),c=Math.min(r+e.nodeSize,d);n.addMark(o,c,a.create({...s.attrs,...t}))}})))})),p&&(void 0!==l&&o&&n.setNodeMarkup(l,void 0,{...p.attrs,...t}),a&&p.marks.length&&p.marks.forEach((e=>{a===e.type&&o&&n.addMark(u,f,a.create({...e.attrs,...t}))})))})),c},qt=(e,t={})=>({state:n,dispatch:r})=>{const o=ee(e,n.schema);return C(o,t)(n,r)},Ht=(e,t={})=>({state:n,dispatch:r})=>{const o=ee(e,n.schema);return F(o,t)(n,r)},Zt=class{constructor(e){var t;this.find=e.find,this.handler=e.handler,this.undoable=null==(t=e.undoable)||t}};function Jt(e){return"Object"===function(e){return Object.prototype.toString.call(e).slice(8,-1)}(e)&&(e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype)}function Qt(e,t){const n={...e};return Jt(e)&&Jt(t)&&Object.keys(t).forEach((r=>{Jt(t[r])&&Jt(e[r])?n[r]=Qt(e[r],t[r]):n[r]=t[r]})),n}var Gt=class{constructor(e={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...e},this.name=this.config.name}get options(){return{...ct(at(this,"addOptions",{name:this.name}))||{}}}get storage(){return{...ct(at(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(e={}){const t=this.extend({...this.config,addOptions:()=>Qt(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){const t=new this.constructor({...this.config,...e});return t.parent=this,this.child=t,t.name="name"in e?e.name:t.parent.name,t}},Xt=class e extends Gt{constructor(){super(...arguments),this.type="mark"}static create(t={}){const n="function"==typeof t?t():t;return new e(n)}static handleExit({editor:e,mark:t}){const{tr:n}=e.state,r=e.state.selection.$from;if(r.pos===r.end()){const o=r.marks();if(!!!o.find((e=>(null==e?void 0:e.type.name)===t.name)))return!1;const s=o.find((e=>(null==e?void 0:e.type.name)===t.name));return s&&n.removeStoredMark(s),n.insertText(" ",r.pos),e.view.dispatch(n),!0}return!1}configure(e){return super.configure(e)}extend(e){const t="function"==typeof e?e():e;return super.extend(t)}},Yt=class{constructor(e){this.find=e.find,this.handler=e.handler}},en={};U(en,{ClipboardTextSerializer:()=>nn,Commands:()=>rn,Delete:()=>on,Drop:()=>sn,Editable:()=>an,FocusEvents:()=>dn,Keymap:()=>ln,Paste:()=>pn,Tabindex:()=>un,TextDirection:()=>fn,focusEventsPluginKey:()=>cn});var tn=class e extends Gt{constructor(){super(...arguments),this.type="extension"}static create(t={}){const n="function"==typeof t?t():t;return new e(n)}configure(e){return super.configure(e)}extend(e){const t="function"==typeof e?e():e;return super.extend(t)}},nn=tn.create({name:"clipboardTextSerializer",addOptions:()=>({blockSeparator:void 0}),addProseMirrorPlugins(){return[new O({key:new T("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:o}=t,{ranges:s}=o,a=Math.min(...s.map((e=>e.$from.pos))),i=Math.max(...s.map((e=>e.$to.pos))),c=mt(n);return ft(r,{from:a,to:i},{...void 0!==this.options.blockSeparator?{blockSeparator:this.options.blockSeparator}:{},textSerializers:c})}}})]}}),rn=tn.create({name:"commands",addCommands:()=>({...q})}),on=tn.create({name:"delete",onUpdate({transaction:e,appendedTransactions:t}){var r,o,s;const a=()=>{var r,o,s,a;if(null!=(a=null==(s=null==(o=null==(r=this.editor.options.coreExtensionOptions)?void 0:r.delete)?void 0:o.filterTransaction)?void 0:s.call(o,e))?a:e.getMeta("y-sync$"))return;const i=nt(e.before,[e,...t]);gt(i).forEach((t=>{i.mapping.mapResult(t.oldRange.from).deletedAfter&&i.mapping.mapResult(t.oldRange.to).deletedBefore&&i.before.nodesBetween(t.oldRange.from,t.oldRange.to,((n,r)=>{const o=r+n.nodeSize-2,s=t.oldRange.from<=r&&o<=t.oldRange.to;this.editor.emit("delete",{type:"node",node:n,from:r,to:o,newFrom:i.mapping.map(r),newTo:i.mapping.map(o),deletedRange:t.oldRange,newRange:t.newRange,partial:!s,editor:this.editor,transaction:e,combinedTransform:i})}))}));const c=i.mapping;i.steps.forEach(((t,r)=>{var o,s;if(t instanceof n){const n=c.slice(r).map(t.from,-1),a=c.slice(r).map(t.to),d=c.invert().map(n,-1),l=c.invert().map(a),p=n>0&&(null==(o=i.doc.nodeAt(n-1))?void 0:o.marks.some((e=>e.eq(t.mark)))),u=null==(s=i.doc.nodeAt(a))?void 0:s.marks.some((e=>e.eq(t.mark)));this.editor.emit("delete",{type:"mark",mark:t.mark,from:t.from,to:t.to,deletedRange:{from:d,to:l},newRange:{from:n,to:a},partial:Boolean(u||p),editor:this.editor,transaction:e,combinedTransform:i})}}))};null==(s=null==(o=null==(r=this.editor.options.coreExtensionOptions)?void 0:r.delete)?void 0:o.async)||s?setTimeout(a,0):a()}}),sn=tn.create({name:"drop",addProseMirrorPlugins(){return[new O({key:new T("tiptapDrop"),props:{handleDrop:(e,t,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:t,slice:n,moved:r})}}})]}}),an=tn.create({name:"editable",addProseMirrorPlugins(){return[new O({key:new T("editable"),props:{editable:()=>this.editor.options.editable}})]}}),cn=new T("focusEvents"),dn=tn.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:e}=this;return[new O({key:cn,props:{handleDOMEvents:{focus:(t,n)=>{e.isFocused=!0;const r=e.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1},blur:(t,n)=>{e.isFocused=!1;const r=e.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1}}}})]}}),ln=tn.create({name:"keymap",addKeyboardShortcuts(){const e=()=>this.editor.commands.first((({commands:e})=>[()=>e.undoInputRule(),()=>e.command((({tr:t})=>{const{selection:n,doc:r}=t,{empty:o,$anchor:s}=n,{pos:a,parent:i}=s,c=s.parent.isTextblock&&a>0?t.doc.resolve(a-1):s,d=c.parent.type.spec.isolating,l=s.pos-s.parentOffset,p=d&&1===c.parent.childCount?l===s.pos:A.atStart(r).from===a;return!(!o||!i.type.isTextblock||i.textContent.length||!p||p&&"paragraph"===s.parent.type.name)&&e.clearNodes()})),()=>e.deleteSelection(),()=>e.joinBackward(),()=>e.selectNodeBackward()])),t=()=>this.editor.commands.first((({commands:e})=>[()=>e.deleteSelection(),()=>e.deleteCurrentNode(),()=>e.joinForward(),()=>e.selectNodeForward()])),n={Enter:()=>this.editor.commands.first((({commands:e})=>[()=>e.newlineInCode(),()=>e.createParagraphNear(),()=>e.liftEmptyBlock(),()=>e.splitBlock()])),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},r={...n},o={...n,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return ye()||Pe()?o:r},addProseMirrorPlugins(){return[new O({key:new T("clearDocument"),appendTransaction:(e,t,n)=>{if(e.some((e=>e.getMeta("composition"))))return;const r=e.some((e=>e.docChanged))&&!t.doc.eq(n.doc),o=e.some((e=>e.getMeta("preventClearDocument")));if(!r||o)return;const{empty:s,from:a,to:i}=t.selection,c=A.atStart(t.doc).from,d=A.atEnd(t.doc).to;if(s||!(a===c&&i===d))return;if(!$t(n.doc))return;const l=n.tr,p=W({state:n,transaction:l}),{commands:u}=new K({editor:this.editor,state:p});return u.clearNodes(),l.steps.length?l:void 0}})]}}),pn=tn.create({name:"paste",addProseMirrorPlugins(){return[new O({key:new T("tiptapPaste"),props:{handlePaste:(e,t,n)=>{this.editor.emit("paste",{editor:this.editor,event:t,slice:n})}}})]}}),un=tn.create({name:"tabindex",addProseMirrorPlugins(){return[new O({key:new T("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),fn=tn.create({name:"textDirection",addOptions:()=>({direction:void 0}),addGlobalAttributes(){if(!this.options.direction)return[];const{nodeExtensions:e}=dt(this.extensions);return[{types:e.filter((e=>"text"!==e.name)).map((e=>e.name)),attributes:{dir:{default:this.options.direction,parseHTML:e=>{const t=e.getAttribute("dir");return!t||"ltr"!==t&&"rtl"!==t&&"auto"!==t?this.options.direction:t},renderHTML:e=>e.dir?{dir:e.dir}:{}}}}]},addProseMirrorPlugins(){return[new O({key:new T("textDirection"),props:{attributes:()=>{const e=this.options.direction;return e?{dir:e}:{}}}})]}});function mn(e){return new Zt({find:e.find,handler:({state:t,range:n,match:r})=>{const o=ct(e.getAttributes,void 0,r);if(!1===o||null===o)return null;const{tr:s}=t,a=r[r.length-1],i=r[0];if(a){const r=i.search(/\S/),c=n.from+i.indexOf(a),d=c+a.length;if(kt(n.from,n.to,t.doc).filter((t=>t.mark.type.excluded.find((n=>n===e.type&&n!==t.mark.type)))).filter((e=>e.to>c)).length)return null;d<n.to&&s.delete(d,n.to),c>n.from&&s.delete(n.from+r,c);const l=n.from+r+a.length;s.addMark(n.from+r,l,e.type.create(o||{})),s.removeStoredMark(e.type)}},undoable:e.undoable})}function hn(e){return new Zt({find:e.find,handler:({state:t,range:n,match:r})=>{const o=t.doc.resolve(n.from),s=ct(e.getAttributes,void 0,r)||{};if(!o.node(-1).canReplaceWith(o.index(-1),o.indexAfter(-1),e.type))return null;t.tr.delete(n.from,n.to).setBlockType(n.from,n.from,e.type,s)},undoable:e.undoable})}function gn(n){return new Zt({find:n.find,handler:({state:r,range:o,match:s,chain:a})=>{const i=ct(n.getAttributes,void 0,s)||{},c=r.tr.delete(o.from,o.to),d=c.doc.resolve(o.from).blockRange(),l=d&&e(d,n.type,i);if(!l)return null;if(c.wrap(d,l),n.keepMarks&&n.editor){const{selection:e,storedMarks:t}=r,{splittableMarks:o}=n.editor.extensionManager,s=t||e.$to.parentOffset&&e.$from.marks();if(s){const e=s.filter((e=>o.includes(e.type.name)));c.ensureMarks(e)}}if(n.keepAttributes){const e="bulletList"===n.type.name||"orderedList"===n.type.name?"listItem":"taskList";a().updateAttributes(e,i).run()}const p=c.doc.resolve(o.from-1).nodeBefore;p&&p.type===n.type&&t(c.doc,o.from-1)&&(!n.joinPredicate||n.joinPredicate(s,p))&&c.join(o.from-1)},undoable:n.undoable})}var kn={};function yn(e){if(!(null==e?void 0:e.trim()))return{};const t={},n=[],r=e.replace(/["']([^"']*)["']/g,(e=>(n.push(e),`__QUOTED_${n.length-1}__`))),o=r.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);if(o){const e=o.map((e=>e.trim().slice(1)));t.class=e.join(" ")}const s=r.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);s&&(t.id=s[1]);Array.from(r.matchAll(/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g)).forEach((([,e,r])=>{var o;const s=parseInt((null==(o=r.match(/__QUOTED_(\d+)__/))?void 0:o[1])||"0",10),a=n[s];a&&(t[e]=a.slice(1,-1))}));const a=r.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();if(a){a.split(/\s+/).filter(Boolean).forEach((e=>{e.match(/^[a-zA-Z][\w-]*$/)&&(t[e]=!0)}))}return t}function vn(e){if(!e||0===Object.keys(e).length)return"";const t=[];if(e.class){String(e.class).split(/\s+/).filter(Boolean).forEach((e=>t.push(`.${e}`)))}return e.id&&t.push(`#${e.id}`),Object.entries(e).forEach((([e,n])=>{"class"!==e&&"id"!==e&&(!0===n?t.push(e):!1!==n&&null!=n&&t.push(`${e}="${String(n)}"`))})),t.join(" ")}function bn(e){const{nodeName:t,name:n,parseAttributes:r=yn,serializeAttributes:o=vn,defaultAttributes:s={},requiredAttributes:a=[],allowedAttributes:i}=e,c=n||t;return{parseMarkdown:(e,n)=>{const r={...s,...e.attributes};return n.createNode(t,r,[])},markdownTokenizer:{name:t,level:"block",start(e){var t;const n=new RegExp(`^:::${c}(?:\\s|$)`,"m"),r=null==(t=e.match(n))?void 0:t.index;return void 0!==r?r:-1},tokenize(e,n,o){const s=new RegExp(`^:::${c}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),i=e.match(s);if(!i)return;const d=i[1]||"",l=r(d);return a.find((e=>!(e in l)))?void 0:{type:t,raw:i[0],attributes:l}}},renderMarkdown:e=>{const t=(e=>{if(!i)return e;const t={};return i.forEach((n=>{n in e&&(t[n]=e[n])})),t})(e.attrs||{}),n=o(t);return`:::${c}${n?` {${n}}`:""} :::`}}}function wn(e){const{nodeName:t,name:n,getContent:r,parseAttributes:o=yn,serializeAttributes:s=vn,defaultAttributes:a={},content:i="block",allowedAttributes:c}=e,d=n||t;return{parseMarkdown:(e,n)=>{let o;if(r){const t=r(e);o="string"==typeof t?[{type:"text",text:t}]:t}else o="block"===i?n.parseChildren(e.tokens||[]):n.parseInline(e.tokens||[]);const s={...a,...e.attributes};return n.createNode(t,s,o)},markdownTokenizer:{name:t,level:"block",start(e){var t;const n=new RegExp(`^:::${d}`,"m"),r=null==(t=e.match(n))?void 0:t.index;return void 0!==r?r:-1},tokenize(e,n,r){var s;const a=new RegExp(`^:::${d}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),c=e.match(a);if(!c)return;const[l,p=""]=c,u=o(p);let f=1;const m=l.length;let h="";const g=/^:::([\w-]*)(\s.*)?/gm,k=e.slice(m);for(g.lastIndex=0;;){const n=g.exec(k);if(null===n)break;const o=n.index,a=n[1];if(!(null==(s=n[2])?void 0:s.endsWith(":::")))if(a)f+=1;else if(f-=1,0===f){const s=k.slice(0,o);h=s.trim();const a=e.slice(0,m+o+n[0].length);let c=[];if(h)if("block"===i)for(c=r.blockTokens(s),c.forEach((e=>{!e.text||e.tokens&&0!==e.tokens.length||(e.tokens=r.inlineTokens(e.text))}));c.length>0;){const e=c[c.length-1];if("paragraph"!==e.type||e.text&&""!==e.text.trim())break;c.pop()}else c=r.inlineTokens(h);return{type:t,raw:a,attributes:u,content:h,tokens:c}}}}},renderMarkdown:(e,t)=>{const n=(e=>{if(!c)return e;const t={};return c.forEach((n=>{n in e&&(t[n]=e[n])})),t})(e.attrs||{}),r=s(n),o=r?` {${r}}`:"",a=t.renderChildren(e.content||[],"\n\n");return`:::${d}${o}\n\n${a}\n\n:::`}}}function xn(e){if(!e.trim())return{};const t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g;let r=n.exec(e);for(;null!==r;){const[,o,s,a]=r;t[o]=s||a,r=n.exec(e)}return t}function Mn(e){return Object.entries(e).filter((([,e])=>null!=e)).map((([e,t])=>`${e}="${t}"`)).join(" ")}function $n(e){const{nodeName:t,name:n,getContent:r,parseAttributes:o=xn,serializeAttributes:s=Mn,defaultAttributes:a={},selfClosing:i=!1,allowedAttributes:c}=e,d=n||t,l=d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return{parseMarkdown:(e,n)=>{const o={...a,...e.attributes};if(i)return n.createNode(t,o);const s=r?r(e):e.content||"";return s?n.createNode(t,o,[n.createTextNode(s)]):n.createNode(t,o,[])},markdownTokenizer:{name:t,level:"inline",start(e){const t=i?new RegExp(`\\[${l}\\s*[^\\]]*\\]`):new RegExp(`\\[${l}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${l}\\]`),n=e.match(t),r=null==n?void 0:n.index;return void 0!==r?r:-1},tokenize(e,n,r){const s=i?new RegExp(`^\\[${l}\\s*([^\\]]*)\\]`):new RegExp(`^\\[${l}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${l}\\]`),a=e.match(s);if(!a)return;let c="",d="";if(i){const[,e]=a;d=e}else{const[,e,t]=a;d=e,c=t||""}const p=o(d.trim());return{type:t,raw:a[0],content:c.trim(),attributes:p}}},renderMarkdown:e=>{let t="";r?t=r(e):e.content&&e.content.length>0&&(t=e.content.filter((e=>"text"===e.type)).map((e=>e.text)).join(""));const n=(e=>{if(!c)return e;const t={};return c.forEach((n=>{const r="string"==typeof n?n:n.name,o="string"==typeof n?void 0:n.skipIfDefault;if(r in e){const n=e[r];if(void 0!==o&&n===o)return;t[r]=n}})),t})(e.attrs||{}),o=s(n),a=o?` ${o}`:"";return i?`[${d}${a}]`:`[${d}${a}]${t}[/${d}]`}}}function Sn(e,t,n){var r,o,s,a;const i=e.split("\n"),c=[];let d="",l=0;const p=t.baseIndentSize||2;for(;l<i.length;){const e=i[l],u=e.match(t.itemPattern);if(!u){if(c.length>0)break;if(""===e.trim()){l+=1,d=`${d}${e}\n`;continue}return}const f=t.extractItemData(u),{indentLevel:m,mainContent:h}=f;d=`${d}${e}\n`;const g=[h];for(l+=1;l<i.length;){const e=i[l];if(""===e.trim()){const t=i.slice(l+1).findIndex((e=>""!==e.trim()));if(-1===t)break;if(((null==(o=null==(r=i[l+1+t].match(/^(\s*)/))?void 0:r[1])?void 0:o.length)||0)>m){g.push(e),d=`${d}${e}\n`,l+=1;continue}break}if(!(((null==(a=null==(s=e.match(/^(\s*)/))?void 0:s[1])?void 0:a.length)||0)>m))break;g.push(e),d=`${d}${e}\n`,l+=1}let k;const y=g.slice(1);if(y.length>0){const e=y.map((e=>e.slice(m+p))).join("\n");e.trim()&&(k=t.customNestedParser?t.customNestedParser(e):n.blockTokens(e))}const v=t.createToken(f,k);c.push(v)}if(0!==c.length)return{items:c,raw:d}}function En(e,t,n,r){if(!e||!Array.isArray(e.content))return"";const o="function"==typeof n?n(r):n,[s,...a]=e.content;let i=`${o}${t.renderChildren([s])}`;return a&&a.length>0&&a.forEach(((e,n)=>{var r,o;const s=null!=(o=null==(r=t.renderChild)?void 0:r.call(t,e,n+1))?o:t.renderChildren([e]);if(null!=s){const n=s.split("\n").map((e=>e?t.indent(e):t.indent(""))).join("\n");i+="paragraph"===e.type?`\n\n${n}`:`\n${n}`}})),i}U(kn,{createAtomBlockMarkdownSpec:()=>bn,createBlockMarkdownSpec:()=>wn,createInlineMarkdownSpec:()=>$n,parseAttributes:()=>yn,parseIndentedBlocks:()=>Sn,renderNestedMarkdownContent:()=>En,serializeAttributes:()=>vn});var Cn=class e extends Gt{constructor(){super(...arguments),this.type="node"}static create(t={}){const n="function"==typeof t?t():t;return new e(n)}configure(e){return super.configure(e)}extend(e){const t="function"==typeof e?e():e;return super.extend(t)}};function On(e){return new Yt({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:o})=>{const s=ct(e.getAttributes,void 0,r,o);if(!1===s||null===s)return null;const{tr:a}=t,i=r[r.length-1],c=r[0];let d=n.to;if(i){const o=c.search(/\S/),l=n.from+c.indexOf(i),p=l+i.length;if(kt(n.from,n.to,t.doc).filter((t=>t.mark.type.excluded.find((n=>n===e.type&&n!==t.mark.type)))).filter((e=>e.to>l)).length)return null;p<n.to&&a.delete(p,n.to),l>n.from&&a.delete(n.from+o,l),d=n.from+o+i.length,a.addMark(n.from+o,d,e.type.create(s||{}));void 0!==r.index&&void 0!==r.input&&r.index+r[0].length>=r.input.length||a.removeStoredMark(e.type)}}})}export{K as CommandManager,Gt as Extendable,tn as Extension,Zt as InputRule,Xt as Mark,Cn as Node,Yt as PasteRule,ct as callOrReturn,nt as combineTransactionSteps,q as commands,bn as createAtomBlockMarkdownSpec,wn as createBlockMarkdownSpec,W as createChainableState,Ye as createDocument,$n as createInlineMarkdownSpec,Se as createNodeFromContent,rt as defaultBlockAt,We as deleteProps,$e as elementFromString,en as extensions,st as findParentNode,ot as findParentNodeClosestToPos,gt as getChangedRanges,at as getExtensionField,tt as getMarkAttributes,le as getMarkRange,pe as getMarkType,kt as getMarksBetween,yt as getNodeAtPosition,ee as getNodeType,ut as getRenderedAttributes,Ue as getSchemaTypeNameByName,vt as getSplittedAttributes,ft as getTextBetween,mt as getTextSerializersFromSchema,ke as isAndroid,wt as isAtEndOfNode,xt as isAtStartOfNode,it as isFunction,Mt as isList,Pe as isMacOS,bt as isMarkActive,_e as isNodeActive,$t as isNodeEmpty,Jt as isPlainObject,ae as isRegExp,ve as isSafari,me as isTextSelection,ye as isiOS,mn as markInputRule,On as markPasteRule,kn as markdown,pt as mergeAttributes,Qt as mergeDeep,he as minMax,ie as objectIncludes,yn as parseAttributes,Sn as parseIndentedBlocks,ht as removeDuplicates,En as renderNestedMarkdownContent,ge as resolveFocusPosition,Ee as selectionToInsertionEnd,vn as serializeAttributes,dt as splitExtensions,hn as textblockTypeInputRule,gn as wrappingInputRule};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|