@ones-editor/editor 0.0.3-beta.17 → 0.0.3-beta.18
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/@ones-editor/tsconfig.tsbuildinfo +1 -1
- package/dist/index.js +1 -1
- package/dist/types.d.ts +3 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -741,4 +741,4 @@ width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
|
741
741
|
</defs>
|
|
742
742
|
</svg>`,S3={dwg:[],rvt:[],skp:[],img:["image/png","image/jpg","image/jpeg","image/bmp","image/ico","image/icon","image/gif"],txt:["text/plain"],zip:["application/zip","application/x-rar-compressed","application/x-7z-compressed","application/x-tar","application/x-bzip2","application/java-archive"],ppt:["application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation"],excel:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],pdf:["application/pdf"],word:["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]},qh={dwg:e_,rvt:n_,skp:o_,img:r_,txt:i_,zip:I3,rar:I3,ppt:s_,excel:l_,pdf:c_,word:a_};function u_(n,t){const e=Object.keys(S3);for(let r=0;r<e.length;r+=1){const i=e[r];if(S3[i].includes(t))return qh[i]}const o=om(n.toLowerCase());return qh[o]?qh[o]:d_}function h_(n,t){const e=b("div",["card-root","embed-selected-content"],n),o=b("div",["file-icon"],e);o.innerHTML=u_(t.fileName,t.fileType);const r=b("div",["file-details"],e);b("div",["file-name"],r,t.fileName),b("div",["file-size"],r,cm(t.fileSize));const i=b("div",["file-actions"],e),s=b("button",["download"],i);return s.innerHTML=Uh,{card:e,downloadButton:s}}const pV="";function T3(n,t){const o=n.getBlockData(t).embedData,r=n.options.componentsOptions.file;if(r!=null&&r.onDownloadFile){r.onDownloadFile(n,o);return}const i=n.doc.buildResourceUrl(o.src,{downloadFileName:o.fileName});ol(i,o.fileName)}y("webpage-embed");function f_(n,t,e){const{embedData:o}=e,r=o,{card:i,downloadButton:s}=h_(t,r);n.domEvents.addEventListener(s,"click",(l,c)=>{if(!c.target)return;const a=q(c.target);!a||T3(l,a)}),n.domEvents.addEventListener(i,"click",(l,c)=>{if(!c.target)return;const a=q(c.target);if(!a||ki(c,"button"))return;const h=l.options.componentsOptions.file;if(h!=null&&h.onClick){h.onClick(l,a,c);return}const g=l.getBlockData(a).embedData,C=l.doc.buildResourceUrl(g.src,{downloadFileName:g.fileName});ol(C,g.fileName)})}class m_{constructor(){u(this,"group","file-card");u(this,"commands",[{id:"download",name:"Download",icon:Uh},{id:"sep",name:"",type:"separator"},{id:"to-link",name:"To link",icon:w3},{id:"to-card",name:"To card",icon:B3,states:["checked"]},{id:"sep",name:"",type:"separator"},{id:"add-comment",name:"Add Comment",icon:Wo}])}executeCommand(t,e,o){if(o.id==="to-link"){const r=N(e),i=j(r),s=Y(e),l=t.getBlockData(e),{embedData:c}=l,a=c,h={id:P(),box:!0,type:"file",created:Date.now(),src:a.src,fileName:a.fileName,fileSize:a.fileSize,fileType:a.fileType};t.undoManager.runInGroup(()=>{t.deleteBlock(e);const f=[I2(h)];t.insertTextBlock(f,i,s)})}else o.id==="download"?T3(t,e):o.id==="add-comment"&&S6(t,e)}}function g_(n,t){const e=n.getBlockData(t),{embedData:o,id:r}=e,i=o;return{blockCommands:{"hovering-toolbar":new m_},abstract:i.fileName}}const p_={embedType:"office",createEmbedContent:f_,getBlockProperties:g_},CV="",C_={media:{upload:{failed:'<div class="line-1">{name} \u4E0A\u4F20\u5931\u8D25</div><div class="line-2">\u7F51\u7EDC\u670D\u52A1\u5F02\u5E38\uFF0C\u4F60\u53EF\u4EE5 <a href="" class="retry-upload">\u91CD\u8BD5</a></div>'},load:{failed:'<div class="line-1">{name} \u52A0\u8F7D\u5931\u8D25</div><div class="line-2">\u7F51\u7EDC\u670D\u52A1\u5F02\u5E38\uFF0C\u4F60\u53EF\u4EE5 <a href="" class="retry-upload">\u91CD\u8BD5</a></div>'},audio:{menuItem:"\u97F3\u9891",abstract:"\u97F3\u9891"},video:{menuItem:"\u89C6\u9891",abstract:"\u89C6\u9891"}}},b_={media:{upload:{failed:'<div class="line-1">{name} upload failed</div><div class="line-2">The network service is abnormal, you can <a href="" class="retry-upload">Try again</a></div>'},load:{failed:'<div class="line-1">{name} loading failed</div><div class="line-2">The network service is abnormal, you can <a href="" class="retry-upload">Try again</a></div>'},audio:{menuItem:"Audio",abstract:"Audio"},video:{menuItem:"Video",abstract:"Video"}}};S.mergeLang({"zh-CN":C_,"en-US":b_});var ln=(n=>(n.AUDIO="audio",n.VIDEO="video",n))(ln||{}),Os=(n=>(n.Empty="empty",n.Progress="progress",n.Error="error",n))(Os||{});const L3=10*1024*1024,v_=["wav","mp3","aac","ogg","webm","flac"],k_=["ogg","mp4","webm"],y_=()=>{};function D3(n){var h,f,g,C,k,B;const t=(h=n.getComponentOptions("media"))!=null?h:{},{allowedMedias:e,maxSize:o,callbacks:r}=t,i=(f=e==null?void 0:e.audio)!=null?f:v_,s=(g=e==null?void 0:e.video)!=null?g:k_,l=(C=o==null?void 0:o.audio)!=null?C:L3,c=(k=o==null?void 0:o.video)!=null?k:L3,a=(B=r==null?void 0:r.onError)!=null?B:y_;return{allowedMedias:{audio:i,video:s},maxSize:{audio:l,video:c},callbacks:{onError:a}}}const w_=y("file-utils");function B_(n){d(w_,n instanceof File,`The file: ${n} isn't instance of File`);const{name:t}=n;if(!t)return"";const e=t.lastIndexOf(".");return e===-1?"":t.slice(e+1)}function R3(n,t){const e=i=>i.map(s=>`.${s}`).join(","),{allowedMedias:o}=D3(n),r=o[t];return r?e(r):"*"}function E_(n,t,e){const{maxSize:o,callbacks:r,allowedMedias:i}=D3(t),{[e]:s}=o,{[e]:l}=i;if(s&&n.size>s){const a=new Error("media is too large");return a.code=`MaxMediaSize-${e}`,r!=null&&r.onError&&(r==null||r.onError(t,a)),a}const c=B_(n);if(l&&!l.includes(c)){const a=new Error(`media file is not allowed: ${c}`);return a.code="NotAllowedFile",r!=null&&r.onError&&(r==null||r.onError(t,a)),a}return!0}function x_(n){return n===Os.Empty||n===Os.Error}const ae=y("media");class I_{constructor(t){u(this,"mediaContainer",null);u(this,"media",null);u(this,"abstract",null);u(this,"handleMediaLoadError",(t,e)=>{if(!e.target||!(e.target instanceof Node)||!(e.target instanceof Element?e.target:e.target.parentElement))return;const r=q(e.target);if(!r||!r.contains(this.mediaContainer))return;const i=this.renderError();this.updateMediaContent(i)});u(this,"handleRetry",async t=>{if(t.readonly)return;d(ae,this.abstract,"no abstract");const{mediaType:e}=this.abstract,o=R3(t,e),r=await hr(o);this.handleUploadFile(r)});u(this,"handleUploadFile",async t=>{d(ae,this.abstract,"no abstract"),d(ae,this.mediaContainer,"The media element not exist");const{editor:e}=this.options,{mediaType:o}=this.abstract,r=q(this.mediaContainer);d(ae,r,"The block element not exist");const i=e.getBlockData(r);if(!!E_(t,e,o))try{const{resourceId:s}=await e.doc.uploadResource(t,{onProgress:f=>{this.renderProgress(f,t)}}),{name:l,type:c,size:a}=t,h={...i,embedData:{...i.embedData,src:s,fileName:l,fileSize:a,fileType:c}};e.updateBlockData(r,h)}catch{this.renderRetry()}});u(this,"destroy",()=>{this.mediaContainer=null});this.options=t}bindMediaEvent(){const{editor:t}=this.options;this.media&&t.domEvents.addEventListener(this.media,"error",this.handleMediaLoadError)}unbindMediaEvent(){const{editor:t}=this.options;this.media&&t.domEvents.removeEventListener(this.media,"error",this.handleMediaLoadError)}updateMediaContent(t){d(ae,this.mediaContainer,"The media element not exist"),this.mediaContainer.innerHTML="",this.mediaContainer.append(t)}renderError(){d(ae,this.abstract,"no abstract");const{editor:t,createMediaElement:e}=this.options,{mediaIcon:o,mediaName:r}=this.abstract;d(ae,this.mediaContainer,"The media element not exist");const i=q(this.mediaContainer);d(ae,i,"The block element not exist");const s=t.getBlockData(i),l=s.embedData.src,c=b("div",["media-error","embed-selected-content","embed-hover-content"],null),a=b("span",["media-error-icon"],c);a.innerHTML=o;const h=b("div",[],c);h.innerHTML=S.t("media.load.failed",{name:r}),c.appendChild(h);const f=h.querySelector("a");return d(ae,f,"The element not exist"),t.domEvents.addEventListener(f,"click",(g,C)=>{if(C.preventDefault(),C.target instanceof HTMLElement&&C.target.tagName==="A"){const k=b("div",["media-element"],null),B=this.getResourceUrl(l),E=e(g,k,s,B);this.unbindMediaEvent(),this.media=E,this.bindMediaEvent(),this.updateMediaContent(k)}}),c}renderRetry(){d(ae,this.abstract,"no abstract");const{editor:t}=this.options,{mediaIcon:e,mediaName:o}=this.abstract,r=b("div",["media-error","embed-selected-content","embed-hover-content"],null),i=b("span",["media-error-icon"],r);i.innerHTML=e;const s=b("div",[],r);s.innerHTML=S.t("media.upload.failed",{name:o}),r.appendChild(s);const l=s.querySelector("a");d(ae,l,"The element not exist"),t.domEvents.addEventListener(l,"click",this.handleRetry),this.updateMediaContent(r)}renderProgress(t,e){d(ae,this.mediaContainer,"The media element not exist");const o=this.mediaContainer.querySelector(":scope .media-progress"),r=t===-1||t===100?100:t;if(o){const{updateProgressElement:i}=this.options;i(o,r)}else{const{createProgressElement:i}=this.options,s=b("div",["media-progress"],null);i(s,r,e),this.updateMediaContent(s)}}renderMediaElement(t){d(ae,this.mediaContainer,"The media element not exist");const e=this.mediaContainer.querySelector(":scope > .media-element"),{createMediaElement:o,updateMediaElement:r,editor:i}=this.options,s=this.getResourceUrl(t.embedData.src);if(e){const l=r(i,e,t,s);this.unbindMediaEvent(),this.media=l,this.bindMediaEvent()}else{const l=b("div",["media-element"],null),c=o(i,l,t,s);this.unbindMediaEvent(),this.media=c,this.bindMediaEvent(),this.updateMediaContent(l)}}renderEmpty(){d(ae,this.abstract,"no abstract"),d(ae,this.mediaContainer,"The media element not exist");const t=b("div",["media-empty","embed-selected-content","embed-hover-content"],this.mediaContainer);t.innerHTML=this.abstract.mediaIcon,this.updateMediaContent(t)}getResourceUrl(t){const{editor:e}=this.options;return e.doc.buildResourceUrl(t)}render(t,e){const{src:o}=t.embedData;(!this.mediaContainer||!e.contains(this.mediaContainer))&&(this.mediaContainer=b("div",["media"],e)),x_(o)?o===Os.Empty&&this.renderEmpty():this.renderMediaElement(t)}setAbstract(t){this.abstract=t}}y("media-embed");class M3{constructor(){u(this,"handleInsertEmptyEmbed",async(t,e)=>{const{containerId:o,blockIndex:r}=e,i=R3(t,this.embedType),s=await hr(i);if(!s)return null;const l={id:P(),type:"embed",embedType:this.embedType,embedData:{src:Os.Empty}},c=t.insertBlock(o,r,l);return await this.getMedia(t,l.id).handleUploadFile(s),c})}getMedia(t,e){const o=t.addCustom(`media-${e}`,()=>new I_({editor:t,createMediaElement:this.createMediaElement,updateMediaElement:this.updateMediaElement,createProgressElement:this.createProgressElement,updateProgressElement:this.updateProgressElement}));return o.setAbstract({...this.abstract}),o}getOptions(){const{menuItem:t,mediaIcon:e,mediaName:o,order:r,group:i}=this.abstract;return{name:o,insertEmbedCommandItems:[{id:`insert-${this.embedType}`,name:t,icon:e,order:r,group:i}],handleInsertEmptyEmbed:this.handleInsertEmptyEmbed}}createEmbedContent(t,e,o){const{id:r}=o;this.getMedia(t,r).render(o,e)}handleUpdateBlock(t,e,o){const{id:r}=o,i=this.getMedia(t,r),s=rt(e);return i.render(o,s),!0}handleDeleteBlock(t,e){const o=e.id;this.getMedia(t,o).destroy()}}function O3(n,t){const e=b("div",["uploading-progress-mask"],n),o=b("div",["uploading-progress-bar"],e),r=b("div",["uploading-progress-bar-value"],o);r.style.width=`${t}%`}function A3(n,t){const e=n.querySelector(".uploading-progress-bar-value");e&&(e.style.width=`${t}%`)}const S_=y("media-audio");class T_ extends M3{constructor(){super(...arguments);u(this,"embedType",ln.AUDIO);u(this,"abstract",{mediaIcon:S5,mediaName:S.t(`media.${ln.AUDIO}.menuItem`),menuItem:S.t(`media.${ln.AUDIO}.menuItem`),order:800,mediaType:ln.AUDIO,group:"common"});u(this,"updateProgressElement",A3)}getBlockProperties(){return{abstract:`[${S.t(`media.${ln.AUDIO}.abstract`)}]`}}createMediaElement(e,o,r,i){const s=b("div",["audio-container","embed-hover-content","embed-selected-content"],o),l=b("audio",[],s);return l.innerHTML="Your browser does not support the <code>audio</code> element.",l.controls=!0,l.src=i,l}updateMediaElement(e,o,r,i){const s=o.querySelector(":scope .audio-container > audio");return d(S_,s,"The media element not exist"),s.src!==i&&(s.src=i),s}createProgressElement(e,o){const r=b("audio",[],e);r.innerHTML="Your browser does not support the <code>audio</code> element.",r.controls=!0,r.src="about:blank",O3(e,o)}}const zh=new T_;y("video-resizer");function _3(n){return n&&Se(n)&&Te(n)==="video"}const L_=50;class D_{constructor(t){u(this,"currentResizableElement",null);u(this,"resizing",!1);u(this,"handleHoveringBlockChange",(t,e)=>{if(!this.resizing&&(e&&_3(e)&&this.disableBlockResize(e),t&&_3(t))){const o=this.getVideoElement(t);if(!o)return;this.enableBlockResize(t,o)}});u(this,"handleResizing",(t,e)=>{if(this.resizing=!0,!this.currentResizableElement)return;const o=t.getBlock();if(!o)return;const r=o.getBoundingClientRect().width,i=Math.min(Math.max(e.width,L_),r);this.currentResizableElement.style.width=`${i}px`});u(this,"handleResized",t=>{this.resizing=!1;const e=t.getBlock();if(!this.currentResizableElement||!e)return;const o=this.editor.getBlockData(e),{width:r}=this.currentResizableElement.getBoundingClientRect();this.editor.updateBlockData(e,{...o,width:r})});this.editor=t,_t.get(t).addListener("change",this.handleHoveringBlockChange)}destroy(){this.currentResizableElement=null,_t.get(this.editor).removeListener("change",this.handleHoveringBlockChange)}getVideoElement(t){return rt(t).querySelector(":scope .video-container > video")}disableBlockResize(t){const e=this.editor.findCustom(`${G(t)}-resizer`);e&&e.disableResize()}enableBlockResize(t,e){const o=this.editor.addCustom(`${G(t)}-resizer`,()=>new Oc(this.editor,{resize:["top-left","top-right","bottom-left","bottom-right"]}));o.enableResize(t,e),o.removeListener("resizing",this.handleResizing),o.removeListener("resized",this.handleResized),o.addListener("resizing",this.handleResizing),o.addListener("resized",this.handleResized),this.currentResizableElement=e}}const R_=y("video");class M_ extends M3{constructor(){super(...arguments);u(this,"embedType",ln.VIDEO);u(this,"abstract",{mediaName:S.t(`media.${ln.VIDEO}.menuItem`),mediaIcon:T5,menuItem:S.t(`media.${ln.VIDEO}.menuItem`),order:700,mediaType:ln.VIDEO,group:"common"});u(this,"updateProgressElement",A3);u(this,"createProgressElement",(e,o,r)=>{const i=b("video",["progress-video"],e);i.innerHTML="Your browser does not support the <code>audio</code> element.",i.controls=!0,O3(e,o),Qs(r).then(s=>{const l=e.querySelector(".progress-video");l&&n1(e)&&(l.src=s)})})}getBlockProperties(){return{abstract:`[${S.t(`media.${ln.VIDEO}.abstract`)}]`}}createMediaElement(e,o,r,i){const s=b("div",["video-container","embed-selected-content","drag-preview-element"],o),l=b("video",[],s);return l.innerHTML="Your browser does not support the <code>video</code> element.",l.controls=!0,l.src=i,e.addCustom("video-resizer",()=>new D_(e)),r.width&&(l.style.width=`${r.width}px`),l}updateMediaElement(e,o,r,i){const s=o.querySelector(":scope .video-container > video");return d(R_,s,"The media element not exist"),s.src!==i&&(s.src=i),s}}const Wh=new M_,bV="",O_={version:{latest:"\u5F53\u524D\u7248\u672C",insert:"{name} \u6DFB\u52A0",delete:"{name} \u5220\u9664",goBack:"\u8FD4\u56DE",revertVersion:"\u8FD8\u539F\u5185\u5BB9",play:"\u64AD\u653E\u5386\u53F2\u64CD\u4F5C",versionList:"\u5386\u53F2\u8BB0\u5F55 {count}",unknown:"\u672A\u77E5\u7248\u672C",restoreFrom:"\u56DE\u6EDA\u81EA\u7248\u672C {from}",restoreInfo:"\u56DE\u6EDA\u7684\u7248\u672C\u6682\u4E0D\u652F\u6301\u4E0E\u4E0A\u4E00\u7248\u672C\u5BF9\u6BD4"}},A_={version:{latest:"Latest",insert:"Added by {name}",delete:"Deleted by {name}",goBack:"Back",revertVersion:"Revert",play:"Play",versionList:"Versions ({count})",unknown:"Unknown version",restoreFrom:"Reverted from {from}",restoreInfo:"The rolled back version does not currently support comparison with the previous version."}};S.mergeLang({"zh-CN":O_,"en-US":A_});var P3=(n=>(n.NEW="history-new",n.NEW_CHILD="history-new-child",n.DELETED="history-deleted",n.UPDATED="history-updated",n.HISTORY="history",n))(P3||{});const ti="--op-color",ei="--op-selected-color",vV="";class __{constructor(t){u(this,"root");this.content=t;const e=b("div",["dialog-root"],null);e.append(t),this.root=e}show(t=document.body){t.append(this.root)}hide(){this.root.remove()}destroy(){}}const{t:ni}=S,$3=y("version-list");class P_{constructor(t){u(this,"activeVersionElement");u(this,"versionsList");u(this,"versionsListHeader");u(this,"handleClickVersionItem",t=>{const o=t.target.closest(".dialog-version-list-item");if(this.isVersionElement(o)){this.toggleActiveVersionElement(o);const r=this.getVersionFromElement(o),{onSelectVersion:i}=this.options;i(r)}});this.options=t;const{versions:e,defaultSelectedIndex:o=0}=t,r=b("div",["version-dialog-list-header"],null,"count");r.innerText=ni("version.versionList",{count:`${e.length}`});const i=b("div",["version-dialog-list"],null),s=this.convertVersionsToFragment(e);i.append(s);const l=i.children[o];R(l,"active"),this.activeVersionElement=l,this.versionsList=i,this.versionsListHeader=r,i.onclick=this.handleClickVersionItem}get isSelectedFirstVersion(){return!!this.activeVersionElement&&this.versionsList.firstChild===this.activeVersionElement}get isSelectedLastVersion(){return!!this.activeVersionElement&&this.versionsList.lastChild===this.activeVersionElement}get beforeVersion(){return d($3,this.activeVersionElement,"No active version element"),this.activeVersionElement.nextElementSibling?this.activeVersionElement.nextElementSibling.versionData:null}get beforeMajorVersion(){d($3,this.activeVersionElement,"No active version element");let t=this.activeVersionElement.nextElementSibling;for(;t;){if(t.versionData.type)return t.versionData;t=t.nextElementSibling}return null}convertVersionsToFragment(t){const e=document.createDocumentFragment(),o=i=>{var l;let s;if(i.version!==-1){const c=new Date((l=i.created)!=null?l:i.version);s=`${c.toLocaleDateString()} ${c.toLocaleTimeString()}`}else s=ni("version.latest");return s},r=(i,s,l,c=!1)=>{var C;const a=b("div",["dialog-version-list-item"],e);a.versionData=i,s&&R(a,"child");const h=b("div",["dialog-version-list-item-title"],a);if(b("div",["dialog-version-list-item-date"],h,o(i)),c&&b("div",["dialog-version-list-item-now-ver"],h,ni("version.latest")),typeof i.source=="object"&&((C=i.source)==null?void 0:C.restore)){const k=i.source.restore,B=l.find(A=>A.version==k),E=B?o(B):ni("version.unknown"),D=ni("version.restoreFrom",{from:E}),I=ni("version.restoreInfo"),O=b("div",["dialog-version-item-from-container"],a);b("div",["dialog-version-item-from-main"],O,D),b("div",["dialog-version-item-from-info"],O,I)}const f=b("ul",["dialog-version-list-item-authors"],a),g=k=>{const B=b("li",["dialog-version-list-item-author"],f),E=b("span",["dialog-version-list-item-mark-author"],B);E.style.background=this.options.getMarkColor(k),b("span",["dialog-version-list-item-author-name"],B,k.displayName)};if(this.options.useCreatedBy)if(i.createdBy){const k=i.createdBy;g(k)}else i.authors&&i.authors.length>0&&i.authors.forEach(k=>{g(k)});else if(i.authors&&i.authors.length>0)i.authors.forEach(k=>{g(k)});else if(i.createdBy){const k=i.createdBy;g(k)}};return t.forEach((i,s)=>{r(i,!1,t,s===0),i.minorVersions&&i.minorVersions.length>0&&i.minorVersions.forEach(l=>{r(l,!0,t,!1)})}),e}isVersionElement(t){return t?at(t,"dialog-version-list-item"):!1}getVersionFromElement(t){return t.versionData}get activeVersion(){return this.getVersionFromElement(this.activeVersionElement)}toggleActiveVersionElement(t){this.activeVersionElement!==t&&(V(this.activeVersionElement,"active"),R(t,"active"),this.activeVersionElement=t)}selectVersionByVersionNum(t){const e=Array.from(this.versionsList.children).find(o=>o.versionData.version===t);return this.isVersionElement(e)?(this.toggleActiveVersionElement(e),this.getVersionFromElement(e)):null}render(t){t.innerHTML="",t.append(this.versionsListHeader,this.versionsList)}destroy(){this.versionsList.onclick=null}}class $_{constructor(t,e){this.doc=t,this.user=e}onDeleteBlock(t,e){this.doc.onDeleteBlock(t,e,this.user)}onInsertBlock(t,e,o){this.doc.onInsertBlock(t,e,o,this.user)}onUpdateBlockText(t,e,o){this.doc.onUpdateBlockText(t,e,o,this.user)}onUpdateBlockData(t,e,o){this.doc.onUpdateBlockData(t,e,o,this.user)}onCreateContainer(t,e){this.doc.onCreateContainer(t,e,this.user)}onCreateComment(){}onDeleteComment(){}onDeleteContainer(){}onUpdateComment(){}}function H_(n){return new Promise(t=>{setTimeout(t,n)})}async function F_(n,t,e,o){for(const r of e){const i=new $_(n,r.user);t.parseHistoryData(r,i),o.play&&await H_(o.speed||150)}}const N_=`<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
|
|
743
743
|
<path d="M0 0h24v24H0z" fill="none"/><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/>
|
|
744
|
-
</svg>`,{t:Gh}=S;class V_{constructor(t){u(this,"goBackButton");u(this,"playButton");u(this,"revertButton");this.options=t;const e=b("button",["dialog-text-button"],null),o=b("span",["dialog-button-icon"],e);o.innerHTML=N_,b("span",["dialog-button-text"],e,Gh("version.goBack"));const r=b("button",["dialog-version-button"],null,Gh("version.play")),i=b("button",["dialog-version-button"],null,Gh("version.revertVersion"));this.goBackButton=e,this.playButton=r,this.revertButton=i,this.bindEvent()}bindEvent(){const{onBack:t,onPlay:e,onRevert:o}=this.options;this.playButton.onclick=e,this.goBackButton.onclick=t,this.revertButton.onclick=o}disabledButton(){}render(t,e=!1){e||t.append(this.goBackButton,this.playButton,this.revertButton)}destroy(){this.playButton.onclick=null,this.goBackButton.onclick=null,this.revertButton.onclick=null}}const de=y("split-text-actions");function H3(n){return n.length>2?!1:n.length===1?n[0].insert!==void 0:(d(de,n.length===2,`invalid text actions: ${JSON.stringify(n)}`),n[0].retain===void 0?!1:n[1].insert!==void 0)}function F3(n){return n.length>2?!1:n.length===1?n[0].delete!==void 0:(d(de,n.length===2,`invalid text actions: ${JSON.stringify(n)}`),n[0].retain===void 0?!1:n[1].delete!==void 0)}function N3(n){return n.length>2?!1:n.length===1?n[0].insert===void 0&&n[0].delete===void 0&&n[0].attributes!==void 0:(d(de,n.length===2,`invalid text actions: ${JSON.stringify(n)}`),n[0].retain===void 0?!1:n[1].attributes!==void 0)}function j_(n){const t=[],e=K.default(n);if(e.length===0)return[];if(e.length===1)return[n];if(e.length===2&&(F3(n)||H3(n)||N3(n)))return[n];const o=(i,s)=>i>0?[{retain:i},s]:[s];let r=0;for(;e.length>0;){const i=e[0];if(i.retain!==void 0&&i.attributes===void 0){d(de,i.retain>0,`invalid text op: ${JSON.stringify(i)}`),d(de,e.length>1,`invalid text op: ${JSON.stringify(i)}`);const s=e[1];d(de,s.delete||s.insert!==void 0||s.attributes!==void 0,`invalid next text op: ${JSON.stringify(s)}`),r+=i.retain,t.push(o(r,s)),s.delete!==void 0?r-=s.delete:s.insert!==void 0?r+=s.insert.length:(d(de,s.attributes!==void 0,`invalid next text op: ${JSON.stringify(s)}`),d(de,s.retain!==void 0,`invalid next text op: ${JSON.stringify(s)}`),r+=s.retain),e.splice(0,2)}else d(de,i.delete||i.insert!==void 0||i.attributes!==void 0,`invalid next text op: ${JSON.stringify(i)}`),t.push(o(r,i)),e.shift(),i.retain!==void 0&&(d(de,i.attributes!==void 0,`invalid next text op: ${JSON.stringify(i)}`),r+=i.retain),i.insert&&(r+=i.insert.length)}return t}function V3(n){if(d(de,n.length===1||n.length===2,`not a single action op: ${JSON.stringify(n)}`),n.length===1)return 0;const t=n[0].retain;return d(de,typeof t=="number"&&t>0,`invalid retain: ${JSON.stringify(n)}`),t}let j3=0;function U_(n,t,e){const o=j3;j3+=1;const r=Tt(n);return{insert:" ",attributes:{box:!0,id:P(),type:"history-deleted-box",user:e,created:Date.now(),text:r,deletedOffset:t,deletedOrder:o}}}function q_(n,t,e){const o=V3(t),r=t.length===1?t[0].delete:t[1].delete;d(de,typeof r=="number",`not a delete op: ${JSON.stringify(t)}`);const{left:i,middle:s,right:l}=ee(n,o,r),c=U_(s,o,e);return[...i,c,...l]}function z_(n,t,e){const o=V3(t),r=t.length===1?t[0].insert:t[1].insert;d(de,typeof r=="string",`invalid insert op: ${JSON.stringify(t)}`);const i=t.length===1?t[0].attributes:t[1].attributes,l=pl([{insert:r,attributes:i}],"insertedBy",e);return xr(n,o,l,null)}function W_(n,t,e){const o=j_(t).reverse();let r=n;for(const i of o)F3(i)?r=q_(r,i,e):H3(i)?r=z_(r,i,e):(d(de,N3(i),`unknown op: ${JSON.stringify(i)}`),r=ne.apply(r,i));return r}const G_=y("history-update-block-text");function U3(n){const t=[],e=[];let o=0;return n.forEach(r=>{var i;if((i=r.attributes)!=null&&i.box){const s=r.attributes;if(s.type==="history-deleted-box"){t.push({boxData:s,offset:o});return}}e.push(r),o+=T1(r)}),t.sort((r,i)=>i.offset-r.offset),{deletedBoxes:t,newText:e}}function Z_(n,t,e){let o=n;return t.forEach(r=>{const i=ne.transformCursor(r.offset,e,!1);o=xr(o,i,[{insert:" ",attributes:r.boxData}],null)}),o}function K_(n){n.sort((t,e)=>t.boxData.deletedOffset!==e.boxData.deletedOffset?t.boxData.deletedOffset-e.boxData.deletedOffset:t.boxData.deletedOrder-e.boxData.deletedOrder)}function J_(n){if(n.length<=1)return n;const t=n[0].offset;n.forEach(e=>{d(G_,e.offset===t,`invalid boxes group, ${JSON.stringify(n)}`)}),K_(n);for(let e=n.length-1;e>=1;e--){const o=n[e],r=n[e-1];o.boxData.user.userId===r.boxData.user.userId&&(r.boxData.text+=o.boxData.text,n.splice(e,1))}return n}function Y_(n){let{newText:t,deletedBoxes:e}=U3(n);const o=new Map;return e.forEach(i=>{let s=o.get(i.offset);s||(s=[],o.set(i.offset,s)),s.push(i),s.sort((l,c)=>l.boxData.deletedOffset-c.boxData.deletedOffset)}),Array.from(o.values()).sort((i,s)=>s[0].offset-i[0].offset).forEach(i=>{const s=i[0].offset;J_(i).reverse().forEach(l=>{t=xr(t,s,[{insert:" ",attributes:l.boxData}],null)})}),t}function X_(n,t,e){let{newText:o,deletedBoxes:r}=U3(n);return o=W_(o,t,e),o=Z_(o,r,t),o=Y_(o),o}const In=y("history-doc");function Sn(n){d(In,!1,"no local actions for history doc")}class Q_ extends Ci{constructor(e,o){super();u(this,"doc");u(this,"editor");this.doc=K.default(e),this.editor=o}beginBatchUpdate(){return 0}endBatchUpdate(){return 0}toJSON(){return K.default(this.doc)}getContainerBlocks(e){return this.doc.blocks[e]}getBlockData(e,o){const r=this.getContainerBlocks(e);d(In,r,`no container data: ${e}`);const i=r[o];return d(In,i,`no block data: ${o}`),i}localUpdateBlockText(){Sn()}localUpdateBlockData(){Sn()}localInsertBlock(){Sn()}localDeleteBlock(){Sn()}localInsertChildContainer(){Sn()}localDeleteChildContainers(){Sn()}uploadResource(){Sn()}async addResources(e){Sn()}getServerMeta(){var e,o,r;return(r=(o=(e=this.editor.doc.externalDoc).getServerMeta)==null?void 0:o.call(e))!=null?r:{}}buildResourceUrl(e){return this.editor.doc.externalDoc.buildResourceUrl(e)}request(){Sn()}broadcastMessage(){Sn()}getUser(){return{permission:"w",userId:"-",displayName:"-",avatarUrl:"-",rainbowIndex:0}}getRemoteUsers(){return new Nl}destroy(){this.clearCallbacks()}transformBlockIndex(e,o,r){const i=this.doc.blocks[e];d(In,i,`no container blocks: ${e}`);let s=0;for(let l=0;l<i.length;l++)if(!i[l].deletedBy){if(s===o)return l;s++}return r?(d(In,!1,`invalid block index: ${o}, blocks: ${JSON.stringify(i)}`),-1):(d(In,s===o,`invalid block index: ${o}, blocks: ${JSON.stringify(i)}`),i.length)}onDeleteBlock(e,o,r){const i=this.transformBlockIndex(e,o,!0),l=this.doc.blocks[e][i];d(In,!l.deleted,`block has already deleted: ${e}/${o}`),l.deletedBy=r,this.callbacks.forEach(c=>{var a;return(a=c.onUpdateBlockData)==null?void 0:a.call(c,e,i,{insert:{},delete:[]},!0)})}onInsertBlock(e,o,r,i){const s=this.transformBlockIndex(e,o,!1),l=this.doc.blocks[e],c=K.default(r);c.insertedBy=i,l.splice(s,0,c),this.callbacks.forEach(a=>{var h;return(h=a.onInsertBlock)==null?void 0:h.call(a,e,s,c,!0)})}onUpdateBlockText(e,o,r,i){const s=this.transformBlockIndex(e,o,!0),c=this.doc.blocks[e][s];d(In,!c.deleted,`block has already deleted: ${e}/${o}`);const a=c.text;d(In,a,`no text for block: ${JSON.stringify(c)}`);const h=X_(a,r,i);c.text=h,this.callbacks.forEach(f=>{var g;return(g=f.onUpdateBlockText)==null?void 0:g.call(f,e,o,r,!0)})}onUpdateBlockData(e,o,r,i){const s=this.transformBlockIndex(e,o,!0),l=this.doc.blocks[e],c=l[s];d(In,!c.deleted,`block has already deleted: ${e}/${o}`);const a=K.default(c);a.updatedBy=i,r.delete.forEach(h=>delete a[h]),Object.entries(r.insert).forEach(([h,f])=>{a[h]=f}),l[s]=a,this.callbacks.forEach(h=>{var f;return(f=h.onUpdateBlockData)==null?void 0:f.call(h,e,s,r,!0)})}onCreateContainer(e,o,r){this.doc.blocks[e]=K.default(o),this.callbacks.forEach(i=>{var s;return(s=i.onInsertChildContainer)==null?void 0:s.call(i,e,o,!0)})}}const{t:q3}=S;function oi(n,t){return t==="insert"?q3("version.insert",{name:n.displayName}):q3("version.delete",{name:n.displayName})}function sr(n,t){const{userId:e}=t;return["flag","selection"].reduce((r,i)=>{const s=n.doc.getRemoteUsers().getFixedUserColor(e,i);return r[i]=s,r},{})}class tP{renderText(t,e,o){if(!o.box&&o.insertedBy){const r=o.insertedBy,{flag:i,selection:s}=sr(t,o.insertedBy);return{classes:["history-inserted-text"],attributes:{"history-inserted-by":r.displayName,"data-op-description":oi(r,"insert")},styles:{[ti]:i,[ei]:s}}}return{}}renderBlock(t,e,o){if(o.deletedBy){const r=o.deletedBy,{flag:i,selection:s}=sr(t,r);return{classes:["history-deleted-block"],attributes:{"history-deleted-by":r.displayName,"data-op-description":oi(r,"delete")},styles:{[ti]:i,[ei]:s}}}if(o.insertedBy){const r=o.insertedBy,{flag:i,selection:s}=sr(t,r);return{classes:["history-inserted-block"],attributes:{"history-inserted-by":r.displayName,"data-op-description":oi(r,"insert")},styles:{[ti]:i,[ei]:s}}}return{}}updateBlock(t,e,o,r){if(r.deletedBy){const i=r.deletedBy,{flag:s,selection:l}=sr(t,i);R(o,"history-deleted-block"),Ha(o,{"history-inserted-by":i.displayName,"data-op-description":oi(i,"delete")}),Fa(o,{[ti]:s,[ei]:l});return}if(r.insertedBy){const i=r.insertedBy,{flag:s,selection:l}=sr(t,i);R(o,"history-inserted-block"),Ha(o,{"history-inserted-by":i.displayName,"data-op-description":oi(i,"insert")}),Fa(o,{[ti]:s,[ei]:l})}}}const z3=y("history-deleted-box");function eP(n,t,e,o){const r=o;d(z3,r.text,`no text for text box data: ${JSON.stringify(o)}`),d(z3,typeof r.text=="string",`invalid text type for text box data: ${JSON.stringify(o)}`);const i=b("span",["history-deleted-box"],e,r.text),s=r.user,{flag:l,selection:c}=sr(n,s);i.setAttribute("history-deleted-by",s.displayName),i.setAttribute("data-op-description",oi(s,"delete")),i.style.setProperty(ti,l),i.style.setProperty(ei,c)}const nP={boxType:"history-deleted-box",updateBoxContent:eP},Ie=y("version-dialog");class oP{constructor(t,e){u(this,"editor");u(this,"dialog",null);u(this,"oldViewer",null);u(this,"versionOptions",{});u(this,"versionList",null);u(this,"actionButtons",null);u(this,"provider");u(this,"components");u(this,"handleClose",()=>{var t;(t=this.dialog)==null||t.hide()});u(this,"handlePlay",()=>{var e;d(Ie,this.versionList,"The versionList did not render");const t=(e=this.versionList)==null?void 0:e.activeVersion;d(Ie,t,`The version: ${t} is invalid`),this.viewVersion(t,{play:!0,speed:150})});u(this,"handleRevert",async()=>{var e,o;d(Ie,this.versionList,"The versionList did not render");const t=(e=this.versionList)==null?void 0:e.activeVersion;d(Ie,t,`The version: ${t} is invalid`),await this.versionHelper.revertVersion(t.version),(o=this.dialog)==null||o.hide()});u(this,"handleSelectVersion",t=>{d(Ie,t,`The version: ${t} is invalid`),this.viewVersion(t)});u(this,"viewVersion",async(t,e={play:!1,speed:1e3})=>{this.oldViewer&&(this.oldViewer.destroy(),this.oldViewer=null),d(Ie,this.versionList,"The versionList did not render"),d(Ie,this.actionButtons,"The actionButtons did not render");const o=t.type==="minor"?this.versionList.beforeVersion:this.versionList.beforeMajorVersion,r=o?o.version:0,i=this.versionList.isSelectedFirstVersion,s=this.versionList.isSelectedLastVersion;this.actionButtons.revertButton.disabled=i,this.actionButtons.playButton.disabled=i;let l=this.versionOptions.hideOps;if(this.versionOptions.onWillChangeVersion){const C=this.versionOptions.onWillChangeVersion(this.editor,t,i,s);C!=null&&C.hideOps&&(l=!0)}let c,a;if(l)c=await this.versionHelper.getVersion(t.version),a=[];else{const C=await this.versionHelper.getHistoryData(t.version,r);c=C.doc,a=C.historyData}const{editorElement:h}=this.components;h.innerHTML="";const f=new Q_(c,this.editor),g=this.provider.createHistoryEditor(h,f);g.editorBlockRenders.registerRender(new tP),g.editorBoxes.registerBoxClass(nP),R(g.rootElement,P3.HISTORY);try{await F_(f,this.versionHelper,a,e)}finally{this.oldViewer=g}this.versionOptions.onVersionChanged&&this.versionOptions.onVersionChanged(this.editor,g,t,i,s)});this.editor=t,this.provider=e;const o=b("div",["version-dialog"],null),r=b("div",["version-dialog-note-viewer"],o),i=b("div",["version-dialog-action-container"],r),s=b("div",["version-dialog-editor"],r),l=b("div",["version-dialog-versions-list"],o);this.components={root:o,editorElement:s,actionContainer:i,versionsListContainer:l}}get versionHelper(){d(Ie,this.editor.doc.getVersionHelper,"Can not get getVersionHelper from doc");const t=this.editor.doc.getVersionHelper();return d(Ie,t,"current doc does not support version"),t}renderContent(t){const{actionContainer:e,versionsListContainer:o}=this.components;e.innerHTML="";const{hideActions:r}=this.versionOptions,i=new V_({onBack:this.handleClose,onPlay:this.handlePlay,onRevert:this.handleRevert});i.render(e,r),this.actionButtons=i,o.innerHTML="";const s=new P_({versions:t,useCreatedBy:this.versionOptions.useCreatedBy,onSelectVersion:this.handleSelectVersion,getMarkColor:l=>{const{flag:c}=sr(this.editor,l);return c}});s.render(o),this.versionList=s}initViewVersion(){if(this.versionOptions.initSelectedVersion){d(Ie,this.versionList,"The versionList did not render");const{initSelectedVersion:t}=this.versionOptions,e=this.versionList.selectVersionByVersionNum(t);d(Ie,e,`The version: ${e} is invalid`),this.viewVersion(e)}else{d(Ie,this.versionList,"The versionList did not render");const t=this.versionList.activeVersion;d(Ie,t,`The version: ${t} is invalid`),this.viewVersion(t)}}async show(t={}){this.versionOptions={...this.versionOptions,...t};const e=await this.versionHelper.getVersions();if(this.versionOptions.hideNonVersionedOps&&e.length&&e[0].version===-1&&e.shift(),this.versionOptions.onVersionsLoaded&&this.versionOptions.onVersionsLoaded(this.editor,e),this.renderContent(e),this.initViewVersion(),!this.dialog){const{root:o}=this.components;this.dialog=new __(o)}this.dialog.show()}destroy(){var t,e,o;(t=this.dialog)==null||t.destroy(),(e=this.versionList)==null||e.destroy(),(o=this.actionButtons)==null||o.destroy()}}function rP(n,t,e){n.addCustom("version-dialog",()=>new oP(n,t)).show(e)}const kV="",iP=y("heading-collapse");function Zh(n){var e;const t=Number.parseInt((e=n.getAttribute("data-style-heading"))!=null?e:"",10);return d(iP,t,"not a heading block"),t}function Fe(n){return!!n.getAttribute("data-style-heading")}function sP(n){return!at(n,"heading-collapsed")}function lr(n){return at(n,"heading-collapsed")}function W3(n){if(bt(n))return!1;const e=N(n);return vt(e)}const lP=y("heading-collapse");function Kh(n){d(lP,Fe(n),"not a heading block");const t=[],e=Zh(n);let o=mt(n);for(;o&&!(Fe(o)&&Zh(o)<=e);)t.push(o),o=mt(o);return t}function G3(n,t){if(!Uo(t))return;n.selection.selectBlock(t,0),Kh(t).forEach(o=>{fm(o)}),R(t,"heading-collapsed")}function ri(n,t){Kh(t).forEach(o=>{mm(o)}),V(t,"heading-collapsed")}function cP(n,t){sP(t)?G3(n,t):ri(n,t)}const aP=[jd,Ud,qd,zd,Wd,Gd,Zd,Kd];function dP(n){const t=b("button",["heading-collapse-button"],null);return t.setAttribute(`data-editor-tooltip-${n.clientId}`,"Collapse / Expand"),t.innerHTML=Ql,t}function Z3(n){return jc(n).querySelector("button.heading-collapse-button")}function K3(n,t){Z3(t)||W3(t)||!Uo(t)||fh(t,dP(n),-1)}function uP(n){var t;(t=Z3(n))==null||t.remove()}function J3(n,t){jc(t).querySelector("button.heading-collapse-button")||K3(n,t)}function hP(n){const t=Zh(n),e=b("button",["heading-marker"],null);return e.innerHTML=aP[t-1],e}function Y3(n){return jc(n).querySelector("button.heading-marker")}function Jh(n){Y3(n)||W3(n)||!Uo(n)||fh(n,hP(n),1)}function X3(n){const t=Y3(n);t==null||t.remove()}function Q3(n){X3(n),Fe(n)&&Jh(n)}class fP{handleDrop(t,e,o,r){if(!Fe(e)||!lr(e))return;const i=Kh(e);i.unshift(e);const s=i.reverse();let l=null;return t.doc.beginBatchUpdate(),s.forEach((c,a,h)=>{const f=t.getBlockData(c),g=Vo(t.editorBlocks,t.doc.toJSON(),f),C=t.insertDocAt(o,r,g)[0];a===h.length-1&&(l=C)}),t.doc.endBatchUpdate(),t.doc.beginBatchUpdate(),s.forEach(c=>{t.deleteBlock(c)}),t.doc.endBatchUpdate(),l&&G3(t,l),!0}}const mP=y("heading-collapse");class gP{constructor(t){u(this,"handleLoad",()=>{this.showCollapseButtons()});u(this,"handleHoverBlock",(t,e)=>{e&&(V(e,"hovering-heading"),Fe(e)&&vt(N(e))&&(Jh(e),lr(e)||uP(e))),t&&Fe(t)&&vt(N(t))&&(R(t,"hovering-heading"),X3(t),K3(this.editor,t))});u(this,"handleClick",(t,e)=>{const o=ki(e,"button.heading-collapse-button");if(!o)return;const r=q(o);!r||(d(mP,Fe(r),"not a heading block"),cP(this.editor,r),J3(this.editor,r))});this.editor=t,t.addListener("load",this.handleLoad),t.addListener("click",this.handleClick),_t.get(t).addListener("change",this.handleHoverBlock),this.showCollapseButtons(),setTimeout(()=>{Is.get(t).addHandler(new fP)})}showCollapseButtons(){const t=Mt(this.editor.rootContainer).filter(Fe);t.length!==0&&(t[0]===Kt(this.editor.rootContainer)&&t.splice(0,1),t.forEach(Jh))}destroy(){this.editor.removeListener("load",this.handleLoad),this.editor.removeListener("click",this.handleClick)}}function oa(n){const t=n.selection.range;if(t.isCollapsed()||t.start.blockId===t.end.blockId)return;const e=n.getBlockById(t.start.blockId),o=n.getBlockById(t.end.blockId);lr(e)&&ri(n,e),lr(o)&&ri(n,o)}function pP(n){oa(n);const t=n.getFocusedBlock();!Fe(t)||lr(t)&&ri(n,t)}function CP(n){oa(n);const t=n.getFocusedBlock();if(!Fe(t))return;const e=n.selection.range.focus;!e.isSimple()||e.offset===Z(n,t)&&lr(t)&&ri(n,t)}function bP(n){oa(n);const t=n.getFocusedBlock();if(!Fe(t))return;const e=n.selection.range.focus;!e.isSimple()||e.offset===0&&lr(t)&&ri(n,t)}class vP{handleBeforeKeyDown(t,e){return Ua(e.key)&&oa(t),e.key==="Enter"?(pP(t),!1):e.key==="Delete"?(CP(t),!1):(e.key==="Backspace"&&bP(t),!1)}}class kP{constructor(t){this.editor=t}onInsertBlock(t,e,o,r){this.updateBlockIfNeeded(o.id)}onUpdateBlockData(t,e,o,r){const i=this.editor.doc.getBlockData(t,e);this.updateBlockIfNeeded(i.id,o)}updateBlockIfNeeded(t,e){setTimeout(()=>{const o=this.editor.findBlockById(t);if(!!o){if(!Fe(o)){e&&e.delete.includes("heading")&&Q3(o);return}at(o,"hovering-heading")&&J3(this.editor,o),Q3(o)}},100)}}function yP(n){return!!n.heading}function t9(n){var e;const t=n.heading;return(e=Number.parseInt(`${t}`,10))!=null?e:1}function e9(n,t){var e;return{parentNode:t,children:[],text:Tt((e=n.text)!=null?e:[]),level:t9(n),block:n}}class ra{constructor(){u(this,"nodes",[])}appendBlock(t){const e=this.findParent(t9(t),this.nodes);e?e.children.push(e9(t,e)):this.nodes.push(e9(t,null))}findParent(t,e){const o=e[e.length-1];if(!o||t<=1)return null;if(o.level===t-1)return o;const r=this.findParent(t,o.children);return r||(o.level<t?o:null)}static buildToc(t){const e=new ra,o=t.blocks.root;for(let r=0;r<o.length;r++){const i=o[r];yP(i)&&e.appendBlock(i)}return e}}class ii extends Zt.TypedEmitter{constructor(e){super();u(this,"toc",new ra);u(this,"updateToc",ue.default(()=>{this.updateTocNow()},500));this.editor=e,e.doc.registerCallback(this),this.updateToc()}destroy(){this.editor.doc.unregisterCallback(this)}isHeadingBlock(e){return!!e.heading}onInsertBlock(e,o,r,i){e==="root"&&this.isHeadingBlock(r)&&this.updateToc()}onDeleteBlock(e,o,r){e==="root"&&this.updateToc()}onUpdateBlockText(e,o,r,i){if(e!=="root")return;const s=this.editor.doc.getBlockData(e,o);this.isHeadingBlock(s)&&this.updateToc()}onUpdateBlockData(e,o,r,i){if(e!=="root")return;const s=this.editor.doc.getBlockData(e,o);this.isHeadingBlock(s)&&this.updateToc()}static register(e){return e.addCustom("editor-toc",()=>new ii(e))}static get(e){return e.getCustom("editor-toc")}updateTocNow(){this.toc=ra.buildToc(this.editor.doc.toJSON()),this.emit("change",this.editor,this.toc)}}const yV="";function wP(n){return n.nodes.length===0?!0:n.nodes.length>1?!1:n.nodes[0].children.length===0}function Yh(n,t){t.forEach(e=>{const o=b("div",["toc-node"],n),r=b("div",["toc-title"],o);if(b("span",["toc-text"],r,e.text).setAttribute("data-block-id",e.block.id),e.children.length>0){const s=b("div",["toc-children"],o);Yh(s,e.children)}})}function BP(n,t){const e=ki(t,".toc-text");if(!e)return;const o=e.getAttribute("data-block-id");if(!o)return;const r=n.findBlockById(o);!r||(t.preventDefault(),t.stopPropagation(),n.selection.selectBlock(r,0))}function n9(n,t,e){if(V(t,"loading"),t.innerHTML="",wP(e)){b("div",["toc-empty-message"],t,"No toc");return}e.nodes.length===1?Yh(t,e.nodes[0].children):Yh(t,e.nodes),vd(n,"toc-click-handler",()=>{n.addListener("click",BP)})}class EP{constructor(t){u(this,"handleUpdateToc",(t,e)=>{Array.from(t.rootContainer.querySelectorAll('.embed-block[data-type="editor-block"][data-embed-type="toc"]')).forEach(r=>{const i=r.querySelector(".editor-toc-container");i&&n9(t,i,e)})});this.editor=t,ii.register(t).addListener("change",this.handleUpdateToc)}destroy(){ii.register(this.editor).removeListener("change",this.handleUpdateToc)}get toc(){return ii.register(this.editor).toc}}function xP(n,t){const e=b("div",["editor-toc-container"],t),r=n.addCustom("init-editor-toc",()=>new EP(n)).toc;r.nodes.length===0?R(e,"loading"):n9(n,e,r)}function IP(n,t,e,o){return o==="markdown"?"[toc]":""}function SP(n,t,e){const{data:o}=e;if(!o||o.embedType!=="toc"||!F(n,t))return null;const r={};return{blockData:{id:P(),type:"embed",embedType:"toc",embedData:r}}}const TP={embedType:"toc",createEmbedContent:xP,convertTo:IP,convertFrom:SP};class LP{constructor(t,e){u(this,"suggest");u(this,"onShow",(t,e,o,r)=>{const i=this.editor.getBlockByIndex(e,o);if(!Uo(i)){const s=q(N(i));if(s&&it(s)==="code")return!1}return!0});u(this,"onClickItem",(t,e,o)=>{const r=e.data,i={id:P(),type:"mention",box:!0,created:Date.now(),iconUrl:r.avatarUrl,text:r.displayName,mentionId:r.userId},s=this.editor.selection.range;if(!s.isCollapsed()||!s.isSimple())return;const l=s.focus,c=this.editor.getBlockById(l.blockId);this.editor.insertBoxToBlock(c,l.offset,i)});u(this,"queryItems",async(t,e)=>(await this.options.queryUsers(this.editor,e)).map(i=>({id:i.userId,name:i.displayName,icon:`<img src="${i.avatarUrl}" class="mention-user-avatar">`,element:i.element,data:i})));this.editor=t,this.options=e,this.suggest=new ru(t,{id:"editor-mention",trigger:["@"],autoDeleteTrigger:!0,showLoading:!0,onShow:this.onShow,onClickItem:this.onClickItem,queryItems:this.queryItems})}destroy(){}}y("mathjax-box");function DP(n,t,e,o){const r=o,i=b("a",["mention-container"],e);b("span",["mention-name"],i,`@${r.text}`),i.setAttribute("data-mention-id",r.mentionId)}function RP(n,t,e){}const o9={boxType:"mention",updateBoxContent:DP,handleClickBox:RP};function MP(n){return bn("list-block-mention",S.t("list.mention.tooltip"),U5,[],n.clientId)}class OP{constructor(t){u(this,"mentionButton");u(this,"handleHoveringBlock",t=>{var e;!this.editor.isWritable()||(t&&this.shouldBlockShowMention(t)?Ot(t).appendChild(this.mentionButton):(e=this.mentionButton)==null||e.remove())});u(this,"handleMouseDown",(t,e)=>{e.preventDefault(),e.stopPropagation();const o=q(this.mentionButton);if(!o||!F(t,o))return;const r=t.selection.range.focus;if(!r.isSimple())return;let i;t.selection.focusedBlock!==o?i=Z(t,o):i=r.offset,setTimeout(()=>{const s=t.insertTextToBlock(o,i,"@");i+=1;const l=Tt(Me(s,i).left);this.editor.selection.selectBlock(o,i),this.editor.focus(),t.getCustom("mention").suggest.popup(o,i,l,"@")})});u(this,"destroy",()=>{_t.get(this.editor).removeListener("change",this.handleHoveringBlock)});this.editor=t,this.mentionButton=MP(t),_t.get(this.editor).addListener("change",this.handleHoveringBlock),t.domEvents.addEventListener(this.mentionButton,"mousedown",this.handleMouseDown)}shouldBlockShowMention(t){if(!F(this.editor,t)||!ct(t))return!1;const e=He(t);return!(e==="ordered"||e==="unordered")}}const wV="";class As{constructor(t,e){u(this,"_decrypted",!1);this.editor=t,this.blockData=e}get decrypted(){return this._decrypted||this.blockData.owner===this.editor.doc.getUser().userId}setDecrypted(){this._decrypted=!0}destroy(){}static getState(t,e){return t.addCustom(`encrypted-block-${e.id}`,()=>new As(t,e))}}const BV="",Co=y("encrypted-block");function AP(n,t,e,o,r){const i=r,s=eo(o,"div"),l=As.getState(n,i);if(l.decrypted)n.createChildContainer(t,s,i.children[0]),R(o,"decrypted");else{R(o,"encrypted");const c=Ot(o),a=b("div",["password-container"],c),h=b("input",[],a);h.type="text",h.onkeydown=f=>{if(f.key==="Enter"){const g=h.value;if(i.password===mi.default(`${i.owner}-${g}`)){l.setDecrypted(),n.reloadBlock(o);const C=m1(n,n.getBlockById(i.id));C&&(n.selection.selectBlock(C,0),n.focus())}}}}return s}function _P(n,t,e,o){const r=document.elementsFromPoint(e,o)[0];if(!r||!t.contains(r)||!n.contains(t)||!un(r))return null;const i=r;if(n.getBlockData(t).children[0]!==j(i))return null;const l=pt(t,j(i));return new Ze(n,{anchor:l,focus:l})}function PP(n,t,e,o){if(As.getState(n,n.getBlockData(t)).decrypted)return null;if(o==="ArrowDown"||o==="ArrowRight"){const s=mt(t);return s?H(s,Z(n,s),"end"):H(t,1,"end")}const i=bt(t);return H(i||t,0,"home")}function $P(n,t){return n.getBoundingClientRect()}function HP(n,t,e,o){if(e.isSimple()){d(Co,o.isSimple(),"from is simple position but to is not simple position"),Co.debug("full select table"),R(t,"full-selected");return}d(Co,!o.isSimple(),"from is complex position but end is simple position");const r=e,i=o;d(Co,r.blockId===i.blockId,"only allow update one table selection"),d(Co,r.childContainerId===i.childContainerId,"only one container");const s=n.getBlockData(t),l=n.getContainerById(s.children[0]);R(l,"selected")}function FP(n){n.rootContainer.querySelectorAll('[data-type="editor-block"][data-block-type="encrypted"]').forEach(t=>{V(t,"full-selected"),t.querySelectorAll("selected").forEach(e=>{V(e,"selected")})})}function NP(n,t){const e=n.getBlockData(t);return As.getState(n,e).decrypted?[n.getContainerById(e.children[0])]:[]}function VP(n,t,e,o,r){return null}function jP(n,t,e,o){d(Co,e.blockId===o.blockId,"only allow select in single block"),d(Co,G(t)===e.blockId,"only allow select in single block");const r=n.getBlockData(t);return d(Co,e.childContainerId===r.children[0],"only one container"),[n.getContainerById(r.children[0])]}function UP(n){return{name:"EncryptedBlock",insertBlockCommandItems:[{id:"insert-encrypted-block",name:"Encrypted Block"}],async handleInsertEmptyBlock(t,e){const o=mn(t.doc),r={id:P(),type:"encrypted",children:[o],owner:t.doc.getUser().userId,ownerDisplayName:t.doc.getUser().displayName,password:mi.default(`${t.doc.getUser().userId}-1234`)},i=t.doc.getContainerBlocks(o)[0];return t.insertBlock(e.containerId,e.blockIndex,r,At(t,i.id,0))}}}const qP={blockType:"encrypted",blockKind:"complex",enableKeyboardSelect:!0,createBlockContent:AP,getBlockTextLength:()=>1,getRangeFromPoint:_P,moveCaret:PP,getCaretRect:$P,updateSelection:HP,clearSelection:FP,getChildContainers:NP,getNextContainer:VP,getSelectedContainers:jP,getOptions:UP};function zP(n,t,e){const o=Vi(n,t,{components:{blocks:[gs,bs,qP],decorators:[new ks],embeds:[zc,rh,Bh,Eh,xh,zu,Ih,Wh,zh],boxes:[xc],options:{...e.componentsOptions}}});return o.readonly=!0,o}class WP{constructor(t){this.createOptions=t}createHistoryEditor(t,e){return zP(t,e,this.createOptions)}}y("create-editor");function GP({root:n,localDoc:t,rootEditorCreateOptions:e,shareDBDoc:o}){t.uploadResource=o.uploadResource.bind(o),t.buildResourceUrl=o.buildResourceUrl.bind(o);const r=Vi(n,t,{shortcuts:[Hl],components:{blocks:[gs,bs],decorators:[new ks],embeds:[l4,zc,rh,Bh,Eh,xh,zu,Ih,Wh,zh],boxes:[xc,o9],options:{...e.componentsOptions}}});return r.input.addHandler(new Ac),r.input.addHandler(new Sh(r)),r.input.addHandler(new OA(r)),r}function ZP(n,t){const e=Array.from(n.rootContainer.querySelectorAll(`[comment-${t.toLocaleLowerCase()}="${t}"]`)),o=new Set;e.forEach(r=>{const i=q(r);i&&o.add(i)}),o.forEach(r=>{AA(n,r,t)})}class KP{constructor(t,e){u(this,"listeners",new Set);u(this,"doc");this.editor=t,this.rootEditorCreateOptions=e,this.doc=this.editor.doc.externalDoc,this.doc.registerCallback(this)}getAuth(){return this.doc.client.auth}getComments(){return this.doc.getComments()}getComment(t){return this.doc.getComment(t)}getCommentDoc(t){return this.doc.getCommentDoc(t)}localCreateComment(t,e){this.doc.localCreateComment(t,e)}localDeleteComment(t){const e=this.getComment(t);this.doc.localDeleteComment(t);const o=e.groupId;this.getComments().filter(i=>i.groupId===o).length===0&&ZP(this.editor,o)}localUpdateComment(t,e){this.doc.localUpdateComment(t,e)}onCreateComment(t,e){Array.from(this.listeners.values()).forEach(o=>o.onCreateComment(t,e))}onDeleteComment(t,e){Array.from(this.listeners.values()).forEach(o=>o.onDeleteComment(t,e))}onUpdateComment(t,e){Array.from(this.listeners.values()).forEach(o=>o.onUpdateComment(t,e))}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}createCommentEditor(t,e){return GP({root:t,localDoc:e,rootEditorCreateOptions:this.rootEditorCreateOptions,shareDBDoc:this.doc})}}const r9=y("create-editor"),i9=[zc,rh,Bh,Eh,xh,zu,Ih,Wh,zh,l4,TP,p_];async function JP(n,t){var r,i,s,l,c,a,h;d(r9,n,"app does not exists");const e=await Jl.load({auth:{appId:t.appId,docId:t.docId,userId:t.user.userId,permission:t.permission,token:t.token,displayName:t.user.displayName,avatarUrl:t.user.avatarUrl},serverUrl:t.serverUrl}),o=Vi(n,e,{id:t.id,components:{blocks:[gs,bs,dh,Zp],commandProviders:[new mu],decorators:[new ks,new _d],embeds:[...i9,...((r=t.components)==null?void 0:r.embeds)||[]],boxes:[xc,o9,x3],insertions:[E1],blockHooks:[new Q4],textRenders:[new v3,new Wx],options:{...t.componentsOptions}},shortcuts:[cL,OD,th,Y4,Gx,Zu,Hl]});if(o.editorCommandProviders.registerCommandProvider(new xn(o)),o.input.addHandler(new vP),o.input.addHandler(new Ac),o.input.addHandler(new Cs(o,{headingLevel:1,titlePlaceholder:"Document title",addPlaceholderToAllCurrentEmptyBlock:!0})),o.input.addHandler(new Ic(o,(i=t.componentsOptions)==null?void 0:i.quickMenu)),o.input.addHandler(new Sh(o)),o.input.addHandler(new U4(o)),o.doc.registerCallback(new kP(o)),o.addCustom("remote-cursor",()=>new Wg(o)),o.addCustom("block-menu",f=>new r4(f)),o.addCustom("editor-tooltip",()=>new Gu(o)),o.addCustom("editor-comments",f=>new LA(f,new KP(f,t))),o.addCustom("create-options",()=>new If(o,t)),o.addCustom("drop-target",()=>new Is(o)),o.addCustom("list-to-mindmap",()=>new wc(o)),o.addCustom("list-to-mention",()=>new OP(o)),(s=t.componentsOptions)!=null&&s.mention){const f=t.componentsOptions.mention;o.addCustom("mention",()=>new LP(o,f))}if(o.addCustom("heading-collapse",()=>new gP(o)),Ur.register(o),Is.register(o),ii.register(o),(c=(l=t.componentsOptions)==null?void 0:l.remoteCarets)!=null&&c.onUserChanged){const f=(h=(a=t.componentsOptions)==null?void 0:a.remoteCarets)==null?void 0:h.onUserChanged;o.doc.getRemoteUsers().on("change",g=>{f(o,g)})}return o}async function YP(n,t,e){var i;d(r9,n,"app does not exists");const o=new bd(t),r=Vi(n,o,{id:e.id,components:{blocks:[gs,bs,dh,Zp],commandProviders:[new mu],decorators:[new ks,new _d],embeds:[...i9],boxes:[xc,x3],insertions:[E1],blockHooks:[new Q4],textRenders:[new v3],options:{...e.componentsOptions}},shortcuts:[th,Y4,Zu,Hl]});return r.editorCommandProviders.registerCommandProvider(new xn(r)),r.input.addHandler(new Ac),r.input.addHandler(new Cs(r,{headingLevel:1,titlePlaceholder:"Document title",contentPlaceholder:"Enter some text...",addPlaceholderToAllCurrentEmptyBlock:!0})),r.input.addHandler(new Ic(r,(i=e.componentsOptions)==null?void 0:i.quickMenu)),r.input.addHandler(new Sh(r)),r.input.addHandler(new U4(r)),r.addCustom("block-menu",s=>new r4(s)),r.addCustom("editor-tooltip",()=>new Gu(r)),Ur.register(r),r}function XP(n,t){var l;const e=n.doc;if(!((l=e.getVersionHelper)==null?void 0:l.call(e)))throw new Error("the editor does not support to show versions");const r=n.getCustom("create-options");if(!r)throw new Error("the editor does not support to show versions");const i=r.getData(),s=new WP(i);return rP(n,s,t)}m.AuthError=Zl,m.AuthHeader=Qi,m.AutoScroll=lm,m.AutoSuggestMenu=nu,m.BaseURLHeader=Kl,m.BlockResizer=Oc,m.BrBox=m2,m.CodeBlock=bs,m.CodeLineBlock=dh,m.CodeTextDecorator=ks,m.DefaultShortcuts=Hl,m.DocIdError=Zy,m.DragDrop=Nf,m.DrawioEmbed=zc,m.EditorBlocks=Wm,m.EditorBoxes=p2,m.EditorCommandProviders=sg,m.EditorComplexBlockPosition=Ge,m.EditorComplexSelectionRange=Ze,m.EditorDecorators=k2,m.EditorEmbeds=Zm,m.EditorInsertions=v2,m.EditorSimpleBlockPosition=jt,m.EditorSimpleSelectionRange=ie,m.EmbedBlock=Jm,m.EnforceWithDocumentTitleHandler=Cs,m.EventCallbacks=Ci,m.FILL_CHAR=bb,m.FileExtError=Ky,m.InputtingInsertion=C2,m.LocalDoc=bd,m.Logger=pi,m.MIN_DISTANCE_THRESHOLD=Hf,m.MarkdownInputHandler=Ac,m.MaxUserError=Dd,m.OnesEditorCustomDataWrapper=If,m.OnesEditorHoveringBlock=_t,m.OnesEditorQuickMenu=Ic,m.OnesEditorToolbar=Ur,m.OnesEditorTooltip=Gu,m.PermissionError=Gy,m.RemoteCarets=Wg,m.RemoteCaretsDecorator=_d,m.RemoteCaretsInsertion=E1,m.RemoteUsers=Nl,m.RequestReloadError=Xi,m.RichText=ne,m.ShareDBDoc=Jl,m.SimpleCache=Tf,m.TEXT_STYLE_BACKGROUND_COLOR_PREFIX=D1,m.TEXT_STYLE_COLOR_PREFIX=L1,m.TableBlock=gs,m.TableBlockCommandProvider=mu,m.TableShortcuts=th,m.TextBlock=Mi,m.TextBox=f2,m.TextStyleShortcuts=Zu,m.ZERO_WIDTH_SPACE_CHAR=bi,m.addAttribute=pl,m.addClass=R,m.addDays=$8,m.addMonths=P8,m.animateScrollTo=yi,m.applyPlaceholderToBlock=_c,m.assert=d,m.blockToDoc=K1,m.blockToHtml=A1,m.blockToMarkdown=U2,m.blockToText=El,m.blocksToDoc=$b,m.clearAllSelection=_m,m.clientType=Et,m.cloneBlock=Vo,m.cloneChildContainer=q1,m.cloneDoc=z1,m.cloneText=_2,m.compareElement=Js,m.comparePosition=h1,m.complexBlockAdjustSelectionPos=al,m.complexBlockFindNearestChildBlock=t2,m.complexBlockGeFirstSimpleChild=m1,m.complexBlockGetAllChildContainers=Le,m.complexBlockGetBottomChildContainers=Qm,m.complexBlockGetLastSimpleChild=yr,m.complexBlockGetSelectedContainers=kr,m.complexBlockGetTopChildContainers=Xm,m.containerToDoc=J1,m.continuousScroll=sm,m.convertBlockFrom=ll,m.createBlockAnchor=Ao,m.createBlockContentElement=eo,m.createBlockElement=pm,m.createBlockSimpleDocRange=Bl,m.createBlockSimpleRange=At,m.createBoxContentElement=vm,m.createBoxElement=Cm,m.createBoxOp=I2,m.createChildContainer=Mm,m.createComplexBlockPosition=pt,m.createComplexDocPos=j2,m.createComplexDocRange=kb,m.createContainer=H2,m.createContainerElement=o1,m.createDeleteOps=w2,m.createEditor=Vi,m.createEditorSelectionRange=Ut,m.createElement=b,m.createEmptyContainer=mn,m.createEmptyDoc=Fo,m.createEmptyTextBlockData=kl,m.createExpandedRange=Zs,m.createIconButton=ur,m.createImage=Lf,m.createInsertOps=gl,m.createInsertionContentElement=wm,m.createInsertionElement=km,m.createLocalEditor=YP,m.createOnesEditor=JP,m.createRange=Df,m.createRichText=Oi,m.createRootContainer=Rm,m.createSimpleBlockPosition=H,m.createSimpleDocPos=V2,m.createTextBlockData=Fn,m.createTextButton=zn,m.createTextOp=Ae,m.createTextWithReplaceSoftReturn=x1,m.daysAfter=Za,m.deleteText=S1,m.diffDays=H8,m.disablePageScroll=Qf,m.docToHtml=Bb,m.docToHtmlFragment=q2,m.docToMarkdown=Eb,m.docToText=z2,m.downloadObjectToFile=bh,m.downloadSvgToString=a4,m.editLink=mc,m.editorAddTextAttribute=d0,m.editorAutoInsertBlock=X2,m.editorBreakTextBlock=_i,m.editorClearCompositionText=Y2,m.editorClearSelectedContents=j1,m.editorCopyBlock=ed,m.editorDeleteBlock=N1,m.editorDeleteBlockText=$1,m.editorDeleteBlockWithoutChildren=F1,m.editorDeleteChildContainer=Mb,m.editorDeleteChildContainers=e0,m.editorFocusToBlock=U1,m.editorFocusToEnd=m0,m.editorGetBlockData=oo,m.editorGetBlockText=ke,m.editorGetBlockTextEx=Il,m.editorGetBoxData=W2,m.editorHandleKeyboardEvent=V0,m.editorInsertBlock=Tr,m.editorInsertBoxToBlock=K2,m.editorInsertDoc=c0,m.editorInsertDocAt=W1,m.editorInsertText=P1,m.editorInsertTextToBlock=Z2,m.editorInsertTextToBlockEx=_1,m.editorMergeTextBlock=n0,m.editorRangeClearColor=h0,m.editorRangeGetColor=G1,m.editorRangeSetColor=u0,m.editorRemoveTextAttribute=_b,m.editorReplaceBlockText=Rl,m.editorReplaceContainer=a0,m.editorRunOnce=vd,m.editorSelectEnd=f0,m.editorSetTextColor=Lr,m.editorUpdateBlockData=Ml,m.editorUpdateCompositionText=J2,m.editorUpdateEmbedData=s0,m.enablePageScroll=tm,m.escapeHtmlText=_f,m.escapeRegExp=Ya,m.escapeSpace=v8,m.executeBlockCommand=zm,m.executeEmbedBlockCommand=qm,m.executeRangeCommand=ig,m.fileToDataUrl=Qs,m.findAllText=O1,m.findInsertionById=ym,m.findPrevSimpleBlockBeforeChildContainer=Ym,m.findTarget=ki,m.format=Ga,m.formatBytes=cm,m.formatDate=um,m.fragmentToHtml=em,m.fromBase64=Xs,m.fromBase64ToBlob=Yf,m.fromBase64ToUint8Array=R8,m.fromDocRange=no,m.fromNowString=Ja,m.genId=P,m.getAllChildBlocks=p1,m.getAllQuickMenuItems=Wu,m.getAllSelectedBlocks=_n,m.getAttributesAt=bl,m.getBlockBackground=gm,m.getBlockByIndex=fr,m.getBlockCaretRect=We,m.getBlockClass=kt,m.getBlockClassByType=br,m.getBlockClientRects=Mo,m.getBlockCommandsWithHook=a1,m.getBlockContent=rt,m.getBlockId=G,m.getBlockIndex=Y,m.getBlockKind=ze,m.getBlockMinWidth=$m,m.getBlockOptions=Z8,m.getBlockPath=Cr,m.getBlockProperties=Nm,m.getBlockStyles=W8,m.getBlockTextLength=Z,m.getBlockTools=Ot,m.getBlockType=it,m.getBoxContent=t1,m.getBoxId=bm,m.getBoxTypeFromElement=Ei,m.getChildBlockCount=je,m.getChildBlocks=Mt,m.getChildOffset=Br,m.getColorFromAttributes=M1,m.getComplexBlockClass=ve,m.getContainerBlockPath=Tm,m.getContainerBlocks=Im,m.getContainerBlocksElement=sl,m.getContainerById=Ii,m.getContainerId=j,m.getContainerMinWidth=l1,m.getContainerToolsElement=V8,m.getContainerWidth=Fm,m.getDistanceSquare=dn,m.getElementOffset=vi,m.getEmbedType=Te,m.getExistsBlockTools=il,m.getExistsContainerById=Em,m.getFileExt=om,m.getFirstChildBlock=Kt,m.getFirstClientRect=Ks,m.getHeadingMenuOptions=Ec,m.getHorizontalPadding=Pa,m.getInsertionContent=e1,m.getLastChildBlock=Jt,m.getLastClientRect=xo,m.getLogger=y,m.getNextBlock=mt,m.getNextValidOffset=Er,m.getNextVisibleBlock=pr,m.getOpAt=T2,m.getOpLength=T1,m.getParentBlock=q,m.getParentBox=Qa,m.getParentContainer=N,m.getPrevBlock=bt,m.getPrevValidOffset=Po,m.getPrevVisibleBlock=gr,m.getRangeCommands=og,m.getRootBlock=s1,m.getScrollContainer=Do,m.getSpecialBlockCommands=Vm,m.getTextBlockChild=dl,m.getTextBlockClass=Am,m.getTextBlockContentChildTextLength=Re,m.getTextBlockContentChildType=e2,m.getTextBlockContentChildren=Hn,m.getTextLength=le,m.getTextOpLength=b1,m.getTextWidth=el,m.getToolbar=fc,m.handleBlockElementUpdated=Hm,m.hasAltOnly=x8,m.hasClass=at,m.hasCtrlOrCmd=Gf,m.hasCtrlOrCmdOnly=E8,m.hideBlock=fm,m.htmlToFragment=tl,m.i18n=S,m.injectStyle=$f,m.insertEmptyBlock=J8,m.insertEmptyEmbedBlock=Um,m.insertText=xr,m.intersectionCommands=jk,m.isBackspace=Kf,m.isBlock=mr,m.isBox=Xa,m.isCJK=qf,m.isChildContainer=qe,m.isChildNode=Ct,m.isCollapsedRange=N2,m.isComplexBlockPosition=u1,m.isComplexKindBlock=lt,m.isContainer=un,m.isControlEvent=To,m.isDelete=S8,m.isEmbedBlock=Se,m.isEmptyContainer=c1,m.isEmptyDoc=yl,m.isEmptyTextBlock=It,m.isEmptyTextBlockWithoutCompositionText=ps,m.isEnterOnly=Zf,m.isEscape=qa,m.isFirefox=ja,m.isFirstChildBlockInComplexBlock=BC,m.isHighSurrogate=f8,m.isInBlock=n1,m.isInBlockTools=xi,m.isLetter=Uf,m.isLowSurrogate=_a,m.isMatchShortcut=An,m.isMoveForward=w8,m.isNavigationEvent=y8,m.isNavigationKey=Wf,m.isNodeRemoved=Mf,m.isNumber=jf,m.isPrintableKey=Ua,m.isRootBlock=Uo,m.isRootContainer=vt,m.isSafari=zf,m.isSameDay=Ka,m.isShiftEnter=I8,m.isShiftTab=L8,m.isShortcutEvent=B8,m.isSimpleBlock=G8,m.isSimpleBlockPosition=vr,m.isSimplePos=F2,m.isSimpleRange=wl,m.isSpace=Ys,m.isTab=T8,m.isTextBlockContentBoxChild=De,m.isTextBlockContentChild=Ti,m.isTextBlockContentInsertionChild=$n,m.isTextBlockContentTextChild=Li,m.isTextKindBlock=F,m.isTextKindBlockType=Si,m.isToday=am,m.isValidOffset=he,m.isVisibleBlock=rl,m.isYesterday=dm,m.loadJs=Of,m.loadJsPromise=Io,m.lockers=Rn,m.mergeDocs=No,m.mergeOps=I1,m.mergeText=mb,m.multiSplitText=r2,m.parseShortcut=Jf,m.patchNode=Bi,m.pointInRect=So,m.rangeAddAttribute=Cl,m.rangeGetTextColor=A2,m.rangeRemoveAttribute=Ir,m.rangeSetTextColor=R2,m.rangeTransformText=L2,m.registerDragDrop=Na,m.removeAttribute=R1,m.removeClass=V,m.removeLastBr=db,m.removePlaceholderFromBlock=R6,m.removeStyle=Pf,m.replaceAll=F8,m.replaceAllCaseInsensitive=N8,m.replaceAllText=$2,m.replaceText=vl,m.requestDownload=ol,m.scrollable=im,m.selectFile=hr,m.selectedBlockToDoc=Al,m.selectionToDoc=_l,m.setAttributes=Ha,m.setClipboardData=nl,m.setClipboardDataByEvent=_8,m.setColorToAttributes=M2,m.setDataset=$a,m.setDefaultCursor=wi,m.setStyles=Fa,m.shortcutToDisplayText=D8,m.showBlock=mm,m.showDocVersions=XP,m.splitText=Me,m.splitToThree=ee,m.stringToDataUrl=Xf,m.stringToObjectUrl=Wa,m.subText=i2,m.textNodeOffsetFromPoint=Rf,m.toBase64URL=Lo,m.toPlainText=Tt,m.trimChar=Va,m.unicodeLength=m8,m.unicodeSubstr=g8,m.updateBlockSelection=Pm,m.updateOpAttributes=P2,m.updateTextBlockContent=nb,m.updateUrl=za,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
744
|
+
</svg>`,{t:Gh}=S;class V_{constructor(t){u(this,"goBackButton");u(this,"playButton");u(this,"revertButton");this.options=t;const e=b("button",["dialog-text-button"],null),o=b("span",["dialog-button-icon"],e);o.innerHTML=N_,b("span",["dialog-button-text"],e,Gh("version.goBack"));const r=b("button",["dialog-version-button"],null,Gh("version.play")),i=b("button",["dialog-version-button"],null,Gh("version.revertVersion"));this.goBackButton=e,this.playButton=r,this.revertButton=i,this.bindEvent()}bindEvent(){const{onBack:t,onPlay:e,onRevert:o}=this.options;this.playButton.onclick=e,this.goBackButton.onclick=t,this.revertButton.onclick=o}disabledButton(){}render(t,e=!1){e||t.append(this.goBackButton,this.playButton,this.revertButton)}destroy(){this.playButton.onclick=null,this.goBackButton.onclick=null,this.revertButton.onclick=null}}const de=y("split-text-actions");function H3(n){return n.length>2?!1:n.length===1?n[0].insert!==void 0:(d(de,n.length===2,`invalid text actions: ${JSON.stringify(n)}`),n[0].retain===void 0?!1:n[1].insert!==void 0)}function F3(n){return n.length>2?!1:n.length===1?n[0].delete!==void 0:(d(de,n.length===2,`invalid text actions: ${JSON.stringify(n)}`),n[0].retain===void 0?!1:n[1].delete!==void 0)}function N3(n){return n.length>2?!1:n.length===1?n[0].insert===void 0&&n[0].delete===void 0&&n[0].attributes!==void 0:(d(de,n.length===2,`invalid text actions: ${JSON.stringify(n)}`),n[0].retain===void 0?!1:n[1].attributes!==void 0)}function j_(n){const t=[],e=K.default(n);if(e.length===0)return[];if(e.length===1)return[n];if(e.length===2&&(F3(n)||H3(n)||N3(n)))return[n];const o=(i,s)=>i>0?[{retain:i},s]:[s];let r=0;for(;e.length>0;){const i=e[0];if(i.retain!==void 0&&i.attributes===void 0){d(de,i.retain>0,`invalid text op: ${JSON.stringify(i)}`),d(de,e.length>1,`invalid text op: ${JSON.stringify(i)}`);const s=e[1];d(de,s.delete||s.insert!==void 0||s.attributes!==void 0,`invalid next text op: ${JSON.stringify(s)}`),r+=i.retain,t.push(o(r,s)),s.delete!==void 0?r-=s.delete:s.insert!==void 0?r+=s.insert.length:(d(de,s.attributes!==void 0,`invalid next text op: ${JSON.stringify(s)}`),d(de,s.retain!==void 0,`invalid next text op: ${JSON.stringify(s)}`),r+=s.retain),e.splice(0,2)}else d(de,i.delete||i.insert!==void 0||i.attributes!==void 0,`invalid next text op: ${JSON.stringify(i)}`),t.push(o(r,i)),e.shift(),i.retain!==void 0&&(d(de,i.attributes!==void 0,`invalid next text op: ${JSON.stringify(i)}`),r+=i.retain),i.insert&&(r+=i.insert.length)}return t}function V3(n){if(d(de,n.length===1||n.length===2,`not a single action op: ${JSON.stringify(n)}`),n.length===1)return 0;const t=n[0].retain;return d(de,typeof t=="number"&&t>0,`invalid retain: ${JSON.stringify(n)}`),t}let j3=0;function U_(n,t,e){const o=j3;j3+=1;const r=Tt(n);return{insert:" ",attributes:{box:!0,id:P(),type:"history-deleted-box",user:e,created:Date.now(),text:r,deletedOffset:t,deletedOrder:o}}}function q_(n,t,e){const o=V3(t),r=t.length===1?t[0].delete:t[1].delete;d(de,typeof r=="number",`not a delete op: ${JSON.stringify(t)}`);const{left:i,middle:s,right:l}=ee(n,o,r),c=U_(s,o,e);return[...i,c,...l]}function z_(n,t,e){const o=V3(t),r=t.length===1?t[0].insert:t[1].insert;d(de,typeof r=="string",`invalid insert op: ${JSON.stringify(t)}`);const i=t.length===1?t[0].attributes:t[1].attributes,l=pl([{insert:r,attributes:i}],"insertedBy",e);return xr(n,o,l,null)}function W_(n,t,e){const o=j_(t).reverse();let r=n;for(const i of o)F3(i)?r=q_(r,i,e):H3(i)?r=z_(r,i,e):(d(de,N3(i),`unknown op: ${JSON.stringify(i)}`),r=ne.apply(r,i));return r}const G_=y("history-update-block-text");function U3(n){const t=[],e=[];let o=0;return n.forEach(r=>{var i;if((i=r.attributes)!=null&&i.box){const s=r.attributes;if(s.type==="history-deleted-box"){t.push({boxData:s,offset:o});return}}e.push(r),o+=T1(r)}),t.sort((r,i)=>i.offset-r.offset),{deletedBoxes:t,newText:e}}function Z_(n,t,e){let o=n;return t.forEach(r=>{const i=ne.transformCursor(r.offset,e,!1);o=xr(o,i,[{insert:" ",attributes:r.boxData}],null)}),o}function K_(n){n.sort((t,e)=>t.boxData.deletedOffset!==e.boxData.deletedOffset?t.boxData.deletedOffset-e.boxData.deletedOffset:t.boxData.deletedOrder-e.boxData.deletedOrder)}function J_(n){if(n.length<=1)return n;const t=n[0].offset;n.forEach(e=>{d(G_,e.offset===t,`invalid boxes group, ${JSON.stringify(n)}`)}),K_(n);for(let e=n.length-1;e>=1;e--){const o=n[e],r=n[e-1];o.boxData.user.userId===r.boxData.user.userId&&(r.boxData.text+=o.boxData.text,n.splice(e,1))}return n}function Y_(n){let{newText:t,deletedBoxes:e}=U3(n);const o=new Map;return e.forEach(i=>{let s=o.get(i.offset);s||(s=[],o.set(i.offset,s)),s.push(i),s.sort((l,c)=>l.boxData.deletedOffset-c.boxData.deletedOffset)}),Array.from(o.values()).sort((i,s)=>s[0].offset-i[0].offset).forEach(i=>{const s=i[0].offset;J_(i).reverse().forEach(l=>{t=xr(t,s,[{insert:" ",attributes:l.boxData}],null)})}),t}function X_(n,t,e){let{newText:o,deletedBoxes:r}=U3(n);return o=W_(o,t,e),o=Z_(o,r,t),o=Y_(o),o}const In=y("history-doc");function Sn(n){d(In,!1,"no local actions for history doc")}class Q_ extends Ci{constructor(e,o){super();u(this,"doc");u(this,"editor");this.doc=K.default(e),this.editor=o}beginBatchUpdate(){return 0}endBatchUpdate(){return 0}toJSON(){return K.default(this.doc)}getContainerBlocks(e){return this.doc.blocks[e]}getBlockData(e,o){const r=this.getContainerBlocks(e);d(In,r,`no container data: ${e}`);const i=r[o];return d(In,i,`no block data: ${o}`),i}localUpdateBlockText(){Sn()}localUpdateBlockData(){Sn()}localInsertBlock(){Sn()}localDeleteBlock(){Sn()}localInsertChildContainer(){Sn()}localDeleteChildContainers(){Sn()}uploadResource(){Sn()}async addResources(e){Sn()}getServerMeta(){var e,o,r;return(r=(o=(e=this.editor.doc.externalDoc).getServerMeta)==null?void 0:o.call(e))!=null?r:{}}buildResourceUrl(e){return this.editor.doc.externalDoc.buildResourceUrl(e)}request(){Sn()}broadcastMessage(){Sn()}getUser(){return{permission:"w",userId:"-",displayName:"-",avatarUrl:"-",rainbowIndex:0}}getRemoteUsers(){return new Nl}destroy(){this.clearCallbacks()}transformBlockIndex(e,o,r){const i=this.doc.blocks[e];d(In,i,`no container blocks: ${e}`);let s=0;for(let l=0;l<i.length;l++)if(!i[l].deletedBy){if(s===o)return l;s++}return r?(d(In,!1,`invalid block index: ${o}, blocks: ${JSON.stringify(i)}`),-1):(d(In,s===o,`invalid block index: ${o}, blocks: ${JSON.stringify(i)}`),i.length)}onDeleteBlock(e,o,r){const i=this.transformBlockIndex(e,o,!0),l=this.doc.blocks[e][i];d(In,!l.deleted,`block has already deleted: ${e}/${o}`),l.deletedBy=r,this.callbacks.forEach(c=>{var a;return(a=c.onUpdateBlockData)==null?void 0:a.call(c,e,i,{insert:{},delete:[]},!0)})}onInsertBlock(e,o,r,i){const s=this.transformBlockIndex(e,o,!1),l=this.doc.blocks[e],c=K.default(r);c.insertedBy=i,l.splice(s,0,c),this.callbacks.forEach(a=>{var h;return(h=a.onInsertBlock)==null?void 0:h.call(a,e,s,c,!0)})}onUpdateBlockText(e,o,r,i){const s=this.transformBlockIndex(e,o,!0),c=this.doc.blocks[e][s];d(In,!c.deleted,`block has already deleted: ${e}/${o}`);const a=c.text;d(In,a,`no text for block: ${JSON.stringify(c)}`);const h=X_(a,r,i);c.text=h,this.callbacks.forEach(f=>{var g;return(g=f.onUpdateBlockText)==null?void 0:g.call(f,e,o,r,!0)})}onUpdateBlockData(e,o,r,i){const s=this.transformBlockIndex(e,o,!0),l=this.doc.blocks[e],c=l[s];d(In,!c.deleted,`block has already deleted: ${e}/${o}`);const a=K.default(c);a.updatedBy=i,r.delete.forEach(h=>delete a[h]),Object.entries(r.insert).forEach(([h,f])=>{a[h]=f}),l[s]=a,this.callbacks.forEach(h=>{var f;return(f=h.onUpdateBlockData)==null?void 0:f.call(h,e,s,r,!0)})}onCreateContainer(e,o,r){this.doc.blocks[e]=K.default(o),this.callbacks.forEach(i=>{var s;return(s=i.onInsertChildContainer)==null?void 0:s.call(i,e,o,!0)})}}const{t:q3}=S;function oi(n,t){return t==="insert"?q3("version.insert",{name:n.displayName}):q3("version.delete",{name:n.displayName})}function sr(n,t){const{userId:e}=t;return["flag","selection"].reduce((r,i)=>{const s=n.doc.getRemoteUsers().getFixedUserColor(e,i);return r[i]=s,r},{})}class tP{renderText(t,e,o){if(!o.box&&o.insertedBy){const r=o.insertedBy,{flag:i,selection:s}=sr(t,o.insertedBy);return{classes:["history-inserted-text"],attributes:{"history-inserted-by":r.displayName,"data-op-description":oi(r,"insert")},styles:{[ti]:i,[ei]:s}}}return{}}renderBlock(t,e,o){if(o.deletedBy){const r=o.deletedBy,{flag:i,selection:s}=sr(t,r);return{classes:["history-deleted-block"],attributes:{"history-deleted-by":r.displayName,"data-op-description":oi(r,"delete")},styles:{[ti]:i,[ei]:s}}}if(o.insertedBy){const r=o.insertedBy,{flag:i,selection:s}=sr(t,r);return{classes:["history-inserted-block"],attributes:{"history-inserted-by":r.displayName,"data-op-description":oi(r,"insert")},styles:{[ti]:i,[ei]:s}}}return{}}updateBlock(t,e,o,r){if(r.deletedBy){const i=r.deletedBy,{flag:s,selection:l}=sr(t,i);R(o,"history-deleted-block"),Ha(o,{"history-inserted-by":i.displayName,"data-op-description":oi(i,"delete")}),Fa(o,{[ti]:s,[ei]:l});return}if(r.insertedBy){const i=r.insertedBy,{flag:s,selection:l}=sr(t,i);R(o,"history-inserted-block"),Ha(o,{"history-inserted-by":i.displayName,"data-op-description":oi(i,"insert")}),Fa(o,{[ti]:s,[ei]:l})}}}const z3=y("history-deleted-box");function eP(n,t,e,o){const r=o;d(z3,r.text,`no text for text box data: ${JSON.stringify(o)}`),d(z3,typeof r.text=="string",`invalid text type for text box data: ${JSON.stringify(o)}`);const i=b("span",["history-deleted-box"],e,r.text),s=r.user,{flag:l,selection:c}=sr(n,s);i.setAttribute("history-deleted-by",s.displayName),i.setAttribute("data-op-description",oi(s,"delete")),i.style.setProperty(ti,l),i.style.setProperty(ei,c)}const nP={boxType:"history-deleted-box",updateBoxContent:eP},Ie=y("version-dialog");class oP{constructor(t,e){u(this,"editor");u(this,"dialog",null);u(this,"oldViewer",null);u(this,"versionOptions",{});u(this,"versionList",null);u(this,"actionButtons",null);u(this,"provider");u(this,"components");u(this,"handleClose",()=>{var t;(t=this.dialog)==null||t.hide()});u(this,"handlePlay",()=>{var e;d(Ie,this.versionList,"The versionList did not render");const t=(e=this.versionList)==null?void 0:e.activeVersion;d(Ie,t,`The version: ${t} is invalid`),this.viewVersion(t,{play:!0,speed:150})});u(this,"handleRevert",async()=>{var e,o;d(Ie,this.versionList,"The versionList did not render");const t=(e=this.versionList)==null?void 0:e.activeVersion;d(Ie,t,`The version: ${t} is invalid`),await this.versionHelper.revertVersion(t.version),(o=this.dialog)==null||o.hide()});u(this,"handleSelectVersion",t=>{d(Ie,t,`The version: ${t} is invalid`),this.viewVersion(t)});u(this,"viewVersion",async(t,e={play:!1,speed:1e3})=>{this.oldViewer&&(this.oldViewer.destroy(),this.oldViewer=null),d(Ie,this.versionList,"The versionList did not render"),d(Ie,this.actionButtons,"The actionButtons did not render");const o=t.type==="minor"?this.versionList.beforeVersion:this.versionList.beforeMajorVersion,r=o?o.version:0,i=this.versionList.isSelectedFirstVersion,s=this.versionList.isSelectedLastVersion;this.actionButtons.revertButton.disabled=i,this.actionButtons.playButton.disabled=i;let l=this.versionOptions.hideOps;if(this.versionOptions.onWillChangeVersion){const C=this.versionOptions.onWillChangeVersion(this.editor,t,i,s);C!=null&&C.hideOps&&(l=!0)}let c,a;if(l)c=await this.versionHelper.getVersion(t.version),a=[];else{const C=await this.versionHelper.getHistoryData(t.version,r);c=C.doc,a=C.historyData}const{editorElement:h}=this.components;h.innerHTML="";const f=new Q_(c,this.editor),g=this.provider.createHistoryEditor(h,f);g.editorBlockRenders.registerRender(new tP),g.editorBoxes.registerBoxClass(nP),R(g.rootElement,P3.HISTORY);try{await F_(f,this.versionHelper,a,e)}finally{this.oldViewer=g}this.versionOptions.onVersionChanged&&this.versionOptions.onVersionChanged(this.editor,g,t,i,s)});this.editor=t,this.provider=e;const o=b("div",["version-dialog"],null),r=b("div",["version-dialog-note-viewer"],o),i=b("div",["version-dialog-action-container"],r),s=b("div",["version-dialog-editor"],r),l=b("div",["version-dialog-versions-list"],o);this.components={root:o,editorElement:s,actionContainer:i,versionsListContainer:l}}get versionHelper(){d(Ie,this.editor.doc.getVersionHelper,"Can not get getVersionHelper from doc");const t=this.editor.doc.getVersionHelper();return d(Ie,t,"current doc does not support version"),t}renderContent(t){const{actionContainer:e,versionsListContainer:o}=this.components;e.innerHTML="";const{hideActions:r}=this.versionOptions,i=new V_({onBack:this.handleClose,onPlay:this.handlePlay,onRevert:this.handleRevert});i.render(e,r),this.actionButtons=i,o.innerHTML="";const s=new P_({versions:t,useCreatedBy:this.versionOptions.useCreatedBy,onSelectVersion:this.handleSelectVersion,getMarkColor:l=>{const{flag:c}=sr(this.editor,l);return c}});s.render(o),this.versionList=s}initViewVersion(){if(this.versionOptions.initSelectedVersion){d(Ie,this.versionList,"The versionList did not render");const{initSelectedVersion:t}=this.versionOptions,e=this.versionList.selectVersionByVersionNum(t);d(Ie,e,`The version: ${e} is invalid`),this.viewVersion(e)}else{d(Ie,this.versionList,"The versionList did not render");const t=this.versionList.activeVersion;d(Ie,t,`The version: ${t} is invalid`),this.viewVersion(t)}}async show(t={}){this.versionOptions={...this.versionOptions,...t};const e=await this.versionHelper.getVersions();if(this.versionOptions.hideNonVersionedOps&&e.length&&e[0].version===-1&&e.shift(),this.versionOptions.onVersionsLoaded&&this.versionOptions.onVersionsLoaded(this.editor,e),this.renderContent(e),this.initViewVersion(),!this.dialog){const{root:o}=this.components;this.dialog=new __(o)}this.dialog.show()}destroy(){var t,e,o;(t=this.dialog)==null||t.destroy(),(e=this.versionList)==null||e.destroy(),(o=this.actionButtons)==null||o.destroy()}}function rP(n,t,e){n.addCustom("version-dialog",()=>new oP(n,t)).show(e)}const kV="",iP=y("heading-collapse");function Zh(n){var e;const t=Number.parseInt((e=n.getAttribute("data-style-heading"))!=null?e:"",10);return d(iP,t,"not a heading block"),t}function Fe(n){return!!n.getAttribute("data-style-heading")}function sP(n){return!at(n,"heading-collapsed")}function lr(n){return at(n,"heading-collapsed")}function W3(n){if(bt(n))return!1;const e=N(n);return vt(e)}const lP=y("heading-collapse");function Kh(n){d(lP,Fe(n),"not a heading block");const t=[],e=Zh(n);let o=mt(n);for(;o&&!(Fe(o)&&Zh(o)<=e);)t.push(o),o=mt(o);return t}function G3(n,t){if(!Uo(t))return;n.selection.selectBlock(t,0),Kh(t).forEach(o=>{fm(o)}),R(t,"heading-collapsed")}function ri(n,t){Kh(t).forEach(o=>{mm(o)}),V(t,"heading-collapsed")}function cP(n,t){sP(t)?G3(n,t):ri(n,t)}const aP=[jd,Ud,qd,zd,Wd,Gd,Zd,Kd];function dP(n){const t=b("button",["heading-collapse-button"],null);return t.setAttribute(`data-editor-tooltip-${n.clientId}`,"Collapse / Expand"),t.innerHTML=Ql,t}function Z3(n){return jc(n).querySelector("button.heading-collapse-button")}function K3(n,t){Z3(t)||W3(t)||!Uo(t)||fh(t,dP(n),-1)}function uP(n){var t;(t=Z3(n))==null||t.remove()}function J3(n,t){jc(t).querySelector("button.heading-collapse-button")||K3(n,t)}function hP(n){const t=Zh(n),e=b("button",["heading-marker"],null);return e.innerHTML=aP[t-1],e}function Y3(n){return jc(n).querySelector("button.heading-marker")}function Jh(n){Y3(n)||W3(n)||!Uo(n)||fh(n,hP(n),1)}function X3(n){const t=Y3(n);t==null||t.remove()}function Q3(n){X3(n),Fe(n)&&Jh(n)}class fP{handleDrop(t,e,o,r){if(!Fe(e)||!lr(e))return;const i=Kh(e);i.unshift(e);const s=i.reverse();let l=null;return t.doc.beginBatchUpdate(),s.forEach((c,a,h)=>{const f=t.getBlockData(c),g=Vo(t.editorBlocks,t.doc.toJSON(),f),C=t.insertDocAt(o,r,g)[0];a===h.length-1&&(l=C)}),t.doc.endBatchUpdate(),t.doc.beginBatchUpdate(),s.forEach(c=>{t.deleteBlock(c)}),t.doc.endBatchUpdate(),l&&G3(t,l),!0}}const mP=y("heading-collapse");class gP{constructor(t){u(this,"handleLoad",()=>{this.showCollapseButtons()});u(this,"handleHoverBlock",(t,e)=>{e&&(V(e,"hovering-heading"),Fe(e)&&vt(N(e))&&(Jh(e),lr(e)||uP(e))),t&&Fe(t)&&vt(N(t))&&(R(t,"hovering-heading"),X3(t),K3(this.editor,t))});u(this,"handleClick",(t,e)=>{const o=ki(e,"button.heading-collapse-button");if(!o)return;const r=q(o);!r||(d(mP,Fe(r),"not a heading block"),cP(this.editor,r),J3(this.editor,r))});this.editor=t,t.addListener("load",this.handleLoad),t.addListener("click",this.handleClick),_t.get(t).addListener("change",this.handleHoverBlock),this.showCollapseButtons(),setTimeout(()=>{Is.get(t).addHandler(new fP)})}showCollapseButtons(){const t=Mt(this.editor.rootContainer).filter(Fe);t.length!==0&&(t[0]===Kt(this.editor.rootContainer)&&t.splice(0,1),t.forEach(Jh))}destroy(){this.editor.removeListener("load",this.handleLoad),this.editor.removeListener("click",this.handleClick)}}function oa(n){const t=n.selection.range;if(t.isCollapsed()||t.start.blockId===t.end.blockId)return;const e=n.getBlockById(t.start.blockId),o=n.getBlockById(t.end.blockId);lr(e)&&ri(n,e),lr(o)&&ri(n,o)}function pP(n){oa(n);const t=n.getFocusedBlock();!Fe(t)||lr(t)&&ri(n,t)}function CP(n){oa(n);const t=n.getFocusedBlock();if(!Fe(t))return;const e=n.selection.range.focus;!e.isSimple()||e.offset===Z(n,t)&&lr(t)&&ri(n,t)}function bP(n){oa(n);const t=n.getFocusedBlock();if(!Fe(t))return;const e=n.selection.range.focus;!e.isSimple()||e.offset===0&&lr(t)&&ri(n,t)}class vP{handleBeforeKeyDown(t,e){return Ua(e.key)&&oa(t),e.key==="Enter"?(pP(t),!1):e.key==="Delete"?(CP(t),!1):(e.key==="Backspace"&&bP(t),!1)}}class kP{constructor(t){this.editor=t}onInsertBlock(t,e,o,r){this.updateBlockIfNeeded(o.id)}onUpdateBlockData(t,e,o,r){const i=this.editor.doc.getBlockData(t,e);this.updateBlockIfNeeded(i.id,o)}updateBlockIfNeeded(t,e){setTimeout(()=>{const o=this.editor.findBlockById(t);if(!!o){if(!Fe(o)){e&&e.delete.includes("heading")&&Q3(o);return}at(o,"hovering-heading")&&J3(this.editor,o),Q3(o)}},100)}}function yP(n){return!!n.heading}function t9(n){var e;const t=n.heading;return(e=Number.parseInt(`${t}`,10))!=null?e:1}function e9(n,t){var e;return{parentNode:t,children:[],text:Tt((e=n.text)!=null?e:[]),level:t9(n),block:n}}class ra{constructor(){u(this,"nodes",[])}appendBlock(t){const e=this.findParent(t9(t),this.nodes);e?e.children.push(e9(t,e)):this.nodes.push(e9(t,null))}findParent(t,e){const o=e[e.length-1];if(!o||t<=1)return null;if(o.level===t-1)return o;const r=this.findParent(t,o.children);return r||(o.level<t?o:null)}static buildToc(t){const e=new ra,o=t.blocks.root;for(let r=0;r<o.length;r++){const i=o[r];yP(i)&&e.appendBlock(i)}return e}}class ii extends Zt.TypedEmitter{constructor(e){super();u(this,"toc",new ra);u(this,"updateToc",ue.default(()=>{this.updateTocNow()},500));this.editor=e,e.doc.registerCallback(this),this.updateToc()}destroy(){this.editor.doc.unregisterCallback(this)}isHeadingBlock(e){return!!e.heading}onInsertBlock(e,o,r,i){e==="root"&&this.isHeadingBlock(r)&&this.updateToc()}onDeleteBlock(e,o,r){e==="root"&&this.updateToc()}onUpdateBlockText(e,o,r,i){if(e!=="root")return;const s=this.editor.doc.getBlockData(e,o);this.isHeadingBlock(s)&&this.updateToc()}onUpdateBlockData(e,o,r,i){if(e!=="root")return;const s=this.editor.doc.getBlockData(e,o);this.isHeadingBlock(s)&&this.updateToc()}static register(e){return e.addCustom("editor-toc",()=>new ii(e))}static get(e){return e.getCustom("editor-toc")}updateTocNow(){this.toc=ra.buildToc(this.editor.doc.toJSON()),this.emit("change",this.editor,this.toc)}}const yV="";function wP(n){return n.nodes.length===0?!0:n.nodes.length>1?!1:n.nodes[0].children.length===0}function Yh(n,t){t.forEach(e=>{const o=b("div",["toc-node"],n),r=b("div",["toc-title"],o);if(b("span",["toc-text"],r,e.text).setAttribute("data-block-id",e.block.id),e.children.length>0){const s=b("div",["toc-children"],o);Yh(s,e.children)}})}function BP(n,t){const e=ki(t,".toc-text");if(!e)return;const o=e.getAttribute("data-block-id");if(!o)return;const r=n.findBlockById(o);!r||(t.preventDefault(),t.stopPropagation(),n.selection.selectBlock(r,0))}function n9(n,t,e){if(V(t,"loading"),t.innerHTML="",wP(e)){b("div",["toc-empty-message"],t,"No toc");return}e.nodes.length===1?Yh(t,e.nodes[0].children):Yh(t,e.nodes),vd(n,"toc-click-handler",()=>{n.addListener("click",BP)})}class EP{constructor(t){u(this,"handleUpdateToc",(t,e)=>{Array.from(t.rootContainer.querySelectorAll('.embed-block[data-type="editor-block"][data-embed-type="toc"]')).forEach(r=>{const i=r.querySelector(".editor-toc-container");i&&n9(t,i,e)})});this.editor=t,ii.register(t).addListener("change",this.handleUpdateToc)}destroy(){ii.register(this.editor).removeListener("change",this.handleUpdateToc)}get toc(){return ii.register(this.editor).toc}}function xP(n,t){const e=b("div",["editor-toc-container"],t),r=n.addCustom("init-editor-toc",()=>new EP(n)).toc;r.nodes.length===0?R(e,"loading"):n9(n,e,r)}function IP(n,t,e,o){return o==="markdown"?"[toc]":""}function SP(n,t,e){const{data:o}=e;if(!o||o.embedType!=="toc"||!F(n,t))return null;const r={};return{blockData:{id:P(),type:"embed",embedType:"toc",embedData:r}}}const TP={embedType:"toc",createEmbedContent:xP,convertTo:IP,convertFrom:SP};class LP{constructor(t,e){u(this,"suggest");u(this,"onShow",(t,e,o,r)=>{const i=this.editor.getBlockByIndex(e,o);if(!Uo(i)){const s=q(N(i));if(s&&it(s)==="code")return!1}return!0});u(this,"onClickItem",(t,e,o)=>{const r=e.data,i={id:P(),type:"mention",box:!0,created:Date.now(),iconUrl:r.avatarUrl,text:r.displayName,mentionId:r.userId},s=this.editor.selection.range;if(!s.isCollapsed()||!s.isSimple())return;const l=s.focus,c=this.editor.getBlockById(l.blockId);this.editor.insertBoxToBlock(c,l.offset,i)});u(this,"queryItems",async(t,e)=>(await this.options.queryUsers(this.editor,e)).map(i=>({id:i.userId,name:i.displayName,icon:`<img src="${i.avatarUrl}" class="mention-user-avatar">`,element:i.element,data:i})));this.editor=t,this.options=e,this.suggest=new ru(t,{id:"editor-mention",trigger:["@"],autoDeleteTrigger:!0,showLoading:!0,onShow:this.onShow,onClickItem:this.onClickItem,queryItems:this.queryItems})}destroy(){}}y("mathjax-box");function DP(n,t,e,o){const r=o,i=b("a",["mention-container"],e);b("span",["mention-name"],i,`@${r.text}`),i.setAttribute("data-mention-id",r.mentionId)}function RP(n,t,e){}const o9={boxType:"mention",updateBoxContent:DP,handleClickBox:RP};function MP(n){return bn("list-block-mention",S.t("list.mention.tooltip"),U5,[],n.clientId)}class OP{constructor(t){u(this,"mentionButton");u(this,"handleHoveringBlock",t=>{var e;!this.editor.isWritable()||(t&&this.shouldBlockShowMention(t)?Ot(t).appendChild(this.mentionButton):(e=this.mentionButton)==null||e.remove())});u(this,"handleMouseDown",(t,e)=>{e.preventDefault(),e.stopPropagation();const o=q(this.mentionButton);if(!o||!F(t,o))return;const r=t.selection.range.focus;if(!r.isSimple())return;let i;t.selection.focusedBlock!==o?i=Z(t,o):i=r.offset,setTimeout(()=>{const s=t.insertTextToBlock(o,i,"@");i+=1;const l=Tt(Me(s,i).left);this.editor.selection.selectBlock(o,i),this.editor.focus(),t.getCustom("mention").suggest.popup(o,i,l,"@")})});u(this,"destroy",()=>{_t.get(this.editor).removeListener("change",this.handleHoveringBlock)});this.editor=t,this.mentionButton=MP(t),_t.get(this.editor).addListener("change",this.handleHoveringBlock),t.domEvents.addEventListener(this.mentionButton,"mousedown",this.handleMouseDown)}shouldBlockShowMention(t){if(!F(this.editor,t)||!ct(t))return!1;const e=He(t);return!(e==="ordered"||e==="unordered")}}const wV="";class As{constructor(t,e){u(this,"_decrypted",!1);this.editor=t,this.blockData=e}get decrypted(){return this._decrypted||this.blockData.owner===this.editor.doc.getUser().userId}setDecrypted(){this._decrypted=!0}destroy(){}static getState(t,e){return t.addCustom(`encrypted-block-${e.id}`,()=>new As(t,e))}}const BV="",Co=y("encrypted-block");function AP(n,t,e,o,r){const i=r,s=eo(o,"div"),l=As.getState(n,i);if(l.decrypted)n.createChildContainer(t,s,i.children[0]),R(o,"decrypted");else{R(o,"encrypted");const c=Ot(o),a=b("div",["password-container"],c),h=b("input",[],a);h.type="text",h.onkeydown=f=>{if(f.key==="Enter"){const g=h.value;if(i.password===mi.default(`${i.owner}-${g}`)){l.setDecrypted(),n.reloadBlock(o);const C=m1(n,n.getBlockById(i.id));C&&(n.selection.selectBlock(C,0),n.focus())}}}}return s}function _P(n,t,e,o){const r=document.elementsFromPoint(e,o)[0];if(!r||!t.contains(r)||!n.contains(t)||!un(r))return null;const i=r;if(n.getBlockData(t).children[0]!==j(i))return null;const l=pt(t,j(i));return new Ze(n,{anchor:l,focus:l})}function PP(n,t,e,o){if(As.getState(n,n.getBlockData(t)).decrypted)return null;if(o==="ArrowDown"||o==="ArrowRight"){const s=mt(t);return s?H(s,Z(n,s),"end"):H(t,1,"end")}const i=bt(t);return H(i||t,0,"home")}function $P(n,t){return n.getBoundingClientRect()}function HP(n,t,e,o){if(e.isSimple()){d(Co,o.isSimple(),"from is simple position but to is not simple position"),Co.debug("full select table"),R(t,"full-selected");return}d(Co,!o.isSimple(),"from is complex position but end is simple position");const r=e,i=o;d(Co,r.blockId===i.blockId,"only allow update one table selection"),d(Co,r.childContainerId===i.childContainerId,"only one container");const s=n.getBlockData(t),l=n.getContainerById(s.children[0]);R(l,"selected")}function FP(n){n.rootContainer.querySelectorAll('[data-type="editor-block"][data-block-type="encrypted"]').forEach(t=>{V(t,"full-selected"),t.querySelectorAll("selected").forEach(e=>{V(e,"selected")})})}function NP(n,t){const e=n.getBlockData(t);return As.getState(n,e).decrypted?[n.getContainerById(e.children[0])]:[]}function VP(n,t,e,o,r){return null}function jP(n,t,e,o){d(Co,e.blockId===o.blockId,"only allow select in single block"),d(Co,G(t)===e.blockId,"only allow select in single block");const r=n.getBlockData(t);return d(Co,e.childContainerId===r.children[0],"only one container"),[n.getContainerById(r.children[0])]}function UP(n){return{name:"EncryptedBlock",insertBlockCommandItems:[{id:"insert-encrypted-block",name:"Encrypted Block"}],async handleInsertEmptyBlock(t,e){const o=mn(t.doc),r={id:P(),type:"encrypted",children:[o],owner:t.doc.getUser().userId,ownerDisplayName:t.doc.getUser().displayName,password:mi.default(`${t.doc.getUser().userId}-1234`)},i=t.doc.getContainerBlocks(o)[0];return t.insertBlock(e.containerId,e.blockIndex,r,At(t,i.id,0))}}}const qP={blockType:"encrypted",blockKind:"complex",enableKeyboardSelect:!0,createBlockContent:AP,getBlockTextLength:()=>1,getRangeFromPoint:_P,moveCaret:PP,getCaretRect:$P,updateSelection:HP,clearSelection:FP,getChildContainers:NP,getNextContainer:VP,getSelectedContainers:jP,getOptions:UP};function zP(n,t,e){const o=Vi(n,t,{components:{blocks:[gs,bs,qP],decorators:[new ks],embeds:[zc,rh,Bh,Eh,xh,zu,Ih,Wh,zh],boxes:[xc],options:{...e.componentsOptions}}});return o.readonly=!0,o}class WP{constructor(t){this.createOptions=t}createHistoryEditor(t,e){return zP(t,e,this.createOptions)}}y("create-editor");function GP({root:n,localDoc:t,rootEditorCreateOptions:e,shareDBDoc:o}){t.uploadResource=o.uploadResource.bind(o),t.buildResourceUrl=o.buildResourceUrl.bind(o);const r=Vi(n,t,{shortcuts:[Hl],components:{blocks:[gs,bs],decorators:[new ks],embeds:[l4,zc,rh,Bh,Eh,xh,zu,Ih,Wh,zh],boxes:[xc,o9],options:{...e.componentsOptions}}});return r.input.addHandler(new Ac),r.input.addHandler(new Sh(r)),r.input.addHandler(new OA(r)),r}function ZP(n,t){const e=Array.from(n.rootContainer.querySelectorAll(`[comment-${t.toLocaleLowerCase()}="${t}"]`)),o=new Set;e.forEach(r=>{const i=q(r);i&&o.add(i)}),o.forEach(r=>{AA(n,r,t)})}class KP{constructor(t,e){u(this,"listeners",new Set);u(this,"doc");this.editor=t,this.rootEditorCreateOptions=e,this.doc=this.editor.doc.externalDoc,this.doc.registerCallback(this)}getAuth(){return this.doc.client.auth}getComments(){return this.doc.getComments()}getComment(t){return this.doc.getComment(t)}getCommentDoc(t){return this.doc.getCommentDoc(t)}localCreateComment(t,e){this.doc.localCreateComment(t,e)}localDeleteComment(t){const e=this.getComment(t);this.doc.localDeleteComment(t);const o=e.groupId;this.getComments().filter(i=>i.groupId===o).length===0&&ZP(this.editor,o)}localUpdateComment(t,e){this.doc.localUpdateComment(t,e)}onCreateComment(t,e){Array.from(this.listeners.values()).forEach(o=>o.onCreateComment(t,e))}onDeleteComment(t,e){Array.from(this.listeners.values()).forEach(o=>o.onDeleteComment(t,e))}onUpdateComment(t,e){Array.from(this.listeners.values()).forEach(o=>o.onUpdateComment(t,e))}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}createCommentEditor(t,e){return GP({root:t,localDoc:e,rootEditorCreateOptions:this.rootEditorCreateOptions,shareDBDoc:this.doc})}}const r9=y("create-editor"),i9=[zc,rh,Bh,Eh,xh,zu,Ih,Wh,zh,l4,TP,p_];async function JP(n,t){var r,i,s,l,c,a,h;d(r9,n,"app does not exists");const e=await Jl.load({auth:{appId:t.appId,docId:t.docId,userId:t.user.userId,permission:t.permission,token:t.token,displayName:t.user.displayName,avatarUrl:t.user.avatarUrl},serverUrl:t.serverUrl}),o=Vi(n,e,{id:t.id,components:{blocks:[gs,bs,dh,Zp],commandProviders:[new mu],decorators:[new ks,new _d],embeds:[...i9,...((r=t.components)==null?void 0:r.embeds)||[]],boxes:[xc,o9,x3],insertions:[E1],blockHooks:[new Q4],textRenders:[new v3,new Wx],options:{...t.componentsOptions}},shortcuts:[cL,OD,th,Y4,Gx,Zu,Hl]});if(o.editorCommandProviders.registerCommandProvider(new xn(o)),o.input.addHandler(new vP),o.input.addHandler(new Ac),o.input.addHandler(new Cs(o,{headingLevel:1,titlePlaceholder:"Document title",addPlaceholderToAllCurrentEmptyBlock:!0})),o.input.addHandler(new Ic(o,(i=t.componentsOptions)==null?void 0:i.quickMenu)),o.input.addHandler(new Sh(o)),o.input.addHandler(new U4(o)),o.doc.registerCallback(new kP(o)),o.addCustom("remote-cursor",()=>new Wg(o)),o.addCustom("block-menu",f=>new r4(f)),o.addCustom("editor-tooltip",()=>new Gu(o)),o.addCustom("editor-comments",f=>new LA(f,new KP(f,t))),o.addCustom("create-options",()=>new If(o,t)),o.addCustom("drop-target",()=>new Is(o)),o.addCustom("list-to-mindmap",()=>new wc(o)),o.addCustom("list-to-mention",()=>new OP(o)),(s=t.componentsOptions)!=null&&s.mention){const f=t.componentsOptions.mention;o.addCustom("mention",()=>new LP(o,f))}if(o.addCustom("heading-collapse",()=>new gP(o)),Ur.register(o),Is.register(o),ii.register(o),(c=(l=t.componentsOptions)==null?void 0:l.remoteCarets)!=null&&c.onUserChanged){const f=(h=(a=t.componentsOptions)==null?void 0:a.remoteCarets)==null?void 0:h.onUserChanged;o.doc.getRemoteUsers().on("change",g=>{f(o,g)})}return o}async function YP(n,t,e){var i,s;d(r9,n,"app does not exists");const o=new bd(t),r=Vi(n,o,{id:e.id,components:{blocks:[gs,bs,dh,Zp],commandProviders:[new mu],decorators:[new ks,new _d],embeds:[...i9,...((i=e.components)==null?void 0:i.embeds)||[]],boxes:[xc,x3],insertions:[E1],blockHooks:[new Q4],textRenders:[new v3],options:{...e.componentsOptions}},shortcuts:[th,Y4,Zu,Hl]});return r.editorCommandProviders.registerCommandProvider(new xn(r)),r.input.addHandler(new Ac),r.input.addHandler(new Cs(r,{headingLevel:1,titlePlaceholder:"Document title",contentPlaceholder:"Enter some text...",addPlaceholderToAllCurrentEmptyBlock:!0})),r.input.addHandler(new Ic(r,(s=e.componentsOptions)==null?void 0:s.quickMenu)),r.input.addHandler(new Sh(r)),r.input.addHandler(new U4(r)),r.addCustom("block-menu",l=>new r4(l)),r.addCustom("editor-tooltip",()=>new Gu(r)),Ur.register(r),r}function XP(n,t){var l;const e=n.doc;if(!((l=e.getVersionHelper)==null?void 0:l.call(e)))throw new Error("the editor does not support to show versions");const r=n.getCustom("create-options");if(!r)throw new Error("the editor does not support to show versions");const i=r.getData(),s=new WP(i);return rP(n,s,t)}m.AuthError=Zl,m.AuthHeader=Qi,m.AutoScroll=lm,m.AutoSuggestMenu=nu,m.BaseURLHeader=Kl,m.BlockResizer=Oc,m.BrBox=m2,m.CodeBlock=bs,m.CodeLineBlock=dh,m.CodeTextDecorator=ks,m.DefaultShortcuts=Hl,m.DocIdError=Zy,m.DragDrop=Nf,m.DrawioEmbed=zc,m.EditorBlocks=Wm,m.EditorBoxes=p2,m.EditorCommandProviders=sg,m.EditorComplexBlockPosition=Ge,m.EditorComplexSelectionRange=Ze,m.EditorDecorators=k2,m.EditorEmbeds=Zm,m.EditorInsertions=v2,m.EditorSimpleBlockPosition=jt,m.EditorSimpleSelectionRange=ie,m.EmbedBlock=Jm,m.EnforceWithDocumentTitleHandler=Cs,m.EventCallbacks=Ci,m.FILL_CHAR=bb,m.FileExtError=Ky,m.InputtingInsertion=C2,m.LocalDoc=bd,m.Logger=pi,m.MIN_DISTANCE_THRESHOLD=Hf,m.MarkdownInputHandler=Ac,m.MaxUserError=Dd,m.OnesEditorCustomDataWrapper=If,m.OnesEditorHoveringBlock=_t,m.OnesEditorQuickMenu=Ic,m.OnesEditorToolbar=Ur,m.OnesEditorTooltip=Gu,m.PermissionError=Gy,m.RemoteCarets=Wg,m.RemoteCaretsDecorator=_d,m.RemoteCaretsInsertion=E1,m.RemoteUsers=Nl,m.RequestReloadError=Xi,m.RichText=ne,m.ShareDBDoc=Jl,m.SimpleCache=Tf,m.TEXT_STYLE_BACKGROUND_COLOR_PREFIX=D1,m.TEXT_STYLE_COLOR_PREFIX=L1,m.TableBlock=gs,m.TableBlockCommandProvider=mu,m.TableShortcuts=th,m.TextBlock=Mi,m.TextBox=f2,m.TextStyleShortcuts=Zu,m.ZERO_WIDTH_SPACE_CHAR=bi,m.addAttribute=pl,m.addClass=R,m.addDays=$8,m.addMonths=P8,m.animateScrollTo=yi,m.applyPlaceholderToBlock=_c,m.assert=d,m.blockToDoc=K1,m.blockToHtml=A1,m.blockToMarkdown=U2,m.blockToText=El,m.blocksToDoc=$b,m.clearAllSelection=_m,m.clientType=Et,m.cloneBlock=Vo,m.cloneChildContainer=q1,m.cloneDoc=z1,m.cloneText=_2,m.compareElement=Js,m.comparePosition=h1,m.complexBlockAdjustSelectionPos=al,m.complexBlockFindNearestChildBlock=t2,m.complexBlockGeFirstSimpleChild=m1,m.complexBlockGetAllChildContainers=Le,m.complexBlockGetBottomChildContainers=Qm,m.complexBlockGetLastSimpleChild=yr,m.complexBlockGetSelectedContainers=kr,m.complexBlockGetTopChildContainers=Xm,m.containerToDoc=J1,m.continuousScroll=sm,m.convertBlockFrom=ll,m.createBlockAnchor=Ao,m.createBlockContentElement=eo,m.createBlockElement=pm,m.createBlockSimpleDocRange=Bl,m.createBlockSimpleRange=At,m.createBoxContentElement=vm,m.createBoxElement=Cm,m.createBoxOp=I2,m.createChildContainer=Mm,m.createComplexBlockPosition=pt,m.createComplexDocPos=j2,m.createComplexDocRange=kb,m.createContainer=H2,m.createContainerElement=o1,m.createDeleteOps=w2,m.createEditor=Vi,m.createEditorSelectionRange=Ut,m.createElement=b,m.createEmptyContainer=mn,m.createEmptyDoc=Fo,m.createEmptyTextBlockData=kl,m.createExpandedRange=Zs,m.createIconButton=ur,m.createImage=Lf,m.createInsertOps=gl,m.createInsertionContentElement=wm,m.createInsertionElement=km,m.createLocalEditor=YP,m.createOnesEditor=JP,m.createRange=Df,m.createRichText=Oi,m.createRootContainer=Rm,m.createSimpleBlockPosition=H,m.createSimpleDocPos=V2,m.createTextBlockData=Fn,m.createTextButton=zn,m.createTextOp=Ae,m.createTextWithReplaceSoftReturn=x1,m.daysAfter=Za,m.deleteText=S1,m.diffDays=H8,m.disablePageScroll=Qf,m.docToHtml=Bb,m.docToHtmlFragment=q2,m.docToMarkdown=Eb,m.docToText=z2,m.downloadObjectToFile=bh,m.downloadSvgToString=a4,m.editLink=mc,m.editorAddTextAttribute=d0,m.editorAutoInsertBlock=X2,m.editorBreakTextBlock=_i,m.editorClearCompositionText=Y2,m.editorClearSelectedContents=j1,m.editorCopyBlock=ed,m.editorDeleteBlock=N1,m.editorDeleteBlockText=$1,m.editorDeleteBlockWithoutChildren=F1,m.editorDeleteChildContainer=Mb,m.editorDeleteChildContainers=e0,m.editorFocusToBlock=U1,m.editorFocusToEnd=m0,m.editorGetBlockData=oo,m.editorGetBlockText=ke,m.editorGetBlockTextEx=Il,m.editorGetBoxData=W2,m.editorHandleKeyboardEvent=V0,m.editorInsertBlock=Tr,m.editorInsertBoxToBlock=K2,m.editorInsertDoc=c0,m.editorInsertDocAt=W1,m.editorInsertText=P1,m.editorInsertTextToBlock=Z2,m.editorInsertTextToBlockEx=_1,m.editorMergeTextBlock=n0,m.editorRangeClearColor=h0,m.editorRangeGetColor=G1,m.editorRangeSetColor=u0,m.editorRemoveTextAttribute=_b,m.editorReplaceBlockText=Rl,m.editorReplaceContainer=a0,m.editorRunOnce=vd,m.editorSelectEnd=f0,m.editorSetTextColor=Lr,m.editorUpdateBlockData=Ml,m.editorUpdateCompositionText=J2,m.editorUpdateEmbedData=s0,m.enablePageScroll=tm,m.escapeHtmlText=_f,m.escapeRegExp=Ya,m.escapeSpace=v8,m.executeBlockCommand=zm,m.executeEmbedBlockCommand=qm,m.executeRangeCommand=ig,m.fileToDataUrl=Qs,m.findAllText=O1,m.findInsertionById=ym,m.findPrevSimpleBlockBeforeChildContainer=Ym,m.findTarget=ki,m.format=Ga,m.formatBytes=cm,m.formatDate=um,m.fragmentToHtml=em,m.fromBase64=Xs,m.fromBase64ToBlob=Yf,m.fromBase64ToUint8Array=R8,m.fromDocRange=no,m.fromNowString=Ja,m.genId=P,m.getAllChildBlocks=p1,m.getAllQuickMenuItems=Wu,m.getAllSelectedBlocks=_n,m.getAttributesAt=bl,m.getBlockBackground=gm,m.getBlockByIndex=fr,m.getBlockCaretRect=We,m.getBlockClass=kt,m.getBlockClassByType=br,m.getBlockClientRects=Mo,m.getBlockCommandsWithHook=a1,m.getBlockContent=rt,m.getBlockId=G,m.getBlockIndex=Y,m.getBlockKind=ze,m.getBlockMinWidth=$m,m.getBlockOptions=Z8,m.getBlockPath=Cr,m.getBlockProperties=Nm,m.getBlockStyles=W8,m.getBlockTextLength=Z,m.getBlockTools=Ot,m.getBlockType=it,m.getBoxContent=t1,m.getBoxId=bm,m.getBoxTypeFromElement=Ei,m.getChildBlockCount=je,m.getChildBlocks=Mt,m.getChildOffset=Br,m.getColorFromAttributes=M1,m.getComplexBlockClass=ve,m.getContainerBlockPath=Tm,m.getContainerBlocks=Im,m.getContainerBlocksElement=sl,m.getContainerById=Ii,m.getContainerId=j,m.getContainerMinWidth=l1,m.getContainerToolsElement=V8,m.getContainerWidth=Fm,m.getDistanceSquare=dn,m.getElementOffset=vi,m.getEmbedType=Te,m.getExistsBlockTools=il,m.getExistsContainerById=Em,m.getFileExt=om,m.getFirstChildBlock=Kt,m.getFirstClientRect=Ks,m.getHeadingMenuOptions=Ec,m.getHorizontalPadding=Pa,m.getInsertionContent=e1,m.getLastChildBlock=Jt,m.getLastClientRect=xo,m.getLogger=y,m.getNextBlock=mt,m.getNextValidOffset=Er,m.getNextVisibleBlock=pr,m.getOpAt=T2,m.getOpLength=T1,m.getParentBlock=q,m.getParentBox=Qa,m.getParentContainer=N,m.getPrevBlock=bt,m.getPrevValidOffset=Po,m.getPrevVisibleBlock=gr,m.getRangeCommands=og,m.getRootBlock=s1,m.getScrollContainer=Do,m.getSpecialBlockCommands=Vm,m.getTextBlockChild=dl,m.getTextBlockClass=Am,m.getTextBlockContentChildTextLength=Re,m.getTextBlockContentChildType=e2,m.getTextBlockContentChildren=Hn,m.getTextLength=le,m.getTextOpLength=b1,m.getTextWidth=el,m.getToolbar=fc,m.handleBlockElementUpdated=Hm,m.hasAltOnly=x8,m.hasClass=at,m.hasCtrlOrCmd=Gf,m.hasCtrlOrCmdOnly=E8,m.hideBlock=fm,m.htmlToFragment=tl,m.i18n=S,m.injectStyle=$f,m.insertEmptyBlock=J8,m.insertEmptyEmbedBlock=Um,m.insertText=xr,m.intersectionCommands=jk,m.isBackspace=Kf,m.isBlock=mr,m.isBox=Xa,m.isCJK=qf,m.isChildContainer=qe,m.isChildNode=Ct,m.isCollapsedRange=N2,m.isComplexBlockPosition=u1,m.isComplexKindBlock=lt,m.isContainer=un,m.isControlEvent=To,m.isDelete=S8,m.isEmbedBlock=Se,m.isEmptyContainer=c1,m.isEmptyDoc=yl,m.isEmptyTextBlock=It,m.isEmptyTextBlockWithoutCompositionText=ps,m.isEnterOnly=Zf,m.isEscape=qa,m.isFirefox=ja,m.isFirstChildBlockInComplexBlock=BC,m.isHighSurrogate=f8,m.isInBlock=n1,m.isInBlockTools=xi,m.isLetter=Uf,m.isLowSurrogate=_a,m.isMatchShortcut=An,m.isMoveForward=w8,m.isNavigationEvent=y8,m.isNavigationKey=Wf,m.isNodeRemoved=Mf,m.isNumber=jf,m.isPrintableKey=Ua,m.isRootBlock=Uo,m.isRootContainer=vt,m.isSafari=zf,m.isSameDay=Ka,m.isShiftEnter=I8,m.isShiftTab=L8,m.isShortcutEvent=B8,m.isSimpleBlock=G8,m.isSimpleBlockPosition=vr,m.isSimplePos=F2,m.isSimpleRange=wl,m.isSpace=Ys,m.isTab=T8,m.isTextBlockContentBoxChild=De,m.isTextBlockContentChild=Ti,m.isTextBlockContentInsertionChild=$n,m.isTextBlockContentTextChild=Li,m.isTextKindBlock=F,m.isTextKindBlockType=Si,m.isToday=am,m.isValidOffset=he,m.isVisibleBlock=rl,m.isYesterday=dm,m.loadJs=Of,m.loadJsPromise=Io,m.lockers=Rn,m.mergeDocs=No,m.mergeOps=I1,m.mergeText=mb,m.multiSplitText=r2,m.parseShortcut=Jf,m.patchNode=Bi,m.pointInRect=So,m.rangeAddAttribute=Cl,m.rangeGetTextColor=A2,m.rangeRemoveAttribute=Ir,m.rangeSetTextColor=R2,m.rangeTransformText=L2,m.registerDragDrop=Na,m.removeAttribute=R1,m.removeClass=V,m.removeLastBr=db,m.removePlaceholderFromBlock=R6,m.removeStyle=Pf,m.replaceAll=F8,m.replaceAllCaseInsensitive=N8,m.replaceAllText=$2,m.replaceText=vl,m.requestDownload=ol,m.scrollable=im,m.selectFile=hr,m.selectedBlockToDoc=Al,m.selectionToDoc=_l,m.setAttributes=Ha,m.setClipboardData=nl,m.setClipboardDataByEvent=_8,m.setColorToAttributes=M2,m.setDataset=$a,m.setDefaultCursor=wi,m.setStyles=Fa,m.shortcutToDisplayText=D8,m.showBlock=mm,m.showDocVersions=XP,m.splitText=Me,m.splitToThree=ee,m.stringToDataUrl=Xf,m.stringToObjectUrl=Wa,m.subText=i2,m.textNodeOffsetFromPoint=Rf,m.toBase64URL=Lo,m.toPlainText=Tt,m.trimChar=Va,m.unicodeLength=m8,m.unicodeSubstr=g8,m.updateBlockSelection=Pm,m.updateOpAttributes=P2,m.updateTextBlockContent=nb,m.updateUrl=za,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
package/dist/types.d.ts
CHANGED