@thebase/ui
Version:
CDN-installable Owl and Bootstrap 5 UI component library.
2 lines (1 loc) • 9.95 kB
JavaScript
import{d as x,n as F,t as G,w as $}from"./chunk-R43NMSZO.js";import{E as j,Qa as T,T as S,U as P}from"./chunk-XNCXGIZE.js";var M=200,u=function(){};u.prototype.append=function(e){return e.length?(e=u.from(e),!this.length&&e||e.length<M&&this.leafAppend(e)||this.length<M&&e.leafPrepend(this)||this.appendInner(e)):this};u.prototype.prepend=function(e){return e.length?u.from(e).append(this):this};u.prototype.appendInner=function(e){return new Z(this,e)};u.prototype.slice=function(e,t){return e===void 0&&(e=0),t===void 0&&(t=this.length),e>=t?u.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,t))};u.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};u.prototype.forEach=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length),t<=n?this.forEachInner(e,t,n,0):this.forEachInvertedInner(e,t,n,0)};u.prototype.map=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length);var i=[];return this.forEach(function(s,p){return i.push(e(s,p))},t,n),i};u.from=function(e){return e instanceof u?e:e&&e.length?new R(e):u.empty};var R=(function(r){function e(n){r.call(this),this.values=n}r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(i,s){return i==0&&s==this.length?this:new e(this.values.slice(i,s))},e.prototype.getInner=function(i){return this.values[i]},e.prototype.forEachInner=function(i,s,p,l){for(var o=s;o<p;o++)if(i(this.values[o],l+o)===!1)return!1},e.prototype.forEachInvertedInner=function(i,s,p,l){for(var o=s-1;o>=p;o--)if(i(this.values[o],l+o)===!1)return!1},e.prototype.leafAppend=function(i){if(this.length+i.length<=M)return new e(this.values.concat(i.flatten()))},e.prototype.leafPrepend=function(i){if(this.length+i.length<=M)return new e(i.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e})(u);u.empty=new R([]);var Z=(function(r){function e(t,n){r.call(this),this.left=t,this.right=n,this.length=t.length+n.length,this.depth=Math.max(t.depth,n.depth)+1}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(n){return n<this.left.length?this.left.get(n):this.right.get(n-this.left.length)},e.prototype.forEachInner=function(n,i,s,p){var l=this.left.length;if(i<l&&this.left.forEachInner(n,i,Math.min(s,l),p)===!1||s>l&&this.right.forEachInner(n,Math.max(i-l,0),Math.min(this.length,s)-l,p+l)===!1)return!1},e.prototype.forEachInvertedInner=function(n,i,s,p){var l=this.left.length;if(i>l&&this.right.forEachInvertedInner(n,i-l,Math.max(s,l)-l,p+l)===!1||s<l&&this.left.forEachInvertedInner(n,Math.min(i,l),s,p)===!1)return!1},e.prototype.sliceInner=function(n,i){if(n==0&&i==this.length)return this;var s=this.left.length;return i<=s?this.left.slice(n,i):n>=s?this.right.slice(n-s,i-s):this.left.slice(n,s).append(this.right.slice(0,i-s))},e.prototype.leafAppend=function(n){var i=this.right.leafAppend(n);if(i)return new e(this.left,i)},e.prototype.leafPrepend=function(n){var i=this.left.leafPrepend(n);if(i)return new e(i,this.right)},e.prototype.appendInner=function(n){return this.left.depth>=Math.max(this.right.depth,n.depth)+1?new e(this.left,new e(this.right,n)):new e(this,n)},e})(u),b=u;var J=500,w=class r{constructor(e,t){this.items=e,this.eventCount=t}popEvent(e,t){if(this.eventCount==0)return null;let n=this.items.length;for(;;n--)if(this.items.get(n-1).selection){--n;break}let i,s;t&&(i=this.remapping(n,this.items.length),s=i.maps.length);let p=e.tr,l,o,h=[],c=[];return this.items.forEach((a,f)=>{if(!a.step){i||(i=this.remapping(n,f+1),s=i.maps.length),s--,c.push(a);return}if(i){c.push(new m(a.map));let d=a.step.map(i.slice(s)),v;d&&p.maybeStep(d).doc&&(v=p.mapping.maps[p.mapping.maps.length-1],h.push(new m(v,void 0,void 0,h.length+c.length))),s--,v&&i.appendMap(v,s)}else p.maybeStep(a.step);if(a.selection)return l=i?a.selection.map(i.slice(s)):a.selection,o=new r(this.items.slice(0,n).append(c.reverse().concat(h)),this.eventCount-1),!1},this.items.length,0),{remaining:o,transform:p,selection:l}}addTransform(e,t,n,i){let s=[],p=this.eventCount,l=this.items,o=!i&&l.length?l.get(l.length-1):null;for(let c=0;c<e.steps.length;c++){let a=e.steps[c].invert(e.docs[c]),f=new m(e.mapping.maps[c],a,t),d;(d=o&&o.merge(f))&&(f=d,c?s.pop():l=l.slice(0,l.length-1)),s.push(f),t&&(p++,t=void 0),i||(o=f)}let h=p-n.depth;return h>X&&(l=Q(l,h),p-=h),new r(l.append(s),p)}remapping(e,t){let n=new j;return this.items.forEach((i,s)=>{let p=i.mirrorOffset!=null&&s-i.mirrorOffset>=e?n.maps.length-i.mirrorOffset:void 0;n.appendMap(i.map,p)},e,t),n}addMaps(e){return this.eventCount==0?this:new r(this.items.append(e.map(t=>new m(t))),this.eventCount)}rebased(e,t){if(!this.eventCount)return this;let n=[],i=Math.max(0,this.items.length-t),s=e.mapping,p=e.steps.length,l=this.eventCount;this.items.forEach(f=>{f.selection&&l--},i);let o=t;this.items.forEach(f=>{let d=s.getMirror(--o);if(d==null)return;p=Math.min(p,d);let v=s.maps[d];if(f.step){let W=e.steps[d].invert(e.docs[d]),L=f.selection&&f.selection.map(s.slice(o+1,d));L&&l++,n.push(new m(v,W,L))}else n.push(new m(v))},i);let h=[];for(let f=t;f<p;f++)h.push(new m(s.maps[f]));let c=this.items.slice(0,i).append(h).append(n),a=new r(c,l);return a.emptyItemCount()>J&&(a=a.compress(this.items.length-n.length)),a}emptyItemCount(){let e=0;return this.items.forEach(t=>{t.step||e++}),e}compress(e=this.items.length){let t=this.remapping(0,e),n=t.maps.length,i=[],s=0;return this.items.forEach((p,l)=>{if(l>=e)i.push(p),p.selection&&s++;else if(p.step){let o=p.step.map(t.slice(n)),h=o&&o.getMap();if(n--,h&&t.appendMap(h,n),o){let c=p.selection&&p.selection.map(t.slice(n));c&&s++;let a=new m(h.invert(),o,c),f,d=i.length-1;(f=i.length&&i[d].merge(a))?i[d]=f:i.push(a)}}else p.map&&n--},this.items.length,0),new r(b.from(i.reverse()),s)}};w.empty=new w(b.empty,0);function Q(r,e){let t;return r.forEach((n,i)=>{if(n.selection&&e--==0)return t=i,!1}),r.slice(t)}var m=class r{constructor(e,t,n,i){this.map=e,this.step=t,this.selection=n,this.mirrorOffset=i}merge(e){if(this.step&&e.step&&!e.selection){let t=e.step.merge(this.step);if(t)return new r(t.getMap().invert(),t,this.selection)}}},g=class{constructor(e,t,n,i,s){this.done=e,this.undone=t,this.prevRanges=n,this.prevTime=i,this.prevComposition=s}},X=20;function Y(r,e,t,n){let i=t.getMeta(y),s;if(i)return i.historyState;t.getMeta(te)&&(r=new g(r.done,r.undone,null,0,-1));let p=t.getMeta("appendedTransaction");if(t.steps.length==0)return r;if(p&&p.getMeta(y))return p.getMeta(y).redo?new g(r.done.addTransform(t,void 0,n,E(e)),r.undone,U(t.mapping.maps),r.prevTime,r.prevComposition):new g(r.done,r.undone.addTransform(t,void 0,n,E(e)),null,r.prevTime,r.prevComposition);if(t.getMeta("addToHistory")!==!1&&!(p&&p.getMeta("addToHistory")===!1)){let l=t.getMeta("composition"),o=r.prevTime==0||!p&&r.prevComposition!=l&&(r.prevTime<(t.time||0)-n.newGroupDelay||!q(t,r.prevRanges)),h=p?O(r.prevRanges,t.mapping):U(t.mapping.maps);return new g(r.done.addTransform(t,o?e.selection.getBookmark():void 0,n,E(e)),w.empty,h,t.time,l??r.prevComposition)}else return(s=t.getMeta("rebased"))?new g(r.done.rebased(t,s),r.undone.rebased(t,s),O(r.prevRanges,t.mapping),r.prevTime,r.prevComposition):new g(r.done.addMaps(t.mapping.maps),r.undone.addMaps(t.mapping.maps),O(r.prevRanges,t.mapping),r.prevTime,r.prevComposition)}function q(r,e){if(!e)return!1;if(!r.docChanged)return!0;let t=!1;return r.mapping.maps[0].forEach((n,i)=>{for(let s=0;s<e.length;s+=2)n<=e[s+1]&&i>=e[s]&&(t=!0)}),t}function U(r){let e=[];for(let t=r.length-1;t>=0&&e.length==0;t--)r[t].forEach((n,i,s,p)=>e.push(s,p));return e}function O(r,e){if(!r)return null;let t=[];for(let n=0;n<r.length;n+=2){let i=e.map(r[n],1),s=e.map(r[n+1],-1);i<=s&&t.push(i,s)}return t}function ee(r,e,t){let n=E(e),i=y.get(e).spec.config,s=(t?r.undone:r.done).popEvent(e,n);if(!s)return null;let p=s.selection.resolve(s.transform.doc),l=(t?r.done:r.undone).addTransform(s.transform,e.selection.getBookmark(),i,n),o=new g(t?l:s.remaining,t?s.remaining:l,null,0,-1);return s.transform.setSelection(p).setMeta(y,{redo:t,historyState:o})}var k=!1,z=null;function E(r){let e=r.plugins;if(z!=e){k=!1,z=e;for(let t=0;t<e.length;t++)if(e[t].spec.historyPreserveItems){k=!0;break}}return k}var y=new P("history"),te=new P("closeHistory");function B(r={}){return r={depth:r.depth||100,newGroupDelay:r.newGroupDelay||500},new S({key:y,state:{init(){return new g(w.empty,w.empty,null,0,-1)},apply(e,t,n){return Y(t,n,e,r)}},config:r,props:{handleDOMEvents:{beforeinput(e,t){let n=t.inputType,i=n=="historyUndo"?A:n=="historyRedo"?D:null;return!i||!e.editable?!1:(t.preventDefault(),i(e.state,e.dispatch))}}}})}function C(r,e){return(t,n)=>{let i=y.getState(t);if(!i||(r?i.undone:i.done).eventCount==0)return!1;if(n){let s=ee(i,t,r);s&&n(e?s.scrollIntoView():s)}return!0}}var A=C(!1,!0),D=C(!0,!0),pe=C(!1,!1),le=C(!0,!1);function I(r,e){return Object.assign(r,{meta:{package:"@milkdown/plugin-history",...e}}),r}var _=x("Undo",()=>()=>A);I(_,{displayName:"Command<undo>"});var K=x("Redo",()=>()=>D);I(K,{displayName:"Command<redo>"});var N=G({},"historyProviderConfig");I(N,{displayName:"Ctx<historyProviderConfig>"});var V=F(r=>B(r.get(N.key)));I(V,{displayName:"Ctx<historyProviderPlugin>"});var H=$("historyKeymap",{Undo:{shortcuts:"Mod-z",command:r=>{let e=r.get(T);return()=>e.call(_.key)}},Redo:{shortcuts:["Mod-y","Shift-Mod-z"],command:r=>{let e=r.get(T);return()=>e.call(K.key)}}});I(H.ctx,{displayName:"KeymapCtx<history>"});I(H.shortcuts,{displayName:"Keymap<history>"});var he=[N,V,H,_,K].flat();export{A as a,D as b,_ as c,K as d,N as e,V as f,H as g,he as h};