PageSourceSearch

https://motion-staging.fly.dev/assets/prosemirror-commands-bfb64ae9.js

js motion-staging.fly.dev collected 2026-10-03 08:26:53 UTC 14,295 bytes, 4 lines download raw bytes

1// [email protected] downloaded from https://ga.jspm.io/npm:[email protected]/dist/index.js
2
3import{liftTarget as e,replaceStep as t,ReplaceStep as r,canJoin as n,joinPoint as o,canSplit as l,ReplaceAroundStep as s,findWrapping as i}from"prosemirror-transform";import{Slice as f,Fragment as c}from"prosemirror-model";import{NodeSelection as a,Selection as p,TextSelection as u,AllSelection as d,SelectionRange as m}from"prosemirror-state";const deleteSelection=(e,t)=>{if(e.selection.empty)return false;t&&t(e.tr.deleteSelection().scrollIntoView());return true};function atBlockStart(e,t){let{$cursor:r}=e.selection;return!r||(t?!t.endOfTextblock("backward",e):r.parentOffset>0)?null:r}const joinBackward=(r,n,o)=>{let l=atBlockStart(r,o);if(!l)return false;let s=findCutBefore(l);if(!s){let t=l.blockRange(),o=t&&e(t);if(o==null)return false;n&&n(r.tr.lift(t,o).scrollIntoView());return true}let i=s.nodeBefore;if(deleteBarrier(r,s,n,-1))return true;if(l.parent.content.size==0&&(textblockAt(i,"end")||a.isSelectable(i)))for(let e=l.depth;;e--){let o=t(r.doc,l.before(e),l.after(e),f.empty);if(o&&o.slice.size<o.to-o.from){if(n){let e=r.tr.step(o);e.setSelection(textblockAt(i,"end")?p.findFrom(e.doc.resolve(e.mapping.map(s.pos,-1)),-1):a.create(e.doc,s.pos-i.nodeSize));n(e.scrollIntoView())}return true}if(e==1||l.node(e-1).childCount>1)break}if(i.isAtom&&s.depth==l.depth-1){n&&n(r.tr.delete(s.pos-i.nodeSize,s.pos).scrollIntoView());return true}return false};const joinTextblockBackward=(e,t,r)=>{let n=atBlockStart(e,r);if(!n)return false;let o=findCutBefore(n);return!!o&&joinTextblocksAround(e,o,t)};const joinTextblockForward=(e,t,r)=>{let n=atBlockEnd(e,r);if(!n)return false;let o=findCutAfter(n);return!!o&&joinTextblocksAround(e,o,t)};function joinTextblocksAround(e,n,o){let l=n.nodeBefore,s=l,i=n.pos-1;for(;!s.isTextblock;i--){if(s.type.spec.isolating)return false;let e=s.lastChild;if(!e)return false;s=e}let c=n.nodeAfter,a=c,p=n.pos+1;for(;!a.isTextblock;p++){if(a.type.spec.isolating)return false;let e=a.firstChild;if(!e)return false;a=e}let d=t(e.doc,i,p,f.empty);if(!d||d.from!=i||d instanceof r&&d.slice.size>=p-i)return false;if(o){let t=e.tr.step(d);t.setSelection(u.create(t.doc,i));o(t.scrollIntoView())}return true}function textblockAt(e,t,r=false){for(let n=e;n;n=t=="start"?n.firstChild:n.lastChild){if(n.isTextblock)return true;if(r&&n.childCount!=1)return false}return false}const selectNodeBackward=(e,t,r)=>{let{$head:n,empty:o}=e.selection,l=n;if(!o)return false;if(n.parent.isTextblock){if(r?!r.endOfTextblock("backward",e):n.parentOffset>0)return false;l=findCutBefore(n)}let s=l&&l.nodeBefore;if(!s||!a.isSelectable(s))return false;t&&t(e.tr.setSelection(a.create(e.doc,l.pos-s.nodeSize)).scrollIntoView());return true};function findCutBefore(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function atBlockEnd(e,t){let{$cursor:r}=e.selection;return!r||(t?!t.endOfTextblock("forward",e):r.parentOffset<r.parent.content.size)?null:r}const joinForward=(e,r,n)=>{let o=atBlockEnd(e,n);if(!o)return false;let l=findCutAfter(o);if(!l)return false;let s=l.nodeAfter;if(deleteBarrier(e,l,r,1))return true;if(o.parent.content.size==0&&(textblockAt(s,"start")||a.isSelectable(s))){let n=t(e.doc,o.before(),o.after(),f.empty);if(n&&n.slice.size<n.to-n.from){if(r){let t=e.tr.step(n);t.setSelection(textblockAt(s,"start")?p.findFrom(t.doc.resolve(t.mapping.map(l.pos)),1):a.create(t.doc,t.mapping.map(l.pos)));r(t.scrollIntoView())}return true}}if(s.isAtom&&l.depth==o.depth-1){r&&r(e.tr.delete(l.pos,l.pos+s.nodeSize).scrollIntoView());return true}return false};const selectNodeForward=(e,t,r)=>{let{$head:n,empty:o}=e.selection,l=n;if(!o)return false;if(n.parent.isTextblock){if(r?!r.endOfTextblock("forward",e):n.parentOffset<n.parent.content.size)return false;l=findCutAfter(n)}let s=l&&l.nodeAfter;if(!s||!a.isSelectable(s))return false;t&&t(e.tr.setSelection(a.create(e.doc,l.pos)).scrollIntoView());return true};function findCutAfter(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){let r=e.node(t);if(e.index(t)+1<r.childCount)return e.doc.resolve(e.after(t+1));if(r.type.spec.isolating)break}return null}const joinUp=(e,t)=>{let r,l=e.selection,s=l instanceof a;if(s){if(l.node.isTextblock||!n(e.doc,l.from))return false;r=l.from}else{r=o(e.doc,l.from,-1);if(r==null)return false}if(t){let n=e.tr.join(r);s&&n.setSelection(a.create(n.doc,r-e.doc.resolve(r).nodeBefore.nodeSize));t(n.scrollIntoView())}return true};const joinDown=(e,t)=>{let r,l=e.selection;if(l instanceof a){if(l.node.isTextblock||!n(e.doc,l.to))return false;r=l.to}else{r=o(e.doc,l.to,1);if(r==null)return false}t&&t(e.tr.join(r).scrollIntoView());return true};const lift=(t,r)=>{let{$from:n,$to:o}=t.selection;let l=n.blockRange(o),s=l&&e(l);if(s==null)return false;r&&r(t.tr.lift(l,s).scrollIntoView());return true};const newlineInCode=(e,t)=>{let{$head:r,$anchor:n}=e.selection;if(!r.parent.type.spec.code||!r.sameParent(n))return false;t&&t(e.tr.insertText("\n").scrollIntoView());return true};function defaultBlockAt(e){for(let t=0;t<e.edgeCount;t++){let{type:r}=e.edge(t);if(r.isTextblock&&!r.hasRequiredAttrs())return r}return null}const exitCode=(e,t)=>{let{$head:r,$anchor:n}=e.selection;if(!r.parent.type.spec.code||!r.sameParent(n))return false;let o=r.node(-1),l=r.indexAfter(-1),s=defaultBlockAt(o.contentMatchAt(l));if(!s||!o.canReplaceWith(l,l,s))return false;if(t){let n=r.after(),o=e.tr.replaceWith(n,n,s.createAndFill());o.setSelection(p.near(o.doc.resolve(n),1));t(o.scrollIntoView())}return true};const createParagraphNear=(e,t)=>
3{let r=e.selection,{$from:n,$to:o}=r;if(r instanceof d||n.parent.inlineContent||o.parent.inlineContent)return false;let l=defaultBlockAt(o.parent.contentMatchAt(o.indexAfter()));if(!l||!l.isTextblock)return false;if(t){let r=(!n.parentOffset&&o.index()<o.parent.childCount?n:o).pos;let s=e.tr.insert(r,l.createAndFill());s.setSelection(u.create(s.doc,r+1));t(s.scrollIntoView())}return true};const liftEmptyBlock=(t,r)=>{let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return false;if(n.depth>1&&n.after()!=n.end(-1)){let e=n.before();if(l(t.doc,e)){r&&r(t.tr.split(e).scrollIntoView());return true}}let o=n.blockRange(),s=o&&e(o);if(s==null)return false;r&&r(t.tr.lift(o,s).scrollIntoView());return true};function splitBlockAs(e){return(t,r)=>{let{$from:n,$to:o}=t.selection;if(t.selection instanceof a&&t.selection.node.isBlock){if(!n.parentOffset||!l(t.doc,n.pos))return false;r&&r(t.tr.split(n.pos).scrollIntoView());return true}if(!n.depth)return false;let s=[];let i,f,c=false,p=false;for(let t=n.depth;;t--){let r=n.node(t);if(r.isBlock){c=n.end(t)==n.pos+(n.depth-t);p=n.start(t)==n.pos-(n.depth-t);f=defaultBlockAt(n.node(t-1).contentMatchAt(n.indexAfter(t-1)));let r=e&&e(o.parent,c,n);s.unshift(r||(c&&f?{type:f}:null));i=t;break}if(t==1)return false;s.unshift(null)}let m=t.tr;(t.selection instanceof u||t.selection instanceof d)&&m.deleteSelection();let h=m.mapping.map(n.pos);let k=l(m.doc,h,s.length,s);if(!k){s[0]=f?{type:f}:null;k=l(m.doc,h,s.length,s)}m.split(h,s.length,s);if(!c&&p&&n.node(i).type!=f){let e=m.mapping.map(n.before(i)),t=m.doc.resolve(e);f&&n.node(i-1).canReplaceWith(t.index(),t.index()+1,f)&&m.setNodeMarkup(m.mapping.map(n.before(i)),f)}r&&r(m.scrollIntoView());return true}}const h=splitBlockAs();const splitBlockKeepMarks=(e,t)=>h(e,t&&(r=>{let n=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();n&&r.ensureMarks(n);t(r)}));const selectParentNode=(e,t)=>{let r,{$from:n,to:o}=e.selection;let l=n.sharedDepth(o);if(l==0)return false;r=n.before(l);t&&t(e.tr.setSelection(a.create(e.doc,r)));return true};const selectAll=(e,t)=>{t&&t(e.tr.setSelection(new d(e.doc)));return true};function joinMaybeClear(e,t,r){let o=t.nodeBefore,l=t.nodeAfter,s=t.index();if(!o||!l||!o.type.compatibleContent(l.type))return false;if(!o.content.size&&t.parent.canReplace(s-1,s)){r&&r(e.tr.delete(t.pos-o.nodeSize,t.pos).scrollIntoView());return true}if(!t.parent.canReplace(s,s+1)||!(l.isTextblock||n(e.doc,t.pos)))return false;r&&r(e.tr.join(t.pos).scrollIntoView());return true}function deleteBarrier(t,r,o,l){let i,a,u=r.nodeBefore,d=r.nodeAfter;let m=u.type.spec.isolating||d.type.spec.isolating;if(!m&&joinMaybeClear(t,r,o))return true;let h=!m&&r.parent.canReplace(r.index(),r.index()+1);if(h&&(i=(a=u.contentMatchAt(u.childCount)).findWrapping(d.type))&&a.matchType(i[0]||d.type).validEnd){if(o){let e=r.pos+d.nodeSize,l=c.empty;for(let e=i.length-1;e>=0;e--)l=c.from(i[e].create(null,l));l=c.from(u.copy(l));let a=t.tr.step(new s(r.pos-1,e,r.pos,e,new f(l,1,0),i.length,true));let p=a.doc.resolve(e+2*i.length);p.nodeAfter&&p.nodeAfter.type==u.type&&n(a.doc,p.pos)&&a.join(p.pos);o(a.scrollIntoView())}return true}let k=d.type.spec.isolating||l>0&&m?null:p.findFrom(r,1);let b=k&&k.$from.blockRange(k.$to),g=b&&e(b);if(g!=null&&g>=r.depth){o&&o(t.tr.lift(b,g).scrollIntoView());return true}if(h&&textblockAt(d,"start",true)&&textblockAt(u,"end")){let e=u,n=[];for(;;){n.push(e);if(e.isTextblock)break;e=e.lastChild}let l=d,i=1;for(;!l.isTextblock;l=l.firstChild)i++;if(e.canReplace(e.childCount,e.childCount,l.content)){if(o){let e=c.empty;for(let t=n.length-1;t>=0;t--)e=c.from(n[t].copy(e));let l=t.tr.step(new s(r.pos-n.length,r.pos+d.nodeSize,r.pos+i,r.pos+d.nodeSize-i,new f(e,n.length,0),0,true));o(l.scrollIntoView())}return true}}return false}function selectTextblockSide(e){return function(t,r){let n=t.selection,o=e<0?n.$from:n.$to;let l=o.depth;while(o.node(l).isInline){if(!l)return false;l--}if(!o.node(l).isTextblock)return false;r&&r(t.tr.setSelection(u.create(t.doc,e<0?o.start(l):o.end(l))));return true}}const k=selectTextblockSide(-1);const b=selectTextblockSide(1);function wrapIn(e,t=null){return function(r,n){let{$from:o,$to:l}=r.selection;let s=o.blockRange(l),f=s&&i(s,e,t);if(!f)return false;n&&n(r.tr.wrap(s,f).scrollIntoView());return true}}function setBlockType(e,t=null){return function(r,n){let o=false;for(let n=0;n<r.selection.ranges.length&&!o;n++){let{$from:{pos:l},$to:{pos:s}}=r.selection.ranges[n];r.doc.nodesBetween(l,s,((n,l)=>{if(o)return false;if(n.isTextblock&&!n.hasMarkup(e,t))if(n.type==e)o=true;else{let t=r.doc.resolve(l),n=t.index();o=t.parent.canReplaceWith(n,n+1,e)}}))}if(!o)return false;if(n){let o=r.tr;for(let n=0;n<r.selection.ranges.length;n++){let{$from:{pos:l},$to:{pos:s}}=r.selection.ranges[n];o.setBlockType(l,s,e,t)}n(o.scrollIntoView())}return true}}function markApplies(e,t,r,n){for(let o=0;o<t.length;o++){let{$from:l,$to:s}=t[o];let i=l.depth==0&&(e.inlineContent&&e.type.allowsMarkType(r));e.nodesBetween(l.pos,s.pos,((e,t)=>{if(i||!n&&e.isAtom&&e.isInline&&t>=l.pos&&t+e.nodeSize<=s.pos)return false;i=e.inlineContent&&e.type.allowsMarkType(r)}));if(i)return true}return false}function removeInlineAtoms(e){let t=[];for(let r=0;r<e.length;r++){let{$from:n,$to:o}=e[r];n.doc.nodesBetween(n.pos,o.pos,((e,r)=>{if(e.isAtom&&e.content.size&&e.isInline&&r>=n.pos&&r+e.nodeSize<=o.pos){r+1>n.pos&&t.push(new m(n,n.doc.resolve(r+1)));n=n.doc.resolve(r+1+e.content.size);return false}}));n.pos<o.pos&&t.push(new m(n,o))}return t}function toggleMark(e,t=null,r){let n=(r&&r.removeWhenPresent)!==false;let o=(r&&r.enterInlineAtoms)!==false;return function(r,l){let{empty:s,$cursor:i,ranges:f}=r.selection;if(s&&!i||!markApplies(r.doc,f,e,o))return false;if(l)if(i)e.isInSet(r.storedMarks||i.marks())?l(r.tr.removeStoredMark(e)):l(r.tr.addStoredMark(e.create(t)));else{let s,i=r.tr;o||(f=removeInlineAtoms(f));s=n?!f.some((t=>r.doc.rangeHasMark(t.$from.pos,t.$to.pos,e))):!f.every((t=>{let r=false;i.doc.nodesBetween(t.$from.pos,t.$to.pos,((n,o,l)=>{if(r)return false;r=!e.isInSet(n.marks)&&!!l&&l.type.allowsMarkType(e)&&!(n.isText&&/^\s*$/.test(n.textBetween(Math.max(0,t.$from.pos-o),Math.min(n.nodeSize,t.$to.pos-o))))}
3));return!r}));for(let r=0;r<f.length;r++){let{$from:n,$to:o}=f[r];if(s){let r=n.pos,l=o.pos,s=n.nodeAfter,f=o.nodeBefore;let c=s&&s.isText?/^\s*/.exec(s.text)[0].length:0;let a=f&&f.isText?/\s*$/.exec(f.text)[0].length:0;if(r+c<l){r+=c;l-=a}i.addMark(r,l,e.create(t))}else i.removeMark(n.pos,o.pos,e)}l(i.scrollIntoView())}return true}}function wrapDispatchForJoin(e,t){return r=>{if(!r.isGeneric)return e(r);let o=[];for(let e=0;e<r.mapping.maps.length;e++){let t=r.mapping.maps[e];for(let e=0;e<o.length;e++)o[e]=t.map(o[e]);t.forEach(((e,t,r,n)=>o.push(r,n)))}let l=[];for(let e=0;e<o.length;e+=2){let n=o[e],s=o[e+1];let i=r.doc.resolve(n),f=i.sharedDepth(s),c=i.node(f);for(let e=i.indexAfter(f),r=i.after(f+1);r<=s;++e){let n=c.maybeChild(e);if(!n)break;if(e&&l.indexOf(r)==-1){let o=c.child(e-1);o.type==n.type&&t(o,n)&&l.push(r)}r+=n.nodeSize}}l.sort(((e,t)=>e-t));for(let e=l.length-1;e>=0;e--)n(r.doc,l[e])&&r.join(l[e]);e(r)}}function autoJoin(e,t){let r=Array.isArray(t)?e=>t.indexOf(e.type.name)>-1:t;return(t,n,o)=>e(t,n&&wrapDispatchForJoin(n,r),o)}function chainCommands(...e){return function(t,r,n){for(let o=0;o<e.length;o++)if(e[o](t,r,n))return true;return false}}let g=chainCommands(deleteSelection,joinBackward,selectNodeBackward);let x=chainCommands(deleteSelection,joinForward,selectNodeForward);const A={Enter:chainCommands(newlineInCode,createParagraphNear,liftEmptyBlock,h),"Mod-Enter":exitCode,Backspace:g,"Mod-Backspace":g,"Shift-Backspace":g,Delete:x,"Mod-Delete":x,"Mod-a":selectAll};const y={"Ctrl-h":A.Backspace,"Alt-Backspace":A["Mod-Backspace"],"Ctrl-d":A.Delete,"Ctrl-Alt-Backspace":A["Mod-Delete"],"Alt-Delete":A["Mod-Delete"],"Alt-d":A["Mod-Delete"],"Ctrl-a":k,"Ctrl-e":b};for(let e in A)y[e]=A[e];const w=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!(typeof os=="undefined"||!os.platform)&&os.platform()=="darwin";const B=w?y:A;export{autoJoin,B as baseKeymap,chainCommands,createParagraphNear,deleteSelection,exitCode,j
3oinBackward,joinDown,joinForward,joinTextblockBackward,joinTextblockForward,joinUp,lift,liftEmptyBlock,y as macBaseKeymap,newlineInCode,A as pcBaseKeymap,selectAll,selectNodeBackward,selectNodeForward,selectParentNode,b as selectTextblockEnd,k as selectTextblockStart,setBlockType,h as splitBlock,splitBlockAs,splitBlockKeepMarks,toggleMark,wrapIn};
4

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.