@thebase/ui
Version:
CDN-installable Owl and Bootstrap 5 UI component library.
2 lines (1 loc) • 7.13 kB
JavaScript
import{b as rt,d as nt,e as ot}from"./chunk-MAWHENWJ.js";import{c as st}from"./chunk-K2ROPYIW.js";import{n as it,t as I}from"./chunk-R43NMSZO.js";import{Q as V,T as Z,U as tt,ba as R,ha as et,ta as Y}from"./chunk-XNCXGIZE.js";import{f as e,g as o,h as r,i as Q}from"./chunk-23NN352E.js";function U(t,s){return Object.assign(t,{meta:{package:"@milkdown/plugin-block",...s}}),t}var mt=t=>!et(s=>s.type.name==="table")(t),X=I({filterNodes:mt},"blockConfig");U(X,{displayName:"Ctx<blockConfig>"});function pt(t,s,i){if(!t.dom.parentElement)return null;try{let a=t.posAtCoords({left:s.x,top:s.y})?.inside;if(a==null||a<0)return null;let n=t.state.doc.resolve(a),l=t.state.doc.nodeAt(a),g=t.nodeDOM(a),C=L=>{let ft=n.depth>=1&&n.index(n.depth)===0;if(!(L||ft))return;let W=n.before(n.depth);l=t.state.doc.nodeAt(W),g=t.nodeDOM(W),n=t.state.doc.resolve(W),i(n,l)||C(!0)};return C(!i(n,l)),!g||!l?null:{node:l,$pos:n,el:g}}catch{return null}}var at=R.ie&&R.ie_version<15||R.ios&&R.webkit_version<604,lt=20,x,A,m,c,E,d,u,dt,w,k,b,H,S,D,T,P,$,p,ht,kt=(ht=class{constructor(){o(this,u);o(this,x);o(this,A);o(this,m);o(this,c);o(this,E);o(this,d);o(this,k);o(this,b);o(this,H);o(this,S);o(this,D);o(this,T);o(this,P);o(this,$);o(this,p);r(this,A,()=>{if(!e(this,c))return null;let t=e(this,c),s=e(this,u,w);if(r(this,m,null),s&&V.isSelectable(t.node)){let i=V.create(s.state.doc,t.$pos.pos);return s.dispatch(s.state.tr.setSelection(i)),s.focus(),r(this,m,i),i}return null}),r(this,m,null),r(this,c,null),r(this,E,void 0),r(this,d,!1),r(this,b,()=>{var t;(t=e(this,k))==null||t.call(this,{type:"hide"}),r(this,c,null)}),r(this,H,t=>{var s;r(this,c,t),(s=e(this,k))==null||s.call(this,{type:"show",active:t})}),this.bind=(t,s)=>{r(this,x,t),r(this,k,s)},this.addEvent=t=>{t.addEventListener("mousedown",e(this,S)),t.addEventListener("mouseup",e(this,D)),t.addEventListener("dragstart",e(this,T)),t.addEventListener("dragend",e(this,P))},this.removeEvent=t=>{t.removeEventListener("mousedown",e(this,S)),t.removeEventListener("mouseup",e(this,D)),t.removeEventListener("dragstart",e(this,T)),t.removeEventListener("dragend",e(this,P))},this.unBind=()=>{r(this,k,void 0)},r(this,S,()=>{r(this,E,e(this,c)?.el.getBoundingClientRect()),e(this,A).call(this)}),r(this,D,()=>{if(!e(this,d)){requestAnimationFrame(()=>{e(this,E)&&e(this,u,w)?.focus()});return}r(this,d,!1),r(this,m,null)}),r(this,T,t=>{r(this,d,!0);let s=e(this,u,w);if(!s)return;s.dom.dataset.dragging="true";let i=e(this,m);if(t.dataTransfer&&i){let a=i.content();t.dataTransfer.effectAllowed="copyMove";let{dom:n,text:l}=s.serializeForClipboard(a);t.dataTransfer.clearData(),t.dataTransfer.setData(at?"Text":"text/html",n.innerHTML),at||t.dataTransfer.setData("text/plain",l);let g=e(this,c)?.el;g&&t.dataTransfer.setDragImage(g,0,0),s.dragging={slice:a,move:!0,node:i}}}),r(this,P,()=>{let t=e(this,u,w);if(!t)return;e(this,p).call(this,t);let s=t.dragging;window.setTimeout(()=>{t.dragging===s&&(t.dragging=null)},50)}),this.keydownCallback=t=>(e(this,b).call(this),r(this,d,!1),t.dom.dataset.dragging="false",!1),r(this,$,st((t,s)=>{if(!t.editable)return;let i=t.dom.getBoundingClientRect(),a=i.left+i.width/2;if(!(t.root.elementFromPoint(a,s.clientY)instanceof Element)){e(this,b).call(this);return}let n=e(this,u,dt);if(!n)return;let l=pt(t,{x:a,y:s.clientY},n);if(!l){e(this,b).call(this);return}e(this,H).call(this,l)},200)),this.mousemoveCallback=(t,s)=>(t.composing||!t.editable||e(this,$).call(this,t,s),!1),this.dragoverCallback=(t,s)=>{if(e(this,d)){let i=e(this,u,w)?.dom.parentElement;if(!i)return!1;let a=i.scrollHeight>i.clientHeight,n=i.getBoundingClientRect();if(a){if(i.scrollTop>0&&Math.abs(s.y-n.y)<lt)return i.scrollTop=i.scrollTop>10?i.scrollTop-10:0,!1;let l=Math.round(t.dom.getBoundingClientRect().height);if(Math.round(i.scrollTop+n.height)<l&&Math.abs(s.y-(n.height+n.y))<lt)return i.scrollTop=i.scrollTop+10,!1}}return!1},this.dragenterCallback=t=>{t.dragging&&(r(this,d,!0),t.dom.dataset.dragging="true")},this.dragleaveCallback=(t,s)=>{let i=s.clientX,a=s.clientY;(i<0||a<0||i>window.innerWidth||a>window.innerHeight)&&(r(this,c,null),e(this,p).call(this,t))},this.dropCallback=t=>(e(this,p).call(this,t),!1),this.dragendCallback=t=>{e(this,p).call(this,t)},r(this,p,t=>{r(this,d,!1),t.dom.dataset.dragging="false"})}},x=new WeakMap,A=new WeakMap,m=new WeakMap,c=new WeakMap,E=new WeakMap,d=new WeakMap,u=new WeakSet,dt=function(){try{return e(this,x)?.get(X.key).filterNodes}catch{return}},w=function(){return e(this,x)?.get(Y)},k=new WeakMap,b=new WeakMap,H=new WeakMap,S=new WeakMap,D=new WeakMap,T=new WeakMap,P=new WeakMap,$=new WeakMap,p=new WeakMap,ht),G=I(()=>new kt,"blockService"),j=I({},"blockServiceInstance");U(G,{displayName:"Ctx<blockService>"});U(j,{displayName:"Ctx<blockServiceInstance>"});var q=I({},"blockSpec");U(q,{displayName:"Ctx<blockSpec>"});var J=it(t=>{let s=new tt("MILKDOWN_BLOCK"),i=t.get(G.key)();t.set(j.key,i);let a=t.get(q.key);return new Z({key:s,...a,props:{...a.props,handleDOMEvents:{drop:n=>i.dropCallback(n),pointermove:(n,l)=>i.mousemoveCallback(n,l),keydown:n=>i.keydownCallback(n),dragover:(n,l)=>i.dragoverCallback(n,l),dragleave:(n,l)=>i.dragleaveCallback(n,l),dragenter:n=>i.dragenterCallback(n),dragend:n=>i.dragendCallback(n)}}})});U(J,{displayName:"Prose<block>"});var h,f,v,y,F,M,K,z,B,N,O,_,ut,ct,Et=(ct=class{constructor(t){o(this,_);o(this,h);o(this,f);o(this,v);o(this,y);o(this,F);o(this,M);o(this,K);o(this,z);o(this,B);o(this,N);o(this,O);r(this,y,null),r(this,M,!1),this.update=()=>{requestAnimationFrame(()=>{if(!e(this,M))try{Q(this,_,ut).call(this),r(this,M,!0)}catch{}})},this.destroy=()=>{e(this,v)?.unBind(),e(this,v)?.removeEvent(e(this,h)),e(this,h).remove()},this.show=s=>{let i=s.el,a=e(this,f).get(Y).dom,n={ctx:e(this,f),active:s,editorDom:a,blockDom:e(this,h)},l={contextElement:i,getBoundingClientRect:()=>e(this,N)?e(this,N).call(this,n):i.getBoundingClientRect()},g=[nt()];if(e(this,B)){let C=e(this,B).call(this,n),L=rt(C);g.push(L)}ot(l,e(this,h),{placement:e(this,O)?e(this,O).call(this,n):"left",middleware:[...g,...e(this,K)],...e(this,z)}).then(({x:C,y:L})=>{Object.assign(e(this,h).style,{left:`${C}px`,top:`${L}px`}),e(this,h).dataset.show="true"}).catch(console.error)},this.hide=()=>{e(this,h).dataset.show="false"},r(this,f,t.ctx),r(this,h,t.content),r(this,B,t.getOffset),r(this,N,t.getPosition),r(this,O,t.getPlacement),r(this,K,t.middleware??[]),r(this,z,t.floatingUIOptions??{}),r(this,F,t.root),this.hide()}get active(){return e(this,y)}},h=new WeakMap,f=new WeakMap,v=new WeakMap,y=new WeakMap,F=new WeakMap,M=new WeakMap,K=new WeakMap,z=new WeakMap,B=new WeakMap,N=new WeakMap,O=new WeakMap,_=new WeakSet,ut=function(){let t=e(this,f).get(Y);(e(this,F)??t.dom.parentElement??document.body).appendChild(e(this,h));let s=e(this,f).get(j.key);s.bind(e(this,f),i=>{i.type==="hide"?(this.hide(),r(this,y,null)):i.type==="show"&&(this.show(i.active),r(this,y,i.active))}),r(this,v,s),e(this,v).addEvent(e(this,h)),e(this,h).draggable=!0},ct),gt=[q,X,G,j,J];gt.key=q.key;gt.pluginKey=J.key;export{mt as a,X as b,kt as c,G as d,j as e,q as f,J as g,Et as h,gt as i};