PageSourceSearch

https://dsm7-build-model.netlify.app/stage/build/export/protyle-method.js?v=3.1.29

js dsm7-build-model.netlify.app collected 2026-10-03 10:40:22 UTC 1,272,248 bytes, 2,733 lines download raw bytes

vendor: 4,855 bytes, line 1
1(()=>{var ar=(Zt,ze)=>()=>(ze||Zt((ze={exports:{}}).exports,ze),ze.exports);var sr=ar((Tn,xa)=>{(function(ze,$e){typeof Tn=="object"&&typeof xa=="object"?xa.exports=$e():typeof define=="function"&&define.amd?define([],$e):typeof Tn=="object"?Tn.Protyle=$e():ze.Protyle=$e()})(self,()=>(()=>{var Zt={101:Ie=>{"use strict";function me(le){if(typeof le!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(le))}function oe(le,P){for(var N="",G=0,Z=-1,Q=0,j,ee=0;ee<=le.length;++ee){if(ee<le.length)j=le.charCodeAt(ee);else{if(j===47)break;j=47}if(j===47){if(!(Z===ee-1||Q===1))if(Z!==ee-1&&Q===2){if(N.length<2||G!==2||N.charCodeAt(N.length-1)!==46||N.charCodeAt(N.length-2)!==46){if(N.length>2){var ae=N.lastIndexOf("/");if(ae!==N.length-1){ae===-1?(N="",G=0):(N=N.slice(0,ae),G=N.length-1-N.lastIndexOf("/")),Z=ee,Q=0;continue}}else if(N.length===2||N.length===1){N="",G=0,Z=ee,Q=0;continue}}P&&(N.length>0?N+="/..":N="..",G=2)}else N.length>0?N+="/"+le.slice(Z+1,ee):N=le.slice(Z+1,ee),G=ee-Z-1;Z=ee,Q=0}else j===46&&Q!==-1?++Q:Q=-1}return N}function kt(le,P){var N=P.dir||P.root,G=P.base||(P.name||"")+(P.ext||"");return N?N===P.root?N+G:N+le+G:G}var Pe={resolve:function(){for(var P="",N=!1,G,Z=arguments.length-1;Z>=-1&&!N;Z--){var Q;Z>=0?Q=arguments[Z]:(G===void 0&&(G=process.cwd()),Q=G),me(Q),Q.length!==0&&(P=Q+"/"+P,N=Q.charCodeAt(0)===47)}return P=oe(P,!N),N?P.length>0?"/"+P:"/":P.length>0?P:"."},normalize:function(P){if(me(P),P.length===0)return".";var N=P.charCodeAt(0)===47,G=P.charCodeAt(P.length-1)===47;return P=oe(P,!N),P.length===0&&!N&&(P="."),P.length>0&&G&&(P+="/"),N?"/"+P:P},isAbsolute:function(P){return me(P),P.length>0&&P.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var P,N=0;N<arguments.length;++N){var G=arguments[N];me(G),G.length>0&&(P===void 0?P=G:P+="/"+G)}return P===void 0?".":Pe.normalize(P)},relative:function(P,N){if(me(P),me(N),P===N||(P=Pe.resolve(P),N=Pe.resolve(N),P===N))return"";for(var G=1;G<P.length&&P.charCodeAt(G)===47;++G);for(var Z=P.length,Q=Z-G,j=1;j<N.length&&N.charCodeAt(j)===47;++j);for(var ee=N.length,ae=ee-j,Me=Q<ae?Q:ae,Ae=-1,de=0;de<=Me;++de){if(de===Me){if(ae>Me){if(N.charCodeAt(j+de)===47)return N.slice(j+de+1);if(de===0)return N.slice(j+de)}else Q>Me&&(P.charCodeAt(G+de)===47?Ae=de:de===0&&(Ae=0));break}var Nt=P.charCodeAt(G+de),Ct=N.charCodeAt(j+de);if(Nt!==Ct)break;Nt===47&&(Ae=de)}var Oe="";for(de=G+Ae+1;de<=Z;++de)(de===Z||P.charCodeAt(de)===47)&&(Oe.length===0?Oe+="..":Oe+="/..");return Oe.length>0?Oe+N.slice(j+Ae):(j+=Ae,N.charCodeAt(j)===47&&++j,N.slice(j))},_makeLong:function(P){return P},dirname:function(P){if(me(P),P.length===0)return".";for(var N=P.charCodeAt(0),G=N===47,Z=-1,Q=!0,j=P.length-1;j>=1;--j)if(N=P.charCodeAt(j),N===47){if(!Q){Z=j;break}}else Q=!1;return Z===-1?G?"/":".":G&&Z===1?"//":P.slice(0,Z)},basename:function(P,N){if(N!==void 0&&typeof N!="string")throw new TypeError('"ext" argument must be a string');me(P);var G=0,Z=-1,Q=!0,j;if(N!==void 0&&N.length>0&&N.length<=P.length){if(N.length===P.length&&N===P)return"";var ee=N.length-1,ae=-1;for(j=P.length-1;j>=0;--j){var Me=P.charCodeAt(j);if(Me===47){if(!Q){G=j+1;break}}else ae===-1&&(Q=!1,ae=j+1),ee>=0&&(Me===N.charCodeAt(ee)?--ee===-1&&(Z=j):(ee=-1,Z=ae))}return G===Z?Z=ae:Z===-1&&(Z=P.length),P.slice(G,Z)}else{for(j=P.length-1;j>=0;--j)if(P.charCodeAt(j)===47){if(!Q){G=j+1;break}}else Z===-1&&(Q=!1,Z=j+1);return Z===-1?"":P.slice(G,Z)}},extname:function(P){me(P);for(var N=-1,G=0,Z=-1,Q=!0,j=0,ee=P.length-1;ee>=0;--ee){var ae=P.charCodeAt(ee);if(ae===47){if(!Q){G=ee+1;break}continue}Z===-1&&(Q=!1,Z=ee+1),ae===46?N===-1?N=ee:j!==1&&(j=1):N!==-1&&(j=-1)}return N===-1||Z===-1||j===0||j===1&&N===Z-1&&N===G+1?"":P.slice(N,Z)},format:function(P){if(P===null||typeof P!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof P);return kt("/",P)},parse:function(P){me(P);var N={root:"",dir:"",base:"",ext:"",name:""};if(P.length===0)return N;var G=P.charCodeAt(0),Z=G===47,Q;Z?(N.root="/",Q=1):Q=0;for(var j=-1,ee=0,ae=-1,Me=!0,Ae=P.length-1,de=0;Ae>=Q;--Ae){if(G=P.charCodeAt(Ae),G===47){if(!Me){ee=Ae+1;break}continue}ae===-1&&(Me=!1,ae=Ae+1),G===46?j===-1?j=Ae:de!==1&&(de=1):j!==-1&&(de=-1)}return j===-1||ae===-1||de===0||de===1&&j===ae-1&&j===ee+1?ae!==-1&&(ee===0&&Z?N.base=N.name=P.slice(1,ae):N.base=N.name=P.slice(ee,ae)):(ee===0&&Z?(N.name=P.slice(1,j),N.base=P.slice(1,ae)):(N.name=P.slice(ee,j),N.base=P.slice(ee,ae)),N.ext=P.slice(j,ae)),ee>0?N.dir=P.slice(0,ee-1):Z&&(N.dir="/"),N},sep:"/",delimiter:":",win32:null,posix:null};Pe.posix=Pe,Ie.exports=Pe},287:function(Ie){(function(me,oe){Ie.exports=oe()})(this,function(){"use strict";var me=1e3,oe=6e4,kt=36e5,Pe="millisecond",le="second",P="minute",N="hour",G="day",Z="week",Q="month",j="quarter",ee="year",ae="date",Me
vendor: 4,866 bytes, line 1
1="Invalid Date",Ae=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,de=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Nt={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(te){var F=["th","st","nd","rd"],R=te%100;return"["+te+(F[(R-20)%10]||F[R]||F[0])+"]"}},Ct=function(te,F,R){var W=String(te);return!W||W.length>=F?te:""+Array(F+1-W.length).join(R)+te},Oe={s:Ct,z:function(te){var F=-te.utcOffset(),R=Math.abs(F),W=Math.floor(R/60),O=R%60;return(F<=0?"+":"-")+Ct(W,2,"0")+":"+Ct(O,2,"0")},m:function te(F,R){if(F.date()<R.date())return-te(R,F);var W=12*(R.year()-F.year())+(R.month()-F.month()),O=F.clone().add(W,Q),K=R-O<0,z=F.clone().add(W+(K?-1:1),Q);return+(-(W+(R-O)/(K?O-z:z-O))||0)},a:function(te){return te<0?Math.ceil(te)||0:Math.floor(te)},p:function(te){return{M:Q,y:ee,w:Z,d:G,D:ae,h:N,m:P,s:le,ms:Pe,Q:j}[te]||String(te||"").toLowerCase().replace(/s$/,"")},u:function(te){return te===void 0}},ct="en",at={};at[ct]=Nt;var Jt="$isDayjsObject",Bt=function(te){return te instanceof $||!(!te||!te[Jt])},pe=function te(F,R,W){var O;if(!F)return ct;if(typeof F=="string"){var K=F.toLowerCase();at[K]&&(O=K),R&&(at[K]=R,O=K);var z=F.split("-");if(!O&&z.length>1)return te(z[0])}else{var se=F.name;at[se]=F,O=se}return!W&&O&&(ct=O),O||!W&&ct},we=function(te,F){if(Bt(te))return te.clone();var R=typeof F=="object"?F:{};return R.date=te,R.args=arguments,new $(R)},T=Oe;T.l=pe,T.i=Bt,T.w=function(te,F){return we(te,{locale:F.$L,utc:F.$u,x:F.$x,$offset:F.$offset})};var $=function(){function te(R){this.$L=pe(R.locale,null,!0),this.parse(R),this.$x=this.$x||R.x||{},this[Jt]=!0}var F=te.prototype;return F.parse=function(R){this.$d=function(W){var O=W.date,K=W.utc;if(O===null)return new Date(NaN);if(T.u(O))return new Date;if(O instanceof Date)return new Date(O);if(typeof O=="string"&&!/Z$/i.test(O)){var z=O.match(Ae);if(z){var se=z[2]-1||0,ue=(z[7]||"0").substring(0,3);return K?new Date(Date.UTC(z[1],se,z[3]||1,z[4]||0,z[5]||0,z[6]||0,ue)):new Date(z[1],se,z[3]||1,z[4]||0,z[5]||0,z[6]||0,ue)}}return new Date(O)}(R),this.init()},F.init=function(){var R=this.$d;this.$y=R.getFullYear(),this.$M=R.getMonth(),this.$D=R.getDate(),this.$W=R.getDay(),this.$H=R.getHours(),this.$m=R.getMinutes(),this.$s=R.getSeconds(),this.$ms=R.getMilliseconds()},F.$utils=function(){return T},F.isValid=function(){return this.$d.toString()!==Me},F.isSame=function(R,W){var O=we(R);return this.startOf(W)<=O&&O<=this.endOf(W)},F.isAfter=function(R,W){return we(R)<this.startOf(W)},F.isBefore=function(R,W){return this.endOf(W)<we(R)},F.$g=function(R,W,O){return T.u(R)?this[W]:this.set(O,R)},F.unix=function(){return Math.floor(this.valueOf()/1e3)},F.valueOf=function(){return this.$d.getTime()},F.startOf=function(R,W){var O=this,K=!!T.u(W)||W,z=T.p(R),se=function(st,he){var We=T.w(O.$u?Date.UTC(O.$y,he,st):new Date(O.$y,he,st),O);return K?We:We.endOf(G)},ue=function(st,he){return T.w(O.toDate()[st].apply(O.toDate("s"),(K?[0,0,0,0]:[23,59,59,999]).slice(he)),O)},be=this.$W,_e=this.$M,De=this.$D,dt="set"+(this.$u?"UTC":"");switch(z){case ee:return K?se(1,0):se(31,11);case Q:return K?se(1,_e):se(0,_e+1);case Z:var Ye=this.$locale().weekStart||0,ut=(be<Ye?be+7:be)-Ye;return se(K?De-ut:De+(6-ut),_e);case G:case ae:return ue(dt+"Hours",0);case N:return ue(dt+"Minutes",1);case P:return ue(dt+"Seconds",2);case le:return ue(dt+"Milliseconds",3);default:return this.clone()}},F.endOf=function(R){return this.startOf(R,!1)},F.$set=function(R,W){var O,K=T.p(R),z="set"+(this.$u?"UTC":""),se=(O={},O[G]=z+"Date",O[ae]=z+"Date",O[Q]=z+"Month",O[ee]=z+"FullYear",O[N]=z+"Hours",O[P]=z+"Minutes",O[le]=z+"Seconds",O[Pe]=z+"Milliseconds",O)[K],ue=K===G?this.$D+(W-this.$W):W;if(K===Q||K===ee){var be=this.clone().set(ae,1);be.$d[se](ue),be.init(),this.$d=be.set(ae,Math.min(this.$D,be.daysInMonth())).$d}else se&&this.$d[se](ue);return this.init(),this},F.set=function(R,W){return this.clone().$set(R,W)},F.get=function(R){return this[T.p(R)]()},F.add=function(R,W){var O,K=this;R=Number(R);var z=T.p(W),se=function(_e){var De=we(K);return T.w(De.date(De.date()+Math.round(_e*R)),K)};if(z===Q)return this.set(Q,this.$M+R);if(z===ee)return this.set(ee,this.$y+R);if(z===G)return se(1);if(z===Z)return se(7);var ue=(O={},O[P]=oe,O[N]=kt,O[le]=me,O)[z]||1,be=this.$d.getTime()+R*ue;return T.w(be,this)},F.subtract=function(R,W){return this.add(-1*R,W)},F.format=function(R){var W=this,O=this.$locale();if(!this.isValid())return O.invalidDate||Me;var K=R||"YYYY-MM-DDTHH:mm:ssZ",z=T.z(this),se=this.$H,ue=this.$m,be=this.$M,_e=O.weekdays,De=O.months,dt=O.meridiem,Ye=function(he,We,At,je){return he&&(he[We]||he(W,K))||At[We].slice(0,je)}
1,ut=function(he){return T.s(se%12||12,he,"0")},st=dt||function(he,We,At){var je=he<12?"AM":"PM";return At?je.toLowerCase():je};return K.replace(de,function(he,We){return We||function(At){switch(At){case"YY":return String(W.$y).slice(-2);case"YYYY":return T.s(W.$y,4,"0");case"M":return be+1;case"MM":return T.s(be+1,2,"0");case"MMM":return Ye(O.monthsShort,be,De,3);case"MMMM":return Ye(De,be);case"D":return W.$D;case"DD":return T.s(W.$D,2,"0");case"d":return String(W.$W);case"dd":return Ye(O.weekdaysMin,W.$W,_e,2);case"ddd":return Ye(O.weekdaysShort,W.$W,_e,3);case"dddd":return _e[W.$W];case"H":return String(se);case"HH":return T.s(se,2,"0");case"h":return ut(1);case"hh":return ut(2);case"a":return st(se,ue,!0);case"A":return st(se,ue,!1);case"m":return String(ue);case"mm":return T.s(ue,2,"0");case"s":return String(W.$s);case"ss":return T.s(W.$s,2,"0");case"SSS":return T.s(W.$ms,3,"0");case"Z":return z}return null}(he)||z.replace(":","")})},F.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},F.diff=function(R,W,O){var K,z=this,se=T.p(W),ue=we(R),be=(ue.utcOffset()-this.utcOffset())*oe,_e=this-ue,De=function(){return T.m(z,ue)};switch(se){case ee:K=De()/12;break;case Q:K=De();break;case j:K=De()/3;break;case Z:K=(_e-be)/6048e5;break;case G:K=(_e-be)/864e5;break;case N:K=_e/kt;break;case P:K=_e/oe;break;case le:K=_e/me;break;default:K=_e}return O?K:T.a(K)},F.daysInMonth=function(){return this.endOf(Q).$D},F.$locale=function(){return at[this.$L]},F.locale=function(R,W){if(!R)return this.$L;var O=this.clone(),K=pe(R,W,!0);return K&&(O.$L=K),O},F.clone=function(){return T.w(this.$d,this)},F.toDate=function(){return new Date(this.valueOf())},F.toJSON=function(){return this.isValid()?this.toISOString():null},F.toISOString=function(){return this.$d.toISOString()},F.toString=function(){return this.$d.toUTCString()},te}(),Pt=$.prototype;return we.prototype=Pt,[["$ms",Pe],["$s",le],["$m",P],["$H",N],["$W",G],["$M",Q],["$y",ee],["$D",ae]].forEach(function(te){Pt[te[1]]=function(F){return this.$g(F,te[0],te[1])}}),we.extend=function(te,F){return te.$i||(te(F,$,we),te.$i=!0),we},we.locale=pe,we.isDayjs=Bt,we.unix=function(te){return we(1e3*te)},we.en=at[ct],we.Ls=at,we.p={},we})}},ze={};function $e(Ie){var me=ze[Ie];if(me!==void 0)return me.exports;var oe=ze[Ie]={exports:{}};return Zt[Ie].call(oe.exports,oe,oe.exports,$e),oe.exports}$e.d=(Ie,me)=>{for(var oe in me)$e.o(me,oe)&&!$e.o(Ie,oe)&&Object.defineProperty(Ie,oe,{enumerable:!0,get:me[oe]})},$e.o=(Ie,me)=>Object.prototype.hasOwnProperty.call(Ie,me);var Xt={};return(()=>{"use strict";$e.d(Xt,{default:()=>nr});var Ie=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const me=(e,t)=>Ie(void 0,null,function*(){if(document.getElementById(t))return!1;const n=new XMLHttpRequest;n.open("GET",e,!1),n.setRequestHeader("Accept","text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"),n.send("");const a=document.createElement("script");a.type="text/javascript",a.text=n.responseText,a.id=t,document.head.appendChild(a),typeof Lute=="undefined"&&window.location.reload()}),oe=(e,t)=>new Promise(n=>{if(document.getElementById(t))return n(!1),!1;const a=document.createElement("script");a.src=e,a.async=!0,document.head.appendChild(a),a.onload=()=>{if(document.getElementById(t))return a.remove(),n(!1),!1;a.id=t,n(!0)}}),kt=new Set(["docker","ios","android","harmony"]),Pe=new Set(["ios","android","harmony"]),le=()=>kt.has(window.siyuan.config.system.container),P=()=>Pe.has(window.siyuan.config.system.container),N=()=>!!document.getElementById("sidebar"),G=()=>le()?window.siyuan.config.system.container:window.siyuan.config.system.os,Z=()=>
1window.navigator.userAgent.startsWith("SiYuan/")?"mobile":"browser-mobile",Q=()=>!document.getElementById("toolbar"),j=()=>"ontouchstart"in window&&navigator.maxTouchPoints>1,ee=(e,t)=>e.length===t.length&&e.every(n=>t.includes(n)),ae=(e,t)=>Math.floor(Math.random()*(t-e+1))+e,Me=(e,t=window.location.search)=>{const n=t.substring(t.indexOf("?")),a=n.indexOf("#");return new URLSearchParams(n.substring(0,a>=0?a:void 0)).get(e)},Ae=()=>!0,de=e=>/^\(\(\d{14}-\w{7} '.*'\)\)$/.test(e),Nt=e=>/^<<assets\/.+\/\d{14}-\w{7} ".+">>$/.test(e),Ct=e=>/^[_a-zA-Z][_.\-0-9a-zA-Z]*$/.test(e),Oe=e=>Function(`"use strict";return (${e})`)(),ct=(e,t)=>{if(e===t||typeof e=="number"&&isNaN(e)&&typeof t=="number"&&isNaN(t))return!0;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(!e||!t||typeof e!="object"&&typeof t!="object")return e===t;if(e.prototype!==t.prototype)return!1;const n=Object.keys(e);return n.length!==Object.keys(t).length?!1:n.every(a=>ct(e[a],t[a]))},at=e=>{const t=e.match(/^(.*) \((\d+)\)$/);return t?e=`${t[1]} (${parseInt(t[2])+1})`:e=`${e} (1)`,e},Jt="3.1.29",Bt="production",pe=navigator.platform.toUpperCase().indexOf("MAC")>-1?"\u2303":"\u2325",we=()=>{const e={};for(let t=1;t<=32;t++)e[t+111]="F"+t;return e},T=class{};T.SIYUAN_VERSION=Jt,T.NODE_ENV=Bt,T.SIYUAN_APPID=Math.random().toString(36).substring(8),T.ASSETS_ADDRESS="https://assets.b3logfile.com/siyuan/",T.PROTYLE_CDN="/stage/protyle",T.UPLOAD_ADDRESS="/upload",T.SERVICE_WORKER_PATH="/service-worker.js",T.SIYUAN_DROP_FILE="application/siyuan-file",T.SIYUAN_DROP_GUTTER="application/siyuan-gutter",T.SIYUAN_DROP_TAB="application/siyuan-tab",T.SIYUAN_DROP_EDITOR="application/siyuan-editor",T.SIYUAN_CMD="siyuan-cmd",T.SIYUAN_GET="siyuan-get",T.SIYUAN_EVENT="siyuan-event",T.SIYUAN_CONFIG_TRAY="siyuan-config-tray",T.SIYUAN_QUIT="siyuan-quit",T.SIYUAN_HOTKEY="siyuan-hotkey",T.SIYUAN_INIT="siyuan-init",T.SIYUAN_SEND_WINDOWS="siyuan-send-windows",T.SIYUAN_SAVE_CLOSE="siyuan-save-close",T.SIYUAN_AUTO_LAUNCH="siyuan-auto-launch",T.SIYUAN_OPEN_WORKSPACE="siyuan-open-workspace",T.SIYUAN_OPEN_URL="siyuan-open-url",T.SIYUAN_OPEN_WINDOW="siyuan-open-window",T.SIYUAN_OPEN_FOLDER="siyuan-open-folder",T.SIYUAN_OPEN_FILE="siyuan-open-file",T.SIYUAN_EXPORT_PDF="siyuan-export-pdf",T.SIYUAN_EXPORT_NEWWINDOW="siyuan-export-newwindow",T.SIYUAN_CONTEXT_MENU="siyuan-context-menu",T.SIYUAN_SHOW_WINDOW="siyuan-show-window",T.CUSTOM_SY_READONLY="custom-sy-readonly",T.CUSTOM_SY_FULLWIDTH="custom-sy-fullwidth",T.CUSTOM_SY_AV_VIEW="custom-sy-av-view",T.CUSTOM_REMINDER_WECHAT="custom-reminder-wechat",T.CUSTOM_RIFF_DECKS="custom-riff-decks",T.SIZE_DATABASE_MAZ_SIZE=102400,T.SIZE_SCROLL_TB=24,T.SIZE_SCROLL_STEP=256,T.SIZE_LINK_TEXT_MAX=64,T.SIZE_TOOLBAR_HEIGHT=N()?0:32,T.SIZE_GET_MAX=102400,T.SIZE_UNDO=64,T.SIZE_TITLE=512,T.SIZE_EDITOR_WIDTH=760,T.SIZE_ZOOM=[{zoom:.67,position:{x:0,y:2}},{zoom:.75,position:{x:1,y:4}},{zoom:.8,position:{x:2,y:4}},{zoom:.9,position:{x:5,y:6}},{zoom:1,position:{x:8,y:8}},{zoom:1.1,position:{x:12,y:9}},{zoom:1.25,position:{x:18,y:12}},{zoom:1.5,position:{x:27,y:16}},{zoom:1.75,position:{x:36,y:20}},{zoom:2,position:{x:45,y:23}},{zoom:2.5,position:{x:63,y:31}},{zoom:3,position:{x:80,y:39}}],T.CB_MOVE_NOLIST="cb-move-nolist",T.CB_MOUNT_REMOVE="cb-mount-remove",T.CB_GET_APPEND="cb-get-append",T.CB_GET_BEFORE="cb-get-before",T.CB_GET_UNCHANGEID="cb-get-unchangeid",T.CB_GET_HL="cb-get-hl",T.CB_GET_FOCUS="cb-get-focus",T.CB_GET_FOCUSFIRST="cb-get-focusfirst",T.CB_GET_SETID="cb-get-setid",T.CB_GET_OUTLINE="cb-get-outline",T.CB_GET_ALL="cb-get-all",T.CB_GET_BACKLINK="cb-get-backlink",T.CB_GET_UNUNDO="cb-get-unundo",T.CB_GET_SCROLL="cb-get-scroll",T.CB_GET_CONTEXT="cb-get-context",T.CB_GET_ROOTSCROLL="cb-get-rootscroll",T.CB_GET_HTML="cb-get-html",T.CB_GET_HISTORY="cb-get-history",T.CB_GET_OPENNEW="cb-get-opennew",T.LOCAL_ZOOM="local-zoom",T.LOCAL_SEARCHDATA="local-searchdata",T.LOCAL_SEARCHKEYS="local-searchkeys",T.LOCAL_SEARCHASSET="local-searchasset",T.LOCAL_SEARCHUNREF="local-searchunref",T.LOCAL_DOCINFO="local-docinfo",T.LOCAL_DAILYNOTEID="local-dailynoteid",T.LOCAL_HISTORY="local-history",T.LOCAL_CODELANG="local-codelang",T.LOCAL_FONTSTYLES="local-fontstyles",T.LOCAL_EXPORTPDF="local-exportpdf",T.LOCAL_EXPORTWORD="local-exportw
1ord",T.LOCAL_EXPORTIMG="local-exportimg",T.LOCAL_BAZAAR="local-bazaar",T.LOCAL_PDFTHEME="local-pdftheme",T.LOCAL_LAYOUTS="local-layouts",T.LOCAL_AI="local-ai",T.LOCAL_PLUGINTOPUNPIN="local-plugintopunpin",T.LOCAL_FLASHCARD="local-flashcard",T.LOCAL_FILEPOSITION="local-fileposition",T.LOCAL_FILESPATHS="local-filespaths",T.LOCAL_DIALOGPOSITION="local-dialogposition",T.LOCAL_SESSION_FIRSTLOAD="local-session-firstload",T.LOCAL_OUTLINE="local-outline",T.LOCAL_PLUGIN_DOCKS="local-plugin-docks",T.LOCAL_IMAGES="local-images",T.LOCAL_EMOJIS="local-emojis",T.LOCAL_MOVE_PATH="local-move-path",T.DIALOG_CONFIRM="dialog-confirm",T.DIALOG_OPENCARD="dialog-opencard",T.DIALOG_MAKECARD="dialog-makecard",T.DIALOG_VIEWCARDS="dialog-viewcards",T.DIALOG_DIALYNOTE="dialog-dialynote",T.DIALOG_RECENTDOCS="dialog-recentdocs",T.DIALOG_SWITCHTAB="dialog-switchtab",T.DIALOG_SEARCH="dialog-search",T.DIALOG_REPLACE="dialog-replace",T.DIALOG_GLOBALSEARCH="dialog-globalsearch",T.DIALOG_HISTORYCOMPARE="dialog-historycompare",T.DIALOG_ACCESSAUTHCODE="dialog-accessauthcode",T.DIALOG_AICUSTOMACTION="dialog-aicustomaction",T.DIALOG_AIUPDATECUSTOMACTION="dialog-aiupdatecustomaction",T.DIALOG_BACKGROUNDLINK="dialog-backgroundlink",T.DIALOG_BACKGROUNDRANDOM="dialog-backgroundrandom",T.DIALOG_CHANGELOG="dialog-changelog",T.DIALOG_COMMANDPANEL="dialog-commandpanel",T.DIALOG_DEACTIVATEUSER="dialog-deactivateuser",T.DIALOG_EMOJIS="dialog-emojis",T.DIALOG_EXPORTIMAGE="dialog-exportimage",T.DIALOG_EXPORTTEMPLATE="dialog-exporttemplate",T.DIALOG_EXPORTWORD="dialog-exportword",T.DIALOG_HISTORY="dialog-history",T.DIALOG_HISTORYDOC="dialog-historydoc",T.DIALOG_MOVEPATHTO="dialog-movepathto",T.DIALOG_RENAME="dialog-rename",T.DIALOG_RENAMEASSETS="dialog-renameassets",T.DIALOG_RENAMEBOOKMARK="dialog-renamebookmark",T.DIALOG_RENAMETAG="dialog-renametag",T.DIALOG_REPLACETYPE="dialog-replacetype",T.DIALOG_SAVECRITERION="dialog-savecriterion",T.DIALOG_SEARCHTYPE="dialog-searchtype",T.DIALOG_SEARCHASSETSTYPE="dialog-searchassetstype",T.DIALOG_SETTING="dialog-setting",T.DIALOG_SNAPSHOTTAG="dialog-snapshottag",T.DIALOG_SNAPSHOTMEMO="dialog-snapshotmemo",T.DIALOG_SNIPPETS="dialog-snippets",T.DIALOG_SYNCADDCLOUDDIR="dialog-syncaddclouddir",T.DIALOG_SYNCCHOOSEDIR="dialog-syncchoosedir",T.DIALOG_SYNCCHOOSEDIRECTION="dialog-syncchoosedirection",T.DIALOG_TRANSFERBLOCKREF="dialog-transferblockref",T.DIALOG_WECHATREMINDER="dialog-wechatreminder",T.DIALOG_PASSWORD="dialog-password",T.DIALOG_SETPASSWORD="dialog-setpassword",T.DIALOG_BOOTSYNCFAILED="dialog-bootsyncfailed",T.DIALOG_KERNELFAULT="dialog-kernelfault",T.DIALOG_STATEEXCEPTED="dialog-stateexcepted",T.DIALOG_ATTR="dialog-attr",T.DIALOG_SETCUSTOMATTR="dialog-setcustomattr",T.DIALOG_CREATENOTEBOOK="dialog-createnotebook",T.DIALOG_NOTEBOOKCONF="dialog-notebookconf",T.DIALOG_CREATEWORKSPACE="dialog-createworkspace",T.DIALOG_OPENWORKSPACE="dialog-openworkspace",T.DIALOG_SAVEWORKSPACE="dialog-saveworkspace",T.TIMEOUT_DBLCLICK=190,T.TIMEOUT_INPUT=256,T.TIMEOUT_LOAD=300,T.TIMEOUT_TRANSITION=300,T.TIMEOUT_COUNT=1e3,T.HELP_PATH={zh_CN:"20210808180117-czj9bvb",zh_CHT:"20211226090932-5lcq56f",ja_JP:"20240530133126-axarxgx",en_US:"20210808180117-6v0mkxr",fr_FR:"20210808180117-6v0mkxr",es_ES:"20210808180117-6v0mkxr",it_IT:"20210808180117-6v0mkxr",de_DE:"20210808180117-6v0mkxr",he_IL:"20210808180117-6v0mkxr",ru_RU:"20210808180117-6v0mkxr",pl_PL:"20210808180117-6v0mkxr",ar_SA:"20210808180117-6v0mkxr"},T.QUICK_DECK_ID="20230218211946-2kw8jgx",T.KEYCODELIST=Object.assign(we(),{8:"\u232B",9:"\u21E5",13:"\u21A9",16:"\u21E7",17:"\u2303",18:"\u2325",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"\u2190",38:"\u2191",39:"\u2192",40:"\u2193",44:"PrintScreen",45:"Insert",46:"\u2326",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",91:"\u2318",92:"\u2318",93:"ContextMenu",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",182:"MyComputer",183:"MyCalculator",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}),T.SIYUAN_KEYMAP={general:{mainMenu:{default:"\u2325\\",custom:"\u2325\\"},commandPanel:{default:"\u2325\u21E7P",custom:"\u2325\u21E7P"},editReadonly:{default:"\u21E7\u2318G",custom:"\u21E7\u2318G"},syncNow:{default:"F9",custom:"F9"},enterBack:{default:"\u2325\u2190",custom:"\u2325\u2190"},enter:{default:"\u2325\u2192",custom:"\u2325\u2192"},goForward:{default:"\u2318]",custom:"\u2318]"},goBack:{default:"\u2318[",custom:"\u2318["},newFile:{default:"\u2318N",custom:"\u2318N"},search:{default:"\u2318F",custom:"\u2318F"},globalSearch:{default:"\u2318P",custom:"\u2318P"},stickSearch:{default:"\u21E7\u2318F",custom:"\u21E7\u2318F"},replace:{default:"\u2318R",custom:"\u2318R"},closeTab:{default:"\u2318W",custom:"\u2318W"},fileTree:{default:pe+"1",custom:pe+"1"},outline:{default:pe+"2",custom:pe+"2"},bookmark:{default:pe+"3",custom:pe+"3"},tag:{default:pe+"4",custom:pe+"4"},dailyNote:{default:pe+"5",custom:pe+"5"},inbox:{default:pe+"6",custom:pe+"6"},backlinks:{default:pe+"7",custom:pe+"7"},graphView:{default:pe+"8",custom:pe+"8"},globalGraph:{default:pe+"9",custom:pe+"9"},riffCard:{default:pe+"0",custom:pe+"0"},config:{default:"\u2325P",custom:"\u2325P"},dataHistory:{default:"\u2325H",custom:"\u2325H"},toggleWin:{default:"\u2325M",custom:"\u2325M"},lockScreen:{default:"\u2325N",custom:"\u2325N"},recentDocs:{default:"\u2318E",custom:"\u2318E"},goToTab1:{default:"\u23181",custom:"\u23181"},goToTab2:{default:"\u23182",custom:"\u23182"},goToTab3:{default:"\u23183",custom:"\u23183"},goToTab4:{default:"\u23184",custom:"\u23184"},goToTab5:{default:"\u23185",custom:"\u23185"},goToTab6:{default:"\u23186",custom:"\u23186"},goToTab7:{default:"\u23187",custom:"\u23187"},goToTab8:{default:"\u23188",custom:"\u23188"},goToTab9:{default:"\u23189",custom:"\u23189"},goToTabNext:{default:"\u21E7\u2318]",custom:"\u21E7\u2318]"},goToTabPrev:{default:"\u21E7\u2318[",custom:"\u21E7\u2318["},goToEditTabNext:{default:"\u2303\u21E5",custom:"\u2303\u21E5"},goToEditTabPrev:{default:"\u2303\u21E7\u21E5",custom:"\u2303\u21E7\u21E5"},move:{default:"",custom:""},selectOpen1:{default:"",custom:""},toggleDock:{default:"",custom:""},splitLR:{default:"",custom:""},splitMoveR:{default:"",custom:""},splitTB:{default:"",custom:""},splitMoveB:{default:"",custom:""},closeOthers:{default:"",custom:""},closeAll:{default:"",custom:""},closeUnmodified:{default:"",custom:""},closeLeft:{default:"",custom:""},closeRight:{default:"",custom:""},tabToWindow:{default:"",custom:""},addToDatabase:{default:"",custom:""},unsplit:{default:"",custom:""},unsplitAll:{default:"",custom:""}},editor:{general:{duplicate:{default:"\u2318D",custom:"\u2318D"},expandDown:{default:"\u2325\u21E7\u2193",custom:"\u2325\u21E7\u2193"},expandUp:{default:"\u2325\u21E7\u2191",custom:"\u2325\u21E7\u2191"},expand:{default:"\u2318\u2193",custom:"\u2318\u2193"},collapse:{default:"\u2318\u2191",custom:"\u2318\u2191"},insertBottom:{default:"\u2325\u2318.",custom:"\u2325\u2318."},refTab:{default:"\u21E7\u2318.",custom:"\u21E7\u2318."},openBy:{default:"\u2325,",custom:"\u2325,"},insertRight:{default:"\u2325.",custom:"\u2325."},attr:{default:"\u2325\u2318A",custom:"\u2325\u2318A"},quickMakeCard:{default:"\u2325\u2318F",custom:"\u2325\u2318F"},refresh:{default:"F5",custom:"F5"},copyBlockRef:{default:"\u21E7\u2318C",custom:"\u21E7\u2318C"},copyProtocol:{default:"\u21E7\u2318H",custom:"\u21E7\u2318H"},copyBlockEmbed:{default:"\u21E7\u2318E",custom:"\u21E7\u2318E"},copyHPath:{default:"\u21E7\u2318P",custom:"\u21E7\u2318P"},undo:{default:"\u2318Z",custom:"\u2318Z"},redo:{default:"\u2318Y",custom:"\u2318Y"},rename:{default:"F2",custom:"F2"},newNameFile:{default:"F3",custom:"F3"},newContentFile:{default:"F4",custom:"F4"},newNameSettingFile:{default:"\u2318F3",custom:"\u2318F3"},showInFolder:{default:"\u2325A",custom:"\u2325A"},outline:{default:"\u2325O",custom:"\u2325O"},backlinks:{default:"\u2325B",custom:"\u2325B"},graphView:{default:"\u2325G",custom:"\u2325G"},spaceRepetition:{default:"\u2325F",custom:"\u2325F"},fullscreen:{default:"\u2325Y",custom:"\u2325Y"},alignLeft:{default:"\u2325L",custom:"\u2325L"},alignCenter:{default:"\u2325C",custom:"\u2325C"},alignRight:{default:"\u2325R",custom:"\u2325R"},wysiwyg:{default:"\u2325\u23187",custom:"\u2325\u23187"},preview:{default:"\u2325\u23189",custom:"\u2325\u23189"},insertBefore:{default:"\u21E7\u2318B",custom:"\u21E7\u2318B"},insertAfter:{default:"\u21E7\u2318A",custom:"\u21E7\u2318A"},jumpToParentNext:{default:"\u21E7\u2318N",custom:"\u21E7\u2318N"},jumpToParentPrev:{default:"\u21E7\u2318M",custom:"\u21E7\u2318M"},jumpToParent:{default:"\u21E7\u2318J",custom:"\u21E7\u2318J"},moveToUp:{default:"\u21E7\u2318\u2191",custom:"\u21E7\u2318\u2191"},moveToDown:{default:"\u21E7\u2318\u2193",custom:"\u21E7\u2318\u2193"},duplicateCompletely:{default:"",custom:""},copyPlainText:{default:"",custom:""},copyID:{default:"",custom:""},copyProtocolInMd:{default:"",custom:""},netImg2LocalAsset:{default:"",custom:""},netAssets2LocalAssets:{default:"",custom:""},optimizeTypography:{default:"",custom:""},hLayout:{default:"",custom:""},vLayout:{default:"",custom:""},refPopover:{default:"",custom:""},copyText:{default:"",custom:""},exitFocus:{default:"",custom:""},ai:{default:"",custom:""},switchReadonly:{default:"",custom:""},switchAdjust:{default:"",custom:""},rtl:{default:"",custom:""},ltr:{default:"",custom:""},aiWriting:{default:"",custom:""},openInNewTab:{default:"",custom:""}},insert:{appearance:{default:"\u2325\u2318X",custom:"\u2325\u2318X"},lastUsed:{default:"\u2325X",custom:"\u2325X"},ref:{default:"\u2325[",custom:"\u2325["},kbd:{default:"\u2318'",custom:"\u2318'"},sup:{default:"\u2318H",custom:"\u2318H"},sub:{default:"\u2318J",custom:"\u2318J"},bold:{default:"\u2318B",custom:"\u2318B"},"inline-math":{default:"\u2318M",custom:"\u2318M"},memo:{default:"\u2325\u2318M",custom:"\u2325\u2318M"},underline:{default:"\u2318U",custom:"\u2318U"},italic:{default:"\u2318I",custom:"\u2318I"},mark:{default:"\u2325D",custom:"\u2325D"},tag:{default:"\u2318T",custom:"\u2318T"},strike:{default:"\u21E7\u2318S",custom:"\u21E7\u2318S"},"inline-code":{default:"\u2318G",custom:"\u2318G"},link:{default:"\u2318K",custom:"\u2318K"},check:{default:"\u2318L",custom:"\u2318L"},"ordered-list":{default:"",custom:""},list:{default:"",custom:""},table:{default:"\u2318O",custom:"\u2318O"},code:{default:"\u21E7\u2318K",custom:"\u21E7\u2318K"},quote:{default:"",custom:""},clearInline:{default:"\u2318\\",custom:"\u2318\\"}},heading:{paragraph:{default:"\u2325\u23180",custom:"\u2325\u23180"},heading1:{default:"\u2325\u23181",custom:"\u2325\u23181"},heading2:{default:"\u2325\u23182",custom:"\u2325\u23182"},heading3:{default:"\u2325\u23183",custom:"\u2325\u23183"},heading4:{default:"\u2325\u23184",custom:"\u2325\u23184"},heading5:{default:"\u2325\u23185",custom:"\u2325\u23185"},heading6:{default:"\u2325\u23186",custom:"\u2325\u23186"}}
1,list:{indent:{default:"\u21E5",custom:"\u21E5"},outdent:{default:"\u21E7\u21E5",custom:"\u21E7\u21E5"},checkToggle:{default:"\u2318\u21A9",custom:"\u2318\u21A9"}},table:{insertRowAbove:{default:"\u21E7\u2318T",custom:"\u21E7\u2318T"},insertRowBelow:{default:"\u21E7\u2318D",custom:"\u21E7\u2318D"},insertColumnLeft:{default:"\u21E7\u2318L",custom:"\u21E7\u2318L"},insertColumnRight:{default:"\u21E7\u2318R",custom:"\u21E7\u2318R"},moveToUp:{default:"\u2325\u2318T",custom:"\u2325\u2318T"},moveToDown:{default:"\u2325\u2318B",custom:"\u2325\u2318B"},moveToLeft:{default:"\u2325\u2318L",custom:"\u2325\u2318L"},moveToRight:{default:"\u2325\u2318R",custom:"\u2325\u2318R"},"delete-row":{default:"\u2318-",custom:"\u2318-"},"delete-column":{default:"\u21E7\u2318-",custom:"\u21E7\u2318-"}}},plugin:{}},T.SIYUAN_EMPTY_LAYOUT={hideDock:!1,layout:{direction:"tb",size:"0px",type:"normal",instance:"Layout",children:[{direction:"lr",size:"auto",type:"normal",instance:"Layout",children:[{direction:"tb",size:"0px",type:"left",instance:"Layout",children:[{instance:"Wnd",children:[]},{instance:"Wnd",resize:"tb",children:[]}]},{direction:"lr",resize:"lr",size:"auto",type:"center",instance:"Layout",children:[{instance:"Wnd",children:[{instance:"Tab",children:[]}]}]},{direction:"tb",size:"0px",resize:"lr",type:"right",instance:"Layout",children:[{instance:"Wnd",children:[]},{instance:"Wnd",resize:"tb",children:[]}]}]},{direction:"lr",size:"0px",resize:"tb",type:"bottom",instance:"Layout",children:[{instance:"Wnd",children:[]},{instance:"Wnd",resize:"lr",children:[]}]}]},bottom:{pin:!0,data:[]},left:{pin:!0,data:[[{type:"file",size:{width:232,height:0},show:!0,icon:"iconFiles",hotkeyLangId:"fileTree"},{type:"outline",size:{width:232,height:0},show:!1,icon:"iconAlignCenter",hotkeyLangId:"outline"},{type:"inbox",size:{width:320,height:0},show:!1,icon:"iconInbox",hotkeyLangId:"inbox"}],[{type:"bookmark",size:{width:232,height:0},show:!1,icon:"iconBookmark",hotkeyLangId:"bookmark"},{type:"tag",size:{width:232,height:0},show:!1,icon:"iconTags",hotkeyLangId:"tag"}]]},right:{pin:!0,data:[[{type:"graph",size:{width:320,height:0},show:!1,icon:"iconGraph",hotkeyLangId:"graphView"},{type:"globalGraph",size:{width:320,height:0},show:!1,icon:"iconGlobalGraph",hotkeyLangId:"globalGraph"}],[{type:"backlink",size:{width:320,height:0},show:!1,icon:"iconLink",hotkeyLangId:"backlinks"}]]}},T.SIYUAN_DEFAULT_REPLACETYPES={text:!0,imgText:!0,imgTitle:!0,imgSrc:!0,aText:!0,aTitle:!0,aHref:!0,code:!0,em:!0,strong:!0,inlineMath:!0,inlineMemo:!0,blockRef:!0,fileAnnotationRef:!0,kbd:!0,mark:!0,s:!0,sub:!0,sup:!0,tag:!0,u:!0,docTitle:!0,codeBlock:!0,mathBlock:!0,htmlBlock:!0},T.SIYUAN_IMAGE_VIP=`<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
2<path fill="#ffd00f" d="M2.288 12.643l23.487 12.853c0.286 0.153 0.477 0.45 0.477 0.791 0 0.082-0.011 0.161-0.032 0.237l0.001-0.006c-0.119 0.395-0.479 0.678-0.905 0.678-0.004 0-0.009-0-0.013-0h-19.439c-0.958 0-1.766-0.684-1.885-1.595l-1.691-12.956z"></path>
3<path fill="#ffd00f" d="M29.676 12.643l-1.691 12.957c-0.119 0.911-0.927 1.594-1.884 1.594h-19.442c-0.004 0-0.009 0-0.013 0-0.425 0-0.785-0.281-0.903-0.668l-0.002-0.007c-0.019-0.070-0.031-0.15-0.031-0.232 0-0.341 0.191-0.638 0.472-0.788l0.005-0.002 23.487-12.853z"></path>
4<path fill="#ffe668" d="M15.413 8.369l10.394 15.921c0.378 0.579 0.407 1.317 0.076 1.924-0.328 0.591-0.948 0.985-1.66 0.985-0 0-0.001 0-0.001 0h-17.617c-0.694 0-1.331-0.378-1.661-0.985-0.144-0.26-0.229-0.569-0.229-0.899 0-0.382 0.114-0.736 0.31-1.033l-0.004 0.007 10.394-15.921z"></path>
5<path fill="#ffdd4e" d="M15.396 8.403l11.659 15.921c0.401 0.579 0.432 1.317 0.081 1.924-0.361 0.594-1.005 0.985-1.741 0.985-0.008 0-0.017-0-0.025-0h-9.344l-0.63-18.83z"></path>
6<path fill="#ffd00f" d="M13.868 6.478c0 0.946 0.767 1.712 1.712 1.712s1.712-0.767 1.712-1.712v0c0-0.945-0.766-1.712-1.712-1.712s-1.712 0.766-1.712 1.712v0zM28.577 10.818c0 0.945 0.766 1.712 1.712 1.712s1.712-0.766 1.712-1.712v0c0-0.945-0.766-1.712-1.712-1.712s-1.712 0.766-1.712 1.712v0zM0 10.822c0 0.945 0.766 1.712 1.712 1.712s1.712-0.766 1.712-1.712v0c0-0.945-0.766-1.712-1.712-1.712s-1.712 0.766-1.712 1.712v0z"></path>
7</svg>`,T.SIYUAN_ASSETS_IMAGE=[".apng",".ico",".cur",".jpg",".jpe",".jpeg",".jfif",".pjp",".pjpeg",".png",".gif",".webp",".bmp",".svg",".avif"],T.SIYUAN_ASSETS_AUDIO=[".mp3",".wav",".ogg",".m4a",".aac",".flac"],T.SIYUAN_ASSETS_VIDEO=[".mov",".weba",".mkv",".mp4",".webm"],T.SIYUAN_ASSETS_EXTS=[".pdf"].concat(T.SIYUAN_ASSETS_IMAGE).concat(T.SIYUAN_ASSETS_AUDIO).concat(T.SIYUAN_ASSETS_VIDEO),T.SIYUAN_ASSETS_SEARCH=[".txt",".md",".markdown",".docx",".xlsx",".pptx",".pdf",".json",".log",".sql",".html",".xml",".java",".h",".c",".cpp",".go",".rs",".swift",".kt",".py",".php",".js",".css",".ts",".sh",".bat",".cmd",".ini",".yaml",".rst",".adoc",".textile",".opml",".org",".wiki",".epub"],T.SIYUAN_CONFIG_APPEARANCE_DARK_CODE=["a11y-dark","agate","an-old-hope","androidstudio","arta","atom-one-dark","atom-one-dark-reasonable","base16/3024","base16/apathy","base16/apprentice","base16/ashes","base16/atelier-cave","base16/atelier-dune","base16/atelier-estuary","base16/atelier-forest","base16/atelier-heath","base16/atelier-lakeside","base16/atelier-plateau","base16/atelier-savanna","base16/atelier-seaside","base16/atelier-sulphurpool","base16/atlas","base16/bespin","base16/black-metal","base16/black-metal-bathory","base16/black-metal-burzum","base16/black-metal-dark-funeral","base16/black-metal-gorgoroth","base16/black-metal-immortal","base16/black-metal-khold","base16/black-metal-marduk","base16/black-metal-mayhem","base16/black-metal-nile","base16/black-metal-venom","base16/brewer","base16/bright","base16/brogrammer","base16/brush-trees-dark","base16/chalk","base16/circus","base16/classic-dark","base16/codeschool","base16/colors","base16/danqing","base16/darcula","base16/dark-violet","base16/darkmoss","base16/darktooth","base16/decaf","base16/default-dark","base16/dracula","base16/edge-dark","base16/eighties","base16/embers","base16/equilibrium-dark","base16/equilibrium-gray-dark","base16/espresso","base16/eva","base16/eva-dim","base16/flat","base16/framer","base16/gigavolt","base16/google-dark","base16/grayscale-dark","base16/green-screen","base16/gruvbox-dark-hard","base16/gruvbox-dark-medium","base16/gruvbox-dark-pale","base16/gruvbox-dark-soft","base16/hardcore","base16/harmonic16-dark","base16/heetch-dark","base16/helios","base16/hopscotch","base16/horizon-dark","base16/humanoid-dark","base16/ia-dark","base16/icy-dark","base16/ir-black","base16/isotope","base16/kimber","base16/london-tube","base16/macintosh","base16/marrakesh","base16/materia","base16/material","base16/material-darker","base16/material-palenight","base16/material-vivid","base16/mellow-purple","base16/mocha","base16/monokai","base16/nebula","base16/nord","base16/nova","base16/ocean","base16/oceanicnext","base16/onedar
7k","base16/outrun-dark","base16/papercolor-dark","base16/paraiso","base16/pasque","base16/phd","base16/pico","base16/pop","base16/porple","base16/qualia","base16/railscasts","base16/rebecca","base16/ros-pine","base16/ros-pine-moon","base16/sandcastle","base16/seti-ui","base16/silk-dark","base16/snazzy","base16/solar-flare","base16/solarized-dark","base16/spacemacs","base16/summercamp","base16/summerfruit-dark","base16/synth-midnight-terminal-dark","base16/tango","base16/tender","base16/tomorrow-night","base16/twilight","base16/unikitty-dark","base16/vulcan","base16/windows-10","base16/windows-95","base16/windows-high-contrast","base16/windows-nt","base16/woodland","base16/xcode-dusk","base16/zenburn","codepen-embed","cybertopia-cherry","cybertopia-dimmer","cybertopia-icecap","cybertopia-saturated","dark","devibeans","far","felipec","github-dark","github-dark-dimmed","gml","gradient-dark","hybrid","ir-black","isbl-editor-dark","kimbie-dark","lioshi","monokai","monokai-sublime","night-owl","nnfx-dark","nord","obsidian","panda-syntax-dark","paraiso-dark","pojoaque","qtcreator-dark","rainbow","rose-pine","rose-pine-moon","shades-of-purple","srcery","stackoverflow-dark","sunburst","tomorrow-night-blue","tomorrow-night-bright","tokyo-night-dark","vs2015","xt256"],T.SIYUAN_CONFIG_APPEARANCE_LIGHT_CODE=["ant-design","1c-light","a11y-light","arduino-light","ascetic","atom-one-light","base16/atelier-cave-light","base16/atelier-dune-light","base16/atelier-estuary-light","base16/atelier-forest-light","base16/atelier-heath-light","base16/atelier-lakeside-light","base16/atelier-plateau-light","base16/atelier-savanna-light","base16/atelier-seaside-light","base16/atelier-sulphurpool-light","base16/brush-trees","base16/classic-light","base16/cupcake","base16/cupertino","base16/default-light","base16/dirtysea","base16/edge-light","base16/equilibrium-gray-light","base16/equilibrium-light","base16/fruit-soda","base16/github","base16/google-light","base16/grayscale-light","base16/gruvbox-light-hard","base16/gruvbox-light-medium","base16/gruvbox-light-soft","base16/harmonic16-light","base16/heetch-light","base16/humanoid-light","base16/horizon-light","base16/ia-light","base16/material-lighter","base16/mexico-light","base16/one-light","base16/papercolor-light","base16/ros-pine-dawn","base16/sagelight","base16/shapeshifter","base16/silk-light","base16/solar-flare-light","base16/solarized-light","base16/summerfruit-light","base16/synth-midnight-terminal-light","base16/tomorrow","base16/unikitty-light","base16/windows-10-light","base16/windows-95-light","base16/windows-high-contrast-light","brown-paper","base16/windows-nt-light","color-brewer","docco","foundation","github","googlecode","gradient-light","grayscale","idea","intellij-light","isbl-editor-light","kimbie-light","lightfair","magula","mono-blue","nnfx-light","panda-syntax-light","paraiso-light","purebasic","qtcreator-light","rose-pine-dawn","routeros","school-book","stackoverflow-light","tokyo-night-light","vs","xcode","default"],T.ZWSP="\u200B",T.INLINE_TYPE=["block-ref","kbd","text","file-annotation-ref","a","strong","em","u","s","mark","sup","sub","tag","code","inline-math","inline-memo","clear"],T.BLOCK_HINT_KEYS=["((","[[","\uFF08\uFF08","\u3010\u3010"],T.BLOCK_HINT_CLOSE_KEYS={"((":"))","[[":"]]","\uFF08\uFF08":"\uFF09\uFF09","\u3010\u3010":"\u3011\u3011"},T.ALIAS_CODE_LANGUAGES=["js","ts","html","toml","c#","bat"],T.SIYUAN_RENDER_CODE_LANGUAGES=["abc","plantuml","mermaid","flowchart","echarts","mindmap","graphviz","math"],T.PROTYLE_TOOLBAR=N()?["block-ref","a","|","text","strong","em","u","clear","|","code","tag","inline-math","inline-memo"]:["block-ref","a","|","text","strong","em","u","s","mark","sup","sub","clear","|","code","kbd","tag","inline-math","inline-memo"],T.ANALYTICS_EVT_ON_GET_CONFIG="siyuan.onGetConfig";let $=T;const Pt=(e,t,n=!1)=>{let a=O(e,t,n),i=!1,s=!1;for(;a&&(n?a.tagName!=="BODY":!a.classList.contains("protyle-wysiwyg"))&&!s;)i=O(a.parentElement,t,n),i?a=i:s=!0;return a||!1},te=(e,t)=>{let n=W(e,t),a=!1,i=!1;for(;n&&!n.classList.contains("protyle-wysiwyg")&&!i;)a=W(n.parentElement,t),a?n=a:i=!0;return n||!1},F=(e,t,n,a=!1)=>{let i=R(e,t,n,a),s=!1,o=!1;for(;i&&!i.classList.contains("protyle-wysiwyg")&&!o;)s=R(i.parentElement,t,n,a),s?i=s:o=!0;return i||!1},R=(e,t,n,a=!1)=>{var i;if(!e||e.nodeType===9)return!1;e.nodeType===3&&(e=e.parentElement);let s=e,o=!1;for(;s&&!o&&(a?s.tagName!=="BODY":!s.classList.contains("protyle-wysiwyg"));)typeof n=="string"&&((i=s.getAttribute(t))!=null&&i.split(" ").includes(n))||typeof n!="str
7ing"&&s.hasAttribute(t)?o=!0:s=s.parentElement;return o&&s},W=(e,t)=>{if(!e||e.nodeType===9)return!1;e.nodeType===3&&(e=e.parentElement);let n=e,a=!1;for(;n&&!a&&!n.classList.contains("protyle-wysiwyg");)n.nodeName===t?a=!0:n=n.parentElement;return a&&n},O=(e,t,n=!1)=>{var a;if(!e||e.nodeType===9)return!1;e.nodeType===3&&(e=e.parentElement);let i=e,s=!1;for(;i&&!s&&(n?i.tagName!=="BODY":!i.classList.contains("protyle-wysiwyg"));)(a=i.classList)!=null&&a.contains(t)?s=!0:i=i.parentElement;return s&&i},K=e=>{var t;const n=R(e,"data-node-id",null);return n&&n.tagName!=="BUTTON"&&((t=n.getAttribute("data-type"))!=null&&t.startsWith("Node"))?n:!1},z=e=>{const t=F(e,"data-type","NodeBlockQueryEmbed");return t?t.isSameNode(e)?!1:t:!1},se=e=>{let t=!0;if(e){const n=e.getAttribute("data-readonly");if(typeof n=="string")t=n==="false";else return'<div class="protyle-icons"></div>'}return`<div class="protyle-icons">
8    <span aria-label="${window.siyuan.languages.edit}" class="b3-tooltips__nw b3-tooltips protyle-icon protyle-icon--first protyle-action__edit${t?"":" fn__none"}"><svg><use xlink:href="#iconEdit"></use></svg></span>
9    <span aria-label="${window.siyuan.languages.more}" class="b3-tooltips__nw b3-tooltips protyle-icon protyle-action__menu protyle-icon--last${t?"":" protyle-icon--first"}"><svg><use xlink:href="#iconMore"></use></svg></span>
10</div>`},ue=e=>{if(e.querySelector(".protyle-cursor"))return;const t=e.getAttribute("data-type");t==="NodeBlockQueryEmbed"?e.insertAdjacentHTML("afterbegin",`<div class="protyle-icons${z(e)?" fn__none":""}">
11    <span aria-label="${window.siyuan.languages.refresh}" class="b3-tooltips__nw b3-tooltips protyle-icon protyle-action__reload protyle-icon--first"><svg class="fn__rotate"><use xlink:href="#iconRefresh"></use></svg></span>
12    <span aria-label="${window.siyuan.languages.update} SQL" class="b3-tooltips__nw b3-tooltips protyle-icon protyle-action__edit"><svg><use xlink:href="#iconEdit"></use></svg></span>
13    <span aria-label="${window.siyuan.languages.more}" class="b3-tooltips__nw b3-tooltips protyle-icon protyle-action__menu protyle-icon--last"><svg><use xlink:href="#iconMore"></use></svg></span>
14</div><div class="protyle-cursor">${$.ZWSP}</div>`):(t==="NodeMathBlock"||e.getAttribute("data-subtype")==="math")&&(e.firstElementChild.innerHTML=`<span></span><span class="protyle-cursor">${$.ZWSP}</span>`)},be=e=>{if(e.getAttribute("data-type")==="NodeHTMLBlock"){const t=e.querySelector("protyle-html");t.setAttribute("data-content",Lute.UnEscapeHTMLStr(t.getAttribute("data-content")))}return e},_e=(e,t=$.PROTYLE_CDN)=>{let n=[];e.getAttribute("data-subtype")==="graphviz"?n=[e]:n=Array.from(e.querySelectorAll('[data-subtype="graphviz"]')),n.length!==0&&oe(`${t}/js/graphviz/viz.js?v=3.11.0`,"protyleGraphVizScript").then(()=>{const a=O(e,"protyle-wysiwyg",!0);n.forEach(i=>{if(i.getAttribute("data-render")==="true")return;i.firstElementChild.classList.contains("protyle-icons")||i.insertAdjacentHTML("afterbegin",se(a));const s=i.firstElementChild.nextElementSibling;try{Viz.instance().then(o=>{const l=o.renderSVGElement(Lute.UnEscapeHTMLStr(i.getAttribute("data-content")));s.innerHTML=`<span style="position: absolute;left:0;top:0;width: 1px;">${$.ZWSP}</span><div contenteditable="false">${l.outerHTML}</div>`}).catch(o=>{s.innerHTML=`<span style="position: absolute;left:0;top:0;width: 1px;">${$.ZWSP}</span><div class="ft__error" contenteditable="false">graphviz render error: <br>${o}</div>`})}catch(o){console.error("Graphviz error",o)}i.setAttribute("data-render","true")})})},De=e=>{let t=e;for(;t;){if(t.previousElementSibling&&t.previousElementSibling.getAttribute("data-node-id"))return t.previousElementSibling;const n=K(t.parentElement);if(n)t=n;else return!1}},dt=e=>{let t;return Array.from(e.querySelectorAll("[data-node-id]")).reverse().find(n=>{if(!isInEmbedBlock(n))return t=n,!0}),t||e},Ye=e=>{let t;return Array.from(e.querySelectorAll("[data-node-id]")).find(n=>{if(!z(n)&&!n.classList.contains("li")&&!n.classList.contains("sb"))return t=n,!0}),t||e},ut=e=>{let t=e;for(;t;){if(t.nextElementSibling&&!t.nextElementSibling.classList.contains("protyle-attr"))return t.nextElementSibling;const n=K(t.parentElement);if(n)t=n;else return!1}return!1},st=e=>{let t=e;for(;t;)if(t.classList.contains("list")||t.classList.contains("li")||t.classList.contains("bq")||t.classList.contains("sb"))t=t.querySelector("[data-node-id]");else return t;return!1},he=e=>{if(!e||e.getAttribute("contenteditable")==="true"&&!e.classList.contains("protyle-wysiwyg"))return e;const t=e.querySelector('[contenteditable="true"]');if(t&&!R(t,"data-type","NodeBlockQueryEmbed"))return t},We=e=>["NodeBlockQueryEmbed","NodeThematicBreak","NodeMathBlock","NodeHTMLBlock","NodeIFrame","NodeWidget","NodeVideo","NodeAudio"].includes(e.getAttribute("data-type"))||e.getAttribute("data-type")==="NodeCodeBlock"&&e.classList.contains("render-node"),At=e=>{var t,n;let a=e;for(;a.parentElement&&!a.parentElement.classList.contains("protyle-wysiwyg");)if(!a.parentElement.getAttribute("data-node-id"))a=a.parentElement;else{let i=!1;if(Array.from(a.parentElement.querySelectorAll('[contenteditable="true"]')).find(s=>{if(s.textContent.replace(Constants.ZWSP,"").replace(`
15`,"")!=="")return i=!0,!0}),i||(t=a.previousElementSibling)!=null&&t.getAttribute("data-node-id")||(n=a.nextElementSibling)!=null&&n.getAttribute("data-node-id"))break;a=a.parentElement}return a},je=e=>{if(e.parentElement.getAttribute("data-type")==="NodeBlockquote"&&e.parentElement.childElementCount===2)for(;!e.parentElement.classList.contains("protyle-wysiwyg");)if(e.parentElement.getAttribute("data-type")==="NodeBlockquote"&&e.parentElement.childElementCount===2)e=e.parentElement;else{e=je(e);break}else if(e.parentElement.getAttribute("data-type")==="NodeSuperBlock"&&e.parentElement.childElementCount===2)for(;!e.parentElement.classList.contains("protyle-wysiwyg");)if(e.parentElement.getAttribute("data-type")==="NodeSuperBlock"&&e.parentElement.childElementCount===2)e=e.parentElement;else{e=je(e);break}else if(e.parentElement.getAttribute("data-type")==="NodeListItem"&&e.parentElement.childElementCount===3)for(;!e.parentElement.classList.contains("protyle-wysiwyg");)if(e.parentElement.getAttribute("data-type")==="NodeListItem"&&e.parentElement.childElementCount===3)e=e.parentElement;else if(e.parentElement.getAttribute("data-type")==="NodeList"&&e.parentElement.childElementCount===2)e=e.parentElement;else{e=je(e);break}else if(e.parentElement.getAttribute("data-type")==="NodeList"&&e.parentElement.childElementCount===2)for(;!e.parentElement.classList.contains("protyle-wysiwyg");)if(e.parentElement.getAttribute("data-type")==="NodeList"&&e.parentElement.childElementCount===2)e=e.parentElement;else if(e.parentElement.getAttribute("data-type")==="NodeListItem"&&e.parentElement.childElementCount===3)e=e.parentElement;else{e=je(e);break}return e},In=e=>{let t=e.nextSibling;for(;t;)if(t.textContent===""&&t.nodeType===3)t=t.nextSibling;else return t;return!1},ir=e=>{if(e.endContainer.nodeType===3&&e.endContainer.textContent.length!==e.endOffset&&e.endContainer.textContent!==Constants.ZWSP&&e.endContainer.textContent!==`
16`)return!1;let t=e.endContainer;for(e.endContainer.nodeType!==3&&(t=e.endContainer.childNodes[e.endOffset]);t;){if(In(t))return!1;if(t.parentElement.getAttribute("spellcheck"))return!0;t=t.parentElement}return!0},Rt=e=>{let t=e.previousSibling;for(;t;)if(t.textContent===""&&t.nodeType===3)t=t.previousSibling;else return t;return!1},or=e=>{let t=e.nextElementSibling;if(t)return t.tagName==="LI"?t:t.tagName==="UL"?t.firstElementChild:!1;for(t=e.parentElement;t.tagName==="UL";)if(!t.nextElementSibling)t=t.parentElement;else{if(t.nextElementSibling.tagName==="LI")return t.nextElementSibling;if(t.nextElementSibling.tagName==="UL")return t.nextElementSibling.firstElementChild}return!1},lr=e=>{let t=e.previousElementSibling;if(t)return t.tagName==="LI"?t:t.tagName==="UL"?t.lastElementChild:!1;for(t=e.parentElement;t.tagName==="UL";)if(!t.previousElementSibling)t=t.parentElement;else{if(t.previousElementSibling.tagName==="LI")return t.previousElementSibling;if(t.previousElementSibling.tagName==="UL"){const n=t.previousElementSibling.querySelectorAll(".b3-list-item");return n[n.length-1]}}return!1},yi=(e,t)=>{if(!t){if(getSelection().rangeCount===0)return!1;t=getSelection().getRangeAt(0)}const n=t.commonAncestorContainer;return e.isEqualNode(n)||e.contains(n)},hi=e=>{const t=R(e.startContainer,"data-type","NodeTable");if(e.toString()!==""&&t&&e.commonAncestorContainer.nodeType!==3){const n=e.commonAncestorContainer.tagName;if(n!=="TH"&&n!=="TD"){const a=W(e.startContainer,"TD")||W(e.startContainer,"TH"),i=W(e.endContainer,"TD")||W(e.endContainer,"TH");
16if(!a&&!i){const s=t.querySelector("th")||t.querySelector("td");e.setStart(s.firstChild,0),e.setEnd(s.lastChild,s.lastChild.textContent.length)}else a&&!a.contains(e.endContainer)&&en(a,e,!1)}}},rr=(e,t,n)=>{const a=getContenteditableElement(t);if(a){let o;if(a.tagName==="TABLE"){const l=hasClosestByTag(n.startContainer,"TD")||hasClosestByTag(n.startContainer,"TH");if(l&&(o=Mn(l,t,n),o.start!==0||o.end!==l.textContent.length))return n.setStart(l.firstChild,0),n.setEndAfter(l.lastChild),e.toolbar.render(e,n),countSelectWord(n,e.block.rootID),!0}else if(o=Mn(a,t,n),o.start!==0||o.end!==a.textContent.length){let l=a.firstChild;for(;l;)if(l.nodeType===3){if(l.textContent!==""){n.setStart(l,0);break}l=l.nextSibling}else{if(l.classList.contains("render-node")||l.classList.contains("img")){n.setStartBefore(l);break}l=l.firstChild}let r=a.lastChild;for(;r;)if(r.nodeType===3){if(r.textContent!==""){n.setEnd(r,r.textContent.length);break}r=r.previousSibling}else{if(r.classList.contains("render-node")||r.classList.contains("img")||r.tagName==="BR"){n.setEndAfter(r);break}r=r.lastChild}return Le(n),e.toolbar.render(e,n),countSelectWord(n,e.block.rootID),!0}}n.collapse(!0);const i=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(e.wysiwyg.element.childElementCount===i.length&&i[0].parentElement.isSameNode(e.wysiwyg.element))return!0;hideElements(["select"],e);const s=[];Array.from(e.wysiwyg.element.children).forEach(o=>{const l=o.getAttribute("data-node-id");l&&(o.classList.add("protyle-wysiwyg--select"),s.push(l))}),countBlockWord(s,e.block.rootID)},cr=(e,t)=>{const n=document.caretRangeFromPoint(e,t),a=hasClosestByAttribute(n.startContainer,"data-type","img");return a&&(n.setStart(a.nextSibling,0),n.collapse()),n},it=e=>{var t,n,a;let i;if(getSelection().rangeCount>0&&(i=getSelection().getRangeAt(0),e.isSameNode(i.startContainer)||e.contains(i.startContainer))){if(i.toString()===""&&i.startContainer.nodeType===1&&i.startOffset===0&&i.startContainer.classList.contains("protyle-wysiwyg")){const o=qe(i.startContainer.firstChild);if(o)return o}return i}if(e.classList.contains("li")||e.classList.contains("list")){const o=e.querySelector("[data-node-id]");if(o)return it(o)}e.focus({preventScroll:!0}),i||(i=document.createRange());let s;if(e.classList.contains("table"))s=e.querySelector("th")||e.querySelector("td");else if(s=he(e),s)s.tagName==="TABLE"&&(s=s.querySelector("th")||e.querySelector("td"));else{const o=e.getAttribute("data-type");o==="NodeThematicBreak"?s=e.firstElementChild:o==="NodeBlockQueryEmbed"?s=(t=e.querySelector(".protyle-cursor"))==null?void 0:t.firstChild:["NodeMathBlock","NodeHTMLBlock"].includes(o)?s=(a=(n=e.lastElementChild.previousElementSibling)==null?void 0:n.lastElementChild)==null?void 0:a.firstChild:o==="NodeVideo"?s=e.firstElementChild.firstChild:o==="NodeAudio"&&(s=e.firstElementChild.lastChild)}return i.setStart(s||e,0),i.collapse(!0),i},dr=(e,t)=>{var n,a;if(t||(t=it(e)),!e.contains(t.startContainer))return{left:0,top:0};let i;if(t.getClientRects().length===0)if(t.startContainer.nodeType===3){const s=(n=t.startContainer.parentElement)==null?void 0:n.getClientRects(),o=(a=t.startContainer.previousElementSibling)==null?void 0:a.getClientRects();if(s.length>0||o.length>0)s.length===0||o&&o.length>0&&s[0].top<o[o.length-1].bottom?i={left:o[o.length-1].left,top:o[o.length-1].bottom}:i=s[0];else return{left:0,top:0}}else{const s=t.startContainer.children;if(s[t.startOffset]&&s[t.startOffset].getClientRects().length>0)i=s[t.startOffset].getClientRects()[0];else if(t.startContainer.childNodes.length>0){const o=t.cloneRange();t.selectNode(t.startContainer.childNodes[Math.max(0,t.startOffset-1)]),i=t.getClientRects()[0],t.setEnd(o.endContainer,o.endOffset),t.setStart(o.startContainer,o.startOffset)}else i=t.startContainer.getClientRects()[0];if(!i){let o=t.startContainer.childNodes[t.startOffset];if(o||(o=t.startContainer.childNodes[t.startOffset-1]),!o)i=t.getBoundingClientRect();else{for(;!o.getClientRects||o.getClientRects&&o.getClientRects().length===0;)o=o.parentElement;i=o.getClientRects()[0]}}}else{const s=t.getClientRects();return t.toString()?{left:s[s.length-1].left,top:s[0].top}:{left:s[s.length-1].left,top:s[s.length-1].top}}return{left:i.left,top:i.top}},Mn=(e,t,n)=>{const a={end:0,start:0};
16if(!n){if(getSelection().rangeCount===0)return a;n=window.getSelection().getRangeAt(0)}if(t&&!yi(t,n))return a;const i=n.cloneRange();return e.childNodes[0]&&e.childNodes[0].childNodes[0]?i.setStart(e.childNodes[0].childNodes[0],0):i.selectNodeContents(e),i.setEnd(n.startContainer,n.startOffset),a.start=i.toString().length+i.cloneContents().querySelectorAll("br").length,a.end=a.start+n.toString().length+n.cloneContents().querySelectorAll("br").length,a};function Qt(e,t,n,a){if(!t)return!1;if(n(t))return!0;for(let i=0,s=t.childNodes.length;i<s;i++)if(Qt(t,t.childNodes[i],n,!0))return!0;if(!a){let i=t;for(;i&&i!==e;){let s=i.nextSibling;for(;s;){if(Qt(e,s,n,!0))return!0;s=s.nextSibling}i=i.parentNode}}return!1}const en=(e,t,n=!0)=>{if(!e)return t;let a=e.lastChild;for(;a&&a.nodeType!==3&&a.lastChild;)a=a.lastChild;return a||(a=e),n?a.nodeType!==3&&(a.classList.contains("render-node")||a.tagName==="BR")&&a.innerHTML===""?t.setStartAfter(a):t.setStart(a,a.textContent.length):a.nodeType!==3&&(a.classList.contains("render-node")||a.tagName==="BR")&&a.innerHTML===""?t.setEndAfter(a):t.setEnd(a,a.textContent.length),t},wi=(e,t)=>{if(!e)return t;let n=e.firstChild;for(;n&&n.nodeType!==3&&!n.classList.contains("render-node");){if(n.classList.contains("img"))return t.setStartBefore(n),t;n=n.firstChild}return n?(n.nodeType!==3&&n.classList.contains("render-node")?t.setStartBefore(n):t.setStart(n,0),t):(t.selectNodeContents(e),t)},Dn=(e,t,n,a=!0)=>{if(!e)return!1;const i=he(e);if(i)e=i;else if(a&&(We(e)||e.classList.contains("av")))return qe(e);let s;Qt(e,e.firstChild,r=>{if(r.nodeType===Node.TEXT_NODE){const c=r.data.length;return t<=c?(s=r,!0):(t-=c,n-=c,!1)}else if(r.nodeType===Node.ELEMENT_NODE&&r.tagName==="BR")return t<=1?(s=r,!0):(t-=1,n-=1,!1)});let o;s&&Qt(e,s,r=>{if(r.nodeType===Node.TEXT_NODE){const c=r.data.length;return n<=c?(o=r,!0):(n-=c,!1)}});const l=document.createRange();return s?s.nodeType===Node.TEXT_NODE&&t<=s.data.length?l.setStart(s,t):l.setStartAfter(s):t===0?l.setStart(e,0):en(he(e),l),o?n<=o.data.length?l.setEnd(o,n):l.setEndAfter(o):n===0?l.setEnd(e,0):en(he(e),l,!1),a&&Le(l),l},ur=(e,t,n)=>{const a=Mn(getContenteditableElement(e),e,t),i=e.cloneNode(!0),s=Dn(i,a.end,a.end,!1);s&&s.insertNode(document.createElement("wbr")),n.wysiwyg.lastHTMLs[e.getAttribute("data-node-id")]=i.outerHTML},$n=(e,t)=>{var n;const a=e.querySelectorAll("wbr");if(a.length===0)return;a.forEach((s,o)=>{o!==0&&s.remove()});const i=a[0];if(!i.previousElementSibling)i.previousSibling?t.setStart(i.previousSibling,i.previousSibling.textContent.length):i.nextSibling?i.nextSibling.nodeType===3?t.setStart(i.nextSibling,0):t.setStartAfter(i):t.setStart(i.parentElement,0);else{const s=Rt(i);s&&i.previousElementSibling.isSameNode(s)?((n=i.previousElementSibling.lastChild)==null?void 0:n.nodeType)===3?t.setStart(i.previousElementSibling.lastChild,i.previousElementSibling.lastChild.textContent.length):s.nodeType!==3&&s.classList.contains("img")?t.setStartAfter(s):t.setStartBefore(i):t.setStart(i.previousSibling,i.previousSibling.textContent.length)}t.collapse(!0),i.remove(),Le(t)},Le=e=>{if(!e)return;const t=e.startContainer.childNodes[e.startOffset];if(t&&t.nodeType!==3&&["INPUT","TEXTAREA"].includes(t.tagName)){t.focus();return}const n=window.getSelection();n.removeAllRanges(),n.addRange(e)},qe=(e,t,n=!0)=>{if(!e)return!1;if(e.classList.contains("render-node")||e.classList.contains("iframe")||e.classList.contains("hr")||e.classList.contains("av")){const i=document.createRange(),s=e.getAttribute("data-type");let o=!1;if(s==="NodeThematicBreak")i.selectNodeContents(e.firstElementChild),o=!0;else if(s==="NodeBlockQueryEmbed")ue(e),i.setStart(e.querySelector(".protyle-cursor").firstChild,0),i.collapse(!0),o=!0;else if(s==="NodeMathBlock")ue(e),i.setStart(e.firstElementChild.lastElementChild.firstChild,0),o=!0;else if(s==="NodeHTMLBlock")i.setStart(e.lastElementChild.previousElementSibling.lastElementChild.firstChild,0),i.collapse(!0),o=!0;else if(s==="NodeIFrame"||s==="NodeWidget")i.setStart(e,0),o=!0;else if(s==="NodeVideo")i.setStart(e.firstElementChild.firstChild,0),o=!0;else if(s==="NodeAudio")i.setStart(e.firstElementChild.lastChild,0),o=!0;else if(s==="NodeCodeBlock")i.selectNodeContents(e),i.collapse(!0),o=!0;else if(s==="NodeAttributeView")return!1;return o?(Le(i),i):(_i(e),!1)}let a;if(n?a=he(e):Array.from(e.querySelectorAll('[contenteditable="true"]')).reverse().find(i=>{if(i.getBoundingClientRect().width>
160)return a=i,!0}),a){if(a.tagName==="TABLE")if(n)a=a.querySelector("th, td");else{const s=a.querySelectorAll("th, td");a=s[s.length-1]}let i;if(n)i=wi(a,it(a)),i.collapse(!0);else{let s=!1;if(e.getAttribute("data-type")==="NodeCodeBlock"){let o=a.lastChild;if(o||(a.innerHTML=`
17`,o=a.lastChild),o.textContent===""&&o.nodeType===3&&(o=Rt(a.lastChild)),o&&o.textContent.endsWith(`
18`)){if(o.nodeType===1)for(o=o.lastChild;o&&o.textContent.indexOf(`
19`)===-1;)o=o.previousSibling;i=it(a),i.setStart(o,o.textContent.length-1),s=!0}}s||(i=en(a,it(a))),i.collapse(!1)}return Le(i),i}else if(t)t.focus();else if(e.classList.contains("li"))return qe(e.querySelector("[data-node-id]"),t,n);return!1},_i=e=>{if(e.getAttribute("data-node-id")){let n,a;e.nextElementSibling&&!e.nextElementSibling.classList.contains("protyle-attr")?(a=!0,n=ut(e)):e.previousElementSibling&&(a=!1,n=De(e)),n||(n=e),qe(n,void 0,a);return}const t=it(e);e.nextSibling?(t.selectNodeContents(e.nextSibling),t.collapse(!0)):e.previousSibling&&(t.selectNodeContents(e.previousSibling),t.collapse(!1)),Le(t)},Hn=(e,t)=>{if(!document.getElementById(t)){const n=document.createElement("link");n.id=t,n.rel="stylesheet",n.type="text/css",n.href=e;const a=document.querySelector("#pluginsStyle");a?a.before(n):document.getElementsByTagName("head")[0].appendChild(n)}},Ta=()=>([1e7].toString()+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(parseInt(e,10)^window.crypto.getRandomValues(new Uint32Array(1))[0]&15>>parseInt(e,10)/4).toString(16)),fr=()=>{const e=document.getElementById("message");e.innerHTML=`<div class="fn__flex-1"></div>
20<button class="b3-button ft__smaller fn__none">${window.siyuan.languages.clearMessage}</button>`,e.addEventListener("click",n=>{let a=n.target;for(;a&&!a.isEqualNode(e);){if(a.classList.contains("b3-snackbar__close")){ft(a.parentElement.getAttribute("data-id")),n.preventDefault();break}else if(a.isSameNode(e.lastElementChild)){a.parentElement.classList.remove("b3-snackbars--show"),setTimeout(()=>{a.parentElement.firstElementChild.innerHTML=""},Constants.TIMEOUT_INPUT),n.preventDefault();break}else{if(a.tagName==="A"||a.tagName==="BUTTON")break;if(a.classList.contains("b3-snackbar")){(getSelection().rangeCount===0||!getSelection().getRangeAt(0).toString())&&ft(a.getAttribute("data-id")),n.preventDefault(),n.stopPropagation();break}}a=a.parentElement}});const t=document.getElementById("tempMessage");t&&(Ze(t.innerHTML),t.remove())},Ze=(e,t=6e3,n="info",a)=>{const i=document.getElementById("message").firstElementChild;if(!i){document.body.insertAdjacentHTML("beforeend",`<div style="top: 10px;
21    position: fixed;
22    z-index: 100;
23    background: white;
24    padding: 10px;
25    border-radius: 5px;
26    right: 10px;
27    border: 1px solid #e0e0e0;" id='tempMessage'>${e}</div>`);return}const s=a||Ta(),o=i.querySelector(`.b3-snackbar[data-id="${s}"]`),l=e+(n==="error"?" v"+$.SIYUAN_VERSION:"");if(o){if(window.clearTimeout(parseInt(o.getAttribute("data-timeoutid"))),o.innerHTML=`<div data-type="textMenu" class="b3-snackbar__content${t===0?" b3-snackbar__content--close":""}">${l}</div>${t===0?'<svg class="b3-snackbar__close"><use xlink:href="#iconCloseRound"></use></svg>':""}`,n==="error"?o.classList.add("b3-snackbar--error"):o.classList.remove("b3-snackbar--error"),t>0){const c=window.setTimeout(()=>{ft(s)},t);o.setAttribute("data-timeoutid",c.toString())}return}let r=`<div data-id="${s}" class="b3-snackbar--hide b3-snackbar${n==="error"?" b3-snackbar--error":""}"><div data-type="textMenu" class="b3-snackbar__content${t===0?" b3-snackbar__content--close":""}">${l}</div>`;if(t===0)r+='<svg class="b3-snackbar__close"><use xlink:href="#iconCloseRound"></use></svg>';else if(t!==-1){const c=window.setTimeout(()=>{ft(s)},t);r=r.replace("<div data-id",`<div data-timeoutid="${c}" data-id`)}return i.parentElement.classList.add("b3-snackbars--show"),i.parentElement.style.zIndex=(++window.siyuan.zIndex).toString(),i.insertAdjacentHTML("afterbegin",r+"</div>"),setTimeout(()=>{i.querySelectorAll(".b3-snackbar--hide").forEach(c=>{c.classList.remove("b3-snackbar--hide")})}),i.firstElementChild.nextElementSibling&&i.firstElementChild.nextElementSibling.innerHTML===i.firstElementChild.innerHTML&&i.firstElementChild.nextElementSibling.remove(),i.scrollTo({top:0,behavior:"smooth"}),s},ft=e=>{const t=document.getElementById("message").firstElementChild;if(t)if(e){const n=t.querySelector(`[data-id="${e}"]`);n&&(n.classList.add("b3-snackbar--hide"),window.clearTimeout(parseInt(n.getAttribute("data-timeoutid"))),setTimeout(()=>{n.remove(),t.childElementCount===0&&(t.parentElement.classList.remove("b3-snackbars--show"),t.innerHTML="")},$.TIMEOUT_INPUT));let a=!1;Array.from(t.children).find(i=>{if(!i.classList.contains("b3-snackbar--hide"))return a=!0,!0}),a?t.parentElement.classList.add("b3-snackbars--show"):t.parentElement.classList.remove("b3-snackbars--show")}else t.parentElement.classList.remove("b3-snackbars--show"),setTimeout(()=>{t.innerHTML=""},$.TIMEOUT_INPUT)};var Nn=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const Ia=e=>{if(e)if(St())if(e.startsWith("assets/"))window.webkit.messageHandlers.openLink.postMessage(location.origin+"/assets/"+encodeURIComponent(e.replace("assets/","")));else if(e.startsWith("/"))window.webkit.messageHandlers.openLink.postMessage(location.origin+e);else try{new URL(e),window.webkit.messageHandlers.openLink.postMessage(e)}catch(t){window.webkit.messageHandlers.openLink.postMessage("https://"+e)}else Xe()?window.JSAndroid.openExternal(e):gt()?window.JSHarmony.openExternal(e):window.open(e)},vi=e=>{e&&(St()?Ia(e):Xe()?window.JSAndroid.exportByDefault(e):gt()?window.JSHarmony.exportByDefault(e):window.open(e))},gr=()=>Xe()?window.JSAndroid.readClipboard():gt()?window.JSHarmony.readClipboard():navigator.clipboard.readText(),Ei=()=>Nn(void 0,null,function*(){const e={textPlain:"",textHTML:""};try{const t=yield navigator.clipboard.read();for(const n of t){if(n.types.includes("text/html")){const a=yield n.getType("text/html");e.textHTML=yield a.text()}if(n.types.includes("text/plain")){const a=yield n.getType("text/plain");e.textPlain=yield a.text()}if(n.types.includes("image/png")){const a=yield n.getType("image/png");e.files=[new File([a],"image.png",{type:"image/png",lastModified:Date.now()})]}}return e}catch(t){return Xe()?(e.textPlain=window.JSAndroid.readClipboard(),e.textHTML=window.JSAndroid.readHTMLClipboard()):gt()&&(e.textPlain=window.JSHarmony.readClipboard(),e.textHTML=window.JSHarmony.readHTMLClipboard()),e}}),Bn=e=>{let t;getSelection().rangeCount>0&&(t=getSelection().getRangeAt(0).cloneRange());try{if(Xe()){window.JSAndroid.writeClipboard(e);return}if(gt()){window.JSHarmony.writeClipboard(e);return}if(St()){window.webkit.messageHandlers.setClipboard.postMessage(e);return}navigator.clipboard.writeText(e)}catch(n){if(St())window.webkit.messageHandlers.setClipboard.postMessage(e);else if(Xe())window.JSAndroid.writeClipboard(e);else if(gt())window.JSHarmony.writeClipboard(e);else{const a=document.createElement("textarea");a.value=e,a.style.position="fixed",document.body.appendChild(a),a.focus(),a.select(),document.execCommand("copy"),document.body.removeChild(a),t&&Le(t)}}},pr=e=>Nn(void 0,null,function*(){e=e.replace(new RegExp(Constants.ZWSP,"g"),""),yield Bn(e)}),ki=()=>Ai()?"touchstart":"click",mr=e=>Ma()?!!(e.metaKey&&!e.ctrlKey):!!(!e.metaKey&&e.ctrlKey),Ci=e=>!e.metaKey&&!e.ctrlKey,br=()=>window.siyuan.config.system.osPlatform.toLowerCase().indexOf("huawei")>-1,yr=e=>{var t;return((t=window.siyuan.config.system.disabledFeatures)==null?void 0:t.indexOf(e))>-1},Ai=()=>navigator.userAgent.indexOf("iPhone")>-1,hr=()=>{const e=navigator.userAgent;return e.includes("Safari")&&!e.includes("Chrome")&&!e.includes("Chromium")},wr=()=>navigator.userAgent.indexOf("iPad")>-1,Ma=()=>navigator.platform.toUpperCase().indexOf("MAC")>-1,_r=()=>Nn(void 0,null,function*(){if(!navigator.userAgentData||!navigator.userAgentData.getHighEntropyValues)return!1;const e=yield navigator.userAgentData.getHighEntropyValues(["platformVersion"]);return navigator.userAgentData.platform==="Windows"&&parseInt(e.platformVersion.split(".")[0])>=13}),vr=()=>navigator.platform.toUpperCase().indexOf("WIN")>-1,Xe=()=>window.siyuan.config.system.container==="android"&&window.JSAndroid,St=()=>{var e;return window.siyuan.config.system.container==="ios"&&((e=window.webkit)==null?void 0:e.messageHandlers)},gt=()=>window.siyuan.config.system.container==="harmony"&&window.JSHarmony,Er=e=>
27e?" "+tn(e):"",tn=e=>{if(Ma())return e;const t=new Map(Object.entries({"\u2318":"Ctrl","\u2303":"Ctrl","\u21E7":"Shift","\u2325":"Alt","\u21E5":"Tab","\u232B":"Backspace","\u2326":"Delete","\u21A9":"Enter"})),n=[];(e.indexOf("\u2318")>-1||e.indexOf("\u2303")>-1)&&n.push(t.get("\u2318")),e.indexOf("\u21E7")>-1&&n.push(t.get("\u21E7")),e.indexOf("\u2325")>-1&&n.push(t.get("\u2325"));const a=e.replace(/⌘|⇧|⌥|⌃/g,"");return a&&n.push(t.get(a)||a),n.join("+")},kr=e=>{fetchPost("/api/storage/getLocalStorage",void 0,t=>{window.siyuan.storage=t.data;const n={};n[Constants.LOCAL_SEARCHASSET]={keys:[],col:"",row:"",layout:0,method:0,types:{},sort:0,k:""},n[Constants.LOCAL_SEARCHUNREF]={col:"",row:"",layout:0},Constants.SIYUAN_ASSETS_SEARCH.forEach(a=>{n[Constants.LOCAL_SEARCHASSET].types[a]=!0}),n[Constants.LOCAL_SEARCHKEYS]={keys:[],replaceKeys:[],col:"",row:"",layout:0,colTab:"",rowTab:"",layoutTab:0},n[Constants.LOCAL_PDFTHEME]={light:"light",dark:"dark",annoColor:"var(--b3-pdf-background1)"},n[Constants.LOCAL_LAYOUTS]=[],n[Constants.LOCAL_AI]=[],n[Constants.LOCAL_PLUGIN_DOCKS]={},n[Constants.LOCAL_PLUGINTOPUNPIN]=[],n[Constants.LOCAL_OUTLINE]={keepExpand:!0},n[Constants.LOCAL_FILEPOSITION]={},n[Constants.LOCAL_DIALOGPOSITION]={},n[Constants.LOCAL_HISTORY]={notebookId:"%",type:0,operation:"all",sideWidth:"256px",sideDocWidth:"256px",sideDiffWidth:"256px"},n[Constants.LOCAL_FLASHCARD]={fullscreen:!1},n[Constants.LOCAL_BAZAAR]={theme:"0",template:"0",icon:"0",widget:"0"},n[Constants.LOCAL_EXPORTWORD]={removeAssets:!1,mergeSubdocs:!1},n[Constants.LOCAL_EXPORTPDF]={landscape:!1,marginType:"0",scale:1,pageSize:"A4",removeAssets:!0,keepFold:!1,mergeSubdocs:!1,watermark:!1},n[Constants.LOCAL_EXPORTIMG]={keepFold:!1,watermark:!1},n[Constants.LOCAL_DOCINFO]={id:""},n[Constants.LOCAL_IMAGES]={file:"1f4c4",note:"1f5c3",folder:"1f4d1"},n[Constants.LOCAL_EMOJIS]={currentTab:"emoji"},n[Constants.LOCAL_FONTSTYLES]=[],n[Constants.LOCAL_FILESPATHS]=[],n[Constants.LOCAL_SEARCHDATA]={page:1,sort:0,group:0,hasReplace:!1,method:0,hPath:"",idPath:[],k:"",r:"",types:{document:window.siyuan.config.search.document,heading:window.siyuan.config.search.heading,list:window.siyuan.config.search.list,listItem:window.siyuan.config.search.listItem,codeBlock:window.siyuan.config.search.codeBlock,htmlBlock:window.siyuan.config.search.htmlBlock,mathBlock:window.siyuan.config.search.mathBlock,table:window.siyuan.config.search.table,blockquote:window.siyuan.config.search.blockquote,superBlock:window.siyuan.config.search.superBlock,paragraph:window.siyuan.config.search.paragraph,embedBlock:window.siyuan.config.search.embedBlock,databaseBlock:window.siyuan.config.search.databaseBlock},replaceTypes:Object.assign({},Constants.SIYUAN_DEFAULT_REPLACETYPES)}
27,n[Constants.LOCAL_ZOOM]=1,n[Constants.LOCAL_MOVE_PATH]={keys:[],k:""},[Constants.LOCAL_EXPORTIMG,Constants.LOCAL_SEARCHKEYS,Constants.LOCAL_PDFTHEME,Constants.LOCAL_BAZAAR,Constants.LOCAL_EXPORTWORD,Constants.LOCAL_EXPORTPDF,Constants.LOCAL_DOCINFO,Constants.LOCAL_FONTSTYLES,Constants.LOCAL_SEARCHDATA,Constants.LOCAL_ZOOM,Constants.LOCAL_LAYOUTS,Constants.LOCAL_AI,Constants.LOCAL_PLUGINTOPUNPIN,Constants.LOCAL_SEARCHASSET,Constants.LOCAL_FLASHCARD,Constants.LOCAL_DIALOGPOSITION,Constants.LOCAL_SEARCHUNREF,Constants.LOCAL_HISTORY,Constants.LOCAL_OUTLINE,Constants.LOCAL_FILEPOSITION,Constants.LOCAL_FILESPATHS,Constants.LOCAL_IMAGES,Constants.LOCAL_PLUGIN_DOCKS,Constants.LOCAL_EMOJIS,Constants.LOCAL_MOVE_PATH].forEach(a=>{if(typeof t.data[a]=="string")try{const i=JSON.parse(t.data[a]);typeof i=="number"?window.siyuan.storage[a]=i:window.siyuan.storage[a]=Object.assign(n[a],i)}catch(i){window.siyuan.storage[a]=n[a]}else typeof t.data[a]=="undefined"&&(window.siyuan.storage[a]=n[a])}),(!window.siyuan.storage[Constants.LOCAL_SEARCHDATA].replaceTypes||Object.keys(window.siyuan.storage[Constants.LOCAL_SEARCHDATA].replaceTypes).length===0)&&(window.siyuan.storage[Constants.LOCAL_SEARCHDATA].replaceTypes=Object.assign({},Constants.SIYUAN_DEFAULT_REPLACETYPES)),e()})},Pn=(e,t,n)=>{window.siyuan.config.readonly||ve("/api/storage/setLocalStorageVal",{app:$.SIYUAN_APPID,key:e,val:t},()=>{n&&n()})},Da=e=>{var t,n,a;if(e.cmd==="msg"){const i=Ze(e.msg,e.data.closeTimeout,e.code===0?"info":"error",e.data.id);return(t=document.querySelector("#message #addMicrosoftDefenderExclusion"))==null||t.addEventListener("click",s=>{s.target.innerHTML='<svg class="fn__rotate" style="margin-right: 0;"><use xlink:href="#iconRefresh"></use></svg>',ve("/api/system/addMicrosoftDefenderExclusion",{},()=>{ft(i)})},{once:!0}),(n=document.querySelector("#message #ignoreAddMicrosoftDefenderExclusion"))==null||n.addEventListener("click",()=>{ft(i),ve("/api/system/ignoreAddMicrosoftDefenderExclusion")},{once:!0}),!1}if(e.cmd==="cmsg")return ft(e.data.id),!1;if(e.cmd==="cprogress"){const i=document.getElementById("progress");return i&&i.remove(),!1}return e.cmd==="reloadui"?((a=e.data)!=null&&a.resetScroll?(window.siyuan.storage[$.LOCAL_FILEPOSITION]={},Pn($.LOCAL_FILEPOSITION,window.siyuan.storage[$.LOCAL_FILEPOSITION],()=>{window.location.reload()})):window.location.reload(),!1):e.code<0?(Ze(e.msg,e.data&&e.data.closeTimeout||0,e.code===-1?"error":"info"),!1):e};class $a{constructor(t){this.disableClose=t.disableClose,this.id=Ta(),window.siyuan.dialogs.push(this),this.destroyCallback=t.destroyCallback,this.element=document.createElement("div");let n,a;if(!N()&&t.positionId){const i=window.siyuan.storage[$.LOCAL_DIALOGPOSITION][t.positionId];i&&i.left+i.width+34<=window.innerWidth&&i.top+i.height<=window.innerHeight&&(n=i.left+"px",a=i.top+"px",t.width=i.width+"px",t.height=i.height+"px")}this.element.innerHTML=`<div class="b3-dialog" style="z-index: ${++window.siyuan.zIndex};${typeof n=="string"?"display:block":""}">
28<div class="b3-dialog__scrim"${t.transparent?'style="background-color:transparent"':""}></div>
29<div class="b3-dialog__container ${t.containerClassName||""}" style="width:${t.width||"auto"};height:${t.height||"auto"};
30left:${n||"auto"};top:${a||"auto"}">
31  <svg ${N()&&t.title?'style="top:0;right:0;"':""} class="b3-dialog__close${this.disableClose||t.hideCloseIcon?" fn__none":""}"><use xlink:href="#iconCloseRound"></use></svg>
32  <div class="resize__move b3-dialog__header${t.title?"":" fn__none"}" onselectstart="return false;">${t.title||""}</div>
33  <div class="b3-dialog__body">${t.content}</div>
34  <div class="resize__rd"></div><div class="resize__ld"></div><div class="resize__lt"></div><div class="resize__rt"></div><div class="resize__r"></div><div class="resize__d"></div><div class="resize__t"></div><div class="resize__l"></div>
35</div></div>`,this.element.querySelector(".b3-dialog__scrim").addEventListener("click",i=>{this.disableClose||this.destroy(),i.preventDefault(),i.stopPropagation()}),this.disableClose||this.element.querySelector(".b3-dialog__close").addEventListener("click",i=>{this.destroy(),i.preventDefault(),i.stopPropagation()}),document.body.append(this.element),t.disableAnimation?this.element.classList.add("b3-dialog--open"):setTimeout(()=>{this.element.classList.add("b3-dialog--open")})}destroy(t){this.element.classList.remove("b3-dialog--open"),setTimeout(()=>{var n;this.element.querySelector(".b3-dialog").style.zIndex<window.siyuan.menus.menu.element.style.zIndex&&window.siyuan.menus.menu.remove(),this.element.remove(),this.destroyCallback&&this.destroyCallback(t),window.siyuan.dialogs.find((a,i)=>{if(a.id===this.id)return window.siyuan.dialogs.splice(i,1),!0}),(n=document.getElementById("drag"))==null||n.classList.remove("fn__hidden")},$.TIMEOUT_DBLCLICK)}bindInput(t,n,a=!0){t.focus(),t.addEventListener("keydown",i=>{if(i.isComposing){i.preventDefault();return}if(i.key==="Escape"){this.destroy(),i.preventDefault(),i.stopPropagation();return}!i.shiftKey&&Ci(i)&&i.key==="Enter"&&n&&a&&(n(),i.preventDefault(),i.stopPropagation())})}}const Cr=(e,t,n,a,i=!1)=>
35{if(!t&&!e){n();return}const s=new Dialog({title:e,content:`<div class="b3-dialog__content">
36    <div class="ft__breakword">${t}</div>
37</div>
38<div class="b3-dialog__action">
39    <button class="b3-button b3-button--cancel" id="cancelDialogConfirmBtn">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
40    <button class="b3-button ${i?"b3-button--remove":"b3-button--text"}" id="confirmDialogConfirmBtn">${window.siyuan.languages[i?"delete":"confirm"]}</button>
41</div>`,width:isMobile()?"92vw":"520px"});s.element.addEventListener("click",o=>{let l=o.target;const r=typeof o.detail=="string";for(;l&&!l.isSameNode(s.element)||r;){if(l.id==="cancelDialogConfirmBtn"||r&&o.detail==="Escape"){a&&a(s),s.destroy();break}else if(l.id==="confirmDialogConfirmBtn"||r&&o.detail==="Enter"){n&&n(s),s.destroy();break}l=l.parentElement}}),s.element.setAttribute("data-key",Constants.DIALOG_CONFIRM)};var Rn=$e(101);const Ar=(e,t,n,a=0,i=0)=>{e.style.top=n+"px",e.style.left=t+"px";const s=e.getBoundingClientRect();if(s.bottom>window.innerHeight||s.top<Constants.SIZE_TOOLBAR_HEIGHT){const o=n-s.height-a;o>Constants.SIZE_TOOLBAR_HEIGHT&&o+s.height<window.innerHeight?e.style.top=o+"px":o<=Constants.SIZE_TOOLBAR_HEIGHT?e.style.top=Constants.SIZE_TOOLBAR_HEIGHT+"px":e.style.top=Math.max(Constants.SIZE_TOOLBAR_HEIGHT,window.innerHeight-s.height)+"px"}s.right>window.innerWidth?e.style.left=`${window.innerWidth-s.width-i}px`:s.left<0&&(e.style.left="0")};var Je=$e(287);const Si=()=>{const e=window.siyuan.emojis[getRandom(0,window.siyuan.emojis.length-1)];return typeof e.items[getRandom(0,e.items.length-1)]=="undefined"?"1f600":e.items[getRandom(0,e.items.length-1)].unicode},xe=(e,t="",n=!1,a=!1)=>{if(!e)return"";let i="";if(e.startsWith("api/icon/getDynamicIcon"))i=`<img class="${t}" ${a?"data-":""}src="${e}"/>`;else if(e.indexOf(".")>-1)i=`<img class="${t}" ${a?"data-":""}src="/emojis/${e}"/>`;else try{e.split("-").forEach(s=>{s.length<5?i+=String.fromCodePoint(parseInt("0"+s,16)):i+=String.fromCodePoint(parseInt(s,16))}),n&&(i=`<span class="${t}">${i}</span>`)}catch(s){}return i},On=e=>{const t=new IntersectionObserver(n=>{n.forEach(a=>{const i=a.target.getAttribute("data-index");if((typeof a.isIntersecting=="undefined"?a.intersectionRatio!==0:a.isIntersecting)&&i){let s="";window.siyuan.emojis[parseInt(i)].items.forEach(o=>{s+=`<button data-unicode="${o.unicode}" class="emojis__item ariaLabel" aria-label="${xt(o)}">
42${xe(o.unicode)}</button>`}),a.target.innerHTML=s,a.target.removeAttribute("data-index"),a.target.style.minHeight=""}})});e.querySelectorAll(".emojis__content").forEach(n=>{t.observe(n)})},qn=e=>{const t=new IntersectionObserver(n=>{n.forEach(a=>{const i=a.target.getAttribute("data-src");(typeof a.isIntersecting=="undefined"?a.intersectionRatio!==0:a.isIntersecting)&&i&&(a.target.src=i,a.target.removeAttribute("data-src"))})});e.querySelectorAll("img").forEach(n=>{t.observe(n)})},Un=(e="",t)=>{let n="";const a=[];e&&(n=`<div class="emojis__title">${window.siyuan.languages.emoji}</div><div class="emojis__content">`);let i=0,s="";const o=[];window.siyuan.emojis.forEach((r,c)=>{e||(n+=`<div class="emojis__title" data-type="${c+1}">${Ve(c)}</div><div style="min-height:${c===0?"30px":"300px"}" class="emojis__content"${c>1?' data-index="'+c+'"':""}>`),r.items.length===0&&c===0&&!e&&(n+=`<div style="margin-left: 4px">${window.siyuan.languages.setEmojiTip}</div>`),r.items.forEach(f=>{if(e){if(window.siyuan.config.editor.emoji.includes(f.unicode)&&(xe(f.unicode)===e||f.keywords.toLowerCase().indexOf(e.toLowerCase())>-1||f.description.toLowerCase().indexOf(e.toLowerCase())>-1||f.description_zh_cn.toLowerCase().indexOf(e.toLowerCase())>-1||f.description_ja_jp.toLowerCase().indexOf(e.toLowerCase())>-1)&&a.push(f),t&&i>t)return;(xe(f.unicode)===e||f.keywords.toLowerCase().indexOf(e.toLowerCase())>-1||f.description.toLowerCase().indexOf(e.toLowerCase())>-1||f.description_zh_cn.toLowerCase().indexOf(e.toLowerCase())>-1||f.description_ja_jp.toLowerCase().indexOf(e.toLowerCase())>-1)&&(r.id==="custom"?o.push(f):s+=`<button data-unicode="${f.unicode}" class="emojis__item ariaLabel" aria-label="${xt(f)}">
43${xe(f.unicode,void 0,!1,!0)}</button>`,i++)}else window.siyuan.config.editor.emoji.includes(f.unicode)&&a.push(f),c<2&&(n+=`<button data-unicode="${f.unicode}" class="emojis__item ariaLabel" aria-label="${xt(f)}">
44${xe(f.unicode,void 0,!1,!0)}</button>`)}),e||(n+="</div>")}),e&&(o.sort((r,c)=>{const f=r.keywords.split("/"),d=c.keywords.split("/");return f[f.length-1].toLowerCase().indexOf(e.toLowerCase())<d[d.length-1].toLowerCase().indexOf(e.toLowerCase())?-1:0}).sort((r,c)=>{const f=r.keywords.split("/"),d=c.keywords.split("/");return f[f.length-1].toLowerCase().indexOf(e.toLowerCase())===d[d.length-1].toLowerCase().indexOf(e.toLowerCase())&&f[f.length-1].length<d[d.length-1].length?-1:0}
44).forEach(r=>{n+=`<button data-unicode="${r.unicode}" class="emojis__item ariaLabel" aria-label="${xt(r)}">
45${xe(r.unicode,void 0,!1,!0)}</button>`}),n=n+s+"</div>");let l="";return a.length>0&&(l=`<div class="emojis__title" data-type="0">${window.siyuan.languages.recentEmoji}</div><div class="emojis__content">`,window.siyuan.config.editor.emoji.forEach(r=>{const c=a.filter(f=>f.unicode===r);c[0]&&(l+=`<button data-unicode="${c[0].unicode}" class="emojis__item ariaLabel" aria-label="${xt(c[0])}">
46${xe(c[0].unicode,void 0,!1,!0)}
47</button>`)}),l+="</div>"),l+n===""?`<div class="emojis__title">${window.siyuan.languages.emptyContent}</div>`:l+n},nn=e=>{window.siyuan.config.editor.emoji.unshift(e),window.siyuan.config.editor.emoji.length>Constants.SIZE_UNDO&&window.siyuan.config.editor.emoji.pop(),window.siyuan.config.editor.emoji=Array.from(new Set(window.siyuan.config.editor.emoji)),fetchPost("/api/setting/setEmoji",{emoji:window.siyuan.config.editor.emoji})},Ha=(e,t)=>{const n={1:["Sun","\u5468\u65E5","\u9031\u65E5"],2:["SUN","\u5468\u5929","\u9031\u5929"],3:["Sunday","\u661F\u671F\u65E5","\u661F\u671F\u65E5"],4:["SUNDAY","\u661F\u671F\u5929","\u661F\u671F\u5929"]};let a=0;return e===""&&(e=window.siyuan.config.lang),e==="zh_CN"?a=1:e==="zh_CHT"&&(a=2),`<option value="1" ${t==="1"?" selected":""}>${n[1][a]}</option>
48<option value="2" ${t==="2"?" selected":""}>${n[2][a]}</option>
49<option value="3" ${t==="3"?" selected":""}>${n[3][a]}</option>
50<option value="4" ${t==="4"?" selected":""}>${n[4][a]}</option>`},Na=(e,t)=>{if(!e)return;let n="";window.siyuan.emojis[parseInt(e)].items.forEach(a=>{n+=`<button data-unicode="${a.unicode}" class="emojis__item ariaLabel" aria-label="${xt(a)}">${xe(a.unicode)}</button>`}),t.innerHTML=n,t.removeAttribute("data-index"),t.removeAttribute("style")},Sr=(e,t,n,a,i)=>{t!=="av"?window.siyuan.menus.menu.remove():window.siyuan.menus.menu.removeScrollEvent();const s="api/icon/getDynamicIcon?",o={color:"#d23f31",lang:"",date:"",weekdayType:"1",type:"1",content:"SiYuan"};if(i&&i.getAttribute("src").startsWith(s)){const b=new URLSearchParams(i.getAttribute("src").replace(s,""));o.color=b.get("color")||"#d23f31",o.color.startsWith("#")||(o.color="#"+o.color),o.lang=b.get("lang")||"",o.date=b.get("date")||"",o.weekdayType=b.get("weekdayType")||"1",o.type=b.get("type")||"1",o.content=b.get("content")||"SiYuan"}const l=new Dialog({disableAnimation:!0,transparent:!0,hideCloseIcon:!0,width:isMobile()?"80vw":"368px",height:"50vh",content:`<div class="emojis">
51    <div class="emojis__tabheader">
52        <div data-type="tab-emoji" class="ariaLabel block__icon block__icon--show" aria-label="${window.siyuan.languages.emoji}"><svg><use xlink:href="#iconEmoji"></use></svg></div>
53        <div class="fn__space"></div>
54        <div data-type="tab-dynamic" class="ariaLabel block__icon block__icon--show" aria-label="${window.siyuan.languages.dynamicEmoji}"><svg><use xlink:href="#iconCalendar"></use></svg></div>
55        <div class="fn__flex-1"></div>
56        <span class="block__icon block__icon--show fn__flex-center ariaLabel" data-action="remove" aria-label="${window.siyuan.languages.remove}"><svg><use xlink:href="#iconTrashcan"></use></svg></span>
57    </div>
58    <div class="emojis__tabbody">
59        <div class="fn__none" data-type="tab-emoji">
60            <div class="fn__hr"></div>
61            <div class="fn__flex">
62                <span class="fn__space"></span>
63                <label class="b3-form__icon fn__flex-1" style="overflow:initial;">
64                    <svg class="b3-form__icon-icon"><use xlink:href="#iconSearch"></use></svg>
65                    <input class="b3-form__icon-input b3-text-field fn__block" placeholder="${window.siyuan.languages.search}">
66                </label>
67                <span class="fn__space"></span>
68                <span class="block__icon block__icon--show fn__flex-center ariaLabel" data-action="random" aria-label="${window.siyuan.languages.random}"><svg><use xlink:href="#iconRefresh"></use></svg></span>
69                <span class="fn__space"></span>
70            </div>
71            <div class="emojis__panel">${Un()}</div>
72            <div class="fn__flex">
73                ${[["2b50",window.siyuan.languages.recentEmoji],["1f527",Ve(0)],["1f60d",Ve(1)],["1f433",Ve(2)],["1f96a",Ve(3)],["1f3a8",Ve(4)],["1f3dd-fe0f",Ve(5)],["1f52e",Ve(6)],["267e-fe0f",Ve(7)],["1f6a9",Ve(8)]].map(([b,E],k)=>`<div data-type="${k}" class="emojis__type ariaLabel" aria-label="${E}">${xe(b)}</div>`).join("")}
74            </div>
75        </div>
76        <div class="fn__none" data-type="tab-dynamic">
77            <div class="fn__flex emoji__dynamic-color">
78                <div class="color__square fn__pointer${o.color==="#d23f31"?" color__square--current":""}" style="background-color:#d23f31"></div>
79                <div class="color__square fn__pointer${o.color==="#3575f0"?" color__square--current":""}" style="background-color:#3575f0"></div>
80                <div class="color__square fn__pointer${o.color==="#f3a92f"?" color__square--current":""}" style="background-color:#f3a92f"></div>
81                <div class="color__square fn__pointer${o.color==="#65b84d"?" color__square--current":""}" style="background-color:#65b84d"></div>
82                <div class="color__square fn__pointer${o.color==="#e099ff"?" color__square--current":""}" style="background-color:#e099ff"></div>
83                <div class="color__square fn__pointer${o.color==="#ea5d97"?" color__square--current":""}" style="background-color:#ea5d97"></div>
84                <div class="color__square fn__pointer${o.color==="#93627f"?" color__square--current":""}" style="background-color:#93627f"></div>
85                <div class="color__square fn__pointer${o.color==="#5f6368"?" color__square--current":""}" style="background-color:#5f6368"></div>
86                <div class="fn__space--small"></div>
87                <input type="text" class="b3-text-field fn__flex-1 fn__flex-center" value="${o.color}">
88            </div>
89            <div class="fn__flex">
90                <span class="fn__space"></span>
91                <span class="fn__flex-center ft__on-surface" style="width: 89px">${window.siyuan.languages.language}</span>
92                <span class="fn__space--small"></span>
93                <select class="b3-select fn__flex-1">
94                    <option value="" ${o.lang===""?" selected":""}>${window.siyuan.languages.themeOS}</option>
95                    <option value="en_US" ${o.lang==="en_US"?" selected":""}>English (en_US)</option>
96                    <option value="zh_CHT" ${o.lang==="zh_CHT"?" selected":""}>\u7E41\u9AD4\u4E2D\u6587 (zh_CHT)</option>
97                    <option value="zh_CN" ${o.lang==="zh_CN"?" selected":""}>\u7B80\u4F53\u4E2D\u6587 (zh_CN)</option>
98                </select>
99                <span class="fn__space"></span>
100            </div>
101            <div class="fn__hr"></div>
102            <div class="fn__flex">
103                <span class="fn__space"></span>
104                <span class="fn__flex-center ft__on-surface" style="width: 89px">${window.siyuan.languages.date}</span>
105                <span class="fn__space--small"></span>
106                <input type="date" max="9999-12-31" class="b3-text-field fn__flex-1" value="${o.date}"/>
107                <span class="fn__space"></span>
108            </div>
109            <div class="fn__hr"></div>
110            <div class="fn__flex">
111                <span class="fn__space"></span>
112                <span class="fn__flex-center ft__on-surface" style="width: 89px">${window.siyuan.languages.format}</span>
113                <span class="fn__space--small"></span>
114                <select class="b3-select fn__flex-1">
115                    ${Ha(o.lang,o.weekdayType)}
116                </select>
117                <span class="fn__space"></span>
118            </div>
119            <div class="fn__flex fn__flex-wrap">
120                <img class="emoji__dynamic-item${o.type==="1"?" emoji__dynamic-item--current":""}" src="${s}type=1&color=${encodeURIComponent(o.color)}&date=${o.date}&weekdayType=${o.weekdayType}&lang=${o.lang}">
121                <img class="emoji__dynamic-item${o.type==="2"?" emoji__dynamic-item--current":""}" src="${s}type=2&color=${encodeURIComponent(o.color)}&date=${o.date}&weekdayType=${o.weekdayType}&lang=${o.lang}">
122                <img class="emoji__dynamic-item${o.type==="3"?" emoji__dynamic-item--current":""}" src="${s}type=3&color=${encodeURIComponent(o.color)}&date=${o.date}&weekdayType=${o.weekdayType}&lang=${o.lang}">
123                <img class="emoji__dynamic-item${o.type==="4"?" emoji__dynamic-item--current":""}" src="${s}type=4&color=${encodeURIComponent(o.color)}&date=${o.date}&weekdayType=${o.weekdayType}&lang=${o.lang}">
124                <img class="emoji__dynamic-item${o.type==="5"?" emoji__dynamic-item--current":""}" src="${s}type=5&color=${encodeURIComponent(o.color)}&date=${o.date}&weekdayType=${o.weekdayType}&lang=${o.lang}">
125                <img class="emoji__dynamic-item${o.type==="6"?" emoji__dynamic-item--current":""}" src="${s}type=6&color=${encodeURIComponent(o.color)}&date=${o.date}&weekdayType=${o.weekdayType}&lang=${o.lang}">
126                <img class="emoji__dynamic-item${o.type==="7"?" emoji__dynamic-item--current":""}" src="${s}type=7&color=${encodeURIComponent(o.color)}&date=${o.date}&weekdayType=${o.weekdayType}&lang=${o.lang}">
127            </div>
128            <div class="fn__hr"></div>
129            <div class="fn__flex">
130                <span class="fn__space"></span>
131                <span class="fn__flex-center ft__on-surface" style="width: 89px">${window.siyuan.languages.custom}</span>
132                <span class="fn__space--small"></span>
133                <input type="text" class="b3-text-field fn__flex-1" value="${o.content}">
134                <span class="fn__space"></span>
135            </div>
136            <div>
137                <img data-type="text" class="emoji__dynamic-item${o.type==="8"?" emoji__dynamic-item--current":""}" src="${s}type=8&color=${encodeURIComponent(o.color)}&content=${o.content}&id=${e}">
138            </div>
139        </div>
140    </div>
141</div>`});l.element.setAttribute("data-key",Constants.DIALOG_EMOJIS),l.element.querySelector(".b3-dialog__container").setAttribute("data-menu","true");const r=l.element.querySelector(".b3-dialog");r.style.justifyContent="inherit",r.style.alignItems="inherit";const c=window.siyuan.storage[Constants.LOCAL_EMOJIS].currentTab;l.element.querySelector(`.emojis__tabheader [data-type="tab-${c}"]`).classList.add("block__icon--active"),l.element.querySelector(`.emojis__tabbody [data-type="tab-${c}"]`).classList.remove("fn__none"),setPosition(l.element.querySelector(".b3-dialog__container"),n.x,n.y,n.h,n.w),l.element.querySelector(".emojis__item").classList.add("emojis__item--current");const f=l.element.querySelector('[data-type="tab-emoji"] .b3-text-field'),d=l.element.querySelector(".emojis__panel");f.addEventListener("compositionend",()=>{var b;d.innerHTML=Un(f.value),f.value?d.nextElementSibling.classList.add("fn__none"):d.nextElementSibling.classList.remove("fn__none"),d.scrollTop=0,(b=l.element.querySelector(".emojis__item"))==null||b.classList.add("emojis__item--current"),f.value===""&&On(l.element),qn(l.element)}),f.addEventListener("input",b=>{var E;b.isComposing||(d.innerHTML=Un(f.value),f.value?d.nextElementSibling.classList.add("fn__none"):d.nextElementSibling.classList.remove("fn__none"),d.scrollTop=0,(E=l.element.querySelector(".emojis__item"))==null||E.classList.add("emojis__item--current"),f.value===""&&On(l.element),qn(l.element))}),f.addEventListener("keydown",b=>{var E,k,A,v;if(b.isComposing||b.key.indexOf("Arrow")===-1&&b.key!=="Enter")return;const w=l.element.querySelector(".emojis__item--current");
141if(!w)return;if(b.key==="Enter"){const h=w.getAttribute("data-unicode");t==="notebook"?fetchPost("/api/notebook/setNotebookIcon",{notebook:e,icon:h},()=>{l.destroy(),nn(h),Lt(h,e,"iconFilesRoot")}):t==="doc"&&fetchPost("/api/attr/setBlockAttrs",{id:e,attrs:{icon:h}},()=>{l.destroy(),nn(h),Lt(h,e),Fn(h,e)}),a&&a(h),b.preventDefault(),b.stopPropagation();return}let y;if(b.key==="ArrowLeft")w.previousElementSibling?(w.classList.remove("emojis__item--current"),y=w.previousElementSibling,b.preventDefault(),b.stopPropagation()):(E=w.parentElement.previousElementSibling)!=null&&E.previousElementSibling&&(w.classList.remove("emojis__item--current"),y=w.parentElement.previousElementSibling.previousElementSibling.lastElementChild,b.preventDefault(),b.stopPropagation());else if(b.key==="ArrowRight")w.nextElementSibling?(w.classList.remove("emojis__item--current"),y=w.nextElementSibling,b.preventDefault(),b.stopPropagation()):(k=w.parentElement.nextElementSibling)!=null&&k.nextElementSibling&&(w.classList.remove("emojis__item--current"),y=w.parentElement.nextElementSibling.nextElementSibling.firstElementChild,b.preventDefault(),b.stopPropagation());else if(b.key==="ArrowDown"){if(w.nextElementSibling){w.classList.remove("emojis__item--current");let h=Math.floor(w.parentElement.clientWidth/(w.clientWidth+2));for(y=w;y.nextElementSibling&&h>0;)y=y.nextElementSibling,h--}else{const h=(A=w.parentElement.nextElementSibling)==null?void 0:A.nextElementSibling;h&&(y=h.firstElementChild,w.classList.remove("emojis__item--current"))}b.preventDefault(),b.stopPropagation()}else if(b.key==="ArrowUp"){if(w.previousElementSibling){w.classList.remove("emojis__item--current");let h=Math.floor(w.parentElement.clientWidth/(w.clientWidth+2));for(y=w;y.previousElementSibling&&h>0;)y=y.previousElementSibling,h--}else{const h=(v=w.parentElement.previousElementSibling)==null?void 0:v.previousElementSibling;h&&(y=h.lastElementChild,w.classList.remove("emojis__item--current"))}b.preventDefault(),b.stopPropagation()}if(y){y.classList.add("emojis__item--current");const h=f.clientHeight+6;y.offsetTop-h<d.scrollTop?d.scrollTop=y.offsetTop-h-6:y.offsetTop-h-d.clientHeight+y.clientHeight>d.scrollTop&&(d.scrollTop=y.offsetTop-h-d.clientHeight+y.clientHeight)}}),!isMobile()&&c==="emoji"&&f.focus(),On(l.element),qn(l.element),l.element.addEventListener("click",b=>{var E,k;let A=b.target;for(;A&&A!==l.element;){if(A.classList.contains("emojis__type")){const v=d.querySelector(`[data-type="${A.getAttribute("data-type")}"]`);if(v){const w=v.nextElementSibling.getAttribute("data-index");w&&(Na((E=v.previousElementSibling)==null?void 0:E.getAttribute("data-index"),v.previousElementSibling),Na(w,v.nextElementSibling)),d.scrollTo({top:v.offsetTop-77})}break}else if(A.getAttribute("data-action")==="remove"){t==="notebook"?fetchPost("/api/notebook/setNotebookIcon",{notebook:e,icon:""},()=>{l.destroy(),Lt("",e,"iconFilesRoot")}):t==="doc"&&fetchPost("/api/attr/setBlockAttrs",{id:e,attrs:{icon:""}},()=>{l.destroy(),Lt("",e),Fn("",e)}),a&&a("");break}else if(A.classList.contains("emojis__item")||A.getAttribute("data-action")==="random"||A.classList.contains("emoji__dynamic-item")){let v="";A.classList.contains("emojis__item")?(v=A.getAttribute("data-unicode"),l.destroy()):A.classList.contains("emoji__dynamic-item")?(v=A.getAttribute("src"),l.destroy()):v=Si(),t==="notebook"?fetchPost("/api/notebook/setNotebookIcon",{notebook:e,icon:v},()=>{nn(v),Lt(v,e,"iconFilesRoot")}):t==="doc"&&fetchPost("/api/attr/setBlockAttrs",{id:e,attrs:{icon:v}},()=>{nn(v),Lt(v,e),Fn(v,e)}),a&&a(v);break}else if((k=A.getAttribute("data-type"))!=null&&k.startsWith("tab-")){r.querySelectorAll('.emojis__tabheader [data-type|="tab"]').forEach(v=>{v.dataset.type===A.dataset.type?v.classList.add("block__icon--active"):v.classList.remove("block__icon--active")}),r.querySelectorAll(".emojis__tabbody > div").forEach(v=>{v.dataset.type===A.dataset.type?v.classList.remove("fn__none"):v.classList.add("fn__none")}),window.siyuan.storage[Constants.LOCAL_EMOJIS].currentTab=A.dataset.type.replace("tab-",""),setStorageVal(Constants.LOCAL_EMOJIS,window.siyuan.storage[Constants.LOCAL_EMOJIS]);break}else if(A.classList.contains("color__square")){p[0].value=A.getAttribute("style").replace("background-color:",""),p[0].dispatchEvent(new CustomEvent("input"));break}A=A.parentElement}});const u=l.element.querySelectorAll('[data-type="tab-dynamic"] .b3-select');u[0].addEventListener("change",()=>
141{l.element.querySelectorAll(".fn__flex-wrap .emoji__dynamic-item").forEach(b=>{const E=new URLSearchParams(b.getAttribute("src").replace(s,""));u[0].value?E.set("lang",u[0].value):E.delete("lang"),b.setAttribute("src",s+E.toString()),u[1].innerHTML=Ha(u[0].value,u[1].value)})}),u[1].addEventListener("change",()=>{l.element.querySelectorAll(".fn__flex-wrap .emoji__dynamic-item").forEach(b=>{const E=new URLSearchParams(b.getAttribute("src").replace(s,""));E.set("weekdayType",u[1].value),b.setAttribute("src",s+E.toString())})});const g=l.element.querySelector('[data-type="tab-dynamic"] [type="date"]');g.addEventListener("change",()=>{l.element.querySelectorAll(".fn__flex-wrap .emoji__dynamic-item").forEach(b=>{const E=new URLSearchParams(b.getAttribute("src").replace(s,""));E.set("date",g.value?dayjs(g.value).format("YYYY-MM-DD"):""),b.setAttribute("src",s+E.toString())})});const p=l.element.querySelectorAll('[data-type="tab-dynamic"] [type="text"]'),m=l.element.querySelector('.emoji__dynamic-item[data-type="text"]');p[0].addEventListener("input",()=>{p[0].value.startsWith("#")&&(l.element.querySelectorAll(".emoji__dynamic-item").forEach(b=>{const E=new URLSearchParams(b.getAttribute("src").replace(s,""));E.set("color",p[0].value),b.setAttribute("src",s+E.toString())}),l.element.querySelectorAll(".color__square").forEach(b=>{b.style.backgroundColor===p[0].value?b.classList.add("color__square--current"):b.classList.remove("color__square--current")}))}),p[1].addEventListener("input",()=>{const b=new URLSearchParams(m.getAttribute("src").replace(s,""));b.set("content",p[1].value),m.setAttribute("src",s+b.toString())})},Fn=(e,t)=>{},Lt=(e,t,n="iconFile")=>{let a;a=document.querySelector(`#sidebar [data-type="sidebar-file"] [data-node-id="${t}"] .b3-list-item__icon`),a&&(a.innerHTML=xe(e||(n==="iconFile"?a.previousElementSibling.classList.contains("fn__hidden")?window.siyuan.storage[Constants.LOCAL_IMAGES].file:window.siyuan.storage[Constants.LOCAL_IMAGES].folder:window.siyuan.storage[Constants.LOCAL_IMAGES].note))),n!=="iconFile"&&setNoteBook()},xt=e=>window.siyuan.config.lang==="zh_CN"?e.description_zh_cn:window.siyuan.config.lang==="ja_JP"?e.description_ja_jp:e.description,Ve=e=>window.siyuan.config.lang==="zh_CN"?window.siyuan.emojis[e].title_zh_cn:window.siyuan.config.lang==="ja_JP"?window.siyuan.emojis[e].title_ja_jp:window.siyuan.emojis[e].title,Li=e=>{if(window.siyuan.emojis[0].items.length>0){const t={};window.siyuan.emojis[0].items.forEach(n=>{t[n.keywords]=e.options.hint.emojiPath+"/"+n.unicode}),e.lute.PutEmojis(t)}},Lr=()=>{fetchPost("/api/system/getEmojiConf",{},e=>{window.siyuan.emojis=e.data,getAllEditor().forEach(t=>{Li(t.protyle)})})},xr=(e,t)=>{if(e.includes("\u2303")){if(!t.ctrlKey)return!1}else if(isMac()?t.ctrlKey:e.includes("\u2318")?!t.ctrlKey:t.ctrlKey)return!1;if(e.includes("\u2325")){if(!t.altKey)return!1}else if(t.altKey)return!1;if(e.includes("\u21E7")){if(!t.shiftKey)return!1}else if(t.shiftKey)return!1;if(e.includes("\u2318")){if(isMac()?!t.metaKey:!t.ctrlKey)return!1}else if(isMac()?t.metaKey:e.includes("\u2303")?!t.ctrlKey:t.ctrlKey)return!1;return!0},an=(e,t)=>{const n=e.replace(t,Constants.ZWSP).split("");return n.forEach((a,i)=>{a===Constants.ZWSP&&(n[i]=t)}),n},Tr=(e,t)=>{if(!e)return!1;if(e.startsWith("\u2303")&&!isMac()){if(e==="\u2303D")return!1;e=e.replace("\u2318","").replace("\u2303","\u2318").replace("\u2318\u21E7","\u21E7\u2318").replace("\u2318\u2325\u21E7","\u2325\u21E7\u2318").replace("\u2318\u2325","\u2325\u2318")}if(e.indexOf("\u21E7")===-1&&e.indexOf("\u2318")===-1&&e.indexOf("\u2325")===-1&&e.indexOf("\u2303")===-1)return!!(isNotCtrl(t)&&!t.altKey&&!t.shiftKey&&e===Constants.KEYCODELIST[t.keyCode]);let n=e.split("");if(e.indexOf("F")>-1?n.forEach((i,s)=>{i==="F"&&(n[s]="F"+n.splice(s+1,1),n[s+1]&&(n[s+1]+=n.splice(s+1,1)))}):e.indexOf("PageUp")>-1?n=an(e,"PageUp"):e.indexOf("PageDown")>-1?n=an(e,"PageDown"):e.indexOf("Home")>-1?n=an(e,"Home"):e.indexOf("End")>-1&&(n=an(e,"End")),e.startsWith("\u21E7")&&n.length===2)return!!(isNotCtrl(t)&&!t.altKey&&t.shiftKey&&n[1]===Constants.KEYCODELIST[t.keyCode]);if(e.startsWith("\u2325")){let i=n.length===3?n[2]:n[1];n.length===4&&(i=n[3]);const s=i===Constants.KEYCODELIST[t.keyCode];return!!(s&&t.altKey&&!t.shiftKey&&n.length<4&&(n.length===3?isOnlyMeta(t)&&e.startsWith("\u2325\u2318"):isNotCtrl(t))||s&&e.startsWith("\u2325\u21E7\u2318")&&n.length===4&&t.altKey&&t.shiftKey&&isOnlyMeta(t)||s&&e.startsWith("\u2325\u21E7")&&n.length===3&&t.altKey&&t.shiftKey&&isNotCtrl(t))}
141if(e.startsWith("\u2303")){if(!isMac())return!1;let i=n.length===3?n[2]:n[1];n.length===4?i=n[3]:n.length===5&&(i=n[4]);const s=i===Constants.KEYCODELIST[t.keyCode];return!!(s&&t.ctrlKey&&!t.altKey&&!t.shiftKey&&n.length<4&&(n.length===3?t.metaKey&&e.startsWith("\u2303\u2318"):!t.metaKey)||s&&e.startsWith("\u2303\u21E7")&&n.length===3&&t.ctrlKey&&!t.altKey&&t.shiftKey&&!t.metaKey||s&&e.startsWith("\u2303\u2325")&&n.length===3&&t.ctrlKey&&t.altKey&&!t.shiftKey&&!t.metaKey||s&&n.length===4&&t.ctrlKey&&(e.startsWith("\u2303\u2325\u21E7")&&t.shiftKey&&!t.metaKey&&t.altKey||e.startsWith("\u2303\u2325\u2318")&&!t.shiftKey&&t.metaKey&&t.altKey||e.startsWith("\u2303\u21E7\u2318")&&t.shiftKey&&t.metaKey&&!t.altKey)||s&&n.length===5&&t.ctrlKey&&t.shiftKey&&t.metaKey&&t.altKey)}const a=n.length>2&&n[0]==="\u21E7";return isOnlyMeta(t)&&!t.altKey&&(!a&&!t.shiftKey||a&&t.shiftKey)?(a?n[2]:n[1])===Constants.KEYCODELIST[t.keyCode]:!1},Ir=e=>{let t=!1;return Object.keys(window.siyuan.config.keymap).find(n=>{const a=window.siyuan.config.keymap[n];if(Object.keys(a).find(i=>{const s=a[i];if(typeof s.custom=="string"){if(s.custom===e)return t=!0,!0}else if(Object.keys(s).forEach(o=>{if(s[o].custom===e)return t=!0,!0}),t)return!0}),t)return!0}),t},Mr=()=>{window.siyuan.config.keymap.general&&Object.keys(window.siyuan.config.keymap.general).forEach(e=>{["fileTree","outline","bookmark","tag","dailyNote","inbox","backlinks","graphView","globalGraph","riffCard"].includes(e)&&(navigator.platform.toUpperCase().indexOf("MAC")>-1?(window.siyuan.config.keymap.general[e].default=window.siyuan.config.keymap.general[e].default.replace("\u2325","\u2303"),window.siyuan.config.keymap.general[e].default===window.siyuan.config.keymap.general[e].custom&&(window.siyuan.config.keymap.general[e].custom=window.siyuan.config.keymap.general[e].default.replace("\u2325","\u2303"))):(window.siyuan.config.keymap.general[e].default=window.siyuan.config.keymap.general[e].default.replace("\u2303","\u2325"),window.siyuan.config.keymap.general[e].default===window.siyuan.config.keymap.general[e].custom&&(window.siyuan.config.keymap.general[e].custom=window.siyuan.config.keymap.general[e].default.replace("\u2303","\u2325"))))})},Dr=e=>{},$r=()=>{const e=new URLSearchParams(window.location.search),t=e.get("url");let n="",a=!1;if(/^web\+siyuan:\/\/blocks\/\d{14}-\w{7}/.test(t))n=t.substring(20,42),a=getSearch("focus",t)==="1";else if(window.JSAndroid){const i=window.JSAndroid.getBlockURL();n=xi(i),a=getSearch("focus",i)==="1"}else n=e.get("id"),a=e.get("focus")==="1";return{id:n,isZoomIn:a}},Hr=e=>/^siyuan:\/\/blocks\/\d{14}-\w{7}/.test(e),xi=e=>e.substring(16,38),Nr=(e=window.location.href)=>{const t=new URL(window.location.origin);t.pathname="/check-auth",t.searchParams.set("to",e),window.location.href=t.href},Br=()=>{let e=document.getElementById("baseURL");e||(e=document.createElement("base"),e.id="baseURL"),e.setAttribute("href",location.origin),document.getElementsByTagName("head")[0].appendChild(e)},Ba=(e,t=!0,n=!1)=>{let a=e;return t&&(a=Yn().basename(e)),n&&a.endsWith(".sy")&&(a=a.substr(0,a.length-3)),a},Ti=e=>Yn().basename(e,Yn().extname(e)).replace(/-\d{14}-\w{7}/,""),Pr=e=>!e||(e=e.trim(),1>e.length)?!1:(e=e.toLowerCase(),e.startsWith("assets/")||e.startsWith("file://")||e.startsWith("\\\\")?!0:isWindows()?e.indexOf(":")===1:e.startsWith("/")),Yn=()=>Rn.posix?Rn.posix:Rn,Rr=()=>path,Or=e=>{const t=[];return e.forEach(n=>{if(n.getAttribute("data-type")!=="navigation-root"){const a=n.getAttribute("data-path");t.find(s=>{if(a.startsWith(s.replace(".sy","")))return!0})||t.push(a)}}),t},qr=(e,t,n)=>{fetchPost("/api/filetree/moveDocs",{toNotebook:t,fromPaths:e,toPath:n})},Ur=(e,t,n,a,i=!1)=>{if(window.siyuan.dialogs.find(g=>{if(g.element.querySelector("#foldList"))return g.destroy(),!0}))return;const o=new Dialog({title:`<div style="padding: 8px;">
142    ${a||window.siyuan.languages.move}
143    <div style="max-height: 16px;overflow: auto;line-height: 14px;-webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0, #000 6px);padding-bottom: 4px;margin-bottom: -4px" class="ft__smaller ft__on-surface fn__hidescrollbar"></div>
144</div>`,content:`<div class="b3-form__icon" style="margin: 8px">
145    <span data-menu="true" class="b3-form__icon-list fn__a b3-tooltips b3-tooltips__s" aria-label="${updateHotkeyTip("\u2325\u2193")}">
146        <svg class="svg--mid"><use xlink:href="#iconSearch"></use></svg>
147        <svg class="svg--smaller"><use xlink:href="#iconDown"></use></svg>
148    </span>
149    <input class="b3-text-field fn__block" style="padding-left: 42px;" value="" placeholder="${window.siyuan.languages.search}">
150</div>
151<ul id="foldList" class="fn__flex-1 fn__none b3-list b3-list--background${isMobile()?" b3-list--mobile":""}" style="overflow: auto;position: relative"></ul>
152<div id="foldTree" class="fn__flex-1${isMobile()?" b3-list--mobile":""}" style="overflow: auto;position: relative"></div>
153<div class="fn__hr"></div>
154<div class="b3-dialog__action">
155    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
156    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
157</div>`,width:isMobile()?"92vw":"50vw",height:isMobile()?"80vh":"70vh",destroyCallback(){n&&focusByRange(n)}});o.element.querySelector(".b3-dialog__header").setAttribute("style","padding:0"),o.element.setAttribute("data-key",Constants.DIALOG_MOVEPATHTO),t&&t.length>0&&fetchPost("/api/filetree/getHPathsByPaths",{paths:t},g=>{o.element.querySelector(".b3-dialog__header .ft__smaller").innerHTML=escapeHtml(g.data.join(" "))});const l=o.element.querySelector("#foldList"),r=o.element.querySelector("#foldTree");Ii(g=>{let p="";g.forEach(m=>{if(!m.closed){let b="";i&&(b=`<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardNewCard}">${m.newFlashcardCount}</span>
158<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardDueCard}">${m.dueFlashcardCount}</span>
159<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardCard}">${m.flashcardCount}</span>`),p+=`<ul class="b3-list b3-list--background">
160<li class="b3-list-item${p===""?" b3-list-item--focus":""}" data-path="/" data-box="${m.id}">
161    <span class="b3-list-item__toggle b3-list-item__toggle--hl">
162        <svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg>
163    </span>
164    ${unicode2Emoji(m.icon||window.siyuan.storage[Constants.LOCAL_IMAGES].note,"b3-list-item__graphic",!0)}
165    <span class="b3-list-item__text">${escapeHtml(m.name)}
165</span>
166    ${b}
167</li></ul>`}}),r.innerHTML=p},i);const c=o.element.querySelector(".b3-text-field");c.value=window.siyuan.storage[Constants.LOCAL_MOVE_PATH].k;const f=g=>{if(!(g&&g.isComposing)){if(c.value.trim()===""){l.classList.add("fn__none"),r.classList.remove("fn__none");return}r.classList.add("fn__none"),l.classList.remove("fn__none"),l.scrollTo(0,0),fetchPost("/api/filetree/searchDocs",{k:c.value,flashcard:i},p=>{let m="";p.data.forEach(b=>{let E="";i&&(E=`<span class="fn__flex-1"></span>
168<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardNewCard}">${b.newFlashcardCount}</span>
169<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardDueCard}">${b.dueFlashcardCount}</span>
170<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardCard}">${b.flashcardCount}</span>`),m+=`<li class="b3-list-item${m===""?" b3-list-item--focus":""}" data-path="${b.path}" data-box="${b.box}">
171    ${unicode2Emoji(b.boxIcon||window.siyuan.storage[Constants.LOCAL_IMAGES].note,"b3-list-item__graphic",!0)}
172    <span class="b3-list-item__showall" style="padding: 4px 0">${escapeHtml(b.hPath)}</span>
173    ${E}
174</li>`}),l.innerHTML=m})}},d=()=>{const g=window.siyuan.storage[Constants.LOCAL_MOVE_PATH].keys;if(!g||g.length===0||g.length===1&&g[0]===c.value)return;const p=new Menu("move-path-history");if(p.isOpen)return;p.element.classList.add("b3-menu--list"),p.addItem({iconHTML:"",label:window.siyuan.languages.clearHistory,click(){window.siyuan.storage[Constants.LOCAL_MOVE_PATH].keys=[],setStorageVal(Constants.LOCAL_MOVE_PATH,window.siyuan.storage[Constants.LOCAL_MOVE_PATH])}});const m=p.addSeparator(1);let b=!0;g.forEach(k=>{if(k!==c.value&&k){const A=p.addItem({iconHTML:"",label:escapeHtml(k),action:"iconCloseRound",bind(v){v.addEventListener("click",w=>{var y;hasClosestByClassName(w.target,"b3-menu__action")?(g.find((h,_)=>{if(h===k)return g.splice(_,1),!0}),window.siyuan.storage[Constants.LOCAL_MOVE_PATH].keys=g,setStorageVal(Constants.LOCAL_MOVE_PATH,window.siyuan.storage[Constants.LOCAL_MOVE_PATH]),(y=v.previousElementSibling)!=null&&y.classList.contains("b3-menu__separator")&&!v.nextElementSibling?window.siyuan.menus.menu.remove():v.remove()):(c.value=v.textContent,f(),window.siyuan.menus.menu.remove()),w.preventDefault(),w.stopPropagation()})}});b&&A.classList.add("b3-menu__item--current"),b=!1}}),b&&m.remove();const E=c.getBoundingClientRect();p.open({x:E.left,y:E.bottom})};f(),c.addEventListener("compositionend",g=>{f(g)}),c.addEventListener("input",g=>{f(g)}),c.addEventListener("blur",()=>{if(c.value){let g=window.siyuan.storage[Constants.LOCAL_MOVE_PATH].keys;g.splice(0,0,c.value),g=Array.from(new Set(g)),g.length>window.siyuan.config.search.limit&&g.splice(window.siyuan.config.search.limit,g.length-window.siyuan.config.search.limit),window.siyuan.storage[Constants.LOCAL_MOVE_PATH].keys=g}window.siyuan.storage[Constants.LOCAL_MOVE_PATH].k=c.value,setStorageVal(Constants.LOCAL_MOVE_PATH,window.siyuan.storage[Constants.LOCAL_MOVE_PATH])});const u=28;c.addEventListener("keydown",g=>{if(g.isComposing)return;if(matchHotKey("\u2325\u2193",g)){g.stopPropagation(),d();return}if(window.siyuan.menus.menu.element.getAttribute("data-name")==="move-path-history")return;const p=l.classList.contains("fn__none")?r:l,m=p.querySelectorAll(".b3-list-item--focus");if(m.length===0)return;let b=m[0];if(g.key.startsWith("Arrow")&&m.forEach((E,k)=>{k!==0&&E.classList.remove("b3-list-item--focus")}),l.classList.contains("fn__none")){if(g.key==="ArrowRight"&&!b.querySelector(".b3-list-item__arrow--open")&&!b.querySelector(".b3-list-item__toggle").classList.contains("fn__hidden")||g.key==="ArrowLeft"&&b.querySelector(".b3-list-item__arrow--open")){Wn(b,i),g.preventDefault();return}if(g.key==="ArrowLeft"){let E=b.parentElement.previousElementSibling;if(E){E.tagName!=="LI"&&(E=p.querySelector(".b3-list-item")),b.classList.remove("b3-list-item--focus"),E.classList.add("b3-list-item--focus");const k=E.getBoundingClientRect(),A=p.getBoundingClientRect();(k.top<A.top||k.bottom>A.bottom)&&E.scrollIntoView(k.top<A.top)}return g.preventDefault(),!0}if(g.key==="ArrowDown"||g.key==="ArrowRight"){let E=b;for(;E;)if(E.nextElementSibling)if(E.nextElementSibling.classList.contains("fn__none"))E=E.nextElementSibling;else{E.nextElementSibling.tagName==="UL"?E=E.nextElementSibling.firstElementChild:E=E.nextElementSibling;break}else{if(E.parentElement.id==="foldTree")break;E=E.parentElement}if(E.classList.contains("b3-list-item")){b.classList.remove("b3-list-item--focus"),E.classList.add("b3-list-item--focus");const k=E.getBoundingClientRect(),A=r.getBoundingClientRect();(k.top<A.top||k.bottom>A.bottom)&&E.scrollIntoView(k.top<A.top)}return g.preventDefault(),!0}if(g.key==="ArrowUp"){let E=b;for(;E;)if(E.previousElementSibling)if(E.previousElementSibling.classList.contains("fn__none"))E=E.previousElementSibling;else{if(E.previousElementSibling.tagName==="LI")E=E.previousElementSibling;
174else{const k=E.previousElementSibling.querySelectorAll(".b3-list-item");E=k[k.length-1]}break}else{if(E.parentElement.id==="foldTree")break;E=E.parentElement}if(E.classList.contains("b3-list-item")){b.classList.remove("b3-list-item--focus"),E.classList.add("b3-list-item--focus");const k=E.getBoundingClientRect(),A=r.getBoundingClientRect();(k.top<A.top||k.bottom>A.bottom)&&E.scrollIntoView(k.top<A.top)}g.preventDefault()}}else{if(g.key==="ArrowDown"){b.classList.remove("b3-list-item--focus"),b.nextElementSibling?b.nextElementSibling.classList.add("b3-list-item--focus"):p.children[0].classList.add("b3-list-item--focus"),b=p.querySelector(".b3-list-item--focus"),(p.scrollTop<b.offsetTop-p.clientHeight+u||p.scrollTop>b.offsetTop)&&(p.scrollTop=b.offsetTop-p.clientHeight+u),g.preventDefault();return}if(g.key==="ArrowUp"){if(b.classList.remove("b3-list-item--focus"),b.previousElementSibling)b.previousElementSibling.classList.add("b3-list-item--focus");else{const E=p.children.length;p.children[E-1].classList.add("b3-list-item--focus")}b=p.querySelector(".b3-list-item--focus"),(p.scrollTop<b.offsetTop-p.clientHeight+u||p.scrollTop>b.offsetTop-u*2)&&(p.scrollTop=b.offsetTop-u*2),g.preventDefault();return}}if(g.key==="Enter"){const E=p.querySelectorAll(".b3-list-item--focus");if(E.length===0)return;const k=[],A=[];E.forEach(v=>{k.push(v.getAttribute("data-path")),A.push(v.getAttribute("data-box"))}),e(k,A),o.destroy(),g.preventDefault()}}),o.element.addEventListener("click",g=>{let p=g.target;for(;p&&!p.isEqualNode(o.element);){if(p.classList.contains("b3-list-item__toggle")){Wn(p.parentElement,i),g.preventDefault(),g.stopPropagation();break}else if(p.classList.contains("b3-form__icon-list")){d(),g.preventDefault(),g.stopPropagation();break}else if(p.classList.contains("b3-button--text")){const b=(l.classList.contains("fn__none")?r:l).querySelectorAll(".b3-list-item--focus");if(b.length===0)return;const E=[],k=[];b.forEach(A=>{E.push(A.getAttribute("data-path")),k.push(A.getAttribute("data-box"))}),e(E,k),o.destroy(),g.preventDefault(),g.stopPropagation();break}else if(p.classList.contains("b3-button--cancel")){o.destroy(),g.preventDefault(),g.stopPropagation();break}else if(p.classList.contains("b3-list-item")){const b=(l.classList.contains("fn__none")?r:l).querySelectorAll(".b3-list-item--focus");if(b.length===0)return;a===window.siyuan.languages.specifyPath&&isOnlyMeta(g)?b.length===1&&b[0].isSameNode(p)||p.classList.toggle("b3-list-item--focus"):(b[0].classList.remove("b3-list-item--focus"),p.classList.add("b3-list-item--focus")),p.getAttribute("data-path")==="/"&&Wn(p,i),g.preventDefault(),g.stopPropagation();break}p=p.parentElement}})},Wn=(e,t)=>{const n=e.querySelector(".b3-list-item__arrow");if(n.classList.contains("b3-list-item__arrow--open")){n.classList.remove("b3-list-item__arrow--open"),e.nextElementSibling&&e.nextElementSibling.tagName==="UL"&&e.nextElementSibling.classList.add("fn__none");return}if(e.nextElementSibling&&e.nextElementSibling.tagName==="UL"){n.classList.add("b3-list-item__arrow--open"),e.nextElementSibling.classList.remove("fn__none");return}const a=e.getAttribute("data-box");fetchPost("/api/filetree/listDocsByPath",{notebook:a,path:e.getAttribute("data-path"),flashcard:t},i=>
174{if(i.data.files.length===0){showMessage(window.siyuan.languages.emptyContent);return}let s="";if(i.data.files.forEach(l=>{let r="";t?r=`<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardNewCard}">${l.newFlashcardCount}</span>
175<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardDueCard}">${l.dueFlashcardCount}</span>
176<span class="counter counter--right b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.flashcardCard}">${l.flashcardCount}</span>`:l.count&&l.count>0&&(r=`<span class="popover__block counter b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.ref}">${l.count}</span>`),s+=`<li data-box="${a}" class="b3-list-item" data-path="${l.path}">
177    <span style="padding-left: ${l.path.split("/").length*8}px" class="b3-list-item__toggle b3-list-item__toggle--hl${l.subFileCount===0?" fn__hidden":""}">
178        <svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg>
179    </span>
180    ${unicode2Emoji(l.icon||(l.subFileCount===0?window.siyuan.storage[Constants.LOCAL_IMAGES].file:window.siyuan.storage[Constants.LOCAL_IMAGES].folder),"b3-list-item__graphic",!0)}
181    <span class="b3-list-item__text ariaLabel" data-position="parentE" aria-label="${Ba(l.name,!0,!0)} <small class='ft__on-surface'>${l.hSize}</small>${l.bookmark?"<br>"+window.siyuan.languages.bookmark+" "+l.bookmark:""}${l.name1?"<br>"+window.siyuan.languages.name+" "+l.name1:""}${l.alias?"<br>"+window.siyuan.languages.alias+" "+l.alias:""}${l.memo?"<br>"+window.siyuan.languages.memo+" "+l.memo:""}${l.subFileCount!==0?window.siyuan.languages.includeSubFile.replace("x",l.subFileCount):""}<br>${window.siyuan.languages.modifiedAt} ${l.hMtime}<br>${window.siyuan.languages.createdAt} ${l.hCtime}">${Ba(l.name,!0,!0)}</span>
182    ${r}
183</li>`}),s==="")return;n.classList.add("b3-list-item__arrow--open"),e.insertAdjacentHTML("afterend",`<ul class="file-tree__sliderDown">${s}</ul>`);const o=e.nextElementSibling;setTimeout(()=>{o.setAttribute("style",`height:${o.childElementCount*e.clientHeight}px;`),setTimeout(()=>{o.classList.remove("file-tree__sliderDown"),o.removeAttribute("style")},120)},2)})},Fr=e=>{let t="";return window.siyuan.notebooks.find(n=>{if(n.id===e)return t=n.name,!0}),t},Yr=e=>{let t="";return window.siyuan.notebooks.find(n=>{if(n.id===e)return t=n.icon,!0}),t},Wr=(e,t)=>{window.siyuan.notebooks.find(n=>{if(n.id===e)return n.name=t,!0})},jr=()=>{let e=0;return window.siyuan.notebooks.forEach(t=>{t.closed||e++}),e},Ii=(e,t=!1)=>{fetchPost("/api/notebook/lsNotebooks",{flashcard:t},n=>{t||(window.siyuan.notebooks=n.data.notebooks),e&&e(n.data.notebooks)})},Vr=e=>{const t=new Dialog({title:window.siyuan.languages.rename,content:`<div class="b3-dialog__content">
184    <input class="b3-text-field fn__block">
185    <div class="b3-list fn__flex-1 b3-list--background fn__none protyle-hint" style="    position: absolute;
186    width: calc(100% - 48px);">
187        <img style="margin: 0 auto;display: block;width: 64px;height: 64px" src="/stage/loading-pure.svg">
188    </div>
189</div>
190<div class="b3-dialog__action">
191    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
192    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
193</div>`,width:isMobile()?"92vw":"520px"});t.element.setAttribute("data-key",Constants.DIALOG_RENAMETAG);const n=t.element.querySelectorAll(".b3-button");n[0].addEventListener("click",()=>{t.destroy()}),n[1].addEventListener("click",()=>{fetchPost("/api/tag/renameTag",{oldLabel:e,newLabel:a.value},()=>{t.destroy(),window.siyuan.mobile.docks.tag.update()})});const a=t.element.querySelector("input");a.value=e,a.focus(),a.select();const i=t.element.querySelector(".b3-list--background");a.addEventListener("keydown",s=>{if(s.stopPropagation(),!s.isComposing){if(upDownHint(i,s),s.key==="Escape")i.classList.contains("fn__none")?t.destroy():i.classList.add("fn__none"),s.preventDefault();else if(!s.shiftKey&&isNotCtrl(s)&&s.key==="Enter"){if(i.classList.contains("fn__none"))n[1].click();else{const o=i.querySelector(".b3-list-item--focus");a.value=o.dataset.type==="new"?o.querySelector("mark").textContent.trim():o.textContent.trim(),i.classList.add("fn__none")}s.preventDefault()}}}),a.addEventListener("input",s=>{s.stopPropagation(),i.classList.remove("fn__none"),fetchPost("/api/search/searchTag",{k:a.value.trim()},o=>{let l="",r=!1;
193o.data.tags.forEach((c,f)=>{l+=`<div class="b3-list-item${f===0?" b3-list-item--focus":""}">
194    <div class="fn__flex-1">${c}</div>
195</div>`,c===`<mark>${o.data.k}</mark>`&&(r=!0)}),!r&&o.data.k&&(l=`<div data-type="new" class="b3-list-item${l?"":" b3-list-item--focus"}"><div class="fn__flex-1">${window.siyuan.languages.new} <mark>${escapeHtml(o.data.k)}</mark></div></div>`+l),i.innerHTML=l})}),i.addEventListener("click",s=>{const o=s.target,l=hasClosestByClassName(o,"b3-list-item");l&&(a.value=l.dataset.type==="new"?l.querySelector("mark").textContent.trim():l.textContent.trim(),i.classList.add("fn__none"))})},Gr=()=>pathPosix().basename(window.siyuan.config.system.workspaceDir.replace(/\\/g,"/")),Kr=(e,t)=>{e&&fetchPost("/api/block/checkBlockFold",{id:e},n=>{t(n.data.isFolded,n.data.isFolded?[Constants.CB_GET_FOCUS,Constants.CB_GET_ALL]:[Constants.CB_GET_FOCUS,Constants.CB_GET_CONTEXT,Constants.CB_GET_ROOTSCROLL],n.data.isRoot)})},zr=()=>{let e;e=window.siyuan.mobile.docks.file.element;const t=[];Object.keys(Constants.HELP_PATH).forEach(n=>{t.push(Constants.HELP_PATH[n])}),e.childNodes.forEach(n=>{n.querySelector('[data-type="addLocal"]')||t.includes(n.getAttribute("data-url"))||n.querySelector('[data-type="more-root"]').insertAdjacentHTML("beforebegin",`<span data-type="addLocal" class="b3-list-item__action">
196    <svg><use xlink:href="#iconRiffCard"></use></svg>
197</span>`)})},Zr=()=>{const e=new Dialog({title:window.siyuan.languages.about5,content:`<div class="b3-dialog__content">
198    <input class="b3-text-field fn__block" placeholder="${window.siyuan.languages.about5}" value="${window.siyuan.config.accessAuthCode}">
199    <div class="b3-label__text">${window.siyuan.languages.about6}</div>
200</div>
201<div class="b3-dialog__action">
202    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
203    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
204</div>`,width:isMobile()?"92vw":"520px"}),t=e.element.querySelector("input"),n=e.element.querySelectorAll(".b3-button");e.element.setAttribute("data-key",Constants.DIALOG_ACCESSAUTHCODE),e.bindInput(t,()=>{n[1].click()}),t.select(),n[0].addEventListener("click",()=>{e.destroy()}),n[1].addEventListener("click",()=>{fetchPost("/api/system/setAccessAuthCode",{accessAuthCode:t.value})})},Mi=e=>{const t=window.siyuan.config.cloudRegion===0?"https://ld246.com":"https://liuyun.io";return!e||e===""?t:`${t}/${e}`},Xr=e=>`https://b3log.org/siyuan${window.siyuan.config.lang==="zh_CN"?"":"/en"}/${e}`,Di=(e=window.siyuan.languages._kernel[29])=>window.siyuan.user&&(window.siyuan.user.userSiYuanProExpireTime===-1||window.siyuan.user.userSiYuanProExpireTime>0)?!1:(e&&(e===window.siyuan.languages._kernel[29]&&window.siyuan.config.system.container==="ios"?Ze(window.siyuan.languages._kernel[122]):(e===window.siyuan.languages._kernel[29]&&(e=window.siyuan.languages._kernel[29].replaceAll("${accountServer}",Mi(""))),Ze(e))),!0),$i=()=>window.siyuan.user&&(window.siyuan.user.userSiYuanSubscriptionStatus===0||window.siyuan.user.userSiYuanOneTimePayStatus===1),Pa="%%params",Hi=e=>{let t={responsive:"resize"};const n=e.substring(0,e.indexOf(`
205`));if(n.startsWith(Pa))try{t=Oe(n.substring(Pa.length))}catch(a){console.error(`Failed to parse ABCJS params: ${a}`)}return t},jn=(e,t=$.PROTYLE_CDN)=>{let n=[];e.getAttribute("data-subtype")==="abc"?n=[e]:n=Array.from(e.querySelectorAll('[data-subtype="abc"]')),n.length!==0&&n.length>0&&oe(`${t}/js/abcjs/abcjs-basic-min.js?v=6.2.2`,"protyleAbcjsScript").then(()=>{const a=O(e,"protyle-wysiwyg",!0);n.forEach(i=>{if(i.getAttribute("data-render")==="true")return;i.firstElementChild.classList.contains("protyle-icons")||i.insertAdjacentHTML("afterbegin",se(a));const s=i.firstElementChild.nextElementSibling;s.innerHTML=`<span style="position: absolute;left:0;top:0;width: 1px;">${$.ZWSP}</span><div contenteditable="false"></div>`;const o=Lute.UnEscapeHTMLStr(i.getAttribute("data-content"));window.ABCJS.renderAbc(s.lastElementChild,o,Hi(o)),i.setAttribute("data-render","true")})})};var Ni=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const Vn=(e,t=$.PROTYLE_CDN)=>{let n=[];e.getAttribute("data-subtype")==="echarts"?n=[e]:n=Array.from(e.querySelectorAll('[data-subtype="echarts"]')),n.length!==0&&n.length>0&&oe(`${t}/js/echarts/echarts.min.js?v=5.3.2`,"protyleEchartsScript").then(()=>{oe(`${t}/js/echarts/echarts-gl.min.js?v=2.0.9`,"protyleEchartsGLScript").then(()=>{const a=O(e,"protyle-wysiwyg",!0);let i;a&&a.clientWidth>0&&n[0].firstElementChild.clientWidth===0&&a.firstElementChild&&(i=a.firstElementChild.clientWidth),n.forEac
205h(s=>Ni(void 0,null,function*(){var o,l;if(s.getAttribute("data-render")==="true")return;s.firstElementChild.classList.contains("protyle-icons")||s.insertAdjacentHTML("afterbegin",se(a));const r=s.firstElementChild.nextElementSibling;try{const c=window.echarts.getInstanceById(r.getAttribute("_echarts_instance_")),f=yield Oe(Lute.UnEscapeHTMLStr(s.getAttribute("data-content")));c&&((o=c.getOption().series[0])==null?void 0:o.type)!==((l=f.series[0])==null?void 0:l.type)&&c.clear(),r.classList.remove("ft__error"),r.style.height=s.style.height,window.echarts.init(r,window.siyuan.config.appearance.mode===1?"dark":void 0,{width:i}).setOption(f),s.setAttribute("data-render","true"),r.textContent.endsWith($.ZWSP)||r.firstElementChild.insertAdjacentText("beforeend",$.ZWSP)}catch(c){window.echarts.dispose(r),r.classList.add("ft__error"),r.innerHTML=`echarts render error: <br>${c}`}}))})})},Gn=(e,t=$.PROTYLE_CDN,n=!1)=>{let a=[];e.getAttribute("data-subtype")==="math"?a=[e]:a=Array.from(e.querySelectorAll('[data-subtype="math"]')),a.length!==0&&(Hn(`${t}/js/katex/katex.min.css?v=0.16.9`,"protyleKatexStyle"),oe(`${t}/js/katex/katex.min.js?v=0.16.9`,"protyleKatexScript").then(()=>{oe(`${t}/js/katex/mhchem.min.js?v=0.16.9`,"protyleKatexMhchemScript").then(()=>{a.forEach(i=>{var s,o;if(i.getAttribute("data-render")==="true")return;i.setAttribute("data-render","true");let l={};try{l=Oe(window.siyuan.config.editor.katexMacros||"{}")}catch(c){console.warn("KaTex macros is not JSON",c)}const r=i.tagName==="DIV";try{const c=window.katex.renderToString(Lute.UnEscapeHTMLStr(i.getAttribute("data-content")),{displayMode:r,output:"html",macros:l,trust:!0,strict:d=>d==="unicodeTextInMathMode"?"ignore":"warn"}),f=K(i);if(r){ue(i),i.firstElementChild.firstElementChild.classList.remove("ft__error"),i.firstElementChild.firstElementChild.setAttribute("contenteditable","false"),i.firstElementChild.firstElementChild.innerHTML=c;const d=i.querySelectorAll(".base");d.length>0&&d[d.length-1].insertAdjacentHTML("afterend","<span class='fn__flex-1'></span>");const u=i.querySelector(".katex-html > .newline");u&&(u.parentElement.style.display="block")}else{i.classList.remove("ft__error"),i.innerHTML=c,f&&i.getBoundingClientRect().width>f.clientWidth?(i.style.maxWidth="100%",i.style.overflowX="auto",i.style.overflowY="hidden",i.style.display="inline-block"):(i.style.maxWidth="",i.style.overflowX="",i.style.overflowY="",i.style.display="");const d=In(i);d?d&&d.nodeType!==3&&(((s=d.getAttribute("data-type"))==null?void 0:s.indexOf("inline-math"))>-1||d.classList.contains("img"))?i.after(document.createTextNode($.ZWSP)):d&&!d.textContent.startsWith(`
206`)&&d.textContent!==$.ZWSP&&i.insertAdjacentHTML("beforeend","&#xFEFF;"):i.parentElement.tagName!=="TH"&&i.parentElement.tagName!=="TD"?i.insertAdjacentText("afterend",`
207`):i.insertAdjacentText("afterend",$.ZWSP),(o=i.previousSibling)!=null&&o.textContent.endsWith(`
208`)?i.insertAdjacentText("beforebegin",$.ZWSP):!Rt(i)&&["TH","TD"].includes(i.parentElement.tagName)&&i.insertAdjacentText("afterbegin",$.ZWSP)}n&&setTimeout(()=>{if(r){const d=i.querySelector(".katex-display");d.clientWidth<d.scrollWidth&&d.firstElementChild.setAttribute("style",`font-size:${d.clientWidth*100/d.scrollWidth}%`)}else f&&i.offsetWidth>f.clientWidth&&i.firstElementChild.setAttribute("style",`font-size:${f.clientWidth*100/i.offsetWidth}%`)})}catch(c){r?(ue(i),i.firstElementChild.firstElementChild.setAttribute("contenteditable","false"),i.firstElementChild.firstElementChild.innerHTML=c.message,i.firstElementChild.firstElementChild.classList.add("ft__error")):(i.innerHTML=c.message,i.classList.add("ft__error"))}})})}))};var Bi=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const Kn=(e,t=$.PROTYLE_CDN)=>{let n=[];e.getAttribute("data-subtype")==="mermaid"?n=[e]:n=Array.from(e.querySelectorAll('[data-subtype="mermaid"]')),n.length!==0&&oe(`${t}/js/mermaid/mermaid.min.js?v=11.4.0`,"protyleMermaidScript").then(()=>{const a={securityLevel:"loose",altFontFamily:"sans-serif",fontFamily:"sans-serif",startOnLoad:!1,flowchart:{htmlLabels:!0,useMaxWidth:!0},sequence:{useMaxWidth:!0,diagramMarginX:8,diagramMarginY:8,boxMargin:8,showSequenceNumbers:!0},gantt:{leftPadding:75,rightPadding:20}};if(window.siyuan.config.appearance.mode===1&&(a.theme="dark"),window.mermaid.initialize(a),n[0].firstElementChild.clientWidth===0){const i=new MutationObserver(()=>{Ra(n),i.disconnect()}),s=R(n[0],"fold","1");if(s)i.observe(s,{attributeFilter:["fold"]});else{const o=O(n[0],"card__block",!0);o&&i.observe(o,{attributeFilter:["class"]})}}else Ra(n)})},Ra=e=>{const t=O(e[0],"protyle-wysiwyg",!0);e.forEach(n=>Bi(void 0,null,function*(){if(n.getAttribute("data-render")==="true")return;n.firstElementChild.classList.contains("protyle-icons")||n.insertAdjacentHTML("afterbegin",se(t));const a=n.firstElementChild.nextElementSibling,i="mermaid"+Lute.NewNodeID();a.innerHTML=`<span style="position: absolute;
208left:0;top:0;width: 1px;">${$.ZWSP}</span><div contenteditable="false"><span id="${i}"></span></div>`;try{const s=yield window.mermaid.render(i,Lute.UnEscapeHTMLStr(n.getAttribute("data-content")));a.lastElementChild.innerHTML=s.svg}catch(s){const o=document.querySelector("#"+i);a.lastElementChild.innerHTML=`${o.outerHTML}<div class="fn__hr"></div><div class="ft__error">${s.message.replace(/\n/,"<br>")}</div>`,o.parentElement.remove()}n.setAttribute("data-render","true")}))},zn=(e,t=$.PROTYLE_CDN)=>{let n=[];e.getAttribute("data-subtype")==="mindmap"?n=[e]:n=Array.from(e.querySelectorAll('[data-subtype="mindmap"]')),n.length!==0&&oe(`${t}/js/echarts/echarts.min.js?v=0.0.0`,"protyleEchartsScript").then(()=>{const a=O(e,"protyle-wysiwyg",!0);let i;a&&a.clientWidth>0&&n[0].firstElementChild.clientWidth===0&&a.firstElementChild&&(i=a.firstElementChild.clientWidth),n.forEach(s=>{if(s.getAttribute("data-render")==="true")return;s.firstElementChild.classList.contains("protyle-icons")||s.insertAdjacentHTML("afterbegin",se(a));const o=s.firstElementChild.nextElementSibling;try{o.style.height=s.style.height,window.echarts.init(o,window.siyuan.config.appearance.mode===1?"dark":void 0,{width:i}).setOption({series:[{data:[JSON.parse(Lute.EChartsMindmapStr(Lute.UnEscapeHTMLStr(s.getAttribute("data-content"))))],initialTreeDepth:-1,itemStyle:{borderWidth:0,color:"#4285f4"},label:{backgroundColor:"#f6f8fa",borderColor:"#d1d5da",borderRadius:6,borderWidth:.5,color:"#586069",lineHeight:20,offset:[-5,0],padding:[0,5],position:"insideRight"},lineStyle:{color:"#d1d5da",width:1},roam:!0,symbol:(l,r)=>{var c;return(c=r==null?void 0:r.data)!=null&&c.children?"circle":"path://"},type:"tree"}],tooltip:{trigger:"item",triggerOn:"mousemove"},backgroundColor:"transparent"}),s.setAttribute("data-render","true"),o.textContent.endsWith($.ZWSP)||o.firstElementChild.insertAdjacentText("beforeend",$.ZWSP),o.classList.remove("ft__error")}catch(l){o.classList.add("ft__error"),o.innerHTML=`Mindmap render error: <br>${l}`}})})},Zn=(e,t=$.PROTYLE_CDN)=>{let n=[];e.getAttribute("data-subtype")==="flowchart"?n=[e]:n=Array.from(e.querySelectorAll('[data-subtype="flowchart"]')),n.length!==0&&oe(`${t}/js/flowchart.js/flowchart.min.js?v=1.18.0`,"protyleFlowchartScript").then(()=>{if(n[0].firstElementChild.clientWidth===0){const a=new MutationObserver(()=>{Oa(n),a.disconnect()}),i=R(n[0],"fold","1");if(i)a.observe(i,{attributeFilter:["fold"]});else{const s=O(n[0],"card__block",!0);s&&a.observe(s,{attributeFilter:["class"]})}}else Oa(n)})},Oa=e=>{const t=O(e[0],"protyle-wysiwyg",!0);e.forEach(n=>{if(n.getAttribute("data-render")==="true")return;n.firstElementChild.classList.contains("protyle-icons")||n.insertAdjacentHTML("afterbegin",se(t));const a=n.firstElementChild.nextElementSibling;a.innerHTML=`<span style="position: absolute;left:0;top:0;width: 1px;">${$.ZWSP}</span><div class="ft__error" contenteditable="false"></div>`;try{flowchart.parse(Lute.UnEscapeHTMLStr(n.getAttribute("data-content"))).drawSVG(a.lastElementChild)}catch(i){a.innerHTML=`<span style="position: absolute;left:0;top:0;width: 1px;">${$.ZWSP}</span><div class="ft__error" contenteditable="false">Flow Chart render error: <br>${i}</div>`}n.setAttribute("data-render","true")})},Xn=(e,t=$.PROTYLE_CDN)=>{let n=[];e.getAttribute("data-subtype")==="plantuml"?n=[e]:n=Array.from(e.querySelectorAll('[data-subtype="plantuml"]')),n.length!==0&&oe(`${t}/js/plantuml/plantuml-encoder.min.js?v=0.0.0`,"protylePlantumlScript").then(()=>{const a=O(e,"protyle-wysiwyg",!0);n.forEach(i=>{if(i.getAttribute("data-render")==="true")return;i.firstElementChild.classList.contains("protyle-icons")||i.insertAdjacentHTML("afterbegin",se(a));const s=i.firstElementChild.nextElementSibling;try{s.innerHTML=`<object type="image/svg+xml" data="${window.siyuan.config.editor.plantUMLServePath}${window.plantumlEncoder.encode(Lute.UnEscapeHTMLStr(i.getAttribute("data-content")))}"/>`,s.classList.remove("ft__error"),i.setAttribute("data-render","true")}catch(o){s.classList.add("ft__error"),s.innerHTML=`plantuml render error: <br>${o}`}})})},Jn=e=>{let t=[];e.getAttribute("data-type")==="NodeHTMLBlock"?t=[e]:t=Array.from(e.querySelectorAll('[data-type="NodeHTMLBlock"]')),t.length!==0&&t.length>0&&t.forEach(n=>
208{n.firstElementChild.firstElementChild.setAttribute("aria-label",window.siyuan.languages.edit),n.firstElementChild.lastElementChild.setAttribute("aria-label",window.siyuan.languages.more)})},Jr=(e,t)=>{const n=document.createElement("div");n.innerHTML=e;let a=!1;if((n.childElementCount===1&&n.lastElementChild.style.fontFamily.indexOf("monospace")>-1||n.childElementCount===1&&n.querySelectorAll("pre").length===1||e.indexOf(`
209<p class="p1">`)===0||n.childElementCount===1&&n.firstElementChild.tagName==="TABLE"&&n.querySelector(".line-number")&&n.querySelector(".line-content"))&&(a=!0),a){let i=t||e;return/\n/.test(i)?`<div data-type="NodeCodeBlock" class="code-block" data-node-id="${Lute.NewNodeID()}"><div class="protyle-action"><span class="protyle-action--first protyle-action__language" contenteditable="false">${window.siyuan.storage[Constants.LOCAL_CODELANG]}</span><span class="fn__flex-1"></span><span aria-label="${window.siyuan.languages.copy}" class="b3-tooltips__nw b3-tooltips protyle-icon protyle-icon--first protyle-action__copy"><svg><use xlink:href="#iconCopy"></use></svg></span><span aria-label="${window.siyuan.languages.more}" class="b3-tooltips__nw b3-tooltips protyle-icon protyle-icon--last protyle-action__menu"><svg><use xlink:href="#iconMore"></use></svg></span></div><div contenteditable="true" spellcheck="${window.siyuan.config.editor.spellcheck}">${i.replace(/&/g,"&amp;").replace(/</g,"&lt;")}<wbr></div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`:(i=i.replace("<","&lt;").replace(">","&gt;"),"`"+i+"`")}return!1},Tt=e=>{const t=e.getAttribute("data-subtype");if(!$.SIYUAN_RENDER_CODE_LANGUAGES.includes(t)||e.getAttribute("data-type")!=="NodeHTMLBlock"){jn(e),Jn(e),Xn(e),Kn(e),Zn(e),Vn(e),zn(e),_e(e),Gn(e);return}t==="abc"?jn(e):t==="plantuml"?Xn(e):t==="mermaid"?Kn(e):t==="flowchart"?Zn(e):t==="echarts"?Vn(e):t==="mindmap"?zn(e):t==="graphviz"?_e(e):t==="math"?Gn(e):e.getAttribute("data-type")==="NodeHTMLBlock"&&Jn(e)},qa=(e,t)=>{let n="";switch(e){case"NodeDocument":n="iconFile";break;case"NodeThematicBreak":n="iconLine";break;case"NodeParagraph":n="iconParagraph";break;case"NodeHeading":t?n="icon"+t.toUpperCase():n="iconHeadings";break;case"NodeBlockquote":n="iconQuote";break;case"NodeList":t==="t"?n="iconCheck":t==="o"?n="iconOrderedList":n="iconList";break;case"NodeListItem":n="iconListItem";break;case"NodeCodeBlock":case"NodeYamlFrontMatter":n="iconCode";break;case"NodeTable":n="iconTable";break;case"NodeBlockQueryEmbed":n="iconSQL";break;case"NodeSuperBlock":n="iconSuper";break;case"NodeMathBlock":n="iconMath";break;case"NodeHTMLBlock":n="iconHTML5";break;case"NodeWidget":n="iconBoth";break;case"NodeIFrame":n="iconLanguage";break;case"NodeVideo":n="iconVideo";break;case"NodeAudio":n="iconRecord";break;case"NodeAttributeView":n="iconDatabase";break}return n},It=(e,t,n=!1)=>
209{if(!t){if(e.includes("dialog")){const a=window.siyuan.dialogs.length;for(let i=0;i<a;i++)window.siyuan.dialogs[i].destroy()}return}if(e.includes("hint")&&(clearTimeout(t.hint.timeId),t.hint.element.classList.add("fn__none")),t.gutter&&e.includes("gutter")&&(t.gutter.element.classList.add("fn__none"),t.gutter.element.innerHTML="",t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--hl").forEach(a=>{a.classList.remove("protyle-wysiwyg--hl")})),t.gutter&&e.includes("gutterOnly")&&(t.gutter.element.classList.add("fn__none"),t.gutter.element.innerHTML=""),t.toolbar&&e.includes("toolbar")&&(t.toolbar.element.classList.add("fn__none"),t.toolbar.element.style.display=""),t.toolbar&&e.includes("util")){const a=t.toolbar.subElement.querySelector('[data-type="pin"]');(n||!a||a&&a.getAttribute("aria-label")===window.siyuan.languages.pin)&&(t.toolbar.subElement.classList.add("fn__none"),t.toolbar.subElementCloseCB&&(t.toolbar.subElementCloseCB(),t.toolbar.subElementCloseCB=void 0))}e.includes("select")&&t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select").forEach(a=>{a.classList.remove("protyle-wysiwyg--select"),a.removeAttribute("select-start"),a.removeAttribute("select-end")})},Qr=e=>{e.includes("toolbar")&&document.querySelectorAll(".protyle-toolbar").forEach(t=>{t.classList.add("fn__none"),t.style.display=""}),e.includes("util")&&getAllEditor().forEach(t=>{t.protyle.toolbar&&(t.protyle.toolbar.subElement.classList.add("fn__none"),t.protyle.toolbar.subElementCloseCB&&(t.protyle.toolbar.subElementCloseCB(),t.protyle.toolbar.subElementCloseCB=void 0))}),e.includes("pdfutil")&&document.querySelectorAll(".pdf__util").forEach(t=>{t.classList.add("fn__none")}),e.includes("gutter")&&document.querySelectorAll(".protyle-gutters").forEach(t=>{t.classList.add("fn__none"),t.innerHTML=""})},sn=e=>{e.classList.add("protyle-wysiwyg--hl"),setTimeout(function(){e.classList.remove("protyle-wysiwyg--hl")},1024)},ec=(e,t,n=!1)=>{let a;const i=e.wysiwyg.element;if(!e.preview.element.classList.contains("fn__none")){a=document.getElementById(t),a&&(e.preview.element.scrollTop=a.offsetTop,sn(a));return}if(Array.from(i.querySelectorAll(`[data-node-id="${t}"]`)).find(s=>{if(!hasClosestByAttribute(s,"data-type","block-render",!0))return a=s,!0}),a)return Qn(e,a,n),sn(a),a;if(t===e.block.rootID&&e.options.render.title&&e.title.editElement)return sn(e.title.editElement),e.title.editElement},Qn=(e,t,n=!1,a="auto")=>{var i,s,o,l;if(!e.disabled&&!n&&getSelection().rangeCount>0){const u=getSelection().getRangeAt(0),g=K(u.startContainer);if(g){if(g.classList.contains("code-block")){const A=document.createElement("br");u.insertNode(A),A.scrollIntoView({block:"nearest",behavior:a}),A.remove();return}if(g.classList.contains("av")&&g.dataset.render==="true"&&(((i=g.querySelector(".av__row--header").getAttribute("style"))==null?void 0:i.indexOf("transform"))>-1||((s=g.querySelector(".av__row--footer").getAttribute("style"))==null?void 0:s.indexOf("transform"))>-1))return;const p=u.cloneRange(),m=document.createElement("br");u.insertNode(m);const b=e.contentElement,E=m.getBoundingClientRect().top-b.getBoundingClientRect().top;let k=0;E<0?k=b.scrollTop+E:E>b.clientHeight-74&&(k=b.scrollTop+(E+74-b.clientHeight)),k!==0&&b.scroll({top:k,behavior:a}),m.remove(),Le(p);return}}if(!t&&((o=document.activeElement)==null?void 0:o.tagName)!=="TEXTAREA"&&((l=document.activeElement)==null?void 0:l.tagName)!=="INPUT"&&(t=K(it(e.wysiwyg.element).startContainer)),!t)return;let r=0,c=t;for(;c&&!c.classList.contains("protyle-wysiwyg");)r+=c.offsetTop,c=c.parentElement;let f=0,d=e.element.firstElementChild;for(;d&&!d.classList.contains("protyle-content");)f+=d.clientHeight,d=d.nextElementSibling;if(n){e.contentElement.scroll({top:r-f,behavior:a});return}e.contentElement.scrollTop>r-32?e.contentElement.scroll({top:r-f,behavior:a}):e.contentElement.scrollTop+e.contentElement.clientHeight<r+t.clientHeight-f&&e.contentElement.scroll({top:r+t.clientHeight-f-e.contentElement.clientHeight,behavior:a})},ea=(e,t=0,n=1e3)=>{e.scroll.lastScrollTop=-1,setTimeout(()=>{e.scroll.lastScrollTop=t},n)};class tc{constructor(){this.wheelEvent="onwheel"in document.createElement("div")?"wheel":"mousewheel",this.element=document.getElementById("commonMenu"),this.element.querySelector(".b3-menu__title .b3-menu__label").innerHTML=window.siyuan.languages.back,this.element.addEventListener(isMobile()?"click":"mouseover",t=>{const n=t.target;if(isMobile()&&(hasClosestByClassName(n,"b3-menu__title")||typeof t.detail=="string"&&t.detail==="back")){const o=this.element.querySelectorAll(".b3-menu__item--show");o.length>0?o[o.length-1].classList.remove("b3-menu__item--show"):(this.element.style.transform="",setTimeout(()=>{this.remove()},Constants.TIMEOUT_DBLCLICK));return}const a=hasClosestByClassName(n,"b3-menu__item");if(!a||a.classList.contains("b3-menu__item--readonly"))return;const i=a.querySelector(".b3-menu__submenu");this.element.querySelectorAll(".b3-menu__item--show").forEach(s=>{!s.contains(a)&&!s.isSameNode(a)&&!a.contains(s)&&s.classList.remove("b3-menu__item--show")}),this.element.querySelectorAll(".b3-menu__item--current").forEach(s=>{s.classList.remove("b3-menu__item--current")}),a.classList.add("b3-menu__item--current"),i&&(a.classList.add("b3-menu__item--show"),this.element.classList.contains("b3-menu--fullscreen")||this.showSubMenu(i))})}showSubMenu(t){const n=t.parentElement.getBoundingClientRect();t.style.top=n.top-8+"px",t.style.left=n.right+8+"px",t.style.bottom="auto";const a=t.getBoundingClientRect();a.right>window.innerWidth&&(n.left-8>a.width?t.style.left=n.left-8-a.width+"px":t.style.left=window.innerWidth-a.width+"px"),a.bottom>window.innerHeight&&(t.style.top="auto",t.style.bottom="8px")}preventDefault(t){!hasClosestByClassName(t.target,"b3-menu")&&!hasClosestByClassName(t.target,"keyboard__bar")&&t.preventDefault()}addItem(t){const n=new ke(t);return this.append(n.element,t.index),n.element}removeScrollEvent(){window.removeEventListener(isMobile()?"touchmove":this.wheelEvent,this.preventDefault,!1)}remove(t=!1){var n;if(t){const a=window.siyuan.menus.menu.element.querySelectorAll(".b3-menu__item--show");if(a.length>0){const i=a[a.length-1];i.classList.remove("b3-menu__item--show"),i.classList.add("b3-menu__item--current"),(n=i.querySelector(".b3-menu__item--current"))==null||n.classList.remove("b3-menu__item--current");return}}window.siyuan.menus.menu.removeCB&&(window.siyuan.menus.menu.removeCB(),window.siyuan.menus.menu.removeCB=void 0),this.removeScrollEvent(),this.element.firstElementChild.classList.add("fn__none"),this.element.lastElementChild.innerHTML="",this.element.lastElementChild.removeAttribute("style"),this.element.classList.add("fn__none"),this.element.classList.remove("b3-menu--list","b3-menu--fullscreen"),this.element.removeAttribute("style"),this.element.removeAttribute("data-name"),this.element.removeAttribute("data-from"),this.data=void 0}append(t,n){if(t){if(typeof n=="number"){const a=this.element.querySelectorAll(".b3-menu__items > .b3-menu__separator")[n];if(a){a.before(t);return}}this.element.lastElementChild.append(t)}}popup(t){this.element.lastElementChild.innerHTML!==""&&(window.addEventListener(isMobile()?"touchmove":this.wheelEvent,this.preventDefault,{passive:!1}),this.element.style.zIndex=(++window.siyuan.zIndex).toString(),this.element.classList.remove("fn__none"),setPosition(this.element,t.x-(t.isLeft?this.element.clientWidth:0),t.y,t.h,t.w))}fullscreen(t="all"){this.element.lastElementChild.innerHTML!==""&&(this.element.classList.add("b3-menu--fullscreen"),this.element.style.zIndex=(++window.siyuan.zIndex).toString(),this.element.firstElementChild.classList.remove("fn__none"),this.element.classList.remove("fn__none"),window.addEventListener("touchmove",this.preventDefault,{passive:!1}),setTimeout(()=>{t==="bottom"?(this.element.style.transform="translateY(-50vh)",this.element.style.height="50vh"):this.element.style.transform="translateY(-100%)"}),this.element.lastElementChild.scrollTop=0)}}class ke{constructor(t){if(!t.ignore){if(t.type==="empty"){this.element=document.createElement("div"),this.element.innerHTML=t.label,t.bind&&t.bind(this.element);return}if(this.element=document.createElement("button"),t.disabled&&this.element.setAttribute("disabled","disabled"),t.id&&this.element.setAttribute("data-id",t.id),t.type==="separator"){this.element.classList.add("b3-menu__separator");return}if(this.element.classList.add("b3-menu__item"),t.current&&this.element.classList.add("b3-menu__item--selected"),t.click&&this.element.addEventListener("click",n=>{if(this.element.getAttribute("disabled"))return;let a=t.click(this.element,n);a instanceof Promise&&(a=!1),n.preventDefault(),n.stopImmediatePropagation(),n.stopPropagation(),this.element.parentElement&&!a&&window.siyuan.menus.menu.remove()}),t.type==="readonly"&&this.element.classList.add("b3-menu__item--readonly"),(t.icon==="iconTrashcan"||t.warning)&&this.element.classList.add("b3-menu__item--warning"),t.element)this.element.append(t.element);else{let n=`<span class="b3-menu__label">${t.label||"&nbsp;"}</span>`;typeof t.iconHTML=="string"?n=t.iconHTML+n:n=`<svg class="b3-menu__icon ${t.iconClass||""}" style="${t.icon==="iconClose"?"height:10px;":""}"><use xlink:href="#${t.icon||""}"></use></svg>${n}`,t.accelerator&&(n+=`<span class="b3-menu__accelerator">${tn(t.accelerator)}</span>`),t.action&&(n+=`<svg class="b3-menu__action${t.action==="iconCloseRound"?" b3-menu__action--close":""}"><use xlink:href="#${t.action}"></use></svg>`),t.checked&&(n+='<svg class="b3-menu__checked"><use xlink:href="#iconSelect"></use></svg></span>'),this.element.innerHTML=n}if(t.bind&&(this.element.classList.add("b3-menu__item--custom"),t.bind(this.element)),t.submenu){const n=document.createElement("div");n.classList.add("b3-menu__submenu"),n.innerHTML='<div class="b3-menu__items"></div>',t.submenu.forEach(a=>{n.firstElementChild.append(new ke(a).element)}),this.element.insertAdjacentHTML("beforeend",'<svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>'),this.element.append(n)}}}}const ot=(e,t)=>
209{let n=e;for(;n&&(n.classList.contains("b3-menu__separator")||n.classList.contains("b3-menu__item--readonly")||n.getBoundingClientRect().height===0)&&!n.querySelector(".b3-text-field");)t?n=n.nextElementSibling:n=n.previousElementSibling;return n},nc=e=>{if(window.siyuan.menus.menu.element.classList.contains("fn__none")||e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)return!1;const t=e.target;if(window.siyuan.menus.menu.element.contains(t)&&["INPUT","TEXTAREA"].includes(t.tagName))return!1;const n=Constants.KEYCODELIST[e.keyCode];if(n==="\u2193"||n==="\u2191"){const a=window.siyuan.menus.menu.element.querySelector(".b3-menu__item--current");let i;if(a?(a.classList.remove("b3-menu__item--current","b3-menu__item--show"),n==="\u2191"?(i=ot(a.previousElementSibling,!1),i||(i=ot(a.parentElement.lastElementChild,!1))):(i=ot(a.nextElementSibling,!0),i||(i=ot(a.parentElement.firstElementChild,!0)))):n==="\u2191"?i=ot(window.siyuan.menus.menu.element.lastElementChild.lastElementChild,!1):i=ot(window.siyuan.menus.menu.element.lastElementChild.firstElementChild,!0),i){i.classList.contains("b3-menu__item")&&i.classList.add("b3-menu__item--current");const s=i.querySelector(":scope > .b3-text-field");s&&s.focus(),i.classList.remove("b3-menu__item--show");const o=i.parentElement.getBoundingClientRect(),l=i.getBoundingClientRect();(o.top>l.top||o.bottom<l.bottom)&&i.scrollIntoView(o.top>l.top)}return!0}else if(n==="\u2192"){const a=window.siyuan.menus.menu.element.querySelector(".b3-menu__item--current");if(!a)return!0;const i=a.querySelector(".b3-menu__submenu");if(!i)return!0;a.classList.remove("b3-menu__item--current"),a.classList.add("b3-menu__item--show");const s=ot(i.firstElementChild.firstElementChild,!0);return s&&s.classList.add("b3-menu__item--current"),window.siyuan.menus.menu.showSubMenu(i),!0}else if(n==="\u2190"){const a=window.siyuan.menus.menu.element.querySelector(".b3-menu__submenu .b3-menu__item--current");if(!a)return!0;const i=hasClosestByClassName(a,"b3-menu__item--show");return i&&(i.classList.remove("b3-menu__item--show"),i.classList.add("b3-menu__item--current"),a.classList.remove("b3-menu__item--current")),!0}else if(n==="\u21A9"){const a=window.siyuan.menus.menu.element.querySelector(".b3-menu__item--current");if(a){const i=a.querySelector(".b3-menu__submenu");if(i){a.classList.remove("b3-menu__item--current"),a.classList.add("b3-menu__item--show");const l=ot(i.firstElementChild.firstElementChild,!0);return l&&l.classList.add("b3-menu__item--current"),window.siyuan.menus.menu.showSubMenu(i),!0}const s=a.querySelector(".b3-text-field"),o=a.querySelector(".b3-switch");if(s)return s.focus(),!0;o?o.click():a.dispatchEvent(new CustomEvent(getEventName())),window.siyuan.menus.menu.element.contains(a)&&window.siyuan.menus.menu.remove()}else return!1;return!0}};class Pi{constructor(){this.menus=[]}addSeparator(t,n){typeof t=="number"?this.menus.splice(t,0,{type:"separator",id:n}):this.menus.push({type:"separator",id:n})}addItem(t){typeof t.index=="number"?this.menus.splice(t.index,0,t):this.menus.push(t)}}class ac{constructor(t=""){this.eventTarget=document.appendChild(document.createComment(t))}on(t,n){this.eventTarget.addEventListener(t,n)}once(t,n){this.eventTarget.addEventListener(t,n,{once:!0})}off(t,n){this.eventTarget.removeEventListener(t,n)}emit(t,n){return this.eventTarget.dispatchEvent(new CustomEvent(t,{detail:n,cancelable:!0}))}}const Ri=e=>{const t=new Pi;e.detail.menu=t,e.plugins.forEach(n=>{n.eventBus.emit(e.type,e.detail)}),t.menus.length>0&&(e.separatorPosition==="top"&&window.siyuan.menus.menu.append(new ke({id:"separator_pluginTop",type:"separator"}).element),window.siyuan.menus.menu.append(new ke({id:"plugin",label:window.siyuan.languages.plugin,icon:"iconPlugin",type:"submenu",submenu:t.menus}).element),e.separatorPosition==="bottom"&&window.siyuan.menus.menu.append(new ke({id:"separator_pluginBottom",type:"separator"}).element))},ta=(e,t,n)=>{if(e.getAttribute("custom-pinthead")==="true"){const a=e.querySelector("table");a.clientHeight+a.scrollTop<t.offsetTop+t.clientHeight?a.scrollTop=t.offsetTop-a.clientHeight+t.clientHeight+1:a.scrollTop>t.offsetTop-t.clientHeight&&(a.scrollTop=t.offsetTop-t.clientHeight+1)}else scrollCenter(n,t)},Qe=e=>{let t=e.previousElementSibling,n=0;for(;t;)n++,t=t.previousElementSibling;return n},Ua=(e,t,n=!0)=>{let a=e.previousElementSibling;return a||(e.parentElement.previousElementSibling?a=e.parentElement.previousElementSibling.lastElementChild:e.parentElement.parentElement.tagName==="TBODY"&&e.parentElement.parentElement.previousElementSibling?a=e.parentElement.parentElement.previousElementSibling.lastElementChild.lastElementChild:a=null),a&&(t.selectNodeContents(a),n||t.collapse(!1),focusByRange(t)),a},na=(e,t,n,a,i)=>{i.insertNode(document.createElement("wbr"));const s=n.outerHTML,o=n.querySelector("table"),l=o.rows[0].cells.length,r=o.rows.length,c=[];for(let f=0;f<r;f++){for(let d=0;d<l;d++)o.rows[f].cells[d].isSameNode(t[c.length])&&c.push(d);if(c.length>0)break}for(let f=0;f<r;f++)c.forEach(d=>{o.rows[f].cells[d].setAttribute("align",a)});updateTransaction(e,n.getAttribute("data-node-id"),n.outerHTML,s),focusByWbr(o,i)},Fa=(e,t,n,a)=>{const i=document.createElement("wbr");
209t.insertNode(i);const s=a.outerHTML;i.remove();let o="";for(let r=0;r<n.parentElement.childElementCount;r++)o+=`<td align="${n.parentElement.children[r].getAttribute("align")||""}"></td>`;let l;if(n.tagName==="TH"){const r=a.querySelector("tbody");r?(r.insertAdjacentHTML("afterbegin",`<tr>${o}</tr>`),l=r.firstElementChild):(n.parentElement.parentElement.insertAdjacentHTML("afterend",`<tbody><tr>${o}</tr></tbody>`),l=n.parentElement.parentElement.nextElementSibling.firstElementChild)}else n.parentElement.insertAdjacentHTML("afterend",`<tr>${o}</tr>`),l=n.parentElement.nextElementSibling;t.selectNodeContents(l.cells[Qe(n)]),t.collapse(!0),focusByRange(t),updateTransaction(e,a.getAttribute("data-node-id"),a.outerHTML,s),ta(a,l,e)},Oi=(e,t,n,a)=>{const i=document.createElement("wbr");t.insertNode(i);const s=a.outerHTML;i.remove();let o="",l=!1;for(let c=0;c<n.parentElement.childElementCount;c++){const f=n.parentElement.children[c];f.className==="fn__none"&&(l=!0),n.tagName==="TH"?o+=`<th class="${f.className}" colspan="${f.colSpan}" align="${f.getAttribute("align")}"></th>`:o+=`<td class="${f.className}" colspan="${f.colSpan}" align="${f.getAttribute("align")}"></td>`}if(l){let c=n.parentElement.previousElementSibling,f=1;for(;c;)f++,Array.from(c.children).forEach(d=>{d.rowSpan>=f&&d.rowSpan>1&&(d.rowSpan=d.rowSpan+1)}),c=c.previousElementSibling}let r;n.parentElement.parentElement.tagName==="THEAD"&&!n.parentElement.previousElementSibling?(n.parentElement.parentElement.insertAdjacentHTML("beforebegin",`<thead><tr>${o}</tr></thead>`),r=a.querySelector("thead tr"),n.parentElement.parentElement.nextElementSibling.insertAdjacentHTML("afterbegin",n.parentElement.parentElement.innerHTML.replace(/<th/g,"<td").replace(/<\/th>/g,"</td>")),n.parentElement.parentElement.remove()):(n.parentElement.insertAdjacentHTML("beforebegin",`<tr>${o}</tr>`),r=n.parentElement.previousElementSibling),t.selectNodeContents(r.cells[Qe(n)]),t.collapse(!0),focusByRange(t),updateTransaction(e,a.getAttribute("data-node-id"),a.outerHTML,s),ta(a,r,e)},Ya=(e,t,n,a,i)=>{const s=document.createElement("wbr");i.insertNode(s);const o=t.outerHTML;s.remove();const l=Qe(n),r=t.querySelector("table");for(let c=0;c<r.rows.length;c++){const f=r.rows[c].cells[l],d=document.createElement(f.tagName);f.insertAdjacentElement(a,d),f.isSameNode(n)?(d.innerHTML="<wbr> ",d.offsetLeft+d.clientWidth>t.firstElementChild.scrollLeft+t.firstElementChild.clientWidth&&(t.firstElementChild.scrollLeft=d.offsetLeft+d.clientWidth-t.firstElementChild.clientWidth)):d.textContent=" "}r.querySelectorAll("col")[l].insertAdjacentHTML(a,"<col>"),focusByWbr(t,i),updateTransaction(e,t.getAttribute("data-node-id"),t.outerHTML,o)},qi=(e,t,n,a)=>{if(n.parentElement.parentElement.tagName!=="THEAD"){const i=document.createElement("wbr");t.insertNode(i);const s=a.outerHTML;i.remove();const o=Qe(n),l=n.parentElement.parentElement;let r=l.previousElementSibling.lastElementChild;n.parentElement.previousElementSibling&&(r=n.parentElement.previousElementSibling),l.childElementCount===1?l.remove():n.parentElement.remove(),t.selectNodeContents(r.cells[o]),t.collapse(!0),focusByRange(t),ta(a,r,e),updateTransaction(e,a.getAttribute("data-node-id"),a.outerHTML,s)}},Ui=(e,t,n,a)=>{var i;const s=document.createElement("wbr");t.insertNode(s);const o=n.outerHTML;s.remove();const l=Qe(a),r=a.previousElementSibling||a.nextElementSibling;if(r)t.selectNodeContents(r),t.collapse(!0),r.offsetLeft+r.clientWidth>n.firstElementChild.scrollLeft+n.firstElementChild.clientWidth&&(n.firstElementChild.scrollLeft=r.offsetLeft+r.clientWidth-n.firstElementChild.clientWidth);else{n.classList.add("protyle-wysiwyg--select"),removeBlock(e,n,t,"remove");return}const c=n.querySelector("table");for(let f=0;f<c.rows.length;f++){const d=c.rows[f].cells;if(d.length===1){c.remove();break}d[l].remove()}(i=n.querySelectorAll("col")[l])==null||i.remove(),updateTransaction(e,n.getAttribute("data-node-id"),n.outerHTML,o),focusByRange(t)},Fi=(e,t,n,a)=>{const i=n.parentElement;if(i.parentElement.tagName==="THEAD")return;t.insertNode(document.createElement("wbr"));const s=a.outerHTML;if(i.previousElementSibling)i.after(i.previousElementSibling);else{const o=i.parentElement.previousElementSibling.firstElementChild;o.querySelectorAll("th").forEach(l=>{const r=document.createElement("td");r.innerHTML=l.innerHTML,l.parentNode.replaceChild(r,l)}),i.querySelectorAll("td").forEach(l=>{const r=document.createElement("th");r.innerHTML=l.innerHTML,l.parentNode.replaceChild(r,l)}
209),i.after(o),i.parentElement.previousElementSibling.append(i)}updateTransaction(e,a.getAttribute("data-node-id"),a.outerHTML,s),focusByWbr(a,t),scrollCenter(e,i)},Yi=(e,t,n,a)=>{const i=n.parentElement;if(i.parentElement.tagName==="TBODY"&&!i.nextElementSibling||i.parentElement.tagName==="THEAD"&&!i.parentElement.nextElementSibling)return;t.insertNode(document.createElement("wbr"));const s=a.outerHTML;if(i.nextElementSibling)i.before(i.nextElementSibling);else{const o=i.parentElement.nextElementSibling.firstElementChild;o.querySelectorAll("td").forEach(l=>{const r=document.createElement("th");r.innerHTML=l.innerHTML,l.parentNode.replaceChild(r,l)}),i.querySelectorAll("th").forEach(l=>{const r=document.createElement("td");r.innerHTML=l.innerHTML,l.parentNode.replaceChild(r,l)}),i.after(o),i.parentElement.nextElementSibling.insertAdjacentElement("afterbegin",i)}updateTransaction(e,a.getAttribute("data-node-id"),a.outerHTML,s),focusByWbr(a,t),scrollCenter(e,i)},Wi=(e,t,n,a)=>{if(!n.previousElementSibling)return;t.insertNode(document.createElement("wbr"));const i=a.outerHTML;let s=0;Array.from(n.parentElement.children).find((l,r)=>{if(n.isSameNode(l))return s=r,!0}),a.querySelectorAll("tr").forEach(l=>{l.cells[s].after(l.cells[s-1])}),n.offsetLeft<a.firstElementChild.scrollLeft&&(a.firstElementChild.scrollLeft=n.offsetLeft);const o=a.querySelectorAll("col");o[s].after(o[s-1]),updateTransaction(e,a.getAttribute("data-node-id"),a.outerHTML,i),focusByWbr(a,t)},ji=(e,t,n,a)=>{if(!n.nextElementSibling)return;t.insertNode(document.createElement("wbr"));const i=a.outerHTML;let s=0;Array.from(n.parentElement.children).find((l,r)=>{if(n.isSameNode(l))return s=r,!0}),a.querySelectorAll("tr").forEach(l=>{l.cells[s].before(l.cells[s+1])}),n.offsetLeft+n.clientWidth>a.firstElementChild.scrollLeft+a.firstElementChild.clientWidth&&(a.firstElementChild.scrollLeft=n.offsetLeft+n.clientWidth-a.firstElementChild.clientWidth);const o=a.querySelectorAll("col");o[s].before(o[s+1]),updateTransaction(e,a.getAttribute("data-node-id"),a.outerHTML,i),focusByWbr(a,t)},sc=(e,t,n)=>{var a,i;const s=hasClosestByTag(n.startContainer,"TD")||hasClosestByTag(n.startContainer,"TH"),o=hasClosestBlock(n.startContainer);if(!s||!o)return!1;if(t.key==="Enter"&&t.shiftKey&&isNotCtrl(t)&&!t.altKey){const h=document.createElement("wbr");n.insertNode(h);const _=o.outerHTML;if(h.remove(),s&&!s.innerHTML.endsWith("<br>")&&s.insertAdjacentHTML("beforeend","<br>"),n.extractContents(),e.toolbar.getCurrentType(n).includes("code")&&n.startContainer.nodeType!==3){const L=document.createElement("br");n.startContainer.after(L),n.setStartAfter(L)}else n.insertNode(document.createElement("br"));return n.collapse(!1),scrollCenter(e),updateTransaction(e,o.getAttribute("data-node-id"),o.outerHTML,_),t.preventDefault(),!0}if(!o.classList.contains("protyle-wysiwyg--select")&&!hasClosestByClassName(o,"protyle-wysiwyg--select")){if(isNotCtrl(t)&&!t.shiftKey&&!t.altKey&&t.key==="Enter"){t.preventDefault();const h=s.parentElement;if(!h.nextElementSibling&&h.parentElement.tagName==="TBODY"||h.parentElement.tagName==="THEAD"&&!h.parentElement.nextElementSibling)return insertEmptyBlock(e,"afterend",o.getAttribute("data-node-id")),!0;let _=h.nextElementSibling;return _||(_=h.parentElement.nextElementSibling.firstChild),_&&(n.selectNodeContents(_.cells[Qe(s)]),n.collapse(!0),scrollCenter(e)),!0}if(t.key==="ArrowRight"&&n.toString()===""&&!o.nextElementSibling&&s.isSameNode(o.querySelector("table").lastElementChild.lastElementChild.lastElementChild)&&getSelectionOffset(s,e.wysiwyg.element,n).start===s.textContent.length)return t.preventDefault(),insertEmptyBlock(e,"afterend",o.getAttribute("data-node-id")),!0;if(t.key==="Tab"&&isNotCtrl(t)){if(t.shiftKey)return Ua(s,n),t.preventDefault(),!0;let h=s.nextElementSibling;return h||(s.parentElement.nextElementSibling?h=s.parentElement.nextElementSibling.firstElementChild:s.parentElement.parentElement.tagName==="THEAD"&&s.parentElement.parentElement.nextElementSibling?h=s.parentElement.parentElement.nextElementSibling.firstElementChild.firstElementChild:h=null),h?n.selectNodeContents(h):(Fa(e,n,s,o),n.selectNodeContents(o.querySelector("tbody").lastElementChild.firstElementChild)),t.preventDefault(),!0}if(t.key==="ArrowUp"&&isNotCtrl(t)&&!t.shiftKey&&!t.altKey){const h=n.startContainer;let _;for(h.nodeType!==3&&(h.tagName==="TH"||h.tagName==="TD")?_=h.childNodes[Math.min(n.startOffset,h.childNodes.length-1)]:h.parentElement.tagName==="SPAN"?_=h.parentElement.previousElementSibling:_=h.previousElementSibling;_;){if(_.tagName==="BR"&&hasPreviousSibling(_))return!1;_=_.previousElementSibling}const C=s.parentElement;let L=C.previousElementSibling;return L||(L=C.parentElement.previousElementSibling.lastElementChild),!L||(L==null?void 0:L.tagName)==="COL"?!1:(n.selectNodeContents(L.cells[Qe(s)]),n.collapse(!1),scrollCenter(e),t.preventDefault(),!0)}if(t.key==="ArrowDown"&&isNotCtrl(t)&&!t.shiftKey&&!t.altKey){const h=n.endContainer;let _;for(h.nodeType!==3&&(h.tagName==="TH"||h.tagName==="TD")?_=(a=h.childNodes[Math.max(0,n.endOffset-1)])==null?void 0:a.nextElementSibling:h.parentElement.tagName==="SPAN"?_=h.parentElement.nextElementSibling:_=h.nextElementSibling;_;){if(_.tagName==="BR"&&_.nextSibling)return!1;_=_.nextElementSibling}const C=s.parentElement;if(!C.nextElementSibling&&C.parentElement.tagName==="TBODY"||C.parentElement.tagName==="THEAD"&&!C.parentElement.nextElementSibling)return!1;let L=C.nextElementSibling;return L||(L=C.parentElement.nextElementSibling.firstChild),L?(n.selectNodeContents(L.cells[Qe(s)]),n.collapse(!0),scrollCenter(e),t.preventDefault(),!0):!1}if(isNotCtrl(t)&&!t.shiftKey&&!t.altKey&&t.key==="Backspace"&&getSelectionOffset(s,e.wysiwyg.element,n).start===0&&n.toString()===""&&(n.startOffset===0||n.startOffset===1&&s.querySelectorAll("br").length===1))return!Ua(s,n,!1)&&o.previousElementSibling&&focusBlock(o.previousElementSibling,void 0,!1),scrollCenter(e),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.alignLeft.custom,t))return na(e,[s],o,"left",n),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.alignCenter.custom,t))return na(e,[s],o,"center",n),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.alignRight.custom,t))return na(e,[s],o,"right",n),t.preventDefault(),!0}const l=o.querySelector("table"),r=s.parentElement.querySelector(".fn__none");let c=!1,f=!1;
209Array.from(s.parentElement.children).forEach(h=>{h.colSpan>1&&(c=!0),h.rowSpan>1&&(f=!0)});let d=!1,u=!1,g=!1,p=s.parentElement.previousElementSibling;!p&&s.parentElement.parentElement.tagName==="TBODY"&&(p=l.querySelector("thead").lastElementChild),p&&(d=p.querySelector(".fn__none"),Array.from(p.children).forEach(h=>{h.colSpan>1&&(u=!0),h.rowSpan>1&&(g=!0)}));let m=!1,b=!1,E=!1,k=s.parentElement.nextElementSibling;!k&&s.parentElement.parentElement.tagName==="THEAD"&&(k=(i=l.querySelector("tbody"))==null?void 0:i.firstElementChild),k&&(m=k.querySelector(".fn__none"),Array.from(k.children).forEach(h=>{h.colSpan>1&&(b=!0),h.rowSpan>1&&(E=!0)}));const A=Qe(s);let v=!0;Array.from(l.rows).find(h=>{const _=h.cells[A];if(_.classList.contains("fn__none")||_.colSpan>1||_.rowSpan>1)return v=!1,!0});let w=!0;Array.from(l.rows).find(h=>{const _=h.cells[A+1];if(_&&(_.classList.contains("fn__none")||_.colSpan>1||_.rowSpan>1))return w=!1,!0});let y=!0;if(Array.from(l.rows).find(h=>{const _=h.cells[A-1];if(_&&(_.classList.contains("fn__none")||_.colSpan>1||_.rowSpan>1))return y=!1,!0}),matchHotKey(window.siyuan.config.keymap.editor.table.moveToUp.custom,t))return(!r||r&&!f&&c)&&(!d||d&&!g&&u)&&Fi(e,n,s,o),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table.moveToDown.custom,t))return(!r||r&&!f&&c)&&(!m||m&&!E&&b)&&Yi(e,n,s,o),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table.moveToLeft.custom,t))return v&&y&&Wi(e,n,s,o),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table.moveToRight.custom,t))return v&&w&&ji(e,n,s,o),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table.insertRowAbove.custom,t))return Oi(e,n,s,o),t.preventDefault(),t.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table.insertRowBelow.custom,t))return(!m||m&&!E&&b)&&Fa(e,n,s,o),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table.insertColumnLeft.custom,t))return(v||y)&&Ya(e,o,s,"beforebegin",n),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table.insertColumnRight.custom,t))return(v||w)&&Ya(e,o,s,"afterend",n),t.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table["delete-row"].custom,t))return(!r&&!f||r&&!f&&c)&&qi(e,n,s,o),t.preventDefault(),t.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.table["delete-column"].custom,t))return v&&Ui(e,n,o,s),t.preventDefault(),!0},Vi=e=>e.item.offsetLeft+6>e.tableSelectElement.offsetLeft+e.scrollLeft&&e.item.offsetLeft+e.item.clientWidth-6<e.tableSelectElement.offsetLeft+e.scrollLeft+e.tableSelectElement.clientWidth&&e.item.offsetTop+6>e.tableSelectElement.offsetTop+e.scrollTop&&e.item.offsetTop+e.item.clientHeight-6<e.tableSelectElement.offsetTop+e.scrollTop+e.tableSelectElement.clientHeight,ic=(e,t)=>{var n;if(!t)return;const a=t.querySelector(".table__select"),i=[],s=t.firstElementChild.scrollLeft,o=t.querySelector("table").scrollTop;if(t.querySelectorAll("th, td").forEach(r=>{!r.classList.contains("fn__none")&&Vi({tableSelectElement:a,scrollLeft:s,scrollTop:o,item:r})&&i.push(r)}),a.removeAttribute("style"),getSelection().rangeCount>0){const r=getSelection().getRangeAt(0);t.contains(r.startContainer)&&r.insertNode(document.createElement("wbr"))}const l=t.outerHTML;(n=t.querySelector("wbr"))==null||n.remove(),t.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),i.forEach(r=>{r.innerHTML=""}),updateTransaction(e,t.getAttribute("data-node-id"),t.outerHTML,l)},oc=(e,t,n)=>{if(isMobile())return;const a=t.getBoundingClientRect();if(a.height===0||!e){on();return}const i=document.getElementById("tooltip");i.className=n?`tooltip tooltip--${n}`:"tooltip",i.innerHTML=e,i.removeAttribute("style");const s=t.getAttribute("data-position"),o=t.parentElement.getBoundingClientRect();let l,r;if(s==="parentE")r=Math.max(0,o.top-(i.clientHeight-o.height)/2),r>window.innerHeight-i.clientHeight&&(r=window.innerHeight-i.clientHeight),l=o.right+8,l+i.clientWidth>window.innerWidth&&(l=o.left-i.clientWidth-8);else if(s==="parentW")r=Math.max(0,o.top-(i.clientHeight-o.height)/2),r>window.innerHeight-i.clientHeight&&(r=window.innerHeight-i.clientHeight),l=o.left-i.clientWidth,l<0&&(l=o.right);else if(s!=null&&s.endsWith("west")){const c=parseInt(s)||.5;r=Math.max(0,a.top-(i.clientHeight-a.height)/2),r>window.innerHeight-i.clientHeight&&(r=window.innerHeight-i.clientHeight),l=a.left-i.clientWidth-c,l<0&&(l=a.right)}else if(s==="north")l=Math.max(0,a.left-(i.clientWidth-a.width)/2),r=a.top-i.
209clientHeight-.5,r<0&&(a.top<window.innerHeight-a.bottom?(r=a.bottom+.5,i.style.maxHeight=window.innerHeight-r+"px"):(r=0,i.style.maxHeight=a.top-.5+"px")),l+i.clientWidth>window.innerWidth&&(l=window.innerWidth-i.clientWidth);else{const c=parseInt(s)||.5;l=Math.max(0,a.left-(i.clientWidth-a.width)/2),r=a.bottom+c,r+i.clientHeight>window.innerHeight&&(a.top-c>window.innerHeight-r?(r=a.top-c-i.clientHeight,i.style.maxHeight=a.top-c+"px"):i.style.maxHeight=window.innerHeight-r+"px"),l+i.clientWidth>window.innerWidth&&(l=window.innerWidth-i.clientWidth)}i.style.top=r+"px",i.style.left=l+"px"},on=()=>{document.getElementById("tooltip").classList.add("fn__none")},Gi=()=>{const e=[];return window.siyuan.mobile.editor&&e.push(window.siyuan.mobile.editor),window.siyuan.mobile.popEditor&&e.push(window.siyuan.mobile.popEditor),e},Ki=(e,t)=>/\r\n|\r|\n|\u2028|\u2029|\t/.test(e)?(t?showTooltip(window.siyuan.languages.fileNameRule,t,"error"):showMessage(window.siyuan.languages.fileNameRule),!1):e.length>Constants.SIZE_TITLE?(t?showTooltip(window.siyuan.languages._kernel[106],t,"error"):showMessage(window.siyuan.languages._kernel[106]),!1):!0,aa=e=>(e.indexOf("/")>-1&&(Ze(window.siyuan.languages.fileNameRule),e=e.replace(/\//g,"\uFF0F")),e.replace(/\r\n|\r|\n|\u2028|\u2029|\t|/g,"").substring(0,$.SIZE_TITLE)),lc=e=>e.replace(/\\\\|\/|"|:|\*|\?|\\|'|<|>|\|/g,""),rc=e=>{if(window.siyuan.config.readonly)return;const t=new Dialog({title:window.siyuan.languages.rename,content:`<div class="b3-dialog__content"><input class="b3-text-field fn__block" value=""></div>
210<div class="b3-dialog__action">
211    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
212    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
213</div>`,width:isMobile()?"92vw":"520px",destroyCallback(){e.range&&focusByRange(e.range)}});t.element.setAttribute("data-key",Constants.DIALOG_RENAME);const n=t.element.querySelector("input"),a=t.element.querySelectorAll(".b3-button");t.bindInput(n,()=>{a[1].click()}),n.value=Lute.UnEscapeHTMLStr(e.name),n.focus(),n.select(),a[0].addEventListener("click",()=>{t.destroy()}),a[1].addEventListener("click",()=>{if(!Ki(n.value))return!1;if(n.value===e.name)return t.destroy(),!1;n.value.trim()===""?n.value=window.siyuan.languages.untitled:n.value=aa(n.value),e.type==="notebook"?fetchPost("/api/notebook/renameNotebook",{notebook:e.notebookId,name:n.value},()=>{setNotebookName(e.notebookId,n.value)}):fetchPost("/api/filetree/renameDoc",{notebook:e.notebookId,path:e.path,title:n.value}),t.destroy()})},zi=e=>{const t=new $a({title:window.siyuan.languages.rename,content:`<div class="b3-dialog__content"><input class="b3-text-field fn__block" value=""></div>
214<div class="b3-dialog__action">
215    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
216    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
217</div>`,width:N()?"92vw":"520px"});t.element.setAttribute("data-key",$.DIALOG_RENAMEASSETS);const n=t.element.querySelector("input"),a=t.element.querySelectorAll(".b3-button");t.bindInput(n,()=>{a[1].click()});const i=Ti(e);n.value=i,n.focus(),n.select(),a[0].addEventListener("click",()=>{t.destroy()}),a[1].addEventListener("click",()=>{if(n.value===i||!n.value)return t.destroy(),!1;ve("/api/asset/renameAsset",{oldPath:e,newName:n.value},s=>{Gi().forEach(o=>{o.reload(!1)}),t.destroy()})})},cc=e=>{if(getSelection().rangeCount===0)return;const t=getSelection().getRangeAt(0),n=hasClosestBlock(t.startContainer);if(!n)return;let a=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));a.length===0&&(a=[n]);let i="",s=t.toString();if(s===""){if(s=a[0].textContent,a.forEach(o=>{i+=removeEmbed(o)}),!s)return}else{const o=document.createElement("div");o.appendChild(t.cloneContents()),i=o.innerHTML}s.length>10&&(s=s.substr(0,10)+"..."),s=aa(s),fetchPost("/api/filetree/createDoc",{notebook:e.notebookId,path:pathPosix().join(getDisplayName(e.path,!1,!0),Lute.NewNodeID()+".sy"),title:s,md:e.lute.BlockDOM2StdMd(i)})};var Wa=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const dc=(e,t)=>{},uc=e=>{const t=new Dialog({title:window.siyuan.languages.exportAsImage,content:`<div class="b3-dialog__content" style="${isMobile()?"padding:8px;":""};background-color: var(--b3-theme-background)">
218    <div style="${isMobile()?"margin: 8px 0":"padding: 48px;margin: 8px 0"}" class="export-img">
219        <div ${isMobile()?'style="padding:8px"':""} class="protyle-wysiwyg${window.siyuan.config.editor.displayBookmarkIcon?" protyle-wysiwyg--attr":""}"></div>
220        <div class="export-img__watermark"></div>
221    </div>
222</div>
223<div class="b3-dialog__action">
224    <label class="fn__flex">
225        ${window.siyuan.languages.exportPDF5}
226        <span class="fn__space"></span>
227        <input id="keepFold" class="b3-switch fn__flex-center" type="checkbox" ${window.siyuan.storage[Constants.LOCAL_EXPORTIMG].keepFold?"checked":""}>
228    </label>
229    <label class="fn__flex" style="margin-left: 24px">
230        ${window.siyuan.languages.export30}
231        <span class="fn__space"></span>
232        <input id="watermark" class="b3-switch fn__flex-center" type="checkbox" ${window.siyuan.storage[Constants.LOCAL_EXPORTIMG].watermark?"checked":""}>
233    </label>
234    <span class="fn__flex-1 export-img__space"></span>
235    <button disabled class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
236    <button disabled class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
237</div>
238 <div class="fn__loading"><img height="128px" width="128px" src="stage/loading-pure.svg"></div>`,width:isMobile()?"92vw":"990px",height:"70vh"});t.element.setAttribute("data-key",Constants.DIALOG_EXPORTIMAGE);const n=t.element.querySelectorAll(".b3-button");n[0].addEventListener("click",()=>{t.destroy()}),n[1].addEventListener("click",()=>Wa(void 0,null,function*(){const r=showMessage(window.siyuan.languages.exporting,0),c=t.element.querySelector(".b3-dialog__container");c.style.height="",c.style.width="100vw";const f=t.element.querySelector(".b3-dialog__content");f.style.overflow="hidden",setStorageVal(Constants.LOCAL_EXPORTIMG,window.siyuan.storage[Constants.LOCAL_EXPORTIMG]);const d=a.querySelectorAll("[data-subtype='plantuml']");for(let u=0;u<d.length;u++){const g=d[u].querySelector("object");if(g){const m=yield(yield fetch(g.getAttribute("data"))).text();g.insertAdjacentHTML("beforebegin",m),g.remove()}}setTimeout(()=>{addScript("/stage/protyle/js/html-to-image.min.js?v=1.11.13","protyleHtml2image").then(()=>Wa(void 0,null,function*(){let u=yield window.htmlToImage.toBlob(t.element.querySelector(".b3-dialog__content"));(isIPhone()||isSafari())&&(yield window.htmlToImage.toBlob(f),yield window.htmlToImage.toBlob(f),yield window.htmlToImage.toBlob(f),u=yield window.htmlToImage.toBlob(f));const g=new FormData;g.append("file",u,n[1].getAttribute("data-title")),g.append("type","image/png"),fetchPost("/api/export/exportAsFile",g,p=>{openByMobile(p.data.file)}),hideMessage(r),t.destroy()}))},Constants.TIMEOUT_LOAD)}));const a=t.element.querySelector(".protyle-wysiwyg"),i=t.element.querySelector("#keepFold");i.addEventListener("change",()=>{n[0].setAttribute("disabled","disabled"),n[1].setAttribute("disabled","disabled"),n[1].parentElement.insertAdjacentHTML("afterend",'<div class="fn__loading"><img height="128px" width="128px" src="stage/loading-pure.svg"></div>'),window.siyuan.storage[Constants.LOCAL_EXPORTIMG].keepFold=i.checked,fetchPost("/api/export/exportPreviewHTML",{id:e,keepFold:i.checked,image:!0},r=>{l(r)})});const s=t.element.querySelector("#watermark");s.addEventListener("change",()=>{window.siyuan.storage[Constants.LOCAL_EXPORTIMG].watermark=s.checked,s.checked&&!isPaidUser()&&(s.checked=!1,showMessage(window.siyuan.languages._kernel[214].replaceAll("${accountServer}",getCloudURL("")))),o()});const o=()=>{if(!isPaidUser())return;const r=t.element.querySelector(".export-img__watermark");r.innerHTML="",s.checked?window.siyuan.config.export.imageWatermarkDesc?r.innerHTML=window.siyuan.config.export.imageWatermarkDesc:window.siyuan.config.export.imageWatermarkStr&&(window.siyuan.config.export.imageWatermarkStr.startsWith("http")?r.setAttribute("style",`background-image: url(${window.siyuan.config.export.imageWatermarkStr});background-repeat: repeat;position: absolute;top: 0;left: 0;width: 100%;height: 100%;border-radius: var(--b3-border-radius-b);`):addScript("/stage/protyle/js/html-to-image.min.js?v=1.11.13","protyleHtml2image").then(()=>{const c=Math.max(t.element.querySelector(".export-img").clientWidth/3,150);r.setAttribute("style",`width: ${c}px;height: ${c}px;display: flex;justify-content: center;align-items: center;color: var(--b3-border-color);font-size: 14px;`),r.innerHTML=`<div style="transform: rotate(-45deg)">${window.siyuan.config.export.imageWatermarkStr}</div>`,window.htmlToImage.toCanvas(r).then(f=>{r.innerHTML="",r.setAttribute("style",`background-image: url(${f.toDataURL("image/png")});background-repeat: repeat;position: absolute;top: 0;left: 0;width: 100%;height: 100%;border-radius: var(--b3-border-radius-b);`)})})):r.removeAttribute("style")},l=r=>{a.innerHTML=r.data.content,a.setAttribute("data-doc-type",r.data.type||"NodeDocument"),r.data.attrs.memo&&a.setAttribute("memo",r.data.attrs.memo),r.data.attrs.name&&a.setAttribute("name",r.data.attrs.name),r.data.attrs.bookmark&&a.setAttribute("bookmark",r.data.attrs.bookmark),r.data.attrs.al
238ias&&a.setAttribute("alias",r.data.attrs.alias),a.querySelectorAll(".code-block").forEach(c=>{c.setAttribute("linewrap","true")}),processRender(a),highlightRender(a),a.querySelectorAll("table").forEach(c=>{c.clientWidth>c.parentElement.clientWidth&&(c.setAttribute("style",`margin-bottom:${c.parentElement.clientWidth*c.clientHeight/c.clientWidth-c.parentElement.clientHeight+1}px;transform: scale(${c.parentElement.clientWidth/c.clientWidth});transform-origin: top left;`),c.parentElement.style.overflow="hidden")}),o(),n[0].removeAttribute("disabled"),n[1].removeAttribute("disabled"),t.element.querySelector(".fn__loading").remove()};fetchPost("/api/export/exportPreviewHTML",{id:e,keepFold:i.checked,image:!0},r=>{l(r),n[1].setAttribute("data-title",r.data.name+".png")})},fc=(e,t,n,a)=>{!Zi()||(!t||t.length===0)&&!n||setTimeout(()=>{e.highlight.markHL.clear(),e.highlight.mark.clear(),e.highlight.ranges=[];let i=!1,s;typeof n=="string"&&Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id='${n}']`)).find(g=>{if(!isInEmbedBlock(g))return s=g,!0});const o=[],l=[];let r=0;const c=document.createTreeWalker(e.wysiwyg.element,NodeFilter.SHOW_TEXT);let f=c.nextNode();for(;f;)o.push(f),r+=f.textContent.length,l.push(r),f=c.nextNode();const d=e.wysiwyg.element.textContent,u=[];if(t&&t.length>0&&t.forEach(g=>{if(!g)return;let p=0,m=0,b=0;for(;(p=d.indexOf(g,p))!==-1;){const E=new Range;m=p+g.length;try{for(;b<o.length&&l[b]<=p;)b++;let k=o[b];for(E.setStart(k,p-(b?l[b-1]:0));b<o.length&&l[b]<m;)b++;k=o[b],E.setEnd(k,m-(b?l[b-1]:0));let A=!1;!i&&s&&s.contains(k)&&(i=!0,A=!0),u.push({range:E,startIndex:p,isCurrent:A})}catch(k){console.error("searchMarkRender error:",k)}p=m}}),!i&&s){const g=d.indexOf(s.textContent);if(g>-1){const p=new Range;let m=0;for(;o.length&&l[m]<=g;)m++;p.setStart(o[m],0),u.push({range:p,startIndex:g,isCurrent:!0})}}u.sort((g,p)=>p.startIndex>g.startIndex?-1:0).forEach((g,p)=>{typeof n=="string"&&g.isCurrent||typeof n=="number"&&n===p?(e.highlight.rangeIndex=p,e.highlight.markHL.add(g.range)):e.highlight.mark.add(g.range),e.highlight.ranges.push(g.range)}),CSS.highlights.set("search-mark-"+e.highlight.styleElement.dataset.uuid,e.highlight.mark),typeof n!="undefined"&&CSS.highlights.set("search-mark-hl-"+e.highlight.styleElement.dataset.uuid,e.highlight.markHL),a&&a()},e.wysiwyg.element.querySelector(".hljs")?Constants.TIMEOUT_TRANSITION:0)},Zi=()=>!!(CSS&&CSS.highlights),gc=e=>{var t,n;if(e){hideElements(["util"],e),isSupportCSSHL()&&(e.highlight.markHL.clear(),e.highlight.mark.clear(),e.highlight.ranges=[],e.highlight.rangeIndex=0),(t=e.observer)==null||t.disconnect(),(n=e.observerLoad)==null||n.disconnect(),e.element.classList.remove("protyle"),e.element.removeAttribute("style"),e.wysiwyg&&(e.wysiwyg.lastHTMLs={}),e.undo&&e.undo.clear();try{e.ws.send("closews",{})}catch(a){setTimeout(()=>{e.ws.send("closews",{})},10240)}e.app.plugins.forEach(a=>{a.eventBus.emit("destroy-protyle",{protyle:e})})}},pc=e=>{if(!e)return"";const t=pathPosix().extname(e).toLowerCase();return Constants.SIYUAN_ASSETS_IMAGE.includes(t)?`<img style="max-height: 100%" src="${e}">`:Constants.SIYUAN_ASSETS_AUDIO.includes(t)?`<audio style="max-width: 100%" controls="controls" src="${e}"></audio>`:Constants.SIYUAN_ASSETS_VIDEO.includes(t)?`<video style="max-width: 100%" controls="controls" src="${e}"></video>`:e},mc=()=>{},bc=(e,t,n,a)=>{let i="";if(Constants.SIYUAN_ASSETS_AUDIO.includes(e))i=`<div data-node-id="${Lute.NewNodeID()}" data-type="NodeAudio" class="iframe" updated="${dayjs().format("YYYYMMDDHHmmss")}"><div class="iframe-content"><audio controls="controls" src="${t}" data-src="${t}"></audio>${Constants.ZWSP}</div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`;else if(Constants.SIYUAN_ASSETS_IMAGE.includes(e)){let s="";t.startsWith("assets/")||(s='<span class="img__net"><svg><use xlink:href="#iconLanguage"></use></svg></span>'),i=`<span contenteditable="false" data-type="img" class="img"><span> </span><span><span class="protyle-action protyle-icons"><span class="protyle-icon protyle-icon--only"><svg><use xlink:href="#iconMore"></use></svg></span></span><img src="${t}" data-src="${t}" alt="${n}" />
238<span class="protyle-action__drag"></span>${s}<span class="protyle-action__title"></span></span><span> </span></span>`}else Constants.SIYUAN_ASSETS_VIDEO.includes(e)?i=`<div data-node-id="${Lute.NewNodeID()}" data-type="NodeVideo" class="iframe" updated="${dayjs().format("YYYYMMDDHHmmss")}"><div class="iframe-content">${Constants.ZWSP}<video controls="controls" src="${t}" data-src="${t}"></video><span class="protyle-action__drag" contenteditable="false"></span></div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`:i=`<span data-type="a" data-href="${t}">${a}</span>`;return i};class yc{constructor(){this.isUploading=!1,this.element=document.createElement("div"),this.element.className="protyle-upload"}}const Xi=(e,t)=>{const n=[];let a="",i="";for(let o=t.length,l=0;l<o;l++){const r=t[l];let c=!0;r.name||(a+=`<li>${window.siyuan.languages.nameEmpty}</li>`,c=!1),r.size>e.options.upload.max&&(a+=`<li>${r.name} ${window.siyuan.languages.over} ${e.options.upload.max/1024/1024}M</li>`,c=!1);const f=r.name.lastIndexOf("."),d=f===-1?"":r.name.substr(f),u=f===-1?r.name:e.options.upload.filename(r.name.substr(0,f))+d;e.options.upload.accept&&(e.options.upload.accept.split(",").some(p=>{const m=p.trim();if(m.indexOf(".")===0){if(d.toLowerCase()===m.toLowerCase())return!0}else if(r.type.split("/")[0]===m.split("/")[0])return!0;return!1})||(a+=`<li>${r.name} ${window.siyuan.languages.fileTypeError}</li>`,c=!1)),c&&(n.push(r),i+=`<li>${u} ${window.siyuan.languages.uploading}</li>`)}let s;return(a!==""||i!=="")&&(s=showMessage(`<ul>${a}${i}</ul>`,-1)),{files:n,msgId:s}},ja=(e,t)=>{var n;const a=JSON.parse(e);let i="";a.code===1&&(i=`${a.msg}`),a.data.errFiles&&a.data.errFiles.length>0&&(i=`<ul><li>${i}</li>`,a.data.errFiles.forEach(u=>{const g=u.lastIndexOf("."),p=g===-1?u:t.options.upload.filename(u.substr(0,g))+u.substr(g);i+=`<li>${p} ${window.siyuan.languages.uploadError}</li>`}),i+="</ul>"),i&&showMessage(i);let s=!0;const o=getEditorRange(t.wysiwyg.element);o.toString()===""&&o.startContainer.nodeType===3&&t.toolbar.getCurrentType(o).length>0&&(o.setEndAfter(o.startContainer.parentElement),o.collapse(!1));const l=hasClosestBlock(o.startContainer);if(l)if(l.classList.contains("table"))s=!1;else{const u=getContenteditableElement(l);u&&u.textContent!==""&&l.classList.contains("p")&&(s=!1)}let r="";const c=Object.keys(a.data.succMap);c.sort((u,g)=>u.localeCompare(g,void 0,{numeric:!0}));const f=[];let d=!1;if(c.forEach((u,g)=>{const p=a.data.succMap[u],m=pathPosix().extname(u).toLowerCase(),b=t.options.upload.filename(u),E=b.substring(0,b.length-m.length);d=Constants.SIYUAN_ASSETS_IMAGE.includes(m),f.push({type:Constants.SIYUAN_ASSETS_IMAGE.includes(m)?"image":"file",content:p,name:E}),r+=genAssetHTML(m,p,E,b),!Constants.SIYUAN_ASSETS_AUDIO.includes(m)&&!Constants.SIYUAN_ASSETS_VIDEO.includes(m)&&c.length-1!==g&&(l&&l.classList.contains("table")?r+="<br>":s?r+=`
239
240`:r+=`
241`)}),document.querySelector(".av__panel")){const u=[document.querySelector('.custom-attr__avvalue[data-type="mAsset"][data-active="true"]')];if(u[0]||(u.splice(0,1),t.wysiwyg.element.querySelectorAll(".av__cell--active").forEach(g=>{getTypeByCellElement(g)==="mAsset"&&u.push(g)})),u.length>0){const g=hasClosestBlock(u[0]);if(g){updateCellsValue(t,g,f,u),(n=document.querySelector(".av__panel"))==null||n.remove();return}}else return}else if(l&&l.classList.contains("av")){const u=[];if(l.querySelectorAll(".av__row--select:not(.av__row--header)").forEach(g=>{g.querySelectorAll(".av__cell").forEach(p=>{getTypeByCellElement(p)==="mAsset"&&u.push(p)})}),u.length===0&&t.wysiwyg.element.querySelectorAll(".av__cell--active").forEach(g=>{getTypeByCellElement(g)==="mAsset"&&u.push(g)}),u.length>0){updateCellsValue(t,l,f,u);return}else return}insertHTML(r,t,s),setTimeout(()=>{scrollCenter(t,void 0,!1,"smooth")},d?0:Constants.TIMEOUT_LOAD)},Ji=(e,t,n)=>{const a=showMessage(window.siyuan.languages.uploading,0);fetchPost("/api/asset/insertLocalAssets",{assetPaths:e,isUpload:n,id:t.block.rootID},i=>{hideMessage(a);let s="";
241Object.keys(i.data.succMap).forEach(o=>{i.data.succMap[o].startsWith("file:")&&(s+=o+", ")}),s&&showMessage(window.siyuan.languages.dndFolderTip.replace("${x}",`<b>${s.substring(0,s.length-2)}</b>`)),ja(JSON.stringify(i),t)})},hc=(e,t,n,a)=>{if(!e){const f=new FormData;for(let u=0,g=t.length;u<g;u++)f.append("file[]",t[u]);const d=new XMLHttpRequest;d.open("POST",Constants.UPLOAD_ADDRESS),d.onreadystatechange=()=>{d.readyState===XMLHttpRequest.DONE&&(d.status===200?a(d.responseText):d.status===0?showMessage(window.siyuan.languages.fileTypeError):showMessage(d.responseText),n&&(n.value=""))},d.send(f);return}let i=[];for(let f=0;f<t.length;f++){let d=t[f];d instanceof DataTransferItem&&(d=d.getAsFile()),d.size===0&&d.type===""&&d.name.indexOf(".")===-1?Ji([d.path],e,!1):i.push(d)}if(e.options.upload.handler){const f=e.options.upload.handler(i);if(typeof f=="string"){showMessage(f);return}return}if(!e.options.upload.url||!e.upload){n&&(n.value=""),showMessage("please config: options.upload.url");return}if(e.options.upload.file&&(i=e.options.upload.file(i)),e.options.upload.validate){const f=e.options.upload.validate(i);if(typeof f=="string"){showMessage(f);return}}const s=e.wysiwyg.element,o=Xi(e,i);if(o.files.length===0){n&&(n.value="");return}const l=new FormData,r=e.options.upload.extraData;for(const f of Object.keys(r))l.append(f,r[f]);for(let f=0,d=o.files.length;f<d;f++)l.append(e.options.upload.fieldName,o.files[f]);l.append("id",e.block.rootID);const c=new XMLHttpRequest;c.open("POST",e.options.upload.url),e.options.upload.token&&c.setRequestHeader("X-Upload-Token",e.options.upload.token),e.options.upload.withCredentials&&(c.withCredentials=!0),e.upload.isUploading=!0,c.onreadystatechange=()=>{if(c.readyState===XMLHttpRequest.DONE){if(e.upload.isUploading=!1,!document.body.contains(e.element)){destroy(e);return}if(c.status===200)if(hideMessage(o.msgId),e.options.upload.success)e.options.upload.success(s,c.responseText);else if(a)a(c.responseText);else{let f=c.responseText;e.options.upload.format&&(f=e.options.upload.format(t,c.responseText)),ja(f,e)}else c.status===0?showMessage(window.siyuan.languages.fileTypeError):e.options.upload.error?e.options.upload.error(c.responseText):showMessage(c.responseText);n&&(n.value=""),e.upload.element.style.display="none"}},c.upload.onprogress=f=>{if(!f.lengthComputable)return;const d=f.loaded/f.total*100;e.upload.element.style.display="block";const u=e.upload.element;u.style.width=d+"%"},c.send(l)},wc=(e,t,n,a=!1)=>{let i=Lute.UnEscapeHTMLStr(t),s;if(isLocalPath(i)&&!i.startsWith("file://")&&i.indexOf(".pdf")>-1){const o=i.split("/");o.length===3&&o[0]==="assets"&&o[1].endsWith(".pdf")&&/\d{14}-\w{7}/.test(o[2])?(i=`assets/${o[1]}`,s=o[2]):(s=parseInt(getSearch("page",i)),i=i.split("?page")[0])}openByMobile(i)};var Qi=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const eo=e=>({id:"export",label:window.siyuan.languages.export,icon:"iconUpload",click(){return Qi(this,null,function*(){vi(e)})}}),_c=(e,t,n,a,i=!1)=>{},vc=e=>{if(isInAndroid())window.JSAndroid.writeImageClipboard(e);else{const t=document.createElement("canvas"),n=document.createElement("img");n.onload=a=>{t.width=a.target.width,t.height=a.target.height,t.getContext("2d").drawImage(a.target,0,0,a.target.width,a.target.height),t.toBlob(i=>{navigator.clipboard.write([new ClipboardItem({"image/png":i})])},"image/png",1)},n.src=e}},Ec=e=>{addScript(`${Constants.PROTYLE_CDN}/js/viewerjs/viewer.js?v=1.11.7`,"protyleViewerScript").then(()=>{const t=document.createElement("ul");t.innerHTML=`<li><img src="${e}"></li>`,window.siyuan.viewer=new Viewer(t,{title:[1,(n,a)=>{let i=n.alt;return i||(i=n.src.substring(n.src.lastIndexOf("/")+1)),i=i.substring(0,i.lastIndexOf(".")).replace(/-\d{14}-\w{7}$/,""),`${i} [${a.naturalWidth} \xD7 ${a.naturalHeight}]`}],button:!1,transition:!1,hidden:function(){window.siyuan.viewer.destroy()},toolbar:{zoomIn:!0,zoomOut:!0,oneToOne:!0,reset:!0,prev:!0,play:!0,next:!0,rotateLeft:!0,rotateRight:!0,flipHorizontal:!0,flipVertical:!0,close:function(){window.siyuan.viewer.destroy()}}}),window.siyuan.viewer.show()})}
241,kc=(e,t)=>{addScript(`${Constants.PROTYLE_CDN}/js/viewerjs/viewer.js?v=1.11.7`,"protyleViewerScript").then(()=>{fetchPost("/api/asset/getDocImageAssets",{id:t},n=>{const a=document.createElement("ul");let i="",s=-1;n.data.forEach((o,l)=>{o&&(i+=`<li><img src="${o}"></li>`,s===-1&&(e.endsWith(encodeURI(o))||e.endsWith(o))&&(s=l))}),a.innerHTML=i,window.siyuan.viewer=new Viewer(a,{title:[1,(o,l)=>{let r=o.alt;return r||(r=o.src.substring(o.src.lastIndexOf("/")+1)),r=r.substring(0,r.lastIndexOf(".")).replace(/-\d{14}-\w{7}$/,""),`${r} [${l.naturalWidth} \xD7 ${l.naturalHeight}]`}],button:!1,initialViewIndex:s,transition:!1,hidden:function(){window.siyuan.viewer.destroy()},toolbar:{zoomIn:!0,zoomOut:!0,oneToOne:!0,reset:!0,prev:!0,play:!0,next:!0,rotateLeft:!0,rotateRight:!0,flipHorizontal:!0,flipVertical:!0,close:function(){window.siyuan.viewer.destroy()}}}),window.siyuan.viewer.show()})})},to=e=>{e.menuElement.querySelector("input").addEventListener("change",t=>{t.target.files.length!==0&&uploadFiles(e.protyle,t.target.files,t.target,n=>{const a=JSON.parse(n),i=[];Object.keys(a.data.succMap).forEach(s=>{i.push({name:s,content:a.data.succMap[s],type:Constants.SIYUAN_ASSETS_IMAGE.includes(pathPosix().extname(a.data.succMap[s]).toLowerCase())?"image":"file"})}),Ot({protyle:e.protyle,cellElements:e.cellElements,addValue:i,blockElement:e.blockElement})})})},no=e=>{let t="";return genCellValueByElement("mAsset",e[0]).mAsset.forEach((n,a)=>{let i;n.type==="image"?i=`<span data-type="openAssetItem" class="fn__flex-1 ariaLabel" aria-label="${n.content}">
242    <img style="max-height: 180px;max-width: 360px;border-radius: var(--b3-border-radius);margin: 4px 0;" src="${n.content}"/>
243</span>`:i=`<span data-type="openAssetItem" class="fn__ellipsis b3-menu__label ariaLabel" aria-label="${escapeAttr(n.content)}" style="max-width: 360px">${n.name||n.content}</span>`,t+=`<button class="b3-menu__item" draggable="true" data-index="${a}" data-name="${escapeAttr(n.name)}" data-type="${n.type}" data-content="${escapeAttr(n.content)}">
244<svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
245${i}
246<svg class="b3-menu__action" data-type="editAssetItem"><use xlink:href="#iconEdit"></use></svg>
247</button>`}),`<div class="b3-menu__items">
248    ${t}
249    <button data-type="addAssetExist" class="b3-menu__item b3-menu__item--current">
250        <svg class="b3-menu__icon"><use xlink:href="#iconImage"></use></svg>
251        <span class="b3-menu__label">${window.siyuan.languages.assets}</span>
252    </button>
253    <button class="b3-menu__item">
254        <svg class="b3-menu__icon"><use xlink:href="#iconDownload"></use></svg>
255        <span class="b3-menu__label">${window.siyuan.languages.insertAsset}</span> 
256        <input multiple class="b3-form__upload" type="file">
257    </button>
258    <button data-type="addAssetLink" class="b3-menu__item">
259        <svg class="b3-menu__icon"><use xlink:href="#iconLink"></use></svg>
260        <span class="b3-menu__label">${window.siyuan.languages.link}</span>
261    </button>
262</div>`},Ot=e=>{const t=e.cellElements[0].dataset.colId,n=[],a=[];let i;e.cellElements.forEach((o,l)=>{var r,c;if(!e.blockElement.contains(o)){const p=hasClosestByClassName(o,"av__row");p&&(o=e.cellElements[l]=e.blockElement.querySelector(`.av__row[data-id="${p.dataset.id}"] .av__cell[data-col-id="${o.dataset.colId}"]`)||e.blockElement.querySelector(`.fn__flex-1[data-col-id="${o.dataset.colId}"]`))}const f=genCellValueByElement(getTypeByCellElement(o)||o.dataset.type,o),d=hasClosestByClassName(o,"av__row").dataset.id,u=JSON.parse(JSON.stringify(f));l===0?(typeof e.removeIndex=="number"?f.mAsset.splice(e.removeIndex,1):((r=e.addValue)==null?void 0:r.length)>0?f.mAsset=f.mAsset.concat(e.addValue):e.updateValue?f.mAsset.find((p,m)=>{if(m===e.updateValue.index)return p.content=e.updateValue.value.content,p.type=e.updateValue.value.type,p.name=e.updateValue.value.name,!0}):((c=e.replaceValue)==null?void 0:c.length)>0&&(f.mAsset=e.replaceValue),i=f.mAsset):f.mAsset=i;const g=e.blockElement.getAttribute("data-av-id");n.push({action:"updateAttrViewCell",id:f.id,keyID:t,rowID:d,avID:g,data:f}),a.push({action:"updateAttrViewCell",id:f.id,keyID:t,rowID:d,avID:g,data:u}),o.classList.contains("custom-attr__avvalue")?o.innerHTML=genAVValueHTML(f):updateAttrViewCellAnimation(o,f)}),transaction(e.protyle,n,a);const s=document.querySelector(".av__panel > .b3-menu");if(s){s.innerHTML=no(e.cellElements),to({protyle:e.protyle,menuElement:s,cellElements:e.cellElements,blockElement:e.blockElement});const o=(e.cellElements[0].classList.contains("custom-attr__avvalue")?e.cellElements[0]:e.protyle.wysiwyg.element.querySelector(`.av__cell[data-id="${e.cellElements[0].dataset.id}"]`)).getBoundingClientRect();setTimeout(()=>{setPosition(s,o.left,o.bottom,o.height)},Constants.TIMEOUT_LOAD)}},Cc=e=>{const t=e.content,n=e.type,a=new Menu("av-asset-edit",()=>{!o[1]&&o[0].value===t||o[1]&&o[0].value===t&&o[1].value===e.name||Ot({protyle:e.protyle,cellElements:e.cellElements,blockElement:e.blockElement,updateValue:{index:e.index,value:{content:o[0].value,name:o[1]?o[1].value:"",type:n}}})});if(a.isOpen)return;n==="file"?(a.addItem({id:"linkAndTitle",iconHTML:"",type:"readonly",label:`<div class="fn__flex">
263    <span class="fn__flex-center">${window.siyuan.languages.link}</span>
264    <span class="fn__space"></span>
265    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
266        <svg><use xlink:href="#iconCopy"></use></svg>
267    </span>   
268</div>
269<textarea rows="1" style="margin:4px 0;width: ${isMobile()?"200":"360"}px;resize: vertical;" class="b3-text-field"></textarea>
270<div class="fn__hr"></div>
271<div class="fn__flex">
272    <span class="fn__flex-center">${window.siyuan.languages.title}</span>
273    <span class="fn__space"></span>
274    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
275        <svg><use xlink:href="#iconCopy"></use></svg>
276    </span>   
277</div>
278<textarea style="width: ${isMobile()?"200":"360"}px;margin: 4px 0;resize: vertical;" rows="1" class="b3-text-field"></textarea>`,bind(l){l.addEventListener("click",r=>{let c=r.target;for(;c;){if(c.dataset.action==="copy"){writeText(c.parentElement.nextElementSibling.value),showMessage(window.siyuan.languages.copied);break}c=c.parentElement}})}}),a.addSeparator({id:"separator_1"}),a.addItem({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",click(){writeText(`[${o[1].value||o[0].value}](${o[0].value})`)}})):(a.addItem({id:"link",iconHTML:"",type:"readonly",label:`<div class="fn__flex">
279    <span class="fn__flex-center">${window.siyuan.languages.link}</span>
280    <span class="fn__space"></span>
281    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
282        <svg><use xlink:href="#iconCopy"></use></svg>
283    </span>   
284</div>
285<textarea rows="1" style="margin:4px 0;width: ${isMobile()?"200":"360"}px;resize: vertical;" class="b3-text-field"></textarea>`,bind(l){l.addEventListener("click",r=>{let c=r.target;for(;c;){if(c.dataset.action==="copy"){writeText(c.parentElement.nextElementSibling.value),showMessage(window.siyuan.languages.copied);break}c=c.parentElement}})}}),a.addSeparator({id:"separator_1"}),a.addItem({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",click(){writeText(`![](${t.replace(/%20/g," ")})`)}}),a.addItem({id:"copyAsPNG",label:window.siyuan.languages.copyAsPNG,icon:"iconImage",click(){copyPNGByLink(t)}})),a.addItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,click(){Ot({protyle:e.protyle,cellElements:e.cellElements,blockElement:e.blockElement,removeIndex:e.index})}}),t!=null&&t.startsWith("assets/")&&a.addItem({id:"rename",label:window.siyuan.languages.rename,icon:"iconEdit",click(){var l;renameAsset(t),(l=document.querySelector(".av__panel"))==null||l.remove()}});const i=openMenu(e.protyle?e.protyle.app:window.siyuan.ws.app,t,!0,!1);(n!=="file"||i.length>0)&&a.addSeparator({id:"separator_2"}),n!=="file"&&a.addItem({id:"cardPreview",icon:"iconPreview",label:window.siyuan.languages.cardPreview,click(){previewImage(t)}}),i.length>0&&window.siyuan.menus.menu.append(new MenuItem({id:"openBy",label:window.siyuan.languages.openBy,icon:"iconOpen",submenu:i}).element),t!=null&&t.startsWith("assets/")&&window.siyuan.menus.menu.append(new MenuItem(exportAsset(t)).element);const s=e.rect;a.open({x:s.right,y:s.top,w:s.width,h:s.height});const o=a.element.querySelectorAll("textarea");o[0].value=t,o[0].focus(),o[0].select(),o.length>1&&(o[1].value=e.name)}
285,Ac=(e,t,n,a)=>{const i=new Menu("av-asset-link",()=>{const o=i.element.querySelectorAll("textarea");!o[0].value&&!o[1].value||Ot({protyle:e,cellElements:t,blockElement:a,addValue:[{type:"file",name:o[1].value,content:o[0].value}]})});if(i.isOpen)return;i.addItem({iconHTML:"",type:"readonly",label:`${window.siyuan.languages.link}
286<textarea rows="1" style="margin:4px 0;width: ${isMobile()?"200":"360"}px;resize: vertical;" class="b3-text-field"></textarea>
287<div class="fn__hr"></div>
288${window.siyuan.languages.title}
289<textarea style="width: ${isMobile()?"200":"360"}px;margin: 4px 0;resize: vertical;" rows="1" class="b3-text-field"></textarea>`});const s=n.getBoundingClientRect();i.open({x:s.right,y:s.bottom,w:n.parentElement.clientWidth+8,h:s.height}),i.element.querySelector("textarea").focus()},Sc=(e,t,n)=>{const a=showMessage(window.siyuan.languages.uploading,0);fetchPost("/api/asset/insertLocalAssets",{assetPaths:e,isUpload:!0,id:t.block.rootID},i=>{const s=hasClosestBlock(n);if(s){hideMessage(a);const o=[];Object.keys(i.data.succMap).forEach(l=>{const r=pathPosix().extname(l).toLowerCase(),c=l.substring(0,l.length-r.length);Constants.SIYUAN_ASSETS_IMAGE.includes(r)?o.push({type:"image",name:c,content:i.data.succMap[l]}):o.push({type:"file",name:c,content:i.data.succMap[l]})}),Ot({protyle:t,blockElement:s,cellElements:[n],addValue:o})}})},ao=e=>{var t,n,a,i;let s="";switch(e.type){case"block":e!=null&&e.isDetached?s=`<span data-id="${(t=e.block)==null?void 0:t.id}">${((n=e.block)==null?void 0:n.content)||window.siyuan.languages.untitled}</span>`:s=`<span data-type="block-ref" data-id="${(a=e.block)==null?void 0:a.id}" data-subtype="s" class="av__celltext--ref">${((i=e.block)==null?void 0:i.content)||window.siyuan.languages.untitled}</span>`;break;case"text":s=e.text.content;break;case"number":s=e.number.formattedContent||e.number.content.toString();break;case"date":e[e.type]&&e[e.type].isNotEmpty&&(s=dayjs(e[e.type].content).format(e[e.type].isNotTime?"YYYY-MM-DD":"YYYY-MM-DD HH:mm")),e[e.type]&&e[e.type].hasEndDate&&e[e.type].isNotEmpty&&e[e.type].isNotEmpty2&&(s+=`<svg class="av__cellicon"><use xlink:href="#iconForward"></use></svg>${dayjs(e[e.type].content2).format(e[e.type].isNotTime?"YYYY-MM-DD":"YYYY-MM-DD HH:mm")}`),s&&(s=`<span class="av__celltext">${s}</span>`);break;case"url":s=e.url.content?`<a class="fn__a" href="${e.url.content}" target="_blank">${e.url.content}</a>`:"";break;case"phone":s=e.phone.content?`<a class="fn__a" href="tel:${e.phone.content}" target="_blank">${e.phone.content}</a>`:"";break;case"email":s=e.email.content?`<a class="fn__a" href="mailto:${e.email.content}" target="_blank">${e.email.content}</a>`:"";break}return s},Va=e=>{var t,n,a,i,s,o;let l="";switch(e.type){case"block":l=`<input value="${escapeAttr(e.block.content)}" type="text" class="b3-text-field b3-text-field--text fn__flex-1" placeholder="${window.siyuan.languages.empty}">`;break;case"text":l=`<textarea style="resize: vertical" rows="${e.text.content.split(`
290`).length}" class="b3-text-field b3-text-field--text fn__flex-1" placeholder="${window.siyuan.languages.empty}">${e.text.content}</textarea>`;break;case"number":l=`<input value="${e.number.isNotEmpty?e.number.content:""}" type="number" class="b3-text-field b3-text-field--text fn__flex-1" placeholder="${window.siyuan.languages.empty}">
291<span class="fn__space"></span><span class="fn__flex-center ft__on-surface b3-tooltips__w b3-tooltips" aria-label="${window.siyuan.languages.format}">${e.number.formattedContent}</span><span class="fn__space"></span>`;break;case"mSelect":case"select":(t=e.mSelect)==null||t.forEach((r,c)=>{e.type==="select"&&c>0||(l+=`<span class="b3-chip b3-chip--middle" style="background-color:var(--b3-font-background${r.color});color:var(--b3-font-color${r.color})">${escapeHtml(r.content)}</span>`)});break;case"mAsset":(n=e.mAsset)==null||n.forEach(r=>{r.type==="image"?l+=`<img class="av__cellassetimg ariaLabel" aria-label="${r.content}" src="${r.content}">`:l+=`<span class="b3-chip b3-chip--middle av__celltext--url ariaLabel" aria-label="${escapeAttr(r.content)}" data-name="${escapeAttr(r.name)}" data-url="${escapeAttr(r.content)}">${r.name||r.content}</span>`});break;case"date":l=`<span class="av__celltext" data-value='${JSON.stringify(e[e.type])}' placeholder="${window.siyuan.languages.empty}">`,e[e.type]&&e[e.type].isNotEmpty&&(l+=dayjs(e[e.type].content).format(e[e.type].isNotTime?"YYYY-MM-DD":"YYYY-MM-DD HH:mm")),e[e.type]&&e[e.type].hasEndDate&&e[e.type].isNotEmpty&&e[e.type].isNotEmpty2&&(l+=`<svg class="av__cellicon"><use xlink:href="#iconForward"></use></svg>${dayjs(e[e.type].content2).format(e[e.type].isNotTime?"YYYY-MM-DD":"YYYY-MM-DD HH:mm")}`),l+="</span>";break;case"created":case"updated":e[e.type].isNotEmpty&&(l=`<span data-content="${e[e.type].content}">${dayjs(e[e.type].content).format("YYYY-MM-DD HH:mm")}</span>`);break;case"url":l=`<input value="${e.url.content}" class="b3-text-field b3-text-field--text fn__flex-1" placeholder="${window.siyuan.languages.empty}">
292<span class="fn__space"></span>
293<a ${e.url.content?`href="${e.url.content}"`:""} target="_blank" aria-label="${window.siyuan.languages.openBy}" class="block__icon block__icon--show fn__flex-center b3-tooltips__w b3-tooltips"><svg><use xlink:href="#iconLink"></use></svg></a>`;break;case"phone":l=`<input value="${e.phone.content}" class="b3-text-field b3-text-field--text fn__flex-1" placeholder="${window.siyuan.languages.empty}">
294<span class="fn__space"></span>
295<a ${e.phone.content?`href="tel:${e.phone.content}"`:""} target="_blank" aria-label="${window.siyuan.languages.openBy}" class="block__icon block__icon--show fn__flex-center b3-tooltips__w b3-tooltips"><svg><use xlink:href="#iconPhone"></use></svg></a>`;break;case"checkbox":l=`<svg class="av__checkbox"><use xlink:href="#icon${e.checkbox.checked?"Check":"Uncheck"}"></use></svg>`;break;case"template":l=`<div class="fn__flex-1" placeholder="${window.siyuan.languages.empty}">${e.template.content}</div>`;break;case"email":l=`<input value="${e.email.content}" class="b3-text-field b3-text-field--text fn__flex-1" placeholder="${window.siyuan.languages.empty}">
296<span class="fn__space"></span>
297<a ${e.email.content?`href="mailto:${e.email.content}"`:""} target="_blank" aria-label="${window.siyuan.languages.openBy}" class="block__icon block__icon--show fn__flex-center b3-tooltips__w b3-tooltips"><svg><use xlink:href="#iconEmail"></use></svg></a>`;break;case"relation":(i=(a=e==null?void 0:e.relation)==null?void 0:a.contents)==null||i.forEac
297h(r=>{var c;r&&r.block&&(r!=null&&r.isDetached?l+=`<span class="av__cell--relation"><span>\u2796 </span><span class="av__celltext" data-id="${(c=r.block)==null?void 0:c.id}">${Lute.EscapeHTMLStr(r.block.content||window.siyuan.languages.untitled)}</span></span>`:l+=`<span class="av__cell--relation" data-block-id="${r.block.id}"><span class="b3-menu__avemoji" data-unicode="${r.block.icon||""}">${unicode2Emoji(r.block.icon||window.siyuan.storage[Constants.LOCAL_IMAGES].file)}</span><span data-type="block-ref" data-id="${r.block.id}" data-subtype="s" class="av__celltext av__celltext--ref">${Lute.EscapeHTMLStr(r.block.content||window.siyuan.languages.untitled)}</span></span>`)}),l&&l.endsWith(", ")&&(l=l.substring(0,l.length-2));break;case"rollup":(o=(s=e==null?void 0:e.rollup)==null?void 0:s.contents)==null||o.forEach(r=>{const c=["select","mSelect","mAsset","checkbox","relation"].includes(r.type)?Va(r):ao(r);c&&(l+=c+",&nbsp;")}),l&&l.endsWith(",&nbsp;")&&(l=l.substring(0,l.length-7));break}return l},Lc=(e,t,n,a)=>{fetchPost("/api/av/getAttributeViewKeys",{id:t},i=>{let s="";if(i.data.forEach(o=>{var l;let r=`<div class="custom-attr__avheader">
298    <div class="block__logo popover__block" style="max-width:calc(100% - 40px)" data-id='${JSON.stringify(o.blockIDs)}'>
299        <svg class="block__logoicon"><use xlink:href="#iconDatabase"></use></svg>
300        <span class="fn__ellipsis">${o.avName||window.siyuan.languages.database}</span>
301    </div>
302    <div class="fn__flex-1"></div>
303    <span data-type="remove" class="block__icon block__icon--warning block__icon--show b3-tooltips__w b3-tooltips" aria-label="${window.siyuan.languages.removeAV}"><svg><use xlink:href="#iconTrashcan"></use></svg></span>
304</div>`;(l=o.keyValues)==null||l.forEach(c=>{var f;r+=`<div class="block__icons av__row" data-id="${t}" data-col-id="${c.key.id}">
305    <div class="block__icon" draggable="true"><svg><use xlink:href="#iconDrag"></use></svg></div>
306    <div class="block__logo ariaLabel fn__pointer" data-type="editCol" data-position="parentW" aria-label="${escapeAriaLabel(c.key.name)}<div class='ft__on-surface'>${escapeAriaLabel(c.key.desc)}</div>">
307        ${c.key.icon?unicode2Emoji(c.key.icon,"block__logoicon",!0):`<svg class="block__logoicon"><use xlink:href="#${getColIconByType(c.key.type)}"></use></svg>`}
308        <span>${escapeHtml(c.key.name)}</span>
309    </div>
310    <div data-av-id="${o.avID}" data-col-id="${c.values[0].keyID}" data-block-id="${c.values[0].blockID}" data-id="${c.values[0].id}" data-type="${c.values[0].type}" 
311data-options="${(f=c.key)!=null&&f.options?escapeAttr(JSON.stringify(c.key.options)):"[]"}" 
312${["text","number","date","url","phone","template","email"].includes(c.values[0].type)?"":`placeholder="${window.siyuan.languages.empty}"`}  
313class="fn__flex-1 fn__flex${["url","text","number","email","phone","block"].includes(c.values[0].type)?"":" custom-attr__avvalue"}${["created","updated"].includes(c.values[0].type)?" custom-attr__avvalue--readonly":""}">${Va(c.values[0])}</div>
314</div>`}),r+=`<div class="fn__hr"></div>
315<button data-type="addColumn" class="b3-button b3-button--cancel"><svg><use xlink:href="#iconAdd"></use></svg>${window.siyuan.languages.newCol}</button>
316<div class="fn__hr--b"></div><div class="fn__hr--b"></div>`,s+=`<div data-av-id="${o.avID}" data-node-id="${t}" data-type="NodeAttributeView">${r}</div>`,e.innerHTML&&(e.querySelector(`div[data-node-id="${t}"][data-av-id="${o.avID}"]`).innerHTML=r)}),e.innerHTML===""){let o;e.addEventListener("dragstart",r=>{const c=r.target;window.siyuan.dragElement=c.parentElement,window.siyuan.dragElement.style.opacity=".38",o=hasClosestBlock(window.siyuan.dragElement);const f=document.createElement("div");f.className="block__icons",f.innerHTML=c.nextElementSibling.outerHTML,f.setAttribute("style","width: 160px;position:fixed;opacity:.1;"),document.body.append(f),r.dataTransfer.setDragImage(f,0,0),setTimeout(()=>{f.remove()})}),e.addEventListener("drop",r=>{var c,f;if(l=0,n.disabled){r.preventDefault(),r.stopPropagation();return}const d=e.querySelector(".dragover__bottom, .dragover__top");if(d&&o){const u=d.classList.contains("dragover__bottom"),g=u?d.dataset.colId:(c=d.previousElementSibling)==null?void 0:c.getAttribute("data-col-id"),p=(f=window.siyuan.dragElement.previousElementSibling)==null?void 0:f.getAttribute("data-col-id");g!==p&&g!==window.siyuan.dragElement.dataset.colId&&(transaction(n,[{action:"sortAttrViewKey",avID:o.dataset.avId,previousID:g,id:window.siyuan.dragElement.dataset.colId}],[{action:"sortAttrViewKey",avID:o.dataset.avId,previousID:p,id:t}]),u?d.after(window.siyuan.dragElement):d.before(window.siyuan.dragElement)),d.classList.remove("dragover__bottom","dragover__top")}else if(!window.siyuan.dragElement&&r.dataTransfer.types[0]==="Files"){const u=e.querySelector(".custom-attr__avvalue--active");if(u&&r.dataTransfer.types[0]==="Files"&&!isBrowser()){const g=[];for(let p=0;p<r.dataTransfer.files.length;p++)g.push(webUtils.getPathForFile(r.dataTransfer.files[p]));dragUpload(g,n,u)}}window.siyuan.dragElement&&(window.siyuan.dragElement.style.opacity="",window.siyuan.dragElement=void 0)}),e.addEventListener("dragover",r=>{const c=r.target;let f;if(r.dataTransfer.types.includes("Files")){e.querySelectorAll(".custom-attr__avvalue--active").forEach(g=>{g.classList.remove("custom-attr__avvalue--active")}),f=hasClosestByClassName(c,"custom-attr__avvalue"),f&&f.getAttribute("data-type")==="mAsset"&&(f.classList.add("custom-attr__avvalue--active"),r.preventDefault());return}if(f=hasClosestByClassName(c,"av__row"),f||(f=hasClosestByClassName(
316document.elementFromPoint(r.clientX,r.clientY-1),"av__row")),!f||f.isSameNode(window.siyuan.dragElement)||!o)return;const d=hasClosestBlock(f);if(!d||!d.isSameNode(o))return;r.preventDefault();const u=f.getBoundingClientRect();e.querySelectorAll(".dragover__bottom, .dragover__top").forEach(g=>{g.classList.remove("dragover__bottom","dragover__top")}),r.clientY>u.top+u.height/2?f.classList.add("dragover__bottom"):f.classList.add("dragover__top")});let l=0;e.addEventListener("dragleave",()=>{l--,l===0&&e.querySelectorAll(".dragover__bottom, .dragover__top").forEach(r=>{r.classList.remove("dragover__bottom","dragover__top")})}),e.addEventListener("dragenter",r=>{r.preventDefault(),l++}),e.addEventListener("dragend",()=>{window.siyuan.dragElement&&(window.siyuan.dragElement.style.opacity="",window.siyuan.dragElement=void 0)}),e.addEventListener("paste",r=>{var c;const f=r.clipboardData.files;if(document.querySelector(".av__panel .b3-form__upload"))if(f&&f.length>0)uploadFiles(n,f);else{const d=r.clipboardData.getData("text/plain"),u=r.target,g=hasClosestBlock(u),p=hasClosestByAttribute(u,"data-type","mAsset");g&&p&&d&&(updateCellsValue(n,g,d,[p],void 0,n.lute.Md2BlockDOM(d)),(c=document.querySelector(".av__panel"))==null||c.remove())}}),e.addEventListener("click",r=>{const c=hasClosestByAttribute(r.target,"data-type","remove");if(c){const f=hasClosestBlock(c);f&&(transaction(n,[{action:"removeAttrViewBlock",srcIDs:[t],avID:f.dataset.avId},{action:"doUpdateUpdated",id:t,data:dayjs().format("YYYYMMDDHHmmss")}]),f.remove(),e.innerHTML||window.siyuan.dialogs.find(d=>{if(d.element.getAttribute("data-key")===Constants.DIALOG_ATTR)return d.destroy(),!0})),r.stopPropagation();return}Ga(n,e,r)}),e.addEventListener("contextmenu",r=>{Ga(n,e,r)}),e.innerHTML=s}e.querySelectorAll(".b3-text-field--text").forEach(o=>{o.addEventListener("change",()=>{let l;const r=o.parentElement.dataset.type;if(["url","text","email","phone"].includes(r)){if(l={[r]:{content:o.value}},r!=="text"){const c=o.parentElement.querySelector("a");o.value?c.setAttribute("href",(r==="url"?"":r==="email"?"mailto:":"tel:")+o.value):c.removeAttribute("href")}}else r==="number"?o.value==="undefined"||!o.value?l={number:{content:null,isNotEmpty:!1}}:l={number:{content:parseFloat(o.value)||0,isNotEmpty:!0}}:r==="block"&&(l={block:{content:o.value,id:o.parentElement.dataset.blockId},isDetached:!1});fetchPost("/api/av/setAttributeViewBlockAttr",{avID:o.parentElement.dataset.avId,keyID:o.parentElement.dataset.colId,rowID:o.parentElement.dataset.blockId,value:l},c=>{r==="number"?o.parentElement.querySelector(".fn__flex-center").textContent=c.data.value.number.formattedContent:r==="block"&&!o.value&&(o.value=c.data.value.block.content)})})}),a&&a(e)})},Ga=(e,t,n)=>{let a=n.target;const i=hasClosestBlock(a);if(i)for(;a&&!t.isSameNode(a);){const s=a.getAttribute("data-type");if(a.classList.contains("av__celltext--url")||a.classList.contains("av__cellassetimg")){if(n.type==="contextmenu"||!a.dataset.url&&a.tagName!=="IMG"){let o=0;Array.from(a.parentElement.children).find((l,r)=>{if(l.isSameNode(a))return o=r,!0}),editAssetItem({protyle:e,cellElements:[a.parentElement],blockElement:hasClosestBlock(a),content:a.tagName==="IMG"?a.getAttribute("src"):a.getAttribute("data-url"),type:a.tagName==="IMG"?"image":"file",name:a.tagName==="IMG"?"":a.getAttribute("data-name"),index:o,rect:a.getBoundingClientRect()})}else a.tagName==="IMG"?previewImage(a.getAttribute("src")):openLink(e,a.dataset.url,n,n.ctrlKey||n.metaKey);n.stopPropagation(),n.preventDefault();break}else if(s==="date"){popTextCell(e,[a],"date"),n.stopPropagation(),n.preventDefault();break}else if(s==="select"||s==="mSelect"){popTextCell(e,[a],a.getAttribute("data-type")),n.stopPropagation(),n.preventDefault();break}else if(s==="mAsset"){t.querySelectorAll('.custom-attr__avvalue[data-type="mAsset"]').forEach(o=>{o.removeAttribute("data-active")}),a.setAttribute("data-active","true"),a.focus(),popTextCell(e,[a],"mAsset"),n.stopPropagation(),n.preventDefault();break}else if(s==="checkbox"){popTextCell(e,[a],"checkbox"),n.stopPropagation(),n.preventDefault();break}else if(s==="relation"){popTextCell(e,[a],"relation"),n.stopPropagation(),n.preventDefault();break}else if(s==="template"){popTextCell(e,[a],"template"),n.stopPropagation(),n.preventDefault();break}else if(s==="rollup"){popTextCell(e,[a],"rollup"),n.stopPropagation(),n.preventDefault();break}else if(s==="addColumn"){const o=i.querySelectorAll(".av__row"),l=addCol(e,i,o[o.length-1].getAttribute("data-col-id")),r=a.getBoundingClientRect();l.open({x:r.left,y:r.bottom,h:r.height}),n.stopPropagation(),n.preventDefault();break}else if(s==="editCol"){openMenuPanel({protyle:e,blockElement:i,type:"edit",colId:a.parentElement.dataset.colId}),n.stopPropagation(),n.preventDefault();break}a=a.parentElement}};var so=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const xc=(e,t,n)=>{if(!e){t.innerHTML="";return}fetchPost("/api/template/render",{id:n,path:e,preview:!0},a=>{t.innerHTML=`<div class="protyle-wysiwyg" style="padding: 8px">${a.data.content.replace(/contenteditable="true"/g,"")}</div>`})},Ka=(e,t,n=!0)=>
316{if(!e.getAttribute("data-type")||!t.getAttribute("data-type"))return!1;e.setAttribute("data-type",e.getAttribute("data-type").replace("search-mark","").trim()),t.setAttribute("data-type",t.getAttribute("data-type").replace("search-mark","").trim());const a=e.attributes;let i=!0;for(let s=0;s<a.length;s++)t.getAttribute(a[s].name)!==a[s].value&&(i=!1);return i&&(n?e.innerHTML=e.innerHTML+t.innerHTML:e.innerHTML=t.innerHTML+e.innerHTML,t.remove()),i},Tc=e=>{let t=e.previousSibling;for(;t&&t.nodeType!==3&&Ka(e,t,!1);)t=e.previousSibling;let n=e.nextSibling;for(;n&&n.nodeType!==3&&Ka(e,n);)n=e.nextSibling;(e.getAttribute("data-type")||"").includes("search-mark")&&e.setAttribute("data-type",e.getAttribute("data-type").replace("search-mark","").trim())},io=(e,t,n)=>{const a=e.getAttribute("data-type").split(" ");if(a.length===1){const i=e.parentElement;e.outerHTML=e.innerHTML.replace($.ZWSP,"")+"<wbr>",n&&$n(i,n)}else a.find((i,s)=>{if(t===i)return a.splice(s,1),!0}),e.setAttribute("data-type",a.join(" ")),t==="a"?e.removeAttribute("data-href"):t==="file-annotation-ref"?e.removeAttribute("data-id"):t==="block-ref"&&(e.removeAttribute("data-id"),e.removeAttribute("data-subtype")),n&&(n.selectNodeContents(e),n.collapse(!1),Le(n))},Ic=e=>{const t=[{name:"block-ref",hotkey:window.siyuan.config.keymap.editor.insert.ref.custom,lang:"ref",icon:"iconRef",tipPosition:"ne"},{name:"a",hotkey:window.siyuan.config.keymap.editor.insert.link.custom,lang:"link",icon:"iconLink",tipPosition:"n"},{name:"strong",lang:"bold",hotkey:window.siyuan.config.keymap.editor.insert.bold.custom,icon:"iconBold",tipPosition:"n"},{name:"em",lang:"italic",hotkey:window.siyuan.config.keymap.editor.insert.italic.custom,icon:"iconItalic",tipPosition:"n"},{name:"u",lang:"underline",hotkey:window.siyuan.config.keymap.editor.insert.underline.custom,icon:"iconUnderline",tipPosition:"n"},{name:"s",lang:"strike",hotkey:window.siyuan.config.keymap.editor.insert.strike.custom,icon:"iconStrike",tipPosition:"n"},{name:"mark",lang:"mark",hotkey:window.siyuan.config.keymap.editor.insert.mark.custom,icon:"iconMark",tipPosition:"n"},{name:"sup",lang:"sup",hotkey:window.siyuan.config.keymap.editor.insert.sup.custom,icon:"iconSup",tipPosition:"n"},{name:"sub",lang:"sub",hotkey:window.siyuan.config.keymap.editor.insert.sub.custom,icon:"iconSub",tipPosition:"n"},{name:"kbd",lang:"kbd",hotkey:window.siyuan.config.keymap.editor.insert.kbd.custom,icon:"iconKeymap",tipPosition:"n"},{name:"tag",lang:"tag",hotkey:window.siyuan.config.keymap.editor.insert.tag.custom,icon:"iconTags",tipPosition:"n"},{name:"code",lang:"inline-code",hotkey:window.siyuan.config.keymap.editor.insert["inline-code"].custom,icon:"iconInlineCode",tipPosition:"n"},{name:"inline-math",lang:"inline-math",hotkey:window.siyuan.config.keymap.editor.insert["inline-math"].custom,icon:"iconMath",tipPosition:"n"},{name:"inline-memo",lang:"memo",hotkey:window.siyuan.config.keymap.editor.insert.memo.custom,icon:"iconM",tipPosition:"n"},{name:"text",lang:"appearance",hotkey:window.siyuan.config.keymap.editor.insert.appearance.custom,icon:"iconFont",tipPosition:"n"},{name:"clear",lang:"clearInline",hotkey:window.siyuan.config.keymap.editor.insert.clearInline.custom,icon:"iconClear",tipPosition:"n"},{name:"|"}],n=[];return e.forEach(a=>{let i=a;t.find(s=>{if(typeof a=="string"&&s.name===a)return i=s,!0;if(typeof a=="object"&&s.name===a.name)return i=Object.assign({},s,a),!0}),n.push(i)}),n},Mc=(e,t)=>so(void 0,null,function*(){let n="";for(let a=0;a<e.length;a++){const i=e[a];if(e.length>1&&(n+="* "),t==="ref"){const s=yield fetchSyncPost("/api/block/getRefText",{id:i});n+=`((${i} '${s.data}'))`}else if(t==="blockEmbed")n+=`{{select * from blocks where id='${i}'}}`;else if(t==="protocol")n+=`siyuan://blocks/${i}`;else if(t==="protocolMd"){const s=yield fetchSyncPost("/api/block/getRefText",{id:i});n+=`[${s.data}](siyuan://blocks/${i})`}else if(t==="hPath"){const s=yield fetchSyncPost("/api/filetree/getHPathByID",{id:i});n+=s.data}else t==="id"&&(n+=i);e.length>1&&a!==e.length-1&&(n+=`
317`)}writeText(n)});var oo=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const za=(e,t)=>{e.addEventListener("change",()=>{fetchPost("/api/attr/setBlockAttrs",{id:t,attrs:{[e.dataset.name]:e.value}})})},Dc=e=>{const t=e.getAttribute("data-node-id"),n=getEditorRange(e),a=e.getAttribute(Constants.CUSTOM_REMINDER_WECHAT);let i="";a&&(i=dayjs(a).format("YYYY-MM-DD HH:mm"));const s=new Dialog({width:isMobile()?"92vw":"50vw",title:window.siyuan.languages.wechatReminder,content:`<div class="b3-dialog__content custom-attr">
318    <div class="fn__flex">
319        <span class="ft__on-surface fn__flex-center" style="text-align: right;white-space: nowrap;width: 100px">${window.siyuan.languages.notifyTime}</span>
320        <div class="fn__space"></div>
321        <input class="b3-text-field fn__flex-1" type="datetime-local" max="9999-12-31 23:59" value="${i}">
322    </div>
323    <div class="b3-label__text" style="text-align: center">${window.siyuan.languages.wechatTip}</div>
324</div>
325<div class="b3-dialog__action">
326    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
327    <button class="b3-button b3-button--text">${window.siyuan.languages.remove}</button><div class="fn__space"></div>
328    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
329</div>`,destroyCallback(){focusByRange(n)}});s.element.setAttribute("data-key",Constants.DIALOG_WECHATREMINDER);const o=s.element.querySelectorAll(".b3-button");o[0].addEventListener("click",()=>{s.destroy()}),o[1].addEventListener("click",()=>{o[1].getAttribute("disabled")||(o[1].setAttribute("disabled","disabled"),fetchPost("/api/block/setBlockReminder",{id:t,timed:"0"},()=>{e.removeAttribute(Constants.CUSTOM_REMINDER_WECHAT),s.destroy()}))}),o[2].addEventListener("click",()=>{const l=s.element.querySelector("input").value;if(l){if(new Date(l)<=new Date){showMessage(window.siyuan.languages.reminderTip);return}if(o[2].getAttribute("disabled"))return;o[2].setAttribute("disabled","disabled");const r=dayjs(l).format("YYYYMMDDHHmmss");fetchPost("/api/block/setBlockReminder",{id:t,timed:r},()=>{e.setAttribute(Constants.CUSTOM_REMINDER_WECHAT,r),s.destroy()})}else showMessage(window.siyuan.languages.notEmpty)})},$c=e=>{fetchPost("/api/block/getDocInfo",{id:e.block.rootID},t=>{const n=t.data.ial[Constants.CUSTOM_REMINDER_WECHAT];let a="";n&&(a=dayjs(n).format("YYYY-MM-DD HH:mm"));const i=new Dialog({width:isMobile()?"92vw":"50vw",title:window.siyuan.languages.wechatReminder,content:`<div class="b3-dialog__content custom-attr">
330    <div class="fn__flex">
331        <span class="ft__on-surface fn__flex-center" style="text-align: right;white-space: nowrap;width: 100px">${window.siyuan.languages.notifyTime}</span>
332        <div class="fn__space"></div>
333        <input class="b3-text-field fn__flex-1" type="datetime-local" max="9999-12-31 23:59" value="${a}">
334    </div>
335    <div class="b3-label__text" style="text-align: center">${window.siyuan.languages.wechatTip}</div>
336</div>
337<div class="b3-dialog__action">
338    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
339    <button class="b3-button b3-button--text">${window.siyuan.languages.remove}</button><div class="fn__space"></div>
340    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
341</div>`});i.element.setAttribute("data-key",Constants.DIALOG_WECHATREMINDER);const s=i.element.querySelectorAll(".b3-button");s[0].addEventListener("click",()=>{i.destroy()}),s[1].addEventListener("click",()=>{fetchPost("/api/block/setBlockReminder",{id:e.block.rootID,timed:"0"},()=>{i.destroy()})}),s[2].addEventListener("click",()=>{const o=i.element.querySelector("input").value;if(o){if(new Date(o)<=new Date){showMessage(window.siyuan.languages.reminderTip);return}fetchPost("/api/block/setBlockReminder",{id:e.block.rootID,timed:dayjs(o).format("YYYYMMDDHHmmss")},()=>{i.destroy()})}else showMessage(window.siyuan.languages.notEmpty)})})},lo=(e,t="bookmark",n)=>{let a="",i="",s=!1;const o=getSelection().rangeCount>0?getSelection().getRangeAt(0):null;Object.keys(e).forEach(r=>{Constants.CUSTOM_RIFF_DECKS===r||r.startsWith("custom-sy-")||(r===Constants.CUSTOM_REMINDER_WECHAT?i=`<label class="b3-label b3-label--noborder">
342    ${window.siyuan.languages.wechatReminder}
343    <div class="fn__hr"></div>
344    <input class="b3-text-field fn__block" type="datetime-local" max="9999-12-31 23:59" readonly data-name="${r}" value="${dayjs(e[r]).format("YYYY-MM-DD HH:mm")}">
345</label>`:r.indexOf("custom-av")>-1?s=!0:r.indexOf("custom")>-1&&(a+=`<label class="b3-label b3-label--noborder">
346     <div class="fn__flex">
347        <span class="fn__flex-1">${r.replace("custom-","")}</span>
348        <span data-action="remove" class="block__icon block__icon--show"><svg><use xlink:href="#iconMin"></use></svg></span>
349    </div>
350    <div class="fn__hr"></div>
351    <textarea style="resize: vertical;" spellcheck="false" class="b3-text-field fn__block" rows="1" data-name="${r}">${e[r]}</textarea>
352</label>`))});const l=new Dialog({width:isMobile()?"92vw":"50vw",containerClassName:"b3-dialog__container--theme",height:"80vh",content:`<div class="fn__flex-column">
353    <div class="layout-tab-bar fn__flex" style="flex-shrink:0;border-radius: var(--b3-border-radius-b) var(--b3-border-radius-b) 0 0">
354        <div class="item item--full item--focus" data-type="attr">
355            <span class="fn__flex-1"></span>
356            <span class="item__text">${window.siyuan.languages.builtIn}</span>
357            <span class="fn__flex-1"></span>
358        </div>
359        <div class="item item--full${s?"":" fn__none"}" data-type="NodeAttributeView">
360            <span class="fn__flex-1"></span>
361            <span class="item__text">${window.siyuan.languages.database}</span>
362            <span class="fn__flex-1"></span>
363        </div>
364        <div class="item item--full" data-type="custom">
365            <span class="fn__flex-1"></span>
366            <span class="item__text">${window.siyuan.languages.custom}</span>
367            <span class="fn__flex-1"></span>
368        </div>
369    </div>
370    <div class="fn__flex-1">
371        <div class="custom-attr" data-type="attr">
372            <label class="b3-label b3-label--noborder">
373                <div class="fn__flex">
374                    <span class="fn__flex-1">${window.siyuan.languages.bookmark}</span>
375                    <span data-action="bookmark" class="block__icon block__icon--show"><svg><use xlink:href="#iconDown"></use></svg></span>
376                </div>
377                <div class="fn__hr"></div>
378                <input spellcheck="${window.siyuan.config.editor.spellcheck}" class="b3-text-field fn__block" placeholder="${window.siyuan.languages.attrBookmarkTip}" data-name="bookmark">
379            </label>
380            <label class="b3-label b3-label--noborder">
381                ${window.siyuan.languages.name}
382                <div class="fn__hr"></div>
383                <input spellcheck="${window.siyuan.config.editor.spellcheck}" class="b3-text-field fn__block" placeholder="${window.siyuan.languages.attrNameTip}" data-name="name">
384            </label>
385            <label class="b3-label b3-label--noborder">
386                ${window.siyuan.languages.alias}
387                <div class="fn__hr"></div>
388                <input spellcheck="${window.siyuan.config.editor.spellcheck}" class="b3-text-field fn__block" placeholder="${window.siyuan.languages.attrAliasTip}" data-name="alias">
389            </label>
390            <label class="b3-label b3-label--noborder">
391                ${window.siyuan.languages.memo}
392                <div class="fn__hr"></div>
393                <textarea style="resize: vertical" spellcheck="${window.siyuan.config.editor.spellcheck}" class="b3-text-field fn__block" placeholder="${window.siyuan.languages.attrMemoTip}" rows="2" data-name="memo">${e.memo||""}</textarea>
394            </label>
395            ${i}
396        </div>
397        <div data-type="NodeAttributeView" class="fn__none custom-attr"></div>
398        <div data-type="custom" class="fn__none custom-attr">
399           ${a}
400           <div class="b3-label">
401               <button data-action="addCustom" class="b3-button b3-button--cancel">
402                   <svg><use xlink:href="#iconAdd"></use></svg>${window.siyuan.languages.addAttr}
403               </button>
404           </div>
405        </div>
406    </div>
407</div>`,destroyCallback(){focusByRange(o),n&&hideElements(["select"],n)}});l.element.setAttribute("data-key",Constants.DIALOG_ATTR),l.element.querySelector('.b3-text-field[data-name="bookmark"]').value=e.bookmark||"",l.element.querySelector('.b3-text-field[data-name="name"]').value=e.name||"",l.element.querySelector('.b3-text-field[data-name="alias"]').value=e.alias||"",l.element.addEventListener("click",r=>{let c=r.target;for(typeof r.detail=="string"&&(c=l.element.querySelector(`.item--full[data-type="${r.detail}"]`));!c.isSameNode(l.element);){const f=c.dataset.action;if(c.classList.contains("item--full"))c.parentElement.querySelector(".item--focus").classList.remove("item--focus"),c.classList.add("item--focus"),l.element.querySelectorAll(".custom-attr").forEach(d=>{d.dataset.type===c.dataset.type?(d.dataset.type==="NodeAttributeView"&&d.innerHTML===""&&n&&renderAVAttribute(d,e.id,n),d.classList.remove("fn__none")):d.classList.add("fn__none")});else if(f==="remove"){fetchPost("/api/attr/setBlockAttrs",{id:e.id,attrs:{["custom-"+c.previousElementSibling.textContent]:""}}),c.parentElement.parentElement.remove(),r.stopPropagation(),r.preventDefault();break}else if(f==="bookmark"){fetchPost("/api/attr/getBookmarkLabels",{},d=>{window.siyuan.menus.menu.remove(),d.data.length===0?window.siyuan.menus.menu.append(new MenuItem({id:"emptyContent",iconHTML:"",label:window.siyuan.languages.emptyContent,type:"readonly"}).element):d.data.forEach(u=>{window.siyuan.menus.menu.append(new MenuItem({label:u,click(){const g=c.parentElement.parentElement.querySelector("input");g.value=u,g.dispatchEvent(new CustomEvent("change"))}}).element)}),window.siyuan.menus.menu.element.classList.add("b3-menu--list"),window.siyuan.menus.menu.popup({x:r.clientX,y:r.clientY+16,w:16})}),r.stopPropagation(),r.preventDefault();break}else if(f==="addCustom"){const d=new Dialog({title:window.siyuan.languages.attrName,content:`<div class="b3-dialog__content"><input spellcheck="false" class="b3-text-field fn__block" value=""></div>
408<div class="b3-dialog__action">
409    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
410    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
411</div>`,width:isMobile()?"92vw":"520px"});d.element.setAttribute("data-key",Constants.DIALOG_SETCUSTOMATTR);const u=d.element.querySelector("input"),g=d.element.querySelectorAll(".b3-button");d.bindInput(u,()=>{g[1].click()}),u.focus(),u.select(),g[0].addEventListener("click",()=>{d.destroy()}),g[1].addEventListener("click",()=>{if(!isValidAttrName(u.value))return showMessage(window.siyuan.languages.attrName+" <b>"+escapeHtml(u.value)+"</b> "+window.siyuan.languages.invalid),!1;c.parentElement.insertAdjacentHTML("beforebegin",`<div class="b3-label b3-label--noborder">
412    <div class="fn__flex">
413        <span class="fn__flex-1">${u.value}</span>
414        <span data-action="remove" class="block__icon block__icon--show"><svg><use xlink:href="#iconMin"></use></svg></span>
415    </div>
416    <div class="fn__hr"></div>
417    <textarea style="resize: vertical" spellcheck="false" data-name="custom-${u.value}" class="b3-text-field fn__block" rows="1" placeholder="${window.siyuan.languages.attrValue1}"></textarea>
418</div>`);const p=c.parentElement.previousElementSibling.querySelector(".b3-text-field");p.focus(),za(p,e.id),d.destroy()}),r.stopPropagation(),r.preventDefault();break}c=c.parentElement}}),l.element.querySelectorAll(".b3-text-field").forEach(r=>{t!=="av"&&t!=="custom"&&t===r.getAttribute("data-name")&&r.focus(),za(r,e.id)}),t==="av"?l.element.dispatchEvent(new CustomEvent("click",{detail:"NodeAttributeView"})):t==="custom"&&l.element.dispatchEvent(new CustomEvent("click",{detail:"custom"}))},Hc=(e,t="bookmark",n)=>{if(e.getAttribute("data-type")==="NodeThematicBreak")return;const a=e.getAttribute("data-node-id");fetchPost("/api/attr/getBlockAttrs",{id:a},i=>{lo(i.data,t,n)})},Nc=(e,t=!0,n)=>[{id:"copyBlockRef",iconHTML:"",accelerator:t?window.siyuan.config.keymap.editor.general.copyBlockRef.custom:void 0,label:window.siyuan.languages.copyBlockRef,click:()=>{copyTextByType(e,"ref"),n&&focusBlock(n)}},{id:"copyBlockEmbed",iconHTML:"",label:window.siyuan.languages.copyBlockEmbed,accelerator:t?window.siyuan.config.keymap.editor.general.copyBlockEmbed.custom:void 0,click:()=>{copyTextByType(e,"blockEmbed"),n&&focusBlock(n)}},{id:"copyProtocol",iconHTML:"",label:window.siyuan.languages.copyProtocol,accelerator:t?window.siyuan.config.keymap.editor.general.copyProtocol.custom:void 0,click:()=>{copyTextByType(e,"protocol"),n&&focusBlock(n)}},{id:"copyProtocolInMd",iconHTML:"",label:window.siyuan.languages.copyProtocolInMd,accelerator:t?window.siyuan.config.keymap.editor.general.copyProtocolInMd.custom:void 0,click:()=>{copyTextByType(e,"protocolMd"),n&&focusBlock(n)}},{id:"copyHPath",iconHTML:"",label:window.siyuan.languages.copyHPath,accelerator:t?window.siyuan.config.keymap.editor.general.copyHPath.custom:void 0,click:()=>{copyTextByType(e,"hPath"),n&&focusBlock(n)}},{id:"copyID",iconHTML:"",label:window.siyuan.languages.copyID,accelerator:t?window.siyuan.config.keymap.editor.general.copyID.custom:void 0,click:()=>{copyTextByType(e,"id"),n&&focusBlock(n)}}],Bc=e=>{if(!window.siyuan.isPublish)return new MenuItem({id:"export",label:window.siyuan.languages.export,type:"submenu",icon:"iconUpload",submenu:[{id:"exportTemplate",label:window.siyuan.languages.template,iconClass:"ft__error",icon:"iconMarkdown",click:()=>oo(void 0,null,function*(){const t=yield fetchSyncPost("/api/block/getRefText",{id:e}),n=new Dialog({title:window.siyuan.languages.fileName,content:`<div class="b3-dialog__content"><input class="b3-text-field fn__block" value=""></div>
419<div class="b3-dialog__action">
420    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
421    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
422</div>`,width:isMobile()?"92vw":"520px"});n.element.setAttribute("data-key",Constants.DIALOG_EXPORTTEMPLATE);const a=n.element.querySelector("input"),i=n.element.querySelectorAll(".b3-button");n.bindInput(a,()=>{i[1].click()});let s=replaceFileName(t.data);const o=32;s.length>o&&(s=s.substring(0,o)),a.value=s,a.focus(),a.select(),i[0].addEventListener("click",()=>{n.destroy()}),i[1].addEventListener("click",()=>{a.value.trim()===""?a.value=window.siyuan.languages.untitled:a.value=replaceFileName(a.value),s.length>o&&(s=s.substring(0,o)),fetchPost("/api/template/docSaveAsTemplate",{id:e,name:a.value,overwrite:!1},l=>{if(l.code===1){confirmDialog(window.siyuan.languages.export,window.siyuan.languages.exportTplTip,()=>{fetchPost("/api/template/docSaveAsTemplate",{id:e,name:a.value,overwrite:!0},r=>{r.code===0&&showMessage(window.siyuan.languages.exportTplSucc)})});return}showMessage(window.siyuan.languages.exportTplSucc)}),n.destroy()})})},{id:"exportMarkdown",label:"Markdown",icon:"iconMarkdown",click:()=>{const t=showMessage(window.siyuan.languages.exporting,-1);fetchPost("/api/export/exportMd",{id:e},n=>{hideMessage(t),openByMobile(n.data.zip)})}},{id:"exportSiYuanZip",label:"SiYuan .sy.zip",icon:"iconSiYuan",click:()=>{const t=showMessage(window.siyuan.languages.exporting,-1);fetchPost("/api/export/exportSY",{id:e},n=>{hideMessage(t),openByMobile(n.data.zip)})}},{id:"exportImage",label:window.siyuan.languages.image,icon:"iconImage",click:()=>{exportImage(e)}}]}).element},ro=(e,t,n,a)=>{const i=[];if(i.push({id:Xe()?"useDefault":"useBrowserView",label:Xe()?window.siyuan.languages.useDefault:window.siyuan.languages.useBrowserView,accelerator:a?window.siyuan.languages.click:"",click:()=>{Ia(t)}}),n)return i;window.siyuan.menus.menu.append(new ke({id:"openBy",label:window.siyuan.languages.openBy,icon:"iconOpen",submenu:i}).element)},Pc=e=>new MenuItem({id:"rename",accelerator:window.siyuan.config.keymap.editor.general.rename.custom,icon:"iconEdit",label:window.siyuan.languages.rename,click:()=>{rename(e)}}).element,Rc=e=>new MenuItem({id:"move",label:window.siyuan.languages.move,icon:"iconMove",accelerator:window.siyuan.config.keymap.general.move.custom,click(){movePathTo((t,n)=>{moveToPath(e,n[0],t[0])},e)}}).element;class Oc{constructor(){this.hasUndo=!1,this.redoStack=[],this.undoStack=[]}undo(t){if(t.disabled||this.undoStack.length===0)return;const n=this.undoStack.pop();if(this.render(t,n,!1),this.hasUndo=!0,this.redoStack.push(n),t.breadcrumb){const a=t.breadcrumb.element.parentElement.querySelector('[data-type="undo"]');a&&(this.undoStack.length===0&&a.setAttribute("disabled","true"),t.breadcrumb.element.parentElement.querySelector('[data-type="redo"]').removeAttribute("disabled"))}}redo(t){if(t.disabled||this.redoStack.length===0)return;const n=this.redoStack.pop();if(this.render(t,n,!0),this.undoStack.push(n),t.breadcrumb){const a=t.breadcrumb.element.parentElement.querySelector('[data-type="redo"]');a&&(t.breadcrumb.element.parentElement.querySelector('[data-type="undo"]').removeAttribute("disabled"),this.redoStack.length===0&&a.setAttribute("disabled","true"))}}render(t,n,a){hideElements(["hint","gutter"],t),t.wysiwyg.lastHTMLs={},a?(n.doOperations.forEach(i=>
422{onTransaction(t,i,!0)}),transaction(t,n.doOperations)):(n.undoOperations.forEach(i=>{onTransaction(t,i,!0)}),transaction(t,n.undoOperations)),preventScroll(t),scrollCenter(t)}replace(t,n){if(this.hasUndo&&this.redoStack.length>0&&(this.undoStack.push(this.redoStack.pop()),this.redoStack=[],this.hasUndo=!1,n.breadcrumb)){const a=n.breadcrumb.element.parentElement.querySelector('[data-type="redo"]');a&&a.setAttribute("disabled","true")}this.undoStack.length>0&&(this.undoStack[this.undoStack.length-1].doOperations=t)}add(t,n,a){if(this.undoStack.push({undoOperations:n,doOperations:t}),this.undoStack.length>Constants.SIZE_UNDO&&this.undoStack.shift(),this.hasUndo&&(this.redoStack=[],this.hasUndo=!1),a.breadcrumb){const i=a.breadcrumb.element.parentElement.querySelector('[data-type="undo"]');i&&i.removeAttribute("disabled")}}clear(){this.undoStack=[],this.redoStack=[]}}const ln=e=>!1,qc=(e,t,n)=>{var a,i,s,o,l,r,c,f,d;let u,g="",p=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if(p.length===0){let b=getTopAloneElement(t);const E=hasClosestByAttribute(b,"fold","1");E&&(b=E),(a=b.previousElementSibling)!=null&&a.classList.contains("protyle-action")&&(b=getTopAloneElement(b.parentElement)),p=[b]}const m=p[0].getAttribute("data-type");if(m==="NodeListItem"&&!p[0].previousElementSibling&&((s=(i=p[0].parentElement.previousElementSibling)==null?void 0:i.previousElementSibling)!=null&&s.classList.contains("protyle-action")))if((o=p[0].parentElement.parentElement.previousElementSibling)!=null&&o.classList.contains("li")){if(u=p[0].parentElement.parentElement.previousElementSibling.querySelector(".list"),n.insertNode(document.createElement("wbr")),g=p[0].parentElement.parentElement.parentElement.outerHTML,!u){const b=Lute.NewNodeID();p[0].parentElement.parentElement.previousElementSibling.lastElementChild.insertAdjacentHTML("beforebegin",`<div data-subtype="${p[0].getAttribute("data-subtype")}" data-node-id="${b}" data-type="NodeList" class="list" updated="${b.split("-")[0]}"><div id="moveTempLi"></div><div class="protyle-attr" contenteditable="false">&ZeroWidthSpace;</div></div>`),u=p[0].parentElement.parentElement.previousElementSibling.querySelector(".list")}}else return;if(m==="NodeList"&&((r=(l=p[0].previousElementSibling)==null?void 0:l.previousElementSibling)!=null&&r.classList.contains("protyle-action")))if((c=p[0].parentElement.previousElementSibling)!=null&&c.classList.contains("li")){if(u=p[0].parentElement.previousElementSibling.querySelector(".list"),n.insertNode(document.createElement("wbr")),g=p[0].parentElement.parentElement.outerHTML,!u){const b=Lute.NewNodeID();p[0].parentElement.previousElementSibling.lastElementChild.insertAdjacentHTML("beforebegin",`<div data-subtype="${p[0].getAttribute("data-subtype")}" data-node-id="${b}" data-type="NodeList" class="list" updated="${b.split("-")[0]}"><div id="moveTempLi"></div><div class="protyle-attr" contenteditable="false">&ZeroWidthSpace;</div></div>`),u=p[0].parentElement.previousElementSibling.querySelector(".list")}}else return;if(u){u=u.lastElementChild.previousElementSibling;const b=p[0].classList.contains("list")?p[0]:p[0].parentElement;p.reverse().forEach(E=>{E.classList.contains("list")?u.after(E.firstElementChild):u.after(E)}),u.id==="moveTempLi"&&(u=u.nextElementSibling,u.previousElementSibling.remove()),b.childElementCount===1?b.remove():b.getAttribute("data-subtype")==="o"&&b.classList.contains("list")&&updateListOrder(b,1),u.getAttribute("data-subtype")==="o"&&updateListOrder(u.parentElement),updateTransaction(e,u.parentElement.parentElement.parentElement.getAttribute("data-node-id"),u.parentElement.parentElement.parentElement.outerHTML,g),preventScroll(e),scrollCenter(e),focusByWbr(u.parentElement,n);return}if(!(!p[0].previousElementSibling||(f=p[0].previousElementSibling)!=null&&f.classList.contains("protyle-action"))){if(u=p[0].previousElementSibling,p[0].getAttribute("data-subtype")==="o"&&m==="NodeListItem"){const b=p[0].parentElement.outerHTML;p[p.length-1].after(u),updateListOrder(p[0].parentElement,1),updateTransaction(e,p[0].parentElement.getAttribute("data-node-id"),p[0].parentElement.outerHTML,b)}else{const b=u.getAttribute("data-node-id");transaction(e,[{action:"move",id:b,previousID:p[p.length-1].getAttribute("data-node-id")}],[{action:"move",id:b,previousID:(d=u.previousElementSibling)==null?void 0:d.getAttribute("data-node-id"),parentID:u.parentElement.getAttribute("data-node-id")||e.block.parentID}]),p[p.length-1].after(u)}preventScroll(e),scrollCenter(e)}},Uc=(e,t,n)=>{var a,i,s,o,l,r,c;let f,d="",u=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if(u.length===0){let p=getTopAloneElement(t);const m=hasClosestByAttribute(p,"fold","1");m&&(p=m),(a=p.previousElementSibling)!=null&&a.classList.contains("protyle-action")&&(p=getTopAloneElement(p.parentElement)),u=[p]}const g=u[0].getAttribute("data-type");if(g==="NodeListItem"&&u[u.length-1].nextElementSibling.classList.contains("protyle-attr")&&((i=u[0].parentElement.parentElement)!=null&&i.classList.contains("li")))if((s=u[0].parentElement.parentElement.nextElementSibling)!=null&&s.classList.contains("li")){if(f=u[0].parentElement.parentElement.nextElementSibling.querySelector(".list > .li"),n.insertNode(document.createElement("wbr")),d=u[0].parentElement.parentElement.parentElement.outerHTML,!f){const p=Lute.NewNodeID();u[0].parentElement.parentElement.nextElementSibling.lastElementChild.insertAdjacentHTML("beforebegin",`<div data-subtype="${u[0].getAttribute("data-subtype")}" data-node-id="${p}" data-type="NodeList" class="list" updated="${p.split("-")[0]}"><div class="protyle-attr" contenteditable="false">&ZeroWidthSpace;</div></div>`),f=u[0].parentElement.parentElement.nextElementSibling.querySelector(".list > div")}}else return;if(g==="NodeList"&&u[u.length-1].nextElementSibling.classList.contains("protyle-attr")&&((o=u[0].parentElement)!=null&&o.classList.contains("li")))if((l=u[0].parentElement.nextElementSibling)!=null&&l.classList.contains("li")){if(f=u[0].parentElement.nextElementSibling.querySelector(".list > .li"),n.insertNode(document.createElement("wbr")),d=u[0].parentElement.parentElement.outerHTML,!f){const p=Lute.NewNodeID();u[0].parentElement.nextElementSibling.lastElementChild.insertAdjacentHTML("beforebegin",`<div data-subtype="${u[0].getAttribute("data-subtype")}" data-node-id="${p}" data-type="NodeList" class="list" updated="${p.split("-")[0]}"><div class="protyle-attr" contenteditable="false">&ZeroWidthSpace;</div></div>`),f=u[0].parentElement.nextElementSibling.querySelector(".list > div")}}else return;if(f){const p=u[0].classList.contains("list")?u[0]:u[0].parentElement;u.forEach(m=>{m.classList.contains("list")?f.before(m.firstElementChild):f.before(m)}),p.childElementCount===1?p.remove():p.getAttribute("data-subtype")==="o"&&p.classList.contains("list")&&updateListOrder(p,1),f.getAttribute("data-subtype")==="o"&&updateListOrder(f.parentElement,1),updateTransaction(e,f.parentElement.parentElement.parentElement.getAttribute("data-node-id"),f.parentElement.parentElement.parentElement.outerHTML,d),preventScroll(e),scrollCenter(e),focusByWbr(f.parentElement,n);return}if(!(!u[u.length-1].nextElementSibling||(r=u[u.length-1].nextElementSibling)!=null&&r.classList.contains("protyle-attr"))){if(f=u[u.length-1].nextElementSibling,f.getAttribute("data-subtype")==="o"&&f.getAttribute("data-type")==="NodeListItem"){const p=f.parentElement.outerHTML;u[0].before(f),updateListOrder(f.parentElement,1),updateTransaction(e,f.parentElement.getAttribute("data-node-id"),f.parentElement.outerHTML,p)}else{const p=f.getAttribute("data-node-id");transaction(e,[{action:"move",id:p,previousID:(c=u[0].previousElementSibling)==null?void 0:c.getAttribute("data-node-id"),parentID:f.parentElement.getAttribute("data-node-id")||e.block.parentID}],[{action:"move",id:p,previousID:u[u.length-1].getAttribute("data-node-id")}]),u[0].before(f)}preventScroll(e),scrollCenter(e)}},co=e=>{let t="",n="";return window.siyuan.mobile.editor&&document.getElementById("empty").classList.contains("fn__none")&&(t=window.siyuan.mobile.editor.protyle.notebookId,e?n=window.siyuan.mobile.editor.protyle.path:n=pathPosix().dirname(window.siyuan.mobile.editor.protyle.path)),t||window.siyuan.notebooks.find(a=>{if(!a.closed)return t=a.id,n="/",!0}),{notebookId:t,currentPath:n}},uo=e=>{if(getOpenNotebookCount()===0){showMessage(window.siyuan.languages.newFileTip);return}if(!e.notebookId){const t=co(e.useSavePath);e.notebookId=t.notebookId,e.currentPath=t.currentPath}fetchPost("/api/filetree/getDocCreateSavePath",{notebook:e.notebookId},t=>{if(e.useSavePath||(t.data.box=e.notebookId),t.data.path.indexOf("/")>-1&&e.useSavePath||e.name)if(t.data.path.startsWith("/")||e.currentPath==="/"){const n=pathPosix().join(t.data.path,e.name||(t.data.path.endsWith("/")?window.siyuan.languages.untitled:""));fetchPost("/api/filetree/createDocWithMd",{notebook:t.data.box,path:n,markdown:"",listDocTree:e.listDocTree},a=>{e.afterCB&&e.afterCB(a.data,pathPosix().basename(n)),openMobileFileById(e.app,a.data,[Constants.CB_GET_CONTEXT,Constants.CB_GET_OPENNEW])})}else fetchPost("/api/filetree/getHPathByPath",{notebook:t.data.box,path:e.notebookId===t.data.box?e.currentPath.endsWith(".sy")?e.currentPath:e.currentPath+".sy":t.data.path||"/"},n=>{const a=pathPosix().join(n.data,t.data.path,e.name||(t.data.path.endsWith("/")?window.siyuan.languages.untitled:""));fetchPost("/api/filetree/createDocWithMd",{notebook:t.data.box,path:a,parentID:getDisplayName(e.currentPath,!0,!0),markdown:"",listDocTree:e.listDocTree},i=>{e.afterCB&&e.afterCB(i.data,pathPosix().basename(a)),openMobileFileById(e.app,i.data,[Constants.CB_GET_CONTEXT,Constants.CB_GET_OPENNEW])})});else{const n=pathPosix().basename(t.data.path||window.siyuan.languages.untitled);if(!validateName(n))return;if(e.notebookId!==t.data.box){const s=pathPosix().join(t.data.path||"/",e.
422name||(t.data.path.endsWith("/")?window.siyuan.languages.untitled:""));fetchPost("/api/filetree/createDocWithMd",{notebook:t.data.box,path:s,markdown:"",listDocTree:e.listDocTree},o=>{e.afterCB&&e.afterCB(o.data,pathPosix().basename(s)),openMobileFileById(e.app,o.data,[Constants.CB_GET_CONTEXT,Constants.CB_GET_OPENNEW])});return}const a=Lute.NewNodeID(),i=pathPosix().join(getDisplayName(e.currentPath,!1,!0),a+".sy");e.paths&&(e.paths[e.paths.indexOf(void 0)]=i),fetchPost("/api/filetree/createDoc",{notebook:t.data.box,path:i,title:n,md:"",sorts:e.paths,listDocTree:e.listDocTree},()=>{e.afterCB&&e.afterCB(a,n),openMobileFileById(e.app,a,[Constants.CB_GET_CONTEXT,Constants.CB_GET_OPENNEW])})}})},Fc=(e,t,n)=>{fetchPost("/api/filetree/getRefCreateSavePath",{notebook:t},a=>{let i=e;t!==a.data.box&&(i=a.data.path||"/"),a.data.path?a.data.path.startsWith("/")?n(getDisplayName(a.data.path,!1,!0),a.data.box):fetchPost("/api/filetree/getHPathByPath",{notebook:a.data.box,path:i},s=>{n(getDisplayName(pathPosix().join(s.data,a.data.path),!1,!0),a.data.box)}):fetchPost("/api/filetree/getHPathByPath",{notebook:a.data.box,path:i},s=>{n(getDisplayName(s.data,!1,!0),a.data.box)})})},Yc=(e,t)=>{hideElements(["dialog"]),uo({app:e,useSavePath:!0,name:replaceFileName(t.trim())||window.siyuan.languages.untitled})},Wc=(e,t,n,a,i)=>{const s=replaceFileName(t.trim()?t.trim():e.lute.BlockDOM2Content(n.outerHTML).replace(/\n/g,"").trim())||window.siyuan.languages.untitled,o=pathPosix().join(a,s);fetchPost("/api/filetree/getIDsByHPath",{path:o,notebook:i},l=>{const r=s.substring(0,window.siyuan.config.editor.blockRefDynamicAnchorTextMaxLen);l.data&&l.data.length>0?e.toolbar.setInlineMark(e,"block-ref","range",{type:"id",color:`${l.data[0]}${Constants.ZWSP}d${Constants.ZWSP}${r}`}):fetchPost("/api/filetree/createDocWithMd",{notebook:i,path:o,parentID:e.notebookId===i?e.block.rootID:"",markdown:""},c=>{e.toolbar.setInlineMark(e,"block-ref","range",{type:"id",color:`${c.data}${Constants.ZWSP}d${Constants.ZWSP}${r}`})}),hideElements(["toolbar"],e)})},sa=(e,t,n)=>{t&&(setLastNodeRange(getContenteditableElement(n[n.length-1]),e.toolbar.range),e.toolbar.range.collapse(!0),insertHTML(t,e,!0,!0),blockRender(e,e.wysiwyg.element),processRender(e.wysiwyg.element),highlightRender(e.wysiwyg.element))},fo=(e,t)=>{const n=new Dialog({title:window.siyuan.languages.update,content:`<div class="b3-dialog__content">
423    <input class="b3-text-field fn__block" placeholder="${window.siyuan.languages.memo}">
424    <div class="fn__hr"></div>
425    <textarea class="b3-text-field fn__block" placeholder="${window.siyuan.languages.aiCustomAction}"></textarea>
426</div>
427<div class="b3-dialog__action">
428    <button class="b3-button b3-button--remove">${window.siyuan.languages.delete}</button><div class="fn__space"></div>
429    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
430    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
431</div>`,width:isMobile()?"92vw":"520px"});n.element.setAttribute("data-key",Constants.DIALOG_AIUPDATECUSTOMACTION);const a=n.element.querySelector("input");a.value=e;const i=n.element.querySelector("textarea"),s=n.element.querySelectorAll(".b3-button");n.bindInput(i,()=>{s[2].click()}),i.value=t,s[1].addEventListener("click",()=>{n.destroy()}),s[2].addEventListener("click",()=>{window.siyuan.storage[Constants.LOCAL_AI].find(o=>{if(e===o.name&&t===o.memo)return o.name=a.value,o.memo=i.value,setStorageVal(Constants.LOCAL_AI,window.siyuan.storage[Constants.LOCAL_AI]),!0}),n.destroy()}),s[0].addEventListener("click",()=>{window.siyuan.storage[Constants.LOCAL_AI].find((o,l)=>{if(e===o.name&&t===o.memo)return window.siyuan.storage[Constants.LOCAL_AI].splice(l,1),setStorageVal(Constants.LOCAL_AI,window.siyuan.storage[Constants.LOCAL_AI]),!0}),n.destroy()}),a.focus()},Za=(e,t,n)=>{const a=new Dialog({title:window.siyuan.languages.aiCustomAction,content:`<div class="b3-dialog__content">
432    <input class="b3-text-field fn__block" value="" placeholder="${window.siyuan.languages.memo}">
433    <div class="fn__hr"></div>
434    <textarea class="b3-text-field fn__block" placeholder="${window.siyuan.languages.aiCustomAction}"></textarea>
435</div>
436<div class="b3-dialog__action">
437    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
438    <button class="b3-button b3-button--text">${window.siyuan.languages.use}</button><div class="fn__space"></div>
439    <button class="b3-button b3-button--text">${window.siyuan.languages.save}</button>
440</div>`,width:isMobile()?"92vw":"520px"});a.element.setAttribute("data-key",Constants.DIALOG_AICUSTOMACTION);const i=a.element.querySelector("input"),s=a.element.querySelector("textarea"),o=a.element.querySelectorAll(".b3-button");a.bindInput(s,()=>{o[1].click()}),o[0].addEventListener("click",()=>{a.destroy()}),o[1].addEventListener("click",()=>{if(!s.value){showMessage(window.siyuan.languages._kernel[142]);return}fetchPost("/api/ai/chatGPTWithAction",{ids:t,action:s.value},l=>{a.destroy(),sa(e,l.data,n)})}),o[2].addEventListener("click",()=>{if(!i.value&&!s.value){showMessage(window.siyuan.languages._kernel[142]);return}window.siyuan.storage[Constants.LOCAL_AI].push({name:i.value,memo:s.value}),setStorageVal(Constants.LOCAL_AI,window.siyuan.storage[Constants.LOCAL_AI]),a.destroy()}),i.focus()},Xa=(e,t)=>{e.querySelectorAll(".b3-list-item").forEach(n=>
440{n.textContent.indexOf(t.value)>-1?n.classList.remove("fn__none"):n.classList.add("fn__none")}),e.querySelectorAll(".b3-menu__separator").forEach(n=>{t.value?n.classList.add("fn__none"):n.classList.remove("fn__none")}),e.querySelector(".b3-list-item--focus").classList.remove("b3-list-item--focus"),e.querySelector(".b3-list-item:not(.fn__none)").classList.add("b3-list-item--focus")},jc=(e,t)=>{window.siyuan.menus.menu.remove();const n=[];e.forEach(o=>{n.push(o.getAttribute("data-node-id"))});const a=new Menu("ai",()=>{focusByRange(t.toolbar.range)});let i="";window.siyuan.storage[Constants.LOCAL_AI].forEach((o,l)=>{i+=`<div data-action="${escapeAttr(o.memo||o.name)}" data-index="${l}" class="b3-list-item b3-list-item--narrow ariaLabel" aria-label="${escapeAriaLabel(o.memo)}">
441    <span class="b3-list-item__text">${escapeHtml(o.name)}</span>
442    <span data-type="edit" class="b3-list-item__action"><svg><use xlink:href="#iconEdit"></use></svg></span>
443</div>`}),i&&(i=`<div class="b3-menu__separator"></div>${i}`);const s="Clear context";a.addItem({iconHTML:"",type:"empty",label:`<div class="fn__flex-column b3-menu__filter">
444    <input class="b3-text-field fn__flex-shrink" placeholder="${window.siyuan.languages.ai}"/>
445    <div class="fn__hr"></div>
446    <div class="b3-list fn__flex-1 b3-list--background">
447       <div class="b3-list-item b3-list-item--narrow b3-list-item--focus" data-action="Continue writing">
448            ${window.siyuan.languages.aiContinueWrite}
449        </div>
450        <div class="b3-menu__separator"></div>
451        <div class="b3-list-item b3-list-item--narrow" data-action="${window.siyuan.languages.aiExtractSummary}">
452            ${window.siyuan.languages.aiExtractSummary}
453        </div>
454        <div class="b3-list-item b3-list-item--narrow" data-action="${window.siyuan.languages.aiBrainStorm}">
455            ${window.siyuan.languages.aiBrainStorm}
456        </div>
457        <div class="b3-list-item b3-list-item--narrow" data-action="${window.siyuan.languages.aiFixGrammarSpell}">
458            ${window.siyuan.languages.aiFixGrammarSpell}
459        </div>
460        <div class="b3-list-item b3-list-item--narrow" data-action="${s}">
461            ${window.siyuan.languages.clearContext}
462        </div>
463        <div class="b3-menu__separator"></div>
464        <div class="b3-list-item b3-list-item--narrow" data-type="custom">
465            ${window.siyuan.languages.aiCustomAction}
466        </div>
467        ${i}
468    </div>
469</div>`,bind(o){o.setAttribute("style","height: 100%;padding: 0 16px;"),o.querySelectorAll(".b3-menu__separator").forEach(c=>{c.remove()});const l=o.querySelector(".b3-list"),r=o.querySelector("input");r.addEventListener("keydown",c=>{if(c.isComposing)return;if(upDownHint(l,c)&&c.stopPropagation(),c.key==="Enter"){c.preventDefault(),c.stopPropagation();const d=l.querySelector(".b3-list-item--focus");d.dataset.type==="custom"?(Za(t,n,e),a.close()):(fetchPost("/api/ai/chatGPTWithAction",{ids:n,action:d.dataset.action},u=>{sa(t,u.data,e)}),d.dataset.action===s?showMessage(window.siyuan.languages.clearContextSucc):a.close())}}),r.addEventListener("compositionend",()=>{Xa(o,r)}),r.addEventListener("input",c=>{c.isComposing||Xa(o,r)}),o.addEventListener("click",c=>{let f=c.target;for(;f&&!f.isSameNode(o);){if(f.classList.contains("b3-list-item__action")){const d=window.siyuan.storage[Constants.LOCAL_AI][f.parentElement.dataset.index];fo(d.name,d.memo),a.close(),c.stopPropagation(),c.preventDefault();break}else if(f.classList.contains("b3-list-item")){f.dataset.type==="custom"?(Za(t,n,e),a.close()):(fetchPost("/api/ai/chatGPTWithAction",{ids:n,action:f.dataset.action},d=>{sa(t,d.data,e)}),f.dataset.action===s?showMessage(window.siyuan.languages.clearContextSucc):a.close()),c.stopPropagation(),c.preventDefault();break}f=f.parentElement}})}}),a.element.querySelector(".b3-menu__items").setAttribute("style","overflow: initial"),a.fullscreen()},Vc=(e,t)=>{const n=new Dialog({title:"\u2728 "+window.siyuan.languages.aiWriting,content:`<div class="b3-dialog__content"><textarea class="b3-text-field fn__block"></textarea></div>
470<div class="b3-dialog__action">
471    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
472    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
473</div>`,width:isMobile()?"92vw":"520px"}),a=n.element.querySelector("textarea"),i=n.element.querySelectorAll(".b3-button");n.bindInput(a,()=>{i[1].click()}),a.focus(),i[0].addEventListener("click",()=>{n.destroy()}),i[1].addEventListener("click",()=>{let s=a.value;fetchPost("/api/ai/chatGPT",{msg:s},o=>{n.destroy();let l="";o.data&&o.data!==""&&(l=`
474
475`+o.data),s==="Clear context"&&(s=""),fillContent(e,`${s}${l}`,[t])})})};class Gc{constructor(t){this.enableSlash=!0,this.enableEmoji=!0,this.enableExtend=!1,this.splitChar="",this.lastIndex=-1,this.element=document.createElement("div"),this.element.setAttribute("data-close","false"),this.element.className="protyle-hint b3-list b3-list--background fn__none",this.element.addEventListener("click",n=>{var a;const i=n.target;if(i.tagName==="INPUT"){n.stopPropagation();return}const s=hasClosestByTag(i,"BUTTON");if(s&&!s.classList.contains("emojis__item")&&!s.classList.contains("emojis__type")){this.fill(decodeURIComponent(s.getAttribute("data-value")),t,!1,this.source==="search"?isNotCtrl(n):isOnlyMeta(n)),n.preventDefault(),n.stopPropagation();return}const o=this.element.querySelector(".emojis__panel"),l=hasClosestByClassName(i,"emojis__type");if(l){const c=o.querySelector(`[data-type="${l.getAttribute("data-type")}"]`);if(c){const f=c.nextElementSibling.getAttribute("data-index");if(f){let d="";
475window.siyuan.emojis[parseInt(f)].items.forEach(u=>{d+=`<button data-unicode="${u.unicode}" class="emojis__item ariaLabel" aria-label="${getEmojiDesc(u)}">
476${unicode2Emoji(u.unicode)}</button>`}),c.nextElementSibling.innerHTML=d,c.nextElementSibling.removeAttribute("data-index")}o.scrollTo({top:c.offsetTop})}return}const r=hasClosestByClassName(i,"emojis__item");if(r){const c=r.getAttribute("data-unicode");if(this.element.querySelectorAll(".emojis__title").length>2){const f=getSelection().getRangeAt(0);f.endContainer.nodeType!==3?(a=f.endContainer.childNodes[f.endOffset-1])==null||a.remove():f.endContainer.textContent===":"&&(f.endContainer.textContent=""),addEmoji(c);let d;c.indexOf(".")>-1?d=`:${c.split(".")[0]}: `:d=unicode2Emoji(c)+" ",insertHTML(t.lute.SpinBlockDOM(d),t,!1,!0),this.element.classList.add("fn__none")}else this.fill(c,t)}})}render(t){if(!window.getSelection().focusNode){this.element.classList.add("fn__none"),clearTimeout(this.timeId);return}if(!this.enableExtend){clearTimeout(this.timeId);return}if(t.toolbar.range=getSelection().getRangeAt(0),t.toolbar.range.startContainer.nodeType===3&&t.toolbar.range.startContainer.textContent===""){const s=hasPreviousSibling(t.toolbar.range.startContainer);if(s&&s.nodeType===3){if(s.wholeText!==s.textContent){let o=s.previousSibling;for(;o&&o.nodeType===3;)if(o.textContent==="")o=o.previousSibling,o.nextSibling.remove();else{s.textContent=o.textContent+s.textContent,o.remove();break}}t.toolbar.range.setStart(s,s.textContent.length),t.toolbar.range.collapse(!0)}}const n=getSelectionOffset(t.toolbar.range.startContainer,t.wysiwyg.element).start,a=t.toolbar.range.startContainer.textContent.substring(0,n)||"",i=this.getKey(a,t.options.hint.extend);if(typeof i=="undefined"||hasClosestByAttribute(t.toolbar.range.startContainer,"data-type","code")||hasClosestByAttribute(t.toolbar.range.startContainer,"data-type","NodeCodeBlock")){this.element.classList.add("fn__none"),clearTimeout(this.timeId);return}if(this.splitChar==="#"){const s=hasClosestBlock(t.toolbar.range.startContainer);if(s&&s.getAttribute("data-type")==="NodeHeading"){const o=getSelectionOffset(t.toolbar.range.startContainer,s).start;if(s.textContent.startsWith("#".repeat(o))){this.element.classList.add("fn__none"),clearTimeout(this.timeId);return}}}if(this.splitChar===":"){clearTimeout(this.timeId),i?this.genEmojiHTML(t,i):this.element.classList.add("fn__none");return}if(this.splitChar==="/"||this.splitChar==="\u3001"){clearTimeout(this.timeId),this.enableSlash&&!isMobile()&&this.genHTML(hintSlash(i,t),t,!1,"hint");return}t.options.hint.extend.forEach(s=>{s.key===this.splitChar&&(clearTimeout(this.timeId),this.timeId=window.setTimeout(()=>{this.genHTML(s.hint(i,t,"hint"),t,!1,"hint")},t.options.hint.delay))})}genLoading(t){if(this.element.classList.contains("fn__none")){this.element.innerHTML='<div class="fn__loading" style="height: 128px;position: initial"><img width="64px" src="/stage/loading-pure.svg"></div>',this.element.classList.remove("fn__none");const n=getSelectionPosition(t.wysiwyg.element);setPosition(this.element,n.left,n.top+26,30)}else this.element.insertAdjacentHTML("beforeend",'<div class="fn__loading"><img width="64px" src="/stage/loading-pure.svg"></div>')}bindUploadEvent(t,n){n.querySelectorAll('input[type="file"]').forEach(a=>{a.addEventListener("change",i=>{if(i.target.files.length===0)return;const s=getEditorRange(t.wysiwyg.element);this.lastIndex>-1&&s.setStart(s.startContainer,this.lastIndex),s.deleteContents(),uploadFiles(t,i.target.files,i.target),hideElements(["hint","toolbar"],t)})})}getHTMLByData(t){let n='<div style="flex: 1;overflow:auto;">';return this.source!=="hint"&&(n='<input style="margin:0 8px 4px 8px" class="b3-text-field"><div style="flex: 1;overflow:auto;">'),t.forEach((a,i)=>{let s="";(i===1&&t[i].focus||i===0&&(t.length===1||!t[1].focus))&&(s=" b3-list-item--focus"),a.html==="separator"?n+=`<button data-id="${a.id||""}" class="b3-menu__separator"></button>`:n+=`<button data-id="${a.id||""}" style="width: calc(100% - 16px)" class="b3-list-item b3-list-item--two${s}" data-value="${encodeURIComponent(a.value)}">${a.html}</button>`}),`${n}</div>`}genHTML(t,n,a=!1,i){var s;if(this.source=i,t.length===0){(!this.element.querySelector(".fn__loading")||a)&&this.element.classList.add("fn__none");return}if(this.element.innerHTML=this.getHTMLByData(t),this.element.classList.remove("fn__none"),t[0].filter?this.element.classList.add("hint--menu"):this.element.classList.remove("hint--menu"),this.source==="av"){const o=hasClosestByClassName(n.toolbar.range.startContainer,"av__cell");if(o){const l=o.getBoundingClientRect();setPosition(this.element,l.left,l.bottom,l.height)}}else{const o=getSelectionPosition(n.wysiwyg.element);setPosition(this.element,o.left,o.top+26,30)}if(this.element.scrollTop=0,this.bindUploadEvent(n,this.element),this.source!=="hint"){const o=this.element.querySelector("input.b3-text-field"),l=((s=this.element.querySelector("mark"))==null?void 0:s.textContent)||"";o.value=l,o.select(),o.addEventListener("keydown",c=>{c.key!=="Meta"&&c.key!=="Control"&&c.stopPropagation(),!c.isComposing&&(upDownHint(this.element.lastElementChild,c),c.key==="Enter"?(this.fill(decodeURIComponent(this.element.querySelector(".b3-list-item--focus").getAttribute("data-value")),n,!1,isNotCtrl(c)),c.preventDefault()):c.key==="Escape"&&(this.element.classList.add("fn__none"),focusByRange(n.toolbar.range)))});
476const r=n.toolbar.range?hasClosestBlock(n.toolbar.range.startContainer):!1;o.addEventListener("input",c=>{c.isComposing||(c.stopPropagation(),this.genSearchHTML(n,o,r,l,i))}),o.addEventListener("compositionend",c=>{c.stopPropagation(),this.genSearchHTML(n,o,r,l,i)})}}genSearchHTML(t,n,a,i,s){this.element.lastElementChild.innerHTML='<div class="ft__center"><img style="height:32px;width:32px;" src="/stage/loading-pure.svg"></div>',fetchPost("/api/search/searchRefBlock",{k:n.value,id:a?a.getAttribute("data-node-id"):t.block.parentID,beforeLen:Math.floor((Math.max(t.element.clientWidth/2,320)-58)/28.8),rootID:s==="av"?"":t.block.rootID,isDatabase:s==="av"},o=>{let l="";if(o.data.newDoc){const r=`((newFile "${i}"${Constants.ZWSP}'${o.data.k}${Lute.Caret}'))`;l+=`<button style="width: calc(100% - 16px)" class="b3-list-item b3-list-item--two${o.data.blocks.length===0?" b3-list-item--focus":""}" data-value="${encodeURIComponent(r)}"><div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconFile"></use></svg>
477<span class="b3-list-item__text">${window.siyuan.languages.newFile} <mark>${o.data.k}</mark></span></div></button>`}o.data.blocks.forEach((r,c)=>{let f;if(s==="av"){let d=r.name||r.refText.replace(new RegExp(Constants.ZWSP,"g"),"");a&&(d=r.ial["custom-sy-av-s-text-"+a.getAttribute("data-av-id")]||d),f=`<span data-type="block-ref" data-id="${r.id}" data-subtype="s">${d}</span>`}else f=`<span data-type="block-ref" data-id="${r.id}" data-subtype="s">${i}</span>`;l+=`<button style="width: calc(100% - 16px)" class="b3-list-item b3-list-item--two${c===0?" b3-list-item--focus":""}" data-value="${encodeURIComponent(f)}">
478${genHintItemHTML(r)}
479</button>`}),l===""&&(l=`<button style="width: calc(100% - 16px)" class="b3-list-item b3-list-item--two" data-value="">${window.siyuan.languages.emptyContent}</button>`),this.element.lastElementChild.innerHTML=l,setPosition(this.element,parseInt(this.element.style.left),parseInt(this.element.style.right))})}genEmojiHTML(t,n=""){if(n&&!this.enableEmoji)return;const a=this.element.querySelector(".emojis__panel");a?(a.innerHTML=filterEmoji(n,256),n?a.nextElementSibling.classList.add("fn__none"):a.nextElementSibling.classList.remove("fn__none"),lazyLoadEmojiImg(a)):(this.element.innerHTML=`<div style="padding:0;max-height:min(402px,40vh);width:366px" class="emojis">
480<div class="emojis__panel">${filterEmoji(n,256)}</div>
481<div class="fn__flex${n?" fn__none":""}">
482    ${[["2b50",window.siyuan.languages.recentEmoji],["1f527",getEmojiTitle(0)],["1f60d",getEmojiTitle(1)],["1f433",getEmojiTitle(2)],["1f96a",getEmojiTitle(3)],["1f3a8",getEmojiTitle(4)],["1f3dd-fe0f",getEmojiTitle(5)],["1f52e",getEmojiTitle(6)],["267e-fe0f",getEmojiTitle(7)],["1f6a9",getEmojiTitle(8)]].map(([s,o],l)=>`<button data-type="${l}" class="emojis__type ariaLabel" aria-label="${o}">${unicode2Emoji(s)}</button>`).join("")}
483</div>
484</div>`,lazyLoadEmoji(this.element),lazyLoadEmojiImg(this.element));const i=this.element.querySelector(".emojis__item");if(i){i.classList.add("emojis__item--current"),this.element.classList.remove("fn__none");const s=getSelectionPosition(t.wysiwyg.element);setPosition(this.element,s.left,s.top+26,30),this.element.querySelector(".emojis__panel").scrollTop=0}else this.element.classList.add("fn__none")}fill(t,n,a=!0,i=!1){var s;hideElements(["hint","toolbar"],n),a&&this.source!=="av"&&(n.toolbar.range=getEditorRange(n.wysiwyg.element));const o=n.toolbar.range;let l=hasClosestBlock(n.toolbar.range.startContainer);if(!l)return;if(this.source==="av"){let d=hasClosestByClassName(n.toolbar.range.startContainer,"av__cell");if(d||(d=l.querySelector(".av__cell--select")),!d)return;const u=hasClosestByClassName(d,"av__row");if(!u)return;const g=d.dataset.blockId,p=l.getAttribute("data-av-id");let m=document.createElement("div");if(m.innerHTML=t.replace(/<mark>/g,"").replace(/<\/mark>/g,""),m=m.firstElementChild,t.startsWith("((newFile ")&&t.endsWith(`${Lute.Caret}'))`)){const b=t.substring(11,t.length-4).split(`"${Constants.ZWSP}'`),E=b.length===1?b[0]:b[1],k=Lute.NewNodeID();u.dataset.id=k,getSavePath(n.path,n.notebookId,(A,v)=>{fetchPost("/api/filetree/createDocWithMd",{notebook:v,path:pathPosix().join(A,E),parentID:n.notebookId===v?n.block.rootID:"",markdown:"",id:k},()=>{transaction(n,[{action:"replaceAttrViewBlock",avID:p,previousID:g,nextID:k,isDetached:!1}],[{action:"replaceAttrViewBlock",avID:p,previousID:k,nextID:g,isDetached:!0}])})}),updateAttrViewCellAnimation(d,{type:"block",isDetached:!1,block:{content:E,id:k}})}else{const b=m.getAttribute("data-id");u.dataset.id=b,transaction(n,[{action:"replaceAttrViewBlock",avID:p,previousID:g,nextID:b,isDetached:!1}],[{action:"replaceAttrViewBlock",avID:p,previousID:b,nextID:g,isDetached:!0}]),updateAttrViewCellAnimation(d,{type:"block",isDetached:!1,block:{content:m.textContent,id:b}})}return}this.enableExtend=!1;let r="";l&&(r=l.getAttribute("data-node-id"));const c=l.outerHTML,f=Constants.BLOCK_HINT_CLOSE_KEYS[this.splitChar];if(Constants.BLOCK_HINT_KEYS.includes(this.splitChar)&&f&&o.startContainer.nodeType===3&&o.startContainer.wholeText.indexOf(f)>-1&&o.startContainer.wholeText.indexOf(this.splitChar)>-1){let d=0,u=o.startContainer;for(;u&&d<2;){const g=u.textContent.indexOf(f),p=u.textContent.indexOf(this.splitChar);if(g>-1&&(g<p||p<0)){d=2,o.setEnd(u,g+2);break}const m=u.textContent.indexOf(f.substr(1));if(m>
484-1&&(d+=1),d===2){o.setEnd(u,m+1);break}u=u.nextSibling}}if(this.lastIndex>-1&&(o.setStart(o.startContainer,this.lastIndex),isIPhone()&&focusByRange(o)),Constants.BLOCK_HINT_KEYS.includes(this.splitChar)&&t.startsWith("((newFile ")&&t.endsWith(`${Lute.Caret}'))`)){const d=t.substring(11,t.length-4).split(`"${Constants.ZWSP}'`),u=d.length===1?d[0]:d[1];getSavePath(n.path,n.notebookId,(g,p)=>{fetchPost("/api/filetree/createDocWithMd",{notebook:p,path:pathPosix().join(g,u),parentID:n.notebookId===p?n.block.rootID:"",markdown:""},m=>{n.toolbar.range=o,n.toolbar.setInlineMark(n,"block-ref","range",{type:"id",color:`${m.data}${Constants.ZWSP}${i?"s":"d"}${Constants.ZWSP}${(i?d[0]:u).substring(0,window.siyuan.config.editor.blockRefDynamicAnchorTextMaxLen)}`}),n.toolbar.range.collapse(!1)})});return}if(Constants.BLOCK_HINT_KEYS.includes(this.splitChar)){if(t===""){const u=getContenteditableElement(l);u.textContent===""&&(u.innerHTML="<wbr>",focusByWbr(u,o));return}let d=document.createElement("div");if(d.innerHTML=t.replace(/<mark>/g,"").replace(/<\/mark>/g,""),d=d.firstElementChild,i){const u=o.toString().replace(this.splitChar,"");u&&(d.setAttribute("data-subtype","s"),d.innerText=u)}else{d.setAttribute("data-subtype","d");const u=d.innerText.split(Constants.ZWSP);u.length===2&&(d.innerText=u[1])}n.toolbar.setInlineMark(n,"block-ref","range",{type:"id",color:`${d.getAttribute("data-id")}${Constants.ZWSP}${d.getAttribute("data-subtype")}${Constants.ZWSP}${d.textContent}`}),n.toolbar.range.collapse(!1);return}else if(this.splitChar===":"){addEmoji(t);let d;t.indexOf(".")>-1?d=`:${t.split(".")[0]}: `:d=unicode2Emoji(t)+" ",insertHTML(n.lute.SpinBlockDOM(d),n)}else if(["\u300C\u300C","\u300C\u300E","\u300E\u300C","\u300E\u300E","{{"].includes(this.splitChar)||this.splitChar==="#"||this.splitChar===":"){if(t===""){const d=getContenteditableElement(l);d.textContent===""&&(d.innerHTML="<wbr>",focusByWbr(d,o));return}insertHTML(n.lute.SpinBlockDOM(t),n,!1,isMobile()),blockRender(n,n.wysiwyg.element);return}else if(this.splitChar==="/"||this.splitChar==="\u3001")if(this.enableExtend=!0,t==="(("||t==="{{"){t==="(("?hintRef("",n,"hint"):hintEmbed("",n),this.splitChar=t,this.lastIndex=0,o.deleteContents();const d=document.createTextNode(t);o.insertNode(d),o.setEnd(d,t.length),o.collapse(!1),focusByRange(o);return}else if(t===Constants.ZWSP){o.deleteContents(),this.fixImageCursor(o),n.toolbar.showTpl(n,l,o),updateTransaction(n,r,l.outerHTML,c);return}else if(t===Constants.ZWSP+1){o.deleteContents(),this.fixImageCursor(o),n.toolbar.showWidget(n,l,o),updateTransaction(n,r,l.outerHTML,c);return}else if(t===Constants.ZWSP+2){o.deleteContents(),this.fixImageCursor(o),n.toolbar.range=o;const d=getSelectionPosition(l,o);assetMenu(n,{x:d.left,y:d.top+26,w:0,h:26}),updateTransaction(n,r,l.outerHTML,c);return}else if(t===Constants.ZWSP+3){o.deleteContents();return}else if(t===Constants.ZWSP+4){newFile({app:n.app,notebookId:n.notebookId,useSavePath:!0,currentPath:n.path,afterCB:(d,u)=>{insertHTML(`<span data-type="block-ref" data-id="${d}" data-subtype="d">${u}</span>`,n)}});return}else if(t===Constants.ZWSP+6){const d=Lute.NewNodeID();fetchPost("/api/filetree/createDoc",{notebook:n.notebookId,path:pathPosix().join(getDisplayName(n.path,!1,!0),d+".sy"),title:window.siyuan.languages.untitled,md:""},()=>{insertHTML(`<span data-type="block-ref" data-id="${d}" data-subtype="d">${window.siyuan.languages.untitled}</span>`,n),openMobileFileById(n.app,d,[Constants.CB_GET_CONTEXT,Constants.CB_GET_OPENNEW])});return}else if(t===Constants.ZWSP+5){o.deleteContents(),AIChat(n,l);return}else if(Constants.INLINE_TYPE.includes(t)){if(o.deleteContents(),focusByRange(o),["a","block-ref","inline-math","inline-memo","text"].includes(t)){n.toolbar.element.querySelector(`[data-type="${t}"]`).dispatchEvent(new CustomEvent("click"));return}n.toolbar.setInlineMark(n,t,"range");return}else if(t==="emoji"){o.deleteContents(),o.insertNode(document.createTextNode(":")),o.collapse(!1),focusByRange(o),this.genEmojiHTML(n);return}else if(t.indexOf("style")>-1){o.deleteContents(),this.fixImageCursor(o),l.setAttribute("style",t.split(Constants.ZWSP)[1]||""),updateTransaction(n,r,l.outerHTML,c);return}else if(t.startsWith("plugin")){n.app.plugins.find(d=>{const u=t.split(Constants.ZWSP);if(u[1]===d.name)return d.protyleSlash.find(g=>
484{if(g.id===u[2])return g.callback(n.getInstance(),l),!0}),!0});return}else{o.deleteContents(),t!=="![]()"&&this.fixImageCursor(o);let d=t;t==="```"&&(d=t+(Constants.SIYUAN_RENDER_CODE_LANGUAGES.includes(window.siyuan.storage[Constants.LOCAL_CODELANG])?"":window.siyuan.storage[Constants.LOCAL_CODELANG])+Lute.Caret+"\n```");const u=getContenteditableElement(l);if(t==="![]()"){let g="";o.insertNode(document.createElement("wbr")),o.insertNode(document.createTextNode(t)),g=n.lute.SpinBlockDOM(l.outerHTML),l.outerHTML=g,l=n.wysiwyg.element.querySelector(`[data-node-id="${r}"]`),focusByWbr(l,o),updateTransaction(n,r,l.outerHTML,c);let p=o.startContainer.childNodes[o.startOffset-1]||o.startContainer;p&&p.nodeType!==3&&p.classList.contains("img")||(((s=p.previousSibling)==null?void 0:s.nodeType)!==3&&p.previousSibling.classList.contains("img")?p=p.previousSibling:Array.from(l.querySelectorAll(".img")).find(b=>{if(b.querySelector("img").getAttribute("data-src")==="")return p=b,!0}));const m=p.getBoundingClientRect();imgMenu(n,o,p,{clientX:m.left,clientY:m.top});return}else if(u.textContent===""&&l.getAttribute("data-type")==="NodeParagraph"){let g="";t==="<div>"?g=`<div data-node-id="${r}" data-type="NodeHTMLBlock" class="render-node" data-subtype="block">${genIconHTML()}<div><protyle-html data-content=""></protyle-html><span style="position: absolute">${Constants.ZWSP}</span></div><div class="protyle-attr" contenteditable="false"></div></div>`:(u.textContent=d,g=n.lute.SpinBlockDOM(l.outerHTML)),l.outerHTML=g,l=n.wysiwyg.element.querySelector(`[data-node-id="${r}"]`),l.getAttribute("data-type")==="NodeTable"&&(l.querySelectorAll("colgroup col").forEach(p=>{p.style.minWidth="60px"}),g=l.outerHTML),updateTransaction(n,r,g,c)}else{let g=n.lute.SpinBlockDOM(d);t==="<div>"&&(g=`<div data-node-id="${Lute.NewNodeID()}" data-type="NodeHTMLBlock" class="render-node" data-subtype="block">${genIconHTML()}<div><protyle-html data-content=""></protyle-html><span style="position: absolute">${Constants.ZWSP}</span></div><div class="protyle-attr" contenteditable="false"></div></div>`),l.insertAdjacentHTML("afterend",g);const p=l.outerHTML,m=g.substr(g.indexOf('data-node-id="')+14,22);l=n.wysiwyg.element.querySelector(`[data-node-id="${m}"]`),l.getAttribute("data-type")==="NodeTable"&&l.querySelectorAll("colgroup col").forEach(b=>{b.style.minWidth="60px"}),transaction(n,[{data:p,id:r,action:"update"},{data:l.outerHTML,id:m,previousID:r,action:"insert"}],[{id:m,action:"delete"},{data:c,id:r,action:"update"}])}if(t==="<div>"||t==="$$"||t.indexOf("```")>-1&&(t.length>3||l.classList.contains("render-node")))n.toolbar.showRender(n,l),processRender(l);else if(t.startsWith("```"))highlightRender(l);else if(t.startsWith("<iframe")||t.startsWith("<video")||t.startsWith("<audio")){n.gutter.renderMenu(n,l);const g=l.getBoundingClientRect();window.siyuan.menus.menu.popup({x:g.left,y:g.top,isLeft:!0});const p=window.siyuan.menus.menu.element.querySelector('[data-id="assetVideo"], [data-id="assetAudio"], [data-id="assetIFrame"]');p.classList.add("b3-menu__item--show"),window.siyuan.menus.menu.showSubMenu(p.querySelector(".b3-menu__submenu")),window.siyuan.menus.menu.element.querySelector("textarea").focus()}else t==="---"?focusBlock(l):l.classList.contains("av")?avRender(l,n,()=>{l.querySelector(".av__title").focus()}):focusByWbr(l,o)}}select(t,n){var a,i,s,o,l;const r=this.element.firstElementChild.classList.contains("emojis");if(this.element.querySelectorAll("button").length===0&&!r)return!1;if(t.key==="Enter"){if(r){const c=this.element.querySelector(".emojis__item--current");if(!c)return!1;const f=c.getAttribute("data-unicode");if(this.element.querySelectorAll(".emojis__title").length>2){const d=getSelection().getRangeAt(0);d.endContainer.nodeType!==3&&((a=d.endContainer.childNodes[d.endOffset-1])==null||a.remove()),addEmoji(f);let u;f.indexOf(".")>-1?u=`:${f.split(".")[0]}: `:u=unicode2Emoji(f)+" ",insertHTML(n.lute.SpinBlockDOM(u),n),this.element.classList.add("fn__none")}else this.fill(f,n)}else{const c=decodeURIComponent(this.element.querySelector(".b3-list-item--focus").getAttribute("data-value"));c===Constants.ZWSP+3?this.element.querySelector(".b3-list-item--focus input").click():this.fill(c,n,!0,isOnlyMeta(t))}return t.preventDefault(),t.stopPropagation(),!0}if(r){const c=this.element.querySelector(".emojis__item--current");
484if(!c)return!1;let f;if(t.key==="ArrowLeft")c.previousElementSibling?(c.classList.remove("emojis__item--current"),f=c.previousElementSibling):(i=c.parentElement.previousElementSibling)!=null&&i.previousElementSibling&&(c.classList.remove("emojis__item--current"),f=c.parentElement.previousElementSibling.previousElementSibling.lastElementChild);else if(t.key==="ArrowRight")c.nextElementSibling?(c.classList.remove("emojis__item--current"),f=c.nextElementSibling):(s=c.parentElement.nextElementSibling)!=null&&s.nextElementSibling&&(c.classList.remove("emojis__item--current"),f=c.parentElement.nextElementSibling.nextElementSibling.firstElementChild);else if(t.key==="ArrowDown"){if(c.nextElementSibling){c.classList.remove("emojis__item--current");let d=Math.floor(c.parentElement.clientWidth/(c.clientWidth+2));for(f=c;f.nextElementSibling&&d>0;)f=f.nextElementSibling,d--}else{const d=(o=c.parentElement.nextElementSibling)==null?void 0:o.nextElementSibling;d&&(f=d.firstElementChild,c.classList.remove("emojis__item--current"))}t.preventDefault(),t.stopPropagation()}else if(t.key==="ArrowUp"){if(c.previousElementSibling){c.classList.remove("emojis__item--current");let d=Math.floor(c.parentElement.clientWidth/(c.clientWidth+2));for(f=c;f.previousElementSibling&&d>0;)f=f.previousElementSibling,d--}else{const d=(l=c.parentElement.previousElementSibling)==null?void 0:l.previousElementSibling;d&&(f=d.lastElementChild,c.classList.remove("emojis__item--current"))}t.preventDefault(),t.stopPropagation()}if(f){f.classList.add("emojis__item--current");const d=this.element.querySelector(".emojis__panel");if(f.offsetTop-8<d.scrollTop)d.scrollTop=f.offsetTop-8;else{const u=d.nextElementSibling.classList.contains("fn__none")?8:36;f.offsetTop+u-this.element.clientHeight+f.clientHeight>d.scrollTop&&(d.scrollTop=f.offsetTop+u-this.element.clientHeight+f.clientHeight)}}return t.preventDefault(),t.stopPropagation(),!0}else if(t.key==="ArrowDown"||t.key==="ArrowUp")return upDownHint(this.element.firstElementChild,t),t.preventDefault(),t.stopPropagation(),!0;return t.key==="ArrowLeft"||t.key==="ArrowRight"?(hideElements(["hint"],n),!0):!1}fixImageCursor(t){const n=hasPreviousSibling(t.startContainer);n&&n.nodeType!==3&&n.classList.contains("img")&&(hasNextSibling(n)||(t.insertNode(document.createTextNode(Constants.ZWSP)),t.collapse(!1)))}getKey(t,n){if(this.lastIndex=-1,this.splitChar="",n.forEach(s=>{let o=t.lastIndexOf(s.key);Constants.BLOCK_HINT_KEYS.includes(s.key)&&o>-1&&t.lastIndexOf(s.key+s.key.substring(0,1))>-1&&(o=Math.min(o,t.lastIndexOf(s.key+s.key.substring(0,1)))),this.lastIndex<o&&(Constants.BLOCK_HINT_KEYS.includes(this.splitChar)&&(s.key===":"||s.key==="#"||s.key==="/"||s.key==="\u3001")||this.splitChar==="#"&&(s.key==="/"||s.key==="\u3001")||(this.splitChar=s.key,this.lastIndex=o))}),this.lastIndex===-1)return;this.splitChar===":"&&(this.enableEmoji=!(/\d/.test(t.substr(this.lastIndex-1,1))||t.substr(this.lastIndex-1,2)==="::"));const a=t.split(this.splitChar),i=a[a.length-1];if(a.length>1&&i.trimStart()===i&&i.length<Constants.SIZE_TITLE)return this.splitChar==="\u3010\u3010"&&t.endsWith("\u3010\u3010\u3011")?"":i}}const Kc=(e,t)=>{if(typeof speechSynthesis=="undefined"||typeof SpeechSynthesisUtterance=="undefined")return;const n='<svg><use xlink:href="#iconPlay"></use></svg>',a='<svg><use xlink:href="#iconPause"></use></svg>';let i=document.querySelector(".protyle-speech");if(!i){i=document.createElement("div"),i.className="protyle-speech",document.body.insertAdjacentElement("beforeend",i);const s=()=>{const l=speechSynthesis.getVoices();let r,c;return l.forEach(f=>{f.lang===t.replace("_","-")&&(r=f),f.default&&(c=f)}),r||(r=c),r};speechSynthesis.onvoiceschanged!==void 0&&(speechSynthesis.onvoiceschanged=s);const o=s();i.onclick=()=>{if(i.className==="protyle-speech"){const l=new SpeechSynthesisUtterance(i.getAttribute("data-text"));l.voice=o,l.onend=()=>{i.className="protyle-speech",speechSynthesis.cancel(),i.innerHTML=n},speechSynthesis.speak(l),i.className="protyle-speech protyle-speech--current",i.innerHTML=a}
484else speechSynthesis.speaking&&(speechSynthesis.paused?(speechSynthesis.resume(),i.innerHTML=a):(speechSynthesis.pause(),i.innerHTML=n));focusByRange(window.protyleSpeechRange)},document.body.addEventListener("click",()=>{getSelection().toString().trim()===""&&i.style.display==="block"&&(i.className="protyle-speech",speechSynthesis.cancel(),i.style.display="none")})}e.addEventListener("mouseup",s=>{const o=getSelection().toString().trim();if(speechSynthesis.cancel(),getSelection().toString().trim()===""){i.style.display==="block"&&(i.className="protyle-speech",i.style.display="none");return}window.protyleSpeechRange=getSelection().getRangeAt(0).cloneRange();const l=getSelection().getRangeAt(0).getBoundingClientRect();i.innerHTML=n,i.style.display="block",i.style.top=l.top+l.height+document.querySelector("html").scrollTop-20+"px",i.style.left=s.screenX+2+"px",i.setAttribute("data-text",o)})};var go=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});class zc{constructor(t){this.element=document.createElement("div"),this.element.className="protyle-preview fn__none";const n=document.createElement("div");n.className="b3-typography",t.options.classes.preview&&n.classList.add(t.options.classes.preview);const a=t.options.preview.actions,i=document.createElement("div");i.className="protyle-preview__action";const s=[];for(let o=0;o<a.length;o++){const l=a[o];if(typeof l=="object"){s.push(`<button type="button" data-type="${l.key}" class="${l.className}">${l.text}</button>`);continue}switch(l){case"desktop":s.push(`<button type="button" class="protyle-preview__action--current" data-type="desktop">${window.siyuan.languages.desktop}</button>`);break;case"tablet":s.push(`<button type="button" data-type="tablet">${window.siyuan.languages.tablet}</button>`);break;case"mobile":s.push(`<button type="button" data-type="mobile">${window.siyuan.languages.mobile}</button>`);break;case"mp-wechat":s.push(`<button type="button" data-type="mp-wechat" class="b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.copyToWechatMP}"><svg><use xlink:href="#iconMp"></use></svg></button>`);break;case"zhihu":s.push(`<button type="button" data-type="zhihu" class="b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.copyToZhihu}"><svg><use xlink:href="#iconZhihu"></use></svg></button>`);break;case"yuque":s.push(`<button type="button" data-type="yuque" class="b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.copyToYuque}"><svg><use xlink:href="#iconYuque"></use></svg></button>`);break}}i.innerHTML=s.join(""),this.element.appendChild(i),this.element.appendChild(n),this.element.addEventListener("click",o=>{let l=o.target;for(;l&&!l.isEqualNode(this.element);){if(l.tagName==="A"){const c=l.getAttribute("href");if(c.startsWith("#")){const f=c.substring(1);n.querySelector('[data-node-id="'+f+'"], [id="'+f+'"]').scrollIntoView(),o.stopPropagation(),o.preventDefault();break}if(isMobile()){openByMobile(c),o.stopPropagation(),o.preventDefault();break}o.stopPropagation(),o.preventDefault(),isLocalPath(c)||window.open(c);break}else if(l.tagName==="IMG"){previewDocImage(o.target.getAttribute("src"),t.block.rootID),o.stopPropagation(),o.preventDefault();break}else if(l.tagName==="BUTTON"){const c=l.getAttribute("data-type"),f=a.find(d=>(d==null?void 0:d.key)===c);f?f.click(c):c==="mp-wechat"||c==="zhihu"||c==="yuque"?this.copyToX(this.element.lastElementChild.cloneNode(!0),t,c):c==="desktop"?(n.style.width="",n.style.padding=t.wysiwyg.element.style.padding):c==="tablet"?(n.style.width="1024px",n.style.padding="8px 16px"):(n.style.width="360px",n.style.padding="8px"),c!=="mp-wechat"&&c!=="zhihu"&&c!=="yuque"&&(i.querySelectorAll("button").forEach(d=>{d.classList.remove("protyle-preview__action--current")}),l.classList.add("protyle-preview__action--current"))}l=l.parentElement}const r=hasClosestByAttribute(o.target,"id",void 0);r&&(this.element.querySelectorAll(".protyle-wysiwyg--select").forEach(c=>{c.classList.remove("selected")}),r.classList.add("selected"))}),this.previewElement=n}render(t){var n;if(this.element.style.display==="none")return;if((n=this.element.querySelector('.protyle-preview__action [data-type="desktop"]'))!=null&&n.classList.contains("protyle-preview__action--current")){const i=getPadding(t);this.previewElement.style.padding=`${i.top}px ${i.left}px ${i.bottom}px ${i.right}px`}let a=this.element.querySelector(".fn__loading");a||(this.element.insertAdjacentHTML("beforeend",`<div style="flex-direction: column;" class="fn__loading">
485    <img width="48px" src="/stage/loading-pure.svg">
486</div>`),a=this.element.querySelector(".fn__loading")),this.mdTimeoutId=window.setTimeout(()=>{fetchPost("/api/export/preview",{id:t.block.parentID||t.options.blockId},i=>{const s=t.preview.previewElement.scrollTop;t.preview.previewElement.innerHTML=i.data.html,processRender(t.preview.previewElement),highlightRender(t.preview.previewElement),avRender(t.preview.previewElement,t),speechRender(t.preview.previewElement,t.options.lang),t.preview.previewElement.scrollTop=s,a.remove()})},t.options.preview.delay)}link2online(t){needSubscribe("")||t.querySelectorAll("[href],[src]").forEach(n=>{const a=n.getAttribute("href")||n.getAttribute("src");if(a&&a.startsWith("assets/")){const i=Constants.ASSETS_ADDRESS+window.siyuan.user.userId+"/"+a;n.getAttribute("href")?n.setAttribute("href",i):n.setAttribute("src",i)}})}copyToX(t,n,a){return go(this,null,function*(){if(a==="mp-wechat")this.link2online(t),t.querySelectorAll(".katex-html .base").forEach(o=>{o.style.display="initial"}),t.querySelectorAll("mjx-container > svg").forEach(o=>{o.setAttribute("width",parseInt(o.getAttribute("width"))*8+"px")}),t.querySelectorAll("ul, ol").forEach(o=>
486{Array.from(o.children).forEach(l=>{const r=l.querySelector("ul, ol");r&&l.parentNode.insertBefore(r,l.nextSibling)})}),typeof window.MathJax=="undefined"&&(window.MathJax={svg:{fontCache:"none"}}),yield addScriptSync(`${Constants.PROTYLE_CDN}/js/mathjax/tex-svg-full.js`,"protyleMathJaxScript"),yield window.MathJax.startup.promise,t.querySelectorAll('[data-subtype="math"]').forEach(o=>{const l=window.MathJax.tex2svg(Lute.UnEscapeHTMLStr(o.getAttribute("data-content")).trim(),{display:o.tagName==="DIV"});l.querySelector("mjx-assistive-mml").remove(),o.innerHTML=l.outerHTML});else if(a==="zhihu")this.link2online(t),t.querySelectorAll('[data-subtype="math"]').forEach(o=>{o.outerHTML=`<img class="Formula-image" data-eeimg="true" src="//www.zhihu.com/equation?tex=" alt="${o.getAttribute("data-content")}" style="${o.tagName==="DIV"?"display: block; max-width: 100%;":""}margin: 0 auto;">`}),t.querySelectorAll("blockquote").forEach(o=>{const l=[];this.processZHBlockquote(o,l),l.reverse().forEach(r=>{o.insertAdjacentElement("afterend",r)}),o.remove()}),this.processZHTable(t);else if(a==="yuque"){fetchPost("/api/lute/copyStdMarkdown",{id:n.block.rootID},o=>{writeText(o.data),showMessage(`${window.siyuan.languages.pasteToYuque}`)});return}t.style.backgroundColor="#fff",t.querySelectorAll("code").forEach(o=>{o.style.backgroundImage="none"}),this.element.append(t),t.insertAdjacentHTML("beforeend","<p>&zwj;</p>");let i;getSelection().rangeCount>0&&(i=getSelection().getRangeAt(0).cloneRange());const s=t.ownerDocument.createRange();s.selectNodeContents(t),focusByRange(s),document.execCommand("copy"),this.element.lastElementChild.remove(),focusByRange(i),a&&showMessage(`${a==="zhihu"?window.siyuan.languages.pasteToZhihu:window.siyuan.languages.pasteToWechatMP}`)})}processZHBlockquote(t,n){Array.from(t.children).forEach(a=>{if(a.tagName==="BLOCKQUOTE")this.processZHBlockquote(a,n);else if(a.tagName!=="P"||a.querySelector("img"))n.push(a);else{const i=n[n.length-1];(!i||i&&i.tagName!=="BLOCKQUOTE")&&n.push(document.createElement("blockquote")),n[n.length-1].append(a)}})}processZHTable(t){t.querySelectorAll("table").forEach(n=>{const a=n.querySelector("thead");if(!a)return;const i=n.querySelector("tbody");i?i.insertAdjacentElement("afterbegin",a.firstElementChild):n.innerHTML=`<tbody>${a.innerHTML}</tbody>`,a.remove()})}}class Zc{constructor(t){this.defaultOptions={mode:"wysiwyg",blockId:"",render:{background:!1,title:!1,gutter:!0,scroll:!1,breadcrumb:!0,breadcrumbDocName:!1},action:[],after:void 0,classes:{preview:""},hint:{delay:200,emoji:{"+1":"\u{1F44D}","-1":"\u{1F44E}",confused:"\u{1F615}",eyes:"\u{1F440}\uFE0F",heart:"\u2764\uFE0F",rocket:"\u{1F680}\uFE0F",smile:"\u{1F604}",tada:"\u{1F389}\uFE0F"},emojiPath:"/emojis",extend:[{key:"((",hint:hintRef},{key:"\u3010\u3010",hint:hintRef},{key:"\uFF08\uFF08",hint:hintRef},{key:"[[",hint:hintRef},{key:"{{",hint:hintEmbed},{key:"\u300C\u300C",hint:hintEmbed},{key:"\u300C\u300E",hint:hintEmbed},{key:"\u300E\u300C",hint:hintEmbed},{key:"\u300E\u300E",hint:hintEmbed},{key:"#",hint:hintTag},{key:"/",hint:hintSlash},{key:"\u3001",hint:hintSlash},{key:":"}]},lang:window.siyuan.config.appearance.lang,preview:{actions:["desktop","tablet","mobile","mp-wechat","zhihu","yuque"],delay:0,markdown:{paragraphBeginningSpace:window.siyuan.config.export.paragraphBeginningSpace,listStyle:!1,sanitize:!0},mode:"both"},toolbar:Constants.PROTYLE_TOOLBAR,typewriterMode:!1,upload:{max:1024*1024*1024*8,url:Constants.UPLOAD_ADDRESS,extraData:{},fieldName:"file[]",filename:n=>n.replace(/[\\/:*?"'<>|\[\]\(\)~!`&{}=#%$]/g,""),linkToImgUrl:"",withCredentials:!1}},this.options=t}merge(){var t;return this.options&&(this.options.toolbar?this.options.toolbar=this.mergeToolbar(this.options.toolbar):this.options.toolbar=this.mergeToolbar(this.defaultOptions.toolbar),(t=this.options.hint)!=null&&t.emoji&&(this.defaultOptions.hint.emoji=this.options.hint.emoji)),merge(this.defaultOptions,this.options)}mergeToolbar(t){return toolbarKeyToMenu(t)}}const Xc=(e,t)=>{e.element.querySelector(".wysiwygLoading")||(addLoading(e),hideElements(["toolbar"],e),fetchPost(`/api/format/net${t}2LocalAssets`,{id:e.block.rootID},()=>{reloadProtyle(e,!1)}))},Jc=(e,t)=>{var n,a;setTimeout(()=>{hideAllElements(["gutter"])},Constants.TIMEOUT_TRANSITION);const i=e.className.includes("fullscreen");if(i?(e.classList.remove("fullscreen"),(n=document.getElementById("drag"))==null||n.classList.remove("fn__hidden")):(e.classList.add("fullscreen"),(a=document.getElementById("drag"))==null||a.classList.add("fn__hidden")),isWindow(),t){i?t.querySelector("use").setAttribute("xlink:href","#iconFullscreen"):t.querySelector("use").setAttribute("xlink:href","#iconFullscreenExit");const s=hasClosestByClassName(e,"layout--float");s&&(i?(s.setAttribute("data-temp",s.style.transform),s.style.transform="none"):(s.style.transform=s.getAttribute("data-temp"),s.removeAttribute("data-temp")));return}},po=(e,t)=>{if(!window.siyuan.config.readonly){const n=e.querySelector("use").getAttribute("xlink:href")!=="#iconUnlock";window.siyuan.config.editor.readOnly?n?js(t):Sn(t):ve("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{[$.CUSTOM_SY_READONLY]:n?"false":"true"}})}},Qc=(e,t,n)=>{if(matchHotKey(window.siyuan.config.keymap.editor.general.netImg2LocalAsset.custom,t))return net2LocalAssets(e,"Img"),t.preventDefault(),t.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.netAssets2LocalAssets.custom,t))return net2LocalAssets(e,"Assets"),t.preventDefault(),t.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.optimizeTypography.custom,t))return fetchPost("/api/format/autoSpace",{id:e.block.rootID}),t.preventDefault(),t.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.copyHPath.custom,t))return fetchPost("/api/filetree/getHPathByID",{id:e.block.rootID},a=>{writeText(a.data)}),t.preventDefault(),t.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.copyProtocolInMd.custom,t)){if(n){const a=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));a.length===0&&a.push(n),copyTextByType(a.map(i=>i.getAttribute("data-node-id")),"protocolMd")}else copyTextByType([e.block.rootID],"protocolMd");return t.preventDefault(),t.stopPropagation(),!0}if(matchHotKey(window.siyuan.config.keymap.editor.general.copyID.custom,t)){if(n){const a=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));a.length===0&&a.push(n),copyTextByType(a.map(i=>i.getAttribute("data-node-id")),"id")}else copyTextByType([e.block.rootID],"id");return t.preventDefault(),t.stopPropagation(),!0}if(matchHotKey(window.siyuan.config.keymap.editor.general.copyProtocol.custom,t)){if(n){const a=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));a.length===0&&a.push(n),copyTextByType(a.map(i=>i.getAttribute("data-node-id")),"protocol")}else copyTextByType([e.block.rootID],"protocol");return t.preventDefault(),t.stopPropagation(),!0}if(matchHotKey(window.siyuan.config.keymap.editor.general.copyBlockEmbed.custom,t)){if(n){const a=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));a.length===0&&a.push(n),copyTextByType(a.map(i=>i.getAttribute("data-node-id")),"blockEmbed")}else copyTextByType([e.block.rootID],"blockEmbed");return t.preventDefault(),t.stopPropagation(),!0}},ed=e=>{const t=e.protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(t.length>0)e.event.stopPropagation(),e.event.preventDefault();else{const i=hasClosestByTag(e.range.startContainer,"TD")||hasClose
486stByTag(e.range.startContainer,"TH")||getContenteditableElement(e.nodeElement)||e.nodeElement,s=getSelectionOffset(i,e.editorElement,e.range).start,o=i.innerText,l=matchHotKey(window.siyuan.config.keymap.editor.general.expandUp.custom,e.event);if(!(!isMac()&&l)){if(s>0){o.substr(0,s).indexOf(`
487`)===-1&&e.range.getBoundingClientRect().top-i.getBoundingClientRect().top-parseInt(getComputedStyle(i).paddingTop)<14&&(setFirstNodeRange(i,e.range),e.event.preventDefault());return}}}e.range.collapse(!0),hideElements(["toolbar"],e.protyle),t.length===0?e.nodeElement.classList.add("protyle-wysiwyg--select"):e.cb(t);const n=[];e.protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select").forEach(a=>{n.push(a.getAttribute("data-node-id"))}),countBlockWord(n,e.protyle.block.rootID),e.event.stopPropagation(),e.event.preventDefault()},td=e=>{const t=e.protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(t.length>0)e.event.stopPropagation(),e.event.preventDefault();else{const a=hasClosestByTag(e.range.startContainer,"TD")||hasClosestByTag(e.range.startContainer,"TH"),i=a||getContenteditableElement(e.nodeElement)||e.nodeElement,s=getSelectionOffset(i,e.editorElement,e.range).end,o=i.innerText,l=matchHotKey(window.siyuan.config.keymap.editor.general.expandDown.custom,e.event);if(!(!isMac()&&l)){if(s<o.length){!getNextBlock(e.nodeElement)&&o.trimRight().substr(s).indexOf(`
488`)===-1&&i.getBoundingClientRect().bottom-e.range.getBoundingClientRect().bottom-parseInt(getComputedStyle(i).paddingBottom)<14?(setLastNodeRange(i,e.range,!1),e.nodeElement.classList.contains("code-block")&&l&&e.event.preventDefault()):a&&(setLastNodeRange(a,e.range,!1),e.event.preventDefault());return}}}e.range.collapse(!1),hideElements(["toolbar"],e.protyle),t.length===0?e.nodeElement.classList.add("protyle-wysiwyg--select"):e.cb(t);const n=[];e.protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select").forEach(a=>{n.push(a.getAttribute("data-node-id"))}),countBlockWord(n,e.protyle.block.rootID),e.event.stopPropagation(),e.event.preventDefault()},nd=e=>{let t,n;return e.forEach(a=>{a.getAttribute("select-start")&&(t=a),a.getAttribute("select-end")&&(n=a)}),t||(t=e[0],t.setAttribute("select-start","true")),n||(n=e[e.length-1],n.setAttribute("select-end","true")),{startElement:t,endElement:n}},ad=(e,t)=>{let n;const a=[],i=[];let s;if(e[e.length-1].classList.contains("li")&&e[e.length-1].getAttribute("data-subtype")==="o"&&(s=parseInt(e[e.length-1].getAttribute("data-marker"),10)),e.reverse().forEach((o,l)=>{var r;const c=o.cloneNode(!0);l===0&&(n=c);const f=Lute.NewNodeID();if(c.setAttribute("data-node-id",f),c.removeAttribute(Constants.CUSTOM_RIFF_DECKS),c.classList.remove("protyle-wysiwyg--hl"),c.setAttribute("updated",f.split("-")[0]),c.removeAttribute("refcount"),(r=c.lastElementChild.querySelector(".protyle-attr--refcount"))==null||r.remove(),c.querySelectorAll("[data-node-id]").forEach(d=>{var u;const g=Lute.NewNodeID();d.setAttribute("data-node-id",g),d.removeAttribute(Constants.CUSTOM_RIFF_DECKS),d.classList.remove("protyle-wysiwyg--hl"),d.setAttribute("updated",g.split("-")[0]),d.removeAttribute("refcount"),(u=d.lastElementChild.querySelector(".protyle-attr--refcount"))==null||u.remove()}),o.classList.remove("protyle-wysiwyg--select"),typeof s=="number"){const d=s+(e.length-l);c.setAttribute("data-marker",d+"."),c.querySelector(".protyle-action--order").textContent=d+"."}e[0].after(processClonePHElement(c)),a.push({action:"insert",data:c.outerHTML,id:f,previousID:e[0].getAttribute("data-node-id")}),i.push({action:"delete",id:f})}),typeof s=="number"){let o=n.nextElementSibling;for(s=s+e.length;o&&o.getAttribute("data-subtype")==="o";){s++;const l=o.getAttribute("data-node-id");i.push({action:"update",id:l,data:o.outerHTML}),o.setAttribute("data-marker",s+"."),o.querySelector(".protyle-action--order").textContent=s+".",a.push({action:"update",data:o.outerHTML,id:l}),o=o.nextElementSibling}}transaction(t,a,i),focusBlock(n),scrollCenter(t)},sd=e=>{e.wysiwyg.element.firstElementChild.getAttribute("data-node-index")==="0"||e.wysiwyg.element.firstElementChild.getAttribute("data-eof")==="1"||e.options.backlinkData?(focusBlock(e.wysiwyg.element.firstElementChild),e.contentElement.scrollTop=0,e.scroll.lastScrollTop=1):fetchPost("/api/filetree/getDoc",{id:e.block.rootID,mode:0,size:window.siyuan.config.editor.dynamicLoadBlocks},t=>{onGet({data:t,protyle:e,action:[Constants.CB_GET_FOCUS]})})},id=e=>{!e.scroll.element.classList.contains("fn__none")&&e.wysiwyg.element.lastElementChild.getAttribute("data-eof")!=="2"?fetchPost("/api/filetree/getDoc",{id:e.block.rootID,mode:4,size:window.siyuan.config.editor.dynamicLoadBlocks},t=>{onGet({data:t,protyle:e,action:[Constants.CB_GET_FOCUS],afterCB(){focusBlock(e.wysiwyg.element.lastElementChild,void 0,!1)}})}):(e.contentElement.scrollTop=e.contentElement.scrollHeight,e.scroll.lastScrollTop=e.contentElement.scrollTop,focusBlock(e.wysiwyg.element.lastElementChild,void 0,!1))},od=(e,t,n,a,i)=>{t.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),n.forEac
488h(s=>{s.style.minWidth="calc(100% - 0.1em)"}),updateTransaction(e,a,t.outerHTML,i)},ld=(e,t,n,a,i)=>{t.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),n.forEach(s=>{s.removeAttribute("style")}),updateTransaction(e,a,t.outerHTML,i)};class rd{constructor(t){this.parentElement=document.createElement("div"),this.parentElement.classList.add("protyle-scroll"),this.parentElement.innerHTML=`<div class="protyle-scroll__up ariaLabel" data-position="north" aria-label="${updateHotkeyTip("\u2318Home")}">
489    <svg><use xlink:href="#iconUp"></use></svg>
490</div>
491<div class="fn__none protyle-scroll__bar ariaLabel" data-position="2west" aria-label="Blocks 1/1">
492    <input class="b3-slider" type="range" max="1" min="1" step="1" value="1" />
493</div>
494<div class="protyle-scroll__down ariaLabel" aria-label="${updateHotkeyTip("\u2318End")}">
495    <svg><use xlink:href="#iconDown"></use></svg>
496</div>`,this.element=this.parentElement.querySelector(".protyle-scroll__bar"),this.keepLazyLoad=!1,t.options.render.scroll||this.parentElement.classList.add("fn__none"),this.lastScrollTop=0,this.inputElement=this.element.firstElementChild,this.inputElement.addEventListener("input",()=>{this.element.setAttribute("aria-label",`Blocks ${this.inputElement.value}/${t.block.blockCount}`),showTooltip(this.element.getAttribute("aria-label"),this.element)}),this.inputElement.addEventListener("change",()=>{this.setIndex(t)}),this.inputElement.addEventListener("touchend",()=>{this.setIndex(t)}),this.parentElement.addEventListener("click",n=>{const a=n.target;hasClosestByClassName(a,"protyle-scroll__up")?goHome(t):hasClosestByClassName(a,"protyle-scroll__down")?goEnd(t):a.classList.contains("b3-slider")&&this.setIndex(t)}),this.parentElement.addEventListener("mousewheel",n=>{n.deltaY!==0&&t.scroll.lastScrollTop!==-1&&(t.contentElement.scrollTop+=n.deltaY)},{passive:!0})}setIndex(t){t.wysiwyg.element.getAttribute("data-top")||(t.wysiwyg.element.setAttribute("data-top",t.wysiwyg.element.scrollTop.toString()),t.contentElement.style.overflow="hidden",fetchPost("/api/filetree/getDoc",{index:parseInt(this.inputElement.value),id:t.block.parentID,mode:0,size:window.siyuan.config.editor.dynamicLoadBlocks},n=>{onGet({data:n,protyle:t,action:[Constants.CB_GET_FOCUSFIRST,Constants.CB_GET_UNCHANGEID],afterCB:()=>{setTimeout(()=>{t.contentElement.style.overflow=""},Constants.TIMEOUT_INPUT),showTooltip(this.element.getAttribute("aria-label"),this.element)}})}))}updateIndex(t,n,a){fetchPost("/api/block/getBlockIndex",{id:n},i=>{if(!i.data)return;const s=t.scroll.element.querySelector(".b3-slider");s.value=i.data,t.scroll.element.setAttribute("aria-label",`Blocks ${i.data}/${t.block.blockCount}`),a&&a(i.data)})}update(t){typeof t.block.blockCount=="number"&&(this.inputElement.setAttribute("max",t.block.blockCount.toString()),this.element.setAttribute("aria-label",`Blocks ${this.inputElement.value}/${t.block.blockCount}`)),t.block.showAll?this.element.classList.add("fn__none"):t.block.scroll&&!t.contentElement.classList.contains("fn__none")?this.element.classList.remove("fn__none"):this.element.classList.add("fn__none")}}class cd{constructor(t){this.app=t.app,t.msgCallback&&this.connect(t)}connect(t){const n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}/ws`,a=new WebSocket(`${n}?app=${Constants.SIYUAN_APPID}&id=${t.id}${t.type?"&type="+t.type:""}`);a.onopen=()=>{t.callback&&t.callback.call(this),document.getElementById("errorLog")&&(reloadSync(this.app,{upsertRootIDs:[],removeRootIDs:[]}),window.siyuan.dialogs.find(s=>{if(s.element.id==="errorLog")return s.destroy(),!0}))},a.onmessage=i=>{if(t.msgCallback){const s=processMessage(JSON.parse(i.data));t.msgCallback.call(this,s)}},a.onclose=i=>{0<=i.reason.indexOf("unauthenticated")||0>i.reason.indexOf("close websocket")&&(console.warn("WebSocket is closed. Reconnect will be attempted in 3 second.",i),setTimeout(()=>{this.connect({id:t.id,type:t.type,msgCallback:t.msgCallback})},3e3))},a.onerror=i=>{i.target.url.endsWith("&type=main")&&i.target.readyState===3&&kernelError()},this.ws=a}send(t,n,a=!1){this.ws&&(this.reqId=a?0:new Date().getTime(),this.ws.send(JSON.stringify({cmd:t,reqId:this.reqId,param:n})))}}var rn=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const mo=e=>{const t=e.dataset.type;let n="";if(["NodeHeading","NodeParagraph"].includes(t))n=getContenteditableElement(e).innerHTML;else if(t==="NodeHTMLBlock")n="HTML";else if(t==="NodeAttributeView")n=e.querySelector(".av__title").textContent||window.siyuan.languages.database;else if(t==="NodeThematicBreak")n=window.siyuan.languages.line;
496else if(t==="NodeIFrame")n="IFrame";else if(t==="NodeWidget")n=window.siyuan.languages.widget;else if(t==="NodeVideo")n=window.siyuan.languages.video;else if(t==="NodeAudio")n=window.siyuan.languages.audio;else if(["NodeCodeBlock","NodeTable"].includes(t))n=Ja(e);else if(e.classList.contains("render-node"))n+=e.dataset.subtype||Lute.UnEscapeHTMLStr(e.getAttribute("data-content"));else if(["NodeBlockquote","NodeList","NodeSuperBlock","NodeListItem"].includes(t)&&(Array.from(e.querySelectorAll("[data-node-id]")).find(a=>{if(!["NodeBlockquote","NodeList","NodeSuperBlock","NodeListItem"].includes(a.getAttribute("data-type")))return n=mo(e.querySelector("[data-node-id]")),!0}),n))return n;return n+` <span data-type="block-ref" data-subtype="s" data-id="${e.getAttribute("data-node-id")}">*</span>`},Ja=(e,t=!1)=>{let n="";const a=e.dataset.type;return a==="NodeHTMLBlock"?n+=Lute.UnEscapeHTMLStr(e.querySelector("protyle-html").getAttribute("data-content")):a==="NodeAttributeView"?(e.querySelectorAll(".av__row").forEach(i=>{i.querySelectorAll(".av__cell").forEach(s=>{n+=getCellText(s)+" "}),n+=`
497`}),n=n.trimEnd()):a==="NodeThematicBreak"?n+="---":a==="NodeIFrame"||a==="NodeWidget"?n+=e.querySelector("iframe").getAttribute("src"):a==="NodeVideo"?n+=e.querySelector("video").getAttribute("src"):a==="NodeAudio"?n+=e.querySelector("audio").getAttribute("src"):e.classList.contains("render-node")?n+=Lute.UnEscapeHTMLStr(e.getAttribute("data-content")):["NodeHeading","NodeParagraph","NodeCodeBlock"].includes(a)?n+=e.querySelector("[spellcheck]").textContent:a==="NodeTable"?(e.querySelectorAll("th, td").forEach(i=>{n+=i.textContent.trim()+"	",i.nextElementSibling||(n=n.slice(0,-1)+`
498`)}),n=n.slice(0,-1)):!t&&["NodeBlockquote","NodeList","NodeSuperBlock","NodeListItem"].includes(a)&&e.querySelectorAll("[data-node-id]").forEach(i=>{const s=Ja(i,!0);n+=s?s+`
499`:""}),n},dd=(e,t)=>rn(void 0,null,function*(){try{let n=yield readText();n=n.replace(/<span data-type="text".*?>(.*?)<\/span>/g,"$1"),n=n.replace(/\\/g,"\\\\").replace(/\*/g,"\\*").replace(/_/g,"\\_").replace(/\[/g,"\\[").replace(/]/g,"\\]").replace(/!/g,"\\!").replace(/`/g,"\\`").replace(/</g,"\\<").replace(/>/g,"\\>").replace(/&/g,"\\&").replace(/~/g,"\\~").replace(/\{/g,"\\{").replace(/}/g,"\\}").replace(/\(/g,"\\(").replace(/\)/g,"\\)").replace(/=/g,"\\=").replace(/#/g,"\\#").replace(/\$/g,"\\$").replace(/\^/g,"\\^").replace(/\|/g,"\\|").replace(/\./g,"\\."),ho(e,{textPlain:n,textHTML:"",target:t})}catch(n){console.log(n)}}),cn=(e,t)=>{let n=!0;e.options.hint.extend.find(a=>{if(a.key===t)return n=!1,!0}),n&&e.hint.render(e)},ud=e=>rn(void 0,null,function*(){if([].length===0){let n=yield readText();if(getSelection().rangeCount>0){const i=getSelection().getRangeAt(0);if(hasClosestByAttribute(i.startContainer,"data-type","code")||hasClosestByClassName(i.startContainer,"hljs")){insertHTML(n.replace(/\u200D```/g,"```").replace(/```/g,"\u200D```"),e);return}}n=n.replace(/<sub>/g,"__@sub@__").replace(/<\/sub>/g,"__@/sub@__"),n=n.replace(/<sup>/g,"__@sup@__").replace(/<\/sup>/g,"__@/sup@__"),n=n.replace(/<kbd>/g,"__@kbd@__").replace(/<\/kbd>/g,"__@/kbd@__"),n=n.replace(/<u>/g,"__@u@__").replace(/<\/u>/g,"__@/u@__"),n=n.replace(/<span data-type="text".*?>(.*?)<\/span>/g,"$1"),n=n.replace(/</g,";;;lt;;;").replace(/>/g,";;;gt;;;"),n=n.replace(/__@sub@__/g,"<sub>").replace(/__@\/sub@__/g,"</sub>"),n=n.replace(/__@sup@__/g,"<sup>").replace(/__@\/sup@__/g,"</sup>"),n=n.replace(/__@kbd@__/g,"<kbd>").replace(/__@\/kbd@__/g,"</kbd>"),n=n.replace(/__@u@__/g,"<u>").replace(/__@\/u@__/g,"</u>"),bo(e);const a=e.lute.BlockDOM2EscapeMarkerContent(e.lute.Md2BlockDOM(n));yo(e),insertHTML(a,e,!1,!1,!0),cn(e,n)}}),bo=e=>{e.lute.SetInlineAsterisk(!0),e.lute.SetGFMStrikethrough(!0),e.lute.SetInlineMath(!0),e.lute.SetSub(!0),e.lute.SetSup(!0),e.lute.SetTag(!0),e.lute.SetInlineUnderscore(!0)},yo=e=>{e.lute.SetInlineAsterisk(window.siyuan.config.editor.markdown.inlineAsterisk),e.lute.SetGFMStrikethrough(window.siyuan.config.editor.markdown.inlineStrikethrough),e.lute.SetInlineMath(window.siyuan.config.editor.markdown.inlineMath),e.lute.SetSub(window.siyuan.config.editor.markdown.inlineSub),e.lute.SetSup(window.siyuan.config.editor.markdown.inlineSup),e.lute.SetTag(window.siyuan.config.editor.markdown.inlineTag),e.lute.SetInlineUnderscore(window.siyuan.config.editor.markdown.inlineUnderscore),e.lute.SetMark(window.siyuan.config.editor.markdown.inlineMark)},fd=(e,t)=>rn(void 0,null,function*(){if(e&&e.app&&e.app.plugins)for(let n=0;n<e.app.plugins.length;n++){const a=yield new Promise(i=>{e.app.plugins[n].eventBus.emit("paste",{protyle:e,resolve:i,textHTML:"",textPlain:"",siyuanHTML:"",files:t})&&i(void 0)});a!=null&&a.files&&(t=a.files)}uploadLocalFiles(t,e,!0)}),ho=(e,t)=>rn(void 0,null,function*(){("clipboardData"in t||"dataTransfer"in t)&&(t.stopPropagation(),t.preventDefault());let n,a,i,s;if("clipboardData"in t?(n=t.clipboardData.getData("text/html"),a=t.clipboardData.getData("text/plain"),i=t.clipboardData.getData("text/siyuan"),s=t.clipboardData.files):"dataTransfer"in t?(n=t.dataTransfer.getData("text/html"),a=t.dataTransfer.getData("text/plain"),i=t.dataTransfer.getData("text/siyuan"),t.dataTransfer.types[0]==="Files"&&(s=t.dataTransfer.items)):(n=t.textHTML,a=t.textPlain,s=t.files),a=a.replace(/\r\n|\r|\u2028|\u2029/g,`
500`),(n.replace(/&amp;/g,"&").replace(/<(|\/)(html|body|meta)[^>]*?>/ig,"").trim()===`<a href="${a}">${a}</a>`||n.replace(/&amp;/g,"&").replace(/<(|\/)(html|body|meta)[^>]*?>/ig,"").trim()===`<!--StartFragment--><a href="${a}">${a}</a><!--EndFragment-->`)&&(n=""),a.endsWith(Constants.ZWSP)&&!n&&!i&&(i=a.substr(0,a.length-1)),!i){const f=new DOMParser().parseFromString(n,"text/html");f.body&&f.body.innerHTML&&(n=f.body.innerHTML),n.startsWith(`
501<!--StartFragment-->`)&&n.endsWith(`<!--EndFragment-->
502
503`)&&(n=f.body.innerHTML.trim().replace("<!--StartFragment-->","").replace("<!--EndFragment-->","")),n=Lute.Sanitize(n)}if(e&&e.app&&e.app.plugins)for(let f=0;f<e.app.plugins.length;f++){const d=yield new Promise(u=>{e.app.plugins[f].eventBus.emit("paste",{protyle:e,resolve:u,textHTML:n,textPlain:a,siyuanHTML:i,files:s})&&u(void 0)});d!=null&&d.textHTML&&(n=d.textHTML),d!=null&&d.textPlain&&(a=d.textPlain),d!=null&&d.siyuanHTML&&(i=d.siyuanHTML),d!=null&&d.files&&(s=d.files)}const o=hasClosestBlock(t.target);if(!o){s&&s.length>0&&uploadFiles(e,s);return}hideElements(["select"],e),e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--hl").forEach(f=>{f.classList.remove("protyle-wysiwyg--hl")});const l=processPasteCode(n,a),r=getEditorRange(e.wysiwyg.element);if(o.getAttribute("data-type")==="NodeCodeBlock"||e.toolbar.getCurrentType(r).includes("code")){insertHTML(a.replace(/\u200D```/g,"```").replace(/```/g,"\u200D```"),e);return}else if(i){const f=document.createElement("div");if(f.innerHTML=i,r.toString()){let g=[],p;if(f.childNodes.length===1&&f.childElementCount===1&&(g=(f.firstElementChild.getAttribute("data-type")||"").split(" "),(g.includes("block-ref")||g.includes("a"))&&(p=f.firstElementChild)),!p){const m=d
503ocument.createElement("template");m.innerHTML=e.lute.SpinBlockDOM(i),m.content.firstChild.nodeType!==3&&m.content.firstElementChild.classList.contains("p")&&(m.innerHTML=m.content.firstElementChild.firstElementChild.innerHTML.trim()),m.content.childNodes.length===1&&m.content.childElementCount===1&&(g=(m.content.firstElementChild.getAttribute("data-type")||"").split(" "),(g.includes("block-ref")||g.includes("a"))&&(p=m.content.firstElementChild))}if(g.includes("block-ref")){e.toolbar.setInlineMark(e,"block-ref","range",{type:"id",color:`${p.dataset.id}${Constants.ZWSP}s${Constants.ZWSP}${r.toString()}`});return}if(g.includes("a")){e.toolbar.setInlineMark(e,"a","range",{type:"a",color:`${p.dataset.href}${Constants.ZWSP}${r.toString()}`});return}}let d=!1;f.querySelectorAll("[data-node-id]").forEach(g=>{const p=Lute.NewNodeID();g.setAttribute("data-node-id",p),g.removeAttribute(Constants.CUSTOM_RIFF_DECKS),g.classList.remove("protyle-wysiwyg--select","protyle-wysiwyg--hl"),g.setAttribute("updated",p.split("-")[0]),g.removeAttribute("refcount"),d=!0}),o.classList.contains("table")&&(d=!1),f.querySelectorAll('[contenteditable="false"][spellcheck]').forEach(g=>{g.setAttribute("contenteditable","true")});let u=f.innerHTML;if(!o.classList.contains("av")&&u.startsWith("[[{")&&u.endsWith("}]]"))try{const g=JSON.parse(u);g.length>0&&g[0].length>0&&g[0][0].id&&g[0][0].type?insertHTML(a,e,d):insertHTML(u,e,d)}catch(g){insertHTML(u,e,d)}else-1<u.indexOf("NodeHTMLBlock")&&(u=Lute.UnEscapeHTMLStr(u)),u=u.replace(/\u200D```/g,"```"),insertHTML(u,e,d,!1,!0);cn(e,e.lute.BlockDOM2StdMd(u)),blockRender(e,e.wysiwyg.element),processRender(e.wysiwyg.element),highlightRender(e.wysiwyg.element),avRender(e.wysiwyg.element,e)}else if(l)l.startsWith('<div data-type="NodeCodeBlock" class="code-block" data-node-id="')?(insertHTML(l,e,!0,!1,!0),highlightRender(e.wysiwyg.element)):insertHTML(l,e),hideElements(["hint"],e);else{let f=!1;if(n.replace("<!--StartFragment--><!--EndFragment-->","").trim()!==""){n=n.replace("<!--StartFragment-->","").replace("<!--EndFragment-->","").trim(),s&&s.length===1&&(n.startsWith("<img")||n.startsWith("<table")&&n.indexOf("<img")>-1)?f=!1:f=!0;const d=n.toLowerCase();a&&a.trim()!==""&&(n.startsWith("<span")||n.startsWith("<br"))&&0>d.indexOf('class="katex')&&0>d.indexOf('class="math')&&0>d.indexOf("</a>")&&0>d.indexOf("</img>")&&0>d.indexOf("</b>")&&0>d.indexOf("</strong>")&&0>d.indexOf("</i>")&&0>d.indexOf("</em>")&&0>d.indexOf("</ol>")&&0>d.indexOf("</ul>")&&0>d.indexOf("</table>")&&0>d.indexOf("</blockquote>")&&0>d.indexOf("</h1>")&&0>d.indexOf("</h2>")&&0>d.indexOf("</h3>")&&0>d.indexOf("</h4>")&&0>d.indexOf("</h5>")&&0>d.indexOf("</h6>")&&(f=!1)}if(f){const d=document.createElement("div");d.innerHTML=n,d.querySelectorAll("[style]").forEach(g=>{g.removeAttribute("style")}),d.querySelectorAll("a").forEach(g=>{g.innerHTML.trim()===""&&g.remove()});let u;if(d.childElementCount===1&&d.childNodes.length===1&&(d.firstElementChild.tagName==="A"?u=d.firstElementChild:d.firstElementChild.tagName==="P"&&d.firstElementChild.childElementCount===1&&d.firstElementChild.childNodes.length===1&&d.firstElementChild.firstElementChild.tagName==="A"&&(u=d.firstElementChild.firstElementChild)),u){e.toolbar.setInlineMark(e,"a","range",{type:"a",color:`${u.getAttribute("href")}${Constants.ZWSP}${r.toString()||u.textContent}`});return}fetchPost("/api/lute/html2BlockDOM",{dom:d.innerHTML},g=>{insertHTML(g.data,e,!1,!1,!0),e.wysiwyg.element.querySelectorAll('[data-type~="block-ref"]').forEach(p=>{p.textContent===""&&fetchPost("/api/block/getRefText",{id:p.getAttribute("data-id")},m=>{p.innerHTML=m.data})}),blockRender(e,e.wysiwyg.element),processRender(e.wysiwyg.element),highlightRender(e.wysiwyg.element),avRender(e.wysiwyg.element,e),cn(e,g.data),scrollCenter(e,void 0,!1,"smooth")});return}else if(s&&s.length>0){uploadFiles(e,s);return}else if(a.trim()!==""&&(s&&s.length===0||!s)){if(r.toString()!==""){const u=a.split(`
504`)[0];if(isDynamicRef(a)){e.toolbar.setInlineMark(e,"block-ref","range",{type:"id",color:`${a.substring(2,24)}${Constants.ZWSP}s${Constants.ZWSP}${r.toString()}`});return}else if(isFileAnnotation(u)){e.toolbar.setInlineMark(e,"file-annotation-ref","range",{type:"file-annotation-ref",color:u.substring(2).replace(/ ".+">>$/,"")});return}else{const g=a.startsWith("assets/")?a:e.lute.GetLinkDest(a);if(g){e.toolbar.setInlineMark(e,"a","range",{type:"a",color:g});return}}}a=a.replace(/\u200D```/g,"```");const d=e.lute.Md2BlockDOM(a);insertHTML(d,e,!1,!1,!0),cn(e,a)}blockRender(e,e.wysiwyg.element),processRender(e.wysiwyg.element),highlightRender(e.wysiwyg.element),avRender(e.wysiwyg.element,e)}const c=o.querySelector(".av__cell--select");o.classList.contains("av")&&c?cellScrollIntoView(o,c):scrollCenter(e,void 0,!1,"smooth")});var dn=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const Qa=(e,t,n,a,i,s,o)=>{let l;const r=n.getAttribute("data-node-id"),c=a.getAttribute("data-node-id"),f=[],d=[];return n.insertAdjacentElement(s?"afterend":"beforebegin",a),s?f.push({action:"insert",data:a.outerHTML,id:c,previousID:r}):f.push({action:"insert",data:a.outerHTML,id:c,nextID:r}
504),t.reverse().forEach((u,g)=>{var p;const m=u.getAttribute("data-node-id");g===t.length-1&&(l=getTopAloneElement(u),l.isSameNode(u)&&(l=void 0,Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${u.getAttribute("data-node-id")}"]`)).find(E=>{if(!isInEmbedBlock(E)&&E.parentElement.querySelectorAll(".li").length===1)return l=E.parentElement,!0})));const b=Lute.NewNodeID();if(o?d.push({action:"delete",id:b}):d.push({action:"move",id:m,previousID:(p=u.previousElementSibling)==null?void 0:p.getAttribute("data-node-id"),parentID:u.parentElement.getAttribute("data-node-id")||e.block.rootID}),!i&&!o){const E=e.wysiwyg.element.querySelector(`[data-node-id="${m}"]`);E&&E.remove()}if(o){const E=u.cloneNode(!0);E.setAttribute("data-node-id",b),E.querySelectorAll("[data-node-id]").forEach(k=>{const A=Lute.NewNodeID();k.setAttribute("data-node-id",A),k.setAttribute("updated",A.split("-")[0])}),a.insertAdjacentElement("afterbegin",E),f.push({action:"insert",id:b,data:E.outerHTML,parentID:c})}else a.insertAdjacentElement("afterbegin",u),f.push({action:"move",id:m,parentID:c})}),d.reverse(),a.getAttribute("data-subtype")==="o"&&(d.splice(0,0,{action:"update",id:c,data:a.outerHTML}),updateListOrder(a,1),f.push({action:"update",id:c,data:a.outerHTML})),d.push({action:"delete",id:c}),{doOperations:f,undoOperations:d,topSourceElement:l}},es=(e,t,n,a,i,s)=>dn(void 0,null,function*(){let o;const l=[],r=[],c=[],f=n.getAttribute("data-node-id");let d=n;t.reverse().forEach((u,g)=>{var p,m,b,E,k;const A=u.getAttribute("data-node-id"),v=u.parentElement.getAttribute("data-node-id")||e.block.rootID;g===t.length-1&&(o=getTopAloneElement(u),o.isSameNode(u)?o=void 0:o.contains(u)&&o.contains(n)&&(o=n)),s&&u.getAttribute("data-type")==="NodeHeading"&&u.getAttribute("fold")==="1"&&(u.removeAttribute("fold"),c.push({id:A,parentID:v}));let w,y;if(s?(w=Lute.NewNodeID(),r.push({action:"delete",id:w})):r.push({action:"move",id:A,previousID:(p=u.previousElementSibling)==null?void 0:p.getAttribute("data-node-id"),parentID:v}),!a&&!s){const h=e.wysiwyg.element.querySelector(`[data-node-id="${A}"]`);h&&h.remove()}s?(y=u.cloneNode(!0),y.setAttribute("data-node-id",w),y.querySelectorAll("[data-node-id]").forEach(h=>{const _=Lute.NewNodeID();h.setAttribute("data-node-id",_),h.setAttribute("updated",_.split("-")[0])}),d.insertAdjacentElement(i,y),l.push({action:"insert",id:w,data:y.outerHTML,previousID:i==="afterend"?f:(m=y.previousElementSibling)==null?void 0:m.getAttribute("data-node-id"),parentID:((b=y.parentElement)==null?void 0:b.getAttribute("data-node-id"))||e.block.parentID||e.block.rootID})):(d.insertAdjacentElement(i,u),l.push({action:"move",id:A,previousID:i==="afterend"?f:(E=u.previousElementSibling)==null?void 0:E.getAttribute("data-node-id"),parentID:((k=u.parentElement)==null?void 0:k.getAttribute("data-node-id"))||e.block.parentID||e.block.rootID})),i!=="afterend"&&(d=s?y:u)}),r.reverse();for(let u=0;u<c.length;u++){const g=c[u];(yield fetchSyncPost("/api/block/getHeadingChildrenIDs",{id:g.id})).data.reverse().forEach(m=>{r.push({action:"move",id:m,previousID:g.id,parentID:g.parentID})}),r.push({action:"foldHeading",id:g.id,data:"remove"}),l.push({action:"unfoldHeading",id:g.id})}return{doOperations:l,undoOperations:r,topSourceElement:o}}),ts=(e,t,n,a,i,s)=>dn(void 0,null,function*(){var o,l,r,c,f,d;const u=e.element.contains(t[0]);let g;t[0].getAttribute("data-type")==="NodeListItem"&&n.getAttribute("data-type")!=="NodeListItem"&&(g=document.createElement("div"),g.setAttribute("data-node-id",Lute.NewNodeID()),g.setAttribute("data-type","NodeList"),g.setAttribute("data-subtype",t[0].getAttribute("data-subtype")),g.className="list",g.insertAdjacentHTML("beforeend",`<div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div>`));const p=[{action:"move",id:n.getAttribute("data-node-id"),previousID:(o=n.previousElementSibling)==null?void 0:o.getAttribute("data-node-id"),parentID:((l=n.parentElement)==null?void 0:l.getAttribute("data-node-id"))||e.block.parentID||e.block.rootID}];let m,b=t[0].parentElement;const E=genSBElement(i);n.parentElement.replaceChild(E,n);const k=[{action:"insert",data:E.outerHTML,id:E.getAttribute("data-node-id"),nextID:(r=E.nextElementSibling)==null?void 0:r.getAttribute("data-node-id"),previousID:(c=E.previousElementSibling)==null?void 0:c.getAttribute("data-node-id"),parentID:E.parentElement.getAttribute("data-node-id")||e.block.parentID||e.block.rootID}];let A=!1;if(g){const v=g.getAttribute("data-node-id");E.insertAdjacentElement("afterbegin",n),k.push({action:"move",id:n.getAttribute("data-node-id"),parentID:E.getAttribute("data-node-id")}),a?(n.insertAdjacentElement("afterend",g),k.push({action:"insert",data:g.outerHTML,id:v,previousID:n.getAttribute("data-node-id")})):(n.insertAdjacentElement("beforebegin",g),k.push({action:"insert",data:g.outerHTML,id:v,nextID:n.getAttribute("data-node-id")}
504)),t.reverse().forEach((w,y)=>{var h;y===t.length-1&&(m=getTopAloneElement(w),m.isSameNode(w)&&(m=void 0));const _=Lute.NewNodeID();if(s?p.push({action:"delete",id:_}):p.push({action:"move",id:w.getAttribute("data-node-id"),previousID:(h=w.previousElementSibling)==null?void 0:h.getAttribute("data-node-id"),parentID:w.parentElement.getAttribute("data-node-id")||e.block.rootID}),!u&&!s){const C=e.wysiwyg.element.querySelector(`[data-node-id="${w.getAttribute("data-node-id")}"]`);C&&C.remove()}if(s){const C=w.cloneNode(!0);C.setAttribute("data-node-id",_),C.querySelectorAll("[data-node-id]").forEach(L=>{const I=Lute.NewNodeID();L.setAttribute("data-node-id",I),L.setAttribute("updated",I.split("-")[0])}),g.insertAdjacentElement("afterbegin",C),k.push({action:"insert",id:_,data:C.outerHTML,parentID:v})}else g.insertAdjacentElement("afterbegin",w),k.push({action:"move",id:w.getAttribute("data-node-id"),parentID:v})}),p.reverse(),p.push({action:"delete",id:v})}else{const v=[];let w;t.reverse().forEach((y,h)=>{var _;const C=y.getAttribute("data-node-id"),L=y.parentElement.getAttribute("data-node-id")||e.block.rootID;h===t.length-1&&(m=getTopAloneElement(y),m.isSameNode(y)&&(m=void 0));const I=Lute.NewNodeID();if(h===0&&(w=s?I:C),y.getAttribute("data-type")==="NodeHeading"&&y.getAttribute("fold")==="1"&&(s&&(y.removeAttribute("fold"),v.push({id:C,parentID:L})),A=!0),s?p.push({action:"delete",id:I}):p.push({action:"move",id:C,previousID:(_=y.previousElementSibling)==null?void 0:_.getAttribute("data-node-id"),parentID:L}),!u&&!s){const S=e.wysiwyg.element.querySelector(`[data-node-id="${C}"]`);S&&S.remove()}if(s){const S=y.cloneNode(!0);S.setAttribute("data-node-id",I),S.querySelectorAll("[data-node-id]").forEach(x=>{const M=Lute.NewNodeID();x.setAttribute("data-node-id",M),x.setAttribute("updated",M.split("-")[0])}),E.insertAdjacentElement("afterbegin",S),k.push({action:"insert",id:I,data:S.outerHTML,parentID:E.getAttribute("data-node-id")})}else E.insertAdjacentElement("afterbegin",y),k.push({action:"move",id:C,parentID:E.getAttribute("data-node-id")})}),p.reverse();for(let y=0;y<v.length;y++){const h=v[y],_=yield fetchSyncPost("/api/block/getHeadingChildrenIDs",{id:h.id});_.data.reverse().forEach(C=>{p.push({action:"move",id:C,previousID:h.id,parentID:h.parentID})}),y===0&&(w=_.data[0]),p.push({action:"foldHeading",id:h.id,data:"remove"}),k.push({action:"unfoldHeading",id:h.id})}a?(E.insertAdjacentElement("afterbegin",n),k.push({action:"move",id:n.getAttribute("data-node-id"),parentID:E.getAttribute("data-node-id")})):(E.lastElementChild.insertAdjacentElement("beforebegin",n),k.push({action:"move",id:n.getAttribute("data-node-id"),previousID:w}))}if(p.push({action:"delete",id:E.getAttribute("data-node-id")}),!s&&b&&b.classList.contains("list")&&b.getAttribute("data-subtype")==="o"&&!b.isSameNode(t[0].parentElement)&&b.childElementCount>1&&(Array.from(b.children).forEach(v=>{v.classList.contains("protyle-attr")||p.splice(0,0,{action:"update",id:v.getAttribute("data-node-id"),data:v.outerHTML})}),updateListOrder(b,1),Array.from(b.children).forEach(v=>{v.classList.contains("protyle-attr")||k.push({action:"update",id:v.getAttribute("data-node-id"),data:v.outerHTML})})),!s&&m){if(k.push({action:"delete",id:m.getAttribute("data-node-id")}),p.splice(0,0,{action:"insert",data:m.outerHTML,id:m.getAttribute("data-node-id"),previousID:(f=m.previousElementSibling)==null?void 0:f.getAttribute("data-node-id"),parentID:((d=m.parentElement)==null?void 0:d.getAttribute("data-node-id"))||e.block.parentID||e.block.rootID}),!u){const v=e.wysiwyg.element.querySelector(`[data-node-id="${m.getAttribute("data-node-id")}"]`);v&&v.remove()}b=m.parentElement,m.remove()}if(!s&&b&&b.classList.contains("sb")&&b.childElementCount===2){if(u){const v=yield cancelSB(e,b);k.push(v.doOperations[0],v.doOperations[1]),p.splice(0,0,v.undoOperations[0],v.undoOperations[1])}}else!s&&b&&b.classList.contains("protyle-wysiwyg")&&b.innerHTML;u||s?transaction(e,k,p):transaction(e,k),!s&&i==="col"&&(n.getAttribute("data-type")==="NodeHeading"&&n.getAttribute("fold")==="1"&&turnsIntoOneTransaction({protyle:e,selectsElement:[n],type:"BlocksMergeSuperBlock",level:"row"}),(t.length>1||A)&&turnsIntoOneTransaction({protyle:e,selectsElement:t.reverse(),type:"BlocksMergeSuperBlock",level:"row"})),focusBlock(t[0])}),ns=(e,t,n,a,i)=>dn(void 0,null,function*(){var s,o;const l=e.element.contains(t[0]),r=[],c=[];let f;t[0].getAttribute("data-type")==="NodeListItem"&&n.getAttribute("data-type")!=="NodeListItem"&&(f=document.createElement("div"),f.setAttribute("data-node-id",Lute.NewNodeID()),f.setAttribute("data-type","NodeList"),f.setAttribute("data-subtype",t[0].getAttribute("data-subtype")),f.className="list",f.insertAdjacentHTML("beforeend",`<div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div>`));let d,u=t[0].parentElement;if(a)if(f){const p=Qa(e,t,n,f,l,a,i);r.push(...p.doOperations),c.push(...p.undoOperations),d=p.topSourceElement}else{const p=yield es(e,t,n,l,"afterend",i);r.push(...p.doOperations),c.push(...p.undoOperations),d=p.topSourceElement}else if(f){const p=Qa(e,t,n,f,l,a,i);r.push(...p.doOperations),c.push(...p.undoOperations),d=p.topSourceElement}else{const p=yield es(e,t,n,l,"beforebegin",i);r.push(...p.doOperations),c.push(...p.undoOperations),d=p.topSourceElement}if(n.getAttribute("data-type")==="NodeListItem"&&n.getAttribute("data-subtype")==="o"&&(Array.from(n.parentElement.children).forEac
504h(p=>{p.classList.contains("protyle-attr")||c.splice(0,0,{action:"update",id:p.getAttribute("data-node-id"),data:p.outerHTML})}),updateListOrder(n.parentElement,1),Array.from(n.parentElement.children).forEach(p=>{p.classList.contains("protyle-attr")||r.push({action:"update",id:p.getAttribute("data-node-id"),data:p.outerHTML})})),!i&&l&&u&&u.classList.contains("list")&&u.getAttribute("data-subtype")==="o"&&!u.isSameNode(t[0].parentElement)&&u.childElementCount>1&&(Array.from(u.children).forEach(p=>{p.classList.contains("protyle-attr")||(u.contains(n)?c.splice(0,0,{action:"update",id:p.getAttribute("data-node-id"),data:p.outerHTML}):c.splice(n.parentElement.childElementCount-1,0,{action:"update",id:p.getAttribute("data-node-id"),data:p.outerHTML}))}),updateListOrder(u,1),Array.from(u.children).forEach(p=>{p.classList.contains("protyle-attr")||r.push({action:"update",id:p.getAttribute("data-node-id"),data:p.outerHTML})})),!i&&d&&(r.push({action:"delete",id:d.getAttribute("data-node-id")}),c.splice(0,0,{action:"insert",data:d.outerHTML,id:d.getAttribute("data-node-id"),previousID:(s=d.previousElementSibling)==null?void 0:s.getAttribute("data-node-id"),parentID:((o=d.parentElement)==null?void 0:o.getAttribute("data-node-id"))||e.block.parentID||e.block.rootID}),u=d.parentElement,d.remove(),!l)){const p=e.wysiwyg.element.querySelector(`[data-node-id="${d.getAttribute("data-node-id")}"]`);p&&p.remove()}if(!i&&u&&u.classList.contains("sb")&&u.childElementCount===2){if(l){const p=yield cancelSB(e,u);r.push(p.doOperations[0],p.doOperations[1]),c.splice(0,0,p.undoOperations[0],p.undoOperations[1])}}else!i&&u&&u.classList.contains("protyle-wysiwyg")&&u.childElementCount;l||i?transaction(e,r,c):transaction(e,r);let g=!1;t.find(p=>{if(p.getAttribute("data-type")==="NodeHeading"&&p.getAttribute("fold")==="1")return g=!0,!0}),!i&&(t.length>1||g)&&t[0].parentElement.classList.contains("sb")&&t[0].parentElement.getAttribute("data-sb-layout")==="col"&&turnsIntoOneTransaction({protyle:e,selectsElement:t.reverse(),type:"BlocksMergeSuperBlock",level:"row"}),focusBlock(t[0])}),gd=(e,t)=>{t.addEventListener("dragstart",s=>{const o=s.target;if(o.tagName==="IMG"){window.siyuan.dragElement=void 0,s.preventDefault();return}if(o.classList){if(hasClosestByClassName(o,"protyle-wysiwyg__embed"))window.siyuan.dragElement=void 0,s.preventDefault();else if(o.classList.contains("protyle-action")){o.parentElement.classList.add("protyle-wysiwyg--select");const l=document.createElement("div");l.className=e.wysiwyg.element.className,l.append(processClonePHElement(o.parentElement.cloneNode(!0))),l.setAttribute("style",`position:fixed;opacity:.1;width:${o.parentElement.clientWidth}px;padding:0;`),document.body.append(l),s.dataTransfer.setDragImage(l,0,0),setTimeout(()=>{l.remove()}),window.siyuan.dragElement=e.wysiwyg.element,s.dataTransfer.setData(`${Constants.SIYUAN_DROP_GUTTER}NodeListItem${Constants.ZWSP}${o.parentElement.getAttribute("data-subtype")}${Constants.ZWSP}${[o.parentElement.getAttribute("data-node-id")]}`,e.wysiwyg.element.innerHTML);return}else if(o.classList.contains("av__cell--header")){window.siyuan.dragElement=o,s.dataTransfer.setData(`${Constants.SIYUAN_DROP_GUTTER}NodeAttributeView${Constants.ZWSP}Col${Constants.ZWSP}${[o.getAttribute("data-col-id")]}`,o.outerHTML);return}}s.dataTransfer.setData(Constants.SIYUAN_DROP_EDITOR,Constants.SIYUAN_DROP_EDITOR),e.element.style.userSelect="auto",document.onmousemove=null,document.onmouseup=null}),t.addEventListener("drop",s=>dn(void 0,null,function*(){var o,l,r,c,f;if(i=0,e.disabled||s.dataTransfer.getData(Constants.SIYUAN_DROP_EDITOR)){s.preventDefault(),s.stopPropagation();return}let d="";for(const g of s.dataTransfer.items)g.type.startsWith(Constants.SIYUAN_DROP_GUTTER)&&(d=g.type);const u=t.querySelector(".dragover__left, .dragover__right, .dragover__bottom, .dragover__top");if(u&&(u.classList.remove("dragover"),u.removeAttribute("select-start"),u.removeAttribute("select-end")),d){const g=[],p=d.replace(Constants.SIYUAN_DROP_GUTTER,"").split(Constants.ZWSP),m=p[2].split(",");if(s.altKey||s.shiftKey)if(s.y>e.wysiwyg.element.lastElementChild.getBoundingClientRect().bottom)insertEmptyBlock(e,"afterend",e.wysiwyg.element.lastElementChild.getAttribute("data-node-id"));else{const b=getRangeByPoint(s.clientX,s.clientY);if(hasClosestByAttribute(b.startContainer,"data-type","NodeBlockQueryEmbed"))return;focusByRange(b)}if(s.altKey){let b="";for(let E=0;E<m.length;E++){const k=yield fetchSyncPost("/api/block/getRefText",{id:m[E]});b+=e.lute.Md2BlockDOM(`((${m[E]} '${k.data}'))`)}insertHTML(b,e)}else if(s.shiftKey){let b="";m.forEach(E=>{b+=`{{select * from blocks where id='${E}'}}
505`}),insertHTML(e.lute.SpinBlockDOM(b),e,!0),blockRender(e,e.wysiwyg.element)}else if(u&&u.className.indexOf("dragover__")>-1){let b="";if(m.forEach(v=>{b+=`[data-node-id="${v}"],`}),window.siyuan.dragElement)window.siyuan.dragElement.querySelectorAll(b.substring(0,b.length-1)).forEac
505h(v=>{isInEmbedBlock(v)||g.push(v)});else if(window.siyuan.config.system.workspaceDir.toLowerCase()===p[3]){const v=document.createElement("template");v.innerHTML=`<div>${s.dataTransfer.getData(d)}</div>`,v.content.querySelectorAll(b.substring(0,b.length-1)).forEach(w=>{isInEmbedBlock(w)||g.push(w)})}const E=[],k=[];g.forEach(v=>{v.classList.remove("protyle-wysiwyg--hl"),v.removeAttribute("select-start"),v.removeAttribute("select-end"),v.querySelectorAll('[data-type="search-mark"]').forEach(y=>{y.outerHTML=y.innerHTML});const w=v.getAttribute("data-node-id");E.push(w),k.push({id:w,isDetached:!1})}),hideElements(["gutter"],e);const A=u.className.split(" ");if(u.classList.remove("dragover__bottom","dragover__top","dragover__left","dragover__right"),u.classList.contains("av__cell")){const v=hasClosestBlock(u);if(v){const w=v.getAttribute("data-av-id");let y="";A.includes("dragover__left")?u.previousElementSibling&&(u.previousElementSibling.classList.contains("av__colsticky")?y=u.previousElementSibling.lastElementChild.getAttribute("data-col-id"):y=u.previousElementSibling.getAttribute("data-col-id")):y=u.getAttribute("data-col-id");let h="";const _=hasClosestByClassName(u,"av__row");if(_){const C=(o=_.querySelector(`[data-col-id="${p[2]}"`))==null?void 0:o.previousElementSibling;C&&(C.classList.contains("av__colsticky")?h=C.lastElementChild.getAttribute("data-col-id"):h=C.getAttribute("data-col-id"))}y!==h&&y!==p[2]&&transaction(e,[{action:"sortAttrViewCol",avID:w,previousID:y,id:p[2],blockID:v.dataset.nodeId}],[{action:"sortAttrViewCol",avID:w,previousID:h,id:p[2],blockID:v.dataset.nodeId}])}}else if(u.classList.contains("av__row")){const v=hasClosestBlock(u);if(v){let w="";A.includes("dragover__bottom")?w=u.getAttribute("data-id")||"":w=((l=u.previousElementSibling)==null?void 0:l.getAttribute("data-id"))||"";const y=v.getAttribute("data-av-id");if(p[0]==="nodeattributeviewrowmenu"){const h=[],_=[],C=v.querySelector(`.av__row[data-id="${m[0]}"]`).previousElementSibling.getAttribute("data-id")||"";m.reverse().forEach(L=>{w!==L&&C!==w&&(h.push({action:"sortAttrViewRow",avID:y,previousID:w,id:L,blockID:v.dataset.nodeId}),_.push({action:"sortAttrViewRow",avID:y,previousID:C,id:L,blockID:v.dataset.nodeId}))}),transaction(e,h,_)}else{const h=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"insertAttrViewBlock",avID:y,previousID:w,srcs:k,blockID:v.dataset.nodeId},{action:"doUpdateUpdated",id:v.dataset.nodeId,data:h}],[{action:"removeAttrViewBlock",srcIDs:E,avID:y},{action:"doUpdateUpdated",id:v.dataset.nodeId,data:v.getAttribute("updated")}]),v.setAttribute("updated",h),insertAttrViewBlockAnimation(e,v,E,w)}}}else g.length>0&&(u.parentElement.getAttribute("data-type")==="NodeSuperBlock"&&u.parentElement.getAttribute("data-sb-layout")==="col"?A.includes("dragover__left")||A.includes("dragover__right")?ns(e,g,u,A.includes("dragover__right"),s.ctrlKey):ts(e,g,u,A.includes("dragover__bottom"),"row",s.ctrlKey):A.includes("dragover__left")||A.includes("dragover__right")?ts(e,g,u,A.includes("dragover__right"),"col",s.ctrlKey):ns(e,g,u,A.includes("dragover__bottom"),s.ctrlKey),t.querySelectorAll(".protyle-wysiwyg--empty").forEach(v=>{v.classList.remove("protyle-wysiwyg--empty")}),g.forEach(v=>{v.getAttribute("data-type")==="NodeBlockQueryEmbed"&&(v.removeAttribute("data-render"),blockRender(e,v))}),u.getAttribute("data-type")==="NodeBlockQueryEmbed"&&(u.removeAttribute("data-render"),blockRender(e,u)));n=void 0}}else if(((r=s.dataTransfer.getData(Constants.SIYUAN_DROP_FILE))==null?void 0:r.split("-").length)>1){const g=s.dataTransfer.getData(Constants.SIYUAN_DROP_FILE).split(",");
505if(!s.altKey&&(!u||!u.classList.contains("av__row"))){if(s.y>e.wysiwyg.element.lastElementChild.getBoundingClientRect().bottom)insertEmptyBlock(e,"afterend",e.wysiwyg.element.lastElementChild.getAttribute("data-node-id"));else{const m=getRangeByPoint(s.clientX,s.clientY);if(hasClosestByAttribute(m.startContainer,"data-type","NodeBlockQueryEmbed"))return;focusByRange(m)}let p="";for(let m=0;m<g.length;m++){g.length>1&&(p+="* ");const b=yield fetchSyncPost("/api/block/getRefText",{id:g[m]});p+=`((${g[m]} '${b.data}'))`,g.length>1&&m!==g.length-1&&(p+=`
506`)}insertHTML(e.lute.Md2BlockDOM(p),e)}else if(u&&!e.options.backlinkData&&u.className.indexOf("dragover__")>-1){const p=e.contentElement.scrollTop;if(u.classList.contains("av__row")){const m=hasClosestBlock(u);if(m){let b="";u.classList.contains("dragover__bottom")?b=u.getAttribute("data-id")||"":b=((c=u.previousElementSibling)==null?void 0:c.getAttribute("data-id"))||"";const E=m.getAttribute("data-av-id"),k=dayjs().format("YYYYMMDDHHmmss"),A=[];g.forEach(v=>{A.push({id:v,isDetached:!1})}),transaction(e,[{action:"insertAttrViewBlock",avID:E,previousID:b,srcs:A,blockID:m.dataset.nodeId},{action:"doUpdateUpdated",id:m.dataset.nodeId,data:k}],[{action:"removeAttrViewBlock",srcIDs:g,avID:E},{action:"doUpdateUpdated",id:m.dataset.nodeId,data:m.getAttribute("updated")}]),insertAttrViewBlockAnimation(e,m,g,b),m.setAttribute("updated",k)}}else{if(u.classList.contains("dragover__bottom"))for(let m=g.length-1;m>-1;m--)g[m]&&(yield fetchSyncPost("/api/filetree/doc2Heading",{srcID:g[m],after:!0,targetID:u.getAttribute("data-node-id")}));else for(let m=0;m<g.length;m++)g[m]&&(yield fetchSyncPost("/api/filetree/doc2Heading",{srcID:g[m],after:!1,targetID:u.getAttribute("data-node-id")}));fetchPost("/api/filetree/getDoc",{id:e.block.id,size:window.siyuan.config.editor.dynamicLoadBlocks},m=>{onGet({data:m,protyle:e}),setTimeout(()=>{e.contentElement.scrollTop=p,e.scroll.lastScrollTop=p-1},Constants.TIMEOUT_LOAD)})}u.classList.remove("dragover__bottom","dragover__top","dragover__left","dragover__right")}}else if(!window.siyuan.dragElement&&(s.dataTransfer.types[0]==="Files"||s.dataTransfer.types.includes("text/html"))){const g=hasClosestByClassName(s.target,"av");if(g){const p=hasClosestByClassName(s.target,"av__cell");if(p&&((f=g.querySelector(`.av__row--header [data-col-id="${p.dataset.colId}"]`))==null?void 0:f.getAttribute("data-dtype"))==="mAsset"&&s.dataTransfer.types[0]==="Files"&&!isBrowser()){const b=[];for(let E=0;E<s.dataTransfer.files.length;E++)b.push(webUtils.getPathForFile(s.dataTransfer.files[E]));dragUpload(b,e,p)}}else{if(focusByRange(getRangeByPoint(s.clientX,s.clientY)),s.dataTransfer.types[0]==="Files"&&!isBrowser()){const p=[];for(let m=0;m<s.dataTransfer.files.length;m++)p.push(webUtils.getPathForFile(s.dataTransfer.files[m]));uploadLocalFiles(p,e,!s.altKey)}else paste(e,s);e.wysiwyg.element.querySelectorAll(".av__cell--select, .av__cell--active").forEach(p=>{var m;p.classList.remove("av__cell--select","av__cell--active"),(m=p.querySelector(".av__drag-fill"))==null||m.remove()})}}window.siyuan.dragElement&&(window.siyuan.dragElement.style.opacity="",window.siyuan.dragElement=void 0)}));let n,a;t.addEventListener("dragover",s=>{var o,l,r;if(e.disabled||s.dataTransfer.types.includes(Constants.SIYUAN_DROP_EDITOR)){s.preventDefault(),s.stopPropagation(),s.dataTransfer.dropEffect="none";return}const c=e.contentElement.getBoundingClientRect();!hasClosestByClassName(s.target,"av__cell")&&(s.clientY<c.top+Constants.SIZE_SCROLL_TB||s.clientY>c.bottom-Constants.SIZE_SCROLL_TB)&&e.contentElement.scroll({top:e.contentElement.scrollTop+(s.clientY<c.top+Constants.SIZE_SCROLL_TB?-Constants.SIZE_SCROLL_STEP:Constants.SIZE_SCROLL_STEP),behavior:"smooth"});let f;if(s.dataTransfer.types.includes("Files")){if(f=hasClosestByClassName(s.target,"av__cell"),f&&f.getAttribute("data-dtype")==="mAsset"&&!f.classList.contains("av__cell--header")){if(s.preventDefault(),n&&f.isSameNode(n))return;hasClosestBlock(f)&&(e.wysiwyg.element.querySelectorAll(".av__cell--select, .av__cell--active").forEach(m=>{var b;m.classList.remove("av__cell--select","av__cell--active"),(b=m.querySelector(".av__drag-fill"))==null||b.remove()}),f.classList.add("av__cell--select"),addDragFill(f),n=f)}return}let d="";for(const p of s.dataTransfer.items)p.type.startsWith(Constants.SIYUAN_DROP_GUTTER)&&(d=p.type);if(!d&&!window.siyuan.dragElement){s.preventDefault();return}const u=s.dataTransfer.types.includes(Constants.SIYUAN_DROP_FILE)&&window.siyuan.dragElement?window.siyuan.dragElement.innerText:"";if(s.shiftKey||s.altKey&&u.indexOf("-")===-1){const p=hasClosestBlock(s.target);p?(p.classList.remove("dragover__top","protyle-wysiwyg--select","dragover__bottom","dragover__left","dragover__right"),p.removeAttribute("select-start"),p.removeAttribute("select-end")):t.querySelectorAll(".dragover__top, .protyle-wysiwyg--select, .dragover__bottom, .dragover__left, .dragover__right").forEach(m=>{m.classList.remove("dragover__top","protyle-wysiwyg--select","dragover__bottom","dragover__left","dragover__right"),m.removeAttribute("select-start"),m.removeAttribute("select-end")}),s.preventDefault();return}s.preventDefault(),f=hasClosestByClassName(s.target,"av__row")||hasClose
506stByClassName(s.target,"av__row--util")||hasClosestBlock(s.target);const g={x:s.clientX,y:s.clientY,className:""};if(f&&(f.classList.contains("bq")||f.classList.contains("sb")||f.classList.contains("list")||f.classList.contains("li"))){let p=hasClosestBlock(document.elementFromPoint(g.x,g.y-6));for(;p&&f.contains(p);)(o=p.nextElementSibling)!=null&&o.getAttribute("data-node-id")&&(f=p),p=p.parentElement}if(f)f&&f.classList.contains("list")&&(d&&d.replace(Constants.SIYUAN_DROP_GUTTER,"").split(Constants.ZWSP)[0]!=="nodelistitem"?f=hasClosestBlock(document.elementFromPoint(s.clientX,s.clientY-6)):f=hasClosestByClassName(document.elementFromPoint(s.clientX,s.clientY-6),"li"));else if(s.clientY>t.lastElementChild.getBoundingClientRect().bottom)f=t.lastElementChild,g.className="dragover__bottom";else if(s.clientY<t.firstElementChild.getBoundingClientRect().top)f=t.firstElementChild,g.className="dragover__top";else if(c){const p={left:c.left+parseInt(t.style.paddingLeft),right:c.left+e.contentElement.clientWidth-parseInt(t.style.paddingRight)};s.clientX<p.left?(g.x=p.left,g.className="dragover__left"):s.clientX>=p.right&&(g.x=p.right-6,g.className="dragover__right"),f=document.elementFromPoint(g.x,g.y),f.classList.contains("protyle-wysiwyg")&&(f=document.elementFromPoint(g.x,g.y-6)),f=hasTopClosestByAttribute(f,"data-node-id",null)}if(d&&d.startsWith(`${Constants.SIYUAN_DROP_GUTTER}NodeAttributeView${Constants.ZWSP}Col${Constants.ZWSP}`.toLowerCase())){if(f=hasClosestByClassName(s.target,"av__cell"),f){const p=hasClosestByClassName(f,"av__row--header"),m=hasClosestByClassName(window.siyuan.dragElement,"av__row--header");(f.isSameNode(window.siyuan.dragElement)||!p||!m||p&&m&&!p.isSameNode(m))&&(f=!1)}}else f&&d&&d.startsWith(`${Constants.SIYUAN_DROP_GUTTER}NodeAttributeViewRowMenu${Constants.ZWSP}`.toLowerCase())&&(!f.classList.contains("av__row")&&!f.classList.contains("av__row--util")||window.siyuan.dragElement&&!window.siyuan.dragElement.contains(f))&&(f=!1);if(f){if(f&&n&&f.isSameNode(n)){const p=f.getBoundingClientRect();if(t.querySelectorAll(".dragover__left, .dragover__right, .dragover__bottom, .dragover__top, .dragover").forEach(m=>{m.classList.remove("dragover__top","dragover__bottom","dragover__left","dragover__right","dragover"),m.removeAttribute("select-start"),m.removeAttribute("select-end")}),u.indexOf("-")>-1&&!f.classList.contains("av__row")&&!f.classList.contains("av__row--util"))if(s.altKey){if(u.split(",").includes(e.block.rootID)&&s.altKey)return}else return;if(f.getAttribute("data-type")==="NodeAttributeView"&&hasClosestByTag(s.target,"TD"))return;if(g.className){f.classList.add(g.className),pt(f);return}if(f.getAttribute("data-type")==="NodeListItem"){s.clientY>p.top+p.height/2?(f.classList.add("dragover__bottom"),pt(f)):f.classList.contains("av__row--header")||(f.classList.add("dragover__top"),pt(f));return}if(f.classList.contains("av__cell")){s.clientX<p.left+p.width/2&&s.clientX>p.left&&!f.classList.contains("av__row")&&!f.previousElementSibling.isSameNode(window.siyuan.dragElement)?f.classList.add("dragover__left"):s.clientX>p.right-p.width/2&&s.clientX<=p.right+1&&!f.classList.contains("av__row")&&!f.isSameNode(window.siyuan.dragElement.previousElementSibling)&&(window.siyuan.dragElement.previousElementSibling.classList.contains("av__colsticky")&&f.isSameNode(window.siyuan.dragElement.previousElementSibling.lastElementChild)||f.classList.add("dragover__right"));return}s.clientX<p.left+32&&s.clientX>=p.left-1&&!f.classList.contains("av__row")?(f.classList.add("dragover__left"),pt(f)):s.clientX>p.right-32&&s.clientX<p.right&&!f.classList.contains("av__row")?(f.classList.add("dragover__right"),pt(f)):f.classList.contains("av__row--header")?f.classList.add("dragover__bottom"):f.classList.contains("av__row--util")?f.previousElementSibling.classList.add("dragover__bottom"):s.clientY>p.top+p.height/2&&a!=="bottom"?(f.classList.add("dragover__bottom"),pt(f)):a!=="top"&&(f.classList.add("dragover__top"),pt(f));return}if(u.indexOf("-")>-1){u.split(",").includes(e.block.rootID)&&!f.classList.contains("av__row")&&!f.classList.contains("av__row--util")&&s.altKey?(n=void 0,t.querySelectorAll(".dragover__left, .dragover__right, .dragover__bottom, .dragover__top, .dragover").forEach(p=>{p.classList.remove("dragover__top","dragover__bottom","dragover__left","dragover__right","dragover"),p.removeAttribute("select-start"),p.removeAttribute("select-end")})):n=f;return}if(d){a="",n&&(n.classList.remove("dragover__top","dragover__bottom","dragover__left","dragover__right","dragover"),n=void 0);const p=d.replace(Constants.SIYUAN_DROP_GUTTER,"").split(Constants.ZWSP);if(p[0]==="nodeattributeview"&&p[1]==="col"&&f.getAttribute("data-id")===p[2]||p[0]==="nodeattributeviewrowmenu"&&p[2]===f.getAttribute("data-id")||p[2].split(",").find(b=>
506{if(b&&hasClosestByAttribute(f,"data-node-id",b))return!0})&&p[0]!=="nodeattributeviewrowmenu"||isInEmbedBlock(f)||p[0]==="nodelistitem"&&p[1]!==f.getAttribute("data-subtype")&&f.getAttribute("data-type")==="NodeListItem"||p[0]!=="nodelistitem"&&f.getAttribute("data-type")==="NodeListItem")return;p[0]==="nodelistitem"&&f.parentElement.classList.contains("li")&&((l=f.previousElementSibling)!=null&&l.classList.contains("protyle-action"))&&(a="top"),p[0]==="nodelistitem"&&((r=f.nextElementSibling)!=null&&r.classList.contains("list"))&&(a="bottom"),f&&f.classList.contains("av__row--header")&&(a="top"),n=f}}});let i=0;t.addEventListener("dragleave",s=>{if(e.disabled){s.preventDefault(),s.stopPropagation();return}i--,i===0&&(t.querySelectorAll(".dragover__left, .dragover__right, .dragover__bottom, .dragover__top, .dragover").forEach(o=>{o.classList.remove("dragover__top","dragover__bottom","dragover__left","dragover__right","dragover")}),n=void 0)}),t.addEventListener("dragenter",s=>{s.preventDefault(),i++})},pt=e=>{(e.classList.contains("sb")||e.classList.contains("li")||e.classList.contains("list")||e.classList.contains("bq"))&&e.classList.add("dragover")},pd=(e,t,n)=>{var a,i;if(hasClosestByClassName(e,"protyle-wysiwyg__embed"))return;const s=isNotEditBlock(e);if(!s&&e.classList.contains("protyle-wysiwyg--select")){setLastNodeRange(getContenteditableElement(e),t,!1),t.collapse(!1),hideElements(["select"],n);return}if(s||e.classList.contains("table")){e.classList.contains("protyle-wysiwyg--select")&&e.classList.contains("render-node")?n.toolbar.showRender(n,e):insertEmptyBlock(n,"afterend");return}const o=getContenteditableElement(e);if(o.querySelectorAll(".img--select").forEach(w=>{w.classList.remove("img--select")}),e.getAttribute("data-type")==="NodeAttributeView")return!0;const l=o.innerHTML.trimStart();if((l.startsWith("```")||l.startsWith("\xB7\xB7\xB7")||l.startsWith("~~~")||l.indexOf("\n```")>-1||l.indexOf(`
507~~~`)>-1||l.indexOf(`
508\xB7\xB7\xB7`)>-1)&&!(l.indexOf(`
509`)===-1&&l.replace(/·|~/g,"`").replace(/^`{3,}/g,"").indexOf("`")>-1)){if(e.classList.contains("p")){const w=e.outerHTML;let y=o.innerHTML.replace(/\n(~|·|`){3,}/g,"\n```").trim().replace(/^(~|·|`){3,}/g,"```");y.endsWith("\n```")||(y+="<wbr>\n```"),o.innerHTML=y,e.outerHTML=n.lute.SpinBlockDOM(e.outerHTML),e=n.wysiwyg.element.querySelector(`[data-node-id="${e.getAttribute("data-node-id")}"]`);const h=e.querySelector(".protyle-action__language");return h?(window.siyuan.storage[Constants.LOCAL_CODELANG]&&h.textContent===""?h.textContent=window.siyuan.storage[Constants.LOCAL_CODELANG]:Constants.SIYUAN_RENDER_CODE_LANGUAGES.includes(h.textContent)||(window.siyuan.storage[Constants.LOCAL_CODELANG]=h.textContent,setStorageVal(Constants.LOCAL_CODELANG,window.siyuan.storage[Constants.LOCAL_CODELANG])),Constants.SIYUAN_RENDER_CODE_LANGUAGES.includes(h.textContent)?(e.dataset.content="",e.dataset.subtype=h.textContent,e.className="render-node",e.innerHTML=`<div spin="1"></div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div>`,n.toolbar.showRender(n,e),processRender(e)):highlightRender(e)):(n.toolbar.showRender(n,e),processRender(e)),updateTransaction(n,e.getAttribute("data-node-id"),e.outerHTML,w),!0}}if(e.getAttribute("data-type")==="NodeCodeBlock"){const w=document.createElement("wbr");t.insertNode(w);const y=e.outerHTML;return w.remove(),t.extractContents(),o.textContent.endsWith(`
510`)||o.insertAdjacentText("beforeend",`
511`),t.insertNode(document.createTextNode(`
512`)),t.collapse(!1),t.insertNode(w),o.parentElement.removeAttribute("data-render"),highlightRender(e),updateTransaction(n,e.getAttribute("data-node-id"),e.outerHTML,y),scrollCenter(n),!0}if(o.textContent.replace(Constants.ZWSP,"").replace(`
513`,"")===""&&e.nextElementSibling&&e.nextElementSibling.classList.contains("protyle-attr")&&e.parentElement.getAttribute("data-type")==="NodeBlockquote"){t.insertNode(document.createElement("wbr"));const w=getTopEmptyElement(e),y=e.getAttribute("data-node-id"),h=w.getAttribute("data-node-id"),_={action:"insert",id:y,data:e.outerHTML},C={action:"insert",id:h,data:w.outerHTML};return h===y?(_.previousID=e.parentElement.getAttribute("data-node-id"),C.previousID=e.previousElementSibling.getAttribute("data-node-id"),e.parentElement.after(e)):(_.previousID=w.previousElementSibling?w.previousElementSibling.getAttribute("data-node-id"):void 0,_.parentID=w.parentElement.getAttribute("data-node-id")||n.block.parentID,C.previousID=_.previousID,C.parentID=_.parentID,w.after(e),w.remove()),transaction(n,[{action:"delete",id:h},_],[{action:"delete",id:y},C]),h===y&&e.parentElement.classList.contains("sb")&&e.parentElement.getAttribute("data-sb-layout")==="col"&&turnsIntoOneTransaction({protyle:n,selectsElement:[e.previousElementSibling,e],type:"BlocksMergeSuperBlock",level:"row"}),focusByWbr(e,t),!0}const r=getSelectionOffset(o,n.wysiwyg.element,t);if(e.parentElement.getAttribute("data-type")==="NodeListItem"&&(e.nextElementSibling.classList.contains("protyle-attr")||e.nextElementSibling.classList.contains("list")&&((a=e.previousElementSibling)!=null&&a.classList.contains("protyle-action"))||r.start===0&&e.previousElementSibling.classList.contains("protyle-action")||e.parentElement.getAttribute("fold")==="1")&&wo(n,e,t))return!0;if(o.textContent!==""&&t.toString()===""&&r.start===0){const w=genEmptyElement(!1,!0),y=w.getAttribute("data-node-id");return transaction(n,[{action:"insert",data:w.outerHTML,id:y,previousID:e.previousElementSibling?e.previousElementSibling.getAttribute("data-node-id"):"",parentID:e.parentElement.getAttribute("data-node-id")||n.block.parentID}],[{action:"delete",id:y}]),w.querySelector("wbr").remove(),e.insertAdjacentElement("beforebegin",w),un(w),!0}t.insertNode(document.createElement("wbr"));const c=e.outerHTML;if(t.toString()!==""){const w=hasClosestByAttribute(t.startContainer,"data-type","inline-math");if(w){const y=hasNextSibling(w);return y&&(t=getSelection().getRangeAt(0),t.setEnd(y,y.textContent.startsWith(Constants.ZWSP)?1:0),t.collapse(!1)),(i=w.querySelector("wbr"))==null||i.remove(),!0}
513t.extractContents(),t.insertNode(document.createElement("wbr"))}o.lastChild&&t.setEndAfter(o.lastChild);const f=e.getAttribute("data-node-id"),d=document.createElement("div");d.appendChild(genEmptyElement(!1,!1));const u=d.querySelector('[contenteditable="true"]');u.appendChild(t.extractContents());const g=u.querySelector("wbr");g&&g.parentElement.tagName==="SPAN"&&g.parentElement.innerHTML==="<wbr>"&&(g.parentElement.outerHTML="<wbr>");const p=u.innerHTML.trimStart();if((p.startsWith("```")||p.startsWith("\xB7\xB7\xB7")||p.startsWith("~~~")||p.indexOf("\n```")>-1||p.indexOf(`
514~~~`)>-1||p.indexOf(`
515\xB7\xB7\xB7`)>-1)&&!(p.indexOf(`
516`)===-1&&p.replace(/·|~/g,"`").replace(/^`{3,}/g,"").indexOf("`")>-1)){let w=u.innerHTML.replace(/\n(~|·|`){3,}/g,"\n```").trim().replace(/^(~|·|`){3,}/g,"```");w.endsWith("\n```")||(w+="\n```"),u.innerHTML=w}d.innerHTML=n.lute.SpinBlockDOM(d.innerHTML);const m=document.createElement("div");m.innerHTML=n.lute.SpinBlockDOM(o.parentElement.outerHTML);const b=[],E=[];let k=e;const A=[];Array.from(m.children).forEach(w=>{w.dataset.nodeId===f?(e.before(w),e.remove(),b.push({action:"update",data:w.outerHTML,id:f}),E.push({action:"update",data:c,id:f})):(b.push({action:"insert",data:w.outerHTML,id:w.dataset.nodeId,nextID:f}),k.insertAdjacentElement("afterend",w),E.push({action:"delete",id:w.dataset.nodeId})),w.dataset.type==="NodeBlockQueryEmbed"?blockRender(n,w):mathRender(w),k=w,A.push(w)}),Array.from(d.children).forEach(w=>{const y=w.getAttribute("data-node-id");b.push({action:"insert",data:w.outerHTML,id:y,previousID:k.getAttribute("data-node-id")}),E.push({action:"delete",id:y}),k.insertAdjacentElement("afterend",w),w.classList.contains("code-block")?highlightRender(w):w.dataset.type==="NodeBlockQueryEmbed"?blockRender(n,w):mathRender(k.nextElementSibling),k=w,A.push(w)});const v=k.parentElement;return transaction(n,b,E),v.classList.contains("sb")&&v.getAttribute("data-sb-layout")==="col"&&turnsIntoOneTransaction({protyle:n,selectsElement:A,type:"BlocksMergeSuperBlock",level:"row"}),focusByWbr(k,t),scrollCenter(n),!0},wo=(e,t,n)=>{var a,i;const s=t.parentElement,o=getContenteditableElement(t);if(["",`
517`].includes(o.textContent)&&t.previousElementSibling.classList.contains("protyle-action")&&!t.querySelector("img")){if((a=s.nextElementSibling)!=null&&a.classList.contains("protyle-attr"))return listOutdent(e,[t.parentElement],n),!0;if(!s.parentElement.classList.contains("protyle-wysiwyg"))return breakList(e,t,n),!0}const l=getSelectionOffset(o,e.wysiwyg.element,n);if(n.toString()===""&&l.start===0&&!hasPreviousSibling(n.startContainer)){if(s.parentElement.classList.contains("protyle-wysiwyg"))return!0;const p=document.createElement("wbr");n.insertNode(p);const m=s.parentElement.outerHTML;p.remove();let b=genListItemElement(s,-1,!0);if(t.previousElementSibling.classList.contains("protyle-action"))getContenteditableElement(t).textContent===""?s.insertAdjacentElement("afterend",b):s.insertAdjacentElement("beforebegin",b);else{if(getContenteditableElement(t).textContent!=="")return!1;t.remove(),b=genListItemElement(s,-1,!0),s.insertAdjacentElement("afterend",b)}return s.getAttribute("data-subtype")==="o"&&updateListOrder(s.parentElement),updateTransaction(e,s.parentElement.getAttribute("data-node-id"),s.parentElement.outerHTML,m),focusByWbr(b,n),scrollCenter(e),un(b),!0}const r=s.querySelector(".list");let c;if(r&&s.getAttribute("fold")!=="1"&&t.nextElementSibling.isSameNode(r)){if(l.end>=o.textContent.length-(o.textContent.endsWith(Constants.ZWSP)?1:0)){n.insertNode(document.createElement("wbr"));const p=s.outerHTML;t.querySelector("wbr").remove(),c=genListItemElement(r.firstElementChild,-1,!0),r.firstElementChild.before(c),r.getAttribute("data-subtype")==="o"&&updateListOrder(r),updateTransaction(e,s.getAttribute("data-node-id"),s.outerHTML,p),focusByWbr(s,n),scrollCenter(e)}else{n.insertNode(document.createElement("wbr"));const p=s.outerHTML,m=s.parentElement.outerHTML;n.toString()!==""&&(n.extractContents(),n.insertNode(document.createElement("wbr"))),n.setEndAfter(o.lastChild),c=genListItemElement(s,0,!1);const b=getContenteditableElement(c);b.appendChild(n.extractContents());const E=b.querySelector("wbr");E&&E.parentElement.tagName==="SPAN"&&E.parentElement.innerHTML==="<wbr>"&&(E.parentElement.outerHTML="<wbr>");let k=r.nextElementSibling;for(c.lastElementChild.before(r);!k.classList.contains("protyle-attr");)k=k.nextElementSibling,c.lastElementChild.before(k.previousElementSibling);s.insertAdjacentElement("afterend",c),s.getAttribute("data-subtype")==="o"&&updateListOrder(s.parentElement),s.parentElement.classList.contains("protyle-wysiwyg")?transaction(e,[{action:"update",data:s.outerHTML,id:s.getAttribute("data-node-id")},{action:"insert",id:c.getAttribute("data-node-id"),data:c.outerHTML,previousID:s.getAttribute("data-node-id")}],[{action:"delete",id:c.getAttribute("data-node-id")},{action:"update",data:p,id:s.getAttribute("data-node-id")}]):updateTransaction(e,s.parentElement.getAttribute("data-node-id"),s.parentElement.outerHTML,m),focusByWbr(c,n),scrollCenter(e)}return un(c),!0}if((n.toString()===""||n.toString()===Constants.ZWSP)&&n.startContainer.nodeType===3&&n.startOffset===0){let p=n.startContainer;for(;p;)if(p.textContent===Constants.ZWSP){n.setStart(p,1),n.collapse(!1);break}else p=p.nextSibling}n.insertNode(document.createElement("wbr"));const f=s.outerHTML,d=s.parentElement.outerHTML;if(n.toString()!==""){const p=hasClosestByAttribute(n.startContainer,"data-type","inline-math");if(p){const m=hasNextSibling(p);return m&&(n=getSelection().getRangeAt(0),n.setEnd(m,m.textContent.startsWith(Constants.ZWSP)?1:0),n.collapse(!1)),(i=p.querySelector("wbr"))==null||i.remove(),!0}n.extractContents(),n.insertNode(document.createElement("wbr"))}o.lastChild&&n.setEndAfter(o.lastChild),c=genListItemElement(s,0,!1);const u=getContenteditableElement(c);u.appendChild(n.extractContents());const g=u.querySelector("wbr");return g&&g.parentElement.tagName==="SPAN"&&g.parentElement.innerHTML==="<wbr>"&&(g.parentElement.outerHTML="<wbr>"),u.parentElement.outerHTML=e.lute.SpinBlockDOM(u.parentElement.outerHTML),s.insertAdjacentElement("afterend",c),blockRender(e,c),mathRender(c),processRender(c),o.parentElement.outerHTML=e.lute.SpinBlockDOM(o.parentElement.outerHTML),blockRender(e,s),mathRender(s),processRender(s),s.getAttribute("data-subtype")==="o"&&updateListOrder(s.parentElement),s.parentElement.classList.contains("protyle-wysiwyg")?transaction(e,[{action:"update",id:s.getAttribute("data-node-id"),data:s.outerHTML},{action:"insert",id:c.getAttribute("data-node-id"),data:c.outerHTML,previousID:s.getAttribute("data-node-id")}],[{action:"delete",id:c.getAttribute("data-node-id")},{action:"update",id:s.getAttribute("data-node-id"),data:f}]):updateTransaction(e,s.parentElement.getAttribute("data-node-id"),s.parentElement.outerHTML,d),focusByWbr(c,n),scrollCenter(e),un(c),!0},un=e=>{const t=getContenteditableElement(e).childNodes;for(let n=0;n<t.length;n++)t[n].nodeType===3&&t[n].textContent.length===0&&(t[n].remove(),n--)},md=(e,t,n)=>{let a=e.startContainer;const i=hasNextSibling(a);if(t.getAttribute("data-type")==="NodeAttributeView")return!0;
517if(i&&i.nodeType!==3&&getSelectionOffset(e.startContainer,n.wysiwyg.element,e).end===e.endContainer.textContent.length&&(i.classList.contains("img")||i.getAttribute("data-type")==="inline-math")){i.insertAdjacentHTML("beforebegin","<wbr>");const o=t.outerHTML;i.previousElementSibling.remove();const l=document.createTextNode(`
518`);return a.after(document.createTextNode(Constants.ZWSP)),a.after(l),e.selectNode(l),e.collapse(!1),updateTransaction(n,t.getAttribute("data-node-id"),t.outerHTML,o),!0}if(a.nodeType===3&&(a=a.parentElement),a&&n.toolbar.getCurrentType(e).length>0&&getSelectionOffset(a,a,e).end===a.textContent.length)return as(e,t,n,a),!0;if(isIPad()||isMobile()){a=e.startContainer;const s=hasNextSibling(a);return s&&s.textContent.trim()!==""?(document.execCommand("insertHTML",!1,`
519`),!0):(as(e,t,n,a),!0)}return!1},as=(e,t,n,a)=>{const i=document.createElement("wbr");a.nodeType===3?e.insertNode(i):a.insertAdjacentElement("afterend",i);const s=t.outerHTML;i.remove();let o;hasNextSibling(a)||(o=document.createTextNode(`
520`),a.after(o));const l=document.createTextNode(`
521`);a.after(l),o?e.setStart(o,0):e.setStart(l,1),e.collapse(!0),focusByRange(e),updateTransaction(n,t.getAttribute("data-node-id"),t.outerHTML,s)};class qt{constructor(t,n){this.element=document.createElement("button");const a=n.hotkey?` ${tn(n.hotkey)}`:"",i=n.tip||window.siyuan.languages[n.lang];this.element.classList.add("protyle-toolbar__item","b3-tooltips",`b3-tooltips__${n.tipPosition}`),this.element.setAttribute("data-type",n.name),this.element.setAttribute("aria-label",i+a),this.element.innerHTML=`<svg><use xlink:href="#${n.icon}"></use></svg>`,!["text","a","block-ref","inline-math","inline-memo"].includes(n.name)&&this.element.addEventListener(ki(),s=>{s.preventDefault(),$.INLINE_TYPE.includes(n.name)?t.toolbar.setInlineMark(t,n.name,"toolbar"):n.click&&n.click(t.getInstance())})}}class bd extends qt{constructor(t,n){super(t,n),this.element.addEventListener("click",()=>{t.toolbar.element.classList.add("fn__none"),t.toolbar.subElement.innerHTML="",t.toolbar.subElement.style.width="",t.toolbar.subElement.style.padding="",t.toolbar.subElement.append(_o(t,vo(t))),t.toolbar.subElement.style.zIndex=(++window.siyuan.zIndex).toString(),t.toolbar.subElement.classList.remove("fn__none"),t.toolbar.subElementCloseCB=void 0,Le(t.toolbar.range)})}}const _o=(e,t)=>{let n="";["","var(--b3-font-color1)","var(--b3-font-color2)","var(--b3-font-color3)","var(--b3-font-color4)","var(--b3-font-color5)","var(--b3-font-color6)","var(--b3-font-color7)","var(--b3-font-color8)","var(--b3-font-color9)","var(--b3-font-color10)","var(--b3-font-color11)","var(--b3-font-color12)","var(--b3-font-color13)"].forEach(g=>{n+=`<button ${g?`class="color__square" style="color:${g}"`:`class="color__square ariaLabel" data-position="3south" aria-label="${window.siyuan.languages.default}"`} data-type="color">A</button>`});let a="";["","var(--b3-font-background1)","var(--b3-font-background2)","var(--b3-font-background3)","var(--b3-font-background4)","var(--b3-font-background5)","var(--b3-font-background6)","var(--b3-font-background7)","var(--b3-font-background8)","var(--b3-font-background9)","var(--b3-font-background10)","var(--b3-font-background11)","var(--b3-font-background12)","var(--b3-font-background13)"].forEach(g=>{a+=`<button ${g?`class="color__square" style="background-color:${g}"`:`class="color__square ariaLabel" data-position="3south" aria-label="${window.siyuan.languages.default}"`} data-type="backgroundColor"></button>`});const i=document.createElement("div");i.classList.add("protyle-font");let s=!1;t==null||t.find(g=>{if(g.classList.contains("li"))return s=!0,!0});let o="";const l=window.siyuan.storage[$.LOCAL_FONTSTYLES];l.length>0&&(o=`<div class="fn__flex">
522    ${window.siyuan.languages.lastUsed}
523    <span class="fn__space"></span>
524    <kbd class="fn__kbd fn__flex-center${window.siyuan.config.keymap.editor.insert.lastUsed.custom?"":" fn__none"}">${tn(window.siyuan.config.keymap.editor.insert.lastUsed.custom)}</kbd>
525</div>
526<div class="fn__hr--small"></div>
527<div class="fn__flex fn__flex-wrap" style="align-items: center">`,l.forEach(g=>{const p=g.split($.ZWSP);switch(p[0]){case"color":o+=`<button class="color__square ariaLabel" data-position="3south" aria-label="${window.siyuan.languages.colorFont}${p[1]?"":" "+window.siyuan.languages.default}" ${p[1]?`style="color:${p[1]}"`:""} data-type="${p[0]}">A</button>`;break;case"backgroundColor":o+=`<button class="color__square ariaLabel" data-position="3south" aria-label="${window.siyuan.languages.colorPrimary}${p[1]?"":" "+window.siyuan.languages.default}" ${p[1]?`style="background-color:${p[1]}"`:""} data-type="${p[0]}"></button>`;break;case"style2":o+=`<button data-type="${p[0]}" class="protyle-font__style" style="-webkit-text-stroke: 0.2px var(--b3-theme-on-background);-webkit-text-fill-color : transparent;">${window.siyuan.languages.hollow}</button>`;break;
527case"style4":o+=`<button data-type="${p[0]}" class="protyle-font__style" style="text-shadow: 1px 1px var(--b3-theme-surface-lighter), 2px 2px var(--b3-theme-surface-lighter), 3px 3px var(--b3-theme-surface-lighter), 4px 4px var(--b3-theme-surface-lighter)">${window.siyuan.languages.shadow}</button>`;break;case"fontSize":s||(o+=`<button data-type="${p[0]}" class="protyle-font__style">${p[1]}</button>`);break;case"style1":o+=`<button class="color__square ariaLabel" data-position="3south" aria-label="${window.siyuan.languages.color}${p[1]?"":" "+window.siyuan.languages.default}" ${p[1]?`style="background-color:${p[1]};color:${p[2]}"`:""} data-type="${p[0]}">A</button>`;break;case"clear":o+=`<button style="height: 26px;display: flex;align-items: center;padding: 0 5px;" data-type="${p[0]}" class="protyle-font__style ariaLabel" aria-label="${window.siyuan.languages.clearFontStyle}"><svg class="svg--mid"><use xlink:href="#iconTrashcan"></use></svg></button>`;break}}),o+="</div>");let r,c=window.siyuan.config.editor.fontSize+"px";t&&t.length>0?r=t[0]:(r=e.toolbar.range.cloneContents().querySelector('[data-type~="text"]'),r||(r=R(e.toolbar.range.startContainer,"data-type","text"))),r&&(c=r.style.fontSize||window.siyuan.config.editor.fontSize+"px"),i.innerHTML=`${o}
528<div class="fn__hr"></div>
529<div>${window.siyuan.languages.color}</div>
530<div class="fn__hr--small"></div>
531<div class="fn__flex fn__flex-wrap">
532    <button class="color__square ariaLabel" data-position="3south" data-type="style1" aria-label="${window.siyuan.languages.default}">A</button>
533    <button class="color__square" data-type="style1" style="color: var(--b3-card-error-color);background-color: var(--b3-card-error-background);">A</button>
534    <button class="color__square" data-type="style1" style="color: var(--b3-card-warning-color);background-color: var(--b3-card-warning-background);">A</button>
535    <button class="color__square" data-type="style1" style="color: var(--b3-card-info-color);background-color: var(--b3-card-info-background);">A</button>
536    <button class="color__square" data-type="style1" style="color: var(--b3-card-success-color);background-color: var(--b3-card-success-background);">A</button>
537</div>
538<div class="fn__hr"></div>
539<div>${window.siyuan.languages.colorFont}</div>
540<div class="fn__hr--small"></div>
541<div class="fn__flex fn__flex-wrap">
542    ${n}
543</div>
544<div class="fn__hr"></div>
545<div>${window.siyuan.languages.colorPrimary}</div>
546<div class="fn__hr--small"></div>
547<div class="fn__flex fn__flex-wrap">
548    ${a}
549</div>
550<div class="fn__hr"></div>
551<div>${window.siyuan.languages.fontStyle}</div>
552<div class="fn__hr--small"></div>
553<div class="fn__flex">
554    <button data-type="style2" class="protyle-font__style" style="-webkit-text-stroke: 0.2px var(--b3-theme-on-background);-webkit-text-fill-color : transparent;">${window.siyuan.languages.hollow}</button>
555    <button data-type="style4" class="protyle-font__style" style="text-shadow: 1px 1px var(--b3-theme-surface-lighter), 2px 2px var(--b3-theme-surface-lighter), 3px 3px var(--b3-theme-surface-lighter), 4px 4px var(--b3-theme-surface-lighter)">${window.siyuan.languages.shadow}</button>
556</div>
557<div class="fn__hr${s?" fn__none":""}"></div>
558<div class="fn__flex${s?" fn__none":""}">
559    ${window.siyuan.languages.fontSize}
560    <span class="fn__flex-1"></span>
561    <label class="fn__flex">
562        ${window.siyuan.languages.relativeFontSize}
563        <span class="fn__space"></span>
564        <input class="b3-switch fn__flex-center" ${c.endsWith("em")?"checked":""} type="checkbox">
565        <span class="fn__space--small"></span>
566    </label>
567</div>
568<div class="${s?" fn__none":""}">
569    <div class="fn__hr"></div>
570    <div class="b3-tooltips b3-tooltips__n fn__flex${c.endsWith("em")?" fn__none":""}" aria-label="${c}">   
571        <input class="b3-slider fn__block" id="fontSizePX" max="72" min="9" step="1" type="range" value="${parseInt(c)}">
572    </div>
573    <div class="b3-tooltips b3-tooltips__n fn__flex${c.endsWith("em")?"":" fn__none"}" aria-label="${parseFloat(c)*100}%">   
574        <input class="b3-slider fn__block" id="fontSizeEM" max="4.5" min="0.56" step="0.01" type="range" value="${parseFloat(c)}">
575    </div>
576</div>
577<div class="fn__hr--b"></div>
578<div class="fn__flex">
579    <div class="fn__space--small"></div>
580    <button class="b3-button b3-button--remove fn__block" data-type="clear">
581        <svg><use xlink:href="#iconTrashcan"></use></svg>${window.siyuan.languages.clearFontStyle}
582    </button>
583    <div class="fn__space--small"></div>
584</div>`,i.addEventListener("click",function(g){let p=g.target;for(;p&&!p.isEqualNode(i);){const m=p.getAttribute("data-type");if(p.tagName==="BUTTON"){m==="style1"?et(e,t,m,p.style.backgroundColor+$.ZWSP+p.style.color):m==="fontSize"?et(e,t,m,p.textContent.trim()):m==="backgroundColor"?et(e,t,m,p.style.backgroundColor):m==="color"?et(e,t,m,p.style.color):et(e,t,m);break}p=p.parentElement}});const f=i.querySelector(".b3-switch"),d=i.querySelector("#fontSizePX"),u=i.querySelector("#fontSizeEM");return f.addEventListener("change",function(){if(f.checked){const g=parseFloat((parseInt(d.value)/16).toFixed(2));u.parentElement.setAttribute("aria-label",(g*100).toString()+"%"),u.value=g.toString(),d.parentElement.classList.add("fn__none"),u.parentElement.classList.remove("fn__none"),et(e,t,"fontSize",u.value+"em")}else{const g=Math.round(parseFloat(u.value)*16);d.parentElement.setAttribute("aria-label",g+"px"),d.value=g.toString(),d.parentElement.classList.remove("fn__none"),u.parentElement.classList.add("fn__none"),et(e,t,"fontSize",d.value+"px")}}),d.addEventListener("change",function(){et(e,t,"fontSize",d.value+"px")}),u.addEventListener("change",function(){et(e,t,"fontSize",u.value+"em")}),d.addEventListener("input",function(){d.parentElement.setAttribute("aria-label",d.value+"px")}),u.addEventListener("input",function(){u.parentElement.setAttribute("aria-label",(parseFloat(u.value)*100).toFixed(0)+"%")}),i},et=(e,t,n,a)=>{let i=window.siyuan.storage[$.LOCAL_FONTSTYLES];if(n)i.splice(0,0,`${n}${$.ZWSP}${a}`),i=[...new Set(i)],i.length>8&&i.splice(8,1),window.siyuan.storage[$.LOCAL_FONTSTYLES]=i,Pn($.LOCAL_FONTSTYLES,window.siyuan.storage[$.LOCAL_FONTSTYLES]);else if(i.length===0)n="style1",a="var(--b3-card-error-color)"+$.ZWSP+"var(--b3-card-error-background)";else{const s=i[0].split($.ZWSP);n=s.splice(0,1)[0],a=s.join($.ZWSP)}t&&t.length>0?(Yl(t,e,s=>{if(n==="clear")s.style.color="",s.style.webkitTextFillColor="",s.style.webkitTextStroke="",s.style.textShadow="",s.style.backgroundColor="",s.style.fontSize="",s.style.removeProperty("--b3-parent-background");else if(n==="style1"){const o=a.split($.ZWSP);s.style.backgroundColor=o[0],s.style.color=o[1],s.style.setProperty("--b3-parent-background",o[0])}else n==="style2"?(s.style.webkitTextStroke="0.2px var(--b3-theme-on-background)",s.style.webkitTextFillColor="transparent"):n==="style4"?s.style.textShadow="1px 1px var(--b3-theme-surface-lighter), 2px 2px var(--b3-theme-surface-lighter), 3px 3px var(--b3-theme-surface-lighter), 4px 4px var(--b3-theme-surface-lighter)":n==="color"?s.style.color=a:n==="backgroundColor"?(s.style.backgroundColor=a,s.style.setProperty("--b3-parent-background",a)):n==="fontSize"&&(s.style.fontSize=a);(n==="fontSize"||n==="clear")&&s.getAttribute("data-type")==="NodeCodeBlock"&&fi(s.querySelector(".hljs"))}),Le(e.toolbar.range)):n==="clear"?e.toolbar.setInlineMark(e,"clear","range",{type:"text"}):e.toolbar.setInlineMark(e,"text","range",{type:n,color:a})},yd=(e,t)=>{const n=s=>{const o=s.split(Constants.ZWSP),l=o.splice(0,1)[0];e.setAttribute("data-id",l),e.setAttribute("data-subtype",o.splice(0,1)[0]),e.removeAttribute("data-href");let r=o.join("");r.replace(/\s/g,"")===""&&(r=l),e.innerText=r},a=s=>{const o=s.split(Constants.ZWSP);e.setAttribute("data-href",o[0]),e.removeAttribute("data-subtype"),e.removeAttribute("data-id"),o[1]&&(e.textContent=o[1])},i=s=>{const o=s.split(Constants.ZWSP);e.setAttribute("data-id",o[0]),e.removeAttribute("data-href"),e.removeAttribute("data-subtype"),o[1]&&(e.textContent=o[1])};if(t){switch(t.type){case"color":e.style.color=t.color;break;case"fontSize":e.style.fontSize=t.color;break;case"backgroundColor":e.style.backgroundColor=t.color;break;case"style1":e.style.backgroundColor=t.color.split(Constants.ZWSP)[0],e.style.color=t.color.split(Constants.ZWSP)[1];break;case"style2":e.style.webkitTextStroke="0.2px var(--b3-theme-on-background)",e.style.webkitTextFillColor="transparent";break;
584case"style4":e.style.textShadow="1px 1px var(--b3-theme-surface-lighter), 2px 2px var(--b3-theme-surface-lighter), 3px 3px var(--b3-theme-surface-lighter), 4px 4px var(--b3-theme-surface-lighter)";break;case"id":n(t.color);break;case"inline-math":e.className="render-node",e.setAttribute("contenteditable","false"),e.setAttribute("data-subtype","math"),e.setAttribute("data-content",e.textContent.replace(Constants.ZWSP,"")),e.removeAttribute("data-render"),e.textContent="";break;case"a":a(t.color);break;case"file-annotation-ref":i(t.color);break;case"inline-memo":e.removeAttribute("contenteditable"),e.removeAttribute("data-content");break}e.getAttribute("style")||e.removeAttribute("style")}},hd=(e,t,n)=>{if(!n)return!!(e&&e.nodeType!==3&&t.nodeType!==3&&t.style.color===e.style.color&&t.style.webkitTextFillColor===e.style.webkitTextFillColor&&t.style.webkitTextStroke===e.style.webkitTextStroke&&t.style.textShadow===e.style.textShadow&&t.style.backgroundColor===e.style.backgroundColor&&t.style.fontSize===e.style.fontSize);if(n.type==="inline-math"||n.type==="inline-memo"||n.type==="a")return!1;if(n.type==="id"){if(e&&e.nodeType!==3)return e.getAttribute("data-id")===t.getAttribute("data-id")&&e.getAttribute("data-subtype")===t.getAttribute("data-subtype")&&e.textContent===t.textContent;const c=n.color.split(Constants.ZWSP);return c[0]===t.getAttribute("data-id")&&c[1]===t.getAttribute("data-subtype")&&c[2]===t.textContent}if(n.type==="file-annotation-ref")return e&&e.nodeType!==3?e.getAttribute("data-id")===t.getAttribute("data-id")&&e.textContent===t.textContent:n.color===t.getAttribute("data-id");let a="",i="",s="",o="",l="",r="";return e&&e.nodeType!==3&&(a=e.style.color,i=e.style.webkitTextFillColor,s=e.style.webkitTextStroke,o=e.style.textShadow,l=e.style.backgroundColor,r=e.style.fontSize),n.type==="text"?a===t.style.color&&i===t.style.webkitTextFillColor&&s===t.style.webkitTextStroke&&o===t.style.textShadow&&r===t.style.fontSize&&l===t.style.backgroundColor:n.type==="color"?n.color===t.style.color&&i===t.style.webkitTextFillColor&&s===t.style.webkitTextStroke&&o===t.style.textShadow&&r===t.style.fontSize&&l===t.style.backgroundColor:n.type==="backgroundColor"?a===t.style.color&&i===t.style.webkitTextFillColor&&s===t.style.webkitTextStroke&&o===t.style.textShadow&&r===t.style.fontSize&&n.color===t.style.backgroundColor:n.type==="style1"?n.color.split(Constants.ZWSP)[0]===t.style.color&&i===t.style.webkitTextFillColor&&s===t.style.webkitTextStroke&&o===t.style.textShadow&&r===t.style.fontSize&&n.color.split(Constants.ZWSP)[1]===t.style.backgroundColor:n.type==="style2"?a===t.style.color&&t.style.webkitTextFillColor==="transparent"&&t.style.webkitTextStroke==="0.2px var(--b3-theme-on-background)"&&o===t.style.textShadow&&r===t.style.fontSize&&l===t.style.backgroundColor:n.type==="style4"?a===t.style.color&&i===t.style.webkitTextFillColor&&s===t.style.webkitTextStroke&&r===t.style.fontSize&&t.style.textShadow==="1px 1px var(--b3-theme-surface-lighter), 2px 2px var(--b3-theme-surface-lighter), 3px 3px var(--b3-theme-surface-lighter), 4px 4px var(--b3-theme-surface-lighter)"&&l===t.style.backgroundColor:n.type==="fontSize"?a===t.style.color&&i===t.style.webkitTextFillColor&&s===t.style.webkitTextStroke&&o===t.style.textShadow&&n.color===t.style.fontSize&&l===t.style.backgroundColor:!0},vo=e=>{let t;if(e.toolbar.range.toString()===""&&(t=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select")),t.length===0)){const n=K(e.toolbar.range.startContainer);n&&(t=[n])}return t},wd=(e,t,n)=>{var a,i,s,o,l;if(!t.classList.contains("av")||!window.siyuan.menus.menu.element.classList.contains("fn__none"))return!1;if(e.isComposing)return!0;if(matchHotKey("\u2318B",e)||matchHotKey("\u2318I",e)||matchHotKey("\u2318U",e))return e.preventDefault(),!0;const r=t.querySelector(".av__cell--select");if(r){const f=hasClosestByClassName(r,"av__row");if(!f||f.dataset.type==="ghost")return!1;const d=document.querySelector(".av__panel");if(d&&(e.key==="Backspace"||e.key==="Delete"||e.key==="Escape"||e.key.startsWith("ArrowLeft")||e.key==="Enter"||matchHotKey("\u21E5",e)||matchHotKey("\u21E7\u21E5",e)))return d.remove(),e.preventDefault(),e.stopPropagation(),!0;if(e.key==="Backspace"||e.key==="Delete")return updateCellsValue(n,t,void 0,Array.from(t.querySelectorAll(".av__cell--active, .av__cell--select"))),e.preventDefault(),!0;if(e.key==="Escape")return t.querySelectorAll(".av__cell--select, .av__cell--active").forEach(g=>{var p;g.classList.remove("av__cell--select","av__cell--active"),(p=g.querySelector(".av__drag-fill"))==null||p.remove()}),selectRow(f.querySelector(".av__firstcol"),"select"),e.preventDefault(),!0;if(e.key==="Enter")return popTextCell(n,[r]),e.preventDefault(),!0;let u;if(e.key==="ArrowLeft"||matchHotKey("\u21E7\u21E5",e)){const g=f.previousElementSibling;if(r.previousElementSibling&&!r.previousElementSibling.classList.contains("av__firstcol")&&(r.previousElementSibling.classList.contains("av__colsticky")?(u=r.previousElementSibling.lastElementChild,u.classList.contains("av__firstcol")&&(u=void 0)):r.previousElementSibling.classList.contains("av__cell")&&(u=r.previousElementSibling)),!u&&g&&!g.classList.contains("av__row--header")){const p=g.querySelectorAll(".av__cell");u=p[p.length-1]}return u&&(r.classList.remove("av__cell--select","av__cell--active"),(a=r.querySelector(".av__drag-fill"))==null||a.remove(),u.classList.add("av__cell--select"),addDragFill(u),cellScrollIntoView(t,u,!1)),e.preventDefault(),!0}if(e.key==="ArrowRight"||matchHotKey("\u21E5",e)){const g=f.nextElementSibling;return r.nextElementSibling&&r.nextElementSibling.classList.contains("av__cell")?u=r.nextElementSibling:!r.
584nextElementSibling&&r.parentElement.nextElementSibling?u=r.parentElement.nextElementSibling:g&&!g.classList.contains("av__row--footer")&&(u=g.querySelector(".av__cell")),u?(r.classList.remove("av__cell--select","av__cell--active"),(i=r.querySelector(".av__drag-fill"))==null||i.remove(),u.classList.add("av__cell--select"),addDragFill(u),cellScrollIntoView(t,u,!1)):e.key!=="ArrowRight"&&(r.classList.remove("av__cell--select","av__cell--active"),(s=r.querySelector(".av__drag-fill"))==null||s.remove(),insertRows(t,n,1,f.getAttribute("data-id"))),e.preventDefault(),!0}if(e.key==="ArrowUp"){const g=f.previousElementSibling;return g&&!g.classList.contains("av__row--header")&&(u=g.querySelector(`.av__cell[data-col-id="${r.dataset.colId}"]`)),u&&(r.classList.remove("av__cell--select","av__cell--active"),(o=r.querySelector(".av__drag-fill"))==null||o.remove(),u.classList.add("av__cell--select"),addDragFill(u),cellScrollIntoView(t,u)),e.preventDefault(),!0}if(e.key==="ArrowDown"){const g=f.nextElementSibling;return g&&!g.classList.contains("av__row--footer")&&(u=g.querySelector(`.av__cell[data-col-id="${r.dataset.colId}"]`)),u&&(r.classList.remove("av__cell--select","av__cell--active"),(l=r.querySelector(".av__drag-fill"))==null||l.remove(),u.classList.add("av__cell--select"),addDragFill(u),cellScrollIntoView(t,u)),e.preventDefault(),!0}if(!Constants.KEYCODELIST[e.keyCode]||Constants.KEYCODELIST[e.keyCode].length===1&&!e.metaKey&&!e.ctrlKey&&!["\u21E7","\u2303","\u2325","\u2318"].includes(Constants.KEYCODELIST[e.keyCode]))return r.style.backgroundColor?e.preventDefault():popTextCell(n,[r]),!0}const c=t.querySelectorAll(".av__row--select:not(.av__row--header)");if(c.length>0){if(matchHotKey("\u2318/",e))return e.stopPropagation(),e.preventDefault(),avContextmenu(n,c[0],{x:t.querySelector(".layout-tab-bar").getBoundingClientRect().left,y:c[0].getBoundingClientRect().bottom}),!0;if(e.key==="Escape")return e.preventDefault(),selectRow(c[0].querySelector(".av__firstcol"),"unselectAll"),!0;if(e.key==="Backspace")return e.preventDefault(),deleteRow(t,n),!0;if(e.key==="Enter")return selectRow(c[0].querySelector(".av__firstcol"),"unselectAll"),popTextCell(n,[c[0].querySelector(".av__cell")]),e.preventDefault(),!0;if(e.key==="ArrowUp"){const f=c[0].previousElementSibling;return selectRow(c[0].querySelector(".av__firstcol"),"unselectAll"),f&&!f.classList.contains("av__row--header")?(selectRow(f.querySelector(".av__firstcol"),"select"),cellScrollIntoView(t,f)):t.classList.add("protyle-wysiwyg--select"),e.preventDefault(),!0}if(e.key==="ArrowDown"){const f=c[c.length-1].nextElementSibling;return selectRow(c[0].querySelector(".av__firstcol"),"unselectAll"),f&&!f.classList.contains("av__row--util")?(selectRow(f.querySelector(".av__firstcol"),"select"),cellScrollIntoView(t,f)):t.classList.add("protyle-wysiwyg--select"),e.preventDefault(),!0}}return!1},_d=e=>{const t=document.querySelector(".av__panel");if(t&&window.siyuan.menus.menu.element.classList.contains("fn__none")&&(t.querySelector('[data-type="goSearchRollupCol"]')&&!t.querySelector(".b3-text-field")||t.querySelector('[data-type="addAssetExist"]'))){const n=t.querySelector(".b3-menu__items");if(e.key==="Enter"){const a=n.querySelector(".b3-menu__item--current");if(a){const i=a.querySelector('[data-type="editAssetItem"]'),s=a.querySelector(".b3-form__upload");return i?t.dispatchEvent(new CustomEvent("click",{detail:{type:i.getAttribute("data-type"),target:i}})):s?s.dispatchEvent(new MouseEvent("click",{bubbles:!0})):t.dispatchEvent(new CustomEvent("click",{detail:{type:a.getAttribute("data-type"),target:a}})),!0}}else{if(e.key==="Escape")return t.dispatchEvent(new CustomEvent("click",{detail:"close"})),!0;if(upDownHint(n,e,"b3-menu__item--current",n.firstElementChild))return!0}}return!1},vd=e=>{var t;if(e.command==="switchReadonly")return updateReadonly(e.protyle.breadcrumb.element.parentElement.querySelector('.block__icon[data-type="readonly"]'),e.protyle),!0;if(e.command==="switchAdjust"){let a;const i=e.protyle.wysiwyg.element.getAttribute(Constants.CUSTOM_SY_FULLWIDTH);return i?a=i==="true"?"false":"true":a=window.siyuan.config.editor.fullWidth?"fal
584se":"true",fetchPost("/api/attr/setBlockAttrs",{id:e.protyle.block.rootID,attrs:{[Constants.CUSTOM_SY_FULLWIDTH]:a}}),!0}const n=hasClosestBlock(e.previousRange.startContainer);if(!n)return!1;if(e.command==="enter"){let a=getTopAloneElement(n);a.parentElement.classList.contains("li")&&a.parentElement.parentElement.classList.contains("list")&&((t=a.nextElementSibling)!=null&&t.classList.contains("list"))&&a.previousElementSibling.classList.contains("protyle-action")&&(a=a.parentElement);const i=a.getAttribute("data-node-id");return e.protyle.options.backlinkData||zoomOut({protyle:e.protyle,id:i}),!0}return e.command==="enterBack"?(enterBack(e.protyle,n.getAttribute("data-node-id")),!0):!1};var Eo=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const ss=(e,t)=>{let n="";Array.from(e.cloneContents().childNodes).forEach(a=>{a.nodeType===3?n+=a.textContent:n+=a.outerHTML}),fetchPost("/api/block/getDOMText",{dom:n},a=>{t(a.data)})},Ed=(e,t)=>{t.addEventListener("keydown",n=>Eo(void 0,null,function*(){var a,i,s,o,l,r,c,f;if(n.target.localName==="protyle-html"||n.target.localName==="input"){n.stopPropagation();return}if(e.disabled||!e.selectElement.classList.contains("fn__none")){n.stopPropagation(),n.preventDefault();return}e.wysiwyg.preventKeyup=!1,hideElements(["util"],e),n.shiftKey&&n.key.indexOf("Arrow")>-1||!n.repeat&&n.code!==""&&hideElements(["toolbar"],e);const d=getEditorRange(e.wysiwyg.element),u=hasClosestBlock(d.startContainer);if(!u)return;const g=hasClosestBlock(d.endContainer);if(!matchHotKey("\u2318C",n)&&g&&!u.isSameNode(g)){n.stopPropagation(),n.preventDefault();return}if(document.querySelector(".av__panel")||avKeydown(n,u,e))return;if(u.classList.contains("protyle-wysiwyg--select")&&isNotCtrl(n)&&!n.shiftKey&&!n.altKey){if(n.key.toLowerCase()==="a")return n.stopPropagation(),n.preventDefault(),e.wysiwyg.element.blur(),setTimeout(()=>{insertEmptyBlock(e,"afterend")},100),!1;if(n.key.toLowerCase()==="b")return n.stopPropagation(),n.preventDefault(),e.wysiwyg.element.blur(),setTimeout(()=>{insertEmptyBlock(e,"beforebegin")},100),!1}if(n.isComposing){n.stopPropagation();return}if(["\u2318","\u21E7","\u2325","\u2303"].includes(Constants.KEYCODELIST[n.keyCode])||(Constants.KEYCODELIST[n.keyCode]==="/"||n.key==="/"||n.code==="Slash"&&n.key==="Process"&&n.keyCode===229?e.hint.enableSlash=!0:(Constants.KEYCODELIST[n.keyCode]==="\\"||n.key==="\\"||n.key===","&&n.keyCode===229||n.code==="Backslash"&&n.key==="Process"&&n.keyCode===229)&&(e.hint.enableSlash=!1,hideElements(["hint"],e))),n.key!=="PageUp"&&n.key!=="PageDown"&&n.key!=="Home"&&n.key!=="End"&&n.key.indexOf("Arrow")===-1&&n.key!=="Escape"&&n.key!=="Shift"&&n.key!=="Meta"&&n.key!=="Alt"&&n.key!=="Control"&&n.key!=="CapsLock"&&!isNotEditBlock(u)&&!/^F\d{1,2}$/.test(n.key)&&n.key!=="Process"&&(setInsertWbrHTML(u,d,e),e.wysiwyg.preventKeyup=!0),!window.siyuan.menus.menu.element.classList.contains("fn__none")&&(["\u2190","\u2191","\u2192","\u2193"].includes(Constants.KEYCODELIST[n.keyCode])||Constants.KEYCODELIST[n.keyCode]==="\u21A9")&&!n.altKey&&!n.shiftKey&&isNotCtrl(n)){n.preventDefault();return}else n.key!=="Escape"&&window.siyuan.menus.menu.remove();if(!["Alt","Meta","Shift","Control","CapsLock","Escape"].includes(n.key)&&e.options.render.breadcrumb&&e.breadcrumb.hide(),!n.altKey&&!n.shiftKey&&isNotCtrl(n)&&(n.key==="ArrowDown"||n.key==="ArrowUp")){const v=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(v.length>0){if(n.preventDefault(),n.stopPropagation(),hideElements(["select"],e),n.key==="ArrowDown"){const w=v[v.length-1];let y=getNextBlock(w);if(y)if(y.getBoundingClientRect().width===0){const _=hasTopClosestByAttribute(y,"fold","1");_?(y=getNextBlock(_),y?y=getFirstBlock(y):y=w):y=w}else y.getAttribute("fold")==="1"&&(y.classList.contains("sb")||y.classList.contains("bq"))||(y=getFirstBlock(y));else y=w;y.classList.add("protyle-wysiwyg--select"),countBlockWord([y.getAttribute("data-node-id")]);const h=y.getBoundingClientRect().bottom-e.contentElement.getBoundingClientRect().bottom;h>0&&(e.contentElement.scrollTop=e.contentElement.scrollTop+h,e.scroll.lastScrollTop=e.contentElement.scrollTop-1),focusBlock(y)}else if(n.key==="ArrowUp"){let w=getPreviousBlock(v[0]);if(w){if(w=getLastBlock(w),w.getBoundingClientRect().width===0){const y=hasTopClosestByAttribute(w,"fold","1");y?w=getFirstBlock(y):w=v[0]}else if(w){const y=hasTopClosestByAttribute(w,"fold","1");y&&(y.classList.contains("sb")||y.classList.contains("bq"))&&(w=y)}}else if(e.title&&e.title.editElement&&(e.wysiwyg.element.firstElementChild.getAttribute("data-eof")==="1"||e.contentElement.scrollTop===0)){const y=setLastNodeRange(e.title.editElement,d,!1);y.collapse(!1),focusByRange(y),n.stopPropagation(),n.preventDefault()}else e.contentElement.scrollTop!==0?(e.contentElement.scrollTop=0,e.scroll.lastScrollTop=8):w=v[0];if(w){w.classList.add("protyle-wysiwyg--select"),countBlockWord([w.getAttribute("data-node-id")]);const y=w.getBoundingClientRect().top-e.contentElement.getBoundingClientRect().top;y<0&&(e.contentElement.scrollTop=e.contentElement.scrollTop+y,e.scroll.lastScrollTop=e.contentElement.scrollTop+1),focusBlock(w)}}return}}if(n.key!=="PageUp"&&n.key!=="PageDown"&&n.key!=="Home"&&n.key!=="End"&&n.key.indexOf("Arrow")===-1&&isNotCtrl(n)&&n.key!=="Escape"&&!n.shiftKey&&!n.altKey&&!/^F\d{1,2}$/.test(n.key)&&n.key!=="Enter"&&n.key!=="Tab"&&n.key!=="Backspace"&&n.key!=="Delete"&&n.key!=="ContextMenu")return n.stopPropagation(),hideElements(["select"],e),!1;if(matchHotKey(window.siyuan.config.keymap.editor.general.collapse.custom,n)&&!n.repeat){const v=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");return v.length>0?setFold(e,v[0]):u.parentElement.getAttribute("data-type")==="NodeListItem"?u.parentElement.childElementCount>3?setFold(e,u.parentElement):setFold(e,u):u.getAttribute("data-type")==="NodeHeading"?setFold(e,u):setFold(e,getTopAloneElement(u)),n.stopPropagation(),n.preventDefault(),!1}if(matchHotKey(window.siyuan.config.keymap.editor.general.expand.custom,n)&&!n.repeat){const v=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");v.length>0?setFold(e,v[0],!0):u.parentElement.getAttribute("data-type")==="NodeListItem"?u.parentElement.childElementCount>3?setFold(e,u.parentElement,!0):setFold(e,u,!0):u.getAttribute("data-type")==="NodeHeading"?setFold(e,u,!0):setFold(e,getTopAloneElement(u),!0),n.stopPropagation(),n.preventDefault();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.expandUp.custom,n)){upSelect({protyle:e,event:n,nodeElement:u,editorElement:t,range:d,cb(v){const w=v[0].previousElementSibling;if(w&&w.getAttribute("data-node-id")){w.classList.add("protyle-wysiwyg--select"),v.forEach(h=>{h.removeAttribute("select-end")}),w.setAttribute("select-end","true");const y=w.getBoundingClientRect().top-e.contentElement.getBoundingClientRect().top;y<0&&(e.contentElement.scrollTop=e.contentElement.scrollTop+y,e.scroll.lastScrollTop=e.contentElement.scrollTop+1)}else v[0].parentElement.classList.contains("protyle-wysiwyg")||(hideElements(["select"],e),v[0].parentElement.classList.add("protyle-wysiwyg--select"))}});return}if(matchHotKey(window.siyuan.config.keymap.editor.general.expandDown.custom,n)){downSelect({protyle:e,event:n,nodeElement:u,editorElement:t,range:d,cb(v){const w=v[v.length-1],y=w.nextElementSibling;if(y&&y.getAttribute("data-node-id")){y.classList.add("protyle-wysiwyg--select"),v.forEach(_=>{_.removeAttribute("select-end")}),y.setAttribute("select-end","true");const h=y.getBoundingClientRect().bottom-e.contentElement.getBoundingClientRect().bottom;h>0&&(e.contentElement.scrollTop=e.contentElement.scrollTop+h,e.scroll.lastScrollTop=e.contentElement.scrollTop-1)}else w.parentElement.classList.contains("protyle-wysiwyg")||(hideElements(["select"],e),w.parentElement.classList.add("protyle-wysiwyg--select"))}});return}if(matchHotKey("\u21E7\u2191",n)){upSelect({protyle:e,event:n,nodeElement:u,editorElement:t,range:d,cb(v){const w=getStartEndElement(v);
584if(w.startElement.getBoundingClientRect().top>=w.endElement.getBoundingClientRect().top){const y=w.endElement.previousElementSibling;if(y&&y.getAttribute("data-node-id")){y.classList.add("protyle-wysiwyg--select"),y.setAttribute("select-end","true"),w.endElement.removeAttribute("select-end");const h=y.getBoundingClientRect().top-e.contentElement.getBoundingClientRect().top;h<0&&(e.contentElement.scrollTop=e.contentElement.scrollTop+h,e.scroll.lastScrollTop=e.contentElement.scrollTop+1)}else w.endElement.parentElement.classList.contains("protyle-wysiwyg")||(hideElements(["select"],e),w.endElement.parentElement.classList.add("protyle-wysiwyg--select"))}else{w.endElement.classList.remove("protyle-wysiwyg--select"),w.endElement.removeAttribute("select-end");const y=getPreviousBlock(w.endElement);y&&(y.setAttribute("select-end","true"),y.getBoundingClientRect().top<=e.contentElement.getBoundingClientRect().top&&(preventScroll(e),y.scrollIntoView(!0)))}}});return}if(matchHotKey("\u21E7\u2193",n)){downSelect({protyle:e,event:n,nodeElement:u,editorElement:t,range:d,cb(v){const w=getStartEndElement(v);if(w.startElement.getBoundingClientRect().top<=w.endElement.getBoundingClientRect().top){const y=w.endElement.nextElementSibling;if(y&&y.getAttribute("data-node-id"))if(y.getBoundingClientRect().width===0)hideElements(["select"],e),w.endElement.parentElement.classList.add("protyle-wysiwyg--select");else{y.classList.add("protyle-wysiwyg--select"),y.setAttribute("select-end","true"),w.endElement.removeAttribute("select-end");const h=y.getBoundingClientRect().bottom-e.contentElement.getBoundingClientRect().bottom;h>0&&(e.contentElement.scrollTop=e.contentElement.scrollTop+h,e.scroll.lastScrollTop=e.contentElement.scrollTop-1)}else w.endElement.parentElement.classList.contains("protyle-wysiwyg")||(hideElements(["select"],e),w.endElement.parentElement.classList.add("protyle-wysiwyg--select"))}else{w.endElement.classList.remove("protyle-wysiwyg--select"),w.endElement.removeAttribute("select-end");const y=getNextBlock(w.endElement);y&&(y.setAttribute("select-end","true"),y.getBoundingClientRect().bottom>=e.contentElement.getBoundingClientRect().bottom&&(preventScroll(e),y.scrollIntoView(!1)))}}});return}if(matchHotKey(window.siyuan.config.keymap.general.enter.custom,n)){onlyProtyleCommand({protyle:e,command:"enter",previousRange:d}),n.preventDefault(),n.stopPropagation();return}if(matchHotKey(window.siyuan.config.keymap.general.enterBack.custom,n)){onlyProtyleCommand({protyle:e,command:"enterBack",previousRange:d}),n.preventDefault(),n.stopPropagation();return}if(n.shiftKey&&!n.altKey&&isNotCtrl(n)&&(n.key==="Home"||n.key==="End")&&isMac()||n.shiftKey&&!n.altKey&&isOnlyMeta(n)&&(n.key==="Home"||n.key==="End")&&!isMac()){const v=hasTopClosestByAttribute(u,"data-node-id",null);if(v){v.querySelectorAll(".protyle-wysiwyg--select").forEach(y=>{y.classList.remove("protyle-wysiwyg--select")}),v.classList.add("protyle-wysiwyg--select");let w=n.key==="Home"?v.previousElementSibling:v.nextElementSibling;for(;w;)w.classList.add("protyle-wysiwyg--select"),w=n.key==="Home"?w.previousElementSibling:w.nextElementSibling;n.key==="Home"?e.wysiwyg.element.firstElementChild.scrollIntoView():e.wysiwyg.element.lastElementChild.scrollIntoView(!1)}n.stopPropagation(),n.preventDefault();return}if((n.key==="Home"||n.key==="End")&&!n.shiftKey&&!n.altKey&&isNotCtrl(n)&&hideElements(["hint"],e),!n.altKey&&!n.shiftKey&&isNotCtrl(n)&&(n.key==="PageUp"||n.key==="PageDown")){n.key==="PageUp"?(e.contentElement.scrollTop=e.contentElement.scrollTop-e.contentElement.clientHeight+60,e.scroll.lastScrollTop=e.contentElement.scrollTop+1):(e.contentElement.scrollTop=e.contentElement.scrollTop+e.contentElement.clientHeight-60,e.scroll.lastScrollTop=e.contentElement.scrollTop-1);const v=e.contentElement.getBoundingClientRect();let w=document.elementFromPoint(v.x+v.width/2,v.y+v.height/2);w.classList.contains("protyle-wysiwyg")&&(w=document.elementFromPoint(v.x+v.width/2,v.y+v.height/2+Constants.SIZE_TOOLBAR_HEIGHT));const y=hasClosestBlock(w);y&&!y.isSameNode(u)&&focusBlock(y,void 0,!1),n.stopPropagation(),n.preventDefault();return}if(!n.altKey&&!n.shiftKey&&(n.key.indexOf("Arrow")>-1&&isNotCtrl(n)||n.key==="Enter")&&!e.hint.element.classList.contains("fn__none")&&e.hint.select(n,e))return;if(matchHotKey("\u2318/",n)){n.stopPropagation(),n.preventDefault();const v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if(v.length===0){const y=hasClosestByAttribute(d.startContainer,"data-type",null);if(y&&y.tagName==="SPAN"){const h=y.getAttribute("data-type").split(" ");if(h.length>0&&(e.toolbar.range=d,removeSearchMark(y)),h.includes("block-ref")){refMenu(e,y);return}else if(h.includes("inline-memo")){e.toolbar.showRender(e,y);return}else if(h.includes("file-annotation-ref")){fileAnnotationRefMenu(e,y);return}else if(h.includes("a")){linkMenu(e,y);return}else if(h.includes("tag")){tagMenu(e,y);return}}if(d.startOffset===0&&d.startContainer.nodeType===3){const h=hasPreviousSibling(d.startContainer);if(h&&h.nodeType!==3&&((a=h.getAttribute("data-type"))==null?void 0:a.indexOf("inline-math"))>-1){inlineMathMenu(e,h);return}else if(!h&&d.startContainer.parentElement.previousSibling&&d.startContainer.parentElement.previousSibling.isSameNode(d.startContainer.parentElement.previousElementSibling)&&((i=d.startContainer.parentElement.previousElementSibling.getAttribute("data-type"))==null?void 0:i.indexOf("inline-math"))>-1){inlineMathMenu(e,d.startContainer.parentElement.previousElementSibling);return}}
584v.push(u)}v.length===1?e.gutter.renderMenu(e,v[0]):e.gutter.renderMultipleMenu(e,v);const w=u.getBoundingClientRect();window.siyuan.menus.menu.popup({x:w.left,y:w.top,isLeft:!0});return}if(fixTable(e,n,d)){n.preventDefault();return}const p=d.toString();if(!n.altKey&&!n.shiftKey&&isNotCtrl(n)&&!n.isComposing&&n.key.indexOf("Arrow")>-1){const v=hasClosestByTag(d.startContainer,"TD")||hasClosestByTag(d.startContainer,"TH"),w=v||getContenteditableElement(u)||u,y=getSelectionOffset(w,e.wysiwyg.element,d);if(u.classList.contains("code-block")&&y.end===w.innerText.length&&(y.end-=1),n.key==="ArrowDown"&&(w==null?void 0:w.innerText.trimRight().substr(y.start).indexOf(`
585`))===-1&&(v&&!v.parentElement.nextElementSibling&&u.getAttribute("data-type")==="NodeTable"&&!getNextBlock(u)||u.getAttribute("data-type")==="NodeCodeBlock"&&!getNextBlock(u)||u.parentElement.getAttribute("data-type")==="NodeBlockquote"&&u.nextElementSibling.classList.contains("protyle-attr")&&!getNextBlock(u.parentElement)))u.parentElement.getAttribute("data-type")==="NodeBlockquote"?insertEmptyBlock(e,"afterend",u.parentElement.getAttribute("data-node-id")):insertEmptyBlock(e,"afterend",u.getAttribute("data-node-id"));else if(n.key==="ArrowUp"){const h=getContenteditableElement(e.wysiwyg.element.firstElementChild);if(!getPreviousBlock(u)&&u.contains(h)||!h&&u.isSameNode(e.wysiwyg.element.firstElementChild)){if(getSelectionPosition(w,d).top-w.getBoundingClientRect().top<20||u.classList.contains("av"))if(e.title&&e.title.editElement&&(e.wysiwyg.element.firstElementChild.getAttribute("data-eof")==="1"||e.contentElement.scrollTop===0)){const _=setLastNodeRange(e.title.editElement,d,!1);_.collapse(!1),focusByRange(_),n.stopPropagation(),n.preventDefault()}else e.contentElement.scrollTop=0,e.scroll.lastScrollTop=8}else if(((w==null?void 0:w.innerText.substr(0,y.end).indexOf(`
586`))===-1||y.start===0)&&getSelectionPosition(w,d).top-w.getBoundingClientRect().top<20){let _=getPreviousBlock(u);if(_&&(_=getLastBlock(_),_)){const C=hasClosestByAttribute(_,"fold","1");if(!C&&_.classList.contains("code-block"))focusBlock(_,void 0,!1),scrollCenter(e,_),n.stopPropagation(),n.preventDefault();else if(C&&C.getAttribute("data-type")!=="NodeListItem")C.scrollTop=0,focusBlock(C,void 0,!0),scrollCenter(e,C),n.stopPropagation(),n.preventDefault();else{const L=getContenteditableElement(_);if(L&&L.lastChild.nodeType===3&&L.lastChild.textContent.endsWith(`
587`)){focusBlock(_,void 0,!1),n.preventDefault(),n.stopPropagation();return}}}}}else if(p===""&&(n.key==="ArrowDown"||n.key==="ArrowRight")&&u.isSameNode(getLastBlock(e.wysiwyg.element.lastElementChild))&&!hasClosestByTag(d.startContainer,"TD")&&!hasClosestByTag(d.startContainer,"TH")){const h=getContenteditableElement(u);h&&!h.querySelector(".emoji")&&h.textContent.replace(/\n$/,"").length<=getSelectionOffset(h,void 0,d).end&&(n.stopPropagation(),n.preventDefault(),focusByRange(d))}else if(p===""&&n.key==="ArrowLeft"&&u.isSameNode(getFirstBlock(e.wysiwyg.element.firstElementChild))){const h=getContenteditableElement(u);h&&getSelectionOffset(h,void 0,d).start===0&&(n.stopPropagation(),n.preventDefault(),focusByRange(d))}if(n.key==="ArrowDown"){if((w==null?void 0:w.innerText.trimRight().substr(y.start).indexOf(`
588`))===-1&&u.isSameNode(e.wysiwyg.element.lastElementChild)){setLastNodeRange(getContenteditableElement(w),d,!1),d.collapse(!1),n.stopPropagation(),n.preventDefault();return}const h=hasClosestByAttribute(d.startContainer,"fold","1");if(h){let _=getNextBlock(h);_&&(_.getAttribute("fold")==="1"&&(_.classList.contains("sb")||_.classList.contains("bq"))||(_=getFirstBlock(_)),focusBlock(_),scrollCenter(e,_)),n.stopPropagation(),n.preventDefault()}else if((w==null?void 0:w.innerText.substr(y.end).indexOf(`
589`))===-1||y.end>=w.innerText.trimEnd().length){d.collapse(!1);const _=getNextBlock(u);_&&(_.getAttribute("fold")==="1"||_.classList.contains("code-block"))&&w.getBoundingClientRect().bottom-getSelectionPosition(u,d).top<40&&(focusBlock(_),scrollCenter(e,_),n.stopPropagation(),n.preventDefault())}}return}
589if(!n.altKey&&(n.key==="Backspace"||n.key==="Delete")||matchHotKey("\u2303D",n)){if(e.wysiwyg.element.querySelector(".protyle-wysiwyg--select")){removeBlock(e,u,d,n.key==="Backspace"?"Backspace":"Delete"),n.stopPropagation(),n.preventDefault();return}if(p===""&&n.key==="Backspace"&&d.startOffset===d.startContainer.textContent.length&&d.startContainer.textContent.endsWith(`
590`+Constants.ZWSP)){d.setStart(d.startContainer,d.startOffset-1),d.collapse(!0),n.stopPropagation(),n.preventDefault();return}const v=hasPreviousSibling(d.startContainer);if(d.startOffset===1&&d.startContainer.textContent===Constants.ZWSP&&v&&v.nodeType!==3&&n.key==="Backspace"){if(v.classList.contains("img"))v.classList.add("img--select");else if(((s=v.getAttribute("data-type"))==null?void 0:s.indexOf("inline-math"))>-1){v.after(document.createElement("wbr"));const y=u.outerHTML;d.startContainer.textContent="",v.remove(),updateTransaction(e,u.getAttribute("data-node-id"),u.outerHTML,y),focusByWbr(u,d),n.stopPropagation(),n.preventDefault();return}}const w=e.wysiwyg.element.querySelector(".img--select");if(w){if(w.classList.remove("img--select"),u.contains(w)){removeImage(w,u,d,e),n.stopPropagation(),n.preventDefault();return}}else if(p===""){if(u.classList.contains("table")&&u.querySelector(".table__select").clientHeight>0){clearTableCell(e,u),n.stopPropagation(),n.preventDefault();return}const y=getContenteditableElement(u);if(!y){u.classList.add("protyle-wysiwyg--select"),removeBlock(e,u,d,n.key==="Backspace"?"Backspace":"Delete"),n.stopPropagation(),n.preventDefault();return}const h=getSelectionOffset(y,e.wysiwyg.element,d);if(n.key==="Delete"||matchHotKey("\u2303D",n)){if(d.startOffset===0&&d.startContainer.textContent.length===1){const _=hasPreviousSibling(d.startContainer),C=hasNextSibling(d.startContainer);if(_&&_.nodeType===1&&_.classList.contains("img")&&C&&C.nodeType===1&&C.classList.contains("img")){const L=document.createElement("wbr");d.insertNode(L);const I=u.outerHTML;L.nextSibling.textContent=Constants.ZWSP,updateTransaction(e,u.getAttribute("data-node-id"),u.outerHTML,I),focusByWbr(u,d),n.preventDefault();return}}if(isEndOfBlock(d)||y.textContent.substring(h.start)===`
591`){const _=d.cloneRange(),C=getNextBlock(getTopAloneElement(u));if(C){const L=focusBlock(C);if(L){const I=hasClosestBlock(L.startContainer);
591I&&(_.insertNode(document.createElement("wbr")),removeBlock(e,I,L,"Delete"))}n.stopPropagation(),n.preventDefault();return}}else if(h.end===y.innerText.length-1&&u.getAttribute("data-type")==="NodeCodeBlock"){n.stopPropagation(),n.preventDefault();return}else{let _=hasNextSibling(d.startContainer);if(_){if(_.nodeType===3&&_.textContent===Constants.ZWSP){if(!_.nextSibling){const C=getNextBlock(u);C&&removeBlock(e,C,d,"remove"),n.stopPropagation(),n.preventDefault();return}_=_.nextSibling}if(_.nodeType===1&&_.classList.contains("img")&&getSelectionOffset(d.startContainer,e.wysiwyg.element,d).start===d.startContainer.textContent.length){removeImage(_,u,d,e),n.stopPropagation(),n.preventDefault();return}}}}else{const _=d.startContainer.childNodes[d.startOffset-1];if(h.start===0&&(d.startOffset===0||_&&_.nodeType===3&&!hasPreviousSibling(_)&&_.textContent==="")){removeBlock(e,u,d,"Backspace"),n.stopPropagation(),n.preventDefault();return}if(d.startContainer.nodeType!==3&&u.getAttribute("data-type")==="NodeTable"&&((o=d.startContainer.children[d.startOffset-1])==null?void 0:o.tagName)==="TABLE"){u.classList.add("protyle-wysiwyg--select"),removeBlock(e,u,d,"Backspace"),n.stopPropagation(),n.preventDefault();return}if(_&&_.nodeType!==3&&_.classList.contains("img")){removeImage(_,u,d,e),n.stopPropagation(),n.preventDefault();return}if(d.startOffset===1&&d.startContainer.textContent.length===1){const L=hasPreviousSibling(d.startContainer),I=hasNextSibling(d.startContainer);if(L&&L.nodeType===1&&L.classList.contains("img")&&I&&I.nodeType===1&&I.classList.contains("img")){const S=document.createElement("wbr");d.insertNode(S);const x=u.outerHTML;S.previousSibling.textContent=Constants.ZWSP,updateTransaction(e,u.getAttribute("data-node-id"),u.outerHTML,x),focusByWbr(u,d),n.preventDefault();return}if(h.start===1&&d.startContainer.textContent!==Constants.ZWSP&&!L&&I&&I.nodeType===1&&I.classList.contains("img")){const S=document.createElement("wbr");d.insertNode(S);const x=u.outerHTML;S.previousSibling.textContent=Constants.ZWSP,updateTransaction(e,u.getAttribute("data-node-id"),u.outerHTML,x),focusByWbr(u,d),n.preventDefault();return}}if(u.classList.contains("code-block")&&isOnlyMeta(n)&&d.startContainer.nodeType===3&&d.startContainer.textContent.substring(d.startOffset-1,d.startOffset)===`
592`){n.stopPropagation(),n.preventDefault();return}const C=hasClosestByTag(d.startContainer,"SPAN");if(h.start===2&&C&&getSelectionOffset(C,e.wysiwyg.element,d).start===1&&C.innerText.startsWith(Constants.ZWSP)&&C.innerText!==Constants.ZWSP&&y.innerText.startsWith(Constants.ZWSP)){focusBlock(u),n.stopPropagation(),n.preventDefault();return}if(h.start===1&&!C&&y.innerText.startsWith(Constants.ZWSP)&&y.innerText.length>1){setFirstNodeRange(y,d),removeBlock(e,u,d,"Backspace"),n.stopPropagation(),n.preventDefault();return}}}else if(u.classList.contains("code-block")&&getContenteditableElement(u).textContent===`
593`){d.collapse(!0),n.stopPropagation(),n.preventDefault();return}}if(matchHotKey("\u21E7\u21A9",n)&&p===""&&softEnter(d,u,e)){n.stopPropagation(),n.preventDefault();return}if(matchHotKey("\u2325\u21A9",n)&&p===""){const v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if(v.length===0&&v.push(u),v.length>0&&!isIncludesHotKey("\u2325\u21A9")){if(v.find(y=>!y.classList.contains("code-block")))addSubList(e,u,d);else{const y=[];v.forEach(h=>{y.push(h.querySelector(".protyle-action__language"))}),e.toolbar.showCodeLanguage(e,y)}n.stopPropagation(),n.preventDefault();return}}if(matchHotKey("\u21A9",n)){enter(u,d,e),n.stopPropagation(),n.preventDefault();return}if(matchHotKey("\u2318A",n))return n.preventDefault(),selectAll(e,u,d),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.undo.custom,n)){e.undo.undo(e),n.preventDefault(),n.stopPropagation();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.redo.custom,n)){e.undo.redo(e),n.preventDefault(),n.stopPropagation();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.copyText.custom,n)){if(p!=="")ss(d,v=>{writeText(`${v.trim()} ((${u.getAttribute("data-node-id")} "*"))`)});else{const v=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");v.length>0?(v[0].setAttribute("data-reftext","true"),focusByRange(getEditorRange(u)),document.execCommand("copy")):writeText(`((${u.getAttribute("data-node-id")} "*"))`)}return n.preventDefault(),n.stopPropagation(),!0}if(matchHotKey(window.siyuan.config.keymap.editor.general.attr.custom,n)){const v=getTopAloneElement(u);if(p===""){const w=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");let y;w.length===1?y=w[0]:y=v,openAttr(y,"bookmark",e)}else ss(d,w=>{const y=v.outerHTML,h=v.lastElementChild.querySelector(".protyle-attr--name");h?h.innerHTML=`<svg><use xlink:href="#iconN"></use></svg>${w.trim()}`:v.lastElementChild.insertAdjacentHTML("afterbegin",`<div class="protyle-attr--name"><svg><use xlink:href="#iconN"></use></svg>${w.trim()}</div>`),v.setAttribute("name",w.trim()),updateTransaction(e,v.getAttribute("data-node-id"),v.outerHTML,y)});return n.preventDefault(),n.stopPropagation(),!0}if(matchHotKey(window.siyuan.config.keymap.editor.general.rename.custom,n)&&!e.disabled){p===""?fetchPost("/api/block/getDocInfo",{id:e.block.rootID},v=>{rename({notebookId:e.notebookId,path:e.path,name:v.data.ial.title,range:d,type:"file"})}):fetchPost("/api/filetree/renameDoc",{notebook:e.notebookId,path:e.path,title:replaceFileName(p)}),n.preventDefault(),n.stopPropagation();return}const m=matchHotKey(window.siyuan.config.keymap.editor.general.newNameFile.custom,n);if(m||matchHotKey(window.siyuan.config.keymap.editor.general.newNameSettingFile.custom,n)){!p.trim()&&(u.querySelector("tr")||u.querySelector("span"))||(!p.trim()&&getContenteditableElement(u).textContent&&selectAll(e,u,d),m?fetchPost("/api/filetree/getHPathByPath",{notebook:e.notebookId,path:e.path},v=>{newFileBySelect(e,p,u,v.data,e.notebookId)}):getSavePath(e.path,e.notebookId,(v,w)=>{newFileBySelect(e,p,u,v,w)})),n.preventDefault(),n.stopPropagation();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.newContentFile.custom,n)){newFileContentBySelect(e),n.preventDefault(),n.stopPropagation();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.alignLeft.custom,n)){const v=u.querySelectorAll(".img--select");if(v.length>0)alignImgLeft(e,u,Array.from(v),u.getAttribute("data-node-id"),u.outerHTML);else{let w=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));w.length===0&&(w=[u]),updateBatchTransaction(w,e,y=>{y.classList.contains("av")?y.style.justifyContent="":y.style.textAlign="left"})}n.stopPropagation(),n.preventDefault();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.alignCenter.custom,n)){const v=u.querySelectorAll(".img--select");if(v.length>0)alignImgCenter(e,u,Array.from(v),u.getAttribute("data-node-id"),u.outerHTML);else{let w=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));w.length===0&&(w=[u]),updateBatchTransaction(w,e,y=>
593{y.classList.contains("av")?y.style.justifyContent="center":y.style.textAlign="center"})}n.stopPropagation(),n.preventDefault();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.alignRight.custom,n)){let v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));v.length===0&&(v=[u]),updateBatchTransaction(v,e,w=>{w.classList.contains("av")?w.style.justifyContent="flex-end":w.style.textAlign="right"}),n.stopPropagation(),n.preventDefault();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.rtl.custom,n)){let v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));v.length===0&&(v=[u]),updateBatchTransaction(v,e,w=>{w.style.direction="rtl"}),n.stopPropagation(),n.preventDefault();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.ltr.custom,n)){let v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));v.length===0&&(v=[u]),updateBatchTransaction(v,e,w=>{w.style.direction="ltr"}),n.stopPropagation(),n.preventDefault();return}if(n.key==="Escape"){if(n.repeat){const v=hasClosestByClassName(d.startContainer,"card__main",!0);v&&document.activeElement&&document.activeElement.classList.contains("protyle-wysiwyg")&&(v.querySelector(".card__action:not(.fn__none) button:not([disabled])").focus(),hideElements(["select"],e))}else!e.toolbar.element.classList.contains("fn__none")||!e.hint.element.classList.contains("fn__none")||!e.toolbar.subElement.classList.contains("fn__none")?(hideElements(["toolbar","hint","util"],e),e.hint.enableExtend=!1):window.siyuan.menus.menu.element.classList.contains("fn__none")?u.classList.contains("protyle-wysiwyg--select")?(hideElements(["select"],e),countBlockWord([],e.block.rootID)):(hideElements(["select"],e),d.collapse(!1),u.classList.add("protyle-wysiwyg--select"),countBlockWord([u.getAttribute("data-node-id")],e.block.rootID)):window.siyuan.menus.menu.remove(!0);n.stopPropagation(),n.preventDefault();return}if(matchHotKey(window.siyuan.config.keymap.editor.heading.paragraph.custom,n)){const v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if(v.length===0&&v.push(u),v.length>1)turnsIntoTransaction({protyle:e,nodeElement:v[0],type:"Blocks2Ps"});else{const w=v[0].getAttribute("data-type");w==="NodeHeading"?turnsIntoTransaction({protyle:e,nodeElement:v[0],type:"Blocks2Ps"}):w==="NodeList"?turnsOneInto({protyle:e,nodeElement:v[0],id:v[0].getAttribute("data-node-id"),type:"CancelList"}):w==="NodeBlockquote"&&turnsOneInto({protyle:e,nodeElement:v[0],id:v[0].getAttribute("data-node-id"),type:"CancelBlockquote"})}return n.preventDefault(),n.stopPropagation(),!0}if(matchHotKey(window.siyuan.config.keymap.editor.heading.heading1.custom,n))return turnsIntoTransaction({protyle:e,nodeElement:u,type:"Blocks2Hs",level:1}),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.heading.heading2.custom,n))return turnsIntoTransaction({protyle:e,nodeElement:u,type:"Blocks2Hs",level:2}),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.heading.heading3.custom,n))return turnsIntoTransaction({protyle:e,nodeElement:u,type:"Blocks2Hs",level:3}),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.heading.heading4.custom,n))return turnsIntoTransaction({protyle:e,nodeElement:u,type:"Blocks2Hs",level:4}),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.heading.heading5.custom,n))return turnsIntoTransaction({protyle:e,nodeElement:u,type:"Blocks2Hs",level:5}),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.heading.heading6.custom,n))return turnsIntoTransaction({protyle:e,nodeElement:u,type:"Blocks2Hs",level:6}),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.insert.code.custom,n)&&!["NodeCodeBlock","NodeHeading","NodeTable"].includes(u.getAttribute("data-type"))){const v=getContenteditableElement(u);if(v){const w=u.getAttribute("data-node-id"),y=u.outerHTML;v.innerHTML="```"+window.siyuan.storage[Constants.LOCAL_CODELANG]+`
594`+Lute.EscapeHTMLStr(v.textContent)+"<wbr>\n```";const h=e.lute.SpinBlockDOM(u.outerHTML);u.outerHTML=h;const _=e.wysiwyg.element.querySelector(`[data-node-id="${w}"]`);return updateTransaction(e,w,h,y),highlightRender(_),n.preventDefault(),n.stopPropagation(),!0}}if(matchHotKey(window.siyuan.config.keymap.editor.insert.lastUsed.custom,n)){e.toolbar.range=d;const v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));p===""&&v.length===0&&v.push(u),fontEvent(e,v),n.stopPropagation(),n.preventDefault();return}if(!u.classList.contains("code-block")&&!n.repeat&&!isInEmbedBlock(u)){let v=!1;if(e.options.toolbar.find(w=>{if(!w.hotkey)return!1;if(matchHotKey(w.hotkey,n))return e.toolbar.range=d,["block-ref"].includes(w.name)&&e.toolbar.range.toString()===""||(v=!0,["a","block-ref","inline-math","inline-memo","text"].includes(w.name)?e.toolbar.element.querySelector(`[data-type="${w.name}"]`).dispatchEvent(new CustomEvent("click")):Constants.INLINE_TYPE.includes(w.name)?e.toolbar.setInlineMark(e,w.name,"range"):w.click&&w.click(e.getInstance())),!0}
594),v)return n.preventDefault(),n.stopPropagation(),e.wysiwyg.preventKeyup=!0,!0}if(matchHotKey(window.siyuan.config.keymap.editor.list.outdent.custom,n)){const v=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(v.length>0){let w=!0;return v.forEach((y,h)=>{y.nextElementSibling&&v[h+1]&&(v[h+1].isSameNode(y.nextElementSibling)||(w=!1))}),w&&(v[0].classList.contains("li")||v[0].parentElement.classList.contains("li"))&&listOutdent(e,Array.from(v),d),n.preventDefault(),n.stopPropagation(),!0}else if(u.parentElement.classList.contains("li")&&u.getAttribute("data-type")!=="NodeCodeBlock")return listOutdent(e,[u.parentElement],d),n.preventDefault(),n.stopPropagation(),!0}if(matchHotKey(window.siyuan.config.keymap.editor.list.indent.custom,n)){const v=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(v.length>0){let w=!0;return v.forEach((y,h)=>{y.nextElementSibling&&v[h+1]&&(v[h+1].isSameNode(y.nextElementSibling)||(w=!1))}),w&&(v[0].classList.contains("li")||v[0].parentElement.classList.contains("li"))&&listIndent(e,Array.from(v),d),n.preventDefault(),n.stopPropagation(),!0}else if(u.parentElement.classList.contains("li")&&u.getAttribute("data-type")!=="NodeCodeBlock")return listIndent(e,[u.parentElement],d),n.preventDefault(),n.stopPropagation(),!0}const b=matchHotKey(window.siyuan.config.keymap.editor.insert.list.custom,n),E=matchHotKey(window.siyuan.config.keymap.editor.insert.check.custom,n),k=matchHotKey(window.siyuan.config.keymap.editor.insert["ordered-list"].custom,n),A=matchHotKey(window.siyuan.config.keymap.editor.insert.quote.custom,n);if(b||k||E||A){const v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if(v.length===0&&v.push(u),v.length===1){const w=v[0].dataset.subtype,y=v[0].dataset.type;if(A)["NodeHeading","NodeParagraph","NodeList"].includes(y)?turnsIntoOneTransaction({protyle:e,selectsElement:v,type:"Blocks2Blockquote"}):(e.hint.splitChar="/",e.hint.lastIndex=-1,e.hint.fill(">"+Lute.Caret,e));else if(y==="NodeParagraph")turnsIntoOneTransaction({protyle:e,selectsElement:v,type:E?"Blocks2TLs":b?"Blocks2ULs":"Blocks2OLs"});else if(y==="NodeList"){const h=v[0].dataset.nodeId;w==="o"&&(b||E)?turnsOneInto({protyle:e,nodeElement:v[0],id:h,type:E?"UL2TL":"OL2UL"}):w==="t"&&(b||k)?turnsOneInto({protyle:e,nodeElement:v[0],id:h,type:b?"TL2UL":"TL2OL"}):w==="u"&&(E||k)&&turnsOneInto({protyle:e,nodeElement:v[0],id:h,type:E?"OL2TL":"UL2OL"})}else e.hint.splitChar="/",e.hint.lastIndex=-1,e.hint.fill((E?"* [ ] ":b?"* ":"1. ")+Lute.Caret,e)}else{let w=!1,y=!1;v.find((h,_)=>{if(h.classList.contains("li"))return w=!0,!0;if(h.nextElementSibling&&v[_+1]&&h.nextElementSibling.isSameNode(v[_+1]))y=!0;else if(_!==v.length-1)return y=!1,!0}),!w&&y&&turnsIntoOneTransaction({protyle:e,selectsElement:v,type:A?"Blocks2Blockquote":E?"Blocks2TLs":b?"Blocks2ULs":"Blocks2OLs"})}n.preventDefault(),n.stopPropagation();return}if(matchHotKey(window.siyuan.config.keymap.editor.insert.table.custom,n)){e.hint.splitChar="/",e.hint.lastIndex=-1,e.hint.fill(`| ${Lute.Caret} |  |  |
595| --- | --- | --- |
596|  |  |  |
597|  |  |  |`,e),n.preventDefault(),n.stopPropagation();return}if(matchHotKey(window.siyuan.config.keymap.editor.list.checkToggle.custom,n)){const v=hasClosestByAttribute(d.startContainer,"data-subtype","t");if(!v)return;const w=v.outerHTML;v.classList.contains("protyle-task--done")?(v.querySelector("use").setAttribute("xlink:href","#iconUncheck"),v.classList.remove("protyle-task--done")):(v.querySelector("use").setAttribute("xlink:href","#iconCheck"),v.classList.add("protyle-task--done")),v.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,v.getAttribute("data-node-id"),v.outerHTML,w),n.preventDefault(),n.stopPropagation();return}if(matchHotKey(window.siyuan.config.keymap.editor.general.insertBefore.custom,n))return(l=u.querySelector(".img--select"))==null||l.classList.remove("img--select"),insertEmptyBlock(e,"beforebegin"),n.preventDefault(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.insertAfter.custom,n))return(r=u.querySelector(".img--select"))==null||r.classList.remove("img--select"),insertEmptyBlock(e,"afterend"),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.jumpToParentNext.custom,n))return jumpToParent(e,u,"next"),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.jumpToParent.custom,n))return jumpToParent(e,u,"parent"),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.jumpToParentPrev.custom,n))return jumpToParent(e,u,"previous"),n.preventDefault(),n.stopPropagation(),!0;if(matchHotKey(window.siyuan.config.keymap.editor.general.moveToUp.custom,n)){n.preventDefault(),n.stopPropagation(),moveToUp(e,u,d);return}if(matchHotKey(window.siyuan.config.keymap.editor.general.moveToDown.custom,n)){n.preventDefault(),n.stopPropagation(),moveToDown(e,u,d);return}if(matchHotKey(window.siyuan.config.keymap.editor.general.vLayout.custom,n)){n.preventDefault(),n.stopPropagation();const v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if(v.length===1&&v[0].getAttribute("data-type")==="NodeSuperBlock"){if(v[0].getAttribute("data-sb-layout")==="col"){const w=v[0].outerHTML;v[0].setAttribute("data-sb-layout","row"),v[0].setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,v[0].getAttribute("data-node-id"),v[0].outerHTML,w)}else{d.insertNode(document.createElement("wbr"));const w=yield cancelSB(e,v[0]);transaction(e,w.doOperations,w.undoOperations),focusByWbr(e.wysiwyg.element,d)}return}if(v.length<2||(c=v[0])!=null&&c.classList.contains("li"))return;turnsIntoOneTransaction({protyle:e,selectsElement:v,type:"BlocksMergeSuperBlock",level:"row"});return}if(matchHotKey(window.siyuan.config.keymap.editor.general.hLayout.custom,n)){n.preventDefault(),n.stopPropagation();const v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if(v.length===1&&v[0].getAttribute("data-type")==="NodeSuperBlock"){if(v[0].getAttribute("data-sb-layout")==="row"){const w=v[0].outerHTML;v[0].setAttribute("data-sb-layout","col"),v[0].setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,v[0].getAttribute("data-node-id"),v[0].outerHTML,w)}else{d.insertNode(document.createElement("wbr"));const w=yield cancelSB(e,v[0]);transaction(e,w.doOperations,w.undoOperations),focusByWbr(e.wysiwyg.element,d)}return}if(v.length<2||(f=v[0])!=null&&f.classList.contains("li"))return;turnsIntoOneTransaction({protyle:e,selectsElement:v,type:"BlocksMergeSuperBlock",level:"col"});return}if(!n.repeat&&matchHotKey(window.siyuan.config.keymap.editor.general.ai.custom,n)){n.preventDefault(),n.stopPropagation();let v=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));v.length===0&&(v=[u]),AIActions(v,e);return}if(!n.repeat&&matchHotKey(window.siyuan.config.keymap.editor.general.aiWriting.custom,n)){n.preventDefault(),n.stopPropagation(),AIChat(e,u);return}if(!n.repeat&&matchHotKey(window.siyuan.config.keymap.editor.general.openInNewTab.custom,n)){n.preventDefault(),n.stopPropagation();const v=window.siyuan.blockPanels.find(y=>{if(y.element.contains(u))return!0}),w=u.getAttribute("data-node-id");checkFold(w,(y,h)=>{openFileById({app:e.app,id:w,action:h,zoomIn:y,openNewTab:!0}),v.destroy()});return}if(n.key==="Tab"&&isNotCtrl(n)&&!n.altKey){n.preventDefault();const v=window.siyuan.config.editor.codeTabSpaces===0?"	":"".padStart(window.siyuan.config.editor.codeTabSpaces," ");if(u.getAttribute("data-type")==="NodeCodeBlock"&&p!==""){!hasNextSibling(d.endContainer)&&d.endContainer.textContent.endsWith(`
598`)&&d.endOffset>0&&d.setEnd(d.endContainer,d.endOffset-1);const w=document.createElement("wbr");d.insertNode(w),d.setStartAfter(w);const y=u.outerHTML;let h="";n.shiftKey?d.extractContents().textContent.split(`
599`).forEach(L=>{L.startsWith(v)?h+=L.replace(v,"")+`
600`:h+=L+`
601`}):d.extractContents().textContent.split(`
602`).forEach(L=>{h+=v+L+`
603`});let _=u.querySelector(".protyle-action__language").textContent;
603if(d.commonAncestorContainer.nodeType===1){const L=d.commonAncestorContainer.className;L.startsWith("language-")&&(_=L.replace("language-",""),w.parentElement.isSameNode(d.commonAncestorContainer)||(w.parentElement.after(w),w.previousElementSibling.remove()))}window.hljs.getLanguage(_)||(_="plaintext"),w.insertAdjacentHTML("afterend",window.hljs.highlight(h.substr(0,h.length-1),{language:_,ignoreIllegals:!0}).value+"<br>"),d.setStart(w.nextSibling,0);const C=w.parentElement.querySelector("br");setLastNodeRange(C.previousSibling,d,!1),C.remove(),updateTransaction(e,u.getAttribute("data-node-id"),u.outerHTML,y),w.remove();return}if(!n.shiftKey){const w=d.startContainer.parentElement,y=e.toolbar.getCurrentType(d);y.length>0&&d.toString()===""&&d.startOffset===0&&w.tagName==="SPAN"&&!hasPreviousSibling(d.startContainer)&&!hasPreviousSibling(w)?(d.setStartBefore(w),d.collapse(!0)):w.tagName==="SPAN"&&!y.includes("search-mark")&&!y.includes("code")&&!y.includes("kbd")&&!y.includes("tag")&&d.toString()===""&&d.startContainer.nodeType===3&&(y.includes("inline-memo")||y.includes("block-ref")||y.includes("file-annotation-ref")||y.includes("a"))&&!hasNextSibling(d.startContainer)&&d.startContainer.textContent.length===d.startOffset&&(d.setEndAfter(w),d.collapse(!1));const h=document.createElement("wbr");d.insertNode(h);const _=u.outerHTML;return d.extractContents(),d.insertNode(document.createTextNode(v)),d.collapse(!1),focusByRange(d),h.remove(),updateTransaction(e,u.getAttribute("data-node-id"),u.outerHTML,_),!0}}if(n.key==="ContextMenu"){const v=getSelectionPosition(u,d);e.wysiwyg.element.dispatchEvent(new CustomEvent("contextmenu",{detail:{target:u,y:v.top+8,x:v.left}})),n.preventDefault(),n.stopPropagation();return}if(matchHotKey("\u21E7\u2318V",n)){n.returnValue=!1,n.preventDefault(),n.stopPropagation(),pasteAsPlainText(e);return}if(matchHotKey(window.siyuan.config.keymap.editor.general.openBy.custom,n)){const v=hasClosestByAttribute(d.startContainer,"data-type","a");if(v){openLink(e,v.getAttribute("data-href"),void 0,!1),n.preventDefault(),n.stopPropagation();return}const w=hasClosestByAttribute(d.startContainer,"data-type","file-annotation-ref");if(w){const h=`assets/${w.getAttribute("data-id").split("/")[1]}`;openLink(e,h,void 0,!1),n.preventDefault(),n.stopPropagation();return}return}if(n.shiftKey&&(n.key==="ArrowLeft"||n.key==="ArrowRight")){if(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select").length>0){n.stopPropagation(),n.preventDefault();return}if(!d.toString()){if(n.key==="ArrowRight"&&isEndOfBlock(d)&&!isIncludesHotKey("\u2325\u21E7\u2192")){n.preventDefault(),n.stopPropagation();return}const w=getContenteditableElement(u);if(getSelectionOffset(w,e.wysiwyg.element,d).start===0&&n.key==="ArrowLeft"&&!isIncludesHotKey("\u2325\u21E7\u2190")){n.preventDefault(),n.stopPropagation();return}}}if(isNotCtrl(n)&&n.key!=="Backspace"&&n.key!=="Escape"&&n.key!=="Delete"&&!n.shiftKey&&!n.altKey&&n.key!=="Enter"&&hideElements(["select"],e),matchHotKey("\u2318B",n)||matchHotKey("\u2318I",n)||matchHotKey("\u2318U",n)){n.preventDefault(),n.stopPropagation();return}}))};var ko=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const Co=(e,t)=>{const n=new Dialog({title:window.siyuan.languages.searchType,content:`<div class="b3-dialog__content">
604    <label class="fn__flex b3-label">
605        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconMath"></use></svg>
606        <span class="fn__space"></span>
607        <div class="fn__flex-1 fn__flex-center">
608            ${window.siyuan.languages.math}
609        </div>
610        <span class="fn__space"></span>
611        <input class="b3-switch fn__flex-center" data-type="mathBlock" type="checkbox"${e.types.mathBlock?" checked":""}>
612    </label>
613    <label class="fn__flex b3-label">
614        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconTable"></use></svg>
615        <span class="fn__space"></span>
616        <div class="fn__flex-1 fn__flex-center">
617            ${window.siyuan.languages.table}
618        </div>
619        <span class="fn__space"></span>
620        <input class="b3-switch fn__flex-center" data-type="table" type="checkbox"${e.types.table?" checked":""}>
621    </label>
622    <label class="fn__flex b3-label">
623        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconParagraph"></use></svg>
624        <span class="fn__space"></span>
625        <div class="fn__flex-1 fn__flex-center">
626            ${window.siyuan.languages.paragraph}
627        </div>
628        <span class="fn__space"></span>
629        <input class="b3-switch fn__flex-center" data-type="paragraph" type="checkbox"${e.types.paragraph?" checked":""}>
630    </label>
631    <label class="fn__flex b3-label">
632        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconHeadings"></use></svg>
633        <span class="fn__space"></span>
634        <div class="fn__flex-1 fn__flex-center">
635            ${window.siyuan.languages.headings}
636        </div>
637        <span class="fn__space"></span>
638        <input class="b3-switch fn__flex-center" data-type="heading" type="checkbox"${e.types.heading?" checked":""}>
639    </label>
640    <label class="fn__flex b3-label">
641        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconCode"></use></svg>
642        <span class="fn__space"></span>
643        <div class="fn__flex-1 fn__flex-center">
644            ${window.siyuan.languages.code}
645        </div>
646        <span class="fn__space"></span>
647        <input class="b3-switch fn__flex-center" data-type="codeBlock" type="checkbox"${e.types.codeBlock?" checked":""}>
648    </label>
649    <label class="fn__flex b3-label">
650        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconHTML5"></use></svg>
651        <span class="fn__space"></span>
652        <div class="fn__flex-1 fn__flex-center">
653            HTML
654        </div>
655        <span class="fn__space"></span>
656        <input class="b3-switch fn__flex-center" data-type="htmlBlock" type="checkbox"${e.types.htmlBlock?" checked":""}>
657    </label>
658    <label class="fn__flex b3-label">
659        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconDatabase"></use></svg>
660        <span class="fn__space"></span>
661        <div class="fn__flex-1 fn__flex-center">
662            ${window.siyuan.languages.database}
663        </div>
664        <span class="fn__space"></span>
665        <input class="b3-switch fn__flex-center" data-type="databaseBlock" type="checkbox"${e.types.databaseBlock?" checked":""}>
666    </label>    
667    <label class="fn__flex b3-label">
668        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconSQL"></use></svg>
669        <span class="fn__space"></span>
670        <div class="fn__flex-1 fn__flex-center">
671            ${window.siyuan.languages.embedBlock}
672        </div>
673        <span class="fn__space"></span>
674        <input class="b3-switch fn__flex-center" data-type="embedBlock" type="checkbox"${e.types.embedBlock?" checked":""}>
675    </label>
676    <label class="fn__flex b3-label">
677        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconVideo"></use></svg>
678        <span class="fn__space"></span>
679        <div class="fn__flex-1 fn__flex-center">
680            ${window.siyuan.languages.video}
681        </div>
682        <span class="fn__space"></span>
683        <input class="b3-switch fn__flex-center" data-type="videoBlock" type="checkbox"${e.types.videoBlock?" checked":""}>
684    </label>
685    <label class="fn__flex b3-label">
686        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconRecord"></use></svg>
687        <span class="fn__space"></span>
688        <div class="fn__flex-1 fn__flex-center">
689            ${window.siyuan.languages.audio}
690        </div>
691        <span class="fn__space"></span>
692        <input class="b3-switch fn__flex-center" data-type="audioBlock" type="checkbox"${e.types.audioBlock?" checked":""}>
693    </label>
694    <label class="fn__flex b3-label">
695        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconLanguage"></use></svg>
696        <span class="fn__space"></span>
697        <div class="fn__flex-1 fn__flex-center">
698            IFrame
699        </div>
700        <span class="fn__space"></span>
701        <input class="b3-switch fn__flex-center" data-type="iframeBlock" type="checkbox"${e.types.iframeBlock?" checked":""}>
702    </label>
703    <label class="fn__flex b3-label">
704        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconBoth"></use></svg>
705        <span class="fn__space"></span>
706        <div class="fn__flex-1 fn__flex-center">
707            ${window.siyuan.languages.widget}
708        </div>
709        <span class="fn__space"></span>
710        <input class="b3-switch fn__flex-center" data-type="widgetBlock" type="checkbox"${e.types.widgetBlock?" checked":""}>
711    </label>
712    <label class="fn__flex b3-label">
713        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconQuote"></use></svg>
714        <span class="fn__space"></span>
715        <div class="fn__flex-1 fn__flex-center">
716            ${window.siyuan.languages.quote} <sup>[1]</sup>
717        </div>
718        <span class="fn__space"></span>
719        <input class="b3-switch fn__flex-center" data-type="blockquote" type="checkbox"${e.types.blockquote?" checked":""}>
720    </label>
721    <label class="fn__flex b3-label">
722        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconSuper"></use></svg>
723        <span class="fn__space"></span>
724        <div class="fn__flex-1 fn__flex-center">
725            ${window.siyuan.languages.superBlock} <sup>[1]</sup>
726        </div>
727        <span class="fn__space"></span>
728        <input class="b3-switch fn__flex-center" data-type="superBlock" type="checkbox"${e.types.superBlock?" checked":""}>
729    </label>
730    <label class="fn__flex b3-label">
731        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconList"></use></svg>
732        <span class="fn__space"></span>
733        <div class="fn__flex-1 fn__flex-center">
734            ${window.siyuan.languages.list1} <sup>[1]</sup>
735        </div>
736        <span class="fn__space"></span>
737        <input class="b3-switch fn__flex-center" data-type="list" type="checkbox"${e.types.list?" checked":""}>
738    </label>
739    <label class="fn__flex b3-label">
740        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconListItem"></use></svg>
741        <span class="fn__space"></span>
742        <div class="fn__flex-1 fn__flex-center">
743            ${window.siyuan.languages.listItem} <sup>[1]</sup>
744        </div>
745        <span class="fn__space"></span>
746        <input class="b3-switch fn__flex-center" data-type="listItem" type="checkbox"${e.types.listItem?" checked":""}>
747    </label>
748    <label class="fn__flex b3-label">
749        <svg class="ft__on-surface svg fn__flex-center"><use xlink:href="#iconFile"></use></svg>
750        <span class="fn__space"></span>
751        <div class="fn__flex-1 fn__flex-center">
752            ${window.siyuan.languages.doc}
753        </div>
754        <span class="fn__space"></span>
755        <input class="b3-switch fn__flex-center" data-type="document" type="checkbox"${e.types.document?" checked":""}>
756    </label>
757    <span class="fn__space"></span>
758    <div class="fn__flex-1">
759        <div class="b3-label__text">[1] ${window.siyuan.languages.containerBlockTip1}</div>
760    </div>    
761</div>
762<div class="b3-dialog__action">
763    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
764    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
765</div>`,width:isMobile()?"92vw":"520px",height:"70vh"});n.element.setAttribute("data-key",Constants.DIALOG_SEARCHTYPE);const a=n.element.querySelectorAll(".b3-button");a[0].addEventListener("click",()=>{n.destroy()}),a[1].addEventListener("click",()=>{n.element.querySelectorAll(".b3-switch").forEach(i=>{e.types[i.getAttribute("data-type")]=i.checked}),t(),n.destroy()})},Ao=e=>{let t="";Object.keys(Constants.SIYUAN_DEFAULT_REPLACETYPES).forEach(i=>{t+=`<label class="fn__flex b3-label">
766    <span class="fn__space"></span>
767    <div class="fn__flex-1 fn__flex-center">
768        ${window.siyuan.languages.replaceTypes[i]}
769    </div>
770    <span class="fn__space"></span>
771    <input class="b3-switch fn__flex-center" data-type="${i}" type="checkbox"${e.replaceTypes[i]?" checked":""}>
772</label>`});const n=new Dialog({title:window.siyuan.languages.replaceType,content:`<div class="b3-dialog__content">${t}</div>
773<div class="b3-dialog__action">
774    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
775    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
776</div>`,width:isMobile()?"92vw":"520px",height:"70vh"});n.element.setAttribute("data-key",Constants.DIALOG_REPLACETYPE);const a=n.element.querySelectorAll(".b3-button");a[0].addEventListener("click",()=>{n.destroy()}),a[1].addEventListener("click",()=>{n.element.querySelectorAll(".b3-switch").forEach(i=>
776{e.replaceTypes[i.getAttribute("data-type")]=i.checked}),n.destroy()})},kd=(e,t)=>{if(!window.siyuan.menus.menu.element.classList.contains("fn__none")&&window.siyuan.menus.menu.element.getAttribute("data-name")==="searchMethod"){window.siyuan.menus.menu.remove();return}window.siyuan.menus.menu.remove(),window.siyuan.menus.menu.element.setAttribute("data-name","searchMethod"),window.siyuan.menus.menu.append(new MenuItem({icon:"iconExact",label:window.siyuan.languages.keyword,current:e.method===0,click(){e.method=0,t()}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconQuote",label:window.siyuan.languages.querySyntax,current:e.method===1,click(){e.method=1,t()}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconDatabase",label:"SQL",current:e.method===2,click(){e.method=2,t()}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconRegex",label:window.siyuan.languages.regex,current:e.method===3,click(){e.method=3,t()}}).element)},fn=(e,t,n,a,i)=>{e.removed=!1;const s=e;s.name=a,t.push(Object.assign({},s)),window.siyuan.storage[Constants.LOCAL_SEARCHDATA]=Object.assign({},e),setStorageVal(Constants.LOCAL_SEARCHDATA,window.siyuan.storage[Constants.LOCAL_SEARCHDATA]),fetchPost("/api/storage/setCriterion",{criterion:s},()=>{var o;i.destroy();const l=n.querySelector("#criteria").firstElementChild;l.classList.remove("fn__none"),(o=l.querySelector(".b3-chip--current"))==null||o.classList.remove("b3-chip--current"),l.insertAdjacentHTML("beforeend",`<div data-type="set-criteria" class="b3-chip b3-chip--current b3-chip--middle b3-chip--pointer">${s.name}<svg class="b3-chip__close" data-type="remove-criteria"><use xlink:href="#iconCloseRound"></use></svg></div>`)})},So=(e,t,n)=>{const a=new Dialog({title:window.siyuan.languages.saveCriterion,content:`<div class="b3-dialog__content">
777        <input class="b3-text-field fn__block" placeholder="${window.siyuan.languages.memo}">
778</div>
779<div class="b3-dialog__action">
780    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
781    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
782</div>`,width:isMobile()?"92vw":"520px"});a.element.setAttribute("data-key",Constants.DIALOG_SAVECRITERION);const i=a.element.querySelectorAll(".b3-button");a.bindInput(a.element.querySelector("input"),()=>{i[1].dispatchEvent(new CustomEvent("click"))}),i[0].addEventListener("click",()=>{a.destroy()}),i[1].addEventListener("click",()=>{const s=a.element.querySelector("input"),o=s.value.trim();if(!o){showMessage(window.siyuan.languages._kernel[142]);return}isMobile()?(e.k=document.querySelector("#toolbarSearch").value,e.r=n.querySelector("#toolbarReplace").value):(e.k=n.querySelector("#searchInput").value,e.r=n.querySelector("#replaceInput").value);const l=n.querySelector("#criteria").firstElementChild;let r="",c="";if(t.forEach(f=>{f.name===o&&(r=f.name),is(f,e)&&(c=f.name)}),s.blur(),r&&!c)confirmDialog(window.siyuan.languages.confirm,window.siyuan.languages.searchOverwrite,()=>{Array.from(l.children).forEach(f=>{f.textContent===o&&f.remove()}),t.find((f,d)=>{if(f.name===o)return t.splice(d,1),!0}),fn(e,t,n,o,a)});else if(r&&c)if(r===c)a.destroy();else{const f=r===o?c:r;confirmDialog(window.siyuan.languages.confirm,window.siyuan.languages.searchRemoveName.replace("${x}",f).replace("${y}",o),()=>{Array.from(l.children).forEach(d=>{(d.textContent===c||d.textContent===r)&&d.remove()}),t.find((d,u)=>{if(d.name===f||d.name===r)return fetchPost("/api/storage/removeCriterion",{name:f}),t.splice(u,1),!0}),fn(e,t,n,o,a)})}else!r&&c?confirmDialog(window.siyuan.languages.confirm,window.siyuan.languages.searchUpdateName.replace("${x}",c).replace("${y}",o),()=>{Array.from(l.children).forEach(f=>{f.textContent===c&&f.remove()}),t.find((f,d)=>{if(f.name===c)return fetchPost("/api/storage/removeCriterion",{name:c}),t.splice(d,1),!0}),fn(e,t,n,o,a)}):fn(e,t,n,o,a)})},Cd=(e,t,n,a,i,s)=>ko(void 0,null,function*(){if(!window.siyuan.menus.menu.element.classList.contains("fn__none")&&window.siyuan.menus.menu.element.getAttribute("data-name")==="searchMore"){window.siyuan.menus.menu.remove();return}window.siyuan.menus.menu.remove(),window.siyuan.menus.menu.element.setAttribute("data-name","searchMore"),window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.listInvalidRefBlocks,click(){goUnRef()}}).element),window.siyuan.menus.menu.append(new MenuItem({type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.searchType,click(){Co(e,()=>{updateSearchResult(e,n,!0)})}}).element),window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.replaceType,click(){Ao(e)}}).element),window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.searchMethod,type:"submenu",submenu:[{iconHTML:"",label:window.siyuan.languages.keyword,
782current:e.method===0,click(){e.method=0,e.page=1,updateSearchResult(e,n,!0)}},{iconHTML:"",label:window.siyuan.languages.querySyntax,current:e.method===1,click(){e.method=1,e.page=1,updateSearchResult(e,n,!0)}},{iconHTML:"",label:"SQL",current:e.method===2,click(){e.method=2,e.page=1,updateSearchResult(e,n,!0)}},{iconHTML:"",label:window.siyuan.languages.regex,current:e.method===3,click(){e.method=3,e.page=1,updateSearchResult(e,n,!0)}}]}).element);const o=[{iconHTML:"",label:window.siyuan.languages.type,current:e.sort===0,click(){e.sort=0,a()}},{iconHTML:"",label:window.siyuan.languages.createdASC,current:e.sort===1,click(){e.sort=1,a()}},{iconHTML:"",label:window.siyuan.languages.createdDESC,current:e.sort===2,click(){e.sort=2,a()}},{iconHTML:"",label:window.siyuan.languages.modifiedASC,current:e.sort===3,click(){e.sort=3,a()}},{iconHTML:"",label:window.siyuan.languages.modifiedDESC,current:e.sort===4,click(){e.sort=4,a()}},{iconHTML:"",label:window.siyuan.languages.sortByRankAsc,current:e.sort===6,click(){e.sort=6,a()}},{iconHTML:"",label:window.siyuan.languages.sortByRankDesc,current:e.sort===7,click(){e.sort=7,a()}}];e.group===1&&o.push({iconHTML:"",label:window.siyuan.languages.sortByContent,current:e.sort===5,click(){e.sort=5,a()}}),window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.sort,type:"submenu",submenu:o}).element),window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.group,type:"submenu",submenu:[{iconHTML:"",label:window.siyuan.languages.noGroupBy,current:e.group===0,click(){isMobile()?(n.querySelector('[data-type="expand"]').classList.add("fn__none"),n.querySelector('[data-type="contract"]').classList.add("fn__none")):n.querySelector("#searchCollapse").parentElement.classList.add("fn__none"),e.group=0,e.sort===5&&(e.sort=0),a()}},{iconHTML:"",label:window.siyuan.languages.groupByDoc,current:e.group===1,click(){isMobile()?(n.querySelector('[data-type="expand"]').classList.remove("fn__none"),n.querySelector('[data-type="contract"]').classList.remove("fn__none")):n.querySelector("#searchCollapse").parentElement.classList.remove("fn__none"),e.group=1,a()}}]}).element),s&&s(),window.siyuan.menus.menu.append(new MenuItem({type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({label:window.siyuan.languages.saveCriterion,iconHTML:"",click(){So(e,t,n)}}).element),window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.removeCriterion,click(){i()}}).element)}),is=(e,t)=>!!(t.group===e.group&&t.hPath===e.hPath&&t.hasReplace===e.hasReplace&&t.k===e.k&&t.method===e.method&&t.r===e.r&&t.sort===e.sort&&objEquals(t.types,e.types)&&objEquals(t.replaceTypes,e.replaceTypes)&&objEquals(t.idPath,e.idPath)),Ad=(e,t,n)=>{fetchPost("/api/storage/getCriteria",{},a=>{let i="";a.data.forEach(s=>{t.push(s);let o=!1;is(s,n)&&(o=!0),i+=`<div data-type="set-criteria" class="${o?"b3-chip--current ":""}b3-chip b3-chip--middle b3-chip--pointer">${escapeHtml(s.name)}<svg class="b3-chip__close" data-type="remove-criteria"><use xlink:href="#iconCloseRound"></use></svg></div>`}),e.innerHTML=`<div class="b3-chips${i?"":" fn__none"}">
783    ${i}
784</div>`})},Sd=e=>{const t=[];return e.querySelectorAll(".b3-list-item__text mark").forEach(n=>{t.push(n.textContent)}),t.length===0&&e.querySelectorAll(".b3-list-item__meta mark").forEach(n=>{t.push(n.textContent)}),[...new Set(t)].join(" ")},Ld=(e,t)=>{};let os;const ls=(e,t,n=1)=>{var a;const i=e.parentElement.querySelector(".fn__loading--top");if(!isPaidUser()){i.classList.add("fn__none"),(a=e.querySelector(".search__drag"))==null||a.classList.add("fn__none"),e.querySelector("#searchAssetPreview").classList.add("fn__none"),e.querySelector("#searchAssetList").innerHTML=`<div class="search__empty">
785    ${window.siyuan.languages._kernel[214].replaceAll("${accountServer}",getCloudURL(""))}
786</div>`;return}i.classList.remove("fn__none"),clearTimeout(os),os=window.setTimeout(()=>{t||(t=window.siyuan.storage[Constants.LOCAL_SEARCHASSET]);const s=e.querySelector('[data-type="assetPrevious"]');n>1?s.removeAttribute("disabled"):s.setAttribute("disabled","disabled");const o=e.querySelector("#searchAssetInput");fetchPost("/api/search/fullTextSearchAssetContent",{page:n,query:o.value,types:t.types,method:t.method,orderBy:t.sort},l=>{var r,c;i.classList.add("fn__none");const f=e.querySelector('[data-type="assetNext"]');n<l.data.pageCount?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled");let d="";
786l.data.assetContents.forEach((g,p)=>{d+=`<div data-type="search-item" class="b3-list-item${p===0?" b3-list-item--focus":""}" data-id="${g.id}">
787<span class="ft__on-surface">${g.ext}</span>
788<span class="fn__space"></span>
789<span class="b3-list-item__text">${g.content}</span>
790<span class="b3-list-item__meta">${g.hSize}</span>
791<span class="b3-list-item__meta b3-list-item__meta--ellipsis ariaLabel" aria-label="${escapeAriaLabel(g.path)}">${g.name}</span>
792</div>`});const u=e.querySelector("#searchAssetPreview");l.data.assetContents.length>0?(u.classList.remove("fn__none"),(r=e.querySelector(".search__drag"))==null||r.classList.remove("fn__none"),Lo(u,l.data.assetContents[0].id,o.value,t.method)):(u.classList.add("fn__none"),(c=e.querySelector(".search__drag"))==null||c.classList.add("fn__none")),e.querySelector("#searchAssetResult").innerHTML=`<span class="fn__flex-center">${n}/${l.data.pageCount||1}</span><span class="fn__space"></span>
793<span class="ft__on-surface">${window.siyuan.languages.total} ${l.data.matchedAssetCount}</span>`,e.querySelector("#searchAssetList").innerHTML=d||`<div class="search__empty">
794    ${window.siyuan.languages.emptyContent}
795</div>`})},Constants.TIMEOUT_INPUT)},Lo=(e,t,n,a)=>{fetchPost("/api/search/getAssetContent",{id:t,query:n,queryMethod:a},i=>{e.innerHTML=`<p style="white-space: pre-wrap;">${i.data.assetContent.content}</p>`;const s=e.querySelector("mark");if(s){s.classList.add("mark--hl");const o=e.getBoundingClientRect();e.scrollTop=e.scrollTop+s.getBoundingClientRect().top-o.top-o.height/2}})},xd=e=>{let t;const n=Array.from(e.querySelectorAll("mark"));if(n.find((a,i)=>{if(a.classList.contains("mark--hl")){a.classList.remove("mark--hl"),t=n[i+1];return}}),t||(t=n[0]),t){t.classList.add("mark--hl");const a=e.getBoundingClientRect();e.scrollTop=e.scrollTop+t.getBoundingClientRect().top-a.top-a.height/2}},Td=(e,t)=>{const n=window.siyuan.storage[Constants.LOCAL_SEARCHASSET].method;if(!window.siyuan.menus.menu.element.classList.contains("fn__none")&&window.siyuan.menus.menu.element.getAttribute("data-name")==="searchAssetMethod"){window.siyuan.menus.menu.remove();return}window.siyuan.menus.menu.remove(),window.siyuan.menus.menu.element.setAttribute("data-name","searchAssetMethod"),window.siyuan.menus.menu.append(new MenuItem({icon:"iconExact",label:window.siyuan.languages.keyword,current:n===0,click(){window.siyuan.storage[Constants.LOCAL_SEARCHASSET].method=0,t()}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconQuote",label:window.siyuan.languages.querySyntax,current:n===1,click(){window.siyuan.storage[Constants.LOCAL_SEARCHASSET].method=1,t()}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconRegex",label:window.siyuan.languages.regex,current:n===3,click(){window.siyuan.storage[Constants.LOCAL_SEARCHASSET].method=3,t()}}).element),window.siyuan.menus.menu.fullscreen()},xo=e=>{let t="";return Constants.SIYUAN_ASSETS_SEARCH.sort((n,a)=>n.localeCompare(a)).forEach(n=>{t+=`<label class="fn__flex b3-label">
796        <div class="fn__flex-1 fn__flex-center">
797            ${n}
798        </div>
799        <span class="fn__space"></span>
800        <input class="b3-switch fn__flex-center" data-type="${n}" type="checkbox" ${e[n]?" checked":""}>
801    </label>`}),t},Id=e=>{const t=window.siyuan.storage[Constants.LOCAL_SEARCHASSET].types,n=new Dialog({title:window.siyuan.languages.type,content:`<div class="b3-dialog__content">${xo(t)}</div>
802<div class="b3-dialog__action">
803    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
804    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
805</div>`,width:"520px",height:"70vh"});n.element.setAttribute("data-key",Constants.DIALOG_SEARCHASSETSTYPE);const a=n.element.querySelectorAll(".b3-button");a[0].addEventListener("click",()=>{n.destroy()}),a[1].addEventListener("click",()=>{n.element.querySelectorAll(".b3-switch").forEach(i=>{t[i.getAttribute("data-type")]=i.checked}),ls(e),setStorageVal(Constants.LOCAL_SEARCHASSET,window.siyuan.storage[Constants.LOCAL_SEARCHASSET]),n.destroy()})},Md=(e,t,n)=>{if(!window.siyuan.menus.menu.element.classList.contains("fn__none")&&window.siyuan.menus.menu.element.getAttribute("data-name")==="searchAssetMore"){window.siyuan.menus.menu.remove();return}window.siyuan.menus.menu.remove(),window.siyuan.menus.menu.element.setAttribute("data-name","searchAssetMore");const a=window.siyuan.storage[Constants.LOCAL_SEARCHASSET],i=[{iconHTML:"",label:window.siyuan.languages.sortByRankAsc,current:a.sort===1,click(){a.sort=1,n()}},{iconHTML:"",label:window.siyuan.languages.sortByRankDesc,current:a.sort===0,
805click(){a.sort=0,n()}},{iconHTML:"",label:window.siyuan.languages.modifiedASC,current:a.sort===3,click(){a.sort=3,n()}},{iconHTML:"",label:window.siyuan.languages.modifiedDESC,current:a.sort===2,click(){a.sort=2,n()}}];window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.sort,type:"submenu",submenu:i}).element),window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:window.siyuan.languages.rebuildIndex,click(){if(!isPaidUser()){showMessage(window.siyuan.languages._kernel[214].replaceAll("${accountServer}",getCloudURL("")));return}t.parentElement.querySelector(".fn__loading--top").classList.remove("fn__none"),fetchPost("/api/asset/fullReindexAssetContent",{},()=>{ls(t,a)})}}).element),window.siyuan.menus.menu.fullscreen()},Dd=e=>{const t=window.siyuan.storage[Constants.LOCAL_SEARCHKEYS];if(!t.replaceKeys||t.replaceKeys.length===0||t.length===1&&t[0]===e.value)return;const n=new Menu("search-replace-history");if(n.isOpen)return;n.element.classList.add("b3-menu--list"),n.addItem({iconHTML:"",label:window.siyuan.languages.clearHistory,click(){window.siyuan.storage[Constants.LOCAL_SEARCHKEYS].replaceKeys=[],setStorageVal(Constants.LOCAL_SEARCHKEYS,window.siyuan.storage[Constants.LOCAL_SEARCHKEYS])}});const a=n.addSeparator(1);let i=!0;t.replaceKeys.forEach(o=>{if(o!==e.value&&o){const l=n.addItem({iconHTML:"",label:escapeHtml(o),action:"iconCloseRound",bind(r){r.addEventListener("click",c=>{var f;hasClosestByClassName(c.target,"b3-menu__action")?(t.replaceKeys.find((d,u)=>{if(d===o)return t.replaceKeys.splice(u,1),!0}),window.siyuan.storage[Constants.LOCAL_SEARCHKEYS].replaceKeys=t.replaceKeys,setStorageVal(Constants.LOCAL_SEARCHKEYS,window.siyuan.storage[Constants.LOCAL_SEARCHKEYS]),(f=r.previousElementSibling)!=null&&f.classList.contains("b3-menu__separator")&&!r.nextElementSibling?window.siyuan.menus.menu.remove():r.remove()):(e.value=r.textContent,window.siyuan.menus.menu.remove()),c.preventDefault(),c.stopPropagation()})}});i&&l.classList.add("b3-menu__item--current"),i=!1}}),i&&a.remove();const s=e.previousElementSibling.getBoundingClientRect();n.open({x:s.left,y:s.bottom})},$d=(e,t,n)=>{const a=e.querySelector("#searchInput, #toolbarSearch"),i=window.siyuan.storage[Constants.LOCAL_SEARCHKEYS];if(!i.keys||i.keys.length===0||i.length===1&&i[0]===a.value)return;const s=new Menu("search-history");if(s.isOpen)return;s.element.classList.add("b3-menu--list"),s.addItem({iconHTML:"",label:window.siyuan.languages.clearHistory,click(){window.siyuan.storage[Constants.LOCAL_SEARCHKEYS].keys=[],setStorageVal(Constants.LOCAL_SEARCHKEYS,window.siyuan.storage[Constants.LOCAL_SEARCHKEYS])}});const o=s.addSeparator(1);let l=!0;i.keys.forEach(c=>{if(c!==a.value&&c){const f=s.addItem({iconHTML:"",label:escapeHtml(c),action:"iconCloseRound",bind(d){d.addEventListener("click",u=>{var g;hasClosestByClassName(u.target,"b3-menu__action")?(i.keys.find((p,m)=>{if(p===c)return i.keys.splice(m,1),!0}),window.siyuan.storage[Constants.LOCAL_SEARCHKEYS].keys=i.keys,setStorageVal(Constants.LOCAL_SEARCHKEYS,window.siyuan.storage[Constants.LOCAL_SEARCHKEYS]),(g=d.previousElementSibling)!=null&&g.classList.contains("b3-menu__separator")&&!d.nextElementSibling?window.siyuan.menus.menu.remove():d.remove()):(a.value=d.textContent,t.page=1,updateSearchResult(t,e,!0),window.siyuan.menus.menu.remove()),u.preventDefault(),u.stopPropagation()})}});l&&f.classList.add("b3-menu__item--current"),l=!1}}),l&&o.remove();const r=a.previousElementSibling.getBoundingClientRect();s.open({x:r.left,y:r.bottom})},Hd=e=>{const t=e.querySelector("#searchAssetInput"),n=window.siyuan.storage[Constants.LOCAL_SEARCHASSET].keys;if(!n||n.length===0||n.length===1&&n[0]===t.value)return;const a=new Menu("search-asset-history");if(a.isOpen)return;a.element.classList.add("b3-menu--list"),a.addItem({iconHTML:"",label:window.siyuan.languages.clearHistory,click(){window.siyuan.storage[Constants.LOCAL_SEARCHASSET].keys=[],setStorageVal(Constants.LOCAL_SEARCHASSET,window.siyuan.storage[Constants.LOCAL_SEARCHASSET])}});const i=a.addSeparator(1);let s=!0;
805n.forEach(l=>{if(l!==t.value&&l){const r=a.addItem({iconHTML:"",label:escapeHtml(l),action:"iconCloseRound",bind(c){c.addEventListener("click",f=>{var d;hasClosestByClassName(f.target,"b3-menu__action")?(n.find((u,g)=>{if(u===l)return n.splice(g,1),!0}),window.siyuan.storage[Constants.LOCAL_SEARCHASSET].keys=n,setStorageVal(Constants.LOCAL_SEARCHASSET,window.siyuan.storage[Constants.LOCAL_SEARCHASSET]),(d=c.previousElementSibling)!=null&&d.classList.contains("b3-menu__separator")&&!c.nextElementSibling?window.siyuan.menus.menu.remove():c.remove()):(t.value=c.textContent,assetInputEvent(e),window.siyuan.menus.menu.remove()),f.preventDefault(),f.stopPropagation()})}});s&&r.classList.add("b3-menu__item--current"),s=!1}}),s&&i.remove();const o=t.previousElementSibling.getBoundingClientRect();a.open({x:o.left,y:o.bottom})},Nd=(e,t)=>{let n=window.siyuan.storage[Constants.LOCAL_SEARCHKEYS][e];n.splice(0,0,t),n=Array.from(new Set(n)),n.length>window.siyuan.config.search.limit&&n.splice(window.siyuan.config.search.limit,n.length-window.siyuan.config.search.limit),window.siyuan.storage[Constants.LOCAL_SEARCHKEYS][e]=n,setStorageVal(Constants.LOCAL_SEARCHKEYS,window.siyuan.storage[Constants.LOCAL_SEARCHKEYS])},Bd=e=>{if(!e.value)return;let t=window.siyuan.storage[Constants.LOCAL_SEARCHASSET].keys;t.splice(0,0,e.value),t=Array.from(new Set(t)),t.length>window.siyuan.config.search.limit&&t.splice(window.siyuan.config.search.limit,t.length-window.siyuan.config.search.limit),window.siyuan.storage[Constants.LOCAL_SEARCHASSET].k=e.value,window.siyuan.storage[Constants.LOCAL_SEARCHASSET].keys=t,setStorageVal(Constants.LOCAL_SEARCHASSET,window.siyuan.storage[Constants.LOCAL_SEARCHASSET])},rs=(e,t,n)=>{if(t.method===1||t.method===2){showMessage(window.siyuan.languages._kernel[132]);return}const a=e.querySelector("#searchList"),i=e.querySelector("#toolbarReplace"),s=i.parentElement.querySelector(".fn__rotate");if(!s.classList.contains("fn__none"))return;saveKeyList("replaceKeys",i.value);let o=a.querySelector(".b3-list-item--focus");o&&(s.classList.remove("fn__none"),s.nextElementSibling.classList.add("fn__none"),fetchPost("/api/search/findReplace",{k:t.method===0?getKeyByLiElement(o):document.querySelector("#toolbarSearch").value,r:i.value,ids:n?[]:[o.getAttribute("data-node-id")],types:t.types,method:t.method,replaceTypes:t.replaceTypes,paths:t.idPath||[],groupBy:t.group,orderBy:t.sort,page:t.page},l=>{var r;if(s.classList.add("fn__none"),s.nextElementSibling.classList.remove("fn__none"),l.code===1){showMessage(l.msg);return}if(n){He(t,e);return}if(reloadProtyle(window.siyuan.mobile.editor.protyle,!1),o.nextElementSibling?o.nextElementSibling.classList.add("b3-list-item--focus"):o.previousElementSibling&&o.previousElementSibling.classList.add("b3-list-item--focus"),t.group===1)if(o.nextElementSibling||o.previousElementSibling)o.remove();else{const c=o.parentElement.nextElementSibling||((r=o.parentElement.previousElementSibling.previousElementSibling)==null?void 0:r.previousElementSibling);c&&(c.nextElementSibling.firstElementChild.classList.add("b3-list-item--focus"),c.nextElementSibling.classList.remove("fn__none"),c.firstElementChild.firstElementChild.classList.add("b3-list-item__arrow--open")),o.parentElement.previousElementSibling.remove(),o.parentElement.remove()}else o.remove();if(o=a.querySelector(".b3-list-item--focus"),!o){a.innerHTML=`<div class="b3-list--empty">${window.siyuan.languages.emptyContent}</div>`;return}(a.scrollTop<o.offsetTop-a.clientHeight+30||a.scrollTop>o.offsetTop)&&(a.scrollTop=o.offsetTop-a.clientHeight+30)}))},ia=(e,t,n)=>{n.hasReplace!==t.hasReplace&&(t.hasReplace?(e.querySelector('[data-type="toggle-replace"]').classList.add("toolbar__icon--active"),e.querySelector(".toolbar").classList.remove("fn__none")):(e.querySelector('[data-type="toggle-replace"]').classList.remove("toolbar__icon--active"),e.querySelector(".toolbar").classList.add("fn__none")));const a=e.querySelector("#searchPath");t.hPath?(a.classList.remove("fn__none"),a.innerHTML=`<div class="b3-chip b3-chip--middle">${escapeHtml(t.hPath)}<svg data-type="remove-path" class="b3-chip__close"><use xlink:href="#iconCloseRound"></use></svg></div>`):a.classList.add("fn__none"),n.group!==t.group&&(t.group===0?(e.querySelector('[data-type="exp
805and"]').classList.add("fn__none"),e.querySelector('[data-type="contract"]').classList.add("fn__none")):(e.querySelector('[data-type="expand"]').classList.remove("fn__none"),e.querySelector('[data-type="contract"]').classList.remove("fn__none")));let i=!0,s=!1;t.idPath.forEach(l=>{l.endsWith(".sy")&&(i=!1),l.split("/").length>1&&(s=!0)});const o=e.querySelector('[data-type="include"]');i?o.classList.add("toolbar__icon--active"):o.classList.remove("toolbar__icon--active"),s?o.removeAttribute("disabled"):o.setAttribute("disabled","disabled"),document.querySelector("#toolbarSearch").value=t.k,e.querySelector("#toolbarReplace").value=t.r,Object.assign(n,t),window.siyuan.storage[Constants.LOCAL_SEARCHDATA]=Object.assign({},n),setStorageVal(Constants.LOCAL_SEARCHDATA,window.siyuan.storage[Constants.LOCAL_SEARCHDATA]),He(n,e),window.siyuan.menus.menu.remove()},cs=(e,t,n)=>{const a=document.querySelector("#searchList");let i="";e.forEach((o,l)=>{const r=getNotebookName(o.box)+getDisplayName(o.hPath,!1);o.children?(i+=`<div class="b3-list-item">
806<span class="b3-list-item__toggle b3-list-item__toggle--hl">
807    <svg class="b3-list-item__arrow b3-list-item__arrow--open"><use xlink:href="#iconRight"></use></svg>
808</span>
809${unicode2Emoji(getNotebookIcon(o.box)||window.siyuan.storage[Constants.LOCAL_IMAGES].note,"b3-list-item__graphic",!0)}
810<span class="b3-list-item__text" style="color: var(--b3-theme-on-surface)">${escapeGreat(r)}</span>
811</div><div>`,o.children.forEach((c,f)=>{i+=`<div style="padding-left: 36px" data-type="search-item" class="b3-list-item${f===0&&l===0?" b3-list-item--focus":""}" data-node-id="${c.id}">
812<svg class="b3-list-item__graphic"><use xlink:href="#${getIconByType(c.type)}"></use></svg>
813${unicode2Emoji(c.ial.icon,"b3-list-item__graphic",!0)}
814<span class="b3-list-item__text">${c.content}</span>
815${c.tag?`<span class="b3-list-item__meta b3-list-item__meta--ellipsis">${c.tag.split("# #").map(d=>`${d.replace("#","")}`).join(" ").replace("#","")}</span>`:""}
816</div>`}),i+="</div>"):i+=`<div class="b3-list-item b3-list-item--two${l===0?" b3-list-item--focus":""}" data-type="search-item" data-node-id="${o.id}">
817    <div class="b3-list-item__first">
818        <svg class="b3-list-item__graphic"><use xlink:href="#${getIconByType(o.type)}"></use></svg>
819        ${unicode2Emoji(o.ial.icon,"b3-list-item__graphic",!0)}
820        <span class="b3-list-item__text">${o.content}</span>
821    </div>
822    <div class="fn__flex">
823        ${o.tag?`<span class="b3-list-item__meta b3-list-item__meta--ellipsis">${o.tag.split("# #").map(c=>`${c.replace("#","")}`).join(" ").replace("#","")}</span><span class="fn__space"></span>`:""}
824        <span class="b3-list-item__text b3-list-item__meta">${escapeGreat(r)}</span>
825    </div>
826</div>`}),a.innerHTML=i||`<div class="b3-list-item b3-list-item--focus" data-type="search-new">
827    <svg class="b3-list-item__graphic"><use xlink:href="#iconFile"></use></svg>
828    <span class="b3-list-item__text">
829        ${window.siyuan.languages.newFile} <mark>${document.querySelector("#toolbarSearch").value}</mark>
830    </span>
831</div>`,a.scrollTop=0;let s="";if(n){let o=window.siyuan.languages.findInDoc.replace("${x}",n.data.matchedRootCount).replace("${y}",n.data.matchedBlockCount);n.data.docMode&&(o=window.siyuan.languages.matchDoc.replace("${x}",n.data.matchedRootCount)),s=`<span class="fn__flex-center">${o}</span>
832<span class="fn__flex-1"></span>
833<span class="fn__flex-center">${t.page}/${n.data.pageCount||1}</span>`}a.previousElementSibling.querySelector('[data-type="result"]').innerHTML=s};let ds=0;const He=(e,t,n=!1)=>{clearTimeout(ds),ds=window.setTimeout(()=>{var a;n&&((a=t.querySelector("#criteria .b3-chip--current"))==null||a.classList.remove("b3-chip--current"));const i=t.querySelector(".fn__loading--top");i.classList.remove("fn__none");const s=t.querySelector('[data-type="previous"]'),o=t.querySelector('[data-type="next"]'),l=document.getElementById("toolbarSearch");l.value===""&&(!e.idPath||e.idPath.length===0)?fetchPost("/api/block/getRecentUpdatedBlocks",{},r=>{cs(r.data,e),i.classList.add("fn__none"),s.setAttribute("disabled","true"),o.setAttribute("disabled","true")}):(e.page||(e.page=1),e.page>1?s.removeAttribute("disabled"):s.setAttribute("disabled","disabled"),fetchPost("/api/search/fullTextSearchBlock",{query:l.value,method:e.method,types:e.types,paths:e.idPath||[],groupBy:e.group,orderBy:e.sort,page:e.page},r=>{cs(r.data.blocks,e,r),i.classList.add("fn__none"),e.page<r.data.pageCount?o.removeAttribute("disabled"):o.setAttribute("disabled","disabled")}))},Constants.TIMEOUT_INPUT)},To=(e,t,n)=>{const a=document.getElementById("toolbarSearch");a.value=n.k||"",a.addEventListener("compositionend",f=>{f&&f.isComposing||(n.page=1,He(n,t,!0))}),a.addEventListener("input",f=>{f&&f.isComposing||(n.page=1,He(n,t,!0))}),a.addEventListener("blur",()=>{n.removed&&(n.k=a.value,window.siyuan.storage[Constants.LOCAL_SEARCHDATA]=Object.assign({},n),setStorageVal(Constants.LOCAL_SEARCHDATA,window.siyuan.storage[Constants.LOCAL_SEARCHDATA])),saveKeyList("keys",a.value)}),addClearButton({inputElement:a,className:"toolbar__icon",clearCB(){n.page=1,He(n,t)}});const i=t.querySelector(".toolbar .toolbar__title");
833i.value=n.r||"",addClearButton({inputElement:i,className:"toolbar__icon"});const s=[];initCriteriaMenu(t.querySelector("#criteria"),s,n);const o=document.querySelector("#searchAssetsPanel"),l=document.querySelector("#searchUnRefPanel"),r=t.querySelector("#searchList"),c=window.siyuan.storage[Constants.LOCAL_SEARCHASSET];t.addEventListener("click",f=>{var d,u;let g=f.target;for(;g&&!g.isSameNode(t);){const p=g.getAttribute("data-type");if(p==="replaceHistory"){toggleReplaceHistory(g.nextElementSibling),f.stopPropagation(),f.preventDefault();break}else if(p==="assetHistory"){toggleAssetHistory(o),f.stopPropagation(),f.preventDefault();break}else if(p==="previous"){g.getAttribute("disabled")||(n.page--,He(n,t)),f.stopPropagation(),f.preventDefault();break}else if(p==="next"){g.getAttribute("disabled")||(n.page++,He(n,t)),f.stopPropagation(),f.preventDefault();break}else if(p==="set-criteria"){n.removed=!1,(d=g.parentElement.querySelector(".b3-chip--current"))==null||d.classList.remove("b3-chip--current"),g.classList.add("b3-chip--current"),s.find(m=>{if(m.name===g.innerText.trim())return ia(t,m,n),!0}),f.stopPropagation(),f.preventDefault();break}else if(p==="remove-criteria"){const m=g.parentElement.innerText.trim();fetchPost("/api/storage/removeCriterion",{name:m}),s.find((b,E)=>{if(b.name===m)return s.splice(E,1),!0}),g.parentElement.classList.contains("b3-chip--current")&&ia(t,{removed:!0,sort:0,group:0,hasReplace:!1,method:0,hPath:"",idPath:[],k:"",r:"",page:1,types:getDefaultType(),replaceTypes:Object.assign({},Constants.SIYUAN_DEFAULT_REPLACETYPES)},n),g.parentElement.parentElement.childElementCount===1&&g.parentElement.parentElement.classList.add("fn__none"),g.parentElement.remove(),f.stopPropagation(),f.preventDefault();break}else if(p==="remove-path"){n.idPath=[],n.hPath="",t.querySelector("#searchPath").classList.add("fn__none"),n.page=1,He(n,t,!0);const m=t.querySelector('[data-type="include"]');m.classList.remove("toolbar__icon--active"),m.setAttribute("disabled","disabled"),f.stopPropagation(),f.preventDefault();break}else if(p==="expand"){Array.from(r.children).forEach(m=>{m.classList.contains("b3-list-item")&&(m.querySelector(".b3-list-item__arrow").classList.add("b3-list-item__arrow--open"),m.nextElementSibling.classList.remove("fn__none"))}),f.stopPropagation(),f.preventDefault();break}else if(p==="contract"){Array.from(r.children).forEach(m=>{m.classList.contains("b3-list-item")&&(m.querySelector(".b3-list-item__arrow").classList.remove("b3-list-item__arrow--open"),m.nextElementSibling.classList.add("fn__none"))}),f.stopPropagation(),f.preventDefault();break}else if(p==="currentPath"&&!g.hasAttribute("disabled")){const m=getCurrentEditor().protyle;fetchPost("/api/filetree/getHPathsByPaths",{paths:[m.path]},b=>{n.idPath=[pathPosix().join(m.notebookId,m.path)],n.hPath=b.data[0];const E=t.querySelector("#searchPath");E.classList.remove("fn__none"),E.innerHTML=`<div class="b3-chip b3-chip--middle">${escapeHtml(n.hPath)}<svg data-type="remove-path" class="b3-chip__close"><use xlink:href="#iconCloseRound"></use></svg></div>`;const k=t.querySelector('[data-type="include"]');k.classList.remove("toolbar__icon--active"),k.removeAttribute("disabled"),n.page=1,He(n,t,!0)}),f.stopPropagation(),f.preventDefault();break}else if(p==="path"){movePathTo((m,b)=>{fetchPost("/api/filetree/getHPathsByPaths",{paths:m},E=>{n.idPath=[];const k=[];let A=!1;m.forEach((y,h)=>{y==="/"?(n.idPath.push(b[h]),k.push(getNotebookName(b[h]))):(A=!0,n.idPath.push(pathPosix().join(b[h],y.replace(".sy",""))))}),E.data&&k.push(...E.data),n.hPath=k.join(" ");const v=t.querySelector("#searchPath");v.classList.remove("fn__none"),v.innerHTML=`<div class="b3-chip b3-chip--middle">${escapeHtml(n.hPath)}<svg data-type="remove-path" class="b3-chip__close"><use xlink:href="#iconCloseRound"></use></svg></div>`;const w=t.querySelector('[data-type="include"]');w.classList.add("toolbar__icon--active"),A?w.removeAttribute("disabled"):w.setAttribute("disabled","disabled"),n.page=1,He(n,t,!0)})},[],void 0,window.siyuan.languages.specifyPath),f.stopPropagation(),f.preventDefault();break}else if(p==="include"&&!g.hasAttribute("disabled")){g.classList.toggle("toolbar__icon--active"),g.classList.contains("toolbar__icon--active")?n.idPath.forEach((m,b)=>{m.endsWith(".sy")&&(n.idPath[b]=m.replace(".sy",""))}):n.idPath.forEach((m,b)=>{!m.endsWith(".sy")&&m.split("/").length>1&&(n.idPath[b]=m+".sy")}),n.page=1,He(n,t,!0),f.stopPropagation(),f.preventDefault();break}else if(p==="toggle-replace"){n.hasReplace=!n.hasReplace,i.parentElement.classList.toggle("fn__none"),g.classList.toggle("toolbar__icon--active"),f.stopPropagation(),f.preventDefault();break}else if(p==="more"){moreMenu(n,s,t,()=>{n.page=1,He(n,t,!0)},()=>{ia(t,{removed:!0,sort:0,group:0,hasReplace:!1,method:0,hPath:"",idPath:[],k:"",r:"",page:1,types:getDefaultType(),replaceTypes:Object.assign({},Constants.SIYUAN_DEFAULT_REPLACETYPES)},n)}),window.siyuan.menus.menu.fullscreen(),f.stopPropagation(),f.preventDefault();break}else if(p==="replace-all"){rs(t,n,!0),f.stopPropagation(),f.preventDefault();break}else if(p==="refreshUnRef"){gn(l),f.stopPropagation(),f.preventDefault();break}else if(p==="unRefPrevious"){if(!g.getAttribute("disabled")){let m=parseInt(l.querySelector("#searchUnRefResult").lastElementChild.textContent);m>1&&(m--,gn(l,m))}f.stopPropagation(),f.preventDefault();break}else if(p==="unRefNext"){const m=l.querySelector("#searchUnRefResult").lastElementChild;let b=parseInt(m.textContent);b<parseInt(m.textContent.split("/")[1])&&(b++,gn(l,b)),f.stopPropagation(),f.preventDefault();break}else if(p==="queryAsset"){assetMethodMenu(g,()=>{assetInputEvent(o,c),setStorageVal(Constants.LOCAL_SEARCHASSET,c)}),f.stopPropagation(),f.preventDefault();break}else if(p==="filterAsset"){assetFilterMenu(o),f.stopPropagation(),f.preventDefault();break}else if(p==="moreAsset"){assetMoreMenu(g,o,()=>{assetInputEvent(o),setStorageVal(Constants.LOCAL_SEARCHASSET,c)}),f.stopPropagation(),f.preventDefault();break}else if(p==="goAsset"){Io(),f.stopPropagation(),f.preventDefault();break}else if(p==="goSearch"){o.classList.add("fn__none"),l.classList.add("fn__none"),f.stopPropagation(),f.preventDefault();break}else if(p==="assetPrevious"){g.getAttribute("disabled")||assetInputEvent(o,c,parseInt(o.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[1])-1),f.stopPropagation(),f.preventDefault();break}else if(p==="assetNext"){g.getAttribute("disabled")||assetInputEvent(o,c,parseInt(o.querySelector("#searchAssetResult .fn__flex-center").textContent.split("/")[1])+1),f.stopPropagation(),f.preventDefault();break}else if(p==="replace"){rs(t,n,!1),f.stopPropagation(),f.preventDefault();break}else if(g.classList.contains("b3-list-item__toggle")){g.parentElement.nextElementSibling.classList.toggle("fn__none"),g.firstElementChild.classList.toggle("b3-list-item__arrow--open"),f.stopPropagation(),f.preventDefault();break}else if(g.classList.contains("b3-list-item")){if(g.getAttribute("data-type")==="search-new")newFileByName(e,a.value);else if(g.getAttribute("data-type")==="search-item"){const m=g.getAttribute("data-node-id");m?((u=window.siyuan.mobile.editor)!=null&&u.protyle&&preventScroll(window.siyuan.mobile.editor.protyle),checkFold(m,b=>{openMobileFileById(e,m,b?[Constants.CB_GET_ALL]:[Constants.CB_GET_HL,Constants.CB_GET_CONTEXT,Constants.CB_GET_ROOTSCROLL])}),closePanel()):g.classList.contains("b3-list-item--focus")?g.classList.contains("b3-list-item--focus")&&renderNextAssetMark(t.querySelector("#searchAssetPreview")):(t.querySelector("#searchAssetList .b3-list-item--focus").classList.remove("b3-list-item--focus"),g.classList.add("b3-list-item--focus"),renderPreview(t.querySelector("#searchAssetPreview"),g.dataset.id,t.querySelector("#searchAssetInput").value,window.siyuan.storage[Constants.LOCAL_SEARCHASSET].method))}
833else g.querySelector(".b3-list-item__toggle")&&(g.nextElementSibling.classList.toggle("fn__none"),g.firstElementChild.firstElementChild.classList.toggle("b3-list-item__arrow--open"));f.stopPropagation(),f.preventDefault();break}g=g.parentElement}},!1)},Pd=(e,t)=>{var n;const a=JSON.parse(JSON.stringify(window.siyuan.storage[Constants.LOCAL_SEARCHDATA])),i=(((n=getCurrentEditor())==null?void 0:n.protyle.toolbar.range)||(getSelection().rangeCount>0?getSelection().getRangeAt(0):document.createRange())).toString();i&&(a.k=i),t&&Object.keys(t).forEach(l=>{a[l]=t[l]}),activeBlur();let s=!0,o=!1;a.idPath.forEach(l=>{l.endsWith(".sy")&&(s=!1),l.split("/").length>1&&(o=!0)}),openModel({title:`<div class="fn__flex">
834    <span data-menu="true" class="toolbar__icon toolbar__icon--history" data-type="history">
835        <svg class="svg--mid"><use xlink:href="#iconSearch"></use></svg>
836        <svg class="svg--smaller"><use xlink:href="#iconDown"></use></svg>
837    </span>
838    <input id="toolbarSearch" placeholder="${window.siyuan.languages.showRecentUpdatedBlocks}" class="toolbar__title fn__block">
839    <svg id="toolbarSearchNew" class="toolbar__icon"><use xlink:href="#iconFile"></use></svg>
840</div>`,html:`<div class="fn__flex-column" style="height: 100%">
841    <div class="toolbar toolbar--border${a.hasReplace?"":" fn__none"}">
842        <span data-menu="true" class="toolbar__icon toolbar__icon--history" data-type="replaceHistory">
843            <svg class="svg--mid"><use xlink:href="#iconReplace"></use></svg>
844            <svg class="svg--smaller"><use xlink:href="#iconDown"></use></svg>
845        </span>
846        <input id="toolbarReplace" class="toolbar__title">
847        <svg class="fn__rotate fn__none toolbar__icon"><use xlink:href="#iconRefresh"></use></svg>
848        <div class="fn__space"></div>
849        <button data-type="replace-all" class="b3-button b3-button--outline fn__flex-center">${window.siyuan.languages.replaceAll}</button>
850        <div class="fn__space"></div>
851        <button data-type="replace" class="b3-button b3-button--outline fn__flex-center">${window.siyuan.languages.replace}</button>
852        <div class="fn__space"></div>
853    </div>
854    <div id="criteria" style="background-color: var(--b3-theme-background);"></div>
855    <div class="toolbar">
856        <span class="fn__space"></span>
857        <span data-type="result" class="fn__flex-1 fn__flex"></span>
858        <span class="fn__space"></span>
859        <svg data-type="previous" disabled="disabled" class="toolbar__icon"><use xlink:href="#iconLeft"></use></svg>
860        <svg data-type="next" disabled="disabled" class="toolbar__icon"><use xlink:href="#iconRight"></use></svg>
861    </div>
862    <div id="searchList" style="overflow:auto;" class="fn__flex-1 b3-list b3-list--background"></div>
863    <div id="searchPath" class="b3-chips${a.hPath?"":" fn__none"}" style="background-color: var(--b3-theme-background);">
864        <div class="b3-chip b3-chip--middle">
865            ${escapeHtml(a.hPath)}
866            <svg data-type="remove-path" class="b3-chip__close"><use xlink:href="#iconCloseRound"></use></svg>
867        </div>
868    </div>
869    <div class="toolbar">
870        <span class="fn__flex-1"></span>
871        <svg data-type="toggle-replace" class="toolbar__icon${a.hasReplace?" toolbar__icon--active":""}"><use xlink:href="#iconReplace"></use></svg>
872        <svg ${o?"":"disabled"} data-type="include" class="toolbar__icon${s?" toolbar__icon--active":""}"><use xlink:href="#iconCopy"></use></svg>
873        <svg data-type="path" class="toolbar__icon"><use xlink:href="#iconFolder"></use></svg>
874        <svg ${document.querySelector("#empty").classList.contains("fn__none")?"":"disabled"} data-type="currentPath" class="toolbar__icon"><use xlink:href="#iconFocus"></use></svg>
875        <svg data-type="expand" class="toolbar__icon${a.group===0?" fn__none":""}"><use xlink:href="#iconExpand"></use></svg>
876        <svg data-type="contract" class="toolbar__icon${a.group===0?" fn__none":""}"><use xlink:href="#iconContract"></use></svg>
877        <svg data-type="more" class="toolbar__icon"><use xlink:href="#iconMore"></use></svg>
878        <svg data-type="goAsset" class="toolbar__icon"><use xlink:href="#iconExact"></use></svg>
879        <span class="fn__flex-1"></span>
880     </div>
881     <div class="fn__none fn__flex-column" style="position: fixed;top: 0;width: 100%;background: var(--b3-theme-surface);height: 100%;" id="searchAssetsPanel">
882        <div class="toolbar toolbar--border">
883           <span data-menu="true" class="toolbar__icon toolbar__icon--history" data-type="assetHistory">
884                <svg class="svg--mid"><use xlink:href="#iconSearch"></use></svg>
885                <svg class="svg--smaller"><use xlink:href="#iconDown"></use></svg>
886            </span>
887            <input id="searchAssetInput" placeholder="${window.siyuan.languages.keyword}" class="toolbar__title fn__block">
888        </div>
889        <div class="toolbar">
890            <span class="fn__space"></span>
891            <span id="searchAssetResult" class="fn__flex-1 fn__flex"><span class="fn__flex-1"></span></span>
892            <span class="fn__space"></span>
893            <svg data-type="assetPrevious" disabled="disabled" class="toolbar__icon"><use xlink:href="#iconLeft"></use></svg>
894            <svg data-type="assetNext" disabled="disabled" class="toolbar__icon"><use xlink:href="#iconRight"></use></svg>
895        </div>
896        <div id="searchAssetList" style="overflow:auto;" class="fn__flex-1 b3-list b3-list--background"></div>
897        <div id="searchAssetPreview" class="fn__flex-1 search__preview b3-typography" style="padding: 8px;border-bottom: 1px solid var(--b3-border-color);"></div>
898        <div class="toolbar">
899            <span class="fn__flex-1"></span>
900            <svg data-type="queryAsset" class="toolbar__icon"><use xlink:href="#iconRegex"></use></svg>
901            <svg data-type="filterAsset" class="toolbar__icon"><use xlink:href="#iconFilter"></use></svg>
902            <svg data-type="moreAsset" class="toolbar__icon"><use xlink:href="#iconMore"></use></svg>
903            <svg data-type="goSearch" class="toolbar__icon"><use xlink:href="#iconBack"></use></svg>
904            <span class="fn__flex-1"></span>
905         </div>
906    </div>
907     <div class="fn__none fn__flex-column" style="position: fixed;top: 0;width: 100%;background: var(--b3-theme-surface);height: 100%;" id="searchUnRefPanel">
908        <div class="toolbar">
909            <span class="fn__space"></span>
910            <span id="searchUnRefResult" class="fn__flex-1 fn__flex"></span>
911            <span class="fn__space"></span>
912            <svg data-type="unRefPrevious" disabled="disabled" class="toolbar__icon"><use xlink:href="#iconLeft"></use></svg>
913            <svg data-type="unRefNext" disabled="disabled" class="toolbar__icon"><use xlink:href="#iconRight"></use></svg>
914        </div>
915        <div id="searchUnRefList" style="overflow:auto;" class="fn__flex-1 b3-list b3-list--background"></div>
916        <div class="toolbar">
917            <span class="fn__flex-1"></span>
918            <svg data-type="refreshUnRef" class="toolbar__icon"><use xlink:href="#iconRefresh"></use></svg>
919            <svg data-type="goSearch" class="toolbar__icon"><use xlink:href="#iconBack"></use></svg>
920            <span class="fn__flex-1"></span>
921         </div>
922    </div>
923     <div class="fn__loading fn__loading--top"><img width="120px" src="/stage/loading-pure.svg"></div>
924</div>`,bindEvent(l){document.querySelector("#toolbarSearchNew").addEventListener("click",()=>{newFileByName(e,document.querySelector("#toolbarSearch").value)}),document.querySelector('.toolbar [data-type="history"]').addEventListener("click",()=>{toggleSearchHistory(document.querySelector("#model"),a,void 0)}),To(e,l.firstElementChild,a),He(a,l)}})},Io=()=>{const e=document.querySelector("#searchAssetsPanel");if(e.classList.remove("fn__none"),e.querySelector("#searchAssetList").innerHTML)return;const n=window.siyuan.storage[Constants.LOCAL_SEARCHASSET],a=e.querySelector("input");a.value=n.k,a.addEventListener("compositionend",i=>{i.isComposing||assetInputEvent(e,n)}),a.addEventListener("input",i=>{i.isComposing||assetInputEvent(e,n)}),a.addEventListener("blur",()=>{saveAssetKeyList(a)}),assetInputEvent(e,n),addClearButton({inputElement:a,className:"toolbar__icon",clearCB(){assetInputEvent(e,n)}})},Rd=()=>{window.siyuan.menus.menu.remove();const e=document.querySelector("#searchUnRefPanel");e.classList.remove("fn__none"),!e.querySelector("#searchUnRefList").innerHTML&&gn(e)},gn=(e,t=1)=>{const n=e.querySelector('[data-type="unRefPrevious"]');t>1?n.removeAttribute("disabled"):n.setAttribute("disabled","disabled"),fetchPost("/api/search/listInvalidBlockRefs",{page:t},a=>{e.parentElement.querySelector(".fn__loading--top").classList.add("fn__none");const i=e.querySelector('[data-type="unRefNext"]');t<a.data.pageCount?i.removeAttribute("disabled"):i.setAttribute("disabled","disabled");let s="";a.data.blocks.forEach((o,l)=>
924{const r=getNotebookName(o.box)+getDisplayName(o.hPath,!1);s+=`<div class="b3-list-item b3-list-item--two${l===0?" b3-list-item--focus":""}" data-type="search-item" data-node-id="${o.id}">
925<div class="b3-list-item__first">
926    <svg class="b3-list-item__graphic"><use xlink:href="#${getIconByType(o.type)}"></use></svg>
927    ${unicode2Emoji(o.ial.icon,"b3-list-item__graphic",!0)}
928    <span class="b3-list-item__text">${o.content}</span>
929</div>
930<span class="b3-list-item__text b3-list-item__meta">${escapeGreat(r)}</span>
931</div>`}),e.querySelector("#searchUnRefResult").innerHTML=`<span class="fn__flex-center">${window.siyuan.languages.findInDoc.replace("${x}",a.data.matchedRootCount).replace("${y}",a.data.matchedBlockCount)}</span>
932<span class="fn__flex-1"></span>
933<span class="fn__flex-center">${t}/${a.data.pageCount||1}</span>`,e.querySelector("#searchUnRefList").innerHTML=s||`<div class="search__empty">
934    ${window.siyuan.languages.emptyContent}
935</div>`})},Od=(e,t,n)=>{const a=isMobile(),i=hasClosestByClassName(e.target,"protyle-attr--bookmark");if(i)return!a&&isOnlyMeta(e)||(n?openFileAttr(n,"bookmark",t):openAttr(i.parentElement.parentElement,"bookmark",t)),e.stopPropagation(),!0;const s=hasClosestByClassName(e.target,"protyle-attr--name");if(s)return!a&&isOnlyMeta(e)||(n?openFileAttr(n,"name",t):openAttr(s.parentElement.parentElement,"name",t)),e.stopPropagation(),!0;const o=hasClosestByClassName(e.target,"protyle-attr--av");if(o)return n?openFileAttr(n,"av",t):openAttr(o.parentElement.parentElement,"av",t),e.stopPropagation(),!0;const l=hasClosestByClassName(e.target,"protyle-attr--alias");if(l)return!a&&isOnlyMeta(e)||(n?openFileAttr(n,"alias",t):openAttr(l.parentElement.parentElement,"alias",t)),e.stopPropagation(),!0;const r=hasClosestByClassName(e.target,"protyle-attr--memo");if(r)return!a&&isOnlyMeta(e)||(n?openFileAttr(n,"memo",t):openAttr(r.parentElement.parentElement,"memo",t)),e.stopPropagation(),!0},qd=e=>{if(e.protyle.disabled)return;const t=new Menu("av-view");if(t.isOpen)return;t.addItem({id:"rename",icon:"iconEdit",label:window.siyuan.languages.rename,click(){var a;(a=document.querySelector(".av__panel"))==null||a.remove(),openMenuPanel({protyle:e.protyle,blockElement:e.blockElement,type:"config",cb:i=>{i.querySelector('.b3-text-field[data-type="name"]').focus()}})}}),t.addItem({id:"config",icon:"iconSettings",label:window.siyuan.languages.config,click(){var a;(a=document.querySelector(".av__panel"))==null||a.remove(),openMenuPanel({protyle:e.protyle,blockElement:e.blockElement,type:"config"})}}),t.addSeparator(),t.addItem({id:"duplicate",icon:"iconCopy",label:window.siyuan.languages.duplicate,click(){var a;(a=document.querySelector(".av__panel"))==null||a.remove();const i=Lute.NewNodeID();transaction(e.protyle,[{action:"duplicateAttrViewView",avID:e.blockElement.dataset.avId,previousID:e.element.dataset.id,id:i,blockID:e.blockElement.dataset.nodeId}],[{action:"removeAttrViewView",avID:e.blockElement.dataset.avId,id:i,blockID:e.blockElement.dataset.nodeId}]),e.blockElement.setAttribute(Constants.CUSTOM_SY_AV_VIEW,i)}}),e.blockElement.querySelectorAll(".layout-tab-bar .item").length>1&&t.addItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,click(){var a;(a=document.querySelector(".av__panel"))==null||a.remove(),transaction(e.protyle,[{action:"removeAttrViewView",avID:e.blockElement.dataset.avId,id:e.element.dataset.id,blockID:e.blockElement.dataset.nodeId}])}});const n=e.element.getBoundingClientRect();t.open({x:n.left,y:n.bottom})},Ud=e=>{const t=e.menuElement.querySelector('.b3-text-field[data-type="name"]');t.addEventListener("blur",()=>{t.value!==t.dataset.value&&(transaction(e.protyle,[{action:"setAttrViewViewName",avID:e.data.id,id:e.data.viewID,data:t.value}],[{action:"setAttrViewViewName",avID:e.data.id,id:e.data.viewID,data:t.dataset.value}]),t.dataset.value=t.value)}),t.addEventListener("keydown",i=>{i.isComposing||i.key==="Enter"&&(i.preventDefault(),t.blur(),e.menuElement.parentElement.remove())}),t.select(),t.value=t.dataset.value;const n=e.menuElement.querySelector('.b3-text-field[data-type="desc"]');t.nextElementSibling.addEventListener("click",()=>{const i=n.parentElement;i.classList.toggle("fn__none"),i.classList.contains("fn__none")||n.focus()}),n.addEventListener("blur",()=>{n.value!==n.dataset.value&&(transaction(e.protyle,[{action:"setAttrViewViewDesc",avID:e.data.id,id:e.data.viewID,data:n.value}],[{action:"setAttrViewViewDesc",avID:e.data.id,id:e.data.viewID,data:n.dataset.value}]),n.dataset.value=n.value)}),n.addEventListener("keydown",i=>{i.isComposing||i.key==="Enter"&&(i.preventDefault(),n.blur(),e.menuElement.parentElement.remove())}),n.addEventListener("input",()=>{t.nextElementSibling.setAttribute("aria-label",n.value?escapeHtml(n.value):window.siyuan.languages.addDesc)});const a=e.menuElement.querySelector('.b3-switch[data-type="toggle-view-title"]');a.addEventListener("change",()=>{const i=e.blockElement.getAttribute("data-av-id"),s=e.blockElement.getAttribute("data-node-id");a.checked?(transaction(e.protyle,[{action:"hideAttrViewName",avID:i,blockID:s,data:!1}],[{action:"hideAttrViewName",avID:i,blockID:s,data:!0}]),e.blockElement.querySelector(".av__title").classList.remove("fn__none")):(transaction(e.protyle,[{action:"hideAttrViewName",avID:i,blockID:s,data:!0}],[{action:"hideAttrViewName",avID:i,blockID:s,data:!1}]),e.blockElement.querySelector(".av__title").classList.add("fn__none"))})},Fd=e=>{const t=e.view;return`<div class="b3-menu__items">
936<button class="b3-menu__item" data-type="nobg">
937    <span class="b3-menu__label ft__center">${window.siyuan.languages.config}</span>
938</button>
939<button class="b3-menu__separator"></button>
940<button class="b3-menu__item" data-type="nobg">
941    <div class="fn__block">
942        <div class="fn__flex">
943            <span class="b3-menu__avemoji" data-type="update-view-icon">${t.icon?unicode2Emoji(t.icon):'<svg style="height: 14px;width: 14px"><use xlink:href="#iconTable"></use></svg>'}</span>
944            <div class="b3-form__icona fn__block">
945                <input data-type="name" class="b3-text-field b3-form__icona-input" type="text" data-value="${escapeAttr(t.name)}">
946                <svg data-position="north" class="b3-form__icona-icon ariaLabel" aria-label="${t.desc?escapeAriaLabel(t.desc):window.siyuan.languages.addDesc}"><use xlink:href="#iconInfo"></use></svg>
947            </div>
948        </div>
949        <div class="fn__none">
950            <div class="fn__hr"></div>
951            <textarea placeholder="${window.siyuan.languages.addDesc}" rows="1" data-type="desc" class="b3-text-field fn__block" type="text" data-value="${escapeAttr(t.desc)}">${t.desc}</textarea>
952        </div>
953    </div>
954</button>
955<button class="b3-menu__separator"></button>
956<button class="b3-menu__item" data-type="go-properties">
957    <svg class="b3-menu__icon"></svg>
958    <span class="b3-menu__label">${window.siyuan.languages.fields}</span>
959    <span class="b3-menu__accelerator">${t.columns.filter(n=>!n.hidden).length}/${t.columns.length}</span>
960    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
961</button>
962<button class="b3-menu__item" data-type="goFilters">
963    <svg class="b3-menu__icon"><use xlink:href="#iconFilter"></use></svg>
964    <span class="b3-menu__label">${window.siyuan.languages.filter}</span>
965    <span class="b3-menu__accelerator">${t.filters.length}</span>
966    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
967</button>
968<button class="b3-menu__item" data-type="goSorts">
969    <svg class="b3-menu__icon"><use xlink:href="#iconSort"></use></svg>
970    <span class="b3-menu__label">${window.siyuan.languages.sort}</span>
971    <span class="b3-menu__accelerator">${t.sorts.length}</span>
972    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
973</button>
974<button class="b3-menu__item" data-type="set-page-size" data-size="${t.pageSize}">
975    <svg class="b3-menu__icon"></svg>
976    <span class="b3-menu__label">${window.siyuan.languages.entryNum}</span>
977    <span class="b3-menu__accelerator">${t.pageSize===Constants.SIZE_DATABASE_MAZ_SIZE?window.siyuan.languages.all:t.pageSize}</span>
978    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
979</button>
980<label class="b3-menu__item">
981    <svg class="b3-menu__icon"></svg>
982    <span class="fn__flex-center">${window.siyuan.languages.showTitle}</span>
983    <span class="fn__space fn__flex-1"></span>
984    <input data-type="toggle-view-title" type="checkbox" class="b3-switch b3-switch--menu" ${t.hideAttrViewName?"":"checked"}>
985</label>
986<button class="b3-menu__separator"></button>
987<button class="b3-menu__item" data-type="duplicate-view">
988    <svg class="b3-menu__icon">
989        <use xlink:href="#iconCopy"></use>
990    </svg>
991    <span class="b3-menu__label">${window.siyuan.languages.duplicate}</span>
992</button>
993<button class="b3-menu__item${e.views.length>1?"":" fn__none"}" data-type="delete-view">
994    <svg class="b3-menu__icon"><use xlink:href="#iconTrashcan"></use></svg>
995    <span class="b3-menu__label">${window.siyuan.languages.delete}</span>
996</button>
997</div>`},Yd=e=>{const t=e.menuElement.querySelector(".b3-text-field");t.focus(),t.addEventListener("keydown",n=>{if(n.stopPropagation(),!n.isComposing)if(upDownHint(e.menuElement.querySelector(".fn__flex-1"),n,"b3-menu__item--current"),n.key==="Enter"){const a=e.menuElement.querySelector(".b3-menu__item--current");a&&(e.blockElement.removeAttribute("data-render"),avRender(e.blockElement,e.protyle,void 0,a.dataset.id),e.menuElement.remove(),focusBlock(e.blockElement))}else n.key==="Escape"&&(e.menuElement.remove(),focusBlock(e.blockElement))}),t.addEventListener("input",n=>{n.isComposing||us(e.menuElement)}),t.addEventListener("compositionend",()=>{us(e.menuElement)})},us=e=>{var t;const a=e.querySelector(".b3-text-field").value;e.querySelectorAll('.b3-menu__item[draggable="true"]').forEach(i=>
997{!a||a.toLowerCase().indexOf(i.textContent.trim().toLowerCase())>-1||i.textContent.trim().toLowerCase().indexOf(a.toLowerCase())>-1?i.classList.remove("fn__none"):(i.classList.add("fn__none"),i.classList.remove("b3-menu__item--current"))}),e.querySelector(".b3-menu__item--current")||(t=e.querySelector(".fn__flex-1 .b3-menu__item:not(.fn__none)"))==null||t.classList.add("b3-menu__item--current")},Wd=(e,t)=>{let n="";return e.forEach(a=>{n+=`<button draggable="true" class="b3-menu__item${a.id===t?" b3-menu__item--current":""}" data-id="${a.id}">
998    <svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
999    <div class="b3-menu__label fn__flex" data-type="av-view-switch">
1000        ${a.icon?unicode2Emoji(a.icon,"b3-menu__icon",!0):'<svg class="b3-menu__icon"><use xlink:href="#iconTable"></use></svg>'}
1001        <span class="fn__ellipsis">${a.name}</span>
1002    </div>
1003    <svg class="b3-menu__action" data-type="av-view-edit"><use xlink:href="#iconEdit"></use></svg>
1004</button>`}),`<div class="b3-menu__items fn__flex-column">
1005<button class="b3-menu__item" data-type="av-add">
1006    <svg class="b3-menu__icon"><use xlink:href="#iconAdd"></use></svg>
1007    <span class="b3-menu__label">${window.siyuan.languages.newView}</span>
1008</button>
1009<button class="b3-menu__separator"></button>
1010<div class="b3-menu__item fn__flex-shrink" data-type="nobg">
1011    <input class="b3-text-field fn__block" type="text" style="margin: 4px 0" placeholder="${window.siyuan.languages.search}">
1012</div>
1013<div class="fn__flex-1" style="overflow: auto">
1014    ${n}
1015</div>
1016</div>`},jd=(e,t)=>{const n=Lute.NewNodeID(),a=t.getAttribute("data-av-id");transaction(e,[{action:"addAttrViewView",avID:a,id:n,blockID:t.getAttribute("data-node-id")}],[{action:"removeAttrViewView",avID:a,id:n,blockID:t.getAttribute("data-node-id")}]),t.setAttribute(Constants.CUSTOM_SY_AV_VIEW,n)},Mo=e=>{!window.siyuan.menus.menu.element.contains(e)&&!hasClosestByAttribute(e,"data-menu","true")&&(getSelection().rangeCount>0&&window.siyuan.menus.menu.element.contains(getSelection().getRangeAt(0).startContainer)&&window.siyuan.menus.menu.element.contains(document.activeElement)||window.siyuan.menus.menu.remove())},Vd=e=>{cancelDrag(),Mo(e.target);const t=hasClosestByClassName(e.target,"protyle",!0);if(t){const a=t.querySelector(".protyle-wysiwyg");(a.getAttribute("data-readonly")==="true"||!a.contains(e.target))&&a.dispatchEvent(new Event("focusin"))}const n=hasTopClosestByClassName(e.target,"protyle-action__copy");if(n){let a=n.parentElement.nextElementSibling.textContent.replace(/\n$/,"");a=a.replace(/\u00A0/g," "),writeText(a),showMessage(window.siyuan.languages.copied,2e3),e.preventDefault();return}};var Do=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});class Gd{constructor(t){this.lastHTMLs={},this.element=document.createElement("div"),this.element.className="protyle-wysiwyg",this.element.setAttribute("spellcheck","false"),isMobile()?this.element.setAttribute("contenteditable","false"):this.element.setAttribute("contenteditable","true"),window.siyuan.config.editor.displayBookmarkIcon&&this.element.classList.add("protyle-wysiwyg--attr"),this.bindCommonEvent(t),!t.options.action.includes(Constants.CB_GET_HISTORY)&&(this.bindEvent(t),keydown(t,this.element),dropEvent(t,this.element))}renderCustom(t){let n=t[Constants.CUSTOM_SY_FULLWIDTH];n||(n=window.siyuan.config.editor.fullWidth?"true":"false"),n==="true"?this.element.parentElement.setAttribute("data-fullwidth","true"):this.element.parentElement.removeAttribute("data-fullwidth");const a=Object.keys(t);for(let i=0;i<this.element.attributes.length;i++){const s=this.element.attributes[i].nodeName;!["type","class","spellcheck","contenteditable","data-doc-type","style","data-realwidth","data-readonly"].includes(s)&&!a.includes(s)&&(this.element.removeAttribute(s),i--)}a.forEach(i=>{["title-img","title","updated","icon","id","type","class","spellcheck","contenteditable","data-doc-type","style","data-realwidth","data-readonly"].includes(i)||this.element.setAttribute(i,t[i])})}escapeInline(t,n,a){if(!a.data&&a.inputType!=="insertLineBreak")return;const i=a.data;t.toolbar.range=n;const s=n.startContainer.parentElement,o=t.toolbar.getCurrentType();if(a.inputType==="insertLineBreak"){o.length>0&&n.toString()===""&&s.tagName==="SPAN"&&s.textContent.startsWith(`
1017`)&&n.startContainer.previousSibling&&n.startContainer.previousSibling.textContent===`
1018`&&s.before(n.startContainer.previousSibling);return}let l=i.length;if(i==="<"||i===">"?l=4:i==="&"&&(l=5),o.length>0&&n.toString()===""&&n.startOffset===i.length&&s.tagName==="SPAN"&&s.textContent.replace(Constants.ZWSP,"")!==i&&s.textContent.replace(Constants.ZWSP,"").length>=i.length&&!hasPreviousSibling(n.startContainer)&&!hasPreviousSibling(s)){const r=s.innerHTML.replace(Constants.ZWSP,"");
1018s.innerHTML=r.substr(l);const c=document.createTextNode(i);s.before(c),n.selectNodeContents(c),n.collapse(!1);return}if(s.tagName==="SPAN"&&s.textContent!==i&&!o.includes("search-mark")&&!o.includes("code")&&!o.includes("kbd")&&!o.includes("tag")&&n.toString()===""&&n.startContainer.nodeType===3&&(o.includes("inline-memo")||o.includes("block-ref")||o.includes("file-annotation-ref")||o.includes("a"))&&!hasNextSibling(n.startContainer)&&n.startContainer.textContent.length===n.startOffset&&s.textContent.length>i.length){const r=getSelectionOffset(s,t.wysiwyg.element,n),c=s.innerHTML;if(r.start===s.textContent.length){s.innerHTML=c.substr(0,c.length-l);const f=document.createTextNode(i);s.after(f),n.selectNodeContents(f),n.collapse(!1)}}}setEmptyOutline(t,n){t.wysiwyg.element.querySelectorAll(".img--select, .av__cell--select, .av__cell--active, .av__row--select").forEach(i=>{var s;i.classList.contains("av__row--select")&&!hasClosestByClassName(n,"av")?(i.classList.remove("av__row--select"),i.querySelector(".av__firstcol use").setAttribute("xlink:href","#iconUncheck"),updateHeader(i)):(i.classList.remove("img--select","av__cell--select","av__cell--active"),(s=i.querySelector(".av__drag-fill"))==null||s.remove())});let a=n;if(!n.getAttribute("data-node-id")){const i=hasClosestBlock(n);if(!i)return;a=i}t.disabled&&(t.toolbar.range=getEditorRange(a))}emojiToMd(t){t.querySelectorAll(".emoji").forEach(n=>{n.outerHTML=`:${n.getAttribute("alt")}:`})}bindCommonEvent(t){this.element.addEventListener("copy",n=>{var a;if(window.siyuan.ctrlIsPressed=!1,n.target.tagName==="PROTYLE-HTML"||n.target.localName==="input"){n.stopPropagation();return}n.stopPropagation(),n.preventDefault();const i=getEditorRange(t.wysiwyg.element),s=hasClosestBlock(i.startContainer);if(!s)return;const o=s.querySelector(".img--select"),l=s.querySelector(".av__row--select, .av__cell--select"),r=((a=s.querySelector(".table__select"))==null?void 0:a.clientWidth)>0;let c=Array.from(t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));c.length===0&&i.toString()===""&&!i.cloneContents().querySelector("img")&&!o&&!l&&!r&&(s.classList.add("protyle-wysiwyg--select"),countBlockWord([s.getAttribute("data-node-id")]),c=[s]);let f="",d="";if(c.length>0){const u=c[0].getAttribute("data-reftext")==="true";c[0].getAttribute("data-type")==="NodeListItem"&&c[0].parentElement.classList.contains("list")&&c[0].parentElement.childElementCount-1===c.length?u?f=getTextStar(c[0].parentElement):f=c[0].parentElement.outerHTML:c.forEach((g,p)=>{u&&p===0?f+=getTextStar(g)+`
1019
1020`:f+=removeEmbed(g)}),u&&c[0].removeAttribute("data-reftext")}else if(l){const u=Array.from(s.querySelectorAll(".av__cell--active, .av__cell--select"))||[];u.length===0&&s.querySelectorAll(".av__row--select:not(.av__row--header)").forEach(g=>{g.querySelectorAll(".av__cell").forEach(p=>{u.push(p)})}),u.length>0&&(f="[",u.forEach((g,p)=>{const m=getCellText(g);(p===0||!u[p-1].isSameNode(g.previousElementSibling))&&(f+="["),f+=JSON.stringify(genCellValueByElement(getTypeByCellElement(g),g))+",",(p===u.length-1||!u[p+1].isSameNode(g.nextElementSibling))&&(f=f.substring(0,f.length-1)+"],"),d+=m+(u[p+1]&&g.nextElementSibling&&g.nextElementSibling.isSameNode(u[p+1])?"	":`
1021
1022`)}),d=d.substring(0,d.length-2),f=f.substring(0,f.length-1)+"]")}else if(r){const u=[],g=s.firstElementChild.scrollLeft,p=s.querySelector("table").scrollTop,m=s.querySelector(".table__select");f="<table>",s.querySelectorAll("th, td").forEach(b=>{!b.classList.contains("fn__none")&&isIncludeCell({tableSelectElement:m,scrollLeft:g,scrollTop:p,item:b})&&u.push(b)}),u.forEach((b,E)=>{(E===0||!b.previousElementSibling||!b.previousElementSibling.isSameNode(u[E-1]))&&(f+="<tr>"),f+=b.outerHTML,(!b.nextElementSibling||!u[E+1]||!b.nextElementSibling.isSameNode(u[E+1]))&&(f+="</tr>")}),f+="</table>",d=t.lute.HTML2Md(f)}else{const u=document.createElement("div"),g=t.toolbar.getCurrentType(i),p=hasClosestByTag(i.startContainer,"SPAN"),m=hasClosestByAttribute(i.startContainer,"data-type","NodeHeading");if(g.length>0&&p&&p.textContent.replace(Constants.ZWSP,"")===i.toString()||m&&m.textContent.replace(Constants.ZWSP,"")===i.toString())m?u.append(m.cloneNode(!0)):["DIV","TD","TH","TR"].includes(i.startContainer.parentElement.tagName)?(u.append(i.cloneContents()),this.emojiToMd(u)):(u.append(i.startContainer.parentElement.cloneNode(!0)),this.emojiToMd(u)),f=u.innerHTML,d=i.toString();else if(o)f=o.outerHTML,d=o.querySelector("img").getAttribute("data-src");else if(g.length>0&&i.startContainer.nodeType===3&&i.startContainer.parentElement.tagName==="SPAN"&&i.startContainer.parentElement.isSameNode(i.endContainer.parentElement)){const b=i.startContainer.parentElement.attributes,E=document.createElement("span");for(let k=0;k<b.length;k++)E.setAttribute(b[k].name,b[k].value);E.getAttribute("data-type").indexOf("block-ref")>-1&&E.getAttribute("data-subtype")==="d"&&E.setAttribute("data-subtype","s"),E.textContent=i.toString(),f=E.outerHTML,d=i.toString()}else{u.append(i.cloneContents()),this.emojiToMd(u);const b=hasClosestByAttribute(i.commonAncestorContainer,"data-type","inline-math");
1022b?f=b.outerHTML:f=u.innerHTML,d=u.textContent,hasClosestByAttribute(i.startContainer,"data-type","NodeCodeBlock")?isEndOfBlock(i)&&(d=d.replace(/\n$/,"")):hasClosestByTag(i.startContainer,"TD")||hasClosestByTag(i.startContainer,"TH")?(u.innerHTML=u.innerHTML.replace(/<br>/g,`
1023`).replace(/<br\/>/g,`
1024`),d=u.textContent.endsWith(`
1025`)?u.textContent.replace(/\n$/,""):u.textContent):hasClosestByTag(i.startContainer,"CODE")||(d=i.toString())}}t.disabled&&(f=getEnableHTML(f)),d=d||t.lute.BlockDOM2StdMd(f).trimEnd(),d=d.replace(/\u00A0/g," ").replace(new RegExp(Constants.ZWSP,"g"),""),n.clipboardData.setData("text/plain",d),n.clipboardData.setData("text/html",r?f:t.lute.BlockDOM2HTML(l?d:f)),enableLuteMarkdownSyntax(t),n.clipboardData.setData("text/siyuan",r?t.lute.HTML2BlockDOM(f):f),restoreLuteMarkdownSyntax(t)}),this.element.addEventListener("mousedown",n=>{var a;if(t.wysiwyg.element.classList.remove("protyle-wysiwyg--hiderange"),n.button===2||window.siyuan.ctrlIsPressed)return;window.siyuan.shiftIsPressed&&getSelection().rangeCount>0&&(this.shiftStartElement=hasClosestBlock(getSelection().getRangeAt(0).startContainer)),window.siyuan.shiftIsPressed||hideElements(["select"],t);let i=n.target;if(hasClosestByClassName(i,"protyle-action")||hasClosestByClassName(i,"av__cell--header")&&!hasClosestByClassName(i,"av__widthdrag"))return;const s=document,o=t.element.getBoundingClientRect(),l=o.left+(parseInt(t.wysiwyg.element.style.paddingLeft)||24)+1,r=l+(t.wysiwyg.element.clientWidth-(parseInt(t.wysiwyg.element.style.paddingLeft)||24)-(parseInt(t.wysiwyg.element.style.paddingRight)||16))-2,c=o.bottom,f=n.clientY,d=t.contentElement.getBoundingClientRect();if(!t.disabled&&i.classList.contains("av__widthdrag")){const h=hasClosestBlock(i);if(!h)return;const _=h.getAttribute("data-av-id"),C=h.dataset.nodeId,L=i.parentElement,I=L.clientWidth,S=L.getAttribute("data-col-id");let x;const M=h.querySelector(".av__scroll");s.onmousemove=D=>{x=Math.max(I+(D.clientX-n.clientX),25),M.querySelectorAll(".av__row, .av__row--footer").forEach(H=>{H.querySelector(`[data-col-id="${S}"]`).style.width=x+"px"}),stickyRow(h,d,"bottom")},s.onmouseup=()=>{if(s.onmousemove=null,s.onmouseup=null,s.ondragstart=null,s.onselectstart=null,s.onselect=null,!x||x===I)return;const D=h.getAttribute("custom-sy-av-view");transaction(t,[{action:"setAttrViewColWidth",id:S,avID:_,data:x+"px",blockID:C,keyID:D}],[{action:"setAttrViewColWidth",id:S,avID:_,data:I+"px",blockID:C,keyID:D}])},this.preventClick=!0,n.preventDefault();return}const u=hasClosestByClassName(i,"av__drag-fill");if(!t.disabled&&u){const h=hasClosestBlock(u);if(!h)return;const _={};let C;const L=[];h.querySelectorAll(".av__cell--active").forEach(D=>{const H=hasClosestByClassName(D,"av__row");H&&(_[H.dataset.id]||(_[H.dataset.id]=[]),_[H.dataset.id].push(genCellValueByElement(getTypeByCellElement(D),D)),C=D,L.push(D.dataset.id))});const I=getPositionByCellElement(C),S=getPositionByCellElement(h.querySelector(".av__cell--active"));let x,M;return s.onmousemove=D=>{const H=hasClosestByClassName(D.target,"av__cell");if(!(x&&H&&H.isSameNode(x))&&(x=H,x&&x.dataset.id)){const B=getPositionByCellElement(x);if(h.querySelectorAll(".av__cell--active").forEach(Y=>{L.includes(Y.dataset.id)||Y.classList.remove("av__cell--active")}),B.celIndex!==I.celIndex){M=void 0;return}h.querySelectorAll(".av__row").forEach((Y,X)=>{(B.rowIndex<S.rowIndex&&X>=B.rowIndex&&X<S.rowIndex||B.rowIndex>I.rowIndex&&X<=B.rowIndex&&X>I.rowIndex)&&Y.querySelectorAll(".av__cell").forEach((U,V)=>{V>=S.celIndex&&V<=B.celIndex&&(U.classList.add("av__cell--active"),M=U)})})}},s.onmouseup=()=>{if(s.onmousemove=null,s.onmouseup=null,s.ondragstart=null,s.onselectstart=null,s.onselect=null,M){dragFillCellsValue(t,h,_,L);const D=h.querySelectorAll(".av__cell--active");addDragFill(D[D.length-1])}return!1},this.preventClick=!0,!1}const g=hasClosestByClassName(i,"av__cell");if(!t.disabled&&g&&g.dataset.id&&!isInEmbedBlock(g)){const h=hasClosestBlock(g);if(!h)return;h.querySelectorAll(".av__cell--select").forEach(x=>{x.classList.remove("av__cell--select")}),h.querySelectorAll(".av__drag-fill").forEach(x=>{x.remove()}),g.classList.add("av__cell--select");const _=getPositionByCellElement(g);let C,L;const I=h.getBoundingClientRect(),S=h.querySelector(".av__scroll");return s.onmousemove=x=>{const M=hasClosestByClassName(x.target,"av__cell");if(S.scrollWidth>S.clientWidth+2&&(x.clientX>I.right-10?S.scrollLeft+=10:x.clientX<I.left+34&&(S.scrollLeft-=10),x.clientY<d.top+48?t.contentElement.scrollTop-=5:x.clientY>
1025d.bottom-48&&(t.contentElement.scrollTop+=5)),!(C&&M&&M.isSameNode(C))&&M&&M.dataset.id&&(n.clientX!==x.clientX||n.clientY!==x.clientY)){const D=getPositionByCellElement(M);h.querySelectorAll(".av__cell--active").forEach(H=>{H.classList.remove("av__cell--active")}),h.querySelectorAll(".av__row").forEach((H,B)=>{B>=Math.min(_.rowIndex,D.rowIndex)&&B<=Math.max(_.rowIndex,D.rowIndex)&&H.querySelectorAll(".av__cell").forEach((Y,X)=>{X>=Math.min(_.celIndex,D.celIndex)&&X<=Math.max(_.celIndex,D.celIndex)&&(Y.classList.add("av__cell--active"),L=Y)})}),C=M}},s.onmouseup=()=>(s.onmousemove=null,s.onmouseup=null,s.ondragstart=null,s.onselectstart=null,s.onselect=null,L&&(selectRow(h.querySelector(".av__firstcol"),"unselectAll"),focusBlock(h),addDragFill(L),this.preventClick=!0),!1),!1}if(!t.disabled&&i.classList.contains("protyle-action__drag")){const h=hasClosestBlock(i);if(!h)return;let _=!0;["NodeIFrame","NodeWidget","NodeVideo"].includes(h.getAttribute("data-type"))?(h.classList.add("iframe--drag"),(h.style.textAlign==="left"||h.style.textAlign==="right")&&(_=!1)):i.parentElement.parentElement.getAttribute("data-type")==="img"&&i.parentElement.parentElement.classList.add("img--drag");const C=h.getAttribute("data-node-id"),L=h.outerHTML,I=n.clientX,S=i.previousElementSibling,x=S.clientWidth,M=S.clientHeight,D=S.parentElement.parentElement;S.tagName==="IMG"&&img3115(D),s.onmousemove=H=>{if(S.tagName==="IMG"&&(S.style.height=""),H.clientX>I-x+8&&H.clientX<r){const B=S.tagName==="IMG"&&!D.style.minWidth&&h.style.textAlign!=="center"||!_?1:2;S.tagName==="IMG"?S.parentElement.style.width=Math.max(17,x+(H.clientX-I)*B)+"px":S.style.width=Math.max(17,x+(H.clientX-I)*B)+"px"}S.tagName!=="IMG"&&H.clientY>f-M+8&&H.clientY<c&&(S.style.height=M+(H.clientY-f)+"px")},s.onmouseup=()=>{s.onmousemove=null,s.onmouseup=null,s.ondragstart=null,s.onselectstart=null,s.onselect=null,i.classList.contains("protyle-action__drag")&&h&&updateTransaction(t,C,h.outerHTML,L),h.classList.remove("iframe--drag"),i.parentElement.parentElement.classList.remove("img--drag")};return}let p;const m=hasClosestByTag(i,"TH")||hasClosestByTag(i,"TD");if(m&&(i=m),(i.tagName==="TH"||i.tagName==="TD"||((a=i.firstElementChild)==null?void 0:a.tagName)==="TABLE"||i.classList.contains("table__resize")||i.classList.contains("table__select"))&&(p=hasClosestBlock(i),p&&(p.querySelector(".table__select").removeAttribute("style"),window.siyuan.menus.menu.remove(),hideElements(["toolbar"],t),i.classList.contains("table__select")&&(i=document.elementFromPoint(n.clientX,n.clientY)),n.stopPropagation())),!t.disabled&&i.classList.contains("table__resize")){const h=hasClosestBlock(i);if(!h)return;const _=h.outerHTML;getSelection().rangeCount>0&&getSelection().getRangeAt(0).collapse(!1),h.firstElementChild.style.webkitUserModify="read-only",h.style.cursor="col-resize",i.removeAttribute("style");const C=h.getAttribute("data-node-id"),L=n.clientX,I=parseInt(i.getAttribute("data-col-index")),S=h.querySelectorAll("table col")[I];S.style.minWidth&&(S.style.width=h.querySelectorAll("table td, table th")[I].offsetWidth+"px",S.style.minWidth=""),h.querySelectorAll("tr").forEach(D=>{D.cells[I].style.width=""});const x=S.clientWidth,M=h.firstElementChild.clientWidth<h.firstElementChild.scrollWidth;s.onmousemove=D=>{h.style.textAlign==="center"&&!M?S.style.width=x+(D.clientX-L)*2+"px":S.style.width=x+(D.clientX-L)+"px"},s.onmouseup=()=>{h.firstElementChild.style.webkitUserModify="",h.style.cursor="",s.onmousemove=null,s.onmouseup=null,s.ondragstart=null,s.onselectstart=null,s.onselect=null,h&&updateTransaction(t,C,h.outerHTML,_)};return}let b=n.clientX;n.clientX>r?b=r:n.clientX<l&&(b=l);const E=o.top+(t.options.render.breadcrumb?t.breadcrumb.element.parentElement.clientHeight:0);let k,A,v,w;this.element.querySelectorAll("iframe").forEach(h=>{h.style.pointerEvents="none"});const y=["IMG","VIDEO","AUDIO"].includes(i.tagName)||i.classList.contains("img");s.onmousemove=h=>{let _=h.target;if(p&&p.contains(_)&&!hasClosestByClassName(p,"protyle-wysiwyg__embed")){if(_.classList.contains("table__select")){_.classList.add("fn__none");const U=document.elementFromPoint(h.clientX,h.clientY);_.classList.remove("fn__none"),_=hasClosestByTag(U,"TH")||hasClose
1025stByTag(U,"TD")}if(_&&_.isSameNode(i))return p.querySelector(".table__select").removeAttribute("style"),t.wysiwyg.element.classList.remove("protyle-wysiwyg--hiderange"),A=_,!1;if(_&&(_.tagName==="TH"||_.tagName==="TD")&&(!A||!A.isSameNode(_))){p.firstElementChild.style.webkitUserModify="read-only";let U=i.offsetLeft+i.clientWidth-_.offsetLeft,V=_.offsetLeft;i.offsetLeft===_.offsetLeft?U=Math.max(i.clientWidth,_.clientWidth):i.offsetLeft<_.offsetLeft&&(U=_.offsetLeft+_.clientWidth-i.offsetLeft,V=i.offsetLeft);let fe=i.offsetTop+i.clientHeight-_.offsetTop,re=_.offsetTop;i.offsetTop===_.offsetTop?fe=Math.max(i.clientHeight,_.clientHeight):i.offsetTop<_.offsetTop&&(fe=_.offsetTop+_.clientHeight-i.offsetTop,re=i.offsetTop),Array.from(p.querySelectorAll("th, td")).find(J=>{const Ee=J.offsetLeft<V+U&&J.offsetLeft+J.clientWidth>V+U,Fe=J.offsetLeft<V&&J.offsetLeft+J.clientWidth>V;J.offsetTop<re&&J.offsetTop+J.clientHeight>re?((J.offsetLeft+6>V&&J.offsetLeft+J.clientWidth-6<V+U||Ee||Fe)&&(fe=re+fe-J.offsetTop,re=J.offsetTop),Ee&&(U=J.offsetLeft+J.clientWidth-V),Fe&&(U=V+U-J.offsetLeft,V=J.offsetLeft)):J.offsetTop<re+fe&&J.offsetTop+J.clientHeight>re+fe?((J.offsetLeft+6>V&&J.offsetLeft+J.clientWidth-6<V+U||Ee||Fe)&&(fe=J.clientHeight+J.offsetTop-re),Ee&&(U=J.offsetLeft+J.clientWidth-V),Fe&&(U=V+U-J.offsetLeft,V=J.offsetLeft)):Fe&&J.offsetTop+6>re&&J.offsetTop+J.clientHeight-6<re+fe?(U=V+U-J.offsetLeft,V=J.offsetLeft):Ee&&J.offsetTop+6>re&&J.offsetTop+J.clientHeight-6<re+fe&&(U=J.offsetLeft+J.clientWidth-V)}),t.wysiwyg.element.classList.add("protyle-wysiwyg--hiderange"),p.querySelector(".table__select").setAttribute("style",`left:${V-p.firstElementChild.scrollLeft}px;top:${re-p.querySelector("table").scrollTop}px;height:${fe}px;width:${U+1}px;`),A=_}return}y&&(h.clientY<d.top+Constants.SIZE_SCROLL_TB||h.clientY>d.bottom-Constants.SIZE_SCROLL_TB)&&t.contentElement.scroll({top:t.contentElement.scrollTop+(h.clientY<d.top+Constants.SIZE_SCROLL_TB?-Constants.SIZE_SCROLL_STEP:Constants.SIZE_SCROLL_STEP),behavior:"smooth"}),t.selectElement.classList.remove("fn__none"),hideElements(["gutter"],t);let C=0,L=0,I=0,S=0;if(h.clientX<b?(h.clientX<l?L=l:L=h.clientX,I=b-L):h.clientX>r?(L=b,I=r-L):(L=b,I=h.clientX-b),h.clientY>f?h.clientY>c?(C=f,S=c-f):(C=f,S=h.clientY-f):(h.clientY<E?C=E:C=h.clientY,S=f-C),S<4)return;t.selectElement.setAttribute("style",`background-color: ${t.selectElement.style.backgroundColor};top:${C}px;height:${S}px;left:${L+2}px;width:${I-2}px;`);const x=document.elementFromPoint(h.clientX,h.clientY);if(k&&k.isSameNode(x)&&!k.classList.contains("protyle-wysiwyg")&&!k.classList.contains("list")&&!k.classList.contains("bq")&&!k.classList.contains("sb"))return;k=x,hideElements(["select"],t);let M;if(h.clientY>f?(M=v||document.elementFromPoint(L,C),w=void 0):(M=document.elementFromPoint(L,C),v=void 0),!M||((M.classList.contains("protyle-wysiwyg")||M.classList.contains("list")||M.classList.contains("li")||M.classList.contains("sb")||M.classList.contains("bq"))&&(M=document.elementFromPoint(L,C+16)),!M))return;let D=hasClosestBlock(M);!D&&M.classList.contains("protyle-breadcrumb__bar")&&(D=M.nextElementSibling),h.clientY>f?v||(D||(D=t.wysiwyg.element.firstElementChild,D.classList.contains("protyle-breadcrumb__bar")&&(D=D.nextElementSibling)),v=D):!D&&h.clientY<t.wysiwyg.element.lastElementChild.getBoundingClientRect().bottom&&(D=t.wysiwyg.element.firstElementChild,D.classList.contains("protyle-breadcrumb__bar")&&(D=D.nextElementSibling));let H=[],B=D;if(B){const U=isInEmbedBlock(B);U&&(B=U)}let Y=!1;const X=w?w.getBoundingClientRect().bottom:C+S;for(;B;)if(B&&!B.classList.contains("protyle-attr")){const U=B.getBoundingClientRect();if(U.height>0&&U.top<X&&U.left<L+I)if(Y)if(B.nextElementSibling&&!B.nextElementSibling.classList.contains("protyle-attr")){const V=B.nextElementSibling.getBoundingClientRect();if(V.top<X&&V.left<L+I)H=[B],B=B.nextElementSibling,Y=!1;else if(B.parentElement.classList.contains("sb"))B=hasClosestBlock(B.parentElement),Y=!0;else break}else B=hasClosestBlock(B.parentElement),Y=!0;else B.classList.contains("protyle-breadcrumb__bar")||H.push(B),B=B.nextElementSibling;else if(B.parentElement.classList.contains("sb"))B=hasClosestBlock(B.parentElement),Y=!0;else if(U.height===0&&U.width===0&&B.parentElement.getAttribute("fold")==="1")B=B.parentElement,H=[];else break}else B=hasClosestBlock(B.parentElement),Y=!0;h.clientY<=f&&!w&&(w=H[H.length-1]),H.length===1&&!H[0].classList.contains("list")&&!H[0].classList.contains("bq")&&!H[0].classList.contains("sb")?(t.selectElement.style.backgroundColor="transparent",t.wysiwyg.element.classList.remove("protyle-wysiwyg--hiderange")):(t.wysiwyg.element.classList.add("protyle-wysiwyg--hiderange"),H.forEach(U=>
1025{hasClosestByClassName(U,"protyle-wysiwyg__embed")||U.classList.add("protyle-wysiwyg--select")}),t.selectElement.style.backgroundColor="")},s.onmouseup=h=>{var _;if(s.onmousemove=null,s.onmouseup=null,s.ondragstart=null,s.onselectstart=null,s.onselect=null,v=void 0,w=void 0,t.wysiwyg.element.classList.remove("protyle-wysiwyg--hiderange"),this.element.querySelectorAll("iframe").forEach(I=>{I.style.pointerEvents=""}),t.selectElement.classList.add("fn__none"),t.selectElement.removeAttribute("style"),p){p.firstElementChild.style.webkitUserModify="";const I=p.querySelector(".table__select");if(I.getAttribute("style")){if(getSelection().rangeCount>0&&getSelection().getRangeAt(0).collapse(!1),window.siyuan.menus.menu.remove(),t.disabled||(window.siyuan.menus.menu.append(new MenuItem({label:window.siyuan.languages.mergeCell,click:()=>{if(p){const S=[],x=[],M=p.querySelectorAll("th").length;let D=0;const H=p.firstElementChild.scrollLeft,B=p.querySelector("table").scrollTop;let Y=!1,X=!1;p.querySelectorAll("th, td").forEach((ie,q)=>{ie.classList.contains("fn__none")?(ie.previousElementSibling&&ie.previousElementSibling.isSameNode(S[S.length-1])||q<D&&x.includes((q+1)%M))&&(S.push(ie),!Y&&ie.parentElement.parentElement.tagName==="THEAD"?Y=!0:!X&&ie.parentElement.parentElement.tagName==="TBODY"&&(X=!0)):isIncludeCell({tableSelectElement:I,scrollLeft:H,scrollTop:B,item:ie})&&(S.push(ie),!Y&&ie.parentElement.parentElement.tagName==="THEAD"?Y=!0:!X&&ie.parentElement.parentElement.tagName==="TBODY"&&(X=!0),x.push((q+1)%M),D=Math.max((ie.rowSpan-1)*M+q+1,D))}),I.removeAttribute("style");const U=p.outerHTML;let V=S[0],fe=V.colSpan,re=1;for(;V.nextElementSibling&&V.nextElementSibling.isSameNode(S[re]);)V=V.nextElementSibling,V.classList.contains("fn__none")||(fe+=V.colSpan),re++;let J="",Ee=S[0].parentElement,Fe=S[0].rowSpan;if(S.forEach((ie,q)=>{let ce=ie.innerHTML.trim();ce.endsWith("<br>")&&(ce=ce.substr(0,ce.length-4)),J+=ce+(!ce||q===S.length-1?"":"<br>"),q!==0&&(Ee.isSameNode(ie.parentElement)||(ie.classList.contains("fn__none")||(Fe+=ie.rowSpan),Ee=ie.parentElement,S[0].parentElement.parentElement.tagName==="THEAD"&&ie.parentElement.parentElement.tagName!=="THEAD"&&S[0].parentElement.parentElement.insertAdjacentElement("beforeend",ie.parentElement)),ie.classList.add("fn__none"),ie.innerHTML="")}),Y&&X)for(Ee=Ee.parentElement.nextElementSibling.firstElementChild;Ee&&Ee.parentElement.tagName!=="THEAD";){let ie=0,q=0;if(Array.from(Ee.children).forEach(ce=>{ie+=ce.colSpan-1,ce.classList.contains("fn__none")&&q++}),ie!==q)S[0].parentElement.parentElement.insertAdjacentElement("beforeend",Ee),Ee=Ee.parentElement.nextElementSibling.firstElementChild;else break}setTimeout(()=>{p&&(S[0].innerHTML=J+"<wbr>",S[0].colSpan=fe,S[0].rowSpan=Fe,focusByWbr(S[0],document.createRange()),updateTransaction(t,p.getAttribute("data-node-id"),p.outerHTML,U))})}}}).element),window.siyuan.menus.menu.append(new MenuItem({type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconAlignLeft",accelerator:window.siyuan.config.keymap.editor.general.alignLeft.custom,label:window.siyuan.languages.alignLeft,click:()=>{if(p){const S=[],x=p.firstElementChild.scrollLeft,M=p.querySelector("table").scrollTop;p.querySelectorAll("th, td").forEach(D=>{!D.classList.contains("fn__none")&&isIncludeCell({tableSelectElement:I,scrollLeft:x,scrollTop:M,item:D})&&(S.length===0||S.length>0&&D.offsetTop===S[0].offsetTop)&&S.push(D)}),I.removeAttribute("style"),setTableAlign(t,S,p,"left",getEditorRange(p))}}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconAlignCenter",accelerator:window.siyuan.config.keymap.editor.general.alignCenter.custom,label:window.siyuan.languages.alignCenter,click:()=>{if(p){const S=[],x=p.firstElementChild.scrollLeft,M=p.querySelector("table").scrollTop;p.querySelectorAll("th, td").forEach(D=>{!D.classList.contains("fn__none")&&isIncludeCell({tableSelectElement:I,scrollLeft:x,scrollTop:M,item:D})&&(S.length===0||S.length>0&&D.offsetTop===S[0].offsetTop)&&S.push(D)}),I.removeAttribute("style"),setTableAlign(t,S,p,"center",getEditorRange(p))}}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconAlignRight",accelerator:window.siyuan.config.keymap.editor.general.alignRight.custom,label:window.siyuan.languages.alignRight,click:()=>
1025{if(p){const S=[],x=p.firstElementChild.scrollLeft,M=p.querySelector("table").scrollTop;p.querySelectorAll("th, td").forEach(D=>{!D.classList.contains("fn__none")&&isIncludeCell({tableSelectElement:I,scrollLeft:x,scrollTop:M,item:D})&&(S.length===0||S.length>0&&D.offsetTop===S[0].offsetTop)&&S.push(D)}),I.removeAttribute("style"),setTableAlign(t,S,p,"right",getEditorRange(p))}}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"",label:window.siyuan.languages.useDefaultAlign,click:()=>{if(p){const S=[],x=p.firstElementChild.scrollLeft,M=p.querySelector("table").scrollTop;p.querySelectorAll("th, td").forEach(D=>{!D.classList.contains("fn__none")&&isIncludeCell({tableSelectElement:I,scrollLeft:x,scrollTop:M,item:D})&&(S.length===0||S.length>0&&D.offsetTop===S[0].offsetTop)&&S.push(D)}),I.removeAttribute("style"),setTableAlign(t,S,p,"",getEditorRange(p))}}}).element),window.siyuan.menus.menu.append(new MenuItem({type:"separator"}).element)),window.siyuan.menus.menu.append(new MenuItem({id:"copyPlainText",label:window.siyuan.languages.copyPlainText,click(){if(p){const S=[],x=p.firstElementChild.scrollLeft,M=p.querySelector("table").scrollTop,D=p.querySelector(".table__select");p.querySelectorAll("th, td").forEach(B=>{!B.classList.contains("fn__none")&&isIncludeCell({tableSelectElement:D,scrollLeft:x,scrollTop:M,item:B})&&S.push(B)});let H="";S.forEach((B,Y)=>{H+=B.textContent.trim()+"	",(!B.nextElementSibling||!S[Y+1]||!B.nextElementSibling.isSameNode(S[Y+1]))&&(H=H.slice(0,-1)+`
1026`)}),copyPlainText(H.slice(0,-1)),focusBlock(p)}}}).element),window.siyuan.menus.menu.append(new MenuItem({icon:"iconCopy",accelerator:"\u2318C",label:window.siyuan.languages.copy,click(){p&&(focusByRange(getEditorRange(p)),document.execCommand("copy"))}}).element),!t.disabled){let S;window.siyuan.menus.menu.append(new MenuItem({icon:"iconCut",accelerator:"\u2318X",label:window.siyuan.languages.cut,click(){p&&(focusByRange(getEditorRange(p)),document.execCommand("cut"))}}).element),window.siyuan.menus.menu.append(new MenuItem({label:window.siyuan.languages.clear,icon:"iconTrashcan",accelerator:"\u2326",click(){clearTableCell(t,p)}}).element),window.siyuan.menus.menu.append(new MenuItem({label:window.siyuan.languages.paste,icon:"iconPaste",accelerator:"\u2318V",click(){return Do(this,null,function*(){if(document.queryCommandSupported("paste"))document.execCommand("paste");else if(p)try{const x=yield readClipboard();paste(t,Object.assign(x,{target:p}))}catch(x){console.log(x)}})}}).element)}window.siyuan.menus.menu.popup({x:h.clientX-8,y:h.clientY-16})}}const C=[],L=t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(L.forEach(I=>{C.push(I.getAttribute("data-node-id"))}),countBlockWord(C),getSelection().rangeCount>0){const I=getSelection().getRangeAt(0);if((I.toString()===""||window.siyuan.shiftIsPressed)&&n.detail>2){let M=hasClosestBlock(I.startContainer);if(M){if((_=M.nextElementSibling)!=null&&_.classList.contains("table"))setLastNodeRange(getContenteditableElement(M),I,!1);else if(M.classList.contains("table")){const D=M.querySelectorAll("th, td");M=D[D.length-1],M.contains(I.startContainer)&&setLastNodeRange(M,I,!1)}}return}if(L.length>0){I.collapse(!0);return}const S=hasClosestBlock(I.startContainer);let x;if(h.detail>2&&I.endContainer.nodeType!==3&&["DIV","TD","TH"].includes(I.endContainer.tagName)&&I.endOffset===0){if(I.endContainer.classList.contains("protyle-attr")&&S)setLastNodeRange(getContenteditableElement(S),I,!1);else if(["TD","TH"].includes(I.endContainer.tagName)){const M=hasClosestByTag(I.startContainer,"TH")||hasClosestByTag(I.startContainer,"TD");M&&setLastNodeRange(M,I,!1)}}else x=hasClosestBlock(I.endContainer);S&&x&&!x.isSameNode(S)&&(I.startContainer.nodeType===1&&I.startContainer.tagName==="DIV"&&I.startContainer.classList.contains("protyle-attr")||n.clientY>h.clientY?setFirstNodeRange(getContenteditableElement(x),I):I.endOffset===0&&I.endContainer.nodeType===1&&I.endContainer.tagName==="DIV"?setLastNodeRange(getContenteditableElement(S),I,!1):I.collapse(!0))}}})}bindEvent(t){t.observer=new ResizeObserver(()=>{const l=t.contentElement.getBoundingClientRect();t.wysiwyg.element.querySelectorAll(".av").forEach(r=>{r.querySelector(".av__title")&&stickyRow(r,l,"all")})}),this.element.addEventListener("focusout",()=>{if(getSelection().rangeCount===0)return;const l=getSelection().getRangeAt(0);(this.element.isSameNode(l.startContainer)||this.element.contains(l.startContainer))&&(t.toolbar.range=l)}),this.element.addEventListener("cut",l=>{var r,c,f;if(window.siyuan.ctrlIsPressed=!1,t.disabled)return;if(l.target.tagName==="PROTYLE-HTML"||l.target.localName==="input"){l.stopPropagation();return}t.options.render.breadcrumb&&t.breadcrumb.hide();const d=getEditorRange(t.wysiwyg.element);let u=hasClosestBlock(d.startContainer);if(!u){l.stopPropagation(),l.preventDefault();return}const g=isInEmbedBlock(u);g&&(u=g),l.stopPropagation(),l.preventDefault();const p=u.querySelector(".img--select"),m=u.querySelector(".av__row--select, .av__cell--select"),b=((r=u.querySelector(".table__select"))==null?void 0:r.clientWidth)>0;let E=Array.from(t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));E.length===0&&d.toString()===""&&!d.cloneContents().querySelector("img")&&!p&&!m&&!b&&(u.classList.add("protyle-wysiwyg--select"),E=[u]);let k="",A="";if(E.length>0){E[0].getAttribute("data-type")==="NodeListItem"&&E[0].parentElement.classList.contains("list")&&E[0].parentElement.childElementCount-1===E.length?k=E[0].parentElement.outerHTML:(E.forEach(w=>{const y=getTopAloneElement(w);w.getAttribute("data-type")==="NodeHeading"&&w.getAttribute("fold")==="1"?k+=removeEmbed(y).replace('fold="1"',""):k+=removeEmbed(y)}),E[0].getAttribute("data-type")==="NodeListItem"&&(k=`<div data-subtype="${E[0].getAttribute("data-subtype")}" data-node-id="${Lute.NewNodeID()}" data-type="NodeList" class="list">${k}<div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`));const v=getNextBlock(E[E.length-1]);removeBlock(t,u,d,"remove"),v&&focusBlock(v)}else if(m){const v=updateCellsValue(t,u);k=JSON.stringify(v.json),A=v.text}else if(b){const v=[],w=u.firstElementChild.scrollLeft,y=u.querySelector("table").scrollTop,h=u.querySelector(".table__select");if(k="<table>",u.querySelectorAll("th, td").forEach(C=>{!C.classList.contains("fn__none")&&isIncludeCell({tableSelectElement:h,scrollLeft:w,scrollTop:y,item:C})&&v.push(C)}),h.removeAttribute("style"),getSelection().rangeCount>0){const C=getSelection().getRangeAt(0);u.contains(C.startContainer)&&C.insertNode(document.createElement("wbr"))}const _=u.outerHTML;(c=u.querySelector("wbr"))==null||c.remove(),u.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),v.forEach((C,L)=>{(L===0||!C.previousElementSibling||!C.previousElementSibling.isSameNode(v[L-1]))&&(k+="<tr>"),k+=C.outerHTML,(!C.nextElementSibling||!v[L+1]||!C.nextElementSibling.isSameNode(v[L+1]))&&
1026(k+="</tr>"),C.innerHTML=""}),k+="</table>",A=t.lute.HTML2Md(k),updateTransaction(t,u.getAttribute("data-node-id"),u.outerHTML,_)}else{const v=u.getAttribute("data-node-id");setInsertWbrHTML(u,d,t);const w=t.wysiwyg.lastHTMLs[v]||u.outerHTML,y=document.createElement("div");let h=d.startContainer;if(h.nodeType===3&&h.textContent===""){const C=hasNextSibling(d.startContainer);C&&(h=C)}const _=hasClosestByAttribute(h,"data-type","NodeHeading");if(_&&d.toString()===_.firstElementChild.textContent)y.insertAdjacentHTML("afterbegin",_.firstElementChild.innerHTML),_.firstElementChild.innerHTML="";else if(d.toString()!==""&&h.isSameNode(d.endContainer)&&d.startContainer.nodeType===3&&d.endOffset===d.endContainer.wholeText.length&&d.startOffset===0&&!["DIV","TD","TH","TR"].includes(d.startContainer.parentElement.tagName))y.append(d.startContainer.parentElement);else if(p)y.append(p);else if(d.startContainer.nodeType===3&&d.startContainer.parentElement.tagName==="SPAN"&&d.startContainer.parentElement.getAttribute("data-type")&&d.startContainer.parentElement.isSameNode(d.endContainer.parentElement)){const C=d.startContainer.parentElement,L=C.attributes,I=document.createElement("span");for(let S=0;S<L.length;S++)I.setAttribute(L[S].name,L[S].value);C.getAttribute("data-type").indexOf("block-ref")>-1&&C.getAttribute("data-subtype")==="d"&&(I.setAttribute("data-subtype","s"),C.setAttribute("data-subtype","s")),I.textContent=d.toString(),d.deleteContents(),y.append(I)}else if(d.cloneContents().querySelectorAll("td, th").length>0){const C=document.createElement("wbr");d.insertNode(C),d.setStartAfter(C),y.append(d.extractContents()),u.outerHTML=t.lute.SpinBlockDOM(u.outerHTML),u=t.wysiwyg.element.querySelector(`[data-node-id="${v}"]`),mathRender(u),focusByWbr(u,d)}else{const C=hasClosestByAttribute(d.commonAncestorContainer,"data-type","inline-math");if(C)y.append(C);else{y.append(d.extractContents());let L;u.classList.contains("av")?updateAVName(t,u):u.classList.contains("table")?L=hasClosestByTag(d.startContainer,"TD")||hasClosestByTag(d.startContainer,"TH"):L=getContenteditableElement(u),L&&Array.from(L.children).forEach(I=>{I.textContent===""&&I.nodeType===1&&!["BR","IMG"].includes(I.tagName)&&I.remove()})}}if(this.emojiToMd(y),k=y.innerHTML,(hasClosestByAttribute(d.startContainer,"data-type","NodeCodeBlock")||hasClosestByTag(d.startContainer,"CODE"))&&(A=y.textContent.replace(Constants.ZWSP,"")),!u.classList.contains("table")){const C=getContenteditableElement(u);C&&C.textContent===""&&(C.innerHTML="")}u.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),u.getAttribute("data-type")==="NodeCodeBlock"&&(d.insertNode(document.createElement("wbr")),(f=u.querySelector('[data-render="true"]'))==null||f.removeAttribute("data-render"),highlightRender(u)),u.parentElement.parentElement&&!u.classList.contains("av")&&(setInsertWbrHTML(u,d,t),updateTransaction(t,v,t.wysiwyg.lastHTMLs[v]||u.outerHTML,w))}t.hint.render(t),m||(A=A||t.lute.BlockDOM2StdMd(k).trimEnd(),u.classList.contains("table")&&(A=A.replace(/<br>/g,`
1027`).replace(/<br\/>/g,`
1028`),A=A.endsWith(`
1029`)?A.replace(/\n$/,""):A)),A=A.replace(/\u00A0/g," "),l.clipboardData.setData("text/plain",A),l.clipboardData.setData("text/html",b?k:t.lute.BlockDOM2HTML(m?A:k)),enableLuteMarkdownSyntax(t),l.clipboardData.setData("text/siyuan",b?t.lute.HTML2BlockDOM(k):k),restoreLuteMarkdownSyntax(t)});let n;this.element.addEventListener("contextmenu",l=>{var r,c,f,d,u;if(l.shiftKey)return;l.stopPropagation(),l.preventDefault();const g=l.clientX||l.detail.x,p=l.clientY||l.detail.y,m=t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(m.length>1){hideElements(["util"],t),t.gutter.renderMenu(t,m[0]),window.siyuan.menus.menu.popup({x:g,y:p});return}const b=l.detail.target||l.target,E=isInEmbedBlock(b);if(E)return getSelection().rangeCount===0&&focusSideBlock(E),t.gutter.renderMenu(t,E),window.siyuan.menus.menu.fullscreen(),!1;const k=hasClosestBlock(b);if(!k)return!1;const A=hasClosestByClassName(b,"av__cell");if(A){if(A.classList.contains("av__cell--header")){t.disabled||showColMenu(t,k,A),l.stopPropagation(),l.preventDefault();return}if(getTypeByCellElement(A)==="mAsset"){const h=hasClosestByClassName(b,"av__cellassetimg")||hasClose
1029stByClassName(b,"av__celltext--url");if(h){let _=0;Array.from(A.children).find((C,L)=>{if(C===h)return _=L,!0}),editAssetItem({protyle:t,cellElements:[A],blockElement:hasClosestBlock(h),content:b.tagName==="IMG"?b.getAttribute("src"):b.getAttribute("data-url"),type:b.tagName==="IMG"?"image":"file",name:b.tagName==="IMG"?"":b.getAttribute("data-name"),index:_,rect:b.getBoundingClientRect()}),l.stopPropagation(),l.preventDefault();return}}}const v=hasClosestByClassName(b,"av__row");if(v&&avContextmenu(t,v,{x:l.clientX,y:v.getBoundingClientRect().bottom,h:v.clientHeight})){l.stopPropagation(),l.preventDefault();return}const w=hasClosestByClassName(b,"item");if(k.classList.contains("av")&&w){w.classList.contains("item--focus")?openViewMenu({protyle:t,blockElement:k,element:w}):(k.removeAttribute("data-render"),avRender(k,t,()=>{openViewMenu({protyle:t,blockElement:k,element:k.querySelector(".item.item--focus")})},w.dataset.id)),l.stopPropagation(),l.preventDefault();return}if(t.toolbar.range=getEditorRange(t.element),b.tagName==="SPAN"&&!isNotEditBlock(k)){let h=((r=b.getAttribute("data-type"))==null?void 0:r.split(" "))||[];if(h.length===0&&(h=(b.dataset.type||"").split(" ")),h.length>0&&removeSearchMark(b),h.includes("block-ref"))return refMenu(t,b),b.setAttribute("prevent-popover","true"),setTimeout(()=>{b.removeAttribute("prevent-popover")},620),!1;if(h.includes("file-annotation-ref")&&!t.disabled)return fileAnnotationRefMenu(t,b),!1;if(h.includes("tag")&&!t.disabled)return tagMenu(t,b),!1;if(h.includes("inline-memo"))return t.toolbar.showRender(t,b),!1;if(h.includes("a"))return linkMenu(t,b),window.siyuan.config.editor.floatWindowMode===0&&((c=b.getAttribute("data-href"))!=null&&c.startsWith("siyuan://blocks"))&&(b.setAttribute("prevent-popover","true"),setTimeout(()=>{b.removeAttribute("prevent-popover")},620)),!1}const y=hasClosestByAttribute(b,"data-type","inline-math");if(y)return inlineMathMenu(t,y),!1;if(b.tagName==="IMG"&&hasClosestByClassName(b,"img"))return imgMenu(t,t.toolbar.range,b.parentElement.parentElement,{clientX:g+4,clientY:p}),!1;!isNotEditBlock(k)&&!k.classList.contains("protyle-wysiwyg--select")&&!hasClosestByClassName(b,"protyle-action")&&(isMobile()||l.detail.target||n&&k.contains(n.startContainer))?(!isMobile()||(f=t.toolbar)!=null&&f.element.classList.contains("fn__none"))&&!k.classList.contains("av")&&(contentMenu(t,k),window.siyuan.menus.menu.popup({x:g,y:p+13,h:26}),(d=t.toolbar)==null||d.element.classList.add("fn__none"),k.classList.contains("table")&&k.querySelector(".table__select").removeAttribute("style")):t.toolbar.range.toString()===""&&(hideElements(["util"],t),t.gutter&&t.gutter.renderMenu(t,k),window.siyuan.menus.menu.fullscreen(),(u=t.toolbar)==null||u.element.classList.add("fn__none"))}),this.element.addEventListener("pointerdown",()=>{getSelection().rangeCount>0?n=getSelection().getRangeAt(0):n=void 0});let a=!1;this.element.addEventListener("mousewheel",l=>{if(hideTooltip(),!a&&l.deltaY<0&&!t.scroll.element.classList.contains("fn__none")&&t.contentElement.clientHeight===t.contentElement.scrollHeight&&t.wysiwyg.element.firstElementChild.getAttribute("data-eof")!=="1"&&(fetchPost("/api/filetree/getDoc",{id:t.wysiwyg.element.firstElementChild.getAttribute("data-node-id"),mode:1,size:window.siyuan.config.editor.dynamicLoadBlocks},c=>{a=!1,onGet({data:c,protyle:t,action:[Constants.CB_GET_BEFORE,Constants.CB_GET_UNCHANGEID]})}),a=!0),l.deltaX===0)return;const r=hasClosestByClassName(l.target,"table");if(r){const c=r.querySelector(".table__select");c!=null&&c.style.width&&(c.removeAttribute("style"),window.siyuan.menus.menu.remove())}},{passive:!0}),this.element.addEventListener("paste",l=>{if(l.target.localName==="input"&&l.target.getAttribute("data-type")==="av-search")return;if(t.disabled){l.stopPropagation(),l.preventDefault();return}if(window.siyuan.ctrlIsPressed=!1,l.target.tagName==="PROTYLE-HTML"||l.target.localName==="input"){l.stopPropagation();return}if(!hasClosestByAttribute(l.target,"contenteditable","true")){l.stopPropagation(),l.preventDefault();return}const r=hasClosestBlock(l.target);if(r&&!getContenteditableElement(r)){l.stopPropagation(),l.preventDefault();return}if(!r)return;const c=getSelection().getRangeAt(0),f=c.startContainer.parentElement;if(c.toString()===""&&f.tagName==="SPAN"){const d=(f.getAttribute("data-type")||"").split(" ");if(d.includes("inline-memo")||d.includes("text")||d.includes("block-ref")||d.includes("file-annotation-ref")||d.includes("a")){const u=getSelectionOffset(f,r,c);u.start===0?(c.setStartBefore(f),c.collapse(!0)):u.start===f.textContent.length&&(c.setEndAfter(f),c.collapse(!1))}}paste(t,l)});let i=!1;this.element.addEventListener("compositionstart",l=>{i=!0;const r=getEditorRange(t.wysiwyg.element),c=hasClosestBlock(r.startContainer);!isMac()&&c&&setInsertWbrHTML(c,r,t),l.stopPropagation()}),this.element.addEventListener("compositionend",l=>{l.stopPropagation(),i=!1;const r=getEditorRange(this.element),c=hasClosestBlock(r.startContainer);if(c)if(l.data!=="")this.escapeInline(t,r,l),input(t,c,r,!0);else{const f=c.getAttribute("data-node-id");t.wysiwyg.lastHTMLs[f]&&updateTransaction(t,f,c.outerHTML,t.wysiwyg.lastHTMLs[f])}});let s;this.element.addEventListener("input",l=>{const r=l.target;if(r.tagName==="VIDEO"||r.tagName==="AUDIO"||l.inputType==="historyRedo")return;if(l.inputType==="historyUndo"){window.siyuan.menus.menu.remove();return}const c=getEditorRange(this.element),f=hasClosestBlock(c.startContainer);f&&([":","(","\u3010","\uFF08","[","{","\u300C","\u300E","#","/","\u3001"].includes(l.data)&&(t.hint.enableExtend=!0),!(l.isComposing||i||l.inputType==="deleteByDrag"||l.inputType==="insertFromDrop")&&(this.escapeInline(t,c,l),/^\d{1}$/.test(l.data)||l.data==="\u2018"||l.data==="\u201C"||l.data==="\u201D"||l.data==="\u300C"?(clearTimeout(s),s=window.setTimeout(()=>{input(t,f,c,!0)})):input(t,f,c,!0,l),l.stopPropagation()))}),this.element.addEventListener("keyup",l=>{const r=getEditorRange(this.element).cloneRange(),c=hasClosestBlock(r.startContainer);if(l.key!=="PageUp"&&l.key!=="PageDown"&&l.key!=="Home"&&l.key!=="End"&&l.key.indexOf("Arrow")===-1&&l.key!=="Escape"&&l.key!=="Shift"&&l.key!=="Meta"&&l.key!=="Alt"&&l.key!=="Control"&&l.key!=="CapsLock"&&!l.ctrlKey&&!l.shiftKey&&!l.metaKey&&!l.altKey&&!/^F\d{1,2}$/.test(l.key)){!isMac()&&c&&!i&&(typeof t.wysiwyg.lastHTMLs[c.getAttribute("data-node-id")]=="undefined"||r.toString()!==""||!this.preventKeyup)&&setInsertWbrHTML(c,r,t),this.preventKeyup=!1;return}if(this.preventKeyup){this.preventKeyup=!1;return}if((l.shiftKey||isOnlyMeta(l))&&!l.isComposing&&r.toString()!==""&&(t.toolbar.render(t,r,l),countSelectWord(r)),l.eventPhase!==3&&!l.shiftKey&&(l.key.indexOf("Arrow")>-1||l.key==="Home"||l.key==="End"||l.key==="PageUp"||l.key==="PageDown")&&!l.isComposing){if(c&&(this.setEmptyOutline(t,c),r.toString()===""&&!c.classList.contains("protyle-wysiwyg--select")&&countSelectWord(r,t.block.rootID),t.breadcrumb)){const f=t.breadcrumb.element.parentElement.querySelector('[data-type="indent"]');
1029if(f){const d=t.breadcrumb.element.parentElement.querySelector('[data-type="outdent"]');c.parentElement.classList.contains("li")?(f.removeAttribute("disabled"),d.removeAttribute("disabled")):(f.setAttribute("disabled","true"),d.setAttribute("disabled","true"))}}l.stopPropagation()}if((l.key==="ArrowLeft"||l.key==="ArrowRight")&&c&&!c.classList.contains("protyle-wysiwyg--select")){const f=Array.from(t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));let d=!1;f.find(u=>{if(u.contains(r.startContainer))return d=!0,!0}),!d&&f.length>0&&(f.forEach(u=>{u.classList.remove("protyle-wysiwyg--select")}),c.classList.add("protyle-wysiwyg--select"))}}),this.element.addEventListener("dblclick",l=>{if(l.target.tagName==="IMG"&&!l.target.classList.contains("emoji")){previewDocImage(l.target.getAttribute("src"),t.block.rootID);return}});let o=!1;this.element.addEventListener("click",l=>{if(this.preventClick){this.preventClick=!1;return}t.app.plugins.forEach(S=>{S.eventBus.emit("click-editorcontent",{protyle:t,event:l})}),hideElements(["hint","util"],t);const r=isOnlyMeta(l),c=hasClosestByClassName(l.target,"protyle-breadcrumb__item");if(c){c.getAttribute("data-id")&&loadBreadcrumb(t,c),l.stopPropagation();return}l.shiftKey||(this.shiftStartElement=void 0),this.setEmptyOutline(t,l.target);const f=hasClosestByClassName(l.target,"table");this.element.querySelectorAll(".table").forEach(S=>{S.tagName==="DIV"&&((!f||!S.isSameNode(f))&&S.querySelector(".table__select").removeAttribute("style"),f&&f.isSameNode(S)&&S.querySelector(".table__select").getAttribute("style")&&l.stopPropagation())}),t.options.render.breadcrumb&&t.breadcrumb.render(t,!1,hasClose
1029stBlock(l.target));const d=getEditorRange(this.element);d.startContainer.nodeType!==3&&d.startContainer.classList.contains("protyle-action")&&d.startContainer.parentElement.classList.contains("code-block")&&setFirstNodeRange(d.startContainer.parentElement.querySelector(".hljs").lastElementChild,d);const u=hasClosestByAttribute(l.target,"data-type","a")||hasClosestByClassName(l.target,"av__celltext--url");let g=u&&u.getAttribute("data-href")||"";u&&!g&&u.classList.contains("av__celltext--url")&&(g=u.textContent.trim(),u.dataset.type==="phone"?g="tel:"+g:u.dataset.type==="email"?g="mailto:"+g:u.classList.contains("b3-chip")&&(g=u.dataset.url));const p=hasClosestByAttribute(l.target,"data-type","block-ref");if((p||g.startsWith("siyuan://blocks/"))&&(l.stopPropagation(),l.preventDefault(),hideElements(["dialog","toolbar"],t),d.toString()===""||l.shiftKey)){let S;p?S=p.getAttribute("data-id"):u&&(S=g.substring(16,38)),checkFold(S,(x,M,D)=>{D||M.push(Constants.CB_GET_HL),o=!0,activeBlur(),openMobileFileById(t.app,S,x?[Constants.CB_GET_ALL]:[Constants.CB_GET_HL,Constants.CB_GET_CONTEXT,Constants.CB_GET_ROOTSCROLL])});return}const m=hasClosestByAttribute(l.target,"data-type","virtual-block-ref");if(m&&d.toString()===""){l.stopPropagation(),l.preventDefault();const S=hasClosestBlock(m);S&&fetchPost("/api/block/getBlockDefIDsByRefText",{anchor:m.textContent,excludeIDs:[S.getAttribute("data-node-id")]},x=>{checkFold(x.data.refDefs[0].refID,M=>{o=!0,activeBlur(),openMobileFileById(t.app,x.data.refDefs[0].refID,M?[Constants.CB_GET_ALL]:[Constants.CB_GET_HL,Constants.CB_GET_CONTEXT,Constants.CB_GET_ROOTSCROLL])})});return}const b=hasClosestByAttribute(l.target,"data-type","file-annotation-ref");if(b&&d.toString()===""){l.stopPropagation(),l.preventDefault(),openLink(t,b.getAttribute("data-id"),l,r);return}if(u&&(l.shiftKey||d.toString()==="")&&g){l.stopPropagation(),l.preventDefault(),openLink(t,g,l,r);return}if(u&&u.classList.contains("av__celltext--url")&&!g){let S=0;Array.from(u.parentElement.children).find((x,M)=>{if(x===u)return S=M,!0}),editAssetItem({protyle:t,cellElements:[u.parentElement],blockElement:hasClosestBlock(u),content:u.getAttribute("data-url"),type:"file",name:u.getAttribute("data-name"),index:S,rect:u.getBoundingClientRect()});return}const E=hasClosestByAttribute(l.target,"data-type","tag");if(E&&!l.altKey&&!l.shiftKey&&d.toString()===""){popSearch(t.app,{hasReplace:!1,method:0,hPath:"",idPath:[],k:`#${E.textContent}#`,r:"",page:1});return}const k=hasClosestByClassName(l.target,"protyle-wysiwyg__embed");if(k){const S=k.getAttribute("data-id");if(checkFold(S,(x,M)=>{o=!0,activeBlur(),openMobileFileById(t.app,S,x?[Constants.CB_GET_ALL]:[Constants.CB_GET_HL,Constants.CB_GET_CONTEXT,Constants.CB_GET_ROOTSCROLL])}),!r){l.stopPropagation();return}}if(commonClick(l,t)||hasTopClosestByClassName(l.target,"protyle-action__copy"))return;const A=hasClosestByClassName(l.target,"protyle-action__edit");if(A&&!t.disabled){t.toolbar.showRender(t,A.parentElement.parentElement),l.stopPropagation(),l.preventDefault();return}const v=hasClosestByClassName(l.target,"protyle-action__menu");if(v){t.gutter.renderMenu(t,v.parentElement.parentElement),window.siyuan.menus.menu.fullscreen(),l.stopPropagation(),l.preventDefault();return}const w=hasClosestByClassName(l.target,"protyle-action__reload");if(w){const S=isInEmbedBlock(w);S&&(S.removeAttribute("data-render"),blockRender(t,S)),l.stopPropagation(),l.preventDefault();return}const y=hasClosestByClassName(l.target,"protyle-action__language");if(y&&!t.disabled&&!r){t.toolbar.showCodeLanguage(t,[y]),l.stopPropagation(),l.preventDefault();return}const h=hasClosestByAttribute(l.target,"data-subtype","math");if(!l.shiftKey&&!r&&h&&!t.disabled){t.toolbar.showRender(t,h),l.stopPropagation();return}const _=hasClosestByClassName(l.target,"protyle-action");if(_){if(_.parentElement.parentElement.getAttribute("data-type")==="img"&&!t.disabled){imgMenu(t,d,_.parentElement.parentElement,{clientX:l.clientX+4,clientY:l.clientY}),l.stopPropagation();return}else if(_.parentElement.classList.contains("li")){const x=_.parentElement.getAttribute("data-node-id");if(l.altKey&&!t.disabled){if(_.parentElement.parentElement.classList.contains("protyle-wysiwyg"))setFold(t,_.parentElement);else{let M=!0;const D=_.parentElement.parentElement.outerHTML;Array.from(_.parentElement.parentElement.children).find(H=>{if(H.classList.contains("li")&&H.getAttribute("fold")!=="1"&&H.childElementCount>3)return M=!1,!0}),Array.from(_.parentElement.parentElement.children).find(H=>{H.classList.contains("li")&&(M?H.removeAttribute("fold"):H.childElementCount>3&&H.setAttribute("fold","1"))}),updateTransaction(t,_.parentElement.parentElement.getAttribute("data-node-id"),_.parentElement.parentElement.outerHTML,D)}hideElements(["gutter"],t)}else if(l.shiftKey&&!t.disabled)openAttr(_.parentElement,"bookmark",t);else if(r)zoomOut({protyle:t,id:x});else if(_.classList.contains("protyle-action--task")){if(!t.disabled){const M=_.parentElement.outerHTML;_.parentElement.classList.contains("protyle-task--done")?(_.querySelector("use").setAttribute("xlink:href","#iconUncheck"),_.parentElement.classList.remove("protyle-task--done")):(_.querySelector("use").setAttribute("xlink:href","#iconCheck"),_.parentElement.classList.add("protyle-task--done")),_.parentElement.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(t,x,_.parentElement.outerHTML,M)}}else window.siyuan.config.editor.listItemDotNumberClickFocus&&(t.block.showAll&&t.block.id===x?enterBack(t,x):zoomOut({protyle:t,id:x}));l.stopPropagation();return}}
1029const C=hasClosestByClassName(l.target,"hr")||hasClosestByClassName(l.target,"iframe");if(!l.shiftKey&&!r&&C){C.classList.add("protyle-wysiwyg--select"),globalClickHideMenu(l.target),l.stopPropagation();return}const L=hasTopClosestByClassName(l.target,"img");if(!l.shiftKey&&!r&&L){L.classList.add("img--select");const S=hasNextSibling(L);S&&(S.textContent.startsWith(Constants.ZWSP)?d.setStart(S,1):d.setStart(S,0),d.collapse(!0),focusByRange(d),t.options.render.breadcrumb&&t.breadcrumb.render(t));return}const I=hasTopClosestByClassName(l.target,"emoji");if(!t.disabled&&!l.shiftKey&&!r&&I){const S=hasClosestBlock(I);if(S){const x=I.getBoundingClientRect();openEmojiPanel("","av",{x:x.left,y:x.bottom,h:x.height,w:x.width},M=>{I.insertAdjacentHTML("afterend","<wbr>");const D=S.outerHTML;let H;if(M.startsWith("api/icon/getDynamicIcon"))H=`<img class="emoji" src="${M}"/>`;else if(M.indexOf(".")>-1){const B=M.split(".");H=`<img alt="${B[0]}" class="emoji" src="/emojis/${M}" title="${B[0]}">`}else H=unicode2Emoji(M);I.outerHTML=H,hideElements(["dialog"]),updateTransaction(t,S.getAttribute("data-node-id"),S.outerHTML,D),focusByWbr(S,d)},I)}return}if(!avClick(t,l)){if(setTimeout(()=>{let S=getEditorRange(this.element);const x=hasClosestByClassName(S.endContainer,"protyle-attr");x&&(S=setLastNodeRange(x.previousElementSibling,S,!1));const M=hasClosestByAttribute(S.startContainer,"data-type","inline-math");M&&(S.setEndAfter(M),S.collapse(!1),focusByRange(S)),t.wysiwyg.element.querySelector(".protyle-wysiwyg--select")||countSelectWord(S,t.block.rootID),getSelection().rangeCount===0&&!o&&focusByRange(S),o=!1},isMobile()||isInIOS()?520:0),t.hint.enableExtend=!1,l.shiftKey){l.preventDefault(),l.stopPropagation();let S=this.shiftStartElement,x=hasClosestBlock(l.target);if(this.shiftStartElement&&x&&!this.shiftStartElement.isSameNode(x)){let M=!0;d.collapse(!0);const D=S.getBoundingClientRect(),H=x.getBoundingClientRect();let B=D.top,Y=H.top;if(B===Y&&(B=D.left,Y=H.left),B>Y){const fe=x;x=S,S=fe;const re=Y;Y=B,B=re,M=!1}let X=[],U=S,V=!1;for(;U;)if(U&&!U.classList.contains("protyle-attr")){const fe=U.getBoundingClientRect();if(D.top===H.top?fe.left<=Y:fe.top<=Y)if(V)if(U.nextElementSibling&&!U.nextElementSibling.classList.contains("protyle-attr")){const re=U.nextElementSibling.getBoundingClientRect();if(D.top===H.top?re.left<=Y&&re.bottom<=H.bottom:re.top<=Y)X=[U],U=U.nextElementSibling,V=!1;else if(U.parentElement.classList.contains("sb"))U=hasClosestBlock(U.parentElement),V=!0;else break}else U=hasClosestBlock(U.parentElement),V=!0;else X.push(U),U=U.nextElementSibling;else if(U.parentElement.classList.contains("sb"))U=hasClosestBlock(U.parentElement),V=!0;else break}else U=hasClosestBlock(U.parentElement),V=!0;if(X.length===1&&!X[0].classList.contains("list")&&!X[0].classList.contains("bq")&&!X[0].classList.contains("sb"))this.shiftStartElement=void 0;else{const fe=[];!t.wysiwyg.element.querySelector(".protyle-wysiwyg--select")&&t.scroll&&!t.scroll.element.classList.contains("fn__none")&&!t.scroll.keepLazyLoad&&(S.getBoundingClientRect().top<-t.contentElement.clientHeight*2||x.getBoundingClientRect().bottom>t.contentElement.clientHeight*2)&&showMessage(window.siyuan.languages.crossKeepLazyLoad),X.forEach(re=>{re.classList.add("protyle-wysiwyg--select"),fe.push(re.getAttribute("data-node-id")),re.querySelectorAll(".protyle-wysiwyg--select").forEach(J=>{J.classList.remove("protyle-wysiwyg--select")})}),countBlockWord(fe),M?focusBlock(X[X.length-1],t.wysiwyg.element,!1):focusBlock(X[0],t.wysiwyg.element,!1)}}}if(this.element.querySelector(".protyle-wysiwyg--select")&&d.toString()!==""&&(d.collapse(!1),focusByRange(d)),r&&d.toString()===""&&!l.shiftKey&&!l.altKey){let S=hasClosestBlock(l.target);if(S){const x=isInEmbedBlock(S);x&&(S=x),S=getTopAloneElement(S),S.classList.contains("protyle-wysiwyg--select")?(S.classList.remove("protyle-wysiwyg--select"),S.removeAttribute("select-start"),S.removeAttribute("select-end")):S.classList.add("protyle-wysiwyg--select"),S.querySelectorAll(".protyle-wysiwyg--select").forEach(H=>{H.classList.remove("protyle-wysiwyg--select"),H.removeAttribute("select-start"),H.removeAttribute("select-end")});const M=hasClosestByClassName(S.parentElement,"protyle-wysiwyg--select");M&&(M.classList.remove("protyle-wysiwyg--select"),M.removeAttribute("select-start"),M.removeAttribute("select-end"));const D=[];t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select").forEach(H=>{D.push(H.getAttribute("data-node-id"))}),countBlockWord(D)}}}})}}var $o=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});class Kd extends qt{constructor(t,n){super(t,n),this.element.addEventListener("click",a=>$o(this,null,function*(){t.toolbar.element.classList.add("fn__none"),a.stopPropagation();const i=t.toolbar.range;if(!K(i.startContainer))return;const o=R(i.startContainer,"data-type","a");if(o){nl(t,o);return}let l="",r=i.toString().trim().replace($.ZWSP,"");try{if(l=t.lute.GetLinkDest(r),!l){const c=yield Ei(),f=c.textHTML||t.lute.Md2BlockDOM(c.textPlain);if(f){const d=document.createElement("template");d.innerHTML=f;const u=d.content.querySelector('span[data-type~="a"], a');u&&(r=r||u.textContent,l=u.getAttribute("data-href")||u.getAttribute("href"))}if(l||(l=t.lute.GetLinkDest(c.textPlain)),!l){const d=c.textPlain.lastIndexOf(" ");d>-1&&(l=t.lute.GetLinkDest(c.textPlain.substring(d)),l&&!r&&(r=c.textPlain.substring(0,d)))}!l&&c.textPlain.startsWith("assets/")&&(l=c.textPlain),l&&!r&&(r=decodeURIComponent(l.replace("https://","").replace("http://","")),l.length>$.SIZE_LINK_TEXT_MAX&&(r=l.substring(0,$.SIZE_LINK_TEXT_MAX)+"..."))}}catch(c){console.log(c)}t.toolbar.setInlineMark(t,"a","range",{type:"a",color:l+(r?$.ZWSP+r:"")}
1029)}))}}class zd extends qt{constructor(t,n){super(t,n),this.element.addEventListener("click",a=>{t.toolbar.range.toString()!==""&&(hi(t.toolbar.range),fl(t.toolbar.range.toString(),t,"search"),t.toolbar.element.classList.add("fn__none"),a.stopPropagation())})}}var Ho=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});class Zd extends qt{constructor(t,n){super(t,n),this.element.addEventListener("click",a=>Ho(this,null,function*(){t.toolbar.element.classList.add("fn__none"),a.stopPropagation();const i=t.toolbar.range;if(!K(i.startContainer))return;let o=R(i.startContainer,"data-type","inline-math");if(!o&&i.startContainer.nodeType!==3&&i.startContainer.childNodes[i.startOffset]){const l=Rt(i.startContainer.childNodes[i.startOffset]);l&&l.nodeType!==3&&l.getAttribute("data-type").indexOf("inline-math")>-1&&(o=l)}if(!o&&i.startOffset===i.startContainer.textContent.length&&i.startContainer.nodeType===3){let l=!0,r=!1;if(i.cloneContents().childNodes.forEach(c=>{c.nodeType!==3&&(c.getAttribute("data-type")||"").indexOf("inline-math")>-1||c.nodeType==3&&c.textContent===""?r=!0:l=!1}),l&&r){const c=In(i.startContainer);if(c&&c.nodeType!==3&&c.getAttribute("data-type").indexOf("inline-math")>-1)o=c;else{const f=Rt(i.startContainer);i.startOffset===0&&f&&f.nodeType!==3&&f.getAttribute("data-type").indexOf("inline-math")>-1&&(o=f)}}}if(o){t.toolbar.showRender(t,o);return}t.toolbar.setInlineMark(t,"inline-math","range",{type:"inline-math"})}))}}var No=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});class Xd extends qt{constructor(t,n){super(t,n),this.element.addEventListener("click",a=>No(this,null,function*(){t.toolbar.element.classList.add("fn__none"),a.stopPropagation();const i=t.toolbar.range;if(!K(i.startContainer))return;const o=R(i.startContainer,"data-type","inline-memo");if(o&&o.textContent===i.toString()){t.toolbar.showRender(t,o);return}i.toString()!==""&&t.toolbar.setInlineMark(t,"inline-memo","range",{type:"inline-memo"})}))}}const Jd=(e,t,n)=>{e.addEventListener("mousedown",a=>{const i=hasClosestByClassName(t,"b3-dialog__body")||hasClosestByClassName(t,"protyle-util");if(!i)return;i.style.userSelect="none",i.style.pointerEvents="none";const s=document;s.ondragstart=()=>!1;const o=a.clientX,l=t.clientWidth,r=i.clientWidth-256;s.onmousemove=c=>{const f=l+(c.clientX-o);f<256||f>r||(t.style.width=f+"px")},s.onmouseup=()=>{i.style.userSelect="auto",i.style.pointerEvents="",s.onmousemove=null,s.onmouseup=null,s.ondragstart=null,s.onselectstart=null,s.onselect=null,n&&(window.siyuan.storage[Constants.LOCAL_HISTORY][n]=t.clientWidth+"px",setStorageVal(Constants.LOCAL_HISTORY,window.siyuan.storage[Constants.LOCAL_HISTORY]))}})};var Bo=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});class Qd{constructor(t){const n=t.options,a=document.createElement("div");a.className="protyle-toolbar fn__none",this.element=a,this.subElement=document.createElement("div"),this.subElement.className="protyle-util fn__none protyle-util--mobile",this.toolbarHeight=29,t.app.plugins.forEach(i=>{const s=i.updateProtyleToolbar(n.toolbar);s.forEach(o=>{typeof o=="string"||Constants.INLINE_TYPE.concat("|").includes(o.name)||!o.hotkey||window.siyuan.config.keymap.plugin&&window.siyuan.config.keymap.plugin[i.name]&&window.siyuan.config.keymap.plugin[i.name][o.name]&&(o.hotkey=window.siyuan.config.keymap.plugin[i.name][o.name].custom)}),n.toolbar=toolbarKeyToMenu(s)}),n.toolbar.forEach(i=>{const s=this.genItem(t,i);this.element.appendChild(s)})}update(t){this.element.innerHTML="",t.options.toolbar=toolbarKeyToMenu(Constants.PROTYLE_TOOLBAR),t.app.plugins.forEach(n=>{const a=n.updateProtyleToolbar(t.options.toolbar);a.forEach(i=>
1029{typeof i=="string"||Constants.INLINE_TYPE.concat("|").includes(i.name)||!i.hotkey||window.siyuan.config.keymap.plugin&&window.siyuan.config.keymap.plugin[n.name]&&window.siyuan.config.keymap.plugin[n.name][i.name]&&(i.hotkey=window.siyuan.config.keymap.plugin[n.name][i.name].custom)}),t.options.toolbar=toolbarKeyToMenu(a)}),t.options.toolbar.forEach(n=>{const a=this.genItem(t,n);this.element.appendChild(a)})}render(t,n,a){this.range=n;let i=hasClosestBlock(n.startContainer);if(isMobile()||!i||t.disabled||i.classList.contains("av")){this.element.classList.add("fn__none");return}let s=!1;if(Array.from(n.cloneContents().childNodes).find(d=>{if(d.textContent.length>0&&d.textContent!==Constants.ZWSP&&!(d.nodeType===1&&d.classList.contains("img")))return s=!0,!0}),!s||n.commonAncestorContainer.nodeType!==3&&n.commonAncestorContainer.classList.contains("img")){this.element.classList.add("fn__none");return}const o=hasClosestBlock(n.startContainer),l=hasClosestBlock(n.endContainer);if(o&&l&&!o.isSameNode(l)){if(a)if(a.key==="ArrowLeft")this.range=setLastNodeRange(getContenteditableElement(o),n,!1);else if(a.key==="ArrowRight")this.range=setFirstNodeRange(getContenteditableElement(l),n),this.range.collapse(!1);else if(a.key==="ArrowUp"){if(this.range=setFirstNodeRange(getContenteditableElement(l),n),i=hasClosestBlock(l),!i)return}else a.key==="ArrowDown"&&(this.range=setLastNodeRange(getContenteditableElement(o),n,!1));else this.range=setLastNodeRange(getContenteditableElement(i),n,!1);if(focusByRange(this.range),this.range.toString()===""){this.element.classList.add("fn__none");return}}if(i.getAttribute("data-type")==="NodeCodeBlock"){this.element.classList.add("fn__none");return}const r=getSelectionPosition(i,n);this.element.classList.remove("fn__none"),this.toolbarHeight=this.element.clientHeight;const c=r.top-this.toolbarHeight-4;this.element.setAttribute("data-inity",c+Constants.ZWSP+t.contentElement.scrollTop.toString()),setPosition(this.element,r.left-52,Math.max(c,t.element.getBoundingClientRect().top+30)),this.element.querySelectorAll(".protyle-toolbar__item--current").forEach(d=>{d.classList.remove("protyle-toolbar__item--current")}),this.getCurrentType().forEach(d=>{if(["search-mark","a","block-ref","virtual-block-ref","text","file-annotation-ref","inline-math","inline-memo","","backslash"].includes(d))return;const u=this.element.querySelector(`[data-type="${d}"]`);u&&u.classList.add("protyle-toolbar__item--current")})}getCurrentType(t=this.range){var n,a;let i=[],s=t.startContainer;if(s.nodeType===3?s=s.parentElement:s.childElementCount>0&&((n=s.childNodes[t.startOffset])==null?void 0:n.nodeType)!==3&&(s=s.childNodes[t.startOffset],s.tagName==="WBR"&&(s=s.parentElement)),!s||s.nodeType===3)return[];["DIV","TD","TH","TR"].includes(s.tagName)||(i=(s.getAttribute("data-type")||"").split(" "));let o=t.endContainer;return o.nodeType===3?o=o.parentElement:o.childElementCount>0&&((a=o.childNodes[t.endOffset])==null?void 0:a.nodeType)!==3&&(o=o.childNodes[t.endOffset]),i.length===0&&(!o||o.nodeType===3)?[]:(o&&!["DIV","TD","TH","TR"].includes(o.tagName)&&!s.isSameNode(o)&&(i=i.concat((o.getAttribute("data-type")||"").split(" "))),t.cloneContents().childNodes.forEach(l=>{l.nodeType!==3&&(i=i.concat((l.getAttribute("data-type")||"").split(" ")))}),i=[...new Set(i)],i.find((l,r)=>{if(l==="")return i.splice(r,1),!0}),i)}setInlineMark(t,n,a,i){const s=hasClosestBlock(this.range.startContainer);if(!s||s.getAttribute("data-type")==="NodeCodeBlock")return;const o=hasClosestBlock(this.range.endContainer);if(!o)return;s.isSameNode(o)||(this.range=setLastNodeRange(getContenteditableElement(s),this.range,!1));let l=[];if(this.range.cloneContents().childNodes.forEach(y=>{y.nodeType!==3&&(l=l.concat((y.getAttribute("data-type")||"").split(" ")))}),this.range.startContainer.nodeType===3&&this.range.startContainer.parentElement.tagName==="SPAN"&&this.range.startContainer.isSameNode(this.range.endContainer)&&this.range.startOffset>-1&&this.range.endOffset<=this.range.startContainer.textContent.length&&(l=l.concat((this.range.startContainer.parentElement.getAttribute("data-type")||"").split(" "))),l.length===1&&["block-ref","virtual-block-ref","file-annotation-ref","a","inline-memo","inline-math","tag"].includes(l[0])&&n==="clear")return;if(l.includes("text")&&n==="text"&&i&&this.range.startContainer.nodeType===3&&this.range.startContainer.isSameNode(this.range.endContainer)){const y=this.range.startContainer.parentElement;if(y&&hasSameTextStyle(null,y,i))return}const r=this.range.toString();fixTableRange(this.range);let c,f,d;
1029if(this.range.startContainer.nodeType===3&&this.range.startContainer.parentElement.tagName==="SPAN"&&this.range.startContainer.isSameNode(this.range.endContainer)&&(this.range.startOffset>-1&&this.range.endOffset<=this.range.startContainer.textContent.length&&(d=this.range.startContainer.parentElement),this.range.startOffset!==0&&this.range.endOffset!==this.range.startContainer.textContent.length&&!(this.range.startOffset===1&&this.range.startContainer.textContent.startsWith(Constants.ZWSP)))){const y=this.range.startContainer.parentElement,h=document.createElement("span"),_=y.attributes;for(let C=0;C<_.length;C++)h.setAttribute(_[C].name,_[C].value);this.range.insertNode(document.createElement("wbr")),f=s.outerHTML,c=this.range.extractContents(),this.range.setEnd(y.lastChild,y.lastChild.textContent.length),h.append(this.range.extractContents()),y.after(h),this.range.setStartBefore(h),this.range.collapse(!0)}let u=!1;if(this.range.endOffset===this.range.startContainer.textContent.length&&!["DIV","TD","TH","TR"].includes(this.range.endContainer.parentElement.tagName)&&!hasNextSibling(this.range.endContainer)&&(this.range.setEndAfter(this.range.endContainer.parentElement),u=!0),this.range.startOffset===0&&!["DIV","TD","TH","TR"].includes(this.range.startContainer.parentElement.tagName)&&!hasPreviousSibling(this.range.startContainer)&&this.range.setStartBefore(this.range.startContainer.parentElement),f||(this.range.insertNode(document.createElement("wbr")),f=s.outerHTML,c=this.range.extractContents()),this.mergeNode(c.childNodes),c.childNodes.forEach(y=>{y.nodeType===3&&y.textContent===Constants.ZWSP&&y.remove(),y.nodeType===1&&y.textContent===""&&y.tagName==="SPAN"&&y.remove()}),this.range.startContainer.nodeType!==3){let y=this.range.startContainer.childNodes[this.range.startOffset];y&&y.nodeType===3&&(this.range.startContainer.tagName==="DIV"?y=y.previousSibling:y=this.range.startContainer),y&&y.nodeType!==3&&y.textContent.replace(Constants.ZWSP,"")===""&&y.remove()}if(d){const y=d.attributes;c.childNodes.forEach(h=>{if(h.nodeType===3){const _=document.createElement("span");for(let C=0;C<y.length;C++)_.setAttribute(y[C].name,y[C].value);_.innerHTML=h.textContent,h.replaceWith(_)}})}const g=isMobile()?document.querySelector("#keyboardToolbar .keyboard__dynamic").nextElementSibling:this.element,p=a==="toolbar"?g.querySelector(`[data-type="${n}"]`):void 0,m=[];let b=!1,E,k,A,v;if(n==="clear"||p!=null&&p.classList.contains("protyle-toolbar__item--current")||a==="range"&&l.length>0&&l.includes(n)&&!i){if(n==="clear"?g.querySelectorAll('[data-type="strong"],[data-type="em"],[data-type="u"],[data-type="s"],[data-type="mark"],[data-type="sup"],[data-type="sub"],[data-type="kbd"],[data-type="mark"],[data-type="code"]').forEach(y=>{y.classList.remove("protyle-toolbar__item--current")}):p&&p.classList.remove("protyle-toolbar__item--current"),c.childNodes.length===0){if(l.find((y,h)=>{if(n===y)return l.splice(h,1),!0}),l.length===0||n==="clear")m.push(document.createTextNode(Constants.ZWSP)),E=m[0];else{let y=0;for(;y<l.length;)["inline-memo","text","block-ref","virtual-block-ref","file-annotation-ref","a"].includes(l[y])?l.splice(y,1):++y;const h=document.createElement("span");h.setAttribute("data-type",l.join(" ")),h.textContent=Constants.ZWSP,m.push(h),E=m[0].firstChild}b=!0,A=1}c.childNodes.forEach(y=>{if(y.nodeType!==3&&y.tagName!=="BR"&&y.tagName!=="IMG"&&!y.classList.contains("img")){const h=(y.getAttribute("data-type")||"").split(" ");if(n==="clear")for(let _=0;_<h.length;_++)i&&i.type==="text"?h[_]==="text"&&(h.splice(_,1),_--):["kbd","text","strong","em","u","s","mark","sup","sub","code"].includes(h[_])&&(h.splice(_,1),_--);else h.find((_,C)=>{if(n===_)return h.splice(C,1),!0});h.length===0?m.push(document.createTextNode(y.textContent)):(n==="clear"&&(y.style.color="",y.style.webkitTextFillColor="",y.style.webkitTextStroke="",y.style.textShadow="",y.style.backgroundColor="",y.style.fontSize=""),y.setAttribute("data-type",h.join(" ")),m.push(y))}else m.push(y)})}else if(!this.element.classList.contains("fn__none")&&n!=="text"&&p&&p.classList.add("protyle-toolbar__item--current"),r===""){const y=document.createElement("span");if(l.push(n),u){let h=0;for(;h<l.length;)["inline-memo","text","block-ref","virtual-block-ref","file-annotation-ref","a"].includes(l[h])?l.splice(h,1):++h;l.length===0&&l.push(n)}y.setAttribute("data-type",[...new Set(l)].join(" ")),y.textContent=Constants.ZWSP,setFontStyle(y,i),m.push(y),b=!0}else{if(n==="block-ref")for(;c.childNodes.length>1;)c.childNodes[0].remove();
1029c.childNodes.forEach(y=>{let h="";if(y.nodeType===3&&y.textContent){for(;y.textContent.endsWith(`
1030`);)y.textContent=y.textContent.substring(0,y.textContent.length-1),h+=`
1031`;if(y.textContent){const _=document.createElement("span");_.setAttribute("data-type",n),_.textContent=n==="a"?y.textContent.trim()||"*":y.textContent,setFontStyle(_,i),n==="text"&&!_.getAttribute("style")?m.push(y):m.push(_)}}else if(y.nodeType===1){let _=(y.getAttribute("data-type")||"").split(" ");for(let C=0;C<_.length;C++)["backslash","virtual-block-ref","search-mark"].includes(_[C])&&(_.splice(C,1),C--);if(_.includes("img")||_.push(n),n==="sub"&&_.includes("sup")?_.find((C,L)=>{if(C==="sup")return _.splice(L,1),g.querySelector('[data-type="sup"]').classList.remove("protyle-toolbar__item--current"),!0}):n==="sup"&&_.includes("sub")?_.find((C,L)=>{if(C==="sub")return _.splice(L,1),g.querySelector('[data-type="sub"]').classList.remove("protyle-toolbar__item--current"),!0}):n==="block-ref"&&(_.includes("a")||_.includes("file-annotation-ref"))?_.find((C,L)=>{if(C==="a"||C==="file-annotation-ref")return _.splice(L,1),!0}):n==="a"&&(_.includes("block-ref")||_.includes("file-annotation-ref"))?_.find((C,L)=>{if(C==="block-ref"||C==="file-annotation-ref")return _.splice(L,1),!0}):n==="file-annotation-ref"&&(_.includes("block-ref")||_.includes("a"))?_.find((C,L)=>{if(C==="block-ref"||C==="a")return _.splice(L,1),!0}):n==="inline-memo"&&_.includes("inline-math")?(_.find((C,L)=>{if(C==="inline-math")return _.splice(L,1),!0}),y.querySelector(".katex")&&(y.textContent=y.getAttribute("data-content"))):n==="inline-math"&&_.includes("inline-memo")&&_.find((C,L)=>{if(C==="inline-memo")return _.splice(L,1),!0}),_=[...new Set(_)],y.tagName!=="BR"&&y.tagName!=="IMG"&&!_.includes("img"))if(y.setAttribute("data-type",_.join(" ")),setFontStyle(y,i),_.includes("text")&&!y.getAttribute("style"))if(_.length===1){const C=document.createTextNode(y.textContent);m.push(C)}else _.splice(_.indexOf("text"),1),y.setAttribute("data-type",_.join(" ")),m.push(y);else m.push(y);else m.push(y)}h&&m.push(document.createTextNode(h))})}for(let y=m.length-1;y>-1;y--)this.range.insertNode(m[y]);if(m.length===1&&m[0].textContent===Constants.ZWSP&&(this.range.setStart(m[0],1),this.range.collapse(!0),b=!1),!b){for(let y=0;y<=m.length;y++){let h=y===m.length?m[y-1]:hasPreviousSibling(m[y]);h.nodeType===3&&h.textContent===Constants.ZWSP&&(h=hasPreviousSibling(h),h&&h.nextSibling.remove());let _=m[y];if(_||(_=hasNextSibling(m[y-1]),_&&_.nodeType===3&&_.textContent===Constants.ZWSP&&(_=hasNextSibling(_),_&&_.previousSibling.remove())),_&&_.nodeType!==3){const C=(_.getAttribute("data-type")||"").split(" ");if(_.tagName!=="BR"&&h&&h.nodeType!==3&&_.nodeType!==3&&isArrayEqual(C,(h.getAttribute("data-type")||"").split(" "))&&hasSameTextStyle(_,h,i)&&((C.includes("code")||C.includes("tag")||C.includes("kbd"))&&_.textContent.startsWith(Constants.ZWSP)&&(_.textContent=_.textContent.substring(1)),C.includes("inline-math")?_.setAttribute("data-content",h.getAttribute("data-content")+_.getAttribute("data-content")):C.includes("block-ref")&&h.getAttribute("data-id")===_.getAttribute("data-id")?(h.dataset.subtype!=="d"||h.dataset.subtype!=="d")&&(_.setAttribute("data-subtype","s"),_.textContent=h.textContent+_.textContent):(_.textContent=h.textContent+_.textContent,C.includes("inline-memo")&&_.setAttribute("data-inline-memo-content",(h.getAttribute("data-inline-memo-content")||"")+(_.getAttribute("data-inline-memo-content")||""))),C.includes("inline-math")||(y===0?(E=_,A=h.textContent.length):y===m.length&&(k=_,v=h.textContent.length,E?E.isSameNode(h)&&(E=_):E=_)),h.remove(),y>0&&(m.splice(y-1,1),y--),m.length===0)){m.push(_);break}}}for(let y=0;y<=m.length;y++){const h=y===m.length?m[y-1]:hasPreviousSibling(m[y]);let _=m[y];if(_||(_=hasNextSibling(m[y-1])),!_){if(h.nodeType!==3){const C=(h.getAttribute("data-type")||"").split(" ");(C.includes("code")||C.includes("tag")||C.includes("kbd"))&&h.insertAdjacentText("afterend",Constants.ZWSP)}break}if(_.nodeType===3)if(h&&h.nodeType===3)_.textContent.startsWith(Constants.ZWSP)&&(_.textContent=_.textContent.substring(1)),h.textContent.endsWith(Constants.ZWSP)&&(h.textContent=h.textContent.substring(0,h.textContent.length-2));else{const C=h?(h.getAttribute("data-type")||"").split(" "):[];C.includes("code")||C.includes("tag")||C.includes("kbd")?_.textContent.startsWith(Constants.ZWSP)||(_.textContent=Constants.ZWSP+_.textContent):_.textContent.startsWith(Constants.ZWSP)&&(_.textContent=_.textContent.substring(1))}else{const C=_.nodeType===3?[]:(_.getAttribute("data-type")||"").split(" ");if(C.includes("code")||C.includes("tag")||C.includes("kbd")?(_.textContent.startsWith(Constants.ZWSP)||_.insertAdjacentText("afterbegin",Constants.ZWSP),(!h||h.nodeType===3&&h.textContent.endsWith(`
1032`))&&_.insertAdjacentText("beforebegin",Constants.ZWSP)):_.textContent.startsWith(Constants.ZWSP)&&(_.textContent=_.textContent.substring(1)),h&&h.nodeType!==3){const L=(h.getAttribute("data-type")||"").split(" ");(L.includes("code")||L.includes("tag")||L.includes("kbd"))&&_.insertAdjacentText("beforebegin",Constants.ZWSP)}}}}s.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(t,s.getAttribute("data-node-id"),s.outerHTML,f),s.querySelectorAll("wbr").forEach(y=>{y.remove()}),E&&typeof A=="number"&&(E.nodeType===3?this.range.setStart(E,A):this.range.setStart(E.firstChild,A)),k&&typeof v=="number"&&(k.nodeType===3?this.range.setEnd(k,v):this.range.setEnd(k.firstChild,v)),focusByRange(this.range);const w=m[0];if(w.nodeType!==3){const y=(w.getAttribute("data-type")||"").split(" ");n==="inline-math"?(mathRender(s),r===""&&y.includes("inline-math")&&t.toolbar.showRender(t,w,void 0,f)):n==="inline-memo"?!w.getAttribute("data-inline-memo-content")&&y.includes("inline-memo")&&t.toolbar.showRender(t,w,m,f):n==="a"&&y.includes("a")&&(w.textContent.replace(Constants.ZWSP,"")===""||!w.getAttribute("data-href"))&&linkMenu(t,w,!!w.getAttribute("data-href"))}}showRender(t,n,a,i){var s;const o=hasClosestBlock(n);if(!o)return;hideElements(["hint"],t),window.siyuan.menus.menu.remove();const l=o.getAttribute("data-node-id"),r=(n.getAttribute("data-type")||"").split(" "),c=i||o.outerHTML;let f="HTML",d="";const u=r.includes("inline-memo");switch(n.getAttribute("data-subtype")){case"abc":f=window.siyuan.languages.staff;break;case"echarts":f=window.siyuan.languages.chart;break;case"flowchart":f="Flow Chart";break;case"graphviz":f="Graphviz";break;case"mermaid":f="Mermaid";break;case"mindmap":d=`- foo
1033  - bar
1034- baz`,f=window.siyuan.languages.mindmap;break;case"plantuml":f="UML";break;case"math":r.includes("NodeMathBlock")?f=window.siyuan.languages.math:f=window.siyuan.languages["inline-math"];break}r.includes("NodeBlockQueryEmbed")?f=window.siyuan.languages.blockEmbed:u&&(f=window.siyuan.languages.memo);const g=((s=this.subElement.querySelector('[data-type="pin"]'))==null?void 0:s.getAttribute("aria-label"))===window.siyuan.languages.unpin,p={};if(g){const v=this.subElement.querySelector(".b3-text-field");p.styleH=v.style.height,p.styleW=v.style.width}else this.subElement.style.width="",this.subElement.style.padding="0";this.subElement.innerHTML=`<div ${g&&this.subElement.firstElementChild.getAttribute("data-drag")==="true"?'data-drag="true"':""}><div class="block__icons block__icons--menu fn__flex" style="border-radius: var(--b3-border-radius-b) var(--b3-border-radius-b) 0 0;">
1035    <span class="fn__flex-1 resize__move">
1036        ${f}
1037    </span>
1038    <span class="fn__space"></span>
1039    <button data-type="refresh" class="block__icon block__icon--show b3-tooltips b3-tooltips__nw${g&&!this.subElement.querySelector('[data-type="refresh"]').classList.contains("block__icon--active")?"":" block__icon--active"}${r.includes("NodeBlockQueryEmbed")?" fn__none":""}" aria-label="${window.siyuan.languages.refresh}"><svg><use xlink:href="#iconRefresh"></use></svg></button>
1040    <span class="fn__space"></span>
1041    <button data-type="before" class="block__icon block__icon--show b3-tooltips b3-tooltips__nw${t.disabled?" fn__none":""}" aria-label="${window.siyuan.languages["insert-before"]}"><svg><use xlink:href="#iconBefore"></use></svg></button>
1042    <span class="fn__space${t.disabled?" fn__none":""}"></span>
1043    <button data-type="after" class="block__icon block__icon--show b3-tooltips b3-tooltips__nw${t.disabled?" fn__none":""}" aria-label="${window.siyuan.languages["insert-after"]}"><svg><use xlink:href="#iconAfter"></use></svg></button>
1044    <span class="fn__space${t.disabled?" fn__none":""}"></span>
1045    <button data-type="export" class="block__icon block__icon--show b3-tooltips b3-tooltips__nw" aria-label="${window.siyuan.languages.export} ${window.siyuan.languages.image}"><svg><use xlink:href="#iconImage"></use></svg></button>
1046    <span class="fn__space"></span>
1047    <button data-type="pin" class="block__icon block__icon--show b3-tooltips b3-tooltips__nw" aria-label="${g?window.siyuan.languages.unpin:window.siyuan.languages.pin}"><svg><use xlink:href="#icon${g?"Unpin":"Pin"}"></use></svg></button>
1048    <span class="fn__space"></span>
1049    <button data-type="close" class="block__icon block__icon--show b3-tooltips b3-tooltips__nw" aria-label="${window.siyuan.languages.close}"><svg style="width: 10px;margin: 0 2px;"><use xlink:href="#iconClose"></use></svg></button>
1050</div>
1051<textarea ${t.disabled?" readonly":""} spellcheck="false" class="b3-text-field b3-text-field--text fn__block" placeholder="${d}" style="${isMobile()?"":"width:"+Math.max(480,n.clientWidth*.7)+"px"};max-height:calc(80vh - 44px);min-height: 48px;min-width: 268px;border-radius: 0 0 var(--b3-border-radius-b) var(--b3-border-radius-b);font-family: var(--b3-font-family-code);"></textarea></div>`;const m=()=>
1051{if(k.style.height=k.scrollHeight+"px",isMobile()){setPosition(this.subElement,0,0);return}if(this.subElement.firstElementChild.getAttribute("data-drag")==="true"){k.getBoundingClientRect().bottom>window.innerHeight&&(this.subElement.style.top=window.innerHeight-this.subElement.clientHeight+"px");return}const v=A.bottom===A.top?A.bottom+26:A.bottom;this.subElement.clientHeight<=window.innerHeight-v||this.subElement.clientHeight<=A.top?r.includes("inline-math")||u?setPosition(this.subElement,A.left,v,A.height||26):setPosition(this.subElement,A.left+(A.width-this.subElement.clientWidth)/2,v,A.height||26):setPosition(this.subElement,A.right,v)},b=this.subElement.querySelector(".block__icons");b.addEventListener("click",v=>{const w=v.target,y=hasClosestByClassName(w,"b3-tooltips");if(!y){if(v.detail===2){const h=b.querySelector('[data-type="pin"]');h.getAttribute("aria-label")===window.siyuan.languages.unpin?(h.querySelector("svg use").setAttribute("xlink:href","#iconPin"),h.setAttribute("aria-label",window.siyuan.languages.pin)):(h.querySelector("svg use").setAttribute("xlink:href","#iconUnpin"),h.setAttribute("aria-label",window.siyuan.languages.unpin)),v.preventDefault(),v.stopPropagation()}return}switch(v.stopPropagation(),y.getAttribute("data-type")){case"close":this.subElement.querySelector('[data-type="pin"]').setAttribute("aria-label",window.siyuan.languages.pin),hideElements(["util"],t);break;case"pin":y.getAttribute("aria-label")===window.siyuan.languages.unpin?(y.querySelector("svg use").setAttribute("xlink:href","#iconPin"),y.setAttribute("aria-label",window.siyuan.languages.pin)):(y.querySelector("svg use").setAttribute("xlink:href","#iconUnpin"),y.setAttribute("aria-label",window.siyuan.languages.unpin));break;case"refresh":y.classList.toggle("block__icon--active");break;case"before":insertEmptyBlock(t,"beforebegin",l),hideElements(["util"],t);break;case"after":insertEmptyBlock(t,"afterend",l),hideElements(["util"],t);break;case"export":E();break}});const E=()=>{const v=showMessage(window.siyuan.languages.exporting,0);if(n.getAttribute("data-subtype")==="plantuml"){fetch(n.querySelector("object").getAttribute("data")).then(function(w){return w.blob()}).then(function(w){const y=new FormData;y.append("file",w),y.append("type","image/svg+xml"),fetchPost("/api/export/exportAsFile",y,h=>{openByMobile(h.data.file),hideMessage(v)})});return}setTimeout(()=>{addScript("/stage/protyle/js/html-to-image.min.js?v=1.11.13","protyleHtml2image").then(()=>{n.style.display="inline-block",window.htmlToImage.toBlob(n).then(w=>{n.style.display="";const y=new FormData;y.append("file",w),y.append("type","image/png"),fetchPost("/api/export/exportAsFile",y,h=>{openByMobile(h.data.file),hideMessage(v)})})})},Constants.TIMEOUT_LOAD)},k=this.subElement.querySelector(".b3-text-field");r.includes("NodeHTMLBlock")?k.value=Lute.UnEscapeHTMLStr(n.querySelector("protyle-html").getAttribute("data-content")||""):u?k.value=Lute.UnEscapeHTMLStr(n.getAttribute("data-inline-memo-content")||""):k.value=Lute.UnEscapeHTMLStr(n.getAttribute("data-content")||""),k.addEventListener("input",v=>{if(n.parentElement&&(k.clientHeight!==k.scrollHeight&&m(),!!this.subElement.querySelector('[data-type="refresh"]').classList.contains("block__icon--active"))){if(r.includes("NodeHTMLBlock"))n.querySelector("protyle-html").setAttribute("data-content",Lute.EscapeHTMLStr(k.value));else if(u){let w;a?w=a:w=[n],w.forEach(y=>{y.nodeType!==3&&y.setAttribute("data-inline-memo-content",Lute.EscapeHTMLStr(k.value))})}else n.setAttribute("data-content",Lute.EscapeHTMLStr(k.value)),n.removeAttribute("data-render");(!r.includes("NodeBlockQueryEmbed")||!r.includes("NodeHTMLBlock")||!u)&&processRender(n),v.stopPropagation()}}),k.addEventListener("keydown",v=>{if(v.stopPropagation(),matchHotKey(window.siyuan.config.keymap.editor.insert["inline-math"].custom,v)){v.preventDefault();return}if(!v.isComposing){if(v.key==="Escape"||matchHotKey("\u2318\u21A9",v))this.subElement.querySelector('[data-type="pin"]').setAttribute("aria-label",window.siyuan.languages.pin),hideElements(["util"],t);else if(v.key==="Tab")document.execCommand("insertText",!1,"	"),v.preventDefault();else if(electronUndo(v))return}}),this.subElementCloseCB=()=>{var v;if(!n.parentElement||t.disabled)return;let w;if(r.includes("NodeHTMLBlock")){let y=k.value;y&&(y=y.trim().replace(/\n+/g,`
1052`),y.startsWith("<div>")&&y.endsWith("</div>")||(y=`<div>
1053${y}
1054</div>`)),n.querySelector("protyle-html").setAttribute("data-content",Lute.EscapeHTMLStr(y))}else if(u){let y;
1054a?y=a:y=[n],y.forEach((h,_)=>{if(k.value)h.nodeType!==3&&h.setAttribute("data-inline-memo-content",Lute.EscapeHTMLStr(k.value));else{const C=h.getAttribute("data-type").split(" ");C.length===1&&C[0]==="inline-memo"?h.outerHTML=h.innerHTML+(_===y.length-1?"<wbr>":""):(C.find((L,I)=>{if(L==="inline-memo")return C.splice(I,1),!0}),h.setAttribute("data-type",C.join(" ")),h.removeAttribute("data-inline-memo-content")),_===y.length-1&&(w=h)}})}else r.includes("inline-math")?k.value?(n.setAttribute("data-content",Lute.EscapeHTMLStr(k.value)),n.removeAttribute("data-render"),processRender(n)):(w=n,n.outerHTML="<wbr>"):(n.setAttribute("data-content",Lute.EscapeHTMLStr(k.value)),n.removeAttribute("data-render"),r.includes("NodeBlockQueryEmbed")?(blockRender(t,n),n.style.height=""):processRender(n));if(getSelection().rangeCount===0||getSelection().rangeCount>0&&hasClosestByClassName(getSelection().getRangeAt(0).startContainer,"protyle-util")?n.tagName==="SPAN"?w?w.parentElement?(this.range.setStartAfter(w),this.range.collapse(!0),focusByRange(this.range)):focusByWbr(o,this.range):n.parentElement&&(this.range.setStartAfter(n),this.range.collapse(!0),focusByRange(this.range)):(focusBlock(n),n.classList.add("protyle-wysiwyg--select")):(v=o.querySelector("wbr"))==null||v.remove(),o.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),r.includes("NodeHTMLBlock")){const y=document.createElement("template");y.innerHTML=t.lute.SpinBlockDOM(o.outerHTML),y.content.childElementCount>1&&showMessage(window.siyuan.languages.htmlBlockTip)}updateTransaction(t,l,o.outerHTML,c)},this.subElement.style.zIndex=(++window.siyuan.zIndex).toString(),this.subElement.classList.remove("fn__none");const A=n.getBoundingClientRect();this.element.classList.add("fn__none"),g?(k.style.width=p.styleW,k.style.height=p.styleH):m(),t.disabled||k.select(),t.app.plugins.forEach(v=>{v.eventBus.emit("open-noneditableblock",{protyle:t,toolbar:this,blockElement:o,renderElement:n})})}showCodeLanguage(t,n){var a,i;const s=hasClosestBlock(n[0]);if(!s)return;hideElements(["hint"],t),window.siyuan.menus.menu.remove(),this.range=getEditorRange(s);let o=`<div class="b3-list-item">${window.siyuan.languages.clear}</div>`;const l=Constants.ALIAS_CODE_LANGUAGES.concat((i=(a=window.hljs)==null?void 0:a.listLanguages())!=null?i:[]).sort();l.forEach((f,d)=>{o+=`<div class="b3-list-item${d===0?" b3-list-item--focus":""}">${f}</div>`}),this.subElement.style.width="",this.subElement.style.padding="",this.subElement.innerHTML=`<div class="fn__flex-column" style="max-height:50vh">
1055    <input placeholder="${window.siyuan.languages.search}" style="margin: 0 8px 4px 8px" class="b3-text-field"/>
1056    <div class="b3-list fn__flex-1 b3-list--background" style="position: relative">${o}</div>
1057</div>`;const r=this.subElement.lastElementChild.lastElementChild,c=this.subElement.querySelector("input");c.addEventListener("keydown",f=>{if(f.stopPropagation(),!f.isComposing){if(upDownHint(r,f),f.key==="Enter"){this.updateLanguage(n,t,this.subElement.querySelector(".b3-list-item--focus").textContent),f.preventDefault(),f.stopPropagation();return}f.key==="Escape"&&(this.subElement.classList.add("fn__none"),focusByRange(this.range))}}),c.addEventListener("input",f=>{const d=c.value.toLowerCase(),u=l.filter(m=>m.includes(d));let g="",p=!1;u.sort((m,b)=>m.startsWith(d)&&b.startsWith(d)?m.length<b.length?-1:m.length===b.length?0:1:m.startsWith(d)?-1:b.startsWith(d)?1:0).forEach(m=>{c.value===m&&(p=!0),g+=`<div class="b3-list-item">${m.replace(d,"<b>"+d+"</b>")}</div>`}),c.value.trim()&&!p&&(g=`<div class="b3-list-item"><b>${escapeHtml(c.value.replace(/`| /g,"_"))}</b></div>${g}`),g=`<div class="b3-list-item">${window.siyuan.languages.clear}</div>`+g,r.innerHTML=g,r.firstElementChild.nextElementSibling?r.firstElementChild.nextElementSibling.classList.add("b3-list-item--focus"):r.firstElementChild.classList.add("b3-list-item--focus"),f.stopPropagation()}),r.addEventListener("click",f=>{const d=f.target,u=hasClosestByClassName(d,"b3-list-item");u&&this.updateLanguage(n,t,u.textContent)}),this.subElement.style.zIndex=(++window.siyuan.zIndex).toString(),this.subElement.classList.remove("fn__none"),this.subElementCloseCB=void 0,setPosition(this.subElement,0,0),this.element.classList.add("fn__none"),c.select()}showTpl(t,n,a){this.range=a,hideElements(["hint"],t),window.siyuan.menus.menu.remove(),this.subElement.style.width="",this.subElement.style.padding="",this.subElement.innerHTML=`<div style="max-height:50vh" class="fn__flex">
1058<div class="fn__flex-column" style="${isMobile()?"width: 100%":"width: 256px"}">
1059    <div class="fn__flex" style="margin: 0 8px 4px 8px">
1060        <input class="b3-text-field fn__flex-1"/>
1061        <span class="fn__space"></span>
1062        <span data-type="previous" class="block__icon block__icon--show"><svg><use xlink:href="#iconLeft"></use></svg></span>
1063        <span class="fn__space"></span>
1064        <span data-type="next" class="block__icon block__icon--show"><svg><use xlink:href="#iconRight"></use></svg></span>
1065    </div>
1066    <div class="b3-list fn__flex-1 b3-list--background" style="position: relative"><img style="margin: 0 auto;display: block;width: 64px;height: 64px" src="/stage/loading-pure.svg"></div>
1067</div>
1068<div class="toolbarResize" style="    cursor: col-resize;
1069    box-shadow: 2px 0 0 0 var(--b3-theme-surface) inset, 3px 0 0 0 var(--b3-border-color) inset;
1070    width: 5px;
1071    margin-left: -2px;"></div>
1072<div style="width: 520px;${isMobile()||window.outerWidth<window.outerWidth/2+520?"display:none;":""}overflow: auto;"></div>
1073</div>`;const i=this.subElement.querySelector(".b3-list");resizeSide(this.subElement.querySelector(".toolbarResize"),i.parentElement);const s=this.subElement.firstElementChild.lastElementChild;let o;i.addEventListener("mouseover",r=>{const c=r.target,f=hasClosestByClassName(c,"b3-list-item");if(!f)return;const d=f.getAttribute("data-value");o!==d&&(o=d,previewTemplate(o,s,t.block.parentID),r.stopPropagation())});const l=this.subElement.querySelector("input");l.addEventListener("keydown",r=>{if(r.stopPropagation(),r.isComposing)return;const c=!this.subElement.querySelector(".b3-list-item");if(!c){const f=upDownHint(i,r);if(f){const d=f.getAttribute("data-value");if(o===d)return;o=d,previewTemplate(o,s,t.block.parentID)}}r.key==="Enter"?(c?focusByRange(this.range):hintRenderTemplate(decodeURIComponent(this.subElement.querySelector(".b3-list-item--focus").getAttribute("data-value")),t,n),this.subElement.classList.add("fn__none"),r.preventDefault()):r.key==="Escape"&&(this.subElement.classList.add("fn__none"),focusByRange(this.range))}),l.addEventListener("input",r=>{r.stopPropagation(),fetchPost("/api/search/searchTemplate",{k:l.value},c=>{var f;let d="";c.data.blocks.forEach((g,p)=>{d+=`<div data-value="${g.path}" class="b3-list-item${p===0?" b3-list-item--focus":""}">${g.content}</div>`}),i.innerHTML=d||`<li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`;const u=(f=c.data.blocks[0])==null?void 0:f.path;o!==u&&(o=u,previewTemplate(o,s,t.block.parentID))})}),this.subElement.lastElementChild.addEventListener("click",r=>{const c=r.target;if(c.classList.contains("b3-list--empty")){this.subElement.classList.add("fn__none"),focusByRange(this.range),r.stopPropagation();return}const f=hasClosestByClassName(c,"b3-list-item__action");if(f&&f.getAttribute("data-type")==="remove"){confirmDialog(window.siyuan.languages.remove,window.siyuan.languages.confirmDelete+"?",()=>{fetchPost("/api/search/removeTemplate",{path:f.parentElement.getAttribute("data-value")},()=>{if(f.parentElement.parentElement.childElementCount===1)f.parentElement.parentElement.innerHTML=`<li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`,previewTemplate("",s,t.block.parentID);else{if(f.parentElement.classList.contains("b3-list-item--focus")){const p=f.parentElement.previousElementSibling||f.parentElement.nextElementSibling;p.classList.add("b3-list-item--focus");const m=p.getAttribute("data-value");if(o===m)return;o=m,previewTemplate(o,s,t.block.parentID)}f.parentElement.remove()}})}),r.stopPropagation();return}if(hasClosestByAttribute(c,"data-type","previous")){l.dispatchEvent(new KeyboardEvent("keydown",{key:"ArrowUp"})),r.stopPropagation();return}if(hasClosestByAttribute(c,"data-type","next")){l.dispatchEvent(new KeyboardEvent("keydown",{key:"ArrowDown"})),r.stopPropagation();return}const g=hasClosestByClassName(c,"b3-list-item");g&&(hintRenderTemplate(decodeURIComponent(g.getAttribute("data-value")),t,n),r.stopPropagation())}),this.subElement.style.zIndex=(++window.siyuan.zIndex).toString(),this.subElement.classList.remove("fn__none"),this.subElementCloseCB=void 0,this.element.classList.add("fn__none"),l.select(),fetchPost("/api/search/searchTemplate",{k:""},r=>{let c="";r.data.blocks.forEach((f,d)=>{c+=`<div data-value="${f.path}" class="b3-list-item--hide-action b3-list-item${d===0?" b3-list-item--focus":""}">
1074<span class="b3-list-item__text">${f.content}</span>`,c+=`<span data-type="remove" class="b3-list-item__action b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.remove}">
1075    <svg><use xlink:href="#iconTrashcan"></use></svg>
1076</span></div>`}),this.subElement.querySelector(".b3-list--background").innerHTML=c||`<li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`,setPosition(this.subElement,0,0),o=i.firstElementChild.getAttribute("data-value"),previewTemplate(o,s,t.block.parentID)})}showWidget(t,n,a){this.range=a,hideElements(["hint"],t),window.siyuan.menus.menu.remove(),this.subElement.style.width="",this.subElement.style.padding="",this.subElement.innerHTML=`<div class="fn__flex-column" style="max-height:50vh">
1077    <input style="margin: 0 8px 4px 8px" class="b3-text-field"/>
1078    <div class="b3-list fn__flex-1 b3-list--background" style="position: relative"><img style="margin: 0 auto;display: block;width: 64px;height:64px" src="/stage/loading-pure.svg"></div>
1079</div>`;const i=this.subElement.lastElementChild.lastElementChild,s=this.subElement.querySelector("input");s.addEventListener("keydown",o=>{o.stopPropagation(),!o.isComposing&&(upDownHint(i,o),o.key==="Enter"?(hintRenderWidget(this.subElement.querySelector(".b3-list-item--focus").getAttribute("data-content"),t),this.subElement.classList.add("fn__none"),o.preventDefault()):o.key==="Escape"&&(this.subElement.classList.add("fn__none"),focusByRange(this.range)))}),s.addEventListener("input",o=>{o.stopPropagation(),fetchPost("/api/search/searchWidget",{k:s.value},l=>{let r="";l.data.blocks.forEach((c,f)=>{r+=`<div data-value="${c.path}" data-content="${c.content}" class="b3-list-item${f===0?" b3-list-item--focus":""}">
1080    ${c.name}
1081    <span class="b3-list-item__meta">${c.content}</span>
1082</div>`}),i.innerHTML=r})}),this.subElement.lastElementChild.addEventListener("click",o=>
1082{const l=o.target,r=hasClosestByClassName(l,"b3-list-item");r&&hintRenderWidget(r.dataset.content,t)}),this.subElement.style.zIndex=(++window.siyuan.zIndex).toString(),this.subElement.classList.remove("fn__none"),this.subElementCloseCB=void 0,this.element.classList.add("fn__none"),s.select(),fetchPost("/api/search/searchWidget",{k:""},o=>{let l="";o.data.blocks.forEach((r,c)=>{l+=`<div class="b3-list-item${c===0?" b3-list-item--focus":""}" data-content="${r.content}">
1083${r.name}
1084<span class="b3-list-item__meta">${r.content}</span>
1085</div>`}),this.subElement.querySelector(".b3-list--background").innerHTML=l,setPosition(this.subElement,0,0)})}showContent(t,n,a){var i,s;this.range=n,hideElements(["hint"],t),this.subElement.style.width="auto",this.subElement.style.padding="0 8px";let o="";const l=n.toString()!==""||((s=(i=n.cloneContents().childNodes[0])==null?void 0:i.classList)==null?void 0:s.contains("emoji"));l&&(o+='<button class="keyboard__action" data-action="copy"><svg><use xlink:href="#iconCopy"></use></svg></button>',t.disabled||(o+=`<button class="keyboard__action" data-action="cut"><svg><use xlink:href="#iconCut"></use></svg></button>
1086<button class="keyboard__action" data-action="delete"><svg><use xlink:href="#iconTrashcan"></use></svg></button>`)),t.disabled||(o+=`<button class="keyboard__action" data-action="paste"><svg><use xlink:href="#iconPaste"></use></svg></button>
1087<button class="keyboard__action" data-action="select"><svg><use xlink:href="#iconSelect"></use></svg></button>`),(l||!t.disabled)&&(o+='<button class="keyboard__action" data-action="more"><svg><use xlink:href="#iconMore"></use></svg></button>'),this.subElement.innerHTML=`<div class="fn__flex">${o}</div>`,this.subElement.lastElementChild.addEventListener("click",c=>Bo(this,null,function*(){const f=hasClosestByClassName(c.target,"keyboard__action");if(!f)return;const d=f.getAttribute("data-action");if(d==="copy")focusByRange(getEditorRange(a)),document.execCommand("copy"),this.subElement.classList.add("fn__none");else if(d==="cut")focusByRange(getEditorRange(a)),document.execCommand("cut"),this.subElement.classList.add("fn__none");else if(d==="delete"){const u=getEditorRange(a);u.insertNode(document.createElement("wbr"));const g=a.outerHTML;u.extractContents(),focusByWbr(a,u),focusByRange(u),updateTransaction(t,a.getAttribute("data-node-id"),a.outerHTML,g),this.subElement.classList.add("fn__none")}else if(d==="paste"){if(document.queryCommandSupported("paste"))document.execCommand("paste");else try{const u=yield readClipboard();paste(t,Object.assign(u,{target:a}))}catch(u){console.log(u)}this.subElement.classList.add("fn__none")}else d==="select"?(selectAll(t,a,n),this.subElement.classList.add("fn__none")):d==="copyPlainText"?(focusByRange(getEditorRange(a)),copyPlainText(getSelection().getRangeAt(0).toString()),this.subElement.classList.add("fn__none")):d==="pasteAsPlainText"?(focusByRange(getEditorRange(a)),pasteAsPlainText(t),this.subElement.classList.add("fn__none")):d==="pasteEscaped"?(pasteEscaped(t,a),this.subElement.classList.add("fn__none")):d==="back"?this.subElement.lastElementChild.innerHTML=o:d==="more"&&(this.subElement.lastElementChild.innerHTML=`<button class="keyboard__action${l?"":" fn__none"}" data-action="copyPlainText"><span>${window.siyuan.languages.copyPlainText}</span></button>
1088<div class="keyboard__split${l?"":" fn__none"}"></div>
1089<button class="keyboard__action${t.disabled?" fn__none":""}" data-action="pasteAsPlainText"><span>${window.siyuan.languages.pasteAsPlainText}</span></button>
1090<div class="keyboard__split${t.disabled?" fn__none":""}"></div>
1091<button class="keyboard__action${t.disabled?" fn__none":""}" data-action="pasteEscaped"><span>${window.siyuan.languages.pasteEscaped}</span></button>
1092<div class="keyboard__split${t.disabled?" fn__none":""}"></div>
1093<button class="keyboard__action" data-action="back"><svg><use xlink:href="#iconBack"></use></svg></button>`,setPosition(this.subElement,r.left,r.top+28,Constants.SIZE_TOOLBAR_HEIGHT))})),this.subElement.style.zIndex=(++window.siyuan.zIndex).toString(),this.subElement.classList.remove("fn__none"),this.subElementCloseCB=void 0,this.element.classList.add("fn__none");const r=getSelectionPosition(a,n);setPosition(this.subElement,r.left,r.top-48,Constants.SIZE_TOOLBAR_HEIGHT)}genItem(t,n){let a;switch(n.name){case"strong":case"em":case"s":case"code":case"mark":case"tag":case"u":case"sup":case"clear":case"sub":case"kbd":a=new ToolbarItem(t,n);break;case"block-ref":a=new BlockRef(t,n);break;case"inline-math":a=new InlineMath(t,n);break;case"inline-memo":a=new InlineMemo(t,n);break;case"|":a=new Divider;break;case"text":a=new Font(t,n);break;case"a":a=new Link(t,n);break;default:a=new ToolbarItem(t,n);break}if(a)return a.element}mergeNode(t){for(let n=0;n<t.length;n++)t[n].nodeType!==3&&t[n].tagName==="WBR"&&(t[n].remove(),n--);for(let n=0;n<t.length;n++)t[n].nodeType===3&&(t[n].textContent===""?(t[n].remove(),n--):t[n+1]&&t[n+1].nodeType===3&&(t[n].textContent=t[n].textContent+t[n+1].textContent,t[n+1].remove(),n--))}updateLanguage(t,n,a){const i=a===window.siyuan.languages.clear?"":a;Constants.SIYUAN_RENDER_CODE_LANGUAGES.includes(i)||(window.siyuan.storage[Constants.LOCAL_CODELANG]=i,setStorageVal(Constants.LOCAL_CODELANG,window.siyuan.storage[Constants.LOCAL_CODELANG]));const s=[],o=[];t.forEach(l=>{const r=hasClosestBlock(l);if(r){const c=r.getAttribute("data-node-id");o.push({id:c,data:r.outerHTML,action:"update"}),l.textContent=a===window.siyuan.languages.clear?"":a;const f=getContenteditableElement(r);Constants.SIYUAN_RENDER_CODE_LANGUAGES.includes(i)?(r.dataset.content=f.textContent.trim(),r.dataset.subtype=i,r.className="render-node",r.innerHTML=`<div spin="1"></div><div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div>`,processRender(r)):(f.textContent=f.textContent,f.parentElement.removeAttribute("data-render"),highlightRender(r)),r.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),s.push({id:c,data:r.outerHTML,action:"update"})}}),transaction(n,s,o),this.subElement.classList.add("fn__none"),focusByRange(this.range)}}const eu=(e,t,n,a,i)=>{let s=1,o;fetchPost(`/api/riff/get${a}RiffCards`,{id:t,page:s},l=>{var r;const c=new Dialog({positionId:Constants.DIALOG_VIEWCARDS,content:`<div class="fn__flex-column" style="height: 100%">
1094    <div class="block__icons">
1095        <span class="fn__flex-1 fn__flex-center resize__move">${escapeHtml(n)}</span>
1096        <span class="fn__space"></span>
1097        <span data-type="resetAll" class="block__icon block__icon--show b3-tooltips b3-tooltips__w${a===""&&t===""?" fn__none":""}" aria-label="${window.siyuan.languages.reset}"><svg><use xlink:href='#iconUndo'></use></svg></span>
1098        <span class="fn__space"></span>
1099        <span data-type="previous" class="block__icon block__icon--show b3-tooltips b3-tooltips__w" disabled="disabled" aria-label="${window.siyuan.languages.previousLabel}"><svg><use xlink:href='#iconLeft'></use></svg></span>
1100        <span class="fn__space"></span>
1101        <span data-type="next" class="block__icon block__icon--show b3-tooltips b3-tooltips__w" disabled="disabled" aria-label="${window.siyuan.languages.nextLabel}"><svg><use xlink:href='#iconRight'></use></svg></span>
1102        <span class="fn__space"></span>
1103        <span class="fn__flex-center ft__on-surface">${s}/${l.data.pageCount||1}</span>
1104        <span class="fn__space"></span>
1105        <span class="counter">${l.data.total}</span>
1106        ${isMobile()?`<span class="fn__space"></span>
1107<div data-type="close" class="block__icon block__icon--show">
1108    <svg><use xlink:href="#iconCloseRound"></use></svg>
1109</div>`:""}
1110    </div>
1111    <div class="${isMobile()?"fn__flex-column":"fn__flex"} fn__flex-1" style="min-height: auto">
1112        <ul class="fn__flex-1 b3-list b3-list--background" style="user-select: none">
1113            ${oa(l.data.blocks,n,a)}
1114        </ul>
1115        <div id="cardPreview" style="border-bottom-right-radius:var(--b3-border-radius-b);" class="fn__flex-1 fn__none"></div>
1116        <div class="fn__flex-1 card__empty">${window.siyuan.languages.emptyContent}</div>
1117    </div>
1118</div>`,width:isMobile()?"100vw":"80vw",height:isMobile()?"100vh":"70vh",destroyCallback(){o&&(o.destroy(),window.siyuan.mobile&&(window.siyuan.mobile.popEditor=null))},resizeCallback(g){g!=="d"&&g!=="t"&&o&&o.resize()}});l.data.blocks.length>0&&(o=new Protyle(e,c.element.querySelector("#cardPreview"),{blockId:"",render:{gutter:!0,breadcrumbDocName:!0}}),window.siyuan.mobile&&(window.siyuan.mobile.popEditor=o),c.editors={card:o},o.resize(),mt(o,(r=c.element.querySelector(".b3-list-item--focus"))==null?void 0:r.getAttribute("data-id")));const f=c.element.querySelector('[data-type="previous"]'),d=c.element.querySelector('[data-type="next"]'),u=c.element.querySelector(".b3-list--background");l.data.pageCount>1&&d.removeAttribute("disabled"),c.element.setAttribute("data-key",Constants.DIALOG_VIEWCARDS),c.element.addEventListener("click",g=>{var p;if(typeof g.detail=="string"){let b=u.querySelector(".b3-list-item--focus");if(b){b.classList.remove("b3-list-item--focus"),g.detail==="arrowup"?b=b.previousElementSibling||b.parentElement.lastElementChild:g.detail==="arrowdown"?b=b.nextElementSibling||b.parentElement.firstElementChild:g.detail==="home"?b=b.parentElement.firstElementChild:g.detail==="end"&&(b=b.parentElement.lastElementChild);const E=b.getBoundingClientRect(),k=b.parentElement.getBoundingClientRect();(E.top<k.top||E.bottom>k.bottom)&&b.scrollIntoView(E.top<k.top),mt(o,b.getAttribute("data-id")),b.classList.add("b3-list-item--focus")}g.stopPropagation(),g.preventDefault();return}let m=g.target;for(;m&&!c.element.isSameNode(m);){const b=m.getAttribute("data-type");if(b==="close"){c.destroy(),g.stopPropagation(),g.preventDefault();break}else if(b==="previous"){if(s<=1)return;s--,s<=1&&f.setAttribute("disabled","disabled"),fetchPost(`/api/riff/get${a}RiffCards`,{id:t,page:s},E=>{var k;s===E.data.pageCount?d.setAttribute("disabled","disabled"):E.data.pageCount>1&&d.removeAttribute("disabled"),d.nextElementSibling.nextElementSibling.textContent=`${s}/${E.data.pageCount||1}`,u.innerHTML=oa(E.data.blocks,n,a),u.scrollTop=0,mt(o,(k=c.element.querySelector(".b3-list-item--focus"))==null?void 0:k.getAttribute("data-id"))}),g.stopPropagation(),g.preventDefault();break}else if(b==="next"){if(s>=l.data.pageCount)return;s++,f.removeAttribute("disabled"),fetchPost(`/api/riff/get${a}RiffCards`,{id:t,page:s},E=>{var k;s===E.data.pageCount?d.setAttribute("disabled","disabled"):E.data.pageCount>1&&d.removeAttribute("disabled"),d.nextElementSibling.nextElementSibling.textContent=`${s}/${E.data.pageCount||1}`,u.innerHTML=oa(E.data.blocks,n,a),u.scrollTop=0,mt(o,(k=c.element.querySelector(".b3-list-item--focus"))==null?void 0:k.getAttribute("data-id"))}),g.stopPropagation(),g.preventDefault();break}else if(b==="reset"){fetchPost("/api/riff/resetRiffCards",{type:a===""?"deck":a.toLowerCase(),deckID:a===""?t:Constants.QUICK_DECK_ID,id:t,blockIDs:[m.getAttribute("data-id")]},()=>{m.parentElement.querySelector(".ariaLabel.b3-list-item__meta").textContent=dayjs().format("YYYY-MM-DD")}),g.stopPropagation(),g.preventDefault();break}else if(b==="resetAll"){confirmDialog(window.siyuan.languages.reset,window.siyuan.languages.resetCardTip.replace("${x}",c.element.querySelector(".counter").textContent),()=>{fetchPost("/api/riff/resetRiffCards",{type:a===""?"deck":a.toLowerCase(),deckID:a===""?t:Constants.QUICK_DECK_ID,id:t},()=>{c.element.querySelectorAll(".ariaLabel.b3-list-item__meta").forEach(E=>{E.textContent=dayjs().format("YYYY-MM-DD")})})}),g.stopPropagation(),g.preventDefault();break}else if(b==="card-item"){mt(o,m.getAttribute("data-id")),(p=u.querySelector(".b3-list-item--focus"))==null||p.classList.remove("b3-list-item--focus"),m.classList.add("b3-list-item--focus"),g.stopPropagation(),g.preventDefault();break}else if(b==="remove"){fetchPost("/api/riff/removeRiffCards",{deckID:a===""?t:Constants.QUICK_DECK_ID,blockIDs:[m.getAttribute("data-id")]},E=>{var k;let A=m.parentElement.nextElementSibling;A||(A=m.parentElement.previousElementSibling),!A&&m.parentElement.parentElement.childElementCount>1&&(A=m.parentElement.parentElement.firstElementChild),A?(mt(o,A.getAttribute("data-id")),(k=u.querySelector(".b3-list-item--focus"))==null||k.classList.remove("b3-list-item--focus"),A.classList.add("b3-list-item--focus"),m.parentElement.remove()):(mt(o,""),u.
1118innerHTML=`<div class="b3-list--empty">${window.siyuan.languages.emptyContent}</div>`),c.element.querySelector(".counter").textContent=(parseInt(c.element.querySelector(".counter").textContent)-1).toString(),i&&i(E)}),g.stopPropagation(),g.preventDefault();break}m=m.parentElement}})})},oa=(e,t,n)=>{let a="",i=!0;const s=t.split("/");return s.splice(0,1),e.forEach(o=>{var l,r,c,f;if(o.type){let d;n===""?d=getNotebookName(o.box)+getDisplayName(Lute.UnEscapeHTMLStr(o.hPath),!1):(d=getDisplayName(Lute.UnEscapeHTMLStr(o.hPath),!1).replace("/"+s.join("/"),""),d.startsWith("/")&&(d=d.substring(1))),a+=`<div data-type="card-item" class="b3-list-item${i?" b3-list-item--focus":""}${isMobile()?"":" b3-list-item--hide-action"}" data-id="${o.id}">
1119<svg class="b3-list-item__graphic"><use xlink:href="#${getIconByType(o.type)}"></use></svg>
1120${unicode2Emoji(o.ial.icon,"b3-list-item__graphic",!0)}
1121<span class="b3-list-item__text">${o.content||Constants.ZWSP}</span>
1122<span class="${isMobile()||!d?"fn__none ":""}b3-list-item__meta b3-list-item__meta--ellipsis" title="${escapeAttr(d)}">${escapeHtml(d)}</span>
1123<span data-position="parentE" aria-label="${window.siyuan.languages.revisionCount}" class="ariaLabel counter${((l=o.riffCard)==null?void 0:l.reps)===0?" fn__none":""}">${(r=o.riffCard)==null?void 0:r.reps}</span>
1124<span data-position="parentE" aria-label="${window.siyuan.languages.nextDue}" class="ariaLabel b3-list-item__meta${(c=o.riffCard)!=null&&c.due?"":" fn__none"}">${dayjs((f=o.riffCard)==null?void 0:f.due).format("YYYY-MM-DD")}</span>
1125<span data-position="parentE" data-type="reset" data-id="${o.id}" class="b3-list-item__action ariaLabel" aria-label="${window.siyuan.languages.reset}">
1126    <svg><use xlink:href="#iconUndo"></use></svg>
1127</span>
1128<span data-position="parentE" data-type="remove" data-id="${o.id}" class="b3-list-item__action b3-list-item__action--warning ariaLabel" aria-label="${window.siyuan.languages.removeDeck}">
1129    <svg><use xlink:href="#iconTrashcan"></use></svg>
1130</span>
1131</div>`,i=!1}else a+=`<div data-type="card-item" class="b3-list-item${isMobile()?"":" b3-list-item--hide-action"}">
1132<span class="b3-list-item__text">${o.content}</span>
1133<span data-position="parentE" data-type="remove" data-id="${o.id}" class="b3-list-item__action b3-list-item__action--warning ariaLabel" aria-label="${window.siyuan.languages.removeDeck}">
1134    <svg><use xlink:href="#iconTrashcan"></use></svg>
1135</span>
1136</div>`}),e.length===0&&(a=`<div class="b3-list--empty">${window.siyuan.languages.emptyContent}</div>`),a},mt=(e,t)=>{if(!t){e.protyle.element.classList.add("fn__none"),e.protyle.element.nextElementSibling.classList.remove("fn__none");return}e.protyle.element.classList.remove("fn__none"),e.protyle.element.nextElementSibling.classList.add("fn__none"),e.protyle.scroll.lastScrollTop=0,addLoading(e.protyle),fetchPost("/api/block/getDocInfo",{id:t},n=>{e.protyle.wysiwyg.renderCustom(n.data.ial),fetchPost("/api/filetree/getDoc",{id:t,mode:0,size:Constants.SIZE_GET_MAX},a=>{onGet({updateReadonly:!0,data:a,protyle:e.protyle,action:a.data.rootID===a.data.id?[Constants.CB_GET_HTML]:[Constants.CB_GET_ALL,Constants.CB_GET_HTML]})})})},Ut=e=>`<li data-id="${e.id}" data-name="${escapeAttr(e.name)}" class="b3-list-item b3-list-item--narrow${isMobile()?"":" b3-list-item--hide-action"}">
1137<span class="b3-list-item__text">
1138    <span>${escapeHtml(e.name)}</span>
1139    <span class="b3-list-item__meta">${e.size}</span>
1140</span>
1141<span data-type="rename" class="b3-list-item__action b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.rename}">
1142    <svg><use xlink:href="#iconEdit"></use></svg>
1143</span>
1144<span data-type="delete" class="b3-list-item__action b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.delete}">
1145    <svg><use xlink:href="#iconTrashcan"></use></svg>
1146</span>
1147<span data-type="view" class="b3-list-item__action b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.cardPreview}">
1148    <svg><use xlink:href="#iconEye"></use></svg>
1149</span>
1150<span data-type="remove" class="b3-list-item__action b3-list-item__action--warning b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.removeDeck}">
1151    <svg><use xlink:href="#iconMin"></use></svg>
1152</span>
1153<span data-type="add" style="display: flex" class="b3-list-item__action b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.addDeck}">
1154    <svg><use xlink:href="#iconAdd"></use></svg>
1155</span>
1156<span class="b3-list-item__meta${isMobile()?" fn__none":""}">${e.updated}</span>
1157</li>`,tu=(e,t)=>
1157{window.siyuan.dialogs.find(n=>{if(n.element.getAttribute("data-key")===Constants.DIALOG_MAKECARD)return hideElements(["dialog"]),!0}),fetchPost("/api/riff/getRiffDecks",{},n=>{let a="";n.data.forEach(s=>{a+=Ut(s)});const i=new Dialog({positionId:Constants.DIALOG_MAKECARD,width:isMobile()?"92vw":"50vw",height:"70vh",title:window.siyuan.languages.riffCard,content:`<div class="b3-dialog__content fn__flex-column" style="box-sizing: border-box;height: 100%">
1158    <div class="fn__flex">
1159        <input class="b3-text-field fn__flex-1">
1160        <span class="fn__space"></span>
1161        <span data-type="create" class="block__icon block__icon--show b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.createDeck}">
1162            <svg><use xlink:href="#iconAdd"></use></svg>
1163        </span>
1164        <span class="fn__space"></span>
1165        <span data-type="viewall" class="block__icon block__icon--show b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.cardPreview}">
1166            <svg><use xlink:href="#iconEye"></use></svg>
1167        </span>
1168    </div>
1169    <div class="fn__hr"></div>
1170    <ul class="b3-list b3-list--background fn__flex-1">${a}</ul>
1171</div>`});i.element.setAttribute("data-key",Constants.DIALOG_MAKECARD),i.element.addEventListener("click",s=>{let o=s.target;for(;o&&!o.isSameNode(i.element);){const l=o.getAttribute("data-type");if(l==="create"){let r="";const c=i.element.querySelector(".b3-text-field");c.value?(r&&hideMessage(r),fetchPost("/api/riff/createRiffDeck",{name:c.value},f=>{i.element.querySelector(".b3-list").insertAdjacentHTML("afterbegin",Ut(f.data)),c.value=""})):(r=showMessage(window.siyuan.languages._kernel[142]),c.focus()),s.stopPropagation(),s.preventDefault();break}else if(l==="add"){fetchPost("/api/riff/addRiffCards",{deckID:o.parentElement.getAttribute("data-id"),blockIDs:t},r=>{o.parentElement.outerHTML=Ut(r.data)}),s.stopPropagation(),s.preventDefault();break}else if(l==="remove"){fetchPost("/api/riff/removeRiffCards",{deckID:o.parentElement.getAttribute("data-id"),blockIDs:t},r=>{o.parentElement.outerHTML=Ut(r.data)}),s.stopPropagation(),s.preventDefault();break}else if(l==="delete"){confirmDialog(window.siyuan.languages.deleteOpConfirm,`${window.siyuan.languages.confirmDelete} <b>${escapeHtml(o.parentElement.getAttribute("data-name"))}</b>?`,()=>{fetchPost("/api/riff/removeRiffDeck",{deckID:o.parentElement.getAttribute("data-id")},()=>{o.parentElement.remove()})},void 0,!0),s.stopPropagation(),s.preventDefault();break}else if(l==="view"){viewCards(e,o.parentElement.getAttribute("data-id"),o.parentElement.getAttribute("data-name"),"",r=>{o.parentElement.outerHTML=Ut(r.data)}),s.stopPropagation(),s.preventDefault();break}else if(l==="viewall"){viewCards(e,"",window.siyuan.languages.all,""),s.stopPropagation(),s.preventDefault();break}else if(l==="rename"){const r=new Dialog({title:window.siyuan.languages.rename,content:`<div class="b3-dialog__content"><input class="b3-text-field fn__block" value=""></div>
1172<div class="b3-dialog__action">
1173    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
1174    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
1175</div>`,width:isMobile()?"92vw":"520px"}),c=r.element.querySelector("input"),f=r.element.querySelectorAll(".b3-button");r.bindInput(c,()=>{f[1].click()}),c.value=o.parentElement.getAttribute("data-name"),c.focus(),c.select(),f[0].addEventListener("click",()=>{r.destroy()}),f[1].addEventListener("click",()=>{fetchPost("/api/riff/renameRiffDeck",{name:c.value,deckID:o.parentElement.getAttribute("data-id")},()=>{o.parentElement.querySelector(".b3-list-item__text span").textContent=c.value,o.parentElement.setAttribute("data-name",c.value)}),r.destroy()}),s.stopPropagation(),s.preventDefault();break}o=o.parentElement}})})},nu=(e,t)=>{let n=!0;const a=[];t.forEach(i=>{i.getAttribute("data-type")!=="NodeThematicBreak"&&(i.classList.remove("protyle-wysiwyg--select"),a.push(i.getAttribute("data-node-id")),(i.getAttribute(Constants.CUSTOM_RIFF_DECKS)||"").indexOf(Constants.QUICK_DECK_ID)===-1&&(n=!1))}),n?transaction(e,[{action:"removeFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:a}],[{action:"addFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:a}]):transaction(e,[{action:"addFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:a}],[{action:"removeFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:a}])},au=e=>{window.siyuan.menus.menu.append(new MenuItem({id:"transferBlockRef",label:window.siyuan.languages.transferBlockRef,icon:"iconScrollHoriz",click(){const t=new Dialog({title:window.siyuan.languages.transferBlockRef,content:`<div class="b3-dialog__content">
1176    <input class="b3-text-field fn__block" placeholder="${window.siyuan.languages.targetBlockID}">
1177    <div class="b3-label__text">${window.siyuan.languages.transferBlockRefTip}</div>
1178</div>
1179<div class="b3-dialog__action">
1180    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
1181    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
1182</div>`,width:isMobile()?"92vw":"520px"});t.element.setAttribute("data-key",Constants.DIALOG_TRANSFERBLOCKREF);const n=t.element.querySelector("input"),a=t.element.querySelectorAll(".b3-button");t.bindInput(n,()=>{a[1].click()}),n.focus(),a[0].addEventListener("click",()=>{t.destroy()}),a[1].addEventListener("click",()=>{fetchPost("/api/block/transferBlockRef",{fromID:e,toID:n.value}),t.destroy()})}}).element)},la=(e,t,n,a=!0,i)=>{fetchPost("/api/av/searchAttributeView",{keyword:t,excludes:a&&n?[n]:void 0},s=>{let o="";
1182s.data.results.forEach((l,r)=>{o+=`<div class="b3-list-item b3-list-item--narrow${r===0?" b3-list-item--focus":""}" data-av-id="${l.avID}" data-block-id="${l.blockID}">
1183    <div class="b3-list-item--two fn__flex-1">
1184        <div class="b3-list-item__first">
1185            <span class="b3-list-item__text">${escapeHtml(l.avName||window.siyuan.languages.title)}</span>
1186        </div>
1187        <div class="b3-list-item__meta b3-list-item__showall">${escapeGreat(l.hPath)}</div>
1188    </div>
1189    <svg aria-label="${window.siyuan.languages.thisDatabase}" style="margin: 0 0 0 4px" class="b3-list-item__hinticon ariaLabel${l.avID===n?"":" fn__none"}"><use xlink:href="#iconInfo"></use></svg>
1190</div>`}),e.innerHTML=o,i&&i()})},fs=(e,t,n)=>{t.dataset.avId=n.dataset.avId,t.dataset.blockId=n.dataset.blockId,t.querySelector(".b3-menu__accelerator").textContent=n.querySelector(".b3-list-item__hinticon").classList.contains("fn__none")?n.querySelector(".b3-list-item__text").textContent:window.siyuan.languages.thisDatabase;const a=hasClosestByClassName(t,"b3-menu__items");a&&Po(a,e,!0)},su=(e,t,n,a=!0)=>{window.siyuan.menus.menu.remove();const i=new Menu;i.addItem({iconHTML:"",type:"empty",label:`<div class="fn__flex-column b3-menu__filter">
1191    <input class="b3-text-field fn__flex-shrink"/>
1192    <div class="fn__hr"></div>
1193    <div class="b3-list fn__flex-1 b3-list--background">
1194        <img style="margin: 0 auto;display: block;width: 64px;height: 64px" src="/stage/loading-pure.svg">
1195    </div>
1196</div>`,bind(o){const l=o.querySelector(".b3-list"),r=o.querySelector("input");r.addEventListener("keydown",c=>{if(c.isComposing)return;if(upDownHint(l,c)&&c.stopPropagation(),c.key==="Enter"){c.preventDefault(),c.stopPropagation();const d=l.querySelector(".b3-list-item--focus");n?n(d):fs(e,t,d),window.siyuan.menus.menu.remove()}}),r.addEventListener("input",c=>{c.stopPropagation(),!c.isComposing&&la(l,r.value,e,a)}),r.addEventListener("compositionend",()=>{la(l,r.value,e,a)}),o.lastElementChild.addEventListener("click",c=>{const f=hasClosestByClassName(c.target,"b3-list-item");f&&(c.stopPropagation(),n?n(f):fs(e,t,f),window.siyuan.menus.menu.remove())}),la(l,"",e,a,()=>{const c=t.getBoundingClientRect();i.open({x:c.left,y:c.bottom,h:c.height}),o.querySelector("input").focus()})}}),i.element.querySelector(".b3-menu__items").setAttribute("style","overflow: initial");const s=hasTopClosestByClassName(t,"block__popover",!0);i.element.setAttribute("data-from",s?s.dataset.level+"popover":"app")},iu=e=>{const t=e.avElement.querySelector('input[data-type="colName"]'),a=e.avElement.querySelector('.b3-menu__item[data-type="goSearchAV"]').getAttribute("data-av-id"),i=e.avElement.querySelector(".b3-menu__item").getAttribute("data-col-id");let s;e.colsData.find(l=>{if(l.id===i)return l.relation||(l.relation={}),s=l,!0});const o=e.avElement.querySelector('[data-type="name"]').value;transaction(e.protyle,[{action:"updateAttrViewColRelation",avID:e.avID,keyID:i,id:a||s.relation.avID,backRelationKeyID:s.relation.avID===a&&s.relation.backKeyID||Lute.NewNodeID(),isTwoWay:e.avElement.querySelector(".b3-switch").checked,name:t.value,format:o}],[{action:"updateAttrViewColRelation",avID:e.avID,keyID:i,id:s.relation.avID||a,backRelationKeyID:s.relation.backKeyID,isTwoWay:s.relation.isTwoWay,name:t.dataset.oldValue,format:s.name}]),e.avElement.remove(),updateAttrViewCellAnimation(e.blockElement.querySelector(`.av__row--header .av__cell[data-col-id="${i}"]`),void 0,{name:o}),focusBlock(e.blockElement)},Po=(e,t,n=!1)=>{const a=e.querySelector('.b3-menu__item[data-type="goSearchAV"]'),i=a.nextElementSibling,s=i.querySelector(".b3-switch"),o=i.nextElementSibling,l=o.nextElementSibling,r=JSON.parse(a.dataset.oldValue);if(r.avID){const c=o.querySelector("input");n&&(a.dataset.avId!==r.avID?(c.value="",s.checked=!1):(c.value=c.dataset.oldValue,s.checked=r.isTwoWay)),s.checked?o.classList.remove("fn__none"):o.classList.add("fn__none"),a.dataset.avId&&r.avID!==a.dataset.avId||r.isTwoWay!==s.checked||c.dataset.oldValue!==c.value?l.classList.remove("fn__none"):l.classList.add("fn__none")}else a.dataset.avId&&(s.checked?o.classList.remove("fn__none"):o.classList.add("fn__none"),l.classList.remove("fn__none"))},Ue=(e,t,n,a,i)=>{if(e==="selected")return`<svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
1197<span class="b3-menu__label fn__ellipsis ${n?"":" popover__block"}" ${n?"":'style="color:var(--b3-protyle-inline-blockref-color)"'} data-id="${t}">${a}</span>
1198<svg class="b3-menu__action"><use xlink:href="#iconMin"></use></svg>`;if(e==="empty")return t?`<button class="b3-menu__item" data-type="setRelationCell">
1199    <span class="b3-menu__label fn__ellipsis">${window.siyuan.languages.newRowInRelation.replace("${x}",a).replace("${y}",t)}</span>
1200</button>`:`<button class="b3-menu__item">
1201    <span class="b3-menu__label">${window.siyuan.languages.emptyContent}</span>
1202</button>`;if(e=="unselect")return`<button data-id="${t}" class="${i||"b3-menu__item ariaLabel"}" data-position="west" data-type="setRelationCell">
1203    <span class="b3-menu__label fn__ellipsis${n?"":" popover__block"}" ${n?"":'style="color:var(--b3-protyle-inline-blockref-color)"'} data-id="${t}">${a}</span>
1204    <svg class="b3-menu__action"><use xlink:href="#iconAdd"></use></svg>
1205</button>`},gs=(e,t,n)=>{fetchPost("/api/av/getAttributeViewPrimaryKeyValues",{id:e.firstElementChild.getAttribute("data-av-id"),keyword:n},a=>{const i=a.data.rows.values||[];let s="",o="";const l=[];t.querySelectorAll(".av__cell--relation").forEach(r=>{const c=r.querySelector(".av__celltext");l.push(c.dataset.id),o+=`<button data-id="${c.dataset.id}" data-position="west" data-type="setRelationCell" 
1206class="b3-menu__item ariaLabel${c.textContent.indexOf(n)>-1?"":" fn__none"}" 
1207draggable="true">${Ue("selected",c.dataset.id,!c.classList.contains("av__celltext--ref"),Lute.EscapeHTMLStr(c.textContent||window.siyuan.languages.untitled))}</button>`}
1207),i.forEach(r=>{l.includes(r.block.id)||(s+=Ue("unselect",r.block.id,r.isDetached,Lute.EscapeHTMLStr(r.block.content||window.siyuan.languages.untitled)))}),e.querySelector(".b3-menu__items").innerHTML=`${o}
1208<button class="b3-menu__separator"></button>
1209${s}
1210${n?Ue("empty",Lute.EscapeHTMLStr(n),void 0,e.querySelector(".popover__block").outerHTML):s?"":Ue("empty")}`,e.querySelector(".b3-menu__items .b3-menu__item:not(.fn__none)").classList.add("b3-menu__item--current")})},ou=e=>{fetchPost("/api/av/getAttributeViewPrimaryKeyValues",{id:e.menuElement.firstElementChild.getAttribute("data-av-id"),keyword:""},t=>{const n=t.data.rows.values||[];let a="",i="";const s=[];e.cellElements[0].querySelectorAll(".av__cell--relation").forEach(f=>{const d=f.querySelector(".av__celltext");s.push(d.dataset.id),i+=`<button data-id="${d.dataset.id}" data-position="west" data-type="setRelationCell" class="b3-menu__item ariaLabel" 
1211draggable="true">${Ue("selected",d.dataset.id,!d.classList.contains("av__celltext--ref"),Lute.EscapeHTMLStr(d.textContent||window.siyuan.languages.untitled))}</button>`}),n.forEach(f=>{s.includes(f.block.id)||(a+=Ue("unselect",f.block.id,f.isDetached,Lute.EscapeHTMLStr(f.block.content||window.siyuan.languages.untitled)))}),e.menuElement.querySelector(".b3-menu__items").innerHTML=`${i}
1212<button class="b3-menu__separator"></button>
1213${a||Ue("empty")}`;const o=e.cellElements[e.cellElements.length-1].getBoundingClientRect();setPosition(e.menuElement,o.left,o.bottom,o.height),e.menuElement.querySelector(".b3-menu__items .b3-menu__item:not(.fn__none)").classList.add("b3-menu__item--current");const l=e.menuElement.querySelector("input");l.focus();const r=l.parentElement.querySelector(".popover__block");r.innerHTML=Lute.EscapeHTMLStr(t.data.name),r.setAttribute("data-id",t.data.blockIDs[0]);const c=e.menuElement.querySelector(".b3-menu__items");l.addEventListener("keydown",f=>{if(f.isComposing)return;upDownHint(c,f,"b3-menu__item--current");const d=e.menuElement.querySelector(".b3-menu__item--current");f.key==="Enter"&&d&&d.getAttribute("data-type")==="setRelationCell"&&(Ro(e.protyle,e.blockElement,d,e.cellElements),f.preventDefault(),f.stopPropagation())}),l.addEventListener("input",f=>{f.isComposing||(gs(e.menuElement,e.cellElements[0],l.value),f.stopPropagation())}),l.addEventListener("compositionend",f=>{f.stopPropagation(),gs(e.menuElement,e.cellElements[0],l.value)})})},lu=(e,t)=>{let n;return e.view.columns.find(a=>{if(a.id===t[0].dataset.colId)return n=a.relation,!0}),n&&n.avID?`<div data-av-id="${n.avID}" class="fn__flex-column">
1214<div class="b3-menu__item" data-type="nobg">
1215    <input class="b3-text-field fn__flex-1"/>
1216    <span class="fn__space"></span>
1217    <span style="color: var(--b3-protyle-inline-blockref-color);" data-id="" class="popover__block fn__pointer"></span>
1218</div>
1219<div class="fn__hr"></div>
1220<div class="b3-menu__items">
1221    <img style="margin: 0 auto;display: block;width: 64px;height: 64px" src="/stage/loading-pure.svg">
1222</div>`:""},Ro=(e,t,n,a)=>{const i=hasClosestByClassName(n,"b3-menu");if(!i||i.querySelector(".dragover__bottom, .dragover__top"))return;const s=hasClosestByClassName(a[0],"av__row");if(!s)return;t.contains(a[0])||(a[0]=t.querySelector(`.av__row[data-id="${s.dataset.id}"] .av__cell[data-col-id="${a[0].dataset.colId}"]`)||t.querySelector(`.fn__flex-1[data-col-id="${a[0].dataset.colId}"]`));const o={blockIDs:[],contents:[]};if(i.querySelectorAll('[draggable="true"]').forEach(l=>{const r=l.getAttribute("data-id");o.blockIDs.push(r),o.contents.push({type:"block",block:{id:r,content:l.querySelector(".b3-menu__label").textContent},isDetached:!l.querySelector(".popover__block")})}),n.classList.contains("b3-menu__item")){const l=n.getAttribute("data-id"),r=i.querySelector(".b3-menu__separator"),c=i.querySelector("input").value;if(n.getAttribute("draggable")){!r.nextElementSibling.getAttribute("data-id")&&!c&&r.nextElementSibling.remove();const f=o.blockIDs.indexOf(l);o.blockIDs.splice(f,1),o.contents.splice(f,1),r.after(n),n.outerHTML=Ue("unselect",l,!n.querySelector(".popover__block"),Lute.EscapeHTMLStr(n.querySelector(".b3-menu__label").textContent),n.className)}else if(l)o.blockIDs.push(l),o.contents.push({type:"block",block:{id:l,content:n.firstElementChild.textContent},isDetached:!n.firstElementChild.getAttribute("style")}),r.before(n),n.outerHTML=`<button data-id="${l}" data-position="west" data-type="setRelationCell" class="${n.className}" 
1223draggable="true">${Ue("selected",l,!n.querySelector(".popover__block"),Lute.EscapeHTMLStr(n.querySelector(".b3-menu__label").textContent))}</button>`,r.nextElementSibling||r.insertAdjacentHTML("afterend",Ue("empty"));else{const f=n.querySelector(".popover__block").getAttribute("data-id"),d=n.querySelector("b").textContent,u=Lute.NewNodeID();transaction(e,[{action:"insertAttrViewBlock",ignoreFillFilter:!0,avID:i.firstElementChild.getAttribute("data-av-id"),srcs:[{id:u,isDetached:!0,content:d}],blockID:f},{action:"doUpdateUpdated",id:f,data:dayjs().format("YYYYMMDDHHmmss")}]),o.blockIDs.push(u),o.contents.push({type:"block",block:{id:u,content:d},isDetached:!0}),r.insertAdjacentHTML("beforebegin",`<button data-id="${u}" data-position="west" data-type="setRelationCell" 
1224class="${n.className} ariaLabel" draggable="true">${Ue("selected",u,!0,Lute.EscapeHTMLStr(d))}</button>`)}}updateCellsValue(e,t,o,a)},ru=e=>{const t=[];e.forEach(n=>{const a=n.getAttribute("data-node-id");a&&t.push({id:a,isDetached:!1})}),t.length>0&&openSearchAV("",e[0],n=>{const a=n.dataset.avId;transaction(void 0,[{action:"insertAttrViewBlock",avID:a,ignoreFillFilter:!0,srcs:t,blockID:n.dataset.blockId},{action:"doUpdateUpdated",id:n.dataset.blockId,data:dayjs().format("YYYYMMDDHHmmss")}])})},cu=(e,t,n)=>{var a,i;if(t&&((i=(a=e.title)==null?void 0:a.editElement)!=null&&i.contains(t.startContainer))||n==="title")openSearchAV("",e.breadcrumb.element,s=>{const o=s.dataset.avId;transaction(e,[{action:"insertAttrViewBlock",avID:o,ignoreFillFilter:!0,srcs:[{id:e.block.rootID,isDetached:!1}],blockID:s.dataset.blockId},{action:"doUpdateUpdated",id:s.dataset.blockId,data:dayjs().format("YYYYMMDDHHmmss")}],[{action:"removeAttrViewBlock",srcIDs:[e.block.rootID],avID:o}]),focusByRange(t)}
1224);else{let s;const o=[];if(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select").forEach(l=>{s||(s=l),o.push(l.getAttribute("data-node-id"))}),!s){const l=hasClosestBlock(t.startContainer);l&&(s=l,o.push(l.getAttribute("data-node-id")))}s||(s=e.wysiwyg.element,o.push(e.block.rootID)),openSearchAV("",s,l=>{const r=[],c=[];o.forEach(d=>{r.push(d),c.push({id:d,isDetached:!1})});const f=l.dataset.avId;transaction(e,[{action:"insertAttrViewBlock",avID:f,ignoreFillFilter:!0,srcs:c,blockID:l.dataset.blockId},{action:"doUpdateUpdated",id:l.dataset.blockId,data:dayjs().format("YYYYMMDDHHmmss")}],[{action:"removeAttrViewBlock",srcIDs:r,avID:f}]),focusByRange(t)})}};var Oo=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});class du{constructor(t){isMac()?this.gutterTip=window.siyuan.languages.gutterTip.replace("\u2325\u2192",updateHotkeyTip(window.siyuan.config.keymap.general.enter.custom)):this.gutterTip=window.siyuan.languages.gutterTip.replace("\u2325\u2192",updateHotkeyTip(window.siyuan.config.keymap.general.enter.custom)).replace("\u2318\u2191",updateHotkeyTip(window.siyuan.config.keymap.editor.general.collapse.custom)).replace("\u2325\u2318A",updateHotkeyTip(window.siyuan.config.keymap.editor.general.attr.custom)).replace(/⌘/g,"Ctrl+").replace(/⌥/g,"Alt+").replace(/⇧/g,"Shift+").replace(/⌃/g,"Ctrl+"),t.options.backlinkData&&(this.gutterTip=this.gutterTip.replace(window.siyuan.languages.enter,window.siyuan.languages.openBy)),this.element=document.createElement("div"),this.element.className="protyle-gutters",this.element.addEventListener("dragstart",n=>{hideTooltip(),window.siyuan.menus.menu.remove();const a=n.target.parentElement;let i=[],s=[],o;if(a.dataset.rowId){o=Array.from(t.wysiwyg.element.querySelectorAll(`.av[data-node-id="${a.dataset.nodeId}"]`)).find(c=>{if(!isInEmbedBlock(c))return!0});const r=o.querySelector(`.av__row[data-id="${a.dataset.rowId}"]`);r.classList.add("av__row--select"),r.querySelector(".av__firstcol use").setAttribute("xlink:href","#iconCheck"),updateHeader(r),o.querySelectorAll(".av__row--select:not(.av__row--header)").forEach(c=>{i.push(c.getAttribute("data-id")),s.push(c)})}else{const r=a.getAttribute("data-node-id");s=Array.from(t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));let c=!1;if(s.forEach(f=>{const d=f.getAttribute("data-node-id");d===r&&(c=!0),i.push(d)}),!c){let f;Array.from(t.wysiwyg.element.querySelectorAll(`[data-node-id="${r}"]`)).find(d=>{if(!isInEmbedBlock(d)&&this.isMatchNode(d))return f=d,!0}),f&&(s.forEach(d=>{d.classList.remove("protyle-wysiwyg--select")}),f.classList.add("protyle-wysiwyg--select"),s=[f],i=[r])}}const l=document.createElement("div");l.className=t.wysiwyg.element.className,s.forEach(r=>{if(r.querySelector("iframe")){const c=r.getAttribute("data-type"),f=genEmptyElement();f.classList.add("protyle-wysiwyg--select"),getContenteditableElement(f).innerHTML=`<svg class="svg"><use xlink:href="${a.querySelector("use").getAttribute("xlink:href")}"></use></svg> ${getLangByType(c)}`,l.append(f)}else l.append(processClonePHElement(r.cloneNode(!0)))}),l.setAttribute("style",`position:fixed;opacity:.1;width:${s[0].clientWidth}px;padding:0;`),document.body.append(l),n.dataTransfer.setDragImage(l,0,0),setTimeout(()=>{l.remove()}),a.style.opacity="0.38",window.siyuan.dragElement=o||t.wysiwyg.element,n.dataTransfer.setData(`${Constants.SIYUAN_DROP_GUTTER}${a.getAttribute("data-type")}${Constants.ZWSP}${a.getAttribute("data-subtype")}${Constants.ZWSP}${i}${Constants.ZWSP}${window.siyuan.config.system.workspaceDir}`,t.wysiwyg.element.innerHTML)}),this.element.addEventListener("dragend",()=>{this.element.querySelectorAll("button").forEach(n=>{n.style.opacity=""}),window.siyuan.dragElement=void 0}),this.element.addEventListener("click",n=>{var a;const i=hasClosestByTag(n.target,"BUTTON");if(!i)return;n.preventDefault(),n.stopPropagation(),hideTooltip();const s=i.getAttribute("data-node-id");if(!s){if(i.getAttribute("disabled"))return;i.setAttribute("disabled","disabled");let l;if(Array.from(t.wysiwyg.element.querySelectorAll(`[data-node-id="${(i.previousElementSibling||i.nextElementSibling).getAttribute("data-node-id")}"]`)).find(r=>{if(!isInEmbedBlock(r)&&this.isMatchNode(r))return l=r,!0}),!l)return;if(n.altKey){let r=!0;Array.from(l.children).find(d=>{if(d.classList.contains("list")&&Array.from(d.children).find(g=>{if(g.classList.contains("li")&&g.getAttribute("fold")!=="1"&&g.childElementCount>3)return r=!1,!0}))return!0});const c=[],f=[];
1224Array.from(l.children).forEach(d=>{d.classList.contains("list")&&Array.from(d.children).forEach(u=>{if(u.classList.contains("li")){r?u.removeAttribute("fold"):u.childElementCount>3&&u.setAttribute("fold","1");const g=u.getAttribute("data-node-id");c.push({action:"setAttrs",id:g,data:JSON.stringify({fold:r?"":"1"})}),f.push({action:"setAttrs",id:g,data:JSON.stringify({fold:r?"1":""})})}})}),transaction(t,c,f),i.removeAttribute("disabled")}else{const r=setFold(t,l);r===1?i.firstElementChild.style.transform="":r===0&&(i.firstElementChild.style.transform="rotate(90deg)")}hideElements(["select"],t),window.siyuan.menus.menu.remove();return}const o=i.getBoundingClientRect();if(i.dataset.type==="NodeAttributeViewRowMenu"||i.dataset.type==="NodeAttributeViewRow"){const l=Array.from(t.wysiwyg.element.querySelectorAll(`.av[data-node-id="${i.dataset.nodeId}"] .av__row[data-id="${i.dataset.rowId}"]`)).find(c=>{if(!isInEmbedBlock(c))return!0});if(!l)return;const r=hasClosestBlock(l);if(!r)return;if(i.dataset.type==="NodeAttributeViewRow"){r.querySelectorAll(".av__cell--select, .av__cell--active").forEach(g=>{var p;g.classList.remove("av__cell--select","av__cell--active"),(p=g.querySelector(".av__drag-fill"))==null||p.remove()});const c=r.getAttribute("data-av-id"),f=[Lute.NewNodeID()],d=n.altKey?l.previousElementSibling.getAttribute("data-id")||"":i.dataset.rowId,u=dayjs().format("YYYYMMDDHHmmss");transaction(t,[{action:"insertAttrViewBlock",avID:c,previousID:d,srcs:[{id:f[0],isDetached:!0,content:""}],blockID:s},{action:"doUpdateUpdated",id:s,data:u}],[{action:"removeAttrViewBlock",srcIDs:f,avID:c},{action:"doUpdateUpdated",id:s,data:r.getAttribute("updated")}]),insertAttrViewBlockAnimation(t,r,f,d,c),n.altKey&&this.element.querySelectorAll("button").forEach(g=>{g.dataset.rowId=f[0]}),r.setAttribute("updated",u)}else{if(!t.disabled&&n.shiftKey){const c=(a=l.querySelector('[data-dtype="block"] .av__celltext--ref'))==null?void 0:a.getAttribute("data-id");if(c){fetchPost("/api/attr/getBlockAttrs",{id:c},f=>{openFileAttr(f.data,"av",t)});return}}avContextmenu(t,l,{x:o.left,y:o.bottom,w:o.width,h:o.height,isLeft:!0})}return}if(isOnlyMeta(n))t.options.backlinkData?checkFold(s,(l,r)=>{openFileById({app:t.app,id:s,action:r,zoomIn:l})}):zoomOut({protyle:t,id:s});else if(n.altKey){let l;if(Array.from(t.wysiwyg.element.querySelectorAll(`[data-node-id="${s}"]`)).find(r=>{if(!isInEmbedBlock(r)&&this.isMatchNode(r))return l=r,!0}),!l)return;if(i.getAttribute("data-type")==="NodeListItem"&&l.parentElement.getAttribute("data-node-id")){let r=!0;Array.from(l.parentElement.children).find(d=>{if(d.classList.contains("li")&&d.getAttribute("fold")!=="1"&&d.childElementCount>3)return r=!1,!0}),i.parentElement.querySelector("[data-type='fold'] > svg").style.transform=r?"rotate(90deg)":"";const c=[],f=[];Array.from(l.parentElement.children).find(d=>{if(d.classList.contains("li")){r?d.removeAttribute("fold"):d.childElementCount>3&&d.setAttribute("fold","1");const u=d.getAttribute("data-node-id");c.push({action:"setAttrs",id:u,data:JSON.stringify({fold:r?"":"1"})}),f.push({action:"setAttrs",id:u,data:JSON.stringify({fold:r?"1":""})})}}),transaction(t,c,f)}else{const r=setFold(t,l),c=i.parentElement.querySelector("[data-type='fold'] > svg");r!==-1&&c&&(c.style.transform=r===0?"rotate(90deg)":"")}l.classList.remove("protyle-wysiwyg--hl")}else window.siyuan.shiftIsPressed&&!t.disabled?openAttr(t.wysiwyg.element.querySelector(`[data-node-id="${s}"]`),"bookmark",t):!window.siyuan.ctrlIsPressed&&!window.siyuan.altIsPressed&&!window.siyuan.shiftIsPressed&&(this.renderMenu(t,i),t.toolbar.range||(t.toolbar.range=getEditorRange(t.wysiwyg.element.querySelector(`[data-node-id="${s}"]`)||t.wysiwyg.element.firstElementChild)),window.siyuan.menus.menu.fullscreen())}),this.element.addEventListener("contextmenu",n=>{const a=hasClosestByTag(n.target,"BUTTON");if(!(!a||a.getAttribute("data-type")==="fold")){if(!window.siyuan.ctrlIsPressed&&!window.siyuan.altIsPressed&&!window.siyuan.shiftIsPressed){hideTooltip();const i=a.getBoundingClientRect();if(a.dataset.type==="NodeAttributeViewRowMenu"){const s=Array.from(t.wysiwyg.element.querySelectorAll(`.av[data-node-id="${a.dataset.nodeId}"] .av__row[data-id="${a.dataset.rowId}"]`)).find(o=>{if(!isInEmbedBlock(o))return!0});s&&avContextmenu(t,s,{x:i.left,y:i.bottom,w:i.width,h:i.height,isLeft:!0})}else a.dataset.type!=="NodeAttributeViewRow"&&(this.renderMenu(t,a),t.toolbar.range||(t.toolbar.range=getEditorRange(t.wysiwyg.element.querySelector(`[data-node-id="${a.getAttribute("data-node-id")}"]`)||t.wysiwyg.element.firstElementChild)),window.siyuan.menus.menu.fullscreen())}n.preventDefault(),n.stopPropagation()}}),this.element.addEventListener("mouseleave",n=>{Array.from(t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--hl, .av__row--hl")).forEac
1224h(a=>{a.classList.remove("protyle-wysiwyg--hl","av__row--hl")}),n.preventDefault(),n.stopPropagation()}),this.element.addEventListener("mousewheel",n=>{hideElements(["gutter"],t),n.stopPropagation()},{passive:!0})}isMatchNode(t){const n=t.getBoundingClientRect();let a=this.element.getBoundingClientRect().top+6;return n.height<Math.floor(window.siyuan.config.editor.fontSize*1.625)+8&&(a=a-(n.height-this.element.clientHeight)/2),n.top<=a&&n.bottom>=a}turnsOneInto(t){return{id:t.menuId,icon:t.icon,label:t.label,accelerator:t.accelerator,click(){turnsOneInto(t)}}}turnsIntoOne(t){return{id:t.menuId,icon:t.icon,label:t.label,accelerator:t.accelerator,click(){turnsIntoOneTransaction(t)}}}turnsInto(t){return{id:t.menuId,icon:t.icon,label:t.label,accelerator:t.accelerator,click(){turnsIntoTransaction(t)}}}showMobileAppearance(t){const n=document.getElementById("keyboardToolbar"),a=n.querySelectorAll("#keyboardToolbar .keyboard__dynamic");a[0].classList.add("fn__none"),a[1].classList.remove("fn__none"),n.querySelector('.keyboard__action[data-type="text"]').classList.add("protyle-toolbar__item--current"),n.querySelector('.keyboard__action[data-type="done"] use').setAttribute("xlink:href","#iconCloseRound"),n.classList.remove("fn__none");const i=t.contentElement.scrollTop+333.5;renderTextMenu(t,n),showKeyboardToolbarUtil(i)}renderMultipleMenu(t,n){var a;let i=!1,s=!1,o=!1;if(n.find((d,u)=>{if(d.classList.contains("li"))return i=!0,!0;if((d.classList.contains("sb")||d.classList.contains("p"))&&(o=!0),d.nextElementSibling&&n[u+1]&&d.nextElementSibling.isSameNode(n[u+1]))s=!0;else if(u!==n.length-1)return s=!1,!0}),!i&&!t.disabled){const d=[];s&&(d.push(this.turnsIntoOne({menuId:"list",icon:"iconList",label:window.siyuan.languages.list,protyle:t,accelerator:window.siyuan.config.keymap.editor.insert.list.custom,selectsElement:n,type:"Blocks2ULs"})),d.push(this.turnsIntoOne({menuId:"orderedList",icon:"iconOrderedList",label:window.siyuan.languages["ordered-list"],accelerator:window.siyuan.config.keymap.editor.insert["ordered-list"].custom,protyle:t,selectsElement:n,type:"Blocks2OLs"})),d.push(this.turnsIntoOne({menuId:"check",icon:"iconCheck",label:window.siyuan.languages.check,accelerator:window.siyuan.config.keymap.editor.insert.check.custom,protyle:t,selectsElement:n,type:"Blocks2TLs"})),d.push(this.turnsIntoOne({menuId:"quote",icon:"iconQuote",label:window.siyuan.languages.quote,accelerator:window.siyuan.config.keymap.editor.insert.quote.custom,protyle:t,selectsElement:n,type:"Blocks2Blockquote"}))),o||d.push(this.turnsInto({menuId:"paragraph",icon:"iconParagraph",label:window.siyuan.languages.paragraph,accelerator:window.siyuan.config.keymap.editor.heading.paragraph.custom,protyle:t,selectsElement:n,type:"Blocks2Ps",isContinue:s})),d.push(this.turnsInto({menuId:"heading1",icon:"iconH1",label:window.siyuan.languages.heading1,accelerator:window.siyuan.config.keymap.editor.heading.heading1.custom,protyle:t,selectsElement:n,level:1,type:"Blocks2Hs",isContinue:s})),d.push(this.turnsInto({menuId:"heading2",icon:"iconH2",label:window.siyuan.languages.heading2,accelerator:window.siyuan.config.keymap.editor.heading.heading2.custom,protyle:t,selectsElement:n,level:2,type:"Blocks2Hs",isContinue:s})),d.push(this.turnsInto({menuId:"heading3",icon:"iconH3",label:window.siyuan.languages.heading3,accelerator:window.siyuan.config.keymap.editor.heading.heading3.custom,protyle:t,selectsElement:n,level:3,type:"Blocks2Hs",isContinue:s})),d.push(this.turnsInto({menuId:"heading4",icon:"iconH4",label:window.siyuan.languages.heading4,accelerator:window.siyuan.config.keymap.editor.heading.heading4.custom,protyle:t,selectsElement:n,level:4,type:"Blocks2Hs",isContinue:s})),d.push(this.turnsInto({menuId:"heading5",icon:"iconH5",label:window.siyuan.languages.heading5,accelerator:window.siyuan.config.keymap.editor.heading.heading5.custom,protyle:t,selectsElement:n,level:5,type:"Blocks2Hs",isContinue:s})),d.push(this.turnsInto({menuId:"heading6",icon:"iconH6",label:window.siyuan.languages.heading6,accelerator:window.siyuan.config.keymap.editor.heading.heading6.custom,protyle:t,selectsElement:n,level:6,type:"Blocks2Hs",isContinue:s})),window.siyuan.menus.menu.append(new MenuItem({id:"turnInto",icon:"iconRefresh",label:window.siyuan.languages.turnInto,type:"submenu",submenu:d}).element),s&&!(n[0].parentElement.classList.contains("sb")&&n.length+1===n[0].parentElement.childElementCount)&&window.siyuan.menus.menu.append(new MenuItem({id:"mergeSuperBlock",icon:"iconSuper",label:window.siyuan.languages.merge+" "+window.siyuan.languages.superBlock,type:"submenu",submenu:[this.turnsIntoOne({menuId:"hLayout",label:window.siyuan.languages.hLayout,accelerator:window.siyuan.config.keymap.editor.general.hLayout.custom,icon:"iconSplitLR",protyle:t,selectsElement:n,type:"BlocksMergeSuperBlock",level:"col"}),this.turnsIntoOne({menuId:"vLayout",label:window.siyuan.languages.vLayout,accelerator:window.siyuan.config.keymap.editor.general.vLayout.custom,icon:"iconSplitTB",protyle:t,selectsElement:n,type:"BlocksMergeSuperBlock",level:"row"})]}).element)}t.disabled||window.siyuan.menus.menu.append(new MenuItem({id:"ai",icon:"iconSparkles",label:window.siyuan.languages.ai,accelerator:window.siyuan.config.keymap.editor.general.ai.custom,click(){AIActions(n,t)}}).element);const l=copySubMenu(Array.from(n).map(d=>d.getAttribute("data-node-id")),!0,n[0]).concat([{id:"copyPlainText",iconHTML:"",label:window.siyuan.languages.copyPlainText,accelerator:window.siyuan.config.keymap.editor.general.copyPlainText.custom,click(){let d="";
1224n.forEach(u=>{d+=getPlainText(u)+`
1225`}),copyPlainText(d.trimEnd()),focusBlock(n[0])}},{id:"copy",iconHTML:"",label:window.siyuan.languages.copy,accelerator:"\u2318C",click(){isNotEditBlock(n[0])?focusBlock(n[0]):focusByRange(getEditorRange(n[0])),document.execCommand("copy")}},{id:"duplicate",iconHTML:"",label:window.siyuan.languages.duplicate,accelerator:window.siyuan.config.keymap.editor.general.duplicate.custom,disabled:t.disabled,click(){duplicateBlock(n,t)}}]);l.splice(4,1,{id:"copyHPath",iconHTML:"",label:window.siyuan.languages.copyHPath,accelerator:window.siyuan.config.keymap.editor.general.copyHPath.custom,click:()=>{copyTextByType([n[0].getAttribute("data-node-id")],"hPath"),focusBlock(n[0])}});const r=this.genCopyTextRef(n);if(r&&l.splice(7,0,r),window.siyuan.menus.menu.append(new MenuItem({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",type:"submenu",submenu:l}).element),t.disabled)return;window.siyuan.menus.menu.append(new MenuItem({id:"cut",label:window.siyuan.languages.cut,accelerator:"\u2318X",icon:"iconCut",click:()=>{focusBlock(n[0]),document.execCommand("cut")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"move",label:window.siyuan.languages.move,accelerator:window.siyuan.config.keymap.general.move.custom,icon:"iconMove",click:()=>{movePathTo(d=>{hintMoveBlock(d[0],n,t)})}}).element);const c=getSelection().rangeCount>0?getSelection().getRangeAt(0):void 0;window.siyuan.menus.menu.append(new MenuItem({id:"addToDatabase",label:window.siyuan.languages.addToDatabase,accelerator:window.siyuan.config.keymap.general.addToDatabase.custom,icon:"iconDatabase",click:()=>{addEditorToDatabase(t,c)}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"delete",label:window.siyuan.languages.delete,icon:"iconTrashcan",accelerator:"\u232B",click:()=>{var d;(d=t.breadcrumb)==null||d.hide(),removeBlock(t,n[0],getEditorRange(n[0]),"Backspace")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_appearance",type:"separator"}).element);const f=new MenuItem({id:"appearance",label:window.siyuan.languages.appearance,icon:"iconFont",accelerator:window.siyuan.config.keymap.editor.insert.appearance.custom,click:()=>{this.showMobileAppearance(t)}}).element;return window.siyuan.menus.menu.append(f),isMobile()||f.lastElementChild.classList.add("b3-menu__submenu--row"),this.genAlign(n,t),this.genWidths(n,t),window.siyuan.config.readonly||(window.siyuan.menus.menu.append(new MenuItem({id:"separator_quickMakeCard",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"quickMakeCard",label:window.siyuan.languages.quickMakeCard,accelerator:window.siyuan.config.keymap.editor.general.quickMakeCard.custom,iconHTML:'<svg class="b3-menu__icon" style="color:var(--b3-theme-primary)"><use xlink:href="#iconRiffCard"></use></svg>',icon:"iconRiffCard",click(){quickMakeCard(t,n)}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"addToDeck",label:window.siyuan.languages.addToDeck,icon:"iconRiffCard",ignore:!window.siyuan.config.flashcard.deck,click(){const d=[];n.forEach(u=>{u.getAttribute("data-type")!=="NodeThematicBreak"&&d.push(u.getAttribute("data-node-id"))}),makeCard(t.app,d)}}).element)),(a=t==null?void 0:t.app)!=null&&a.plugins&&emitOpenMenu({plugins:t.app.plugins,type:"click-blockicon",detail:{protyle:t,blockElements:n},separatorPosition:"top"}),window.siyuan.menus.menu}renderMenu(t,n){var a,i;if(!n)return;hideElements(["util","toolbar","hint"],t),window.siyuan.menus.menu.remove(),isMobile()&&activeBlur();const s=n.getAttribute("data-node-id"),o=t.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");if(o.length>1&&Array.from(o).find(m=>{if(s===m.getAttribute("data-node-id"))return!0}))return this.renderMultipleMenu(t,Array.from(o));let l;if(n.tagName==="BUTTON"?Array.from(t.wysiwyg.element.querySelectorAll(`[data-node-id="${s}"]`)).find(p=>{if(!isInEmbedBlock(p)&&this.isMatchNode(p))return l=p,!0}):l=n,!l)return;const r=l.getAttribute("data-type"),c=l.getAttribute("data-subtype"),f=[];hideElements(["select"],t),l.classList.add("protyle-wysiwyg--select"),countBlockWord([s],t.block.rootID),r==="NodeParagraph"&&!t.disabled?(f.push(this.turnsIntoOne({menuId:"list",icon:"iconList",label:window.siyuan.languages.list,accelerator:window.siyuan.config.keymap.editor.insert.list.custom,protyle:t,selectsElement:[l],type:"Blocks2ULs"})),f.push(this.turnsIntoOne({menuId:"orderedList",icon:"iconOrderedList",label:window.siyuan.languages["ordered-list"],accelerator:window.siyuan.config.keymap.editor.insert["ordered-list"].custom,protyle:t,selectsElement:[l],type:"Blocks2OLs"})),f.push(this.turnsIntoOne({menuId:"check",icon:"iconCheck",label:window.siyuan.languages.check,accelerator:window.siyuan.config.keymap.editor.insert.check.custom,protyle:t,selectsElement:[l],type:"Blocks2TLs"})),f.push(this.turnsIntoOne({menuId:"quote",icon:"iconQuote",label:window.siyuan.languages.quote,accelerator:window.siyuan.config.keymap.editor.insert.quote.custom,protyle:t,selectsElement:[l],type:"Blocks2Blockquote"})),f.push(this.turnsInto({menuId:"heading1",icon:"iconH1",label:window.siyuan.languages.heading1,accelerator:window.siyuan.config.keymap.editor.heading.heading1.custom,protyle:t,selectsElement:[l],level:1,type:"Blocks2Hs"})),f.push(this.turnsInto({menuId:"heading2",icon:"iconH2",label:window.siyuan.languages.heading2,accelerator:window.siyuan.config.keymap.editor.heading.heading2.custom,protyle:t,selectsElement:[l],level:2,type:"Blocks2Hs"})),f.push(this.turnsInto({menuId:"heading3",icon:"iconH3",label:window.siyuan.languages.heading3,accelerator:window.siyuan.config.keymap.editor.heading.heading3.custom,protyle:t,selectsElement:[l],level:3,type:"Blocks2Hs"})),f.push(this.turnsInto({menuId:"heading4",icon:"iconH4",label:window.siyuan.languages.heading4,accelerator:window.siyuan.config.keymap.editor.heading.heading4.custom,protyle:t,selectsElement:[l],level:4,type:"Blocks2Hs"})),f.push(this.turnsInto({menuId:"heading5",icon:"iconH5",label:window.siyuan.languages.heading5,accelerator:window.siyuan.config.keymap.editor.heading.heading5.custom,protyle:t,selectsElement:[l],level:5,type:"Blocks2Hs"})),f.push(this.turnsInto({menuId:"heading6",icon:"iconH6",label:window.siyuan.languages.heading6,accelerator:window.siyuan.config.keymap.editor.heading.heading6.custom,protyle:t,selectsElement:[l],level:6,type:"Blocks2Hs"}))):r==="NodeHeading"&&!t.disabled?(f.push(this.turnsInto({menuId:"paragraph",icon:"iconParagraph",label:window.siyuan.languages.paragraph,accelerator:window.siyuan.config.keymap.editor.heading.paragraph.custom,protyle:t,selectsElement:[l],type:"Blocks2Ps"})),f.push(this.turnsIntoOne({menuId:"quote",icon:"iconQuote",label:window.siyuan.languages.quote,accelerator:window.siyuan.config.keymap.editor.insert.quote.custom,protyle:t,selectsElement:[l],type:"Blocks2Blockquote"}
1225)),c!=="h1"&&f.push(this.turnsInto({menuId:"heading1",icon:"iconH1",label:window.siyuan.languages.heading1,accelerator:window.siyuan.config.keymap.editor.heading.heading1.custom,protyle:t,selectsElement:[l],level:1,type:"Blocks2Hs"})),c!=="h2"&&f.push(this.turnsInto({menuId:"heading2",icon:"iconH2",label:window.siyuan.languages.heading2,accelerator:window.siyuan.config.keymap.editor.heading.heading2.custom,protyle:t,selectsElement:[l],level:2,type:"Blocks2Hs"})),c!=="h3"&&f.push(this.turnsInto({menuId:"heading3",icon:"iconH3",label:window.siyuan.languages.heading3,accelerator:window.siyuan.config.keymap.editor.heading.heading3.custom,protyle:t,selectsElement:[l],level:3,type:"Blocks2Hs"})),c!=="h4"&&f.push(this.turnsInto({menuId:"heading4",icon:"iconH4",label:window.siyuan.languages.heading4,accelerator:window.siyuan.config.keymap.editor.heading.heading4.custom,protyle:t,selectsElement:[l],level:4,type:"Blocks2Hs"})),c!=="h5"&&f.push(this.turnsInto({menuId:"heading5",icon:"iconH5",label:window.siyuan.languages.heading5,accelerator:window.siyuan.config.keymap.editor.heading.heading5.custom,protyle:t,selectsElement:[l],level:5,type:"Blocks2Hs"}
1225)),c!=="h6"&&f.push(this.turnsInto({menuId:"heading6",icon:"iconH6",label:window.siyuan.languages.heading6,accelerator:window.siyuan.config.keymap.editor.heading.heading6.custom,protyle:t,selectsElement:[l],level:6,type:"Blocks2Hs"}))):r==="NodeList"&&!t.disabled?(f.push(this.turnsOneInto({menuId:"paragraph",id:s,icon:"iconParagraph",label:window.siyuan.languages.paragraph,accelerator:window.siyuan.config.keymap.editor.heading.paragraph.custom,protyle:t,nodeElement:l,type:"CancelList"})),f.push(this.turnsIntoOne({menuId:"quote",icon:"iconQuote",label:window.siyuan.languages.quote,accelerator:window.siyuan.config.keymap.editor.insert.quote.custom,protyle:t,selectsElement:[l],type:"Blocks2Blockquote"})),l.getAttribute("data-subtype")==="o"?(f.push(this.turnsOneInto({menuId:"list",id:s,icon:"iconList",label:window.siyuan.languages.list,accelerator:window.siyuan.config.keymap.editor.insert.list.custom,protyle:t,nodeElement:l,type:"OL2UL"})),f.push(this.turnsOneInto({menuId:"check",id:s,icon:"iconCheck",label:window.siyuan.languages.check,accelerator:window.siyuan.config.keymap.editor.insert.check.custom,protyle:t,nodeElement:l,type:"UL2TL"}))):l.getAttribute("data-subtype")==="t"?(f.push(this.turnsOneInto({menuId:"list",id:s,icon:"iconList",label:window.siyuan.languages.list,accelerator:window.siyuan.config.keymap.editor.insert.list.custom,protyle:t,nodeElement:l,type:"TL2UL"})),f.push(this.turnsOneInto({menuId:"orderedList",id:s,icon:"iconOrderedList",label:window.siyuan.languages["ordered-list"],accelerator:window.siyuan.config.keymap.editor.insert["ordered-list"].custom,protyle:t,nodeElement:l,type:"TL2OL"}))):(f.push(this.turnsOneInto({menuId:"orderedList",id:s,icon:"iconOrderedList",label:window.siyuan.languages["ordered-list"],accelerator:window.siyuan.config.keymap.editor.insert["ordered-list"].custom,protyle:t,nodeElement:l,type:"UL2OL"})),f.push(this.turnsOneInto({menuId:"check",id:s,icon:"iconCheck",label:window.siyuan.languages.check,accelerator:window.siyuan.config.keymap.editor.insert.check.custom,protyle:t,nodeElement:l,type:"OL2TL"})))):r==="NodeBlockquote"&&!t.disabled&&f.push(this.turnsOneInto({menuId:"paragraph",id:s,icon:"iconParagraph",label:window.siyuan.languages.paragraph,accelerator:window.siyuan.config.keymap.editor.heading.paragraph.custom,protyle:t,nodeElement:l,type:"CancelBlockquote"})),f.length>0&&!t.disabled&&window.siyuan.menus.menu.append(new MenuItem({id:"turnInto",icon:"iconRefresh",label:window.siyuan.languages.turnInto,type:"submenu",submenu:f}).element),!t.disabled&&!l.classList.contains("hr")&&window.siyuan.menus.menu.append(new MenuItem({id:"ai",icon:"iconSparkles",label:window.siyuan.languages.ai,accelerator:window.siyuan.config.keymap.editor.general.ai.custom,click(){AIActions([l],t)}}).element);const d=copySubMenu([s],!0,l).concat([{id:"copyPlainText",iconHTML:"",label:window.siyuan.languages.copyPlainText,accelerator:window.siyuan.config.keymap.editor.general.copyPlainText.custom,click(){copyPlainText(getPlainText(l).trimEnd()),focusBlock(l)}},{id:r==="NodeAttributeView"?"copyMirror":"copy",iconHTML:"",label:r==="NodeAttributeView"?window.siyuan.languages.copyMirror:window.siyuan.languages.copy,accelerator:"\u2318C",click(){isNotEditBlock(l)?focusBlock(l):focusByRange(getEditorRange(l)),document.execCommand("copy")}},{id:r==="NodeAttributeView"?"duplicateMirror":"duplicate",iconHTML:"",label:r==="NodeAttributeView"?window.siyuan.languages.duplicateMirror:window.siyuan.languages.duplicate,accelerator:window.siyuan.config.keymap.editor.general.duplicate.custom,disabled:t.disabled,click(){duplicateBlock([l],t)}}]);r==="NodeAttributeView"&&d.push({id:"duplicateCompletely",iconHTML:"",label:window.siyuan.languages.duplicateCompletely,accelerator:window.siyuan.config.keymap.editor.general.duplicateCompletely.custom,disabled:t.disabled,click(){duplicateCompletely(t,l)}});const u=this.genCopyTextRef([l]);if(u&&d.splice(7,0,u),window.siyuan.menus.menu.append(new MenuItem({id:"copy",icon:"iconCopy",label:window.siyuan.languages.copy,type:"submenu",submenu:d}).element),!t.disabled){window.siyuan.menus.menu.append(new MenuItem({id:"cut",icon:"iconCut",label:window.siyuan.languages.cut,accelerator:"\u2318X",click:()=>{focusBlock(l),document.execCommand("cut")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"move",icon:"iconMove",label:window.siyuan.languages.move,accelerator:window.siyuan.config.keymap.general.move.custom,click:()=>{movePathTo(m=>{hintMoveBlock(m[0],[l],t)})}}).element);const p=getSelection().rangeCount>0?getSelection().getRangeAt(0):void 0;window.siyuan.menus.menu.append(new MenuItem({id:"addToDatabase",icon:"iconDatabase",label:window.siyuan.languages.addToDatabase,accelerator:window.siyuan.config.keymap.general.addToDatabase.custom,click:()=>{addEditorToDatabase(t,p)}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,accelerator:"\u232B",click:()=>{var m;(m=t.breadcrumb)==null||m.hide(),removeBlock(t,l,getEditorRange(l),"Backspace")}}).element)}if(r==="NodeSuperBlock"&&!t.disabled){let p;window.siyuan.menus.menu.append(new MenuItem({id:"separator_cancelSuperBlock",type:"separator"}).element);const m=l.getAttribute("data-sb-layout")==="col";window.siyuan.menus.menu.append(new MenuItem({id:"cancelSuperBlock",label:window.siyuan.languages.cancel+" "+window.siyuan.languages.superBlock,accelerator:window.siyuan.config.keymap.editor.general[m?"hLayout":"vLayout"].custom,click(){return Oo(this,null,function*(){const b=yield cancelSB(t,l);transaction(t,b.doOperations,b.undoOperations),focusBlock(t.wysiwyg.element.querySelector(`[data-node-id="${b.previousId}"]`)),hideElements(["gutter"],t)})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"turnInto"+(m?"VLayout":"HLayout"),accelerator:window.siyuan.config.keymap.editor.general[m?"vLayout":"hLayout"].custom,label:window.siyuan.languages.turnInto+" "+window.siyuan.languages[m?"vLayout":"hLayout"],click(){const b=l.outerHTML;m?l.setAttribute("data-sb-layout","row"):l.setAttribute("data-sb-layout","col"),l.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(t,s,l.outerHTML,b),focusByRange(t.toolbar.range),hideElements(["gutter"],t)}}).element)}else if(r==="NodeCodeBlock"&&!t.disabled&&!l.getAttribute("data-subtype")){window.siyuan.menus.menu.append(new MenuItem({id:"separator_code",type:"separator"}).element);const p=l.getAttribute("linewrap"),m=l.getAttribute("ligatures"),b=l.getAttribute("linenumber");window.siyuan.menus.menu.append(new MenuItem({id:"code",type:"submenu",icon:"iconCode",label:window.siyuan.languages.code,submenu:[{id:"md31",iconHTML:"",label:`<div class="fn__flex" style="margin-bottom: 4px"><span>${window.siyuan.languages.md31}</span><span class="fn__space fn__flex-1"></span>
1226<input type="checkbox" class="b3-switch fn__flex-center"${p==="true"||window.siyuan.config.editor.codeLineWrap&&p!=="false"?" checked":""}></div>`,bind(E){E.addEventListener("click",k=>{const A=E.querySelector("input");k.target.tagName!=="INPUT"&&(A.checked=!A.checked),l.setAttribute("linewrap",A.checked.toString()),l.querySelector(".hljs").removeAttribute("data-render"),highlightRender(l),fetchPost("/api/attr/setBlockAttrs",{id:s,attrs:{line
1226wrap:A.checked.toString()}}),window.siyuan.menus.menu.remove()})}},{id:"md2",iconHTML:"",label:`<div class="fn__flex" style="margin-bottom: 4px"><span>${window.siyuan.languages.md2}</span><span class="fn__space fn__flex-1"></span>
1227<input type="checkbox" class="b3-switch fn__flex-center"${m==="true"||window.siyuan.config.editor.codeLigatures&&m!=="false"?" checked":""}></div>`,bind(E){E.addEventListener("click",k=>{const A=E.querySelector("input");k.target.tagName!=="INPUT"&&(A.checked=!A.checked),l.setAttribute("ligatures",A.checked.toString()),l.querySelector(".hljs").removeAttribute("data-render"),highlightRender(l),fetchPost("/api/attr/setBlockAttrs",{id:s,attrs:{ligatures:A.checked.toString()}}),window.siyuan.menus.menu.remove()})}},{id:"md27",iconHTML:"",label:`<div class="fn__flex" style="margin-bottom: 4px"><span>${window.siyuan.languages.md27}</span><span class="fn__space fn__flex-1"></span>
1228<input type="checkbox" class="b3-switch fn__flex-center"${b==="true"||window.siyuan.config.editor.codeSyntaxHighlightLineNum&&b!=="false"?" checked":""}></div>`,bind(E){E.addEventListener("click",k=>{const A=E.querySelector("input");k.target.tagName!=="INPUT"&&(A.checked=!A.checked),l.setAttribute("linenumber",A.checked.toString()),l.querySelector(".hljs").removeAttribute("data-render"),highlightRender(l),fetchPost("/api/attr/setBlockAttrs",{id:s,attrs:{linenumber:A.checked.toString()}}),window.siyuan.menus.menu.remove()})}}]}).element)}else if(r==="NodeCodeBlock"&&!t.disabled&&["echarts","mindmap"].includes(l.getAttribute("data-subtype"))){window.siyuan.menus.menu.append(new MenuItem({id:"separator_chart",type:"separator"}).element);const p=l.style.height;let m=l.outerHTML;window.siyuan.menus.menu.append(new MenuItem({id:"chart",label:window.siyuan.languages.chart,icon:"iconCode",submenu:[{id:"height",iconHTML:"",type:"readonly",label:`<div class="fn__flex"><input class="b3-text-field fn__flex-1" value="${p?parseInt(p):"420"}" step="1" min="148" style="margin: 4px 8px 4px 0" placeholder="${window.siyuan.languages.height}"><span class="fn__flex-center">px</span></div>`,bind:b=>{b.querySelector("input").addEventListener("change",E=>{const k=(E.target.value||"420")+"px";l.style.height=k,l.firstElementChild.nextElementSibling.style.height=k,updateTransaction(t,s,l.outerHTML,m),m=l.outerHTML,E.stopPropagation();const A=window.echarts.getInstanceById(l.firstElementChild.nextElementSibling.getAttribute("_echarts_instance_"));A&&A.resize()})}},{id:"update",label:window.siyuan.languages.update,icon:"iconEdit",click(){t.toolbar.showRender(t,l)}}]}).element)}else if(r==="NodeTable"&&!t.disabled){let p=getEditorRange(l);const m=l.querySelector("table");m.contains(p.startContainer)||(p=getEditorRange(m.querySelector("th")));const b=hasClosestByTag(p.startContainer,"TD")||hasClosestByTag(p.startContainer,"TH");b&&(window.siyuan.menus.menu.append(new MenuItem({id:"separator_table",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"table",type:"submenu",icon:"iconTable",label:window.siyuan.languages.table,submenu:tableMenu(t,l,b,p).menus}).element))}else if(r==="NodeAttributeView"&&!t.disabled)window.siyuan.menus.menu.append(new MenuItem({id:"separator_exportCSV",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"exportCSV",icon:"iconDatabase",label:window.siyuan.languages.export+" CSV",click(){fetchPost("/api/export/exportAttributeView",{id:l.getAttribute("data-av-id"),blockID:s},p=>{openByMobile(p.data.zip)})}}).element);else if((r==="NodeVideo"||r==="NodeAudio")&&!t.disabled)window.siyuan.menus.menu.append(new MenuItem({id:"separator_VideoOrAudio",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:r==="NodeVideo"?"assetVideo":"assetAudio",type:"submenu",icon:r==="NodeVideo"?"iconVideo":"iconRecord",label:window.siyuan.languages.assets,submenu:videoMenu(t,l,r)}).element);else if(r==="NodeIFrame"&&!t.disabled)window.siyuan.menus.menu.append(new MenuItem({id:"separator_IFrame",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"assetIFrame",type:"submenu",icon:"iconLanguage",label:window.siyuan.languages.assets,submenu:iframeMenu(t,l)}).element);else if(r==="NodeHTMLBlock"&&!t.disabled)window.siyuan.menus.menu.append(new MenuItem({id:"separator_html",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"html",icon:"iconHTML5",label:"HTML",click(){t.toolbar.showRender(t,l)}}).element);else if(r==="NodeBlockQueryEmbed"&&!t.disabled){window.siyuan.menus.menu.append(new MenuItem({id:"separator_blockEmbed",type:"separator"}).element);const p=l.getAttribute("breadcrumb");window.siyuan.menus.menu.append(new MenuItem({id:"blockEmbed",type:"submenu",icon:"iconSQL",label:window.siyuan.languages.blockEmbed,submenu:[{id:"refresh",icon:"iconRefresh",label:`${window.siyuan.languages.refresh} SQL`,click(){l.removeAttribute("data-render"),blockRender(t,l)}},{id:"update",icon:"iconEdit",label:`${window.siyuan.languages.update} SQL`,click(){t.toolbar.showRender(t,l)}},{type:"separator"},{id:"embedBlockBreadcrumb",label:`<div class="fn__flex" style="margin-bottom: 4px"><span>${window.siyuan.languages.embedBlockBreadcrumb}</span><span class="fn__space fn__flex-1"></span>
1229<input type="checkbox" class="b3-switch fn__flex-center"${p==="true"||window.siyuan.config.editor.embedBlockBreadcrumb&&p!=="false"?" checked":""}></div>`,bind(m){m.addEventListener("click",b=>{const E=m.querySelector("input");b.target.tagName!=="INPUT"&&(E.checked=!E.checked),l.setAttribute("breadcrumb",E.checked.toString()),fetchPost("/api/attr/setBlockAttrs",{id:s,attrs:{breadcrumb:E.checked.toString()}}),l.removeAttribute("data-render"),blockRender(t,l),window.siyuan.menus.menu.remove()})}},{id:"hideHeadingBelowBlocks",label:`<div class="fn__flex" style="margin-bottom: 4px"><span>${window.siyuan.languages.hideHeadingBelowBlocks}</span><span class="fn__space fn__flex-1"></span>
1230<input type="checkbox" class="b3-switch fn__flex-center"${l.getAttribute("custom-heading-mode")==="1"?" checked":""}></div>`,bind(m){m.addEventListener("click",b=>{const E=m.querySelector("input");b.target.tagName!=="INPUT"&&(E.checked=!E.checked),l.setAttribute("custom-heading-mode",E.checked?"1":"0"),fetchPost("/api/attr/setBlockAttrs",{id:s,attrs:{"custom-heading-mode":E.checked?"1":"0"}}),l.removeAttribute("data-render"),blockRender(t,l),window.siyuan.menus.menu.remove()})}}]}).element)}else if(r==="NodeHeading"&&!t.disabled){window.siyuan.menus.menu.append(new MenuItem({id:"separator_1",type:"separator"}).element);const p=[];c!=="h1"&&p.push(this.genHeadingTransform(t,s,1)),c!=="h2"&&p.push(this.genHeadingTransform(t,s,2)),c!=="h3"&&p.push(this.genHeadingTransform(t,s,3)),c!=="h4"&&p.push(this.genHeadingTransform(t,s,4)),c!=="h5"&&p.push(this.genHeadingTransform(t,s,5)),c!=="h6"&&p.push(this.genHeadingTransform(t,s,6)),window.siyuan.menus.menu.append(new MenuItem({id:"tWithSubtitle",type:"submenu",icon:"iconRefresh",label:window.siyuan.languages.tWithSubtitle,submenu:p}).element),window.siyuan.menus.menu.append(new MenuItem({id:"copyHeadings1",icon:"iconCopy",label:`${window.siyuan.languages.copy} ${window.siyuan.languages.headings1}`,click(){fetchPost("/api/block/getHeadingChildrenDOM",{id:s},m=>{isInAndroid()?window.JSAndroid.writeHTMLClipboard(t.lute.BlockDOM2StdMd(m.data).trimEnd(),m.data+Constants.ZWSP):isInHarmony()?window.JSHarmony.writeHTMLClipboard(t.lute.BlockDOM2StdMd(m.data).trimEnd(),m.data+Constants.ZWSP):writeText(m.data+Constants.ZWSP)})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"cutHeadings1",icon:"iconCut",label:`${window.siyuan.languages.cut} ${window.siyuan.languages.headings1}`,click(){fetchPost("/api/block/getHeadingChildrenDOM",{id:s},m=>{isInAndroid()?window.JSAndroid.writeHTMLClipboard(t.lute.BlockDOM2StdMd(m.data).trimEnd(),m.data+Constants.ZWSP):isInHarmony()?window.JSHarmony.writeHTMLClipboard(t.lute.BlockDOM2StdMd(m.data).trimEnd(),m.data+Constants.ZWSP):writeText(m.data+Constants.ZWSP),fetchPost("/api/block/getHeadingDeleteTransaction",{id:s},b=>{b.data.doOperations.forEach(E=>{t.wysiwyg.element.querySelectorAll(`[data-node-id="${E.id}"]`).forEach(k=>{k.remove()})}),transaction(t,b.data.doOperations,b.data.undoOperations)})})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"deleteHeadings1",icon:"iconTrashcan",label:`${window.siyuan.languages.delete} ${window.siyuan.languages.headings1}`,click(){fetchPost("/api/block/getHeadingDeleteTransaction",{id:s},m=>{m.data.doOperations.forEach(b=>{t.wysiwyg.element.querySelectorAll(`[data-node-id="${b.id}"]`).forEach(E=>{E.remove()})}),transaction(t,m.data.doOperations,m.data.undoOperations)})}}).element)}if(window.siyuan.menus.menu.append(new MenuItem({id:"separator_2",type:"separator"}).element),t.options.backlinkData||(window.siyuan.menus.menu.append(new MenuItem({id:"enter",accelerator:`${updateHotkeyTip(window.siyuan.config.keymap.general.enter.custom)}/${updateHotkeyTip("\u2318"+window.siyuan.languages.click)}`,label:window.siyuan.languages.enter,click:()=>{zoomOut({protyle:t,id:s})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"enterBack",accelerator:window.siyuan.config.keymap.general.enterBack.custom,label:window.siyuan.languages.enterBack,click:()=>{enterBack(t,s)}}).element)),!t.disabled){window.siyuan.menus.menu.append(new MenuItem({id:"insertBefore",icon:"iconBefore",label:window.siyuan.languages["insert-before"],accelerator:window.siyuan.config.keymap.editor.general.insertBefore.custom,click(){hideElements(["select"],t),countBlockWord([],t.block.rootID),insertEmptyBlock(t,"beforebegin",s)}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"insertAfter",icon:"iconAfter",label:window.siyuan.languages["insert-after"],accelerator:window.siyuan.config.keymap.editor.general.insertAfter.custom,click(){hideElements(["select"],t),countBlockWord([],t.block.rootID),insertEmptyBlock(t,"afterend",s)}}).element);const p=l.lastElementChild.querySelector(".protyle-attr--refcount");p&&p.textContent&&transferBlockRef(s)}if(window.siyuan.menus.menu.append(new MenuItem({id:"jumpToParentNext",label:window.siyuan.languages.jumpToParentNext,accelerator:window.siyuan.config.keymap.editor.general.jumpToParentNext.custom,click(){hideElements(["select"],t),jumpToParent(t,l,"next")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"jumpToParentPrev",label:window.siyuan.languages.jumpToParentPrev,accelerator:window.siyuan.config.keymap.editor.general.jumpToParentPrev.custom,click(){hideElements(["select"],t),jumpToParent(t,l,"previous")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"jumpToParent",label:window.siyuan.languages.jumpToParent,accelerator:window.siyuan.config.keymap.editor.general.jumpToParent.custom,click(){hideElements(["select"],t),jumpToParent(t,l,"parent")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_3",type:"separator"}).element),r!=="NodeThematicBreak"&&(window.siyuan.menus.menu.append(new MenuItem({id:"fold",label:window.siyuan.languages.fold,accelerator:`${updateHotkeyTip(window.siyuan.config.keymap.editor.general.collapse.custom)}/${updateHotkeyTip("\u2325"+window.siyuan.languages.click)}`,click(){setFold(t,l),focusBlock(l)}}).element),t.disabled||window.siyuan.menus.menu.append(new MenuItem({id:"attr",label:window.siyuan.languages.attr,icon:"iconAttr",accelerator:window.siyuan.config.keymap.editor.general.attr.custom+"/"+updateHotkeyTip("\u21E7"+window.siyuan.languages.click),click(){openAttr(l,"bookmark",t)}}).element)),!t.disabled){const p=new MenuItem({id:"appearance",label:window.siyuan.languages.appearance,icon:"iconFont",accelerator:window.siyuan.config.keymap.editor.insert.appearance.custom,click:()=>{this.showMobileAppearance(t)}}).element;window.siyuan.menus.menu.append(p),isMobile()||p.lastElementChild.classList.add("b3-menu__submenu--row"),this.genAlign([l],t),this.genWidths([l],t)}window.siyuan.menus.menu.append(new MenuItem({id:"separator_4",type:"separator"}).element),window.siyuan.config.cloudRegion===0&&!["NodeThematicBreak","NodeBlockQueryEmbed","NodeIFrame","NodeHTMLBlock","NodeWidget","NodeVideo","NodeAudio"].includes(r)&&((a=getContenteditableElement(l))==null?void 0:a.textContent.trim())!==""&&(r!=="NodeCodeBlock"||r==="NodeCodeBlock"&&!l.getAttribute("data-subtype"))&&window.siyuan.menus.menu.append(new MenuItem({id:"wechatReminder",icon:"iconMp",label:window.siyuan.languages.wechatReminder,ignore:window.siyuan.config.readonly,click(){openWechatNotify(l)}}).element),r!=="NodeThematicBreak"&&!window.siyuan.config.readonly&&(window.siyuan.menus.menu.append(new MenuItem({id:"quickMakeCard",icon:"iconRiffCard",label:window.siyuan.languages.quickMakeCard,accelerator:window.siyuan.config.keymap.editor.general.quickMakeCard.custom,iconHTML:'<svg class="b3-menu__icon" style="color:var(--b3-theme-primary)"><use xlink:href="#iconRiffCard"></use></svg>',click(){quickMakeCard(t,[l])}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"addToDeck",label:window.siyuan.languages.addToDeck,ignore:!window.siyuan.config.flashcard.deck,icon:"iconRiffCard",click(){makeCard(t.app,[s])}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_5",type:"separator"}).element)),(i=t==null?void 0:t.app)!=null&&i.plugins&&emitOpenMenu({plugins:t.app.plugins,type:"click-blockicon",detail
1230:{protyle:t,blockElements:[l]},separatorPosition:"bottom"});let g=l.getAttribute("updated")||"";return g&&(g=`${window.siyuan.languages.modifiedAt} ${dayjs(g).format("YYYY-MM-DD HH:mm:ss")}<br>`),window.siyuan.menus.menu.append(new MenuItem({id:"updateAndCreatedAt",iconHTML:"",type:"readonly",label:`${g}${window.siyuan.languages.createdAt} ${dayjs(s.substr(0,14)).format("YYYY-MM-DD HH:mm:ss")}`}).element),window.siyuan.menus.menu}genHeadingTransform(t,n,a){return{id:"heading"+a,iconHTML:"",icon:"iconHeading"+a,label:window.siyuan.languages["heading"+a],click(){fetchPost("/api/block/getHeadingLevelTransaction",{id:n,level:a},i=>{i.data.doOperations.forEach((s,o)=>{t.wysiwyg.element.querySelectorAll(`[data-node-id="${s.id}"]`).forEach(l=>{l.outerHTML=s.data}),t.wysiwyg.element.querySelectorAll(`[data-node-id="${s.id}"]`).forEach(l=>{mathRender(l)}),o===0&&focusBlock(t.wysiwyg.element.querySelector(`[data-node-id="${s.id}"]`),t.wysiwyg.element,!0)}),transaction(t,i.data.doOperations,i.data.undoOperations)})}}}genClick(t,n,a){updateBatchTransaction(t,n,a),focusBlock(t[0])}genAlign(t,n){window.siyuan.menus.menu.append(new MenuItem({id:"layout",label:window.siyuan.languages.layout,type:"submenu",submenu:[{id:"alignLeft",icon:"iconAlignLeft",label:window.siyuan.languages.alignLeft,accelerator:window.siyuan.config.keymap.editor.general.alignLeft.custom,click:()=>{this.genClick(t,n,a=>{a.classList.contains("av")?a.style.justifyContent="":a.style.textAlign="left"})}},{id:"alignCenter",icon:"iconAlignCenter",label:window.siyuan.languages.alignCenter,accelerator:window.siyuan.config.keymap.editor.general.alignCenter.custom,click:()=>{this.genClick(t,n,a=>{a.classList.contains("av")?a.style.justifyContent="center":a.style.textAlign="center"})}},{id:"alignRight",icon:"iconAlignRight",label:window.siyuan.languages.alignRight,accelerator:window.siyuan.config.keymap.editor.general.alignRight.custom,click:()=>{this.genClick(t,n,a=>{a.classList.contains("av")?a.style.justifyContent="flex-end":a.style.textAlign="right"})}},{id:"justify",icon:"iconMenu",label:window.siyuan.languages.justify,click:()=>{this.genClick(t,n,a=>{a.style.textAlign="justify"})}},{id:"separator_1",type:"separator"},{id:"ltr",icon:"iconLtr",label:window.siyuan.languages.ltr,accelerator:window.siyuan.config.keymap.editor.general.ltr.custom,click:()=>{this.genClick(t,n,a=>{a.style.direction="ltr"})}},{id:"rtl",icon:"iconRtl",label:window.siyuan.languages.rtl,accelerator:window.siyuan.config.keymap.editor.general.rtl.custom,click:()=>{this.genClick(t,n,a=>{a.classList.contains("av")||(a.style.direction="rtl")})}},{id:"separator_2",type:"separator"},{id:"clearFontStyle",icon:"iconTrashcan",label:window.siyuan.languages.clearFontStyle,click:()=>{this.genClick(t,n,a=>{a.classList.contains("av")?a.style.justifyContent="":(a.style.textAlign="",a.style.direction="")})}}]}).element)}updateNodeElements(t,n,a){const i=[],s=[];t.forEach(o=>{i.push({action:"update",id:o.getAttribute("data-node-id"),data:o.outerHTML})}),a.addEventListener(a.type==="number"?"blur":"change",()=>{t.forEach(o=>{s.push({action:"update",id:o.getAttribute("data-node-id"),data:o.outerHTML})}),transaction(n,s,i),window.siyuan.menus.menu.remove(),focusBlock(t[0])})}genWidths(t,n){let a;const i=t[0],s=[{id:"widthInput",iconHTML:"",type:"readonly",label:`<div class="fn__flex"><input class="b3-text-field fn__flex-1" value="${i.style.width.endsWith("px")?parseInt(i.style.width):""}" type="number" style="margin: 4px 8px 4px 0" placeholder="${window.siyuan.languages.width}"><span class="fn__flex-center">px</span></div>`,bind:l=>{const r=l.querySelector("input");r.addEventListener("input",()=>{t.forEach(c=>{c.style.width=r.value+"px",c.style.flex="none"}),a.value="0",a.parentElement.setAttribute("aria-label",r.value+"px")}),this.updateNodeElements(t,n,r)}}];["25%","33%","50%","67%","75%","100%"].forEach(l=>{s.push({id:"width_"+l,iconHTML:"",label:l,click:()=>{this.genClick(t,n,r=>{r.style.width=l,r.style.flex="none"})}})}),s.push({id:"separator_1",type:"separator"});const o=i.style.width.endsWith("%")?parseInt(i.style.width):0;window.siyuan.menus.menu.append(new MenuItem({id:"width",label:window.siyuan.languages.width,submenu:s.concat([{id:"widthDrag",iconHTML:"",type:"readonly",label:`<div style="margin: 4px 0;" aria-label="${i.style.width.endsWith("px")?i.style.width:i.style.width||window.siyuan.languages.default}" class="b3-tooltips b3-tooltips__n"><input style="box-sizing: border-box" value="${o}" class="b3-slider fn__block" max="100" min="1" step="1" type="range"></div>`,bind:l=>{a=l.querySelector("input"),a.addEventListener("input",()=>{t.forEach(r=>{r.style.width=a.value+"%",r.style.flex="none"}),a.parentElement.setAttribute("aria-label",`${a.value}%`)}),this.updateNodeElements(t,n,a)}},{id:"separator_2",type:"separator"},{id:"default",iconHTML:"",label:window.siyuan.languages.default,click:()=>{this.genClick(t,n,l=>{l.style.width&&(l.style.width="",l.style.flex="")})}}])}).element)}
1230genHeights(t,n){if(t.find(r=>{if(!r.classList.contains("p")&&!r.classList.contains("code-block")&&!r.classList.contains("render-node"))return!0}))return;let i;const s=t[0],o=[{id:"heightInput",iconHTML:"",type:"readonly",label:`<div class="fn__flex"><input class="b3-text-field fn__flex-1" value="${s.style.height.endsWith("px")?parseInt(s.style.height):""}" type="number" style="margin: 4px 8px 4px 0" placeholder="${window.siyuan.languages.height}"><span class="fn__flex-center">px</span></div>`,bind:r=>{const c=r.querySelector("input");c.addEventListener("input",()=>{t.forEach(f=>{f.style.height=c.value+"px",f.style.flex="none"}),i.value="0",i.parentElement.setAttribute("aria-label",c.value+"px")}),this.updateNodeElements(t,n,c)}}];["25%","33%","50%","67%","75%","100%"].forEach(r=>{o.push({id:"height_"+r,iconHTML:"",label:r,click:()=>{this.genClick(t,n,c=>{c.style.height=r,c.style.flex="none"})}})}),o.push({type:"separator"});const l=s.style.height.endsWith("%")?parseInt(s.style.height):0;window.siyuan.menus.menu.append(new MenuItem({id:"heightDrag",label:window.siyuan.languages.height,submenu:o.concat([{iconHTML:"",type:"readonly",label:`<div style="margin: 4px 0;" aria-label="${s.style.height.endsWith("px")?s.style.height:s.style.height||window.siyuan.languages.default}" class="b3-tooltips b3-tooltips__n"><input style="box-sizing: border-box" value="${l}" class="b3-slider fn__block" max="100" min="1" step="1" type="range"></div>`,bind:r=>{i=r.querySelector("input"),i.addEventListener("input",()=>{t.forEach(c=>{c.style.height=i.value+"%",c.style.flex="none"}),i.parentElement.setAttribute("aria-label",`${i.value}%`)}),this.updateNodeElements(t,n,i)}},{type:"separator"},{id:"default",iconHTML:"",label:window.siyuan.languages.default,click:()=>{this.genClick(t,n,r=>{r.style.height&&(r.style.height="",r.style.overflow="")})}}])}).element)}genCopyTextRef(t){return isNotEditBlock(t[0])?!1:{id:"copyText",iconHTML:"",accelerator:window.siyuan.config.keymap.editor.general.copyText.custom,label:window.siyuan.languages.copyText,click(){t[0].setAttribute("data-reftext","true"),focusByRange(getEditorRange(t[0])),document.execCommand("copy")}}}render(t,n,a,i){var s;if(t.title&&t.title.element.getAttribute("data-render")!=="true")return;const o=a.parentElement.parentElement.querySelector(".protyle-select");if(o&&!o.classList.contains("fn__none"))return;let l="",r=n,c=0,f=0,d,u=!1;for(;r;){let A=hasClosestBlock(r.parentElement);if(!isInEmbedBlock(r)){let v;u||(v=r.getAttribute("data-type"));let w=r.getAttribute("data-node-id");if(v==="NodeAttributeView"&&i){const L=hasClosestByClassName(i,"av__row");if(L&&!L.classList.contains("av__row--header")){n=L;let I=isMac()?window.siyuan.languages.rowTip:window.siyuan.languages.rowTip.replace("\u21E7","Shift+");t.disabled?I=window.siyuan.languages.rowTip.substring(0,window.siyuan.languages.rowTip.indexOf("<br")):((s=L.querySelector('[data-dtype="block"]'))==null?void 0:s.getAttribute("data-detached"))==="true"&&(I=window.siyuan.languages.rowTip.substring(0,window.siyuan.languages.rowTip.lastIndexOf("<br"))),l=`<button data-type="NodeAttributeViewRowMenu" data-node-id="${w}" data-row-id="${L.dataset.id}" class="ariaLabel" data-position="parentW" aria-label="${I}"><svg><use xlink:href="#iconDrag"></use></svg><span ${t.disabled?"":'draggable="true" class="fn__grab"'}></span></button>`,t.disabled||(l=`<button data-type="NodeAttributeViewRow" data-node-id="${w}" data-row-id="${L.dataset.id}" class="ariaLabel" data-position="parentW" aria-label="${isMac()?window.siyuan.languages.addBelowAbove:window.siyuan.languages.addBelowAbove.replace("\u2325","Alt+")}"><svg><use xlink:href="#iconAdd"></use></svg></button>${l}`);break}}if(f===0){if(["NodeBlockquote","NodeList","NodeSuperBlock"].includes(v))return;const L=getTopAloneElement(r);d=L.querySelector(".li")||L.querySelector(".list"),isInEmbedBlock(d)&&(d=void 0),!L.isSameNode(r)&&v!=="NodeHeading"&&(r=L,A=hasClosestBlock(r.parentElement),v=r.getAttribute("data-type"),w=r.getAttribute("data-node-id"))}v==="NodeListItem"&&f===1&&(l=""),f+=1;let y=this.gutterTip;t.disabled&&(y=this.gutterTip.split("<br>").splice(0,2).join("<br>"));let h="";t.options.backlinkData&&(h=`class="popover__block" data-id="${w}"`);const _=`<button class="ariaLabel" data-position="parentW" aria-label="${y}" 
1231data-type="${v}" data-subtype="${r.getAttribute("data-subtype")}" data-node-id="${w}">
1232    <svg><use xlink:href="#${getIconByType(v,r.getAttribute("data-subtype"))}"></use></svg>
1233    <span ${h} ${t.disabled?"":'draggable="true"'}></span>
1234</button>`;u||(l=_+l);let C="";if(v==="NodeListItem"&&r.childElementCount>3||v==="NodeHeading"){const L=r.getAttribute("fold");C=`<button class="ariaLabel" data-position="parentW" aria-label="${window.siyuan.languages.fold}" 
1235data-type="fold" style="cursor:inherit;"><svg style="width: 10px${L&&L==="1"?"":";transform:rotate(90deg)"}"><use xlink:href="#iconPlay"></use></svg></button>`}if((v==="NodeListItem"||v==="NodeList")&&(d=r,v==="NodeListItem"&&r.childElementCount>3&&(l=_+C)),v==="NodeHeading"&&(l=l+C),v==="NodeBlockquote"&&(c+=8),r.previousElementSibling&&r.previousElementSibling.getAttribute("data-node-id")){if(u=!0,A&&A.getAttribute("fold")==="1")return;A&&A.getAttribute("data-type")==="NodeBlockquote"&&(c+=8)}}if(A)r=A;else break}let g=!0;const p=this.element.querySelectorAll("button");if(p.length!==l.split("</button>").length-1?g=!1:Array.from(p).find(A=>{const v=A.getAttribute("data-node-id");if(v&&l.indexOf(v)===-1)return g=!1,!0;const w=A.getAttribute("data-row-id");if(w&&l.indexOf(w)===-1||!w&&l.indexOf("NodeAttributeViewRowMenu")>-1)return g=!1,!0}),g&&this.element.childElementCount>0){this.element.classList.remove("fn__none");return}this.element.innerHTML=l,this.element.classList.remove("fn__none"),this.element.style.width="";const m=a.parentElement.getBoundingClientRect().top;let b=n.getBoundingClientRect(),E=0;d&&!window.siyuan.config.editor.rtl&&getComputedStyle(n).direction!=="rtl"?(b=d.firstElementChild.getBoundingClientRect(),c=0):r.getAttribute("data-type")==="NodeBlockQueryEmbed"?(b=r.getBoundingClientRect(),c=0):n.classList.contains("av__row")||(b.height<Math.floor(window.siyuan.config.editor.fontSize*1.625)+8||b.height>Math.floor(window.siyuan.config.editor.fontSize*1.625)+8&&b.height<Math.floor(window.siyuan.config.editor.fontSize*1.625)*2+8?E=(b.height-this.element.clientHeight)/2:(r.getAttribute("data-type")==="NodeAttributeView"||n.getAttribute("data-type")==="NodeAttributeView")&&m<b.top&&(E=8)),this.element.style.top=`${Math.max(b.top,m)+E}px`;let k=b.left-this.element.clientWidth-c;r.getAttribute("data-type")==="NodeBlockQueryEmbed"&&this.element.childElementCount===1?k=r.getBoundingClientRect().left-this.element.clientWidth-c:n.classList.contains("av__row")&&(k=r.getBoundingClientRect().left-this.element.clientWidth-c+parseInt(getComputedStyle(r).paddingLeft)),this.element.style.left=`${k}px`,k<this.element.parentElement.getBoundingClientRect().left?(this.element.style.width="24px",this.element.style.left=`${b.left-this.element.clientWidth-c/2+3}
1235px`,l="",Array.from(this.element.children).reverse().forEach((A,v)=>{v!==0&&(A.firstElementChild.style.height="14px"),l+=A.outerHTML}),this.element.innerHTML=l):this.element.querySelectorAll("svg").forEach(A=>{A.style.height=""})}}const qo=(e,t)=>{if(window.siyuan.config.fileTree.removeDocWithoutConfirm){fetchPost("/api/filetree/removeDoc",{notebook:e,path:t});return}fetchPost("/api/block/getDocInfo",{id:getDisplayName(t,!0,!0)},n=>{const a=escapeHtml(n.data.name);let i=`${window.siyuan.languages.confirmDeleteTip.replace("${x}",a)}
1236<div class="fn__hr"></div>
1237<div class="ft__smaller ft__on-surface">${window.siyuan.languages.rollbackTip.replace("${x}",window.siyuan.config.editor.historyRetentionDays)}</div>`;n.data.subFileCount>0&&(i=`${window.siyuan.languages.andSubFile.replace("${x}",a).replace("${y}",n.data.subFileCount)}
1238<div class="fn__hr"></div>
1239<div class="ft__smaller ft__on-surface">${window.siyuan.languages.rollbackTip.replace("${x}",window.siyuan.config.editor.historyRetentionDays)}</div>`),confirmDialog(window.siyuan.languages.deleteOpConfirm,i,()=>{fetchPost("/api/filetree/removeDoc",{notebook:e,path:t})},void 0,!0)})},uu=e=>{if(e.length===1){const t=hasTopClosestByTag(e[0],"UL");if(t){const n=t.getAttribute("data-url");e[0].getAttribute("data-type")==="navigation-file"?qo(n,e[0].getAttribute("data-path")):confirmDialog(window.siyuan.languages.deleteOpConfirm,`${window.siyuan.languages.confirmDeleteTip.replace("${x}",Lute.EscapeHTMLStr(getNotebookName(n)))}
1240<div class="fn__hr"></div>
1241<div class="ft__smaller ft__on-surface">${window.siyuan.languages.rollbackTip.replace("${x}",window.siyuan.config.editor.historyRetentionDays)}</div>`,()=>{fetchPost("/api/notebook/removeNotebook",{notebook:n,callback:Constants.CB_MOUNT_REMOVE})},void 0,!0)}}else{const t=[];if(e.forEach(n=>{n.getAttribute("data-path")!=="/"&&t.push(n.getAttribute("data-path"))}),t.length===0){showMessage(window.siyuan.languages.notBatchRemove);return}confirmDialog(window.siyuan.languages.deleteOpConfirm,`${window.siyuan.languages.confirmRemoveAll.replace("${count}",t.length)}
1242<div class="fn__hr"></div>
1243<div class="ft__smaller ft__on-surface">${window.siyuan.languages.rollbackTip.replace("${x}",window.siyuan.config.editor.historyRetentionDays)}</div>`,()=>{fetchPost("/api/filetree/removeDocs",{paths:t})},void 0,!0)}};var pn=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const mn=(e,t=0)=>{let n=0,a=0;return e.cards.forEach((i,s)=>{s>t||(i.state===0?n++:a++)}),`<span class="ariaLabel" aria-label="${window.siyuan.languages.flashcardNewCard}">
1244    <span class="ft__error">${n}</span> /
1245    <span class="ariaLabel ft__primary" aria-label="${window.siyuan.languages.flashcardNewCard}">${e.unreviewedNewCardCount}</span>
1246</span>
1247<span class="fn__space"></span>+<span class="fn__space"></span>
1248<span class="ariaLabel" aria-label="${window.siyuan.languages.flashcardReviewCard}">
1249    <span class="ft__error">${a}</span> /
1250    <span class="ft__success">${e.unreviewedOldCardCount}</span>
1251</span>`},Uo=e=>{let t;return t=`<div class="toolbar toolbar--border">
1252    <svg class="toolbar__icon"><use xlink:href="#iconRiffCard"></use></svg>
1253    <span class="fn__flex-1 fn__flex-center toolbar__text">${window.siyuan.languages.riffCard}</span>
1254    <div data-type="count" class="${e.cardsData.cards.length===0?"fn__none":"fn__flex"}">${mn(e.cardsData)}</span></div>
1255    <svg class="toolbar__icon" data-id="${e.id||""}" data-cardtype="${e.cardType}" data-type="filter"><use xlink:href="#iconFilter"></use></svg>
1256    <svg class="toolbar__icon" data-type="more"><use xlink:href="#iconMore"></use></svg>
1257    <svg class="toolbar__icon" data-type="close"><use xlink:href="#iconCloseRound"></use></svg>
1258</div>`,`<div class="card__main">
1259    ${t}
1260    <div class="card__block fn__flex-1 ${e.cardsData.cards.length===0?"fn__none":""}" data-type="render"></div>
1261    <div class="card__empty card__empty--space${e.cardsData.cards.length===0?"":" fn__none"}" data-type="empty">
1262        <div>\u{1F52E}</div>
1263        ${window.siyuan.languages.noDueCard}
1264    </div>
1265    <div class="fn__flex card__action fn__none">
1266        <button class="b3-button b3-button--cancel" disabled="disabled" data-type="-2" style="width: 25%;min-width: 86px;
1266display: flex">
1267            <svg><use xlink:href="#iconLeft"></use></svg>
1268            ${isMobile()?"":"(p / q)"}
1269        </button>
1270        <span class="fn__space"></span>
1271        <button data-type="-1" class="b3-button fn__flex-1">${window.siyuan.languages.cardShowAnswer}${isMobile()?"":" ("+window.siyuan.languages.space+" / "+window.siyuan.languages.enterKey+")"}</button>
1272    </div>
1273    <div class="fn__flex card__action fn__none">
1274        <div>
1275            <button class="b3-button b3-button--cancel" disabled="disabled" style="display: flex;margin-bottom: 8px;height: 28px;padding: 0;" data-type="-2"><svg><use xlink:href="#iconLeft"></use></svg>${isMobile()?"":"(p / q)"}</button>
1276            <button data-type="-3" aria-label="0 / x" class="b3-button b3-button--cancel b3-tooltips__n b3-tooltips">
1277                <div class="card__icon">\u{1F4A4}</div>
1278                ${window.siyuan.languages.skip}${isMobile()?"":" (0)"}
1279            </button>
1280        </div>
1281        <div>
1282            <span></span>
1283            <button data-type="1" aria-label="1 / j / a" class="b3-button b3-button--error b3-tooltips__n b3-tooltips">
1284                <div class="card__icon">\u{1F648}</div>
1285                ${window.siyuan.languages.cardRatingAgain}${isMobile()?"":" (1)"}
1286            </button>
1287        </div>
1288        <div>
1289            <span></span>
1290            <button data-type="2" aria-label="2 / k / s" class="b3-button b3-button--warning b3-tooltips__n b3-tooltips">
1291                <div class="card__icon">\u{1F62C}</div>
1292                ${window.siyuan.languages.cardRatingHard}${isMobile()?"":" (2)"}
1293            </button>
1294        </div>
1295        <div>
1296            <span></span>
1297            <button data-type="3" aria-label="3 / l / d / ${window.siyuan.languages.space} / ${window.siyuan.languages.enterKey}" class="b3-button b3-button--info b3-tooltips__n b3-tooltips">
1298                <div class="card__icon">\u{1F60A}</div>
1299                ${window.siyuan.languages.cardRatingGood}${isMobile()?"":" (3)"}
1300            </button>
1301        </div>
1302        <div>
1303            <span></span>
1304            <button data-type="4" aria-label="4 / ; / f" class="b3-button b3-button--success b3-tooltips__n b3-tooltips">
1305                <div class="card__icon">\u{1F308}</div>
1306                ${window.siyuan.languages.cardRatingEasy}${isMobile()?"":" (4)"}
1307            </button>
1308        </div>
1309    </div>
1310</div>`},ps=(e,t,n,a)=>{fetchPost("/api/block/getDocInfo",{id:e},i=>{t.wysiwyg.renderCustom(i.data.ial),fetchPost("/api/filetree/getDoc",{id:e,mode:0,size:Constants.SIZE_GET_MAX},s=>{onGet({updateReadonly:!0,data:s,protyle:t,action:s.data.rootID===s.data.id?[Constants.CB_GET_HTML]:[Constants.CB_GET_ALL,Constants.CB_GET_HTML],afterCB:()=>{let o=!1;!window.siyuan.config.flashcard.superBlock&&!window.siyuan.config.flashcard.heading&&!window.siyuan.config.flashcard.list&&!window.siyuan.config.flashcard.mark?o=!1:(window.siyuan.config.flashcard.superBlock&&t.wysiwyg.element.querySelector(":scope > .sb")&&(o=!0),window.siyuan.config.flashcard.heading&&t.wysiwyg.element.querySelector(':scope > [data-type="NodeHeading"]')&&(o=!0),window.siyuan.config.flashcard.list&&t.wysiwyg.element.querySelector(".list, .li")&&(o=!0),window.siyuan.config.flashcard.mark&&t.wysiwyg.element.querySelector('span[data-type~="mark"]')&&(o=!0));const l=n.querySelectorAll(".card__action");o?(window.siyuan.config.flashcard.superBlock&&t.element.classList.add("card__block--hidesb"),window.siyuan.config.flashcard.heading&&t.element.classList.add("card__block--hideh"),window.siyuan.config.flashcard.list&&t.element.classList.add("card__block--hideli"),window.siyuan.config.flashcard.mark&&t.element.classList.add("card__block--hidemark"),l[0].classList.remove("fn__none"),l[1].classList.add("fn__none")):(t.element.classList.remove("card__block--hidemark","card__block--hideli","card__block--hidesb","card__block--hideh"),l[0].classList.add("fn__none"),l[1].querySelectorAll("button.b3-button").forEach((r,c)=>{c<2||(r.previousElementSibling.textContent=a.nextDues[c-1])}),l[1].classList.remove("fn__none"))}})})})},Fo=e=>pn(void 0,null,function*(){window.siyuan.storage[Constants.LOCAL_FLASHCARD].fullscreen&&fullscreen(e.element.querySelector(".card__main"),e.element.querySelector('[data-type="fullscreen"]'));let t=0;typeof e.index=="number"&&(t=e.index);const n=new Protyle(e.app,e.element.querySelector("[data-type='render']"),{blockId:"",action:[Constants.CB_GET_ALL],render:{background:!1,gutter:!0,breadcrumbDocName:!0},typewriterMode:!1});window.siyuan.mobile&&(window.siyuan.mobile.popEditor=n),e.cardsData.cards.length>0&&ps(e.cardsData.cards[t].blockID,n.protyle,e.element,e.cardsData.cards[t]),e.element.setAttribute("data-key",Constants.DIALOG_OPENCARD);const a=e.element.querySelectorAll(".card__action");e.index===0||typeof e.index=="undefined"?(a[0].firstElementChild.setAttribute("disabled","disabled"),a[1].querySelector(".b3-button").setAttribute("disabled","disabled")):(a[0].firstElementChild.removeAttribute("disabled"),a[1].querySelector(".b3-button").removeAttribute("disabled"));const i=e.element.querySelector('[data-type="count"]'),s=e.element.querySelector('[data-type="filter"]'),o=()=>{const l=s.getAttribute("data-cardtype"),r=s.getAttribute("data-id");fetchPost(l==="all"?"/api/riff/getRiffDueCards":l==="doc"?"/api/riff/getTreeRiffDueCards":"/api/riff/getNotebookRiffDueCards",{rootID:r,deckID:r,notebook:r},c=>pn(void 0,null,function*(){t=0,e.cardsData=c.data;for(let f=0;f<e.app.plugins.length;f++)e.cardsData=yield e.app.plugins[f].updateCards(e.cardsData);e.cardsData.cards.length>0?yn({countElement:i,editor:n,actionElements:a,index:t,cardsData:e.cardsData}
1310):ms(i,n,a)}))};return i.innerHTML=mn(e.cardsData,t),e.element.addEventListener("click",l=>{const r=l.target;let c="";const f=e.cardsData.cards[t],d=s.getAttribute("data-id");if(typeof l.detail=="string")["1","j","a"].includes(l.detail)?c="1":["2","k","s"].includes(l.detail)?c="2":["3","l","d"].includes(l.detail)?c="3":["4",";","f"].includes(l.detail)?c="4":[" ","enter"].includes(l.detail)?c="-1":["p","q"].includes(l.detail)?c="-2":["0","x"].includes(l.detail)&&(c="-3");else{if(hasClosestByAttribute(r,"data-type","fullscreen")){fullscreen(e.element.querySelector(".card__main"),e.element.querySelector('[data-type="fullscreen"]')),resize(n.protyle),window.siyuan.storage[Constants.LOCAL_FLASHCARD].fullscreen=!window.siyuan.storage[Constants.LOCAL_FLASHCARD].fullscreen,setStorageVal(Constants.LOCAL_FLASHCARD,window.siyuan.storage[Constants.LOCAL_FLASHCARD]),l.stopPropagation(),l.preventDefault();return}if(hasClosestByAttribute(r,"data-type","more")){if(l.stopPropagation(),l.preventDefault(),s.getAttribute("data-cardtype")==="all"&&s.getAttribute("data-id")){showMessage(window.siyuan.languages.noSupportTip);return}const E=new Menu;E.addItem({id:"setDueTime",icon:"iconClock",label:window.siyuan.languages.setDueTime,click(){const k=new Dialog({title:window.siyuan.languages.setDueTime,content:`<div class="b3-dialog__content">
1311    <div class="b3-label__text">${window.siyuan.languages.showCardDay}</div>
1312    <div class="fn__hr"></div>
1313    <input class="b3-text-field fn__block" value="1" type="number" step="1" min="1">
1314</div>
1315<div class="b3-dialog__action">
1316    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
1317    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
1318</div>`,width:isMobile()?"92vw":"520px"}),A=k.element.querySelector("input"),v=k.element.querySelectorAll(".b3-button");k.bindInput(A,()=>{v[1].click()}),A.focus(),A.select(),v[0].addEventListener("click",()=>{k.destroy()}),v[1].addEventListener("click",()=>{fetchPost("/api/riff/batchSetRiffCardsDueTime",{cardDues:[{id:f.cardID,due:dayjs().add(parseInt(A.value),"day").format("YYYYMMDDHHmmss")}]},()=>{a[0].classList.add("fn__none"),a[1].classList.remove("fn__none"),f.state===0?e.cardsData.unreviewedNewCardCount--:e.cardsData.unreviewedOldCardCount--,e.element.dispatchEvent(new CustomEvent("click",{detail:"0"})),e.cardsData.cards.splice(t,1),t--,k.destroy()})})}}),f.state!==0&&E.addItem({id:"reset",icon:"iconRefresh",label:window.siyuan.languages.reset,click(){fetchPost("/api/riff/resetRiffCards",{type:s.getAttribute("data-cardtype"),id:d,deckID:Constants.QUICK_DECK_ID,blockIDs:[f.blockID]},()=>{const k=window.siyuan.languages._time["1m"].replace("%s","");f.lapses=0,f.lastReview=-621355968e5,f.reps=0,f.state=0,f.nextDues={1:k,2:k.replace("1","5"),3:k.replace("1","10"),4:window.siyuan.languages._time["1d"].replace("%s","").replace("1","6")},a[1].querySelectorAll("button.b3-button").forEach((A,v)=>{v<2||(A.previousElementSibling.textContent=f.nextDues[v-1])}),e.cardsData.unreviewedOldCardCount--,e.cardsData.unreviewedNewCardCount++,i.innerHTML=mn(e.cardsData,t)})}}),E.addItem({id:"removeRiffCard",icon:"iconTrashcan",label:`${window.siyuan.languages.remove} <b>${window.siyuan.languages.riffCard}</b>`,click(){a[0].classList.add("fn__none"),a[1].classList.remove("fn__none"),f.state===0?e.cardsData.unreviewedNewCardCount--:e.cardsData.unreviewedOldCardCount--,e.element.dispatchEvent(new CustomEvent("click",{detail:"0"})),transaction(void 0,[{action:"removeFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:[f.blockID]}]),e.cardsData.cards.splice(t,1),t--}}),E.addSeparator(),E.addItem({id:"forgetCountAndRevisionCountAndCardStatusAndLastReviewTime",iconHTML:"",type:"readonly",label:`<div class="fn__flex">
1319    <div class="fn__flex-1 ft__breakword">${window.siyuan.languages.forgetCount}</div>
1320    <div class="fn__space"></div>
1321    <div>${f.lapses}</div>
1322</div><div class="fn__flex">
1323    <div class="fn__flex-1 ft__breakword">${window.siyuan.languages.revisionCount}</div>
1324    <div class="fn__space"></div>
1325    <div>${f.reps}</div>
1326</div><div class="fn__flex">
1327    <div class="fn__flex-1 ft__breakword">${window.siyuan.languages.cardStatus}</div>
1328    <div class="fn__space"></div>
1329    <div class="${f.state===0?"ft__primary":"ft__success"}">${f.state===0?window.siyuan.languages.flashcardNewCard:window.siyuan.languages.flashcardReviewCard}</div>
1330</div><div class="fn__flex${f.lastReview>0?"":" fn__none"}">
1331    <div class="fn__flex-1 ft__breakword" style="width: 170px;">${window.siyuan.languages.lastReviewTime}</div>
1332    <div class="fn__space"></div>
1333    <div>${dayjs(f.lastReview).format("YYYY-MM-DD")}</div>
1334</div>`}),E.fullscreen();return}if(hasClosestByAttribute(r,"data-type","close")){e.dialog&&e.dialog.destroy(),l.stopPropagation(),l.preventDefault();return}const m=hasClosestByAttribute(r,"data-type","filter");if(m){fetchPost("/api/riff/getRiffDecks",{},E=>{window.siyuan.menus.menu.remove(),window.siyuan.menus.menu.append(new MenuItem({id:"all",iconHTML:"",label:window.siyuan.languages.all,click(){s.setAttribute("data-id",""),s.setAttribute("data-cardtype","all"),o()}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"fileTree",iconHTML:"",label:window.siyuan.languages.fileTree,click(){movePathTo((A,v)=>{s.setAttribute("data-id",A[0]==="/"?v[0]:getDisplayName(A[0],!0,!0)),s.setAttribute("data-cardtype",A[0]==="/"?"notebook":"doc"),o()},[],void 0,window.siyuan.languages.specifyPath,!0)}}).element),(e.title||E.data.length>0)&&window.siyuan.menus.menu.append(new MenuItem({type:"separator"}).element),e.title&&(window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:escapeHtml(e.title),click(){s.setAttribute("data-id",e.id),s.setAttribute("data-cardtype",e.cardType),o()}}).element),E.data.length>0&&window.siyuan.menus.menu.append(new MenuItem({type:"separator"}).element)),E.data.forEach(A=>{window.siyuan.menus.menu.append(new MenuItem({iconHTML:"",label:escapeHtml(A.name),click(){s.setAttribute("data-id",A.id),s.setAttribute("data-cardtype","all"),o()}}).element)});const k=m.getBoundingClientRect();window.siyuan.menus.menu.popup({x:k.left,y:k.bottom})}),l.stopPropagation(),l.preventDefault();return}
1334if(hasClosestByAttribute(r,"data-type","newround")){o(),l.stopPropagation(),l.preventDefault();return}}if(!c){const u=hasClosestByClassName(r,"b3-button");u&&(c=u.getAttribute("data-type"))}if(!(!c||!f)){if(l.preventDefault(),l.stopPropagation(),hideElements(["toolbar","hint","util","gutter"],n.protyle),c==="-1")if(a[0].classList.contains("fn__none"))c="3";else{n.protyle.element.classList.remove("card__block--hidemark","card__block--hideli","card__block--hidesb","card__block--hideh"),a[0].classList.add("fn__none"),a[1].querySelectorAll("button.b3-button").forEach((u,g)=>{g<2||(u.previousElementSibling.textContent=f.nextDues[g-1])}),a[1].classList.remove("fn__none"),bn(e.app,f,c);return}else if(c==="-2"){t>0&&(t--,yn({countElement:i,editor:n,actionElements:a,index:t,cardsData:e.cardsData}),bn(e.app,e.cardsData.cards[t+1],c));return}["1","2","3","4","-3"].includes(c)&&a[0].classList.contains("fn__none")&&fetchPost(c==="-3"?"/api/riff/skipReviewRiffCard":"/api/riff/reviewRiffCard",{deckID:f.deckID,cardID:f.cardID,rating:parseInt(c),reviewedCards:e.cardsData.cards},()=>{if(c!=="-3"&&(window.siyuan.config.sync.provider!==0&&isPaidUser()||window.siyuan.config.sync.provider===0&&!needSubscribe(""))&&window.siyuan.config.repo.key&&window.siyuan.config.sync.enabled&&document.getElementById("toolbarSync").classList.remove("fn__none"),t++,t>e.cardsData.cards.length-1){const u=s.getAttribute("data-cardtype");fetchPost(u==="all"?"/api/riff/getRiffDueCards":u==="doc"?"/api/riff/getTreeRiffDueCards":"/api/riff/getNotebookRiffDueCards",{rootID:d,deckID:d,notebook:d,reviewedCards:e.cardsData.cards},g=>pn(void 0,null,function*(){bn(e.app,e.cardsData.cards[t-1],c),t=0,e.cardsData=g.data;for(let p=0;p<e.app.plugins.length;p++)e.cardsData=yield e.app.plugins[p].updateCards(e.cardsData);e.cardsData.cards.length===0?e.cardsData.unreviewedCount>0?Wo(i,n,a,g.data.unreviewedCount):ms(i,n,a):yn({countElement:i,editor:n,actionElements:a,index:t,cardsData:e.cardsData})}));return}yn({countElement:i,editor:n,actionElements:a,index:t,cardsData:e.cardsData}),bn(e.app,e.cardsData.cards[t-1],c)})}}),n}),bn=(e,t,n)=>{e.plugins.forEach(a=>{a.eventBus.emit("click-flashcard-action",{type:n,card:t})})},fu=e=>{window.siyuan.config.readonly||fetchPost("/api/riff/getRiffDueCards",{deckID:""},t=>{Yo(e,t.data,"all")})},Yo=(e,t,n,a,i)=>pn(void 0,null,function*(){if(window.siyuan.dialogs.find(c=>{if(c.element.getAttribute("data-key")===Constants.DIALOG_OPENCARD)return c.destroy(),!0}))return;let o;getSelection().rangeCount>0&&(o=getSelection().getRangeAt(0));for(let c=0;c<e.plugins.length;c++)t=yield e.plugins[c].updateCards(t);const l=new Dialog({positionId:Constants.DIALOG_OPENCARD,content:Uo({id:a,cardType:n,cardsData:t,isTab:!1}),width:isMobile()?"100vw":"80vw",height:isMobile()?"100vh":"70vh",destroyCallback(){r&&(r.destroy(),window.siyuan.mobile&&(window.siyuan.mobile.popEditor=null)),o&&focusByRange(o)},resizeCallback(c){c!=="d"&&c!=="t"&&r&&r.resize()}});l.element.querySelector(".b3-dialog__scrim").style.backgroundColor="var(--b3-theme-surface)",l.element.querySelector(".b3-dialog__container").style.maxWidth="1024px";const r=yield Fo({app:e,element:l.element,cardsData:t,title:i,id:a,cardType:n,dialog:l});r.resize(),l.editors={card:r},updateCardHV()}),yn=e=>{e.editor.protyle.element.classList.remove("fn__none"),e.editor.protyle.element.nextElementSibling.classList.add("fn__none"),e.countElement.innerHTML=mn(e.cardsData,e.index),e.countElement.classList.remove("fn__none"),e.index===0?(e.actionElements[0].firstElementChild.setAttribute("disabled","disabled"),e.actionElements[1].querySelector(".b3-button").setAttribute("disabled","disabled")):(e.actionElements[0].firstElementChild.removeAttribute("disabled"),e.actionElements[1].querySelector(".b3-button").removeAttribute("disabled")),ps(e.cardsData.cards[e.index].blockID,e.editor.protyle,hasClosestByAttribute(e.countElement,"data-key",Constants.DIALOG_OPENCARD),e.cardsData.cards[e.index])},ms=(e,t,n)=>{e.classList.add("fn__none"),t.protyle.element.classList.add("fn__none");const a=t.protyle.element.nextElementSibling;a.innerHTML=`<div>\u{1F52E}</div>${window.siyuan.languages.noDueCard}`,a.classList.remove("fn__none"),n[0].classList.add("fn__none"),n[1].classList.add("fn__none")},Wo=(e,t,n,a)=>{e.classList.add("fn__none"),t.protyle.element.classList.add("fn__none");const i=t.protyle.element.nextElementSibling;i.innerHTML=`<div>\u267B\uFE0F </div>
1335<span>${window.siyuan.languages.continueReview2.replace("${count}",a)}</span>
1336<div class="fn__hr"></div>
1337<button data-type="newround" class="b3-button fn__size200">${window.siyuan.languages.continueReview1}</button>`,i.classList.remove("fn__none"),n[0].classList.add("fn__none"),n[1].classList.add("fn__none")};let Ft,Yt=!1;const hn=(e,t,n)=>{const a=e.querySelector('[data-type="docprevious"]'),i=e.querySelector('[data-type="docnext"]');t>1?a.removeAttribute("disabled"):a.setAttribute("disabled","disabled");const s=e.querySelector('.b3-select[data-type="opselect"]'),o=e.querySelector(".b3-list--background");e.querySelector(".protyle-title__input").classList.add("fn__none"),e.querySelector('.history__text[data-type="docPanel"]').classList.add("fn__none"),e.querySelector('.history__text[data-type="mdPanel"]').classList.add("fn__none"),fetchPost("/api/history/searchHistory",{query:n,page:t,op:s.value,type:3},l=>{t<l.data.pageCount?i.removeAttribute("disabled"):i.setAttribute("disabled","disabled");const r=e.querySelector('[data-type="jumpRepoPage"]');l.data.pageCount>1?r.removeAttribute("disabled"):r.setAttribute("disabled","disabled"),r.setAttribute("data-totalpage",l.data.pageCount.toString()),r.textContent=t.toString();const c=i.nextElementSibling.nextElementSibling;if(c.classList.remove("fn__none"),c.textContent=window.siyuan.languages.pageCountAndHistoryCount.replace("${x}",l.data.pageCount).replace("${y}",l.data.totalCount),l.data.histories.length===0){o.innerHTML=`<li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`;return}let f="";
1337l.data.histories.forEach(d=>{f+=`<li class="b3-list-item b3-list-item--hide-action" data-created="${d}">
1338    <span class="b3-list-item__text">${dayjs(parseInt(d)*1e3).format("YYYY-MM-DD HH:mm:ss")}</span>
1339    <span class="fn__space"></span>
1340    <span class="b3-list-item__action b3-tooltips b3-tooltips__w" data-type="rollback" aria-label="${window.siyuan.languages.rollback}">
1341        <svg><use xlink:href="#iconUndo"></use></svg>
1342    </span>
1343</li>`}),o.innerHTML=f})},gu=e=>{const t=`<div class="history__action">
1344    <div class="block__icons">
1345        <span data-type="docprevious" class="block__icon block__icon--show b3-tooltips b3-tooltips__e" disabled="disabled" aria-label="${window.siyuan.languages.previousLabel}"><svg><use xlink:href="#iconLeft"></use></svg></span>
1346        <button class="b3-button b3-button--text ft__selectnone" data-type="jumpRepoPage" disabled>1</button>
1347        <span data-type="docnext" class="block__icon block__icon--show b3-tooltips b3-tooltips__e" disabled="disabled" aria-label="${window.siyuan.languages.nextLabel}"><svg><use xlink:href="#iconRight"></use></svg></span>
1348        <span class="fn__space"></span>
1349        <span class="ft__on-surface fn__flex-shrink ft__selectnone fn__none">${window.siyuan.languages.pageCountAndHistoryCount}</span>
1350        <span class="fn__space"></span>
1351        <div class="fn__flex-1"></div>
1352        <select data-type="opselect" class="b3-select">
1353            <option value="all" selected>${window.siyuan.languages.allOp}</option>
1354            <option value="update">${window.siyuan.languages.historyUpdate}</option>
1355            <option value="format">${window.siyuan.languages.historyFormat}</option>
1356            <option value="sync">${window.siyuan.languages.historySync}</option>
1357            <option value="replace">${window.siyuan.languages.historyReplace}</option>
1358            <option value="outline">${window.siyuan.languages.historyOutline}</option>
1359        </select>
1360    </div>
1361</div>
1362<div class="fn__flex fn__flex-1 history__panel">
1363    <ul class="b3-list b3-list--background history__side" ${isMobile()?"":`style="width: ${window.siyuan.storage[Constants.LOCAL_HISTORY].sideDocWidth}"`}>
1364        <li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>
1365    </ul>
1366    <div class="history__resize"></div>
1367    <div class="fn__flex-1 fn__flex-column">
1368        <div class="protyle-title__input fn__none ft__center ft__breakword"></div>
1369        <textarea class="fn__flex-1 history__text fn__none" readonly data-type="mdPanel"></textarea>
1370        <div class="fn__flex-1 history__text fn__none" style="padding: 0" data-type="docPanel"></div>
1371    </div>
1372</div>`,n=new Dialog({title:e.pathString,content:t,width:isMobile()?"100vw":"90vw",height:isMobile()?"100vh":"80vh",containerClassName:"b3-dialog__container--theme",destroyCallback(){Ft=void 0}});n.element.setAttribute("data-key",Constants.DIALOG_HISTORYDOC);const a=n.element.querySelector(".b3-select");a.addEventListener("change",()=>{hn(n.element,1,e.id)});const i=n.element.querySelector('.history__text[data-type="docPanel"]'),s=n.element.querySelector('.history__text[data-type="mdPanel"]');hn(n.element,1,e.id),Ft=new Protyle(e.app,i,{blockId:"",history:{created:""},action:[Constants.CB_GET_HISTORY],render:{background:!1,gutter:!1,breadcrumb:!1,breadcrumbDocName:!1},typewriterMode:!1}),disabledProtyle(Ft.protyle);const o=n.element.querySelector('[data-type="jumpRepoPage"]'),l=n.element.querySelector(".protyle-title__input");n.element.addEventListener("click",r=>{let c=r.target;for(;c&&!c.isEqualNode(n.element);){const f=c.getAttribute("data-type");if(f==="rollback"&&!Yt){bs(c.parentElement,a.value,e.id,d=>{const u=d.path;Yt=!1;const g=window.siyuan.languages.rollbackConfirm.replace("${name}",escapeHtml(d.title)).replace("${time}",c.previousElementSibling.previousElementSibling.textContent.trim());confirmDialog("\u26A0\uFE0F "+window.siyuan.languages.rollback,g,()=>{fetchPost("/api/history/rollbackDocHistory",{notebook:e.notebookId,historyPath:u})})}),r.stopPropagation(),r.preventDefault();break}else if(c.classList.contains("b3-list-item")&&!Yt){bs(c,a.value,e.i
1372d,d=>{var u;const g=d.path;fetchPost("/api/history/getDocHistoryContent",{historyPath:g},p=>{p.data.isLargeDoc?(s.value=p.data.content,s.classList.remove("fn__none"),i.classList.add("fn__none")):(s.classList.add("fn__none"),i.classList.remove("fn__none"),onGet({data:p,protyle:Ft.protyle,action:[Constants.CB_GET_HISTORY,Constants.CB_GET_HTML]})),l.textContent=d.title,l.classList.remove("fn__none"),Yt=!1}),(u=c.parentElement.querySelector(".b3-list-item--focus"))==null||u.classList.remove("b3-list-item--focus"),c.classList.add("b3-list-item--focus")}),r.stopPropagation(),r.preventDefault();break}else if((f==="docprevious"||f==="docnext")&&c.getAttribute("disabled")!=="disabled"){const d=parseInt(o.textContent);hn(n.element,f==="docprevious"?d-1:d+1,e.id),r.stopPropagation(),r.preventDefault();break}else if(f==="jumpRepoPage"){const d=parseInt(c.getAttribute("data-totalpage")||"1");confirmDialog(window.siyuan.languages.jumpToPage.replace("${x}",d),`<input class="b3-text-field fn__block" type="number" min="1" max="${d}" value="${o.textContent}">`,u=>{const g=u.element.querySelector(".b3-text-field");g.value!==""&&hn(n.element,Math.max(1,Math.min(parseInt(g.value),d)),e.id)})}c=c.parentElement}}),resizeSide(n.element.querySelector(".history__resize"),n.element.querySelector(".history__side"),"sideDocWidth")},bs=(e,t,n,a)=>{Yt=!0;const i=e.getAttribute("data-path");i&&a(i);const s=e.getAttribute("data-created");Ft.protyle.options.history.created=s,fetchPost("/api/history/getHistoryItems",{query:n,op:t,type:3,created:s},o=>{a(o.data.items[0])})},ys=(e,t)=>{let n=`<option value="">${window.siyuan.languages.currentNotebook}</option>`;const a=[];return Object.keys(Constants.HELP_PATH).forEach(i=>{a.push(Constants.HELP_PATH[i])}),window.siyuan.notebooks.forEach(i=>{a.includes(i.id)||i.id===t||(n+=`<option value="${i.id}" ${e===i.id?"selected":""}>${escapeHtml(i.name)}</option>`)}),n},pu=e=>{const t=`<div class="fn__flex">${escapeHtml(e.name)}
1373<div class="fn__space"></div>
1374<button class="b3-button b3-button--small fn__flex-center">${window.siyuan.languages.copy} ID</button></div>`,n=`<div class="b3-dialog__content" style="background-color: var(--b3-theme-background);">
1375<div class="b3-label config__item">
1376    ${window.siyuan.languages.fileTree12}
1377    <div class="b3-label__text">${window.siyuan.languages.fileTree13}</div>
1378    <span class="fn__hr"></span>
1379    <div class="fn__flex">
1380        <select style="min-width: 200px" class="b3-select" id="docCreateSaveBox">${ys(e.conf.docCreateSaveBox,e.box)}</select>
1381        <div class="fn__space"></div>
1382        <input class="b3-text-field fn__flex-1" id="docCreateSavePath" value="">
1383    </div>
1384</div>
1385<div class="b3-label config__item">
1386    ${window.siyuan.languages.fileTree5}
1387    <div class="b3-label__text">${window.siyuan.languages.fileTree6}</div>
1388    <span class="fn__hr"></span>
1389    <div class="fn__flex">
1390        <select style="min-width: 200px" class="b3-select" id="refCreateSaveBox">${ys(e.conf.refCreateSaveBox,e.box)}</select>
1391        <div class="fn__space"></div>
1392        <input class="b3-text-field fn__flex-1" id="refCreateSavePath" value="">
1393    </div>
1394</div>
1395<div class="b3-label">
1396    ${window.siyuan.languages.fileTree11}
1397    <div class="b3-label__text">${window.siyuan.languages.fileTree14}</div>
1398    <div class="fn__hr"></div>
1399    <input class="b3-text-field fn__flex-center fn__block" id="dailyNoteSavePath" value="">
1400    <div class="fn__hr"></div>
1401    <div class="b3-label__text">${window.siyuan.languages.fileTree15}</div>
1402    <div class="fn__hr"></div>
1403    <input class="b3-text-field fn__flex-center fn__block" id="dailyNoteTemplatePath" value="${e.conf.dailyNoteTemplatePath}">
1404</div></div>`;if(isMobile())openModel({title:t,icon:"iconSettings",html:`<div>${n}</div>`,bindEvent(){hs(document.querySelector("#model"),e)}});else{const a=new Dialog({width:"80vw",title:t,content:n});a.element.setAttribute("data-key",Constants.DIALOG_NOTEBOOKCONF),hs(a.element,e)}},hs=(e,t)=>{e.querySelector(".b3-button--small").addEventListener("click",()=>{writeText(t.box),showMessage(window.siyuan.languages.copied)});const n=e.querySelector("#dailyNoteSavePath");n.value=t.conf.dailyNoteSavePath;const a=e.querySelector("#docCreateSavePath");a.value=t.conf.docCreateSavePath;const i=e.querySelector("#refCreateSavePath");i.value=t.conf.refCreateSavePath;const s=e.querySelector("#dailyNoteTemplatePath");s.value=t.conf.dailyNoteTemplatePath,e.querySelectorAll("input, select").forEach(o=>{o.addEventListener("change",()=>{fetchPost("/api/notebook/setNotebookConf",{notebook:t.box,conf:{refCreateSavePath:i.value,refCreateSaveBox:e.querySelector("#refCreateSaveBox").value,docCreateSaveBox:e.querySelector("#docCreateSaveBox").value,docCreateSavePath:a.value,dailyNoteSavePath:n.value,dailyNoteTemplatePath:s.value}})})})};var ws=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const _s=(e,t)=>{if(!Array.from(e).find(i=>{if(i.getAttribute("data-type")==="navigation-file")return!0}))return window.siyuan.menus.menu;const a=[];if(e.forEach(i=>
1404{const s=i.getAttribute("data-node-id");s&&a.push(s)}),a.length>0&&window.siyuan.menus.menu.append(new MenuItem({id:"copy",label:window.siyuan.languages.copy,type:"submenu",icon:"iconCopy",submenu:copySubMenu(a).concat([{id:"duplicate",iconHTML:"",label:window.siyuan.languages.duplicate,accelerator:window.siyuan.config.keymap.editor.general.duplicate.custom,click(){a.forEach(i=>{fetchPost("/api/filetree/duplicateDoc",{id:i})})}}])}).element),window.siyuan.menus.menu.append(movePathToMenu(getTopPaths(Array.from(e)))),a.length>0&&window.siyuan.menus.menu.append(new MenuItem({id:"addToDatabase",label:window.siyuan.languages.addToDatabase,accelerator:window.siyuan.config.keymap.general.addToDatabase.custom,icon:"iconDatabase",click:()=>{addFilesToDatabase(Array.from(e))}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,accelerator:"\u2326",click:()=>{deleteFiles(Array.from(e))}}).element),a.length===0)return window.siyuan.menus.menu;if(window.siyuan.menus.menu.append(new MenuItem({id:"separator_1",type:"separator"}).element),!window.siyuan.config.readonly){const i=[{id:"quickMakeCard",iconHTML:"",accelerator:window.siyuan.config.keymap.editor.general.quickMakeCard.custom,label:window.siyuan.languages.quickMakeCard,click:()=>{transaction(void 0,[{action:"addFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:a}],[{action:"removeFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:a}])}},{id:"removeCard",iconHTML:"",label:window.siyuan.languages.removeCard,click:()=>{transaction(void 0,[{action:"removeFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:a}],[{action:"addFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:a}])}}];window.siyuan.config.flashcard.deck&&i.push({id:"addToDeck",iconHTML:"",label:window.siyuan.languages.addToDeck,click:()=>{makeCard(t,a)}}),window.siyuan.menus.menu.append(new MenuItem({id:"riffCard",label:window.siyuan.languages.riffCard,icon:"iconRiffCard",submenu:i}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_2",type:"separator"}).element)}return openEditorTab(t,a),window.siyuan.menus.menu.append(new MenuItem({id:"export",label:window.siyuan.languages.export,type:"submenu",icon:"iconUpload",submenu:[{id:"exportMarkdown",label:"Markdown",icon:"iconMarkdown",click:()=>{const i=showMessage(window.siyuan.languages.exporting,-1);fetchPost(" /api/export/exportMds",{ids:a},s=>{hideMessage(i),openByMobile(s.data.zip)})}}]}).element),t.plugins&&emitOpenMenu({plugins:t.plugins,type:"open-menu-doctree",detail:{elements:e,type:"docs"},separatorPosition:"top"}),window.siyuan.menus.menu},mu=(e,t)=>{window.siyuan.menus.menu.remove();const n=hasClosestByTag(t,"DIV");if(!n)return window.siyuan.menus.menu;t.classList.contains("b3-list-item--focus")||(n.querySelectorAll(".b3-list-item--focus").forEach(o=>{o.classList.remove("b3-list-item--focus"),o.removeAttribute("select-end"),o.removeAttribute("select-start")}),t.classList.add("b3-list-item--focus"));const a=n.querySelectorAll(".b3-list-item--focus");if(a.length>1)return _s(a,e);const i=t.parentElement.getAttribute("data-url"),s=getNotebookName(i);if(!window.siyuan.config.readonly){window.siyuan.menus.menu.append(renameMenu({path:"/",notebookId:i,name:s,type:"notebook"})),window.siyuan.menus.menu.append(new MenuItem({id:"config",label:window.siyuan.languages.config,icon:"iconSettings",click:()=>{fetchPost("/api/notebook/getNotebookConf",{notebook:i},l=>{onGetnotebookconf(l.data)})}}).element);const o=jo("notebook",parseInt(t.parentElement.getAttribute("data-sortmode")),l=>(fetchPost("/api/notebook/setNotebookConf",{notebook:i,conf:{sortMode:l}},()=>{var r;t.parentElement.setAttribute("data-sortmode",l.toString());let c;c=window.siyuan.mobile.docks.file;const f=t.querySelector(".b3-list-item__arrow--open");f&&(f.classList.remove("b3-list-item__arrow--open"),(r=t.nextElementSibling)==null||r.remove(),c.getLeaf(t,i))}),!0));window.siyuan.menus.menu.append(new MenuItem({id:"sort",icon:"iconSort",label:window.siyuan.languages.sort,type:"submenu",submenu:o}).element)}return window.siyuan.config.readonly||window.siyuan.menus.menu.append(new MenuItem({id:"riffCard",label:window.siyuan.languages.riffCard,type:"submenu",icon:"iconRiffCard",submenu:[{id:"spaceRepetition",iconHTML:"",label:window.siyuan.languages.spaceRepetition,accelerator:window.siyuan.config.keymap.editor.general.spaceRepetition.custom,click:()=>{fetchPost("/api/riff/getNotebookRiffDueCards",{notebook:i},o=>{openCardByData(e,o.data,"notebook",i,s)}),closePanel()}},{id:"manage",iconHTML:"",label:window.siyuan.languages.manage,click:()=>{viewCards(e,i,s,"Notebook"),closePanel()}}]}).element),window.siyuan.menus.menu.append(new MenuItem({id:"search",label:window.siyuan.languages.search,accelerator:window.siyuan.config.keymap.general.search.custom,icon:"iconSearch",click(){popSearch(e,{hasReplace:!1,hPath:getNotebookName(i),idPath:[i],page:1})}}).element),window.siyuan.config.readonly||window.siyuan.menus.menu.append(new MenuItem({id:"replace",label:window.siyuan.languages.replace,accelerator:window.siyuan.config.keymap.general.replace.custom,icon:"iconReplace",click(){popSearch(e,{hasReplace:!0,hPath:getNotebookName(i),idPath:[i],page:1})}}
1404).element),window.siyuan.config.readonly||(window.siyuan.menus.menu.append(new MenuItem({id:"separator_1",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"close",label:window.siyuan.languages.close,icon:"iconClose",click:()=>{fetchPost("/api/notebook/closeNotebook",{notebook:i})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,accelerator:"\u2326",click:()=>{deleteFiles(Array.from(n.querySelectorAll(".b3-list-item--focus")))}}).element)),window.siyuan.menus.menu.append(new MenuItem({id:"separator_2",type:"separator"}).element),vs(i,"/"),window.siyuan.menus.menu.append(new MenuItem({id:"export",label:window.siyuan.languages.export,type:"submenu",icon:"iconUpload",submenu:[{id:"exportMarkdown",label:"Markdown",icon:"iconMarkdown",click:()=>{const o=showMessage(window.siyuan.languages.exporting,-1);fetchPost("/api/export/exportNotebookMd",{notebook:i},l=>{hideMessage(o),openByMobile(l.data.zip)})}},{id:"exportSiYuanZip",label:"SiYuan .sy.zip",icon:"iconSiYuan",click:()=>{const o=showMessage(window.siyuan.languages.exporting,-1);fetchPost("/api/export/exportNotebookSY",{id:i},l=>{hideMessage(o),openByMobile(l.data.zip)})}}]}).element),e.plugins&&emitOpenMenu({plugins:e.plugins,type:"open-menu-doctree",detail:{elements:a,type:"notebook"},separatorPosition:"top"}),window.siyuan.menus.menu},bu=(e,t,n,a)=>{window.siyuan.menus.menu.remove();const i=hasClosestByTag(a,"DIV");if(!i)return window.siyuan.menus.menu;a.classList.contains("b3-list-item--focus")||(i.querySelectorAll(".b3-list-item--focus").forEach(r=>{r.classList.remove("b3-list-item--focus"),r.removeAttribute("select-end"),r.removeAttribute("select-start")}),a.classList.add("b3-list-item--focus"));const s=i.querySelectorAll(".b3-list-item--focus");if(s.length>1)return _s(s,e);const o=a.getAttribute("data-node-id");let l=a.getAttribute("data-name");if(l=getDisplayName(l,!1,!0),!window.siyuan.config.readonly){let r,c;const f=hasTopClosestByTag(a,"UL");if((window.siyuan.config.fileTree.sort===6||f&&f.dataset.sortmode==="6")&&(window.siyuan.menus.menu.append(new MenuItem({id:"newDocAbove",icon:"iconBefore",label:window.siyuan.languages.newDocAbove,click:()=>{const d=[];Array.from(a.parentElement.children).forEach(u=>{u.tagName==="LI"&&(u.isSameNode(a)&&d.push(void 0),d.push(u.getAttribute("data-path")))}),newFile({app:e,notebookId:t,currentPath:pathPosix().dirname(n),paths:d,useSavePath:!1,listDocTree:!0})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"newDocBelow",icon:"iconAfter",label:window.siyuan.languages.newDocBelow,click:()=>{const d=[];Array.from(a.parentElement.children).forEach(u=>{u.tagName==="LI"&&(d.push(u.getAttribute("data-path")),u.isSameNode(a)&&d.push(void 0))}),newFile({app:e,notebookId:t,currentPath:pathPosix().dirname(n),paths:d,useSavePath:!1,listDocTree:!0})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_1",type:"separator"}).element)),window.siyuan.menus.menu.append(new MenuItem({id:"copy",label:window.siyuan.languages.copy,type:"submenu",icon:"iconCopy",submenu:copySubMenu([o]).concat([{id:"duplicate",iconHTML:"",label:window.siyuan.languages.duplicate,accelerator:window.siyuan.config.keymap.editor.general.duplicate.custom,click(){fetchPost("/api/filetree/duplicateDoc",{id:o})}}])}).element),window.siyuan.menus.menu.append(movePathToMenu(getTopPaths(Array.from(i.querySelectorAll(".b3-list-item--focus"))))),window.siyuan.menus.menu.append(new MenuItem({id:"addToDatabase",label:window.siyuan.languages.addToDatabase,accelerator:window.siyuan.config.keymap.general.addToDatabase.custom,icon:"iconDatabase",click:()=>{addFilesToDatabase([a])}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,accelerator:"\u2326",click:()=>{deleteFiles(Array.from(i.querySelectorAll(".b3-list-item--focus")))}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_2",type:"separator"}).element),window.siyuan.menus.menu.append(renameMenu({path:n,notebookId:t,name:l,type:"file"})),window.siyuan.menus.menu.append(new MenuItem({id:"attr",label:window.siyuan.languages.attr,icon:"iconAttr",click(){fetchPost("/api/block/getDocInfo",{id:o},d=>{openFileAttr(d.data.ial)})}}).element),!window.siyuan.config.readonly){const d=[{id:"spaceRepetition",iconHTML:"",label:window.siyuan.languages.spaceRepetition,accelerator:window.siyuan.config.keymap.editor.general.spaceRepetition.custom,click:()=>{fetchPost("/api/riff/getTreeRiffDueCards",{rootID:o},u=>{openCardByData(e,u.data,"doc",o,l)}),closePanel()}},{id:"manage",iconHTML:"",label:window.siyuan.languages.manage,click:()=>{fetchPost("/api/filetree/getHPathByID",{id:o},u=>{viewCards(e,o,pathPosix().join(getNotebookName(t),u.data),"Tree")}),closePanel()}},{id:"quickMakeCard",iconHTML:"",accelerator:window.siyuan.config.keymap.editor.general.quickMakeCard.custom,label:window.siyuan.languages.quickMakeCard,click:()=>{transaction(void 0,[{action:"addFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:[o]}],[{action:"removeFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:[o]}])}},{id:"removeCard",iconHTML:"",label:window.siyuan.languages.removeCard,click:()=>{transaction(void 0,[{action:"removeFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:[o]}],[{action:"addFlashcards",deckID:Constants.QUICK_DECK_ID,blockIDs:[o]}])}}];window.siyuan.config.flashcard.deck&&d.push({id:"addToDeck",iconHTML:"",label:window.siyuan.languages.addToDeck,click:()=>{makeCard(e,[o])}}),window.siyuan.menus.menu.append(new MenuItem({id:"riffCard",label:window.siyuan.languages.riffCard,type:"submenu",icon:"iconRiffCard",submenu:d}).element)}window.siyuan.menus.menu.append(new MenuItem({id:"search",label:window.siyuan.languages.search,icon:"iconSearch",accelerator:window.siyuan.config.keymap.general.search.custom,click(){return ws(this,null,function*(){const d=getDisplayName(n,!1,!0),u=yield fetchSyncPost("/api/filetree/getHPathByPath",{notebook:t,path:d+".sy"});popSearch(e,{hasReplace:!1,hPath:pathPosix().join(getNotebookName(t),u.data),idPath:[pathPosix().join(t,d)],page:1})})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"replace",label:window.siyuan.languages.replace,accelerator:window.siyuan.config.keymap.general.replace.custom,icon:"iconReplace",click(){return ws(this,null,function*(){const d=getDisplayName(n,!1,!0),u=yield fetchSyncPost("/api/filetree/getHPathByPath",{notebook:t,path:d+".sy"});popSearch(e,{hasReplace:!0,hPath:pathPosix().join(getNotebookName(t),u.data),idPath:[pathPosix().join(t,d)],page:1})})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_3",type:"separator"}).element)}return openEditorTab(e,[o],t,n),window.siyuan.config.readonly||window.siyuan.menus.menu.append(new MenuItem({id:"fileHistory",label:window.siyuan.languages.fileHistory,icon:"iconHistory",click(){openDocHistory({app:e,id:o,notebookId:t,pathString:l})}}
1404).element),vs(t,n),window.siyuan.menus.menu.append(exportMd(o)),e.plugins&&emitOpenMenu({plugins:e.plugins,type:"open-menu-doctree",detail:{elements:s,type:"doc"},separatorPosition:"top"}),window.siyuan.menus.menu.element.setAttribute("data-name","docTreeMore"),window.siyuan.menus.menu},vs=(e,t)=>{if(window.siyuan.config.readonly)return;const n=()=>{let a;a=window.siyuan.mobile.docks.file;const i=a.element.querySelector(`[data-path="${t}"]`);i.querySelector(".b3-list-item__toggle").classList.remove("fn__hidden"),a.getLeaf(i,e,!0),window.siyuan.menus.menu.remove()};window.siyuan.menus.menu.append(new MenuItem({id:"import",icon:"iconDownload",label:window.siyuan.languages.import,submenu:[{id:"importSiYuanZip",icon:"iconSiYuan",label:'SiYuan .sy.zip<input class="b3-form__upload" type="file" accept="application/zip">',bind:a=>{a.querySelector(".b3-form__upload").addEventListener("change",i=>{const s=new FormData;s.append("file",i.target.files[0]),s.append("notebook",e),s.append("toPath",t),fetchPost("/api/import/importSY",s,()=>{n()})})}}]}).element)},jo=(e,t,n)=>{const a=[{id:"fileNameASC",icon:t===0?"iconSelect":void 0,label:window.siyuan.languages.fileNameASC,click:()=>{n(0)}},{id:"fileNameDESC",icon:t===1?"iconSelect":void 0,label:window.siyuan.languages.fileNameDESC,click:()=>{n(1)}},{id:"fileNameNatASC",icon:t===4?"iconSelect":void 0,label:window.siyuan.languages.fileNameNatASC,click:()=>{n(4)}},{id:"fileNameNatDESC",icon:t===5?"iconSelect":void 0,label:window.siyuan.languages.fileNameNatDESC,click:()=>{n(5)}},{id:"separator_1",type:"separator"},{id:"createdASC",icon:t===9?"iconSelect":void 0,label:window.siyuan.languages.createdASC,click:()=>{n(9)}},{id:"createdDESC",icon:t===10?"iconSelect":void 0,label:window.siyuan.languages.createdDESC,click:()=>{n(10)}},{id:"modifiedASC",icon:t===2?"iconSelect":void 0,label:window.siyuan.languages.modifiedASC,click:()=>{n(2)}},{id:"modifiedDESC",icon:t===3?"iconSelect":void 0,label:window.siyuan.languages.modifiedDESC,click:()=>{n(3)}},{id:"separator_2",type:"separator"},{id:"refCountASC",icon:t===7?"iconSelect":void 0,label:window.siyuan.languages.refCountASC,click:()=>{n(7)}},{id:"refCountDESC",icon:t===8?"iconSelect":void 0,label:window.siyuan.languages.refCountDESC,click:()=>{n(8)}},{id:"separator_3",type:"separator"},{id:"docSizeASC",icon:t===11?"iconSelect":void 0,label:window.siyuan.languages.docSizeASC,click:()=>{n(11)}},{id:"docSizeDESC",icon:t===12?"iconSelect":void 0,label:window.siyuan.languages.docSizeDESC,click:()=>{n(12)}},{id:"separator_4",type:"separator"},{id:"subDocCountASC",icon:t===13?"iconSelect":void 0,label:window.siyuan.languages.subDocCountASC,click:()=>{n(13)}},{id:"subDocCountDESC",icon:t===14?"iconSelect":void 0,label:window.siyuan.languages.subDocCountDESC,click:()=>{n(14)}},{id:"separator_5",type:"separator"},{id:"customSort",icon:t===6?"iconSelect":void 0,label:window.siyuan.languages.customSort,click:()=>{n(6)}}];return e==="notebook"&&a.push({id:"sortByFiletree",icon:t===15?"iconSelect":void 0,label:window.siyuan.languages.sortByFiletree,click:()=>{n(15)}}),a};var Vo=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const yu=(e,t)=>{if(hideTooltip(),!window.siyuan.menus.menu.element.classList.contains("fn__none")&&window.siyuan.menus.menu.element.getAttribute("data-name")==="titleMenu"){window.siyuan.menus.menu.remove();return}fetchPost("/api/block/getDocInfo",{id:e.block.rootID},n=>{var a;if(window.siyuan.menus.menu.remove(),window.siyuan.menus.menu.element.setAttribute("data-name","titleMenu"),window.siyuan.menus.menu.append(new MenuItem({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",type:"submenu",submenu:copySubMenu([e.block.rootID])}).element),!e.disabled){window.siyuan.menus.menu.append(movePathToMenu([e.path]));const s=getSelection().rangeCount>0?getSelection().getRangeAt(0):void 0;window.siyuan.menus.menu.append(new MenuItem({id:"addToDatabase",label:window.siyuan.languages.addToDatabase,accelerator:window.siyuan.config.keymap.general.addToDatabase.custom,icon:"iconDatabase",click:()=>{addEditorToDatabase(e,s,"title")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,click:()=>{deleteFile(e.notebookId,e.path)}}).element)}if(window.siyuan.menus.menu.append(new MenuItem({id:"separator_2",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"attr",label:window.siyuan.languages.attr,icon:"iconAttr",accelerator:window.siyuan.config.keymap.editor.general.attr.custom+"/"+updateHotkeyTip("\u21E7"+window.siyuan.languages.click),click(){openFileAttr(n.data.ial,"bookmark",e)}}).element),!window.siyuan.config.readonly){window.siyuan.config.cloudRegion===0&&window.siyuan.menus.menu.append(new MenuItem({id:"wechatReminder",label:window.siyuan.languages.wechatReminder,icon:"iconMp",click(){openFileWechatNotify(e)}}).element);const s=[{id:"spaceRepetition",iconHTML:"",label:window.siyuan.languages.spaceRepetition,accelerator:window.siyuan.config.keymap.editor.general.spaceRepetition.custom,click:()=>{fetchPost("/api/riff/getTreeRiffDueCards",{rootID:e.block.rootID},o=>{openCardByData(e.app,o.data,"doc",e.block.rootID,o.data.name)})}},{id:"manage",iconHTML:"",label:window.siyuan.languages.manage,click:()=>{fetchPost("/api/filetree/getHPathByID",{id:e.block.rootID},o=>{viewCards(e.app,e.block.rootID,pathPosix().join(getNotebookName(e.notebookId),o.data),"Tree")})}},{id:"quickMakeCard",iconHTML:"",label:window.siyuan.languages.quickMakeCard,accelerator:window.siyuan.config.keymap.editor.general.quickMakeCard.custom,click:()=>{var o;let l=(o=e.title)==null?void 0:o.element;l||(l=document.createElement("div"),l.setAttribute("data-node-id",e.block.rootID),l.setAttribute(Constants.CUSTOM_RIFF_DECKS,n.data.ial[Constants.CUSTOM_RIFF_DECKS])),quickMakeCard(e,[l])}}];window.siyuan.config.flashcard.deck&&s.push({id:"addToDeck",iconHTML:"",label:window.siyuan.languages.addToDeck,click:()=>{makeCard(e.app,[e.block.rootID])}}),window.siyuan.menus.menu.append(new MenuItem({id:"riffCard",label:window.siyuan.languages.riffCard,type:"submenu",icon:"iconRiffCard",submenu:s}).element)}window.siyuan.menus.menu.append(new MenuItem({id:"search",label:window.siyuan.languages.search,icon:"iconSearch",accelerator:window.siyuan.config.keymap.general.search.custom,click(){return Vo(this,null,function*(){const s=getDisplayName(e.path,!1,!0),o=yield fetchSyncPost("/api/filetree/getHPathByPath",{notebook:e.notebookId,path:s+".sy"});popSearch(e.app,{hasReplace:!1,hPath:pathPosix().join(getNotebookName(e.notebookId),o.data),idPath:[pathPosix().join(e.notebookId,s)],page:1})})}}).element),e.disabled||transferBlockRef(e.block.rootID),window.siyuan.menus.menu.append(new MenuItem({id:"separator_3",type:"separator"}).element),e.disabled||window.siyuan.menus.menu.append(new MenuItem({id:"fileHistory",label:window.siyuan.languages.fileHistory,icon:"iconHistory",click(){openDocHistory({app:e.app,id:e.block.rootID,notebookId:e.notebookId,pathString:n.data.name})}}
1404).element),genImportMenu(e.notebookId,e.path),window.siyuan.menus.menu.append(exportMd(e.block.showAll?e.block.id:e.block.rootID)),window.siyuan.menus.menu.append(new MenuItem({id:"separator_4",type:"separator"}).element),(a=e==null?void 0:e.app)!=null&&a.plugins&&emitOpenMenu({plugins:e.app.plugins,type:"click-editortitleicon",detail:{protyle:e,data:n.data},separatorPosition:"bottom"}),window.siyuan.menus.menu.append(new MenuItem({id:"updateAndCreatedAt",iconHTML:"",type:"readonly",label:`${window.siyuan.languages.modifiedAt} ${dayjs(n.data.ial.updated).format("YYYY-MM-DD HH:mm:ss")}<br>${window.siyuan.languages.createdAt} ${dayjs(n.data.ial.id.substr(0,14)).format("YYYY-MM-DD HH:mm:ss")}`}).element),window.siyuan.menus.menu.fullscreen();const i=hasTopClosestByClassName(e.element,"block__popover",!0);window.siyuan.menus.menu.element.setAttribute("data-from",i?i.dataset.level+"popover":"app")})};var Go=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});class hu{constructor(t){const n=document.createElement("div");n.className="protyle-breadcrumb";let a="";n.innerHTML=`${isMobile()?`<button class="protyle-breadcrumb__icon" data-type="mobile-menu">${window.siyuan.languages.breadcrumb}</button>`:'<div class="protyle-breadcrumb__bar"></div>'}
1405<span class="protyle-breadcrumb__space"></span>
1406<button class="protyle-breadcrumb__icon fn__none ariaLabel" aria-label="${updateHotkeyTip(window.siyuan.config.keymap.editor.general.exitFocus.custom)}" data-type="exit-focus">${window.siyuan.languages.exitFocus}</button>
1407${a}
1408<button class="block__icon fn__flex-center ariaLabel${window.siyuan.config.readonly?" fn__none":""}" aria-label="${window.siyuan.languages.lockEdit}" data-type="readonly"><svg><use xlink:href="#iconUnlock"></use></svg></button>
1409<button class="block__icon fn__flex-center ariaLabel" data-type="doc" aria-label="${isMac()?window.siyuan.languages.gutterTip2:window.siyuan.languages.gutterTip2.replace("\u21E7","Shift+")}"><svg><use xlink:href="#iconFile"></use></svg></button>
1410<button class="block__icon fn__flex-center ariaLabel" data-type="more" aria-label="${window.siyuan.languages.more}"><svg><use xlink:href="#iconMore"></use></svg></button>
1411<button class="block__icon fn__flex-center fn__none ariaLabel" data-type="context" aria-label="${window.siyuan.languages.context}"><svg><use xlink:href="#iconAlignCenter"></use></svg></button>`,this.element=n.firstElementChild,n.addEventListener("click",i=>{let s=i.target;for(;s&&!s.isEqualNode(n);){const o=s.getAttribute("data-node-id"),l=s.getAttribute("data-type");if(o){i.preventDefault();break}else if(l==="mobile-menu"){this.genMobileMenu(t),i.preventDefault(),i.stopPropagation();break}else if(l==="doc"){if(window.siyuan.shiftIsPressed)fetchPost("/api/block/getDocInfo",{id:t.block.rootID},r=>{openFileAttr(r.data.ial,"bookmark",t)});else{const r=s.getBoundingClientRect();openTitleMenu(t,{x:r.right,y:r.bottom,isLeft:!0})}i.stopPropagation(),i.preventDefault();break}else if(l==="more"){const r=s.getBoundingClientRect();this.showMenu(t,{x:r.right,y:r.bottom,isLeft:!0}),i.stopPropagation(),i.preventDefault();break}else if(l==="readonly"){updateReadonly(s,t),i.stopPropagation(),i.preventDefault();break}else if(l==="exit-focus"){zoomOut({protyle:t,id:t.block.rootID,focusId:t.block.id}),i.stopPropagation(),i.preventDefault();break}else if(l==="context"){i.stopPropagation(),i.preventDefault(),s.classList.contains("block__icon--active")?(zoomOut({protyle:t,id:t.options.blockId}),s.classList.remove("block__icon--active")):(fetchPost("/api/filetree/getDoc",{id:t.options.blockId,mode:3,size:window.siyuan.config.editor.dynamicLoadBlocks},r=>{onGet({data:r,protyle:t,action:[Constants.CB_GET_HL]})}),s.classList.add("block__icon--active"));break}else if(l==="undo"){t.undo.undo(t),i.preventDefault(),i.stopPropagation();break}else if(l==="redo"){t.undo.redo(t),i.preventDefault(),i.stopPropagation();break}else if(l==="outdent"){if(t.toolbar.range){const r=hasClosestBlock(t.toolbar.range.startContainer);r&&listOutdent(t,[r.parentElement],t.toolbar.range)}i.preventDefault(),i.stopPropagation();break}else if(l==="indent"){if(t.toolbar.range){const r=hasClosestBlock(t.toolbar.range.startContainer);r&&listIndent(t,[r.parentElement],t.toolbar.range)}i.preventDefault(),i.stopPropagation();break}s=s.parentElement}})}startRecord(t){this.messageId=showMessage(`<div class="fn__flex fn__flex-wrap">
1412<span class="fn__flex-center">${window.siyuan.languages.recording}</span><span class="fn__space"></span>
1413<button class="b3-button b3-button--white">${window.siyuan.languages.endRecord}</button></div>`,-1),document.querySelector(`#message [data-id="${this.messageId}"] button`).addEventListener("click",()=>{this.mediaRecorder.stopRecording(),hideMessage(this.messageId);const n=new File([this.mediaRecorder.buildWavFileBlob()],`record${new Date().getTime()}.wav`,{type:"video/webm"});uploadFiles(t,[n])}),this.mediaRecorder.startRecordingNewWavFile()}genMobileMenu(t){const n=new Menu("breadcrumb-mobile-path");let a;if(getSelection().rangeCount>0){const s=getSelection().getRangeAt(0);!t.wysiwyg.element.isEqualNode(s.startContainer)&&!t.wysiwyg.element.contains(s.startContainer)?a=getNoContainerElement(t.wysiwyg.element.firstElementChild)||t.wysiwyg.element.firstElementChild:a=hasClosestBlock(s.startContainer)}a||(a=getNoContainerElement(t.wysiwyg.element.firstElementChild)||t.wysiwyg.element.firstElementChild);const i=a.getAttribute("data-node-id");fetchPost("/api/block/getBlockBreadcrumb",{id:i,excludeTypes:[]},s=>{s.data.forEach(o=>{let l=!1;(!t.block.showAll&&o.id===t.block.parentID||t.block.showAll&&o.id===t.block.id)&&(l=!0),n.addItem({current:l,icon:getIconByType(o.type,o.subType),label:o.name,click(){zoomOut({protyle:t,id:o.id,focusId:i})}})}),n.fullscreen()})}toggleExit(t){const n=this.element.parentElement.querySelector('[data-type="exit-focus"]');t?n.classList.add("fn__none"):n.classList.remove("fn__none")}showMenu(t,n){if(!window.siyuan.menus.menu.element.classList.contains("fn__none")&&window.siyuan.menus.menu.element.getAttribute("data-name")==="breadcrumbMore"){window.siyuan.menus.menu.remove();return}let a;const i=hasClosestBlock(getEditorRange(t.element).startContainer);i&&(a=i.getAttribute("data-node-id")),fetchPost("/api/block/getTreeStat",{id:a||(t.block.showAll?t.block.id:t.block.rootID)},s=>{var o,l,r,c;if(window.siyuan.menus.menu.remove(),window.siyuan.menus.menu.element.setAttribute("data-name","breadcrumbMore"),!t.contentElement.classList.contains("fn__none")&&!t.disabled){let d="";d='<input class="b3-form__upload" type="file" multiple="multiple"',t.options.upload.accept?d+=` accept="${t.options.upload.accept}">`:d+=">";const u=new MenuItem({id:"insertAsset",icon:"iconDownload",label:`${window.siyuan.languages.insertAsset}${d}`}).element;u.querySelector("input").addEventListener("change",g=>{g.target.files.length!==0&&(uploadFiles(t,g.target.files,g.target),window.siyuan.menus.menu.remove())}),window.siyuan.menus.menu.append(u),!isInAndroid()&&!isInHarmony()&&window.siyuan.menus.menu.append(new MenuItem({id:(o=this.mediaRecorder)!=null&&o.isRecording?"endRecord":"startRecord",current:this.mediaRecorder&&this.mediaRecorder.isRecording,icon:"iconRecord",label:(l=this.mediaRecorder)!=null&&l.isRecording?window.siyuan.languages.endRecord:window.siyuan.languages.startRecord,click:()=>Go(this,null,function*(){if(!this.mediaRecorder){navigator.mediaDevices.getUserMedia({audio:!0}).then(g=>{this.mediaRecorder=new RecordMedia(g),this.mediaRecorder.recorder.onaudioprocess=p=>{if(!this.mediaRecorder.isRecording)return;const m=p.inputBuffer.getChannelData(0),b=p.inputBuffer.getChannelData(1);this.mediaRecorder.cloneChannelData(m,b)},this.startRecord(t)}).catch(()=>{showMessage(window.siyuan.languages["record-tip"])});return}if(this.mediaRecorder.isRecording){this.mediaRecorder.stopRecording(),hideMessage(this.messageId);const g=new File([this.mediaRecorder.buildWavFileBlob()],`record${new Date().getTime()}.wav`,{type:"video/webm"});uploadFiles(t,[g])}else hideMessage(this.messageId),this.startRecord(t)})}).element)}if(t.disabled||(window.siyuan.menus.menu.append(new MenuItem({id:"netImg2LocalAsset",label:window.siyuan.languages.netImg2LocalAsset,icon:"iconImgDown",accelerator:window.siyuan.config.keymap.editor.general.netImg2LocalAsset.custom,click(){net2LocalAssets(t,"Img")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"netAssets2LocalAssets",label:window.siyuan.languages.netAssets2LocalAssets,icon:"iconTransform",accelerator:window.siyuan.config.keymap.editor.general.netAssets2LocalAssets.custom,click(){net2LocalAssets(t,"Assets")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"uploadAssets2CDN",label:window.siyuan.languages.uploadAssets2CDN,icon:"iconCloudSucc",click(){needSubscribe()||confirmDialog("\u{1F4E6} "+window.siyuan.languages.uploadAssets2CDN,window.siyuan.languages.uploadAssets2CDNConfirmTip,()=>{fetchPost("/api/asset/uploadCloud",{id:t.block.parentID})})}}).element),window.siyuan.user&&window.siyuan.menus.menu.append(new MenuItem({id:"share2Liandi",label:window.siyuan.languages.share2Liandi,icon:"iconLiandi",click(){confirmDialog("\u{1F929} "+window.siyuan.languages.share2Liandi,window.siyuan.languages.share2LiandiConfirmTip.replace("${accountServer}",getCloudURL("")),()=>{fetchPost("/api/export/export2Liandi",{id:t.block.parentID})})}}).element)),(r=t.scroll)!=null&&r.element.classList.contains("fn__none")||window.siyuan.menus.menu.append(new MenuItem({id:"keepLazyLoad",current:t.scroll.keepLazyLoad,label:window.siyuan.languages.keepLazyLoad,click:()=>{t.scroll.keepLazyLoad=!t.scroll.keepLazyLoad}}).element),window.siyuan.menus.menu.element.lastElementChild.childElementCount>0&&window.siyuan.menus.menu.append(new MenuItem({id:"separator_1",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"refresh",icon:"iconRefresh",accelerator:window.siyuan.config.keymap.editor.general.refresh.custom,label:window.siyuan.languages.refresh,click:()=>{reloadProtyle(t,!isMobile())}}).element),t.disabled||window.siyuan.menus.menu.append(new MenuItem({id:"optimizeTypography",label:window.siyuan.languages.optimizeTypography,accelerator:window.siyuan.config.keymap.editor.general.optimizeTypography.custom,icon:"iconFormat",click:()=>{hideElements(["toolbar"],t),fetchPost("/api/format/autoSpace",{id:t.block.rootID})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"editMode",icon:"iconEdit",label:window.siyuan.languages["edit-mode"],type:"submenu",submenu:[{id:"wysiwyg",current:!t.contentElement.classList.contains("fn__none"),label:window.siyuan.languages.wysiwyg,accelerator:window.siyuan.config.keymap.editor.general.wysiwyg.custom,click:()=>{setEditMode(t,"wysiwyg"),t.scroll.lastScrollTop=0,fetchPost("/api/filetree/getDoc",{id:t.block.parentID,size:window.siyuan.config.editor.dynamicLoadBlocks},d=>{onGet({data:d,protyle:t})})}},{id:"preview",current:!t.preview.element.classList.contains("fn__none"),icon:"iconPreview",label:window.siyuan.languages.preview,accelerator:window.siyuan.config.keymap.editor.general.preview.custom,click:()=>{setEditMode(t,"preview"),window.siyuan.menus.menu.remove()}}]}).element),!window.siyuan.config.editor.readOnly&&!window.siyuan.config.readonly){const d=t.wysiwyg.element.getAttribute(Constants.CUSTOM_SY_READONLY);window.siyuan.menus.menu.append(new MenuItem({id:"editReadonly",label:window.siyuan.languages.editReadonly,icon:"iconLock",type:"submenu",submenu:[{id:"enable",iconHTML:"",current:d==="true",label:window.siyuan.languages.enable,click(){fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{[Constants.CUSTOM_SY_READONLY]:"true"}})}},{id:"disable",iconHTML:"",current:!d||d==="false",label:window.siyuan.languages.disable,click(){fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{[Constants.CUSTOM_SY_READONLY]:"false"}})}}]}).element)}(c=t==null?void 0:t.app)!=null&&c.plugins&&emitOpenMenu({plugins:t.app.plugins,type:"open-menu-breadcrumbmore",detail:{protyle:t,data:s.data.stat},separatorPosition:"top"}),window.siyuan.menus.menu.append(new MenuItem({id:"separator_2",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"docInfo",iconHTML:"",type:"readonly",label:`<div class="fn__flex">${window.siyuan.languages.runeCount}<span class="fn__space fn__flex-1"></span>${s.data.stat.runeCount}</div><div class="fn__flex">${window.siyuan.languages.wordCount}<span class="fn__space fn__flex-1"></span>${s.data.stat.wordCount}</div><div class="fn__flex">${window.siyuan.languages.linkCount}<span class="fn__space fn__flex-1"></span>${s.data.stat.linkCount}</div><div class="fn__flex">${window.siyuan.languages.imgCount}<span class="fn__space fn__flex-1"></span>${s.data.stat.imageCount}</div><div class="fn__flex">${window.siyuan.languages.refCount}<span class="fn__space fn__flex-1"></span>${s.data.stat.refCount}</div><div class="fn__flex">${window.siyuan.languages.blockCount}<span class="fn__space fn__flex-1"></span>${s.data.stat.blockCount}</div>`}).element),window.siyuan.menus.menu.fullscreen();const f=hasTopClosestByClassName(t.element,"block__popover",!0);window.siyuan.menus.menu.element.setAttribute("data-from",f?f.dataset.level+"popover":"app")})}render(t,n=!1,a){}hide(){isMobile()||(this.element.classList.add("protyle-breadcrumb__bar--hide"),window.siyuan.hideBreadcrumb=!0)}}class wu{constructor(t){this.element=document.createElement("div"),this.element.className="protyle-title",window.siyuan.config.editor.displayBookmarkIcon&&this.element.classList.add("protyle-wysiwyg--attr"),this.element.innerHTML='<div class="protyle-attr"></div>',this.element.querySelector(".protyle-attr").addEventListener("click",n=>{fetchPost("/api/block/getDocInfo",{id:t.block.rootID},a=>{commonClick(n,t,a.data.ial)})})}rename(t){if(clearTimeout(this.timeout),!validateName(this.editElement.textContent,this.editElement)){const n=getSelectionOffset(this.editElement);
1413return this.setTitle(this.editElement.textContent.substring(0,Constants.SIZE_TITLE)),focusByOffset(this.editElement,n.start,n.end),!1}hideTooltip(),this.timeout=window.setTimeout(()=>{const n=replaceFileName(this.editElement.textContent);if(fetchPost("/api/filetree/renameDoc",{notebook:t.notebookId,path:t.path,title:n}),n!==this.editElement.textContent){const a=getSelectionOffset(this.editElement);this.setTitle(n),focusByOffset(this.editElement,a.start,a.end)}setTitle(n)},Constants.TIMEOUT_INPUT)}setTitle(t){const n=document.getElementById("toolbarName");code160to32(t)!==code160to32(n.value)&&(n.value=t===window.siyuan.languages.untitled?"":t)}render(t,n){var a;if(this.element.getAttribute("data-render")==="true")return!1;this.element.setAttribute("data-node-id",t.block.rootID),n.data.ial[Constants.CUSTOM_RIFF_DECKS]&&this.element.setAttribute(Constants.CUSTOM_RIFF_DECKS,n.data.ial[Constants.CUSTOM_RIFF_DECKS]),(a=t.background)==null||a.render(n.data.ial,t.block.rootID),t.wysiwyg.renderCustom(n.data.ial),this.element.setAttribute("data-render","true"),this.setTitle(n.data.ial.title);let i="";if(n.data.ial.bookmark&&(i+=`<div class="protyle-attr--bookmark">${Lute.EscapeHTMLStr(n.data.ial.bookmark)}</div>`),n.data.ial.name&&(i+=`<div class="protyle-attr--name"><svg><use xlink:href="#iconN"></use></svg>${Lute.EscapeHTMLStr(n.data.ial.name)}</div>`),n.data.ial.alias&&(i+=`<div class="protyle-attr--alias"><svg><use xlink:href="#iconA"></use></svg>${Lute.EscapeHTMLStr(n.data.ial.alias)}</div>`),n.data.ial.memo&&(i+=`<div class="protyle-attr--memo b3-tooltips b3-tooltips__sw" aria-label="${Lute.EscapeHTMLStr(n.data.ial.memo)}"><svg><use xlink:href="#iconM"></use></svg></div>`),n.data.ial["custom-avs"]){let s="";n.data.attrViews.forEach(o=>{s+=`<span data-av-id="${o.id}" data-popover-url="/api/av/getMirrorDatabaseBlocks" class="popover__block">${o.name}</span>&nbsp;`}),s&&(s=s.substring(0,s.length-6)),i+=`<div class="protyle-attr--av"><svg><use xlink:href="#iconDatabase"></use></svg>${s}</div>`}if(this.element.querySelector(".protyle-attr").innerHTML=i,n.data.refCount!==0&&this.element.querySelector(".protyle-attr").insertAdjacentHTML("beforeend",`<div class="protyle-attr--refcount popover__block">${n.data.refCount}</div>`),this.editElement&&new Date().getTime()-dayjs(n.data.id.split("-")[0]).toDate().getTime()<2e3){const s=this.editElement.ownerDocument.createRange();s.selectNodeContents(this.editElement),focusByRange(s)}}}var Es=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const wn=null;class _u{constructor(t){this.transparentData="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=",this.element=document.createElement("div"),this.element.className="protyle-background",this.element.innerHTML=`<div class="protyle-background__img">
1414    <img src="${this.transparentData}">
1415    <div class="protyle-icons">
1416        <span class="protyle-icon protyle-icon--first" style="position: relative;overflow: hidden"><input aria-label="${window.siyuan.languages.upload}" class="ariaLabel" type="file" style="position: absolute;height: 100%;top: 0;right: 0;opacity: .001;overflow: hidden;cursor: pointer;"><svg><use xlink:href="#iconUpload"></use></svg></span>
1417        <span class="protyle-icon ariaLabel" data-type="link" aria-label="${window.siyuan.languages.link}"><svg><use xlink:href="#iconLink"></use></svg></span>
1418        <span class="protyle-icon ariaLabel" data-type="asset" aria-label="${window.siyuan.languages.assets}"><svg><use xlink:href="#iconImage"></use></svg></span>
1419        <span class="protyle-icon ariaLabel" data-type="show-random" aria-label="${window.siyuan.languages.builtIn}"><svg><use xlink:href="#iconRefresh"></use></svg></span>
1420        <span class="protyle-icon ariaLabel fn__none" data-type="position" aria-label="${window.siyuan.languages.dragPosition}"><svg><use xlink:href="#iconMove"></use></svg></span>
1421        <span class="protyle-icon protyle-icon--last ariaLabel" data-type="remove" aria-label="${window.siyuan.languages.remove}"><svg><use xlink:href="#iconTrashcan"></use></svg></span>
1422    </div>
1423    <div class="protyle-icons fn__none"><span class="protyle-icon protyle-icon--text">${window.siyuan.languages.dragPosition}</span></div>
1424    <div class="protyle-icons fn__none" style="opacity: .86;">
1425        <span class="protyle-icon protyle-icon--first" data-type="cancel">${window.siyuan.languages.cancel}</span>
1426        <span class="protyle-icon protyle-icon--last" data-type="confirm">${window.siyuan.languages.confirm}</span>
1427    </div>
1428</div>
1429<div class="protyle-background__ia">
1430    <div class="protyle-background__icon" data-menu="true" data-type="open-emoji"></div>
1431    <div class="b3-chips b3-chips__doctag fn__none"></div>
1432    <div class="protyle-background__action">
1433        <button class="b3-button b3-button--cancel" data-menu="true" data-type="tag">
1434            <svg><use xlink:href="#iconTags"></use></svg>
1435            ${window.siyuan.languages.addTag}
1436        </button>
1437        <button class="b3-button b3-button--cancel" data-type="icon">
1438            <svg><use xlink:href="#iconEmoji"></use></svg>
1439            ${window.siyuan.languages.addIcon}
1440        </button>
1441        <button class="b3-button b3-button--cancel" data-type="random">
1442            <svg><use xlink:href="#iconImage"></use></svg>
1443            ${window.siyuan.languages.titleBg}
1444        </button>
1445    </div>
1446</div>`,this.tagsElement=this.element.querySelector(".b3-chips"),this.iconElement=this.element.querySelector(".protyle-background__icon"),this.imgElement=this.element.querySelector(".protyle-background__img img"),this.actionElements=this.element.querySelectorAll(".protyle-background__action:not(.fn__flex-center) .b3-button"),this.element.addEventListener("dragover",n=>Es(this,null,function*(){n.preventDefault()})),this.element.addEventListener("drop",n=>Es(this,null,function*(){n.dataTransfer.types[0]==="Files"&&n.dataTransfer.files[0].type.indexOf("image")!==-1&&uploadFiles(t,[n.dataTransfer.files[0]],void 0,a=>{const i=JSON.parse(a),s=`background-image:url("${i.data.succMap[Object.keys(i.data.succMap)[0]]}")`;this.ial["title-img"]=s,this.render(this.ial,t.block.rootID),fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{"title-img":s}})})})),this.imgElement.addEventListener("mousedown",n=>{if(n.preventDefault(),!this.element.firstElementChild.querySelector(".protyle-icons").classList.contains("fn__none"))return;const a=n.clientY,i=document,s=this.imgElement.naturalHeight*this.imgElement.clientWidth/this.imgElement.naturalWidth-this.imgElement.clientHeight;let o=parseFloat(this.imgElement.style.objectPosition.substring(7))||50;this.imgElement.style.objectPosition.endsWith("px")&&(o=-parseInt(this.imgElement.style.objectPosition.substring(7))/s*100),i.onmousemove=l=>{this.imgElement.style.objectPosition=`center ${((a-l.clientY)/s*100+o).toFixed(2)}%`,n.preventDefault()},i.onmouseup=()=>{i.onmousemove=null,i.onmouseup=null,i.ondragstart=null,i.onselectstart=null,i.onselect=null}}),this.element.querySelector("input").addEventListener("change",n=>{n.target.files.length!==0&&uploadFiles(t,n.target.files,n.target,a=>{const i=JSON.parse(a),s=`background-image:url("${i.data.succMap[Object.keys(i.data.succMap)[0]]}")`;this.ial["title-img"]=s,this.render(this.ial,t.block.rootID),fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{"title-img":s}})})}),this.element.addEventListener(getEventName(),n=>{if(t.disabled)return;let a=n.target;for(hideElements(["gutter"],t);a&&!a.isEqualNode(this.element);){const i=a.getAttribute("data-type");if(a.tagName==="IMG"&&a.parentElement.classList.contains("protyle-background__img")){const s=a.getAttribute("src");n.detail>1&&!s.startsWith("data:image/png;base64")&&(previewImage(s),n.preventDefault(),n.stopPropagation()),window.siyuan.menus.menu.remove();break}else if(i==="position"){const s=this.element.firstElementChild.querySelectorAll(".protyle-icons");s[0].classList.add("fn__none"),s[1].classList.remove("fn__none"),s[2].classList.remove("fn__none"),this.imgElement.style.cursor="move",n.preventDefault(),n.stopPropagation();break}else if(i==="cancel"||i==="confirm"){this.imgElement.style.cursor="";const s=this.element.firstElementChild.querySelectorAll(".protyle-icons");if(s[0].classList.remove("fn__none"),s[1].classList.add("fn__none"),s[2].classList.add("fn__none"),i==="confirm"){const o=`background-image:url("${this.img
1446Element.getAttribute("src")}");object-position:${this.imgElement.style.objectPosition}`;this.ial["title-img"]=o,fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{"title-img":o}})}else this.render(this.ial,t.block.rootID);n.preventDefault(),n.stopPropagation();break}else if(i==="open-emoji"){const s=this.iconElement.getBoundingClientRect();openEmojiPanel(t.block.rootID,"doc",{x:s.left,y:s.bottom,h:s.height,w:s.width},void 0,a.querySelector("img")),n.preventDefault(),n.stopPropagation();break}else if(i==="show-random"){let s="";wn.forEach((l,r)=>{s+=`<div data-index="${r}" style="height: 128px;${l}" class="b3-card b3-card--wrap"></div>`});const o=new Dialog({title:window.siyuan.languages.builtIn,content:`<div class="b3-cards">${s}</div>`,width:isMobile()?"92vw":"912px",height:isMobile()?"80vh":"70vh"});o.element.setAttribute("data-key",Constants.DIALOG_BACKGROUNDRANDOM),o.element.addEventListener("click",l=>{const r=l.target;r.classList.contains("b3-card")&&(this.ial["title-img"]=wn[parseInt(r.getAttribute("data-index"))],this.render(this.ial,t.block.rootID),fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{"title-img":this.ial["title-img"]}}),o.destroy())}),n.preventDefault(),n.stopPropagation();break}else if(i==="random"){this.ial["title-img"]=wn[getRandom(0,wn.length-1)],this.render(this.ial,t.block.rootID),fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{"title-img":this.ial["title-img"]}}),n.preventDefault(),n.stopPropagation();break}else if(i==="asset"){const s=a.getBoundingClientRect();assetMenu(t,{x:a.parentElement.getBoundingClientRect().right,y:s.bottom+8,isLeft:!0},o=>{this.ial["title-img"]=`background-image:url("${o}")`,this.render(this.ial,t.block.rootID),fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{"title-img":this.ial["title-img"]}}),window.siyuan.menus.menu.remove()},Constants.SIYUAN_ASSETS_IMAGE),n.preventDefault(),n.stopPropagation();break}else if(i==="remove"){delete this.ial["title-img"],this.render(this.ial,t.block.rootID),fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{"title-img":""}}),n.preventDefault(),n.stopPropagation();break}else if(i==="icon"){const s=getRandomEmoji();if(s){updateFileTreeEmoji(s,t.block.rootID),updateOutlineEmoji(s,t.block.rootID),fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{icon:s}}),t.model&&t.model.parent.setDocIcon(s),this.iconElement.classList.remove("fn__none");const o=this.iconElement.getBoundingClientRect();openEmojiPanel(t.block.rootID,"doc",{x:o.left,y:o.bottom,h:o.height,w:o.width})}n.preventDefault(),n.stopPropagation();break}else if(i==="tag"){this.openTag(t,a),n.preventDefault(),n.stopPropagation();break}else if(i==="link"){const s=new Dialog({title:window.siyuan.languages.link,width:isMobile()?"92vw":"520px",content:`<div class="b3-dialog__content">
1447        <input class="b3-text-field fn__block" value="${this.imgElement.src.startsWith("data:")?"":this.imgElement.getAttribute("src")}">
1448</div>
1449<div class="b3-dialog__action">
1450    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
1451    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
1452</div>`});s.element.setAttribute("data-key",Constants.DIALOG_BACKGROUNDLINK);const o=s.element.querySelectorAll(".b3-button");o[0].addEventListener("click",()=>{s.destroy()}),o[1].addEventListener("click",()=>{const l=`background-image:url("${s.element.querySelector("input").value}");`;this.ial["title-img"]=l,this.render(this.ial,t.block.rootID),fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{"title-img":this.ial["title-img"]}}),s.destroy()}),s.element.querySelector("input").focus(),n.preventDefault(),n.stopPropagation();break}else if(i==="open-search"){popSearch(t.app,{hasReplace:!1,method:0,hPath:"",idPath:[],k:`#${a.textContent}#`,r:"",page:1}),n.preventDefault(),n.stopPropagation();break}else if(i==="remove-tag"){a.parentElement.remove(),this.removeTag(t),n.preventDefault(),n.stopPropagation();break}a=a.parentElement}})}removeTag(t,n){const a=this.getTags();fetchPost("/api/attr/setBlockAttrs",{id:t.block.rootID,attrs:{tags:a.toString()}},()=>{n&&n()}),a.length===0?delete this.ial.tags:this.ial.tags=a.toString(),this.render(this.ial,t.block.rootID)}render(t,n){var a;const i=t["title-img"],s=t.icon,o=t.tags;if(this.ial=t,this.element.setAttribute("data-node-id",n),o){let l="";const r=["secondary","primary","info","success","warning","error","pink"];Array.from(new Set(o.split(",").map(c=>
1452c.trim()))).forEach((c,f)=>{c.replace(/ /g,"")&&(l+=`<div class="b3-chip b3-chip--middle b3-chip--pointer b3-chip--${r[f%7]}" data-type="open-search">${escapeHtml(c)}<svg class="b3-chip__close" data-type="remove-tag"><use xlink:href="#iconCloseRound"></use></svg></div>`)}),this.tagsElement.innerHTML=`${l}
1453<div class="protyle-background__action fn__flex-center">
1454    <button class="b3-button b3-button--cancel" style="margin-bottom: 8px" data-menu="true" data-type="tag"><svg><use xlink:href="#iconAdd"></use></svg>${window.siyuan.languages.addTag}</button>
1455</div>`,this.tagsElement.classList.remove("fn__none"),this.actionElements[0].classList.add("fn__none")}else this.tagsElement.classList.add("fn__none"),this.actionElements[0].classList.remove("fn__none");if(s?(this.iconElement.classList.remove("fn__none"),this.iconElement.innerHTML=unicode2Emoji(s),this.actionElements[1].classList.add("fn__none")):(this.actionElements[1].classList.remove("fn__none"),this.iconElement.classList.add("fn__none")),i){if(this.imgElement.setAttribute("style",Lute.UnEscapeHTMLStr(i)),i.indexOf("url(")>-1){const l=this.imgElement.style.backgroundPosition||this.imgElement.style.objectPosition,r=(a=this.imgElement.style.backgroundImage)==null?void 0:a.replace(/^url\(["']?/,"").replace(/["']?\)$/,"");this.imgElement.removeAttribute("style"),this.imgElement.setAttribute("src",r),this.imgElement.style.objectPosition=l,this.element.querySelector('[data-type="position"]').classList.remove("fn__none")}else this.imgElement.setAttribute("src",this.transparentData),this.element.querySelector('[data-type="position"]').classList.add("fn__none");this.actionElements[2].classList.add("fn__none"),this.imgElement.parentElement.classList.remove("fn__none"),this.iconElement.style.marginTop="",this.imgElement.style.height="200px"}else this.imgElement.parentElement.classList.add("fn__none"),this.actionElements[2].classList.remove("fn__none"),this.iconElement.style.marginTop="8px";i||s?this.iconElement.parentElement.style.marginTop="":this.iconElement.parentElement.style.marginTop="8px"}openTag(t,n){window.siyuan.menus.menu.remove();const a=new Menu;a.addItem({iconHTML:"",type:"empty",label:`<div class="fn__flex-column b3-menu__filter">
1456    <input class="b3-text-field fn__flex-shrink" placeholder="${window.siyuan.languages.tag}"/>
1457    <div class="fn__hr"></div>
1458    <div class="b3-list fn__flex-1 b3-list--background">
1459        <img style="margin: 0 auto;display: block;width: 64px;height: 64px" src="/stage/loading-pure.svg">
1460    </div>
1461</div>`,bind:s=>{const o=s.querySelector(".b3-list--background");fetchPost("/api/search/searchTag",{k:""},r=>{let c="";const f=this.getTags();
1461r.data.tags.forEach((d,u)=>{c+=`<div class="b3-list-item b3-list-item--narrow${u===0?" b3-list-item--focus":""}">
1462    <div class="fn__flex-1">${d}</div>
1463    ${f.includes(Lute.UnEscapeHTMLStr(d))?'<svg class="b3-menu__checked"><use xlink:href="#iconSelect"></use></svg>':""}
1464</div>`}),o.innerHTML=c});const l=s.querySelector("input");l.addEventListener("keydown",r=>{if(r.stopPropagation(),!r.isComposing)if(upDownHint(o,r),r.key==="Enter"){const c=o.querySelector(".b3-list-item--focus");this.addTags(c?c.dataset.type==="new"?c.querySelector("mark").textContent.trim():c.textContent.trim():l.value.trim(),t,()=>{l.value="",l.dispatchEvent(new CustomEvent("input"))})}else r.key==="Escape"&&window.siyuan.menus.menu.remove()}),l.addEventListener("input",r=>{r.stopPropagation(),fetchPost("/api/search/searchTag",{k:l.value.trim()},c=>{let f="",d=!1;const u=this.getTags();c.data.tags.forEach((g,p)=>{f+=`<div class="b3-list-item b3-list-item--narrow${p===0?" b3-list-item--focus":""}">
1465    <div class="fn__flex-1">${g}</div>
1466    ${u.includes(Lute.UnEscapeHTMLStr(g.replace(/<mark>/g,"").replace(/<\/mark>/g,"")))?'<svg class="b3-menu__checked"><use xlink:href="#iconSelect"></use></svg>':""}
1467</div>`,g===`<mark>${c.data.k}</mark>`&&(d=!0)}),!d&&c.data.k&&(f=`<div data-type="new" class="b3-list-item b3-list-item--narrow${f?"":" b3-list-item--focus"}"><div class="fn__flex-1">${window.siyuan.languages.new} <mark>${escapeHtml(c.data.k)}</mark></div></div>`+f),o.innerHTML=f})}),o.addEventListener("click",r=>{const c=r.target,f=hasClosestByClassName(c,"b3-list-item");f&&this.addTags(f.dataset.type==="new"?f.querySelector("mark").textContent.trim():f.textContent.trim(),t,()=>{l.value="",l.dispatchEvent(new CustomEvent("input")),l.focus()})})}});const i=a.element.querySelector(".b3-menu__items");i.setAttribute("style","overflow: initial"),a.fullscreen(),i.firstElementChild.setAttribute("style","padding: 0 8px;height: 100%;")}getTags(t){const n=[];return this.tagsElement.querySelectorAll(".b3-chip").forEach(a=>{const i=a.textContent.trim();t&&i===t&&a.remove(),n.push(i)}),n}addTags(t,n,a){const i=this.getTags(t);if(i.includes(t)){this.removeTag(n,a);return}i.push(t),fetchPost("/api/attr/setBlockAttrs",{id:n.block.rootID,attrs:{tags:i.toString()}},()=>{a()}),this.ial.tags=i.toString(),this.render(this.ial,n.block.rootID)}}const ra=(e,t)=>{fetchPost("/api/filetree/createDailyNote",{notebook:t,app:Constants.SIYUAN_APPID},n=>{openMobileFileById(e,n.data.id)})},vu=e=>{if(window.siyuan.dialogs.find(s=>{if(s.element.getAttribute("data-key")===Constants.DIALOG_DIALYNOTE)return s.destroy(),!0}))return;const n=getOpenNotebookCount();if(n===0){showMessage(window.siyuan.languages.newFileTip);return}if(n===1){let s="";window.siyuan.notebooks.find(o=>{o.closed||(s=o.id)}),ra(e,s);return}const a=window.siyuan.storage[Constants.LOCAL_DAILYNOTEID],i=window.siyuan.notebooks.find(s=>{if(s.id===a&&!s.closed)return!0});if(a&&i&&!isMobile())ra(e,a);else{let s="";window.siyuan.notebooks.forEach(c=>{c.closed||(s+=`<option value="${c.id}">${c.name}</option>`)});const o=new Dialog({positionId:Constants.DIALOG_DIALYNOTE,title:window.siyuan.languages.plsChoose,content:`<div class="b3-dialog__content">
1468    <select class="b3-select fn__block">${s}</select>
1469</div>
1470<div class="b3-dialog__action">
1471    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
1472    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
1473</div>`,width:isMobile()?"92vw":"520px"});o.element.setAttribute("data-key",Constants.DIALOG_DIALYNOTE);const l=o.element.querySelectorAll(".b3-button"),r=o.element.querySelector(".b3-select");r.value=a,l[0].addEventListener("click",()=>{o.destroy()}),l[1].addEventListener("click",()=>{const c=r.value;window.siyuan.storage[Constants.LOCAL_DAILYNOTEID]=c,setStorageVal(Constants.LOCAL_DAILYNOTEID,window.siyuan.storage[Constants.LOCAL_DAILYNOTEID]),ra(e,c),o.destroy()})}},Eu=()=>{const e=Constants.HELP_PATH[window.siyuan.config.appearance.lang];fetchPost("/api/notebook/removeNotebook",{notebook:e,callback:Constants.CB_MOUNT_REMOVE},()=>{fetchPost("/api/notebook/openNotebook",{notebook:e,app:Constants.SIYUAN_APPID})})},ku=()=>{const e=new Dialog({title:window.siyuan.languages.newNotebook,content:`<div class="b3-dialog__content">
1474    <input placeholder="${window.siyuan.languages.notebookName}" class="b3-text-field fn__block">
1475</div>
1476<div class="b3-dialog__action">
1477    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
1478    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
1479</div>`,width:isMobile()?"92vw":"520px"});e.element.setAttribute("data-key",Constants.DIALOG_CREATENOTEBOOK);const t=e.element.querySelectorAll(".b3-button");e.bindInput(e.element.querySelector("input"),()=>{t[1].dispatchEvent(new CustomEvent("click"))}),t[0].addEventListener("click",()=>{e.destroy()}),t[1].addEventListener("click",()=>{const n=e.element.querySelector("input").value;if(!validateName(n))return!1;fetchPost("/api/notebook/createNotebook",{name:n}),e.destroy()})},Cu=e=>{fetchPost("/api/storage/getRecentDocs",{},t=>{let n="";t.data.forEach((a,i)=>{n+=`<li data-index="${i}" data-node-id="${a.rootID}" class="b3-list-item${i===0?" b3-list-item--focus":""}">
1480${unicode2Emoji(a.icon||window.siyuan.storage[Constants.LOCAL_IMAGES].file,"b3-list-item__graphic",!0)}
1481<span class="b3-list-item__text">${escapeHtml(a.title)}</span>
1482</li>`}),openModel({title:window.siyuan.languages.recentDocs,icon:"iconList",html:`<ul class="b3-list b3-list--mobile">${n}</ul>`,bindEvent(a){a.firstElementChild.addEventListener("click",i=>{const s=hasClosestByClassName(i.target,"b3-list-item");
1482s&&openMobileFileById(e,s.dataset.nodeId,[Constants.CB_GET_SCROLL])})}})})},ca=(e,t)=>{if(!e||e.length===0)return`<li style="padding-left: 40px;" class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`;let n="";return e.forEach((a,i)=>{let s="";t&&(s=`data-id2="${t[i].fileID}"`),n+=`<li style="padding-left: 40px;" class="b3-list-item" ${s} data-id="${a.fileID}">
1483    <span class="b3-list-item__text" title="${escapeAttr(a.path)} ${a.hSize}">${escapeHtml(a.title)}</span>
1484</li>`}),n};let bt,Mt;const ks=(e,t)=>{if(!hasClosestByClassName(t,"history__side"))return;const a=hasClosestByClassName(t,"b3-dialog__container");if(!a)return;const i=a.querySelector('[data-type="editors"]'),s=i.firstElementChild,o=i.lastElementChild;bt||(bt=new Protyle(e,s.lastElementChild,{blockId:"",history:{snapshot:""},action:[Constants.CB_GET_HISTORY],render:{background:!1,gutter:!1,breadcrumb:!1,breadcrumbDocName:!1},typewriterMode:!1}),disabledProtyle(bt.protyle),Mt=new Protyle(e,o.lastElementChild,{blockId:"",action:[Constants.CB_GET_HISTORY],history:{snapshot:""},render:{background:!1,gutter:!1,breadcrumb:!1,breadcrumbDocName:!1},typewriterMode:!1}),disabledProtyle(Mt.protyle)),fetchPost("/api/repo/openRepoSnapshotDoc",{id:t.getAttribute("data-id")},r=>{s.classList.remove("fn__none");const c=s.querySelector("textarea"),f=pathPosix().extname(r.data.content).toLowerCase(),d=s.querySelector(".protyle-title__input");Constants.SIYUAN_ASSETS_IMAGE.concat(Constants.SIYUAN_ASSETS_AUDIO).concat(Constants.SIYUAN_ASSETS_VIDEO).includes(f)?(c.previousElementSibling.innerHTML=renderAssetsPreview(r.data.content),c.previousElementSibling.classList.remove("fn__none"),c.classList.add("fn__none"),s.lastElementChild.classList.add("fn__none")):r.data.displayInText?(c.value=r.data.content,c.classList.remove("fn__none"),s.lastElementChild.classList.add("fn__none"),c.previousElementSibling.classList.add("fn__none")):(c.classList.add("fn__none"),s.lastElementChild.classList.remove("fn__none"),c.previousElementSibling.classList.add("fn__none"),bt.protyle.options.history.snapshot=a.querySelector(".b3-dialog__header code").getAttribute("data-snapshot"),onGet({data:r,protyle:bt.protyle,action:[Constants.CB_GET_HISTORY,Constants.CB_GET_HTML]})),d.textContent=r.data.title,s.querySelector(".history__date").textContent=dayjs(r.data.updated).format("YYYY-MM-DD HH:mm")});const l=t.getAttribute("data-id2");l?(o.classList.remove("fn__none"),fetchPost("/api/repo/openRepoSnapshotDoc",{id:l},r=>{const c=o.querySelector("textarea"),f=pathPosix().extname(r.data.content).toLowerCase(),d=o.querySelector(".protyle-title__input");Constants.SIYUAN_ASSETS_IMAGE.concat(Constants.SIYUAN_ASSETS_AUDIO).concat(Constants.SIYUAN_ASSETS_VIDEO).includes(f)?(c.previousElementSibling.innerHTML=renderAssetsPreview(r.data.content),c.previousElementSibling.classList.remove("fn__none"),c.classList.add("fn__none"),o.lastElementChild.classList.add("fn__none")):r.data.displayInText?(c.value=r.data.content,c.classList.remove("fn__none"),o.lastElementChild.classList.add("fn__none"),c.previousElementSibling.classList.add("fn__none")):(c.classList.add("fn__none"),o.lastElementChild.classList.remove("fn__none"),c.previousElementSibling.classList.add("fn__none"),Mt.protyle.options.history.snapshot=a.querySelectorAll(".b3-dialog__header code")[1].getAttribute("data-snapshot"),onGet({data:r,protyle:Mt.protyle,action:[Constants.CB_GET_HISTORY,Constants.CB_GET_HTML]})),d.textContent=r.data.title,o.querySelector(".history__date").textContent=dayjs(r.data.updated).format("YYYY-MM-DD HH:mm")})):o.classList.add("fn__none")},Au=(e,t)=>{if(t.length!==2)return;let n,a;t[0].time>t[1].time?(n=t[1].id,a=t[0].id):(n=t[0].id,a=t[1].id);const i=new Dialog({title:window.siyuan.languages.compare,content:"",width:isMobile()?"92vw":"90vw",height:"80vh",containerClassName:"b3-dialog__container--theme",destroyCallback(){bt=void 0,Mt=void 0}});i.element.setAttribute("data-key",Constants.DIALOG_HISTORYCOMPARE),i.element.addEventListener("click",s=>{var o;if(typeof s.detail=="string"){ks(e,i.element.querySelector(".history__side .b3-list-item--focus")),s.stopPropagation(),s.preventDefault();return}let l=s.target;for(;l&&l!==i.element;
1484){if(l.classList.contains("b3-list-item")&&!l.dataset.id){l.nextElementSibling.classList.toggle("fn__none"),l.querySelector("svg").classList.toggle("b3-list-item__arrow--open"),s.preventDefault(),s.stopPropagation();break}else if(l.classList.contains("b3-list-item")&&l.dataset.id){if(l.classList.contains("b3-list-item--focus"))return;(o=i.element.querySelector(".history__side .b3-list-item--focus"))==null||o.classList.remove("b3-list-item--focus"),l.classList.add("b3-list-item--focus"),ks(e,l),s.preventDefault(),s.stopPropagation();break}else if(l.classList.contains("block__icon")){l.getAttribute("data-direct")==="left"?(l.setAttribute("data-direct","right"),da(a,n,i,"right")):(l.setAttribute("data-direct","left"),da(n,a,i,"left")),s.preventDefault(),s.stopPropagation();break}l=l.parentElement}}),da(n,a,i,"left")},da=(e,t,n,a)=>{bt=void 0,Mt=void 0;const i=isMobile();fetchPost("/api/repo/diffRepoSnapshots",{left:e,right:t},s=>{const o=n.element.querySelector(".b3-dialog__header");o.innerHTML=`<div style="padding: 0;min-height: auto;" class="block__icons">
1485    <span class="fn__flex-1"></span>
1486    <code class="fn__code${i?" fn__none":""}" data-snapshot="${e}">${e.substring(0,7)}</code>
1487    ${i?"":'<span class="fn__space"></span>'}
1488    ${dayjs(s.data.left.created).format("YYYY-MM-DD HH:mm")}
1489    <span class="fn__space"></span>
1490    <span class="block__icon block__icon--show b3-tooltips b3-tooltips__s" aria-label="${window.siyuan.languages.switchDirect}" data-direct="${a}"><svg><use xlink:href="#iconScrollHoriz"></use></svg></span>
1491    <span class="fn__space"></span>
1492    <code class="fn__code${i?" fn__none":""}" data-snapshot="${t}">${t.substring(0,7)}</code>
1493    ${i?"":'<span class="fn__space"></span>'}
1494    ${dayjs(s.data.right.created).format("YYYY-MM-DD HH:mm")}
1495    <span class="fn__flex-1"></span>
1496</div>`,o.nextElementSibling.innerHTML=`<div class="fn__flex history__panel" style="height: 100%">
1497    <div class="history__side" ${isMobile()?"":`style="width: ${window.siyuan.storage[Constants.LOCAL_HISTORY].sideDiffWidth}"`}>
1498        <ul class="b3-list b3-list--background">
1499            <li class="b3-list-item">
1500                <span class="b3-list-item__toggle b3-list-item__toggle--hl">
1501                    <svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg>
1502                </span>
1503                <span style="padding-left: 4px" class="b3-list-item__text">${window.siyuan.languages.update}</span>
1504                <span class="counter${s.data.updatesLeft.length===0?" fn__none":""}">${s.data.updatesLeft.length}</span>
1505            </li>
1506            <ul class="fn__none">${ca(s.data.updatesLeft,s.data.updatesRight)}</ul>
1507        </ul>
1508        <ul class="b3-list b3-list--background">
1509            <li class="b3-list-item">
1510                <span class="b3-list-item__toggle b3-list-item__toggle--hl">
1511                    <svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg>
1512                </span>
1513                <span style="padding-left: 4px" class="b3-list-item__text">${window.siyuan.languages.addAttr}</span>
1514                <span class="counter${s.data.addsLeft.length===0?" fn__none":""}">${s.data.addsLeft.length}</span>
1515            </li>
1516            <ul class="fn__none">${ca(s.data.addsLeft)}</ul>
1517        </ul>
1518        <ul class="b3-list b3-list--background">
1519            <li class="b3-list-item">
1520                <span class="b3-list-item__toggle b3-list-item__toggle--hl">
1521                    <svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg>
1522                </span>
1523                <span style="padding-left: 4px" class="b3-list-item__text">${window.siyuan.languages.remove}</span>
1524                <span class="counter${s.data.removesRight.length===0?" fn__none":""}">${s.data.removesRight.length}</span>
1525            </li>
1526            <ul class="fn__none">${ca(s.data.removesRight)}</ul>
1527        </ul>
1528    </div>
1529    <div class="history__resize"></div>
1530    <div class="fn__flex-1 fn__flex" data-type="editors">
1531        <div class="fn__none fn__flex-1 fn__flex-column">
1532            <div class="history__date">${dayjs(s.data.left.created).format("YYYY-MM-DD HH:mm")}</div>
1533            <div class="protyle-title__input ft__center ft__breakword">${s.data.left.title}</div>
1534            <div class="ft__center"></div>
1535            <textarea class="history__text fn__none fn__flex-1" readonly></textarea>
1536            <div class="fn__flex-1"></div>
1537        </div>
1538        <div class="fn__none fn__flex-1 fn__flex-column" style="border-left: 1px solid var(--b3-border-color);">
1539            <div class="history__date">${s.data.right.title} ${dayjs(s.data.right.created).format("YYYY-MM-DD HH:mm")}</div>
1540            <div class="protyle-title__input ft__center ft__breakword">${s.data.right.title}</div>
1541            <div class="ft__center"></div>
1542            <textarea class="history__text fn__none fn__flex-1" readonly></textarea>
1543            <div class="fn__flex-1"></div>
1544        </div>
1545    </div>
1546</div>`,resizeSide(n.element.querySelector(".history__resize"),n.element.querySelector(".history__side"),"sideDiffWidth")})};let yt;const Dt=(e,t)=>
1546{const n=e.querySelector('[data-type="docprevious"]'),a=e.querySelector('[data-type="docnext"]');e.setAttribute("data-page",t.toString()),t>1?n.removeAttribute("disabled"):n.setAttribute("disabled","disabled");const i=e.querySelector('button[data-type="jumpHistoryPage"]');i.textContent=`${t}`;const s=e.querySelector(".b3-text-field"),o=e.querySelector('.b3-select[data-type="opselect"]'),l=e.querySelector('.b3-select[data-type="typeselect"]'),r=e.querySelector('.b3-select[data-type="notebookselect"]'),c=e.querySelector('.history__text[data-type="docPanel"]'),f=e.querySelector('.history__text[data-type="assetPanel"]'),d=e.querySelector('.history__text[data-type="mdPanel"]'),u=e.querySelector(".b3-list");e.querySelector(".protyle-title__input").classList.add("fn__none"),f.classList.add("fn__none"),d.classList.add("fn__none"),c.classList.add("fn__none"),l.value==="2"?(r.setAttribute("disabled","disabled"),window.siyuan.storage[Constants.LOCAL_HISTORY].type!==2&&(o.value="all"),o.querySelector('option[value="clean"]').classList.remove("fn__none"),o.querySelector('option[value="update"]').classList.remove("fn__none"),o.querySelector('option[value="delete"]').classList.add("fn__none"),o.querySelector('option[value="format"]').classList.add("fn__none"),o.querySelector('option[value="sync"]').classList.remove("fn__none"),o.querySelector('option[value="replace"]').classList.add("fn__none"),o.querySelector('option[value="outline"]').classList.add("fn__none")):(r.removeAttribute("disabled"),window.siyuan.storage[Constants.LOCAL_HISTORY].type===2&&(o.value="all"),o.querySelector('option[value="clean"]').classList.add("fn__none"),o.querySelector('option[value="update"]').classList.remove("fn__none"),o.querySelector('option[value="delete"]').classList.remove("fn__none"),o.querySelector('option[value="format"]').classList.remove("fn__none"),o.querySelector('option[value="sync"]').classList.remove("fn__none"),o.querySelector('option[value="replace"]').classList.remove("fn__none"),o.querySelector('option[value="outline"]').classList.remove("fn__none")),window.siyuan.storage[Constants.LOCAL_HISTORY].notebookId=r.value,window.siyuan.storage[Constants.LOCAL_HISTORY].type=parseInt(l.value),window.siyuan.storage[Constants.LOCAL_HISTORY].operation=o.value,setStorageVal(Constants.LOCAL_HISTORY,window.siyuan.storage[Constants.LOCAL_HISTORY]),fetchPost("/api/history/searchHistory",{notebook:r.value,query:s.value,page:t,op:o.value,type:parseInt(l.value)},g=>{t<g.data.pageCount?a.removeAttribute("disabled"):a.setAttribute("disabled","disabled"),i.setAttribute("data-totalpage",(g.data.pageCount||1).toString());const p=a.nextElementSibling.nextElementSibling;if(p.textContent=`${window.siyuan.languages.pageCountAndHistoryCount.replace("${x}",g.data.pageCount).replace("${y}",g.data.totalCount||1)}`,p.classList.remove("fn__none"),g.data.histories.length===0){u.innerHTML=`<li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`;return}let m="";g.data.histories.forEach(b=>{m+=`<li class="b3-list-item" data-type="toggle" data-created="${b}">
1547    <span class="b3-list-item__toggle b3-list-item__toggle--hl"><svg class="b3-list-item__arrow"><use xlink:href="#iconRight"></use></svg></span>
1548    <span style="padding-left: 4px" class="b3-list-item__text">${dayjs(parseInt(b)*1e3).format("YYYY-MM-DD HH:mm:ss")}</span>
1549</li>`}),u.innerHTML=m})},Cs=(e,t,n)=>{if(e.data.snapshots.length===0){t.lastElementChild.innerHTML=`<li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`;return}let a="";n==="getCloudRepoTagSnapshots"?a=`<span class="fn__flex-1"></span>
1550<span class="b3-list-item__action" data-type="downloadSnapshot">
1551    <svg><use xlink:href="#iconDownload"></use></svg>
1552    <span class="fn__space"></span>
1553    ${window.siyuan.languages.download}
1554</span>
1555<span class="fn__flex-1"></span>
1556<span class="b3-list-item__action" data-type="removeCloudRepoTagSnapshot">
1557    <svg><use xlink:href="#iconTrashcan"></use></svg>
1558    <span class="fn__space"></span>
1559    ${window.siyuan.languages.remove}
1560</span>
1561<span class="fn__flex-1"></span>`:n==="getCloudRepoSnapshots"?a=`<span class="fn__flex-1"></span>
1562<span class="b3-list-item__action" data-type="downloadSnapshot">
1563    <svg><use xlink:href="#iconDownload"></use></svg>
1564    <span class="fn__space"></span>
1565    ${window.siyuan.languages.download}
1566</span>
1567<span class="fn__flex-1"></span>`:n==="getRepoTagSnapshots"?a=`<span class="fn__flex-1"></span>
1568<span class="b3-list-item__action" data-type="uploadSnapshot">
1569    <svg><use xlink:href="#iconUpload"></use></svg>
1570    <span class="fn__space"></span>
1571    ${window.siyuan.languages.upload}
1572</span>
1573<span class="fn__flex-1"></span>
1574<span class="b3-list-item__action" data-type="rollback">
1575    <svg><use xlink:href="#iconUndo"></use></svg>
1576    <span class="fn__space"></span>
1577    ${window.siyuan.languages.rollback}
1578</span>
1579<span class="fn__flex-1"></span>
1580<span class="b3-list-item__action" data-type="removeRepoTagSnapshot">
1581    <svg><use xlink:href="#iconTrashcan"></use></svg>
1582    <span class="fn__space"></span>
1583    ${window.siyuan.languages.remove}
1584</span>
1585<span class="fn__flex-1"></span>`:n==="getRepoSnapshots"&&(a=`<span class="fn__flex-1"></span>
1586<span class="b3-list-item__action" data-type="genTag">
1587    <svg><use xlink:href="#iconTags"></use></svg>
1588    <span class="fn__space"></span>
1589    ${window.siyuan.languages.tagSnapshot}
1590</span>
1591<span class="fn__flex-1"></span>
1592<span class="b3-list-item__action" data-type="rollback">
1593    <svg><use xlink:href="#iconUndo"></use></svg>
1594    <span class="fn__space"></span>
1595    ${window.siyuan.languages.rollback}
1596</span>
1597<span class="fn__flex-1"></span>`);let i="";const s=isMobile();e.data.snapshots.forEach(o=>{let l="";o.typesCount&&(l=`<div class="b3-list-item__meta${s?" fn__none":""}">
1598${window.siyuan.languages.fileCount} ${o.count}<span class="fn__space"></span>`,o.typesCount.forEach(c=>{l+=`${c.type} ${c.count}<span class="fn__space"></span>`}),l+="</div>");const r=`<div${s?' style="padding-top:8px"':""}>
1599    <span data-type="hCreated">${o.hCreated}</span>
1600    <span class="fn__space"></span>
1601    ${o.hSize}
1602    <span class="fn__space"></span>
1603    ${o.systemOS}${o.systemName&&o.systemOS?"/":""}${o.systemName}
1604    <span class="fn__space"></span>
1605    <span class="b3-chip b3-chip--secondary b3-chip--small${o.tag?"":" fn__none"}">${o.tag}</span>
1606</div>
1607<div class="b3-list-item__meta${s?" fn__none":""}">
1608    ${escapeHtml(o.memo)}
1609    <span class="fn__space"></span>
1610    <code class="fn__code">${o.id.substring(0,7)}</code>
1611</div>
1612${l}`;i+=`<li class="b3-list-item" data-type="repoitem" data-id="${o.id}" data-tag="${o.tag}">
1613<div class="fn__flex-1">
1614    ${r}
1615    <div class="fn__flex" style="height: 26px" data-id="${o.id}" data-tag="${o.tag}">
1616        ${a}
1617        <span class="b3-list-item__action" data-type="more">
1618            <svg><use xlink:href="#iconMore"></use></svg>
1619            <span class="fn__space"></span>
1620            ${window.siyuan.languages.more}
1621        </span>
1622        <span class="fn__flex-1"></span>
1623    </div>
1624</div>
1625</li>`}),t.lastElementChild.innerHTML=`${i}`},lt=(e,t)=>{const n=e.querySelector(".b3-select");n.disabled=!0;const a=n.value;e.lastElementChild.innerHTML='<li style="position: relative;height: 100%;"><div class="fn__loading"><img width="64px" src="/stage/loading-pure.svg"></div></li>';const i=e.querySelector('button[data-type="jumpRepoPage"]');i.textContent=`${t}`;const s=e.querySelector('[data-type="previous"]'),o=e.querySelector('[data-type="next"]'),l=o.nextElementSibling.nextElementSibling;e.setAttribute("data-init","true"),a==="getRepoTagSnapshots"||a==="getCloudRepoTagSnapshots"?(fetchPost(`/api/repo/${a}`,{},r=>{Cs(r,e,a),n.disabled=!1}),s.classList.add("fn__none"),o.classList.add("fn__none"),l.classList.add("fn__none"),i.classList.add("fn__none")):(s.classList.remove("fn__none"),o.classList.remove("fn__none"),i.classList.remove("fn__none"),e.setAttribute("data-page",t.toString()),t>1?s.removeAttribute("disabled"):s.setAttribute("disabled","disabled"),o.setAttribute("disabled","disabled"),fetchPost(`/api/repo/${a}`,{page:t},r=>{n.disabled=!1,t<r.data.pageCount?o.removeAttribute("disabled"):o.setAttribute("disabled","disabled"),i.setAttribute("data-totalpage",(r.data.pageCount||1).toString()),l.textContent=`${window.siyuan.languages.pageCountAndSnapsh
1625otCount.replace("${x}",r.data.pageCount).replace("${y}",r.data.totalCount||1)}`,l.classList.remove("fn__none"),Cs(r,e,a)}))},Ko=e=>{e.setAttribute("data-init","true"),fetchPost("/api/history/getNotebookHistory",{},t=>{if(t.data.histories.length===0){e.innerHTML=`<li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`;return}let n="";t.data.histories.forEach((a,i)=>{n+=`<li class="b3-list-item" style="padding-left: 0" data-type="rmtoggle">
1626    <span style="padding-left: 8px" class="b3-list-item__toggle"><svg class="b3-list-item__arrow${i===0?" b3-list-item__arrow--open":""}${a.items.length>0?"":" fn__hidden"}"><use xlink:href="#iconRight"></use></svg></span>
1627    <span class="b3-list-item__text">${a.hCreated}</span>
1628</li>`,a.items.length>0&&(n+=`<ul class="${i===0?"":"fn__none"}">`,a.items.forEach(s=>{n+=`<li data-type="notebook" data-path="${s.path}" class="b3-list-item b3-list-item--hide-action" style="padding-left: 32px">
1629    <span class="b3-list-item__text">${escapeHtml(s.title)}</span>
1630    <span class="fn__space"></span>
1631    <span class="b3-list-item__action b3-tooltips b3-tooltips__w" data-type="rollback" aria-label="${window.siyuan.languages.rollback}">
1632        <svg><use xlink:href="#iconUndo"></use></svg>
1633    </span>
1634</li>`}),n+="</ul>")}),e.innerHTML=n})},Su=e=>{if(window.siyuan.config.readonly||window.siyuan.dialogs.find(s=>{if(s.element.querySelector("#historyContainer"))return s.destroy(),!0}))return;const n=window.siyuan.storage[Constants.LOCAL_HISTORY];let a=`<option value='%' ${n.notebookId==="%"?"selected":""}>${window.siyuan.languages.allNotebooks}</option>`;window.siyuan.notebooks.forEach(s=>{s.closed||(a+=` <option value="${s.id}"${s.id===n.notebookId?" selected":""}>${escapeHtml(s.name)}</option>`)});const i=`<div class="fn__flex-column" style="height: 100%;">
1635    <div class="layout-tab-bar fn__flex" ${isMobile()?"":'style="border-radius: var(--b3-border-radius-b) var(--b3-border-radius-b) 0 0"'}>
1636        <div data-type="doc" class="item item--full item--focus"><span class="fn__flex-1"></span><span class="item__text">${window.siyuan.languages.fileHistory}</span><span class="fn__flex-1"></span></div>
1637        <div data-type="notebook" style="min-width: 160px" class="item item--full"><span class="fn__flex-1"></span><span class="item__text">${window.siyuan.languages.removedNotebook}</span><span class="fn__flex-1"></span></div>
1638        <div data-type="repo" class="item item--full"><span class="fn__flex-1"></span><span class="item__text">${window.siyuan.languages.dataSnapshot}</span><span class="fn__flex-1"></span></div>
1639    </div>
1640    <div class="fn__flex-1 fn__flex" id="historyContainer">
1641        <div data-type="doc" class="history__repo fn__block" data-init="true">
1642            <div class="history__action">
1643                <div class="block__icons">
1644                    <span data-type="docprevious" class="block__icon block__icon--show b3-tooltips b3-tooltips__e" disabled="disabled" aria-label="${window.siyuan.languages.previousLabel}"><svg><use xlink:href='#iconLeft'></use></svg></span>
1645                    <button class="b3-button b3-button--text ft__selectnone" data-type="jumpHistoryPage" data-totalpage="1">1</button>
1646                    <span data-type="docnext" class="block__icon block__icon--show b3-tooltips b3-tooltips__e" disabled="disabled" aria-label="${window.siyuan.languages.nextLabel}"><svg><use xlink:href='#iconRight'></use></svg></span>
1647                    <span class="fn__space"></span>
1648                    <span class="ft__on-surface fn__flex-shrink ft__selectnone fn__none">${window.siyuan.languages.pageCountAndHistoryCount}</span>
1649                    <span class="fn__space"></span>
1650                    <div class="fn__flex-1"></div>
1651                    <div style="position: relative">
1652                        <svg class="b3-form__icon-icon ft__on-surface"><use xlink:href="#iconSearch"></use></svg>
1653                        <input class="b3-text-field b3-form__icon-input ${isMobile()?"fn__size96":"fn__size200"}">
1654                    </div>
1655                    <span class="fn__space"></span>
1656                    <select data-type="typeselect" class="b3-select ${isMobile()?"fn__size96":"fn__size200"}">
1657                        <option value="0" ${n.type===0?"selected":""}>${window.siyuan.languages.docName}</option>
1658                        <option value="1" ${n.type===1?"selected":""}>${window.siyuan.languages.docNameAndContent}</option>
1659                        <option value="2" ${n.type===2?"selected":""}>${window.siyuan.languages.assets}</option>
1660                    </select>
1661                    <span class="fn__space"></span>
1662                    <select data-type="opselect" class="b3-select${isMobile()?" fn__size96":""}">
1663                        <option value="all" ${n.operation==="all"?"selected":""}>${window.siyuan.languages.allOp}</option>
1664                        <option value="clean" ${n.operation==="clean"?"selected":""}>${window.siyuan.languages.historyClean}</option>
1665                        <option value="update" ${n.operation==="update"?"selected":""}>${window.siyuan.languages.historyUpdate}</option>
1666                        <option value="delete" ${n.operation==="delete"?"selected":""}>${window.siyuan.languages.historyDelete}</option>
1667                        <option value="format" ${n.operation==="format"?"selected":""}>${window.siyuan.languages.historyFormat}</option>
1668                        <option value="sync" ${n.operation==="sync"?"selected":""}>${window.siyuan.languages.historySync}</option>
1669                        <option value="replace" ${n.operation==="replace"?"selected":""}>${window.siyuan.languages.historyReplace}</option>
1670                        <option value="outline" ${n.operation==="outline"?"selected":""}>${window.siyuan.languages.historyOutline}</option>
1671                    </select>
1672                    <span class="fn__space"></span>
1673                    <select data-type="notebookselect" class="b3-select ${isMobile()?"fn__size96":"fn__size200"}">
1674                        ${a}
1675                    </select>
1676                    <span class="fn__space"></span>
1677                    <button data-type="rebuildIndex" class="b3-button b3-button--outline">${window.siyuan.languages.rebuildIndex}</button>
1678                </div>
1679            </div>
1680            <div class="fn__flex fn__flex-1 history__panel">
1681                <ul class="b3-list b3-list--background history__side" ${isMobile()?"":`style="width: ${n.sideWidth}"`}>
1682                    <li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>
1683                </ul>
1684                <div class="history__resize"></div>
1685                <div class="fn__flex-column fn__flex-1">
1686                    <div class="protyle-title__input ft__center ft__breakword fn__none"></div>
1687                    <div class="fn__flex-1 history__text fn__none" data-type="assetPanel"></div>
1688                    <textarea class="fn__flex-1 history__text fn__none" data-type="mdPanel"></textarea>
1689                    <div class="fn__flex-1 history__text fn__none" style="padding: 0" data-type="docPanel"></div>
1690                </div>
1691            </div>
1692        </div>
1693        <ul data-type="notebook" style="padding: 8px 0;" class="fn__none b3-list b3-list--background">
1694            <li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>
1695        </ul>
1696        <div data-type="repo" class="fn__none history__repo">
1697            <div class="history__action">
1698                <div class="block__icons">
1699                    <span data-type="previous" class="block__icon block__icon--show b3-tooltips b3-tooltips__e" disabled="disabled" aria-label="${window.siyuan.languages.previousLabel}"><svg><use xlink:href='#iconLeft'></use></svg></span>
1700                    <button class="b3-button b3-button--text ft__selectnone" data-type="jumpRepoPage" data-totalpage="1">1</button>
1701                    <span data-type="next" class="block__icon block__icon--show b3-tooltips b3-tooltips__e" disabled="disabled" aria-label="${window.siyuan.languages.nextLabel}"><svg><use xlink:href='#iconRight'></use></svg></span>
1702                    <span class="fn__space"></span>
1703                    <span class="ft__on-surface fn__flex-shrink ft__selectnone fn__none">${window.siyuan.languages.pageCountAndSnapshotCount}</span>
1704                    <span class="fn__space"></span>
1705                    <div class="fn__flex-1"></div>
1706                    <select class="b3-select ${isMobile()?"fn__size96":"fn__size200"}">
1707                        <option value="getRepoSnapshots">${window.siyuan.languages.localSnapshot}</option>
1708                        <option value="getRepoTagSnapshots">${window.siyuan.languages.localTagSnapshot}</option>
1709                        <option value="getCloudRepoSnapshots">${window.siyuan.languages.cloudSnapshot}</option>
1710                        <option value="getCloudRepoTagSnapshots">${window.siyuan.languages.cloudTagSnapshot}</option>
1711                    </select>
1712                    <span class="fn__space"></span>
1713                    <button class="b3-button b3-button--outline" disabled data-type="compare">${window.siyuan.languages.compare}</button>
1714                    <span class="fn__space"></span>
1715                    <button class="b3-button b3-button--outline" data-type="genRepo">
1716                        <svg><use xlink:href="#iconAdd"></use></svg>${window.siyuan.languages.createSnapshot}
1717                    </button>
1718                </div>    
1719            </div>
1720            <ul class="b3-list b3-list--background fn__flex-1" style="padding-bottom: 8px">
1721                <li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>
1722            </ul>
1723        </div>
1724    </div>
1725</div>`;if(isMobile())openModel({html:i,icon:"iconHistory",title:window.siyuan.languages.dataHistory,bindEvent(s){s.firstElementChild.setAttribute("style","background-color:var(--b3-theme-background);height:100%"),As(e,s.firstElementChild)}});else{const s=new Dialog({content:i,width:"90vw",height:"80vh",containerClassName:"b3-dialog__container--theme",destroyCallback(){yt=void 0}});s.element.setAttribute("data-key",Constants.DIALOG_HISTORY),s.element.querySelector("input").focus(),As(e,s.element,s),resizeSide(s.element.querySelector(".history__resize"),s.element.querySelector(".history__side"),"sideWidth")}},As=(e,t,n)=>{const a=t.querySelector("#historyContainer [data-type=doc]");a.querySelectorAll(".b3-select").forEach(d=>{d.addEventListener("change",()=>{Dt(a,1)})}),a.querySelector(".b3-text-field").addEventListener("input",d=>{d.isComposing||Dt(a,1)}),a.querySelector(".b3-text-field").addEventListener("compositionend",()=>{Dt(a,1)});const i=a.querySelector('.history__text[data-type="docPanel"]'),s=a.querySelector('.history__text[data-type="assetPanel"]'),o=a.querySelector('.history__text[data-type="mdPanel"]'),l=a.querySelector(".protyle-title__input");Dt(a,1),yt=new Protyle(e,i,{blockId:"",history:{created:""},action:[Constants.CB_GET_HISTORY],render:{background:!1,gutter:!1,breadcrumb:!1,breadcrumbDocName:!1},typewriterMode:!1}),disabledProtyle(yt.protyle);const r=t.querySelector('#historyContainer [data-type="repo"]'),c=t.querySelector('#historyContainer [data-type="doc"]'),f=r.querySelector(".b3-select");f.addEventListener("change",()=>{lt(r,1);const d=t.querySelector(".b3-button[data-type='compare']");d.setAttribute("disabled","disabled"),d.removeAttribute("data-ids")}),t.addEventListener("click",d=>{var u;let g=d.target;for(;g&&!g.isEqualNode(t);){const p=g.getAttribute("data-type");if(g.classList.contains("item")){g.parentElement.querySelector(".item--focus").classList.remove("item--focus"),Array.from(t.querySelector("#historyContainer").children).forEach(m=>{m.getAttribute("data-type")===p?(m.classList.remove("fn__none"),m.classList.add("fn__block"),g.classList.add("item--focus"),m.getAttribute("data-init")!=="true"&&(p==="notebook"?Ko(m):p==="repo"&&lt(m,1))):(m.classList.add("fn__none"),m.classList.remove("fn__block"))}),d.stopPropagation(),d.preventDefault();break}else if(g.classList.contains("b3-list-item__action")&&p==="rollback"&&!window.siyuan.config.readonly){const m=g.parentElement.getAttribute("data-type");let b=g.previousElementSibling.previousElementSibling.textContent.trim(),E=dayjs(parseInt(g.parentElement.getAttribute("data-created"))*1e3).format("YYYY-MM-DD HH:mm:ss");m==="notebook"?E=g.parentElement.parentElement.previousElementSibling.textContent.trim():m==="repoitem"&&(b=window.siyuan.languages.workspaceData,E=g.parentElement.querySelector("span[data-type='hCreated']").textContent.trim());const k=window.siyuan.languages.rollbackConfirm.replace("${name}",b).replace("${time}",E);confirmDialog("\u26A0\uFE0F "+window.siyuan.languages.rollback,k,()=>{m==="assets"?fetchPost("/api/history/rollbackAssetsHistory",{historyPath:g.parentElement.getAttribute("data-path")}):m==="doc"?fetchPost("/api/history/rollbackDocHistory",{notebook:g.parentElement.getAttribute("data-notebook-id"),historyPath:g.parentElement.getAttribute("data-path")}):m==="notebook"?fetchPost("/api/history/rollbackNotebookHistory",{historyPath:g.parentElement.getAttribute("data-path")}
1725):fetchPost("/api/repo/checkoutRepo",{id:g.parentElement.getAttribute("data-id")})}),d.stopPropagation(),d.preventDefault();break}else if(p==="more"){g.parentElement.parentElement.querySelectorAll(".b3-list-item__meta").forEach(m=>{m.classList.toggle("fn__none")}),d.stopPropagation(),d.preventDefault();break}else if(p==="toggle"){const m=g.firstElementChild.firstElementChild;if(m.classList.contains("b3-list-item__arrow--open"))g.nextElementSibling.classList.add("fn__none"),m.classList.remove("b3-list-item__arrow--open");else if(g.nextElementSibling&&g.nextElementSibling.tagName==="UL")g.nextElementSibling.classList.remove("fn__none"),m.classList.add("b3-list-item__arrow--open");else{const b=a.querySelector(".b3-text-field"),E=a.querySelector('.b3-select[data-type="opselect"]'),k=a.querySelector('.b3-select[data-type="typeselect"]'),A=a.querySelector('.b3-select[data-type="notebookselect"]'),v=g.getAttribute("data-created");fetchPost("/api/history/getHistoryItems",{notebook:A.value,query:b.value,op:E.value,type:parseInt(k.value),created:v},w=>{m.classList.add("b3-list-item__arrow--open");let y="",h="";w.data.items.forEach(_=>{let C=" b3-chip b3-chip--list ";_.op==="clean"?(C+="b3-chip--primary ",h=window.siyuan.languages.historyClean):_.op==="update"?(C+="b3-chip--info ",h=window.siyuan.languages.historyUpdate):_.op==="delete"?(C+="b3-chip--error ",h=window.siyuan.languages.historyDelete):_.op==="format"?(C+="b3-chip--pink ",h=window.siyuan.languages.historyFormat):_.op==="sync"?(C+="b3-chip--success ",h=window.siyuan.languages.historySync):_.op==="replace"?(C+="b3-chip--secondary ",h=window.siyuan.languages.historyReplace):_.op==="outline"&&(C+="b3-chip--warning ",h=window.siyuan.languages.historyOutline),y+=`<li data-notebook-id="${_.notebook}" data-created="${v}" data-type="${k.value==="2"?"assets":"doc"}" data-path="${_.path}" class="b3-list-item b3-list-item--hide-action" style="padding-left: 22px">
1726    <span class="${E.value==="all"?"":"fn__none"}${C}ariaLabel" data-position="6south" aria-label="${h}">${_.op.substring(0,1).toUpperCase()}</span>
1727    <span class="b3-list-item__text" title="${escapeAttr(_.title)}">${escapeHtml(_.title)}</span>
1728    <span class="fn__space"></span>
1729    <span class="b3-list-item__action ariaLabel" data-type="rollback" data-position="6south" aria-label="${window.siyuan.languages.rollback}">
1730        <svg><use xlink:href="#iconUndo"></use></svg>
1731    </span>
1732</li>`}),g.insertAdjacentHTML("afterend",`<ul>${y}</ul>`)})}d.stopPropagation(),d.preventDefault();break}else if(p==="rmtoggle"){g.nextElementSibling.classList.toggle("fn__none"),g.firstElementChild.firstElementChild.classList.toggle("b3-list-item__arrow--open"),d.stopPropagation(),d.preventDefault();break}else if(g.classList.contains("b3-list-item")&&p==="repoitem"&&["getRepoSnapshots","getRepoTagSnapshots"].includes(f.value)){const m=t.querySelector(".b3-button[data-type='compare']"),b=JSON.parse(m.getAttribute("data-ids")||"[]"),E=g.getAttribute("data-id");if(g.classList.contains("b3-list-item--focus"))g.classList.remove("b3-list-item--focus"),b.forEach((k,A)=>{E===k.id&&b.splice(A,1)});else{for(g.classList.add("b3-list-item--focus");b.length>1;)b[0].id!==E&&((u=g.parentElement.querySelector(`.b3-list-item[data-id="${b.splice(0,1)[0].id}"]`))==null||u.classList.remove("b3-list-item--focus"));b.push({id:E,time:g.querySelector('[data-type="hCreated"]').textContent})}b.length===2?m.removeAttribute("disabled"):m.setAttribute("disabled","disabled"),m.setAttribute("data-ids",JSON.stringify(b)),d.stopPropagation(),d.preventDefault();break}else if(g.classList.contains("b3-list-item")&&(p==="assets"||p==="doc")){const m=g.getAttribute("data-path");if(p==="assets")s.classList.remove("fn__none"),s.innerHTML=renderAssetsPreview(m);else if(p==="doc"){const E=a.querySelector(".b3-text-field").value;fetchPost("/api/history/getDocHistoryContent",{historyPath:m,highlight:!isSupportCSSHL(),k:E},k=>{k.data.isLargeDoc?(o.value=k.data.content,o.classList.remove("fn__none"),i.classList.add("fn__none")):(o.classList.add("fn__none"),i.classList.remove("fn__none"),yt.protyle.options.history.created=g.dataset.created,onGet({data:k,protyle:yt.protyle,action:[Constants.CB_GET_HISTORY,Constants.CB_GET_HTML]}),searchMarkRender(yt.protyle,E.split(" ")))})}l.classList.remove("fn__none"),l.textContent=g.querySelector(".b3-list-item__text").textContent;let b=hasClosestByClassName(g,"b3-list");b&&(b=b.querySelector(".b3-list-item--focus"),b&&b.classList.remove("b3-list-item--focus")),g.classList.add("b3-list-item--focus"),d.stopPropagation(),d.preventDefault();break}else if(p==="genRepo"){const m=new Dialog({title:window.siyuan.languages.snapshotMemo,content:`<div class="b3-dialog__content">
1733    <textarea class="b3-text-field fn__block" placeholder="${window.siyuan.languages.snapshotMemoTip}"></textarea>
1734</div>
1735<div class="b3-dialog__action">
1736    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
1737    <button class="b3-button b3-button--text">${window.siyuan.languages.confirm}</button>
1738</div>`,width:isMobile()?"92vw":"520px"});m.element.setAttribute("data-key",Constants.DIALOG_SNAPSHOTMEMO);const b=m.element.querySelector("textarea");b.focus();const E=m.element.querySelectorAll(".b3-button");m.bindInput(b,()=>{E[1].click()}),E[0].addEventListener("click",()=>{m.destroy()}),E[1].addEventListener("click",()=>{fetchPost("/api/repo/createSnapshot",{memo:b.value},()=>{lt(r,1)}),m.destroy()}),d.stopPropagation(),d.preventDefault();break}else if(p==="removeRepoTagSnapshot"||p==="removeCloudRepoTagSnapshot"){const m=g.parentElement.getAttribute("data-tag");confirmDialog(window.siyuan.languages.deleteOpConfirm,`${window.siyuan.languages.confirmDelete} <i>${m}</i>?`,()=>{fetchPost("/api/repo/"+p,{tag:m},()=>{lt(r,1)})},void 0,!0),d.stopPropagation(),d.preventDefault();break}
1738else if(p==="uploadSnapshot"){fetchPost("/api/repo/uploadCloudSnapshot",{tag:g.parentElement.getAttribute("data-tag"),id:g.parentElement.getAttribute("data-id")}),d.stopPropagation(),d.preventDefault();break}else if(p==="downloadSnapshot"){fetchPost("/api/repo/downloadCloudSnapshot",{tag:g.parentElement.getAttribute("data-tag"),id:g.parentElement.getAttribute("data-id")}),d.stopPropagation(),d.preventDefault();break}else if(p==="genTag"){const m=new Dialog({title:window.siyuan.languages.tagSnapshot,content:`<div class="b3-dialog__content">
1739    <input class="b3-text-field fn__block" value="${dayjs().format("YYYYMMDDHHmmss")}" placeholder="${window.siyuan.languages.tagSnapshotTip}">
1740</div>
1741<div class="b3-dialog__action">
1742    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
1743    <button class="b3-button b3-button--text">${window.siyuan.languages.tagSnapshot}</button><div class="fn__space"></div>
1744    <button class="b3-button b3-button--text">${window.siyuan.languages.tagSnapshotUpload}</button>
1745</div>`,width:isMobile()?"92vw":"520px"});m.element.setAttribute("data-key",Constants.DIALOG_SNAPSHOTTAG);const b=m.element.querySelector(".b3-text-field");b.select();const E=m.element.querySelectorAll(".b3-button");E[0].addEventListener("click",()=>{m.destroy()}),E[2].addEventListener("click",()=>{fetchPost("/api/repo/tagSnapshot",{id:g.parentElement.getAttribute("data-id"),name:b.value},()=>{fetchPost("/api/repo/uploadCloudSnapshot",{tag:b.value,id:g.parentElement.getAttribute("data-id")},()=>{lt(r,1)})}),m.destroy()}),E[1].addEventListener("click",()=>{fetchPost("/api/repo/tagSnapshot",{id:g.parentElement.getAttribute("data-id"),name:b.value},()=>{lt(r,1)}),m.destroy()}),d.stopPropagation(),d.preventDefault();break}else if((p==="previous"||p==="next")&&g.getAttribute("disabled")!=="disabled"){const m=parseInt(r.getAttribute("data-page"));lt(r,p==="previous"?m-1:m+1),d.stopPropagation(),d.preventDefault();break}else if(p==="jumpRepoPage"){const m=parseInt(r.getAttribute("data-page")),b=parseInt(g.getAttribute("data-totalpage")||"1");b>1&&confirmDialog(window.siyuan.languages.jumpToPage.replace("${x}",b),`<input class="b3-text-field fn__block" type="number" min="1" max="${b}" value="${m}">`,E=>{const k=E.element.querySelector(".b3-text-field");if(k.value==="")return;let A=parseInt(k.value);A=Math.max(1,Math.min(A,b)),lt(r,A)})}else if(p==="jumpHistoryPage"){const m=parseInt(c.getAttribute("data-page")),b=parseInt(g.getAttribute("data-totalpage")||"1");b>1&&confirmDialog(window.siyuan.languages.jumpToPage.replace("${x}",b),`<input class="b3-text-field fn__block" type="number" min="1" max="${b}" value="${m}">`,E=>{const k=E.element.querySelector(".b3-text-field");if(k.value==="")return;let A=parseInt(k.value);A=Math.max(1,Math.min(A,b)),Dt(a,A)})}else if((p==="docprevious"||p==="docnext")&&g.getAttribute("disabled")!=="disabled"){const m=parseInt(a.getAttribute("data-page"));Dt(a,p==="docprevious"?m-1:m+1),d.stopPropagation(),d.preventDefault();break}else if(p==="rebuildIndex"){fetchPost("/api/history/reindexHistory"),n?n.destroy():(closeModel(),yt=void 0),d.stopPropagation(),d.preventDefault();break}else if(p==="compare"&&!g.getAttribute("disabled")){showDiff(e,JSON.parse(g.getAttribute("data-ids")||"[]")),d.stopPropagation(),d.preventDefault();break}g=g.parentElement}})},Lu=e=>{setTitle(window.siyuan.languages.siyuanNote),document.getElementById("toolbarName").classList.add("fn__hidden"),document.getElementById("editor").classList.add("fn__none");const t=document.getElementById("empty");t.classList.remove("fn__none"),t.innerHTML===""&&(t.innerHTML=`<div id="emptySearch" class="b3-list-item">
1746    <svg class="b3-list-item__graphic"><use xlink:href="#iconSearch"></use></svg><span class="fn__space"></span><span class="b3-list-item__text">${window.siyuan.languages.search}</span>
1747</div>
1748<div id="emptyRecent" class="b3-list-item">
1749    <svg class="b3-list-item__graphic"><use xlink:href="#iconList"></use></svg><span class="fn__space"></span><span class="b3-list-item__text">${window.siyuan.languages.recentDocs}</span>
1750</div>
1751<div id="emptyHistory" class="b3-list-item${window.siyuan.config.readonly?" fn__none":""}">
1752    <svg class="b3-list-item__graphic"><use xlink:href="#iconHistory"></use></svg><span class="fn__space"></span><span class="b3-list-item__text">${window.siyuan.languages.dataHistory}</span>
1753</div>
1754<div id="emptyNewFile" class="b3-list-item${getOpenNotebookCount()>0||!window.siyuan.config.readonly?"":" fn__none"}">
1755    <svg class="b3-list-item__graphic"><use xlink:href="#iconFile"></use></svg><span class="fn__space"></span><span class="b3-list-item__text">${window.siyuan.languages.newFile}</span>
1756</div>
1757<div class="b3-list-item" id="emptyNewNotebook${window.siyuan.config.readonly?" fn__none":""}">
1758    <svg class="b3-list-item__graphic"><use xlink:href="#iconFilesRoot"></use></svg><span class="fn__space"></span><span class="b3-list-item__text">${window.siyuan.languages.newNotebook}</span>
1759</div>
1760<div class="b3-list-item${isIPhone()||window.siyuan.config.readonly?" fn__none":""}" id="emptyHelp">
1761    <svg class="b3-list-item__graphic"><use xlink:href="#iconHelp"></use></svg><span class="fn__space"></span><span class="b3-list-item__text">${window.siyuan.languages.userGuide}</span>
1762</div>`,t.addEventListener("click",n=>{let a=n.target;for(;a&&!a.isEqualNode(t);){if(a.id==="emptySearch"){popSearch(e),n.stopPropagation(),n.preventDefault();break}else if(a.id==="emptyRecent"){getRecentDocs(e),n.stopPropagation(),n.preventDefault();break}else if(a.id==="emptyHistory"){openHistory(e),n.stopPropagation(),n.preventDefault();break}else if(a.id==="emptyNewFile"){newFile({app:e,useSavePath:!0}),n.stopPropagation(),n.preventDefault();break}else if(a.id==="emptyNewNotebook"){newNotebook(),n.stopPropagation(),n.preventDefault();break}else if(a.id==="emptyHelp"){mountHelp(),n.stopPropagation(),n.preventDefault();break}a=a.parentElement}}))},xu=()=>{const e=document.getElementById("toolbarName");setTitle(e.value),e.classList.remove("fn__hidden"),document.getElementById("editor").classList.remove("fn__none"),document.getElementById("empty").classList.add("fn__none")},Tu=(e,t=!1)=>
1762{if(!e.wysiwyg.element.firstElementChild||window.siyuan.config.readonly)return;const n={rootId:e.block.rootID,startId:e.wysiwyg.element.firstElementChild.getAttribute("data-node-id"),endId:e.wysiwyg.element.lastElementChild.getAttribute("data-node-id"),scrollTop:e.contentElement.scrollTop||parseInt(e.contentElement.getAttribute("data-scrolltop"))||0};let a;if(getSelection().rangeCount>0&&(a=getSelection().getRangeAt(0)),(!a||!e.wysiwyg.element.contains(a.startContainer))&&(a=e.toolbar.range),a&&e.wysiwyg.element.contains(a.startContainer)){const i=hasClosestBlock(a.startContainer);if(i){const s=getSelectionOffset(i,void 0,a);n.focusId=i.getAttribute("data-node-id"),n.focusStart=s.start,n.focusEnd=s.end}}return e.block.showAll&&(n.zoomInId=e.block.id),t?n:(window.siyuan.storage[Constants.LOCAL_FILEPOSITION][e.block.rootID]=n,new Promise(i=>{setStorageVal(Constants.LOCAL_FILEPOSITION,window.siyuan.storage[Constants.LOCAL_FILEPOSITION],()=>{i(!0)})}))},Iu=e=>{var t,n,a,i,s,o,l,r,c,f,d,u,g;let p=[];if(e.mergedOptions?p=e.mergedOptions.action:e.focus?p=[Constants.CB_GET_UNUNDO,Constants.CB_GET_FOCUS]:p=[Constants.CB_GET_UNUNDO],(t=e.scrollAttr)!=null&&t.zoomInId){fetchPost("/api/filetree/getDoc",{id:e.scrollAttr.zoomInId,size:Constants.SIZE_GET_MAX,query:(n=e.protyle.query)==null?void 0:n.key,queryMethod:(a=e.protyle.query)==null?void 0:a.method,queryTypes:(i=e.protyle.query)==null?void 0:i.types,highlight:!isSupportCSSHL()},m=>{var b,E,k,A,v;m.code===1?fetchPost("/api/filetree/getDoc",{id:e.scrollAttr.rootId||((b=e.mergedOptions)==null?void 0:b.blockId)||((E=e.protyle.block)==null?void 0:E.rootID)||e.scrollAttr.startId,query:(k=e.protyle.query)==null?void 0:k.key,queryMethod:(A=e.protyle.query)==null?void 0:A.method,queryTypes:(v=e.protyle.query)==null?void 0:v.types,highlight:!isSupportCSSHL()},w=>{onGet({data:w,protyle:e.protyle,action:p,scrollAttr:e.scrollAttr,afterCB:e.cb?()=>{e.cb(w.data.keywords)}:void 0,updateReadonly:e.updateReadonly})}):(p.push(Constants.CB_GET_ALL),onGet({data:m,protyle:e.protyle,action:p,scrollAttr:e.scrollAttr,afterCB:e.cb?()=>{e.cb(m.data.keywords)}:void 0,updateReadonly:e.updateReadonly}))});return}fetchPost("/api/filetree/getDoc",{id:((s=e.scrollAttr)==null?void 0:s.rootId)||((o=e.mergedOptions)==null?void 0:o.blockId)||((l=e.protyle.block)==null?void 0:l.rootID)||((r=e.scrollAttr)==null?void 0:r.startId),startID:(c=e.scrollAttr)==null?void 0:c.startId,endID:(f=e.scrollAttr)==null?void 0:f.endId,query:(d=e.protyle.query)==null?void 0:d.key,queryMethod:(u=e.protyle.query)==null?void 0:u.method,queryTypes:(g=e.protyle.query)==null?void 0:g.types,highlight:!isSupportCSSHL()},m=>{onGet({data:m,protyle:e.protyle,action:p,scrollAttr:e.scrollAttr,afterCB:e.cb?()=>{e.cb(m.data.keywords)}:void 0,updateReadonly:e.updateReadonly})})};class Mu{constructor(t,n,a){this.version=Constants.SIYUAN_VERSION;let i=a;t.plugins.forEach(l=>{l.protyleOptions&&(i=merge(i,l.protyleOptions))});const o=new Options(i).merge();if(this.protyle={getInstance:()=>this,app:t,transactionTime:new Date().getTime(),id:genUUID(),disabled:!1,updated:!1,element:n,options:o,block:{},highlight:{mark:isSupportCSSHL()?new Highlight:void 0,markHL:isSupportCSSHL()?new Highlight:void 0,ranges:[],rangeIndex:0,styleElement:document.createElement("style")}},isSupportCSSHL()){const l=genUUID();this.protyle.highlight.styleElement.dataset.uuid=l,this.protyle.highlight.styleElement.textContent=`.protyle-wysiwyg::highlight(search-mark-${l}) {background-color: var(--b3-highlight-background);color: var(--b3-highlight-color);}
1763  .protyle-wysiwyg::highlight(search-mark-hl-${l}) {color: var(--b3-highlight-color);background-color: var(--b3-highlight-current-background)}`}if(this.protyle.hint=new Hint(this.protyle),o.render.breadcrumb&&(this.protyle.breadcrumb=new Breadcrumb(this.protyle)),o.render.title&&(this.protyle.title=new Title(this.protyle)),o.render.background&&(this.protyle.background=new Background(this.protyle)),this.protyle.element.innerHTML="",this.protyle.element.classList.add("protyle"),o.render.breadcrumb&&this.protyle.element.appendChild(this.protyle.breadcrumb.element.parentElement),this.protyle.undo=new Undo,this.protyle.wysiwyg=new WYSIWYG(this.protyle),this.protyle.toolbar=ne
1763w Toolbar(this.protyle),this.protyle.scroll=new Scroll(this.protyle),this.protyle.options.render.gutter&&(this.protyle.gutter=new Gutter(this.protyle)),(o.upload.url||o.upload.handler)&&(this.protyle.upload=new Upload),this.init(),o.action.includes(Constants.CB_GET_HISTORY))this.protyle.contentElement.classList.add("protyle-content--transition");else{if(this.protyle.ws=new Model({app:t,id:this.protyle.id,type:"protyle",msgCallback:l=>{var r;switch(l.cmd){case"reload":l.data===this.protyle.block.rootID&&reloadProtyle(this.protyle,!1);break;case"refreshAttributeView":Array.from(this.protyle.wysiwyg.element.querySelectorAll(`[data-av-id="${l.data.id}"]`)).forEach(c=>{c.removeAttribute("data-render"),avRender(c,this.protyle)});break;case"addLoading":l.data===this.protyle.block.rootID&&addLoading(this.protyle,l.msg);break;case"transactions":l.data[0].doOperations.find(c=>{if(!this.protyle.preview.element.classList.contains("fn__none")&&c.action!=="updateAttrs")this.protyle.preview.render(this.protyle);else{if(a.backlinkData&&["delete","move"].includes(c.action))return!0;if(onTransaction(this.protyle,c,!1),this.protyle.wysiwyg.element.childElementCount===0&&this.protyle.block.parentID){const f=Lute.NewNodeID(),d=genEmptyElement(!1,!1,f);this.protyle.wysiwyg.element.append(d),transaction(this.protyle,[{action:"insert",data:d.outerHTML,id:f,parentID:this.protyle.block.parentID}]),this.protyle.undo.clear()}}});break;case"readonly":window.siyuan.config.editor.readOnly=l.data,setReadonlyByConfig(this.protyle,!0);break;case"heading2doc":case"li2doc":this.protyle.block.rootID===l.data.srcRootBlockID&&(this.protyle.block.showAll&&l.cmd==="heading2doc"&&!this.protyle.options.backlinkData?fetchPost("/api/filetree/getDoc",{id:this.protyle.block.rootID,size:window.siyuan.config.editor.dynamicLoadBlocks},c=>{onGet({data:c,protyle:this.protyle})}):reloadProtyle(this.protyle,!1));break;case"rename":this.protyle.path===l.data.path&&(this.protyle.model&&this.protyle.model.parent.updateTitle(l.data.title),this.protyle.background&&(this.protyle.background.ial.title=l.data.title)),this.protyle.options.render.title&&this.protyle.block.parentID===l.data.id&&(!document.body.classList.contains("body--blur")&&get
1763Selection().rangeCount>0&&((r=this.protyle.title.editElement)!=null&&r.contains(getSelection().getRangeAt(0).startContainer))||this.protyle.title.setTitle(l.data.title)),this.protyle.wysiwyg.element.querySelectorAll(`[data-type~="block-ref"][data-id="${l.data.id}"]`).forEach(c=>{c.getAttribute("data-subtype")==="d"&&(c.innerHTML=l.data.refText)});break;case"moveDoc":this.protyle.path===l.data.fromPath&&(this.protyle.path=l.data.newPath,this.protyle.notebookId=l.data.toNotebook);break;case"unmount":this.protyle.notebookId===l.data.box&&setEmpty(t);break;case"removeDoc":l.data.ids.includes(this.protyle.block.rootID)&&(setEmpty(t),delete window.siyuan.storage[Constants.LOCAL_FILEPOSITION][this.protyle.block.rootID],setStorageVal(Constants.LOCAL_FILEPOSITION,window.siyuan.storage[Constants.LOCAL_FILEPOSITION]));break}}}),a.backlinkData){this.protyle.block.rootID=a.blockId,renderBacklink(this.protyle,a.backlinkData),this.protyle.wysiwyg.element.style.padding="4px 16px 4px 24px";return}if(!a.blockId){removeLoading(this.protyle);return}this.protyle.options.mode!=="preview"&&a.rootId&&window.siyuan.storage[Constants.LOCAL_FILEPOSITION][a.rootId]&&(o.action.includes(Constants.CB_GET_SCROLL)||o.action.includes(Constants.CB_GET_ROOTSCROLL)&&a.rootId===a.blockId)?getDocByScroll({protyle:this.protyle,scrollAttr:window.siyuan.storage[Constants.LOCAL_FILEPOSITION][a.rootId],mergedOptions:o,cb:()=>{this.afterOnGet(o)}}):this.getDoc(o)}}getDoc(t){var n;fetchPost("/api/filetree/getDoc",{id:t.blockId,isBacklink:t.action.includes(Constants.CB_GET_BACKLINK),originalRefBlockIDs:t.originalRefBlockIDs,mode:t.action&&t.action.includes(Constants.CB_GET_CONTEXT)?3:0,size:(n=t.action)!=null&&n.includes(Constants.CB_GET_ALL)?Constants.SIZE_GET_MAX:window.siyuan.config.editor.dynamicLoadBlocks},a=>{onGet({data:a,protyle:this.protyle,action:t.action,afterCB:()=>{this.afterOnGet(t)}})})}afterOnGet(t){this.protyle.model,resize(this.protyle),this.protyle.wysiwyg.element.addEventListener("focusin",()=>{}),t.after&&t.after(this),this.protyle.contentElement.classList.add("protyle-content--transition")}init(){this.protyle.lute=setLute({emojiSite:this.protyle.options.hint.emojiPath,emojis:this.protyle.options.hint.emoji,headingAnchor:!1,listStyle:this.protyle.options.preview.markdown.listStyle,paragraphBeginningSpace:this.protyle.options.preview.markdown.paragraphBeginningSpace,sanitize:this.protyle.options.preview.markdown.sanitize}),this.protyle.preview=new Preview(this.protyle),initUI(this.protyle)}focus(){this.protyle.wysiwyg.element.focus()}isUploading(){return this.protyle.upload.isUploading}clearStack(){this.protyle.undo.clear()}destroy(){destroy(this.protyle)}resize(){resize(this.protyle)}reload(t){reloadProtyle(this.protyle,t)}insert(t,n=!1,a=!1){insertHTML(t,this.protyle,n,a)}transaction(t,n){transaction(this.protyle,t,n)}turnIntoOneTransaction(t,n,a){turnsIntoOneTransaction({protyle:this.protyle,selectsElement:t,type:n,level:a})}turnIntoTransaction(t,n,a){turnsIntoTransaction({protyle:this.protyle,nodeElement:t,type:n,level:a})}updateTransaction(t,n,a){updateTransaction(this.protyle,t,n,a)}updateBatchTransaction(t,n){updateBatchTransaction(t,this.protyle,n)}getRange(t){return getEditorRange(t)}hasClosestBlock(t){return hasClosestBlock(t)}focusBlock(t,n=!0){return focusBlock(t,void 0,n)}disable(){disabledProtyle(this.protyle)}enable(){enableProtyle(this.protyle)}renderAVAttribute(t,n,a){renderAVAttribute(t,n,this.protyle,a)}}const ua=()=>window.siyuan.mobile.popEditor||window.siyuan.mobile.editor,Du=(e,t,n=[Constants.CB_GET_HL])=>{window.siyuan.storage[Constants.LOCAL_DOCINFO]={id:t},setStorageVal(Constants.LOCAL_DOCINFO,window.siyuan.storage[Constants.LOCAL_DOCINFO]);const a=document.querySelector(".av__panel");if(a&&!a.classList.contains("fn__none")&&a.dispatchEvent(new CustomEvent("click",{detail:"close"})),window.siyuan.mobile.editor){saveScroll(window.siyuan.mobile.editor.protyle),hideElements(["toolbar","hint","util"],window.siyuan.mobile.editor.protyle),window.siyuan.mobile.editor.protyle.contentElement.classList.contains("fn__none")&&setEditMode(window.siyuan.mobile.editor.protyle,"wysiwyg");let i;if(Array.from(window.siyuan.mobile.editor.protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${t}"]`)).find(s=>{if(!isInEmbedBlock(s))return i=s,!0}),i){pushBack(),scrollCenter(window.siyuan.mobile.editor.protyle,i,!0),closePanel();return}}fetchPost("/api/block/getBlockInfo",{id:t},i=>
1763{if(i.code===3){showMessage(i.msg);return}const s={blockId:t,rootId:i.data.rootID,action:n,render:{scroll:!0,title:!0,background:!0,gutter:!0},typewriterMode:!0,preview:{actions:["mp-wechat","zhihu","yuque"]}};window.siyuan.mobile.editor?(window.siyuan.mobile.editor.protyle.title.element.removeAttribute("data-render"),pushBack(),addLoading(window.siyuan.mobile.editor.protyle),window.siyuan.mobile.editor.protyle.block.rootID!==i.data.rootID&&(window.siyuan.mobile.editor.protyle.wysiwyg.element.innerHTML=""),n.includes(Constants.CB_GET_SCROLL)&&window.siyuan.storage[Constants.LOCAL_FILEPOSITION][i.data.rootID]?getDocByScroll({protyle:window.siyuan.mobile.editor.protyle,scrollAttr:window.siyuan.storage[Constants.LOCAL_FILEPOSITION][i.data.rootID],mergedOptions:s,cb(){e.plugins.forEach(o=>{o.eventBus.emit("switch-protyle",{protyle:window.siyuan.mobile.editor.protyle})})}}):fetchPost("/api/filetree/getDoc",{id:t,size:n.includes(Constants.CB_GET_ALL)?Constants.SIZE_GET_MAX:window.siyuan.config.editor.dynamicLoadBlocks,mode:n.includes(Constants.CB_GET_CONTEXT)?3:0},o=>{onGet({data:o,protyle:window.siyuan.mobile.editor.protyle,action:n,afterCB(){e.plugins.forEach(l=>{l.eventBus.emit("switch-protyle",{protyle:window.siyuan.mobile.editor.protyle})})}})}),window.siyuan.mobile.editor.protyle.undo.clear()):window.siyuan.mobile.editor=new Protyle(e,document.getElementById("editor"),s),setEditor(),closePanel()})};let Ss,Wt=!1;const ne=(e,t,n,a="false")=>{let i;return t&&t.startsWith("icon")?i=`<svg class="keyboard__slash-icon"><use xlink:href="#${t}"></use></svg>`:i=t,`<button class="keyboard__slash-item" data-focus="${a}" data-value="${encodeURIComponent(e)}">
1764    ${i}
1765    <span class="keyboard__slash-text">${n}</span>
1766</button>`},zo=(e,t)=>{let n="";["","var(--b3-font-color1)","var(--b3-font-color2)","var(--b3-font-color3)","var(--b3-font-color4)","var(--b3-font-color5)","var(--b3-font-color6)","var(--b3-font-color7)","var(--b3-font-color8)","var(--b3-font-color9)","var(--b3-font-color10)","var(--b3-font-color11)","var(--b3-font-color12)","var(--b3-font-color13)"].forEach((d,u)=>{n+=`<button class="keyboard__slash-item" data-type="color">
1767    <span class="keyboard__slash-icon" ${d?`style="color:${d}"`:""}>A</span>
1768    <span class="keyboard__slash-text">${window.siyuan.languages.colorFont} ${d?u+1:window.siyuan.languages.default}</span>
1769</button>`});let a="";["","var(--b3-font-background1)","var(--b3-font-background2)","var(--b3-font-background3)","var(--b3-font-background4)","var(--b3-font-background5)","var(--b3-font-background6)","var(--b3-font-background7)","var(--b3-font-background8)","var(--b3-font-background9)","var(--b3-font-background10)","var(--b3-font-background11)","var(--b3-font-background12)","var(--b3-font-background13)"].forEach((d,u)=>{a+=`<button class="keyboard__slash-item" data-type="backgroundColor">
1770    <span class="keyboard__slash-icon" ${d?`style="background-color:${d}"`:""}>A</span>
1771    <span class="keyboard__slash-text">${window.siyuan.languages.colorPrimary} ${d?u+1:window.siyuan.languages.default}</span>
1772</button>`});const i=getFontNodeElements(e);let s=!1;i==null||i.find(d=>{if(d.classList.contains("li"))return s=!0,!0});let o="";const l=window.siyuan.storage[Constants.LOCAL_FONTSTYLES];l.length>0&&(o=`<div class="keyboard__slash-title">
1773    ${window.siyuan.languages.lastUsed}
1774</div>
1775<div class="keyboard__slash-block">`,l.forEach(d=>{const u=d.split(Constants.ZWSP);switch(u[0]){case"color":o+=`<button class="keyboard__slash-item" data-type="${u[0]}">
1776    <span class="keyboard__slash-icon" ${u[1]?`style="color:${u[1]}"`:""} >A</span>
1777    <span class="keyboard__slash-text">${window.siyuan.languages.colorFont} ${u[1]?parseInt(u[1].replace("var(--b3-font-color",""))+1:window.siyuan.languages.default}</span>
1778</button>`;break;case"backgroundColor":o+=`<button class="keyboard__slash-item" data-type="${u[0]}">
1779    <span class="keyboard__slash-icon" ${u[1]?`style="background-color:${u[1]}"`:""}>A</span>
1780    <span class="keyboard__slash-text">${window.siyuan.languages.colorPrimary} ${u[1]?parseInt(u[1].replace("var(--b3-font-background",""))+1:window.siyuan.languages.default}</span>
1781</button>`;break;case"style2":o+=`<button class="keyboard__slash-item" data-type="${u[0]}">
1782    <span class="keyboard__slash-text" style="-webkit-text-stroke: 0.2px var(--b3-theme-on-background);-webkit-text-fill-color : transparent;">${window.siyuan.languages.hollow}</span>
1783</button>`;break;
1783case"style4":o+=`<button class="keyboard__slash-item" data-type="${u[0]}">
1784    <span class="keyboard__slash-text" style="text-shadow: 1px 1px var(--b3-theme-surface-lighter), 2px 2px var(--b3-theme-surface-lighter), 3px 3px var(--b3-theme-surface-lighter), 4px 4px var(--b3-theme-surface-lighter)">${window.siyuan.languages.shadow}</span>
1785</button>`;break;case"fontSize":s||(o+=`<button class="keyboard__slash-item" data-type="${u[0]}">
1786    <span class="keyboard__slash-text">${u[1]}</span>
1787</button>`);break;case"style1":u[1]?o+=`<button class="keyboard__slash-item" data-type="${u[0]}">
1788    <span class="keyboard__slash-icon" style="background-color:${u[1]};color:${u[2]}">A</span>
1789    <span class="keyboard__slash-text">${window.siyuan.languages[u[2].replace("var(--b3-card-","").replace("-color)","")+"Style"]}</span>
1790</button>`:o+=`<button class="keyboard__slash-item" data-type="${u[0]}">
1791    <span class="keyboard__slash-icon">A</span>
1792    <span class="keyboard__slash-text">${window.siyuan.languages.color} ${window.siyuan.languages.default}</span>
1793</button>`;break;case"clear":o+=`<button class="keyboard__slash-item" data-type="${u[0]}">
1794    <span class="keyboard__slash-text">${window.siyuan.languages.clearFontStyle}</span>
1795</button>`;break}}),o+="</div>");let r,c="16px";i&&i.length>0?r=i[0]:(r=e.toolbar.range.cloneContents().querySelector('[data-type~="text"]'),r||(r=hasClosestByAttribute(e.toolbar.range.startContainer,"data-type","text"))),r&&(c=r.style.fontSize||"16px");const f=t.querySelector(".keyboard__util");f.innerHTML=`${o}
1796<div class="keyboard__slash-title">${window.siyuan.languages.color}</div>
1797<div class="keyboard__slash-block">
1798    <button class="keyboard__slash-item" data-type="style1">
1799        <span class="keyboard__slash-icon">A</span>
1800        <span class="keyboard__slash-text">${window.siyuan.languages.color} ${window.siyuan.languages.default}</span>
1801    </button>
1802    <button class="keyboard__slash-item" data-type="style1">
1803        <span class="keyboard__slash-icon" style="color: var(--b3-card-error-color);background-color: var(--b3-card-error-background);">A</span>
1804        <span class="keyboard__slash-text">${window.siyuan.languages.errorStyle}</span>
1805    </button>
1806    <button class="keyboard__slash-item" data-type="style1">
1807        <span class="keyboard__slash-icon" style="color: var(--b3-card-warning-color);background-color: var(--b3-card-warning-background);">A</span>
1808        <span class="keyboard__slash-text">${window.siyuan.languages.warningStyle}</span>
1809    </button>
1810    <button class="keyboard__slash-item" data-type="style1">
1811        <span class="keyboard__slash-icon" style="color: var(--b3-card-info-color);background-color: var(--b3-card-info-background);">A</span>
1812        <span class="keyboard__slash-text">${window.siyuan.languages.infoStyle}</span>
1813    </button>
1814    <button class="keyboard__slash-item" data-type="style1">
1815        <span class="keyboard__slash-icon" style="color: var(--b3-card-success-color);background-color: var(--b3-card-success-background);">A</span>
1816        <span class="keyboard__slash-text">${window.siyuan.languages.successStyle}</span>
1817    </button>
1818</div>
1819<div class="keyboard__slash-title">${window.siyuan.languages.colorFont}</div>
1820<div class="keyboard__slash-block">
1821    ${n}
1822</div>
1823<div class="keyboard__slash-title">${window.siyuan.languages.colorPrimary}</div>
1824<div class="keyboard__slash-block">
1825    ${a}
1826</div>
1827<div class="keyboard__slash-title">${window.siyuan.languages.fontStyle}</div>
1828<div class="keyboard__slash-block">
1829    <button class="keyboard__slash-item" data-type="style2">
1830        <span class="keyboard__slash-text" style="-webkit-text-stroke: 0.2px var(--b3-theme-on-background);-webkit-text-fill-color : transparent;">${window.siyuan.languages.hollow}</span>
1831    </button>
1832    <button class="keyboard__slash-item" data-type="style4">
1833        <span class="keyboard__slash-text" style="text-shadow: 1px 1px var(--b3-theme-surface-lighter), 2px 2px var(--b3-theme-surface-lighter), 3px 3px var(--b3-theme-surface-lighter), 4px 4px var(--b3-theme-surface-lighter)">${window.siyuan.languages.shadow}</span>
1834    </button>
1835    <button class="keyboard__slash-item" data-type="clear">
1836        <svg class="keyboard__slash-icon"><use xlink:href="#iconTrashcan"></use></svg>
1837        <span class="keyboard__slash-text">${window.siyuan.languages.clearFontStyle}</span>
1838    </button>
1839</div>
1840<div class="keyboard__slash-title${s?" fn__none":""}">${window.siyuan.languages.fontSize}</div>
1841<div class="keyboard__slash-block${s?" fn__none":""}">
1842    <select class="b3-select fn__block" style="width: calc(50% - 8px);margin: 4px 0 8px 0;">
1843        <option ${c==="12px"?"selected":""} value="12px">12px</option>
1844        <option ${c==="13px"?"selected":""} value="13px">13px</option>
1845        <option ${c==="14px"?"selected":""} value="14px">14px</option>
1846        <option ${c==="15px"?"selected":""} value="15px">15px</option>
1847        <option ${c==="16px"?"selected":""} value="16px">16px</option>
1848        <option ${c==="19px"?"selected":""} value="19px">19px</option>
1849        <option ${c==="22px"?"selected":""} value="22px">22px</option>
1850        <option ${c==="24px"?"selected":""} value="24px">24px</option>
1851        <option ${c==="29px"?"selected":""} value="29px">29px</option>
1852        <option ${c==="32px"?"selected":""} value="32px">32px</option>
1853        <option ${c==="40px"?"selected":""} value="40px">40px</option>
1854        <option ${c==="48px"?"selected":""} value="48px">48px</option>
1855    </select>
1856</div>`,f.querySelector("select").addEventListener("change",function(d){fontEvent(e,i,"fontSize",d.target.value)})},Zo=(e,t)=>{e.hint.splitChar="/",e.hint.lastIndex=-1;let n="";e.app.plugins.forEach(i=>{i.protyleSlash.forEach(s=>{n+=ne(`plugin${Constants.ZWSP}${i.name}${Constants.ZWSP}${s.id}`,"",s.html,"true")})}),n&&(n=`<div class="keyboard__slash-title"></div><div class="keyboard__slash-block">${n}</div>`);const a=t.querySelector(".keyboard__util");a.innerHTML=`<div class="keyboard__slash-title"></div>
1857<div class="keyboard__slash-block">
1858    ${ne(Constants.ZWSP,"iconMarkdown",window.siyuan.languages.template)}
1859    ${ne(Constants.ZWSP+1,"iconBoth",window.siyuan.languages.widget)}
1860    ${ne(Constants.ZWSP+2,"iconImage",window.siyuan.languages.assets)}
1861    ${ne("((","iconRef",window.siyuan.languages.ref,"true")}
1862    ${ne("{{","iconSQL",window.siyuan.languages.blockEmbed,"true")}
1863    ${ne(Constants.ZWSP+5,"iconSparkles",window.siyuan.languages.aiWriting)}
1864    ${ne('<div data-type="NodeAttributeView" data-av-type="table"></div>',"iconDatabase",window.siyuan.languages.database,"true")}
1865    ${ne(Constants.ZWSP+4,"iconFile",window.siyuan.languages.newSubDocRef)}
1866</div>
1867<div class="keyboard__slash-title"></div>
1868<div class="keyboard__slash-block">
1869    ${ne(Constants.ZWSP+3,"iconDownload",window.siyuan.languages.insertAsset+'<input class="b3-form__upload" type="file"'+(e.options.upload.accept?' multiple="'+e.options.upload.accept+'"':"")+"/>","true")}
1870    ${isInAndroid()?ne(Constants.ZWSP+3,"iconCamera",window.siyuan.languages.insertPhoto+'<input class="b3-form__upload" capture="user" type="file"'+(e.options.upload.accept?' multiple="'+e.options.upload.accept+'"':"")+"/>","true"):""}
1871    ${ne('<iframe sandbox="allow-forms allow-presentation allow-same-origin allow-scripts allow-modals allow-popups" src="" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>',"iconLanguage",window.siyuan.languages.insertIframeURL,"true")}
1872    ${ne("![]()","iconImage",window.siyuan.languages.insertImgURL,"true")}
1873    ${ne('<video controls="controls" src=""></video>',"iconVideo",window.siyuan.languages.insertVideoURL,"true")}
1874    ${ne('<audio controls="controls" src=""></audio>',"iconRecord",window.siyuan.languages.insertAudioURL,"true")}
1875    ${ne("emoji","iconEmoji",window.siyuan.languages.emoji,"true")}
1876</div>
1877<div class="keyboard__slash-title"></div>
1878<div class="keyboard__slash-block">
1879    ${ne("# "+Lute.Caret,"iconH1",window.siyuan.languages.heading1,"true")}
1880    ${ne("## "+Lute.Caret,"iconH2",window.siyuan.languages.heading2,"true")}
1881    ${ne("### "+Lute.Caret,"iconH3",window.siyuan.languages.heading3,"true")}
1882    ${ne("#### "+Lute.Caret,"iconH4",window.siyuan.languages.heading4,"true")}
1883    ${ne("##### "+Lute.Caret,"iconH5",window.siyuan.languages.heading5,"true")}
1884    ${ne("###### "+Lute.Caret,"iconH6",window.siyuan.languages.heading6,"true")}
1885    ${ne("* "+Lute.Caret,"iconList",window.siyuan.languages.list,"true")}
1886    ${ne("1. "+Lute.Caret,"iconOrderedList",window.siyuan.languages["ordered-list"],"true")}
1887    ${ne("* [ ] "+Lute.Caret,"iconCheck",window.siyuan.languages.check,"true")}
1888    ${ne("> "+Lute.Caret,"iconQuote",window.siyuan.languages.quote,"true")}
1889    ${ne("```","iconCode",window.siyuan.languages.code,"true")}
1890    ${ne(`| ${Lute.Caret} |  |  |
1891| --- | --- | --- |
1892|  |  |  |
1893|  |  |  |`,"iconTable",window.siyuan.languages.table,"true")}
1894    ${ne("---","iconLine",window.siyuan.languages.line,"true")}
1895    ${ne("$$","iconMath",window.siyuan.languages.math)}
1896    ${ne("<div>","iconHTML5","HTML")}
1897</div>
1898<div class="keyboard__slash-title"></div>
1899<div class="keyboard__slash-block">
1900    ${ne("```abc\n```","",window.siyuan.languages.staff,"true")}
1901    ${ne("```echarts\n```","",window.siyuan.languages.chart,"true")}
1902    ${ne("```flowchart\n```","","Flow Chart","true")}
1903    ${ne("```graphviz\n```","","Graph","true")}
1904    ${ne("```mermaid\n```","","Mermaid","true")}
1905    ${ne("```mindmap\n```","",window.siyuan.languages.mindmap,"true")}
1906    ${ne("```plantuml\n```","","UML","true")}
1907</div>
1908<div class="keyboard__slash-title"></div>
1909<div class="keyboard__slash-block">
1910    ${ne(`style${Constants.ZWSP}color: var(--b3-card-info-color);background-color: var(--b3-card-info-background);`,'<div style="color: var(--b3-card-info-color);background-color: var(--b3-card-info-background);" class="keyboard__slash-icon">A</div>',window.siyuan.languages.infoStyle,"true")}
1911    ${ne(`style${Constants.ZWSP}color: var(--b3-card-success-color);background-color: var(--b3-card-success-background);`,'<div style="color: var(--b3-card-success-color);background-color: var(--b3-card-success-background);" class="keyboard__slash-icon">A</div>',window.siyuan.languages.successStyle,"true")}
1912    ${ne(`style${Constants.ZWSP}color: var(--b3-card-warning-color);background-color: var(--b3-card-warning-background);`,'<div style="color: var(--b3-card-warning-color);background-color: var(--b3-card-warning-background);" class="keyboard__slash-icon">A</div>',window.siyuan.languages.warningStyle,"true")}
1913    ${ne(`style${Constants.ZWSP}color: var(--b3-card-error-color);background-color: var(--b3-card-error-background);`,'<div style="color: var(--b3-card-error-color);background-color: var(--b3-card-error-background);" class="keyboard__slash-icon">A</div>',window.siyuan.languages.errorStyle,"true")}
1914    ${ne(`style${Constants.ZWSP}`,'<div class="keyboard__slash-icon">A</div>',window.siyuan.languages.clearFontStyle,"true")}
1915</div>${n}`,e.hint.bindUploadEvent(e,a)},Ls=e=>{window.siyuan.menus.menu.remove(),Wt=!0;const t=document.getElementById("keyboardToolbar");let n=t.getAttribute("data-keyboardheight");n=(n?parseInt(n)+42:window.outerHeight/2)+"px";const a=getCurrentEditor();a&&(a.protyle.element.parentElement.style.paddingBottom=n,a.protyle.contentElement.scrollTop=e),setTimeout(()=>{t.style.height=n},Constants.TIMEOUT_TRANSITION),setTimeout(()=>{Wt=!1},1e3)},jt=()=>{const e=document.getElementById("keyboardToolbar");e.style.height="";const t=getCurrentEditor();t&&(t.protyle.element.parentElement.style.paddingBottom="42px"),e.querySelector('.keyboard__action[data-type="add"]').classList.remove("protyle-toolbar__item--current"),e.querySelector('.keyboard__action[data-type="text"]').classList.remove("protyle-toolbar__item--current"),e.querySelector('.keyboard__action[data-type="done"] use').setAttribute("xlink:href","#iconKeyboardHide")},Xo=()=>{clearTimeout(Ss),Ss=window.setTimeout(()=>{if(getSelection().rangeCount===0||window.siyuan.config.readonly||document.getElementById("toolbarName").getAttribute("readonly")==="readonly"||window.screen.height-window.innerHeight<160||!document.activeElement||document.activeElement&&!["INPUT","TEXTAREA"].includes(document.activeElement.tagName)&&!document.activeElement.classList.contains("protyle-wysiwyg")&&document.activeElement.getAttribute("contenteditable")!=="true"){fa();return}if(document.activeElement&&!["INPUT","TEXTAREA"].includes(document.activeElement.tagName)&&(document.getElementById("menu").style.transform==="translateX(0px)"||document.getElementById("model").style.transform==="translateY(0px)")){fa();return}Wt||jt(),Jo();const e=document.querySelectorAll("#keyboardToolbar .keyboard__dynamic"),t=getSelection().getRangeAt(0);if(!hasClosestByClassName(t.startContainer,"protyle-wysiwyg",!0)){e[0].classList.add("fn__none"),e[1].classList.add("fn__none");return}t.toString()||e[0].querySelector('[data-type="goinline"]').classList.contains("protyle-toolbar__item--current")?(e[0].classList.add("fn__none"),e[1].classList.remove("fn__none")):(e[0].classList.remove("fn__none"),e[1].classList.add("fn__none"));const i=getCurrentEditor().protyle;if(!e[0].classList.contains("fn__none")){i.undo.undoStack.length===0?e[0].querySelector('[data-type="undo"]').setAttribute("disabled","disabled"):e[0].querySelector('[data-type="undo"]').removeAttribute("disabled"),i.undo.redoStack.length===0?e[0].querySelector('[data-type="redo"]').setAttribute("disabled","disabled"):e[0].querySelector('[data-type="redo"]').removeAttribute("disabled");const s=hasClosestBlock(t.startContainer);if(s){const o=e[0].querySelector('[data-type="outdent"]');s.parentElement.classList.contains("li")?(o.classList.remove("fn__none"),o.nextElementSibling.classList.remove("fn__none")):(o.classList.add("fn__none"),o.nextElementSibling.classList.add("fn__none"))}}e[1].classList.contains("fn__none")||(e[1].querySelectorAll(".protyle-toolbar__item--current").forEach(o=>{o.classList.remove("protyle-toolbar__item--current")}),i.toolbar.getCurrentType(t).forEach(o=>{if(["search-mark","a","block-ref","virtual-block-ref","text","file-annotation-ref","inline-math","inline-memo","","backslash"].includes(o))return;const l=e[1].querySelector(`[data-type="${o}"]`);l&&l.classList.add("protyle-toolbar__item--current")}))},620)},Jo=()=>{Wt||jt();const e=document.getElementById("keyboardToolbar");
1915if(!e.classList.contains("fn__none"))return;e.classList.remove("fn__none"),e.style.zIndex=(++window.siyuan.zIndex).toString();const t=document.getElementById("model");t.style.transform==="translateY(0px)"&&(t.style.paddingBottom="42px");const n=getSelection().getRangeAt(0),a=getCurrentEditor();a&&a.protyle.wysiwyg.element.contains(n.startContainer)&&(a.protyle.element.parentElement.style.paddingBottom="42px"),getCurrentEditor().protyle.app.plugins.forEach(i=>{i.eventBus.emit("mobile-keyboard-show")}),setTimeout(()=>{const i=hasClosestByClassName(n.startContainer,"protyle-content",!0);if(i){const s=i.getBoundingClientRect().top,o=getSelectionPosition(i).top;if(o<window.innerHeight-42&&o>s)return;i.scroll({top:i.scrollTop+o-window.innerHeight+42+26,left:i.scrollLeft,behavior:"smooth"})}},Constants.TIMEOUT_TRANSITION)},fa=()=>{if(Wt)return;const e=document.getElementById("keyboardToolbar");if(e.classList.contains("fn__none"))return;e.classList.add("fn__none"),e.style.height="";const t=ua();t&&(t.protyle.element.parentElement.style.paddingBottom="");const n=document.getElementById("model");n.style.transform==="translateY(0px)"&&(n.style.paddingBottom=""),ua().protyle.app.plugins.forEach(a=>{a.eventBus.emit("mobile-keyboard-hide")})},ga=()=>{window.JSAndroid&&window.JSAndroid.hideKeyboard&&window.JSAndroid.hideKeyboard(),fa(),document.activeElement.blur()},$u=()=>{let e=!1;document.addEventListener("selectionchange",()=>{e||Xo()},!1);const t=document.getElementById("keyboardToolbar");t.innerHTML=`<div class="fn__flex keyboard__bar">
1916    <div class="fn__flex-1">
1917        <div class="fn__none keyboard__dynamic">
1918            <button class="keyboard__action" data-type="outdent"><svg><use xlink:href="#iconOutdent"></use></svg></button>
1919            <button class="keyboard__action" data-type="indent"><svg><use xlink:href="#iconIndent"></use></svg></button>
1920            <button class="keyboard__action" data-type="add"><svg><use xlink:href="#iconAdd"></use></svg></button>
1921            <button class="keyboard__action" data-type="block"><svg><use xlink:href="#iconParagraph"></use></svg></button>
1922            <button class="keyboard__action" data-type="goinline"><svg class="keyboard__svg--big"><use xlink:href="#iconBIU"></use></svg></button>
1923            <button class="keyboard__action" data-type="softLine"><svg><use xlink:href="#iconSoftWrap"></use></svg></button>
1924            <span class="keyboard__split"></span>
1925            <button class="keyboard__action" data-type="undo"><svg><use xlink:href="#iconUndo"></use></svg></button>
1926            <button class="keyboard__action" data-type="redo"><svg><use xlink:href="#iconRedo"></use></svg></button>
1927            <span class="keyboard__split"></span>
1928            <button class="keyboard__action" data-type="moveup"><svg><use xlink:href="#iconUp"></use></svg></button>
1929            <button class="keyboard__action" data-type="movedown"><svg><use xlink:href="#iconDown"></use></svg></button>
1930        </div>
1931        <div class="fn__none keyboard__dynamic">
1932            <button class="keyboard__action" data-type="goback"><svg><use xlink:href="#iconBack"></use></svg></button>
1933            <button class="keyboard__action" data-type="block-ref"><svg><use xlink:href="#iconRef"></use></svg></button>
1934            <button class="keyboard__action" data-type="a"><svg><use xlink:href="#iconLink"></use></svg></button>
1935            <button class="keyboard__action" data-type="text"><svg><use xlink:href="#iconFont"></use></svg></button>
1936            <button class="keyboard__action" data-type="strong"><svg><use xlink:href="#iconBold"></use></svg></button>
1937            <button class="keyboard__action" data-type="em"><svg><use xlink:href="#iconItalic"></use></svg></button>
1938            <button class="keyboard__action" data-type="u"><svg><use xlink:href="#iconUnderline"></use></svg></button>
1939            <button class="keyboard__action" data-type="s"><svg><use xlink:href="#iconStrike"></use></svg></button>
1940            <button class="keyboard__action" data-type="mark"><svg><use xlink:href="#iconMark"></use></svg></button>
1941            <button class="keyboard__action" data-type="sup"><svg><use xlink:href="#iconSup"></use></svg></button>
1942            <button class="keyboard__action" data-type="sub"><svg><use xlink:href="#iconSub"></use></svg></button>
1943            <button class="keyboard__action" data-type="clear"><svg><use xlink:href="#iconClear"></use></svg></button>
1944            <button class="keyboard__action" data-type="code"><svg><use xlink:href="#iconInlineCode"></use></svg></button>
1945            <button class="keyboard__action" data-type="kbd"<use xlink:href="#iconKeymap"></use></svg></button>
1946            <button class="keyboard__action" data-type="tag"><svg><use xlink:href="#iconTags"></use></svg></button>
1947            <button class="keyboard__action" data-type="inline-math"><svg><use xlink:href="#iconMath"></use></svg></button>
1948            <button class="keyboard__action" data-type="inline-memo"><svg><use xlink:href="#iconM"></use></svg></button>
1949            <button class="keyboard__action" data-type="goback"><svg><use xlink:href="#iconCloseRound"></use></svg></button>
1950        </div>
1951    </div>
1952    <span class="keyboard__split"></span>
1953    <button class="keyboard__action" data-type="done"><svg style="width: 36px"><use xlink:href="#iconKeyboardHide"></use></svg></button>
1954</div>
1955<div class="keyboard__util"></div>`,t.addEventListener("click",n=>{var a;const i=(a=getCurrentEditor())==null?void 0:a.protyle,s=n.target,o=hasClosestByClassName(n.target,"keyboard__slash-item");if(o&&!o.getAttribute("data-type")){const d=decodeURIComponent(o.getAttribute("data-value"));i.hint.fill(d,i,!1),d!==Constants.ZWSP+3&&(n.preventDefault(),n.stopPropagation()),o.getAttribute("data-focus")==="true"&&focusByRange(i.toolbar.range);return}const l=hasClosestByTag(s,"BUTTON");if(!l||l.getAttribute("disabled"))return;const r=l.getAttribute("data-type");if(["clear","style2","style4","color","backgroundColor","fontSize","style1"].includes(r)){const d=getFontNodeElements(i),u=l.firstElementChild;
1955r==="style1"?fontEvent(i,d,r,u.style.backgroundColor+Constants.ZWSP+u.style.color):r==="fontSize"?fontEvent(i,d,r,u.textContent.trim()):r==="backgroundColor"?fontEvent(i,d,r,u.style.backgroundColor):r==="color"?fontEvent(i,d,r,u.style.color):fontEvent(i,d,r)}if(n.preventDefault(),n.stopPropagation(),getSelection().rangeCount===0)return;const c=getSelection().getRangeAt(0);if(r==="done"){t.clientHeight>100?(jt(),focusByRange(c)):ga();return}if(window.siyuan.config.readonly||!i||i.disabled)return;if(r==="undo"){i.undo.undo(i);return}else if(r==="redo"){i.undo.redo(i);return}if(getSelection().rangeCount===0)return;const f=hasClosestBlock(c.startContainer);if(f){if(r==="goback"){t.querySelector('.keyboard__action[data-type="goinline"]').classList.remove("protyle-toolbar__item--current");const d=document.querySelectorAll("#keyboardToolbar .keyboard__dynamic");d[0].classList.remove("fn__none"),d[1].classList.add("fn__none"),focusByRange(c),e=!0,setTimeout(()=>{e=!1},1e3);return}else if(r==="goinline"){l.classList.add("protyle-toolbar__item--current");const d=document.querySelectorAll("#keyboardToolbar .keyboard__dynamic");d[1].classList.remove("fn__none"),d[0].classList.add("fn__none"),focusByRange(c);return}else if(["a","block-ref","inline-math","inline-memo"].includes(r)){hasClosestByAttribute(c.startContainer,"data-type","NodeCodeBlock")||(hideElements(["util"],i),i.toolbar.element.querySelector(`[data-type="${r}"]`).dispatchEvent(new CustomEvent("click")));return}else if(l.classList.contains("keyboard__action")&&["strong","em","s","code","mark","tag","u","sup","clear","sub","kbd"].includes(r)){hasClosestByAttribute(c.startContainer,"data-type","NodeCodeBlock")||i.toolbar.setInlineMark(i,r,"toolbar");return}else if(r==="text"){if(l.classList.contains("protyle-toolbar__item--current"))jt(),focusByRange(c);else{l.classList.add("protyle-toolbar__item--current"),t.querySelector('.keyboard__action[data-type="done"] use').setAttribute("xlink:href","#iconCloseRound");const d=i.contentElement.scrollTop;zo(i,t),Ls(d)}return}else if(r==="moveup"){moveToUp(i,f,c),focusByRange(c);return}else if(r==="movedown"){moveToDown(i,f,c),focusByRange(c);return}else if(r==="softLine"){c.extractContents(),softEnter(c,f,i),focusByRange(c);return}else if(r==="add"){if(l.classList.contains("protyle-toolbar__item--current"))jt(),focusByRange(c);else{l.classList.add("protyle-toolbar__item--current"),t.querySelector('.keyboard__action[data-type="done"] use').setAttribute("xlink:href","#iconCloseRound");const d=i.contentElement.scrollTop;Zo(i,t),Ls(d)}return}else if(r==="block"){i.gutter.renderMenu(i,f),window.siyuan.menus.menu.fullscreen(),ga();return}else if(r==="outdent"){listOutdent(i,[f.parentElement],c),focusByRange(c);return}else if(r==="indent"){listIndent(i,[f.parentElement],c),focusByRange(c);return}}})},Hu=()=>{document.getElementById("menu").style.transform="",document.getElementById("sidebar").style.transform="",document.getElementById("model").style.transform="";const e=document.querySelector(".side-mask");e.classList.add("fn__none"),e.style.opacity="",window.siyuan.menus.menu.remove()},Nu=()=>{activeBlur(),document.getElementById("model").style.transform=""},pa=null,Qo=e=>{var t;const n=getCurrentEditor().protyle;if((t=n.observerLoad)==null||t.disconnect(),window.siyuan.storage[Constants.LOCAL_DOCINFO]={id:e.id},setStorageVal(Constants.LOCAL_DOCINFO,window.siyuan.storage[Constants.LOCAL_DOCINFO]),hideElements(["toolbar","hint","util"],n),n.contentElement.classList.contains("fn__none")&&setEditMode(n,"wysiwyg"),n.notebookId=e.data.notebookId,n.path=e.data.path,e.data.startId===n.wysiwyg.element.firstElementChild.getAttribute("data-node-id")&&e.data.endId===n.wysiwyg.element.lastElementChild.getAttribute("data-node-id")){n.contentElement.scrollTo({top:e.scrollTop,behavior:"smooth"});return}e.id!==n.block.rootID&&fetchPost("/api/block/getDocInfo",{id:e.id},i=>{setTitle(i.data.name),n.title.setTitle(i.data.name),n.background.render(i.data.ial,n.block.rootID),n.wysiwyg.renderCustom(i.data.ial)});const a=n.breadcrumb.element.parentElement.querySelector('[data-type="exit-focus"]');if(e.zoomId){e.zoomId!==n.block.id?fetchPost("/api/block/checkBlockExist",{id:e.id},i=>{i.data&&zoomOut({protyle:n,id:e.id,isPushBack:!1,callback:()=>{n.contentElement.scrollTop=e.scrollTop}})}):n.contentElement.scrollTop=e.scrollTop,a.classList.remove("fn__none");return}fetchPost("/api/filetree/getDoc",{id:e.id,startID:e.data.startId,endID:e.data.endId},i=>{n.block.parentID=i.data.parentID,n.block.parent2ID=i.data.parent2ID,n.block.rootID=i.data.rootID,n.block.showAll=!1,n.block.mode=i.data.mode,n.block.blockCount=i.data.blockCount,n.block.id=i.data.id,n.block.action=e.callback,n.wysiwyg.element.setAttribute("data-doc-type",i.data.type),n.wysiwyg.element.innerHTML=i.data.content,processRender(n.wysiwyg.element),highlightRender(n.wysiwyg.element),avRender(n.wysiwyg.element,n),blockRender(n,n.wysiwyg.element,e.scrollTop),i.data.isSyncing?disabledForeverProtyle(n):setReadonlyByConfig(n,!0),n.contentElement.scrollTop=e.scrollTop,setTimeout(()=>{n.contentElement.scrollTop=e.scrollTop},Constants.TIMEOUT_LOAD),n.app.plugins.forEach(s=>{s.eventBus.emit("switch-protyle",{protyle:n}),s.eventBus.emit("loaded-protyle-static",{protyle:n})}),a.classList.add("fn__none")})},el=()=>{const e=ua().protyle;e.wysiwyg.element.firstElementChild&&window.siyuan.backStack.push({id:e.block.showAll?e.block.id:e.block.rootID,data:{startId:e.wysiwyg.element.firstElementChild.getAttribute("data-node-id"),endId:e.wysiwyg.element.lastElementChild.getAttribute("data-node-id"),notebookId:e.notebookId,path:e.path},scrollTop:e.contentElement.scrollTop,callback:e.block.action,zoomId:e.block.showAll?e.block.id:void 0})},Bu=()=>{const e=getCurrentEditor();if(window.siyuan.menus.menu.element.classList.contains("b3-menu--fullscreen")&&!window.siyuan.menus.menu.element.classList.contains("fn__none")){window.siyuan.menus.menu.element.dispatchEvent(new CustomEvent("click",{detail:"back"}));return}else if(document.getElementById("model").style.transform==="translateY(0px)"){const n=document.getElementById("searchAssetsPanel");!n||n.classList.contains("fn__none")?document.getElementById("model").style.transform="":n.classList.add("fn__none");return}else if(window.siyuan.viewer&&!window.siyuan.viewer.destroyed){window.siyuan.viewer.destroy();return}else if(document.getElementById("menu").style.transform==="translateX(0px)"||document.getElementById("sidebar").style.transform==="translateX(0px)"){closePanel();return}else if(e&&!e.protyle.toolbar.subElement.classList.contains("fn__none")){hideElements(["util"],e.protyle),closePanel();return}else if(window.siyuan.dialogs.length!==0){hideElements(["dialog"]),closePanel();return}if((window.JSAndroid||window.JSHarmony)&&window.siyuan.backStack.length<1){document.querySelector('#message [data-id="exitTip"]')?window.JSAndroid?window.JSAndroid.returnDesktop():window.JSHarmony&&window.JSHarmony.returnDesktop():showMessage(window.siyuan.languages.returnDesktop,3e3,"info","exitTip");return}if(window.siyuan.backStack.length<1)return;if(pa.length===0&&e){const n=e.protyle;pa.push({id:n.block.showAll?n.block.id:n.block.rootID,data:{startId:n.wysiwyg.element.firstElementChild.getAttribute("data-node-id"),endId:n.wysiwyg.element.lastElementChild.getAttribute("data-node-id"),notebookId:n.notebookId,path:n.path},scrollTop:n.contentElement.scrollTop,callback:n.block.action,zoomId:n.block.showAll?n.block.id:void 0})}const t=window.siyuan.backStack.pop();pa.push(t),Qo(t)};
1955var tl=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const ma=(e,t,n,a=[])=>{fetchPost("/api/search/searchAsset",{k:t,exts:a},i=>{let s="";i.data.forEach((c,f)=>{s+=`<div data-value="${c.path}" class="b3-list-item${f===0?" b3-list-item--focus":""}"><div class="b3-list-item__text">${c.hName}</div></div>`});const o=e.querySelector(".b3-list"),l=e.querySelector("#preview"),r=e.querySelector("input");o.innerHTML=s||`<li class="b3-list--empty">${window.siyuan.languages.emptyContent}</li>`,i.data.length>0?l.innerHTML=renderAssetsPreview(i.data[0].path):l.innerHTML=window.siyuan.languages.emptyContent,window.siyuan.menus.menu.fullscreen(),t||r.select()})},Pu=(e,t,n,a)=>{const i=new Menu("background-asset");i.isOpen||i.addItem({iconHTML:"",type:"readonly",label:`<div class="fn__flex" style="max-height: ${isMobile()?"80":"50"}vh">
1956<div class="fn__flex-column" style="${isMobile()?"width:100%":"min-width: 260px;max-width:420px"}">
1957    <div class="fn__flex" style="margin: 0 8px 4px 8px">
1958        <input class="b3-text-field fn__flex-1"/>
1959        <span class="fn__space"></span>
1960        <span data-type="previous" class="block__icon block__icon--show"><svg><use xlink:href="#iconLeft"></use></svg></span>
1961        <span class="fn__space"></span>
1962        <span data-type="next" class="block__icon block__icon--show"><svg><use xlink:href="#iconRight"></use></svg></span>
1963    </div>
1964    <div class="b3-list fn__flex-1 b3-list--background" style="position: relative"><img style="margin: 0 auto;display: block;width: 64px;height: 64px" src="/stage/loading-pure.svg"></div>
1965</div>
1966<div id="preview" style="width: 360px;display: ${isMobile()||window.outerWidth<window.outerWidth/2+260?"none":"flex"};padding: 8px;overflow: auto;justify-content: center;align-items: center;word-break: break-all;"></div>
1967</div>`,bind(s){s.style.maxWidth="none";const o=s.querySelector(".b3-list"),l=s.querySelector("#preview");o.addEventListener("mouseover",c=>{const f=c.target,d=hasClosestByClassName(f,"b3-list-item");d&&(l.innerHTML=renderAssetsPreview(d.getAttribute("data-value")))});const r=s.querySelector("input");r.addEventListener("keydown",c=>{if(c.isComposing)return;const f=s.querySelector(".b3-list--empty");if(!f){const d=upDownHint(o,c);d&&(l.innerHTML=renderAssetsPreview(d.getAttribute("data-value")),c.stopPropagation())}if(c.key==="Enter"){if(f)n||(window.siyuan.menus.menu.remove(),focusByRange(e.toolbar.range));else{const d=s.querySelector(".b3-list-item--focus");n?n(d.getAttribute("data-value"),d.textContent):(hintRenderAssets(d.getAttribute("data-value"),e),window.siyuan.menus.menu.remove())}c.preventDefault(),c.stopPropagation()}else c.key==="Escape"&&(n||focusByRange(e.toolbar.range))}),r.addEventListener("input",c=>{c.isComposing||(c.stopPropagation(),ma(s,r.value,t,a))}),r.addEventListener("compositionend",c=>{c.stopPropagation(),ma(s,r.value,t,a)}),s.lastElementChild.addEventListener("click",c=>{const f=c.target;if(hasClosestByAttribute(f,"data-type","previous")){r.dispatchEvent(new KeyboardEvent("keydown",{key:"ArrowUp"})),c.stopPropagation();return}if(hasClosestByAttribute(f,"data-type","next")){r.dispatchEvent(new KeyboardEvent("keydown",{key:"ArrowDown"})),c.stopPropagation();return}const g=hasClosestByClassName(f,"b3-list-item");if(g){c.stopPropagation();const p=g.getAttribute("data-value");n?n(p,g.textContent):(hintRenderAssets(p,e),window.siyuan.menus.menu.remove())}}),ma(s,"",t,a)}})},Ru=(e,t)=>{var n;const a=hasClosestBlock(t);if(!a)return;hideElements(["util","toolbar","hint"],e);const i=a.getAttribute("data-node-id");let s=a.outerHTML;window.siyuan.menus.menu.remove();let o;window.siyuan.menus.menu.append(new MenuItem({id:"idAndAnchor",iconHTML:"",type:"readonly",label:`<div>ID</div><textarea spellcheck="false" rows="1" style="margin:4px 0;width: ${isMobile()?"100%":"360px"}" class="b3-text-field" readonly>${t.getAttribute("data-id")||""}</textarea><div class="fn__hr"></div><div>${window.siyuan.languages.anchor}</div><textarea rows="1" style="margin:4px 0;width: ${isMobile()?"100%":"360px"}" class="b3-text-field"></textarea>`,bind(r){r.style.maxWidth="none",o=r.querySelectorAll(".b3-text-field")[1],o.value=t.textContent;const c=()=>{o.value?t.innerHTML=Lute.EscapeHTMLStr(o.value):t.innerHTML="*"};o.addEventListener("input",f=>{f.isComposing||(c(),f.stopPropagation())}),o.addEventListener("compositionend",f=>{f.isComposing||(c(),f.stopPropagation())}),o.addEventListener("keydown",f=>{if(!f.isComposing){if(f.key==="Enter"&&!f.isComposing)window.siyuan.menus.menu.remove();else if(electronUndo(f))return}})}}).element),window.siyuan.menus.menu.append(new MenuItem({type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"turnInto",label:window.siyuan.languages.turnInto,icon:"iconRefresh",submenu:[{id:"text",iconHTML:"",label:window.siyuan.languages.text,click(){a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),removeInlineType(t,"file-annotation-ref",e.toolbar.range),updateTransaction(e,i,a.outerHTML,s),s=a.outerHTML}},{id:"text*",iconHTML:"",label:window.siyuan.languages.text+" *",click(){t.insertAdjacentHTML("beforebegin",t.innerHTML+" "),t.textContent="*",a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,i,a.outerHTML,s),s=a.outerHTML}}]}).element),window.siyuan.menus.menu.append(new MenuItem({id:"remove",icon:"iconTrashcan",label:window.siyuan.languages.remove,click(){t.insertAdjacentHTML("afterend","<wbr>"),t.remove(),a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,i,a.outerHTML,s),focusByWbr(a,e.toolbar.range),s=a.outerHTML}}).element),(n=e==null?void 0:e.app)!=null&&n.plugins&&emitOpenMenu({plugins:e.app.plugins,type:"open-menu-fileannotationref",detail:{protyle:e,element:t},separatorPosition:"top"}),window.siyuan.menus.menu.fullscreen();const l=hasTopClosestByClassName(e.element,"block__popover",!0);window.siyuan.menus.menu.element.setAttribute("data-from",l?l.dataset.level+"popover":"app"),o.select(),window.siyuan.menus.menu.removeCB=()=>{a.outerHTML!==s&&(a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,i,a.outerHTML,s));const r=getSelection().rangeCount===0?void 0:getSelection().getRangeAt(0);r&&!e.element.contains(r.startContainer)&&(e.toolbar.range.selectNodeContents(t),e.toolbar.range.collapse(!1),focusByRange(e.toolbar.range))}},Ou=(e,t)=>
1967{var n;const a=hasClosestBlock(t);if(!a)return;hideElements(["util","toolbar","hint"],e);const i=t.getAttribute("data-id"),s=a.getAttribute("data-node-id");let o=a.outerHTML;if(window.siyuan.menus.menu.remove(),e.disabled||(window.siyuan.menus.menu.append(new MenuItem({id:"anchor",iconHTML:"",type:"readonly",label:`<input style="margin: 4px 0" class="b3-text-field fn__block" placeholder="${window.siyuan.languages.anchor}">`,bind(r){const c=r.querySelector("input");c.value=t.getAttribute("data-subtype")==="d"?"":t.textContent,c.addEventListener("input",()=>{c.value?t.innerHTML=Lute.EscapeHTMLStr(c.value).trim()||i:fetchPost("/api/block/getRefText",{id:i},f=>{t.innerHTML=f.data}),t.setAttribute("data-subtype",c.value?"s":"d")}),c.addEventListener("keydown",f=>{if(!f.isComposing){if(f.key==="Enter"&&!f.isComposing)window.siyuan.menus.menu.remove();else if(electronUndo(f))return}})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_1",type:"separator"}).element)),!e.disabled){let r=[];t.getAttribute("data-subtype")==="s"?r.push({id:"turnToDynamic",iconHTML:"",label:window.siyuan.languages.turnToDynamic,click(){t.setAttribute("data-subtype","d"),fetchPost("/api/block/getRefText",{id:i},c=>{t.innerHTML=c.data,a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,s,a.outerHTML,o),o=a.outerHTML}),focusByRange(e.toolbar.range)}}):r.push({id:"turnToStatic",iconHTML:"",label:window.siyuan.languages.turnToStatic,click(){t.setAttribute("data-subtype","s"),a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,s,a.outerHTML,o),focusByRange(e.toolbar.range),o=a.outerHTML}}),r=r.concat([{id:"text",iconHTML:"",label:window.siyuan.languages.text,click(){a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),removeInlineType(t,"block-ref",e.toolbar.range),updateTransaction(e,s,a.outerHTML,o),o=a.outerHTML}},{id:"*",iconHTML:"",label:"*",click(){t.setAttribute("data-subtype","s"),t.textContent="*",a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,s,a.outerHTML,o),focusByRange(e.toolbar.range),o=a.outerHTML}},{id:"text*",iconHTML:"",label:window.siyuan.languages.text+" *",click(){t.insertAdjacentHTML("beforebegin",t.innerHTML+" "),t.setAttribute("data-subtype","s"),t.textContent="*",a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,s,a.outerHTML,o),focusByRange(e.toolbar.range),o=a.outerHTML}},{id:"link",label:window.siyuan.languages.link,iconHTML:"",click(){t.outerHTML=`<span data-type="a" data-href="siyuan://blocks/${t.getAttribute("data-id")}">${t.innerHTML}</span><wbr>`,a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,s,a.outerHTML,o),focusByWbr(a,e.toolbar.range),o=a.outerHTML}}]),t.parentElement.textContent.trim()===t.textContent.trim()&&t.parentElement.tagName==="DIV"&&r.push({id:"blockEmbed",iconHTML:"",label:window.siyuan.languages.blockEmbed,click(){const c=`<div data-content="select * from blocks where id='${i}'" data-node-id="${s}" data-type="NodeBlockQueryEmbed" class="render-node" updated="${dayjs().format("YYYYMMDDHHmmss")}">${a.querySelector(".protyle-attr").outerHTML}</div>`;a.outerHTML=c,updateTransaction(e,s,c,o),blockRender(e,e.wysiwyg.element),o=a.outerHTML}}),r.push({id:"defBlock",iconHTML:"",label:window.siyuan.languages.defBlock,click(){fetchPost("/api/block/swapBlockRef",{refID:s,defID:i,includeChildren:!1})}}),r.push({id:"defBlockChildren",iconHTML:"",label:window.siyuan.languages.defBlockChildren,click(){fetchPost("/api/block/swapBlockRef",{refID:s,defID:i,includeChildren:!0})}}),window.siyuan.menus.menu.append(new MenuItem({id:"iconRefresh",label:window.siyuan.languages.turnInto,icon:"iconRefresh",submenu:r}).element)}window.siyuan.menus.menu.append(new MenuItem({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",click(){writeText(e.lute.BlockDOM2StdMd(t.outerHTML).trim())}}).element),e.disabled||(window.siyuan.menus.menu.append(new MenuItem({id:"cut",label:window.siyuan.languages.cut,icon:"iconCut",click(){writeText(e.lute.BlockDOM2StdMd(t.outerHTML)),t.insertAdjacentHTML("afterend","<wbr>"),t.remove(),a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,s,a.outerHTML,o),focusByWbr(a,e.toolbar.range),o=a.outerHTML}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"remove",label:window.siyuan.languages.remove,icon:"iconTrashcan",click(){t.insertAdjacentHTML("afterend","<wbr>"),t.remove(),a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,s,a.outerHTML,o),focusByWbr(a,e.toolbar.range),o=a.outerHTML}}).element)),(n=e==null?void 0:e.app)!=null&&n.plugins&&emitOpenMenu({plugins:e.app.plugins,type:"open-menu-blockref",detail:{protyle:e,element:t},separatorPosition:"top"}),window.siyuan.menus.menu.fullscreen();const l=hasTopClosestByClassName(e.element,"block__popover",!0);window.siyuan.menus.menu.data=t,window.siyuan.menus.menu.element.setAttribute("data-from",l?l.dataset.level+"popover":"app"),e.disabled||(window.siyuan.menus.menu.element.querySelector("input").select(),window.siyuan.menus.menu.removeCB=()=>{a.outerHTML!==o&&(a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,s,a.outerHTML,o));const r=getSelection().rangeCount===0?void 0:getSelection().getRangeAt(0);r&&!e.element.contains(r.startContainer)&&(e.toolbar.range.selectNodeContents(t),e.toolbar.range.collapse(!1),focusByRange(e.toolbar.range))})},qu=(e,t)=>
1967{var n;const a=getEditorRange(t);window.siyuan.menus.menu.remove(),e.toolbar.showContent(e,a,t),(n=e==null?void 0:e.app)!=null&&n.plugins&&emitOpenMenu({plugins:e.app.plugins,type:"open-menu-content",detail:{protyle:e,range:a,element:t},separatorPosition:"top"})},Uu=(e,t)=>{if(e.block.showAll)xs({protyle:e,id:e.block.parent2ID,focusId:t});else{const n=e.path.split("/");n.length>2&&openMobileFileById(e.app,n[n.length-2],[Constants.CB_GET_FOCUS,Constants.CB_GET_SCROLL])}},xs=e=>{var t,n;if(e.protyle.options.backlinkData)return;typeof e.isPushBack=="undefined"&&(e.isPushBack=!0),typeof e.reload=="undefined"&&(e.reload=!1);const a=O(e.protyle.element,"block__popover",!0);if(a){const s=a.querySelector('[data-type="pin"]');s&&a.getAttribute("data-pin")!=="true"&&(s.setAttribute("aria-label",window.siyuan.languages.unpin),s.querySelector("use").setAttribute("xlink:href","#iconUnpin"),a.setAttribute("data-pin","true"))}const i=(t=e.protyle.breadcrumb)==null?void 0:t.element.querySelector(".protyle-breadcrumb__item--active");if(!e.reload&&i&&i.getAttribute("data-node-id")===e.id){if(e.id===e.protyle.block.rootID)return;const s=e.protyle.wysiwyg.element.querySelector(`[data-node-id="${e.focusId||e.id}"]`);if(s){qe(s),s.scrollIntoView();return}}(n=window.siyuan.mobile)!=null&&n.editor&&(window.siyuan.storage[$.LOCAL_DOCINFO]={id:e.id},Pn($.LOCAL_DOCINFO,window.siyuan.storage[$.LOCAL_DOCINFO]),e.isPushBack&&el()),ve("/api/filetree/getDoc",{id:e.id,size:e.id===e.protyle.block.rootID?window.siyuan.config.editor.dynamicLoadBlocks:$.SIZE_GET_MAX},s=>tl(void 0,null,function*(){if(e.isPushBack?Ht({data:s,protyle:e.protyle,action:e.id===e.protyle.block.rootID?[$.CB_GET_FOCUS,$.CB_GET_HTML]:[$.CB_GET_ALL,$.CB_GET_FOCUS,$.CB_GET_HTML],afterCB:e.callback}):Ht({data:s,protyle:e.protyle,action:e.id===e.protyle.block.rootID?[$.CB_GET_FOCUS,$.CB_GET_HTML,$.CB_GET_UNUNDO]:[$.CB_GET_ALL,$.CB_GET_FOCUS,$.CB_GET_UNUNDO,$.CB_GET_HTML],afterCB:e.callback}),e.focusId){let o=e.protyle.wysiwyg.element.querySelector(`[data-node-id="${e.focusId}"]`);if(!o){const l=yield li("/api/block/getUnfoldedParentID",{id:e.focusId});e.focusId=l.data.parentID,o=e.protyle.wysiwyg.element.querySelector(`[data-node-id="${l.data.parentID}"]`)}if(o){let l=o;for(;l.getBoundingClientRect().height===0;)l=l.parentElement;l.classList.contains("protyle-wysiwyg")?l=o.previousElementSibling||o.nextElementSibling:l=Ye(l),qe(l);const r=new ResizeObserver(()=>{l.scrollIntoView()});r.observe(e.protyle.wysiwyg.element),setTimeout(()=>{r.disconnect()},1e3*3)}else if(e.focusId){if(e.id===e.protyle.block.rootID){ve("/api/filetree/getDoc",{id:e.focusId,mode:3,size:window.siyuan.config.editor.dynamicLoadBlocks},l=>{Ht({data:l,protyle:e.protyle,action:e.isPushBack?[$.CB_GET_FOCUS]:[$.CB_GET_FOCUS,$.CB_GET_UNUNDO]})});return}}else{ve("/api/filetree/getDoc",{id:e.protyle.block.rootID,size:window.siyuan.config.editor.dynamicLoadBlocks},l=>{Ht({data:l,protyle:e.protyle,action:e.isPushBack?[$.CB_GET_FOCUS]:[$.CB_GET_FOCUS,$.CB_GET_UNUNDO]})});return}}else e.id!==e.protyle.block.rootID&&(e.protyle.wysiwyg.element.classList.add("protyle-wysiwyg--animate"),setTimeout(()=>{e.protyle.wysiwyg.element.classList.remove("protyle-wysiwyg--animate")},365))}))},Fu=(e,t,n,a)=>{var i;window.siyuan.menus.menu.remove();const s=hasClosestBlock(n);if(!s)return;hideElements(["util","toolbar","hint"],e);const o=s.getAttribute("data-node-id"),l=n.querySelector("img"),r=n.querySelector(".protyle-action__title span"),c=s.outerHTML;if(e.disabled||(window.siyuan.menus.menu.append(new MenuItem({id:"imageUrlAndTitleAndTooltipText",iconHTML:"",type:"readonly",label:`<div class="fn__flex">
1968    <span class="fn__flex-center">${window.siyuan.languages.imageURL}</span>
1969    <span class="fn__space"></span>
1970    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
1971        <svg><use xlink:href="#iconCopy"></use></svg>
1972    </span>   
1973</div><textarea spellcheck="false" style="margin:4px 0;width: ${isMobile()?"100%":"360px"}" rows="1" class="b3-text-field">${l.getAttribute("src")}</textarea><div class="fn__hr"></div><div class="fn__flex">
1974    <span class="fn__flex-center">${window.siyuan.languages.title}</span>
1975    <span class="fn__space"></span>
1976    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
1977        <svg><use xlink:href="#iconCopy"></use></svg>
1978    </span>   
1979</div><textarea style="margin:4px 0;width: ${isMobile()?"100%":"360px"}" rows="1" class="b3-text-field"></textarea><div class="fn__hr"></div><div class="fn__flex">
1980    <span class="fn__flex-center">${window.siyuan.languages.tooltipText}</span>
1981    <span class="fn__space"></span>
1982    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
1983        <svg><use xlink:href="#iconCopy"></use></svg>
1984    </span>   
1985</div><textarea style="margin:4px 0;width: ${isMobile()?"100%":"360px"}" rows="1" class="b3-text-field"></textarea>`,bind(g){g.style.maxWidth="none";const p=g.querySelectorAll("textarea");p[0].addEventListener("input",m=>{const b=m.target.value.replace(/\n|\r\n|\r|\u2028|\u2029/g,"").trim();if(l.setAttribute("src",b),l.setAttribute("data-src",b),b.startsWith("assets/")){const E=n.querySelector(".img__net");E&&E.remove()}else window.siyuan.config.editor.displayNetImgMark&&n.querySelector(".protyle-action__drag").insertAdjacentHTML("afterend",'<span class="img__net"><svg><use xlink:href="#iconLanguage"></use></svg></span>')}
1985),p[1].value=r.innerText,p[1].addEventListener("input",m=>{const b=m.target.value;l.setAttribute("title",b),r.innerText=b,mathRender(r)}),p[2].value=l.getAttribute("alt")||"",g.addEventListener("click",m=>{let b=m.target;for(;b;){if(b.dataset.action==="copy"){writeText(b.parentElement.nextElementSibling.value),showMessage(window.siyuan.languages.copied);break}b=b.parentElement}})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_1",type:"separator"}).element)),window.siyuan.menus.menu.append(new MenuItem({id:"copy",label:window.siyuan.languages.copy,accelerator:"\u2318C",icon:"iconCopy",click(){let g=e.lute.BlockDOM2StdMd(n.outerHTML);g=g.replace(/%20/g," "),writeText(g)}}).element),e.disabled&&window.siyuan.menus.menu.append(new MenuItem({id:"copyImageURL",label:window.siyuan.languages.copy+" "+window.siyuan.languages.imageURL,icon:"iconLink",click(){writeText(l.getAttribute("src"))}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"copyAsPNG",label:window.siyuan.languages.copyAsPNG,accelerator:window.siyuan.config.keymap.editor.general.copyBlockRef.custom,icon:"iconImage",click(){copyPNGByLink(l.getAttribute("src"))}}).element),!e.disabled){window.siyuan.menus.menu.append(new MenuItem({id:"cut",icon:"iconCut",accelerator:"\u2318X",label:window.siyuan.languages.cut,click(){let b=e.lute.BlockDOM2StdMd(n.outerHTML);b=b.replace(/%20/g," "),writeText(b),n.outerHTML="<wbr>",s.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,o,s.outerHTML,c),focusByWbr(e.wysiwyg.element,t)}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"delete",icon:"iconTrashcan",accelerator:"\u232B",label:window.siyuan.languages.delete,click:function(){n.outerHTML="<wbr>",s.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,o,s.outerHTML,c),focusByWbr(e.wysiwyg.element,t)}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_2",type:"separator"}).element);const g=l.getAttribute("data-src");g.startsWith("assets/")&&window.siyuan.menus.menu.append(new MenuItem({id:"rename",label:window.siyuan.languages.rename,icon:"iconEdit",click(){renameAsset(g)}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"ocr",label:"OCR",submenu:[{id:"ocrResult",iconHTML:"",type:"readonly",label:`<textarea spellcheck="false" data-type="ocr" style="margin: 4px 0" rows="1" class="b3-text-field fn__block" placeholder="${window.siyuan.languages.ocrResult}"></textarea>`,bind(b){b.style.maxWidth="none",fetchPost("/api/asset/getImageOCRText",{path:l.getAttribute("src")},E=>{const k=b.querySelector("textarea");k.value=E.data.text,k.dataset.ocrText=E.data.text})}},{type:"separator"},{id:"reOCR",iconHTML:"",label:window.siyuan.languages.reOCR,click(){fetchPost("/api/asset/ocr",{path:l.getAttribute("src"),force:!0})}}]}).element),window.siyuan.menus.menu.append(new MenuItem({id:"alignCenter",icon:"iconAlignCenter",label:window.siyuan.languages.alignCenter,accelerator:window.siyuan.config.keymap.editor.general.alignCenter.custom,click(){alignImgCenter(e,s,[n],o,c)}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"alignLeft",icon:"iconAlignLeft",label:window.siyuan.languages.alignLeft,accelerator:window.siyuan.config.keymap.editor.general.alignLeft.custom,click(){alignImgLeft(e,s,[n],o,c)}}).element);let p;window.siyuan.menus.menu.append(new MenuItem({id:"width",label:window.siyuan.languages.width,submenu:[{id:"widthInput",iconHTML:"",type:"readonly",label:`<div class="fn__flex"><input class="b3-text-field fn__flex-1" style="margin: 4px 8px 4px 0" value="${l.parentElement.style.width.endsWith("px")?parseInt(l.parentElement.style.width):""}" type="number" placeholder="${window.siyuan.languages.width}"><span class="fn__flex-center">px</span></div>`,bind(b){const E=b.querySelector("input");E.addEventListener("input",()=>{p.value="0",p.parentElement.setAttribute("aria-label",E.value?E.value+"px":window.siyuan.languages.default),img3115(n),l.parentElement.style.width=E.value?E.value+"px":"",l.style.height=""}),E.addEventListener("blur",()=>{E.value!==l.parentElement.style.width.replace("px","")&&(s.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,o,s.outerHTML,c),window.siyuan.menus.menu.remove(),focusBlock(s))})}},ht("25%",l,e,o,s,c),ht("33%",l,e,o,s,c),ht("50%",l,e,o,s,c),ht("67%",l,e,o,s,c),ht("75%",l,e,o,s,c),ht("100%",l,e,o,s,c),{id:"separator_1",type:"separator"},{id:"widthDrag",iconHTML:"",type:"readonly",label:`<div style="margin: 4px 0;" aria-label="${l.parentElement.style.width?l.parentElement.style.width.replace("vw","%").replace("calc(","").replace(" - 8px)",""):window.siyuan.languages.default}" class="b3-tooltips b3-tooltips__n"><input style="box-sizing: border-box" value="${l.parentElement.style.width.indexOf("%")>-1||l.parentElement.style.width.endsWith("vw")?parseInt(l.parentElement.style.width.replace("calc(","")):0}" class="b3-slider fn__block" max="100" min="1" step="1" type="range"></div>`,bind(b){p=b.querySelector("input"),p.addEventListener("input",()=>{img3115(n),l.parentElement.style.width=`calc(${p.value}% - 8px)`,l.style.height="",p.parentElement.setAttribute("aria-label",`${p.value}%`)}),p.addEventListener("change",()=>{s.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,o,s.outerHTML,c),window.siyuan.menus.menu.remove(),focusBlock(s)})}},{id:"separator_2",type:"separator"},ht(window.siyuan.languages.default,l,e,o,s,c)]}).element);let m;window.siyuan.menus.menu.append(new MenuItem({id:"height",label:window.siyuan.languages.height,submenu:[{id:"heightInput",iconHTML:"",type:"readonly",label:`<div class="fn__flex"><input class="b3-text-field fn__flex-1" value="${l.style.height.endsWith("px")?parseInt(l.style.height):""}" type="number" style="margin: 4px 8px 4px 0" placeholder="${window.siyuan.languages.height}"><span class="fn__flex-center">px</span></div>`,bind(b){const E=b.querySelector("input");E.addEventListener("input",()=>{m.value="0",m.parentElement.setAttribute("aria-label",E.value?E.value+"px":window.siyuan.languages.default),l.style.height=E.value?E.value+"px":"",img3115(n),l.parentElement.style.width=""}),E.addEventListener("blur",()=>{E.value!==l.style.height.replace("px","")&&(s.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,o,s.outerHTML,c),window.siyuan.menus.menu.remove(),focusBlock(s))})}},wt("25%",l,e,o,s,c),wt("33%",l,e,o,s,c),wt("50%",l,e,o,s,c),wt("67%",l,e,o,s,c),wt("75%",l,e,o,s,c),wt("100%",l,e,o,s,c),{id:"separator_1",type:"separator"},{id:"heightDrag",iconHTML:"",type:"readonly",label:`<div style="margin: 4px 0;" aria-label="${l.style.height?l.style.height.replace("vh","%"):window.siyuan.languages.default}" class="b3-tooltips b3-tooltips__n"><input style="box-sizing: border-box" value="${l.style.height.endsWith("vh")?parseInt(l.style.height):0}" class="b3-slider fn__block" max="100" min="1" step="1" type="range"></div>`,bind(b){m=b.querySelector("input"),m.addEventListener("input",()=>{img3115(n),l.parentElement.style.width="",l.style.height=m.value+"vh",m.parentElement.setAttribute("aria-label",`${m.value}%`)}),m.addEventListener("change",()=>{s.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,o,s.outerHTML,c),window.siyuan.menus.menu.remove(),focusBlock(s)})}},{id:"separator_2",type:"separator"},wt(window.siyuan.languages.default,l,e,o,s,c)]}).element)}const f=l.getAttribute("src");f&&(window.siyuan.menus.menu.append(new MenuItem({id:"separator_3",type:"separator"}).element),openMenu(e.app,f,!1,!1));const d=l.getAttribute("data-src");d&&d.startsWith("assets/")&&window.siyuan.menus.menu.append(new MenuItem(exportAsset(d)).element),(i=e==null?void 0:e.app)!=null&&i.plugins&&emitOpenMenu({plugins:e.app.plugins,type:"open-menu-image",detail:{protyle:e,element:n},separatorPosition:"top"}),window.siyuan.menus.menu.fullscreen();const u=hasTopClosestByClassName(e.element,"block__popover",!0);if(window.siyuan.menus.menu.element.setAttribute("data-from",u?u.dataset.level+"popover":"app"),!e.disabled){const g=window.siyuan.menus.menu.element.querySelectorAll("textarea");g[0].value?g[1].select():g[0].select(),window.siyuan.menus.menu.removeCB=()=>{const p=window.siyuan.menus.menu.element.querySelector('[data-type="ocr"]');p&&p.dataset.ocrText!==p.value&&fetchPost("/api/asset/setImageOCRText",{path:l.getAttribute("src"),text:p.value}),l.setAttribute("alt",g[2].value.replace(/\n|\r\n|\r|\u2028|\u2029/g,"")),s.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,o,s.outerHTML,c)}}},nl=(e,t,n=!1)=>{var a;window.siyuan.menus.menu.remove();const i=K(t);if(!i)return;on(),It(["util","toolbar","hint"],e);const s=i.getAttribute("data-node-id");let o=i.outerHTML;const l=t.getAttribute("data-href");let r;e.disabled||(window.siyuan.menus.menu.append(new ke({id:"linkAndAnchorAndTitle",iconHTML:"",type:"readonly",label:`<div class="fn__flex">
1986    <span class="fn__flex-center">${window.siyuan.languages.link}</span>
1987    <span class="fn__space"></span>
1988    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
1989        <svg><use xlink:href="#iconCopy"></use></svg>
1990    </span>   
1991</div><textarea spellcheck="false" rows="1" 
1992style="margin:4px 0;width: ${N()?"100%":"360px"}" class="b3-text-field"></textarea><div class="fn__hr"></div><div class="fn__flex">
1993    <span class="fn__flex-center">${window.siyuan.languages.anchor}</span>
1994    <span class="fn__space"></span>
1995    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
1996        <svg><use xlink:href="#iconCopy"></use></svg>
1997    </span>   
1998</div><textarea style="width: ${N()?"100%":"360px"};margin: 4px 0;" rows="1" class="b3-text-field"></textarea><div class="fn__hr"></div><div class="fn__flex">
1999    <span class="fn__flex-center">${window.siyuan.languages.title}</span>
2000    <span class="fn__space"></span>
2001    <span data-action="copy" class="block__icon block__icon--show b3-tooltips b3-tooltips__e fn__flex-center" aria-label="${window.siyuan.languages.copy}">
2002        <svg><use xlink:href="#iconCopy"></use></svg>
2003    </span>   
2004</div><textarea style="width: ${N()?"100%":"360px"};margin: 4px 0;" rows="1" class="b3-text-field"></textarea>`,bind(f){f.style.maxWidth="none",r=f.querySelectorAll("textarea"),r[0].value=Lute.UnEscapeHTMLStr(l)||"",r[0].addEventListener("keydown",u=>{if((u.key==="Enter"||u.key==="Escape")&&!u.isComposing)u.preventDefault(),u.stopPropagation(),window.siyuan.menus.menu.remove();else if(u.key==="Tab"&&!u.isComposing)u.preventDefault(),u.stopPropagation(),r[1].focus();else if(ln(u))return});let d=t.textContent.replace($.ZWSP,"");!d&&l&&(d=decodeURIComponent(l.replace("https://","").replace("http://","")),d.length>$.SIZE_LINK_TEXT_MAX&&(d=d.substring(0,$.SIZE_LINK_TEXT_MAX)+"..."),t.innerHTML=Lute.EscapeHTMLStr(d)),r[1].value=d,r[1].addEventListener("compositionend",()=>{t.innerHTML=Lute.EscapeHTMLStr(r[1].value.replace(/\n|\r\n|\r|\u2028|\u2029/g,"").trim()||"*")}),r[1].addEventListener("input",u=>{u.isComposing||(t.innerHTML=Lute.EscapeHTMLStr(r[1].value.replace(/\n|\r\n|\r|\u2028|\u2029/g,"").trim())||"*")}),r[1].addEventListener("keydown",u=>{if((u.key==="Enter"||u.key==="Escape")&&!u.isComposing)u.preventDefault(),u.stopPropagation(),window.siyuan.menus.menu.remove();else if(u.key==="Tab"&&!u.isComposing)u.preventDefault(),u.stopPropagation(),u.shiftKey?r[0].focus():r[2].focus();else if(ln(u))return}),r[2].value=Lute.UnEscapeHTMLStr(t.getAttribute("data-title")||""),r[2].addEventListener("keydown",u=>{if((u.key==="Enter"||u.key==="Escape")&&!u.isComposing)u.preventDefault(),u.stopPropagation(),window.siyuan.menus.menu.remove();else if(u.key==="Tab"&&u.shiftKey&&!u.isComposing)u.preventDefault(),u.stopPropagation(),r[1].focus();else if(ln(u))return}),f.addEventListener("click",u=>{let g=u.target;for(;g;){if(g.dataset.action==="copy"){Bn(g.parentElement.nextElementSibling.value),Ze(window.siyuan.languages.copied);break}g=g.parentElement}})}}).element),window.siyuan.menus.menu.append(new ke({id:"separator_1",type:"separator"}).element)),window.siyuan.menus.menu.append(new ke({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",click(){const f=document.createRange();f.selectNode(t),Le(f),document.execCommand("copy")}}).element),e.disabled&&window.siyuan.menus.menu.append(new ke({id:"copyAHref",label:window.siyuan.languages.copy+" "+window.siyuan.languages.replaceTypes.aHref,icon:"iconLink",click(){Bn(l)}}).element),e.disabled||(window.siyuan.menus.menu.append(new ke({id:"cut",icon:"iconCut",label:window.siyuan.languages.cut,click(){const f=document.createRange();f.selectNode(t),Le(f),document.execCommand("cut")}}).element),window.siyuan.menus.menu.append(new ke({id:"remove",icon:"iconTrashcan",label:window.siyuan.languages.remove,click(){t.insertAdjacentHTML("afterend","<wbr>"),t.remove(),i.setAttribute("updated",Je().format("YYYYMMDDHHmmss")),Kt(e,s,i.outerHTML,o),$n(i,e.toolbar.range),o=i.outerHTML}}).element),l!=null&&l.startsWith("assets/")&&window.siyuan.menus.menu.append(new ke({id:"rename",label:window.siyuan.languages.rename,icon:"iconEdit",click(){zi(l)}}).element),l!=null&&l.startsWith("siyuan://blocks/")&&window.siyuan.menus.menu.append(new ke({id:"turnIntoRef",label:`${window.siyuan.languages.turnInto} <b>${window.siyuan.languages.ref}</b>`,icon:"iconRef",click(){t.setAttribute("data-subtype","s");const f=t.getAttribute("data-type").split(" ");f.push("block-ref"),f.splice(f.indexOf("a"),1),t.setAttribute("data-type",f.join(" ")),t.setAttribute("data-id",r[0].value.replace("siyuan://blocks/","")),r[0].value="",r[2].value="",t.removeAttribute("data-href"),t.removeAttribute("data-title"),i.setAttribute("updated",Je().format("YYYYMMDDHHmmss")),Kt(e,s,i.outerHTML,o),e.toolbar.range.selectNode(t),e.toolbar.range.collapse(!1),Le(e.toolbar.range),o=i.outerHTML}}).element),window.siyuan.menus.menu.append(new ke({id:"turnIntoText",label:`${window.siyuan.languages.turnInto} <b>${window.siyuan.languages.text}</b>`,icon:"iconRefresh",click(){r[0].value="",r[2].value="",i.setAttribute("updated",Je().format("YYYYMMDDHHmmss")),io(t,"a",e.toolbar.range),Kt(e,s,i.outerHTML,o),o=i.outerHTML}}).element)),l&&(window.siyuan.menus.menu.append(new ke({id:"separator_2",type:"separator"}).element),ro(e.app,l,!1,!0),l!=null&&l.startsWith("assets/")&&window.siyuan.menus.menu.append(new ke(eo(l)).element)),!e.disabled&&((a=e==null?void 0:e.app)!=null&&a.plugins)&&Ri({plugins:e.app.plugins,type:"open-menu-link",detail
2004:{protyle:e,element:t},separatorPosition:"top"}),window.siyuan.menus.menu.fullscreen();const c=Pt(e.element,"block__popover",!0);window.siyuan.menus.menu.element.setAttribute("data-from",c?c.dataset.level+"popover":"app"),!e.disabled&&(n||e.lute.GetLinkDest(l)||l!=null&&l.startsWith("assets/")?r[1].select():r[0].select(),window.siyuan.menus.menu.removeCB=()=>{r[2].value?t.setAttribute("data-title",Lute.EscapeHTMLStr(r[2].value.replace(/\n|\r\n|\r|\u2028|\u2029/g,""))):t.removeAttribute("data-title"),t.getAttribute("data-type").indexOf("a")>-1?t.setAttribute("data-href",Lute.EscapeHTMLStr(r[0].value.replace(/\n|\r\n|\r|\u2028|\u2029/g,""))):t.removeAttribute("data-href"),!r[1].value&&(r[0].value||r[2].value)&&(t.textContent="*");const f=getSelection().rangeCount===0?void 0:getSelection().getRangeAt(0);f&&!e.element.contains(f.startContainer)&&(e.toolbar.range.selectNodeContents(t),e.toolbar.range.collapse(!1),Le(e.toolbar.range)),!r[1].value&&!r[0].value&&!r[2].value&&t.remove(),o!==i.outerHTML&&(i.setAttribute("updated",Je().format("YYYYMMDDHHmmss")),Kt(e,s,i.outerHTML,o))})},Yu=(e,t)=>
2004{var n;window.siyuan.menus.menu.remove();const a=hasClosestBlock(t);if(!a)return;hideElements(["util","toolbar","hint"],e);const i=a.getAttribute("data-node-id");let s=a.outerHTML;window.siyuan.menus.menu.append(new MenuItem({id:"tag",iconHTML:"",type:"readonly",label:`<input class="b3-text-field fn__block" style="margin: 4px 0" placeholder="${window.siyuan.languages.tag}">`,bind(l){const r=l.querySelector("input");r.value=t.textContent.replace(Constants.ZWSP,""),r.addEventListener("change",()=>{updateTransaction(e,i,a.outerHTML,s),s=a.outerHTML}),r.addEventListener("compositionend",()=>{t.innerHTML=Constants.ZWSP+Lute.EscapeHTMLStr(r.value||"")}),r.addEventListener("input",c=>{c.isComposing||(t.innerHTML=Constants.ZWSP+Lute.EscapeHTMLStr(r.value||""))}),r.addEventListener("keydown",c=>{if((c.key==="Enter"||c.key==="Escape")&&!c.isComposing){if(c.preventDefault(),c.stopPropagation(),r.value)e.toolbar.range.selectNodeContents(t),e.toolbar.range.collapse(!1),focusByRange(e.toolbar.range);else{const f=a.outerHTML;t.insertAdjacentHTML("afterend","<wbr>"),t.remove(),a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,i,a.outerHTML,f),focusByWbr(a,e.toolbar.range)}window.siyuan.menus.menu.remove()}else if(electronUndo(c))return})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_1",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"search",label:window.siyuan.languages.search,accelerator:window.siyuan.languages.click,icon:"iconSearch",click(){popSearch(e.app,{hasReplace:!1,method:0,hPath:"",idPath:[],k:`#${t.textContent}#`,r:"",page:1})}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"rename",label:window.siyuan.languages.rename,icon:"iconEdit",click(){renameTag(t.textContent.replace(Constants.ZWSP,""))}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"separator_2",type:"separator"}).element),window.siyuan.menus.menu.append(new MenuItem({id:"turnIntoText",label:`${window.siyuan.languages.turnInto} <b>${window.siyuan.languages.text}</b>`,icon:"iconRefresh",click(){e.toolbar.range.setStart(t.firstChild,0),e.toolbar.range.setEnd(t.lastChild,t.lastChild.textContent.length),e.toolbar.setInlineMark(e,"tag","range")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",click(){const l=document.createRange();l.selectNode(t),focusByRange(l),document.execCommand("copy")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"cut",label:window.siyuan.languages.cut,icon:"iconCut",click(){const l=document.createRange();l.selectNode(t),focusByRange(l),document.execCommand("cut")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"remove",icon:"iconTrashcan",label:window.siyuan.languages.remove,click(){const l=a.outerHTML;t.insertAdjacentHTML("afterend","<wbr>"),t.remove(),a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,i,a.outerHTML,l),focusByWbr(a,e.toolbar.range)}}).element),(n=e==null?void 0:e.app)!=null&&n.plugins&&emitOpenMenu({plugins:e.app.plugins,type:"open-menu-tag",detail:{protyle:e,element:t},separatorPosition:"top"}),window.siyuan.menus.menu.fullscreen();const o=hasTopClosestByClassName(e.element,"block__popover",!0);window.siyuan.menus.menu.element.setAttribute("data-from",o?o.dataset.level+"popover":"app"),window.siyuan.menus.menu.element.querySelector("input").select()},Wu=(e,t)=>{window.siyuan.menus.menu.remove();const n=hasClosestBlock(t);if(!n)return;const a=n.getAttribute("data-node-id"),i=n.outerHTML;window.siyuan.menus.menu.append(new MenuItem({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",click(){const o=document.createRange();o.selectNode(t),focusByRange(o),document.execCommand("copy")}}).element),e.disabled||(window.siyuan.menus.menu.append(new MenuItem({id:"cut",icon:"iconCut",label:window.siyuan.languages.cut,click(){const o=document.createRange();o.selectNode(t),focusByRange(o),document.execCommand("cut")}}).element),window.siyuan.menus.menu.append(new MenuItem({id:"remove",icon:"iconTrashcan",label:window.siyuan.languages.remove,click(){t.insertAdjacentHTML("afterend","<wbr>"),t.remove(),n.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(e,a,n.outerHTML,i),focusByWbr(n,e.toolbar.range)}}).element));const s=t.getBoundingClientRect();window.siyuan.menus.menu.popup({x:s.left,y:s.top+26,h:26})},ht=(e,t,n,a,i,s)=>({id:e===window.siyuan.languages.default?"default":"width_"+e,iconHTML:"",label:e,click(){i.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),img3115(t.parentElement.parentElement),t.parentElement.style.width=e===window.siyuan.languages.default?"":`calc(${e} - 8px)`,t.style.height="",updateTransaction(n,a,i.outerHTML,s),focusBlock(i)}}),wt=(e,t,n,a,i,s)=>({id:e===window.siyuan.languages.default?"default":"width_"+e,iconHTML:"",label:e,click(){i.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),t.style.height=e===window.siyuan.languages.default?"":parseInt(e)+"vh",img3115(t.parentElement.parentElement),t.parentElement.style.width="",updateTransaction(n,a,i.outerHTML,s),focusBlock(i)}}),ju=(e,t)=>{const n=t.getAttribute("data-node-id"),a=t.querySelector("iframe");let i=t.outerHTML;const s=[{id:"asset",iconHTML:"",type:"readonly",label:`<textarea spellcheck="false" rows="1" class="b3-text-field fn__block" placeholder="${window.siyuan.languages.link}" style="margin: 4px 0">${a.getAttribute("src")||""}</textarea>`,bind(l){l.style.maxWidth="none",l.querySelector("textarea").addEventListener("change",r=>{const c=r.target.value.replace(/\n|\r\n|\r|\u2028|\u2029/g,"").trim(),f=c.match(/(?:www\.|\/\/)bilibili\.com\/video\/(\w+)/);if(c.indexOf("bilibili.com")>-1&&(c.indexOf("bvid=")>-1||f&&f[1])){const d={bvid:getSearch("bvid",c)||f&&f[1],page:"1",high_quality:"1",as_wide:"1",allowfullscreen:"true",autoplay:"0"};new URL(c.startsWith("http")?c:"https:"+c).search.split("&").forEach((p,m)=>{if(!p)return;m===0&&(p=p.substr(1));const b=p.split("=");d[b[0]]=b[1]});let u="https://player.bilibili.com/player.html?";const g=Object.keys(d);g.forEach((p,m)=>{u+=`${p}=${d[p]}`,m<g.length-1&&(u+="&")}),a.setAttribute("src",u),a.setAttribute("sandbox","allow-top-navigation-by-user-activation allow-same-origin allow-forms allow-scripts allow-popups"),a.style.height||(a.style.height="360px"),a.style.width||(a.style.width="640px")}else a.setAttribute("src",c);updateTransaction(e,n,t.outerHTML,i),i=t.outerHTML,r.stopPropagation()})}}],o=a.getAttribute("src");return o?(s.push({type:"separator"}),s.concat(openMenu(e.app,o,!0,!1))):s},Vu=(e,t,n)=>{const a=t.getAttribute("data-node-id"),i=t.querySelector(n==="NodeVideo"?"video":"audio");let s=t.outerHTML;const o=[{id:"asset",iconHTML:"",type:"readonly",label:`<textarea spellcheck="false" rows="1" style="margin: 4px 0" class="b3-text-field fn__block" placeholder="${window.siyuan.languages.link}">${i.getAttribute("src")}</textarea>`,bind(r){r.style.maxWidth="none",r.querySelector("textarea").addEventListener("change",c=>{i.setAttribute("src",c.target.value.replace(/\n|\r\n|\r|\u2028|\u2029/g,"").trim()),updateTransaction(e,a,t.outerHTML,s),s=t.outerHTML,c.stopPropagation()})}}],l=i.getAttribute("src");return l&&l.startsWith("assets/")&&(o.push({type:"separator"}),o.push({id:"rename",label:window.siyuan.languages.rename,icon:"iconEdit",click(){renameAsset(l)}})),l&&o.push({id:"openBy",label:window.siyuan.languages.openBy,icon:"iconOpen",submenu:openMenu(e.app,l,!0,!1)}),l&&l.startsWith("assets/")&&o.push(exportAsset(l)),o},Gu=(e,t,n,a)=>{var i;const s=[],o=getColIndex(n);(n.rowSpan>1||n.colSpan>1)&&s.push({id:"cancelMerged",label:window.siyuan.languages.cancelMerged,click:()=>{const S=t.outerHTML;let x=n.rowSpan,M=n.parentElement;const D=n.colSpan;for(;x>0&&M;){let H=M.children[o],B=D;for(;B>0&&H;)H.classList.remove("fn__none"),H.colSpan=1,H.rowSpan=1,H=H.nextElementSibling,B--;M=M.nextElementSibling,x--}if(n.rowSpan=1,n.colSpan=1,n.tagName==="TH"){let H;if(Array.from(t.querySelectorAll("thead tr")).find(B=>
2004{if(H=B,Array.from(B.children).forEach(Y=>{(Y.rowSpan!==1||Y.classList.contains("fn__none"))&&(H=void 0)}),H)return!0}),H){const B=t.querySelector("tbody"),Y=t.querySelector("thead");for(;!H.isSameNode(Y.lastElementChild);)B.insertAdjacentElement("afterbegin",Y.lastElementChild)}}focusByRange(a),updateTransaction(e,t.getAttribute("data-node-id"),t.outerHTML,S)}});const l=t.querySelectorAll("col")[o];(l.style.width||l.style.minWidth)&&s.push({id:"useDefaultWidth",label:window.siyuan.languages.useDefaultWidth,click:()=>{const S=t.outerHTML;l.style.width="",l.style.minWidth="",updateTransaction(e,t.getAttribute("data-node-id"),t.outerHTML,S)}});const r=t.getAttribute("custom-pinthead");s.push({id:r?"unpinTableHead":"pinTableHead",icon:r?"iconUnpin":"iconPin",label:r?window.siyuan.languages.unpinTableHead:window.siyuan.languages.pinTableHead,click:()=>{const S=t.outerHTML;r?t.removeAttribute("custom-pinthead"):t.setAttribute("custom-pinthead","true"),updateTransaction(e,t.getAttribute("data-node-id"),t.outerHTML,S)}}),s.push({id:"separator_1",type:"separator"}),s.push({id:"alignLeft",icon:"iconAlignLeft",accelerator:window.siyuan.config.keymap.editor.general.alignLeft.custom,label:window.siyuan.languages.alignLeft,click:()=>{setTableAlign(e,[n],t,"left",a)}}),s.push({id:"alignCenter",icon:"iconAlignCenter",label:window.siyuan.languages.alignCenter,accelerator:window.siyuan.config.keymap.editor.general.alignCenter.custom,click:()=>{setTableAlign(e,[n],t,"center",a)}}),s.push({id:"alignRight",icon:"iconAlignRight",label:window.siyuan.languages.alignRight,accelerator:window.siyuan.config.keymap.editor.general.alignRight.custom,click:()=>{setTableAlign(e,[n],t,"right",a)}}),s.push({id:"useDefaultAlign",icon:"",label:window.siyuan.languages.useDefaultAlign,click:()=>{setTableAlign(e,[n],t,"",a)}});const c=[];c.push(...s),c.push({type:"separator"});const f=t.querySelector("table"),d=n.parentElement.querySelector(".fn__none");let u=!1,g=!1;Array.from(n.parentElement.children).forEach(S=>{S.colSpan>1&&(u=!0),S.rowSpan>1&&(g=!0)});let p=!1,m=!1,b=!1,E=n.parentElement.previousElementSibling;!E&&n.parentElement.parentElement.tagName==="TBODY"&&(E=f.querySelector("thead").lastElementChild),E&&(p=E.querySelector(".fn__none"),Array.from(E.children).forEach(S=>{S.colSpan>1&&(m=!0),S.rowSpan>1&&(b=!0)}));let k=!1,A=!1,v=!1,w=n.parentElement.nextElementSibling;!w&&n.parentElement.parentElement.tagName==="THEAD"&&(w=(i=f.querySelector("tbody"))==null?void 0:i.firstElementChild),w&&(k=w.querySelector(".fn__none"),Array.from(w.children).forEach(S=>{S.colSpan>1&&(A=!0),S.rowSpan>1&&(v=!0)}));let y=!0;Array.from(f.rows).find(S=>{const x=S.cells[o];if(x.classList.contains("fn__none")||x.colSpan>1||x.rowSpan>1)return y=!1,!0});let h=!0;Array.from(f.rows).find(S=>{const x=S.cells[o+1];if(x&&(x.classList.contains("fn__none")||x.colSpan>1||x.rowSpan>1))return h=!1,!0});let _=!0;Array.from(f.rows).find(S=>{const x=S.cells[o-1];if(x&&(x.classList.contains("fn__none")||x.colSpan>1||x.rowSpan>1))return _=!1,!0});const C=[];C.push({id:"insertRowAbove",icon:"iconBefore",label:window.siyuan.languages.insertRowAbove,accelerator:window.siyuan.config.keymap.editor.table.insertRowAbove.custom,click:()=>{insertRowAbove(e,a,n,t)}}),(!k||k&&!v&&A)&&C.push({id:"insertRowBelow",icon:"iconAfter",label:window.siyuan.languages.insertRowBelow,accelerator:window.siyuan.config.keymap.editor.table.insertRowBelow.custom,click:()=>{insertRow(e,a,n,t)}}),(y||_)&&C.push({id:"insertColumnLeft",icon:"iconInsertLeft",label:window.siyuan.languages.insertColumnLeft,accelerator:window.siyuan.config.keymap.editor.table.insertColumnLeft.custom,click:()=>{insertColumn(e,t,n,"beforebegin",a)}}),(y||h)&&C.push({id:"insertColumnRight",icon:"iconInsertRight",label:window.siyuan.languages.insertColumnRight,accelerator:window.siyuan.config.keymap.editor.table.insertColumnRight.custom,click:()=>{insertColumn(e,t,n,"afterend",a)}}),c.push(...C);const L=[];((!d||d&&!g&&u)&&(!p||p&&!b&&m)||(!d||d&&!g&&u)&&(!k||k&&!v&&A)||y&&_||y&&h)&&L.push({id:"separator_2",type:"separator"}),(!d||d&&!g&&u)&&(!p||p&&!b&&m)&&L.push({id:"moveToUp",icon:"iconUp",label:window.siyuan.languages.moveToUp,accelerator:window.siyuan.config.keymap.editor.table.moveToUp.custom,click:()=>{moveRowToUp(e,a,n,t)}}),(!d||d&&!g&&u)&&(!k||k&&!v&&A)&&L.push({id:"moveToDown",icon:"iconDown",label:window.siyuan.languages.moveToDown,accelerator:window.siyuan.config.keymap.editor.table.moveToDown.custom,click:()=>{moveRowToDown(e,a,n,t)}}),y&&_&&L.push({id:"moveToLeft",icon:"iconLeft",label:window.siyuan.languages.moveToLeft,accelerator:window.siyuan.config.keymap.editor.table.moveToLeft.custom,click:()=>{moveColumnToLeft(e,a,n,t)}}),y&&h&&L.push({id:"moveToRight",icon:"iconRight",label:window.siyuan.languages.moveToRight,accelerator:window.siyuan.config.keymap.editor.table.moveToRight.custom,click:()=>{moveColumnToRight(e,a,n,t)}}),c.push(...L),(n.parentElement.parentElement.tagName!=="THEAD"&&(!d&&!g||d&&!g&&u)||y)&&c.push({type:"separator"});const I=[];return n.parentElement.parentElement.tagName!=="THEAD"&&(!d&&!g||d&&!g&&u)&&I.push({id:"deleteRow",icon:"iconDeleteRow",label:window.siyuan.languages["delete-row"],accelerator:window.siyuan.config.keymap.editor.table["delete-row"].custom,click:()=>{deleteRow(e,a,n,t)}}),y&&I.push({id:"deleteColumn",icon:"iconDeleteColumn",label:window.siyuan.languages["delete-column"],accelerator:window.siyuan.config.keymap.editor.table["delete-column"].custom,click:()=>{deleteColumn(e,a,t,n)}}),c.push(...I),{menus:c,removeMenus:I,insertMenus:C,otherMenus:s,other2Menus:L}},Ku=(e,t,n,a,i=!0)=>
2004{if(t.getAttribute("data-type")==="NodeListItem"&&t.childElementCount<4||t.getAttribute("data-type")==="NodeThematicBreak")return-1;const s=t.getAttribute("fold")==="1";if(s){if(typeof n=="boolean"&&!n)return-1;t.removeAttribute("fold"),t.querySelectorAll(".protyle-linenumber__rows").forEach(l=>{lineNumberRender(l.parentElement)})}else{if(typeof n=="boolean"&&n)return-1;if(t.setAttribute("fold","1"),getSelection().rangeCount>0){const l=getSelection().getRangeAt(0),r=hasClosestBlock(l.startContainer);r&&r.getBoundingClientRect().width===0&&focusBlock(t,void 0,!1)}t.querySelectorAll(".img--select, .av__cell--select, .av__cell--active, .av__row--select").forEach(l=>{var r;l.classList.contains("av__row--select")?(l.classList.remove("av__row--select"),l.querySelector(".av__firstcol use").setAttribute("xlink:href","#iconUncheck"),updateHeader(l)):((r=l.querySelector(".av__drag-fill"))==null||r.remove(),l.classList.remove("img--select","av__cell--select","av__cell--active"))})}const o=t.getAttribute("data-node-id");return t.getAttribute("data-type")==="NodeHeading"?s?(i&&t.insertAdjacentHTML("beforeend",'<div spin="1" style="text-align: center"><img width="24px" height="24px" src="/stage/loading-pure.svg"></div>'),transaction(e,[{action:"unfoldHeading",id:o,data:a?"remove":void 0}],[{action:"foldHeading",id:o}])):(transaction(e,[{action:"foldHeading",id:o}],[{action:"unfoldHeading",id:o}]),removeFoldHeading(t)):transaction(e,[{action:"setAttrs",id:o,data:JSON.stringify({fold:s?"":"1"})}],[{action:"setAttrs",id:o,data:JSON.stringify({fold:s?"1":""})}]),preventScroll(e),s?0:1};var al=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const sl=(e,t,n,a)=>al(void 0,null,function*(){var i,s,o,l,r,c,f;preventScroll(e);const d=Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select"));if((d==null?void 0:d.length)>0){const h=[],_=[];let C,L=!1;a==="Backspace"?(C=d[0].previousElementSibling,C||(L=!0,C=d[d.length-1].nextElementSibling)):(C=d[d.length-1].nextElementSibling,L=!0,C||(L=!1,C=d[0].previousElementSibling));let I,S;hideElements(["select"],e);let x;if(d.find(M=>{const D=getTopAloneElement(M);S=D.parentElement;const H=D.getAttribute("data-node-id");if(h.push({action:"delete",id:H}),a==="Backspace"?(C=getPreviousBlock(D),C||(L=!0,C=getNextBlock(D))):(C=getNextBlock(D),L=!0,C||(L=!1,C=getPreviousBlock(D))),!C&&!e.options.backlinkData&&(C=D.parentElement||e.wysiwyg.element.firstElementChild,L=!1),D.getAttribute("data-type")==="NodeHeading"&&D.getAttribute("fold")==="1"){setFold(e,D,void 0,!0);let B=D.previousElementSibling?D.previousElementSibling.getAttribute("data-node-id"):"";typeof x!="undefined"&&(B=x),_.push({action:"insert",data:D.outerHTML,id:H,previousID:B,parentID:D.parentElement.getAttribute("data-node-id")||e.block.parentID});let Y=getPreviousBlock(D);for(;Y&&Y.childElementCount===3;)Y=getPreviousBlock(Y);Y?x=Y.getAttribute("data-node-id"):x="",D.firstElementChild.removeAttribute("contenteditable");const X=D.nextElementSibling;if(X){const U=X.getAttribute("data-type");if(U!=="NodeHeading"||U==="NodeHeading"&&X.getAttribute("data-subtype")>D.getAttribute("data-subtype"))return!0}}else{let B=D.outerHTML;(D.classList.contains("render-node")||D.querySelector("div.render-node"))&&(B=e.lute.SpinBlockDOM(D.outerHTML));let Y=D.previousElementSibling?D.previousElementSibling.getAttribute("data-node-id"):"";typeof x!="undefined"&&(Y=x),_.push({action:"insert",data:B,id:H,previousID:Y,parentID:D.parentElement.getAttribute("data-node-id")||e.block.parentID}),D.getAttribute("data-subtype")==="o"&&D.classList.contains("li")?I=D.parentElement:I=void 0,D.remove()}}),C)if(e.block.showAll&&C.classList.contains("protyle-wysiwyg")&&e.wysiwyg.element.childElementCount===0)setTimeout(()=>{zoomOut({protyle:e,id:e.block.parent2ID,focusId:e.block.parent2ID})},Constants.TIMEOUT_INPUT*2+100);else{if(C.classList.contains("protyle-wysiwyg")&&e.wysiwyg.element.childElementCount===0){const M=Lute.NewNodeID(),D=genEmptyElement(!1,!0,M);C.insertAdjacentElement("afterbegin",D),h.push({action:"insert",data:D.outerHTML,id:M,parentID:C.getAttribute("data-node-id")||e.block.parentID}),_.push({action:"delete",id:M}),C=void 0,focusByWbr(D,n)}a!=="Backspace"&&L?focusBlock(C):focusBlock(C,void 0,!1),scrollCenter(e,C),I&&(_.push({action:"update",id:I.getAttribute("data-node-id"),data:I.outerHTML}),updateListOrder(I,1),h.push({action:"update",id:I.getAttribute("data-node-id"),data:I.outerHTML}))}if(h.length>0)if(S&&S.getAttribute("data-type")==="NodeSuperBlock"&&S.childElementCount===2){const M=yield cancelSB(e,S,n);transaction(e,h.concat(M.doOperations),M.undoOperations.concat(_.reverse()))}else transaction(e,h,_.reverse());hideElements(["util"],e);return}const u=t.getAttribute("data-type");if(u==="NodeCodeBlock"&&getContenteditableElement(t).textContent.trim()===""){t.classList.add("protyle-wysiwyg--select"),sl(e,t,n,a);return}if(!t.previousElementSibling&&t.parentElement.getAttribute("data-type")==="NodeBlockquote"){a!=="Delete"&&n.insertNode(document.createElement("wbr"));const h=t.parentElement;h.insertAdjacentElement("beforebegin",t),h.childElementCount===1?(transaction(e,[{action:"move",id:t.getAttribute("data-node-id"),previousID:(i=t.previousElementSibling)==null?void 0:i.getAttribute("data-node-id"),parentID:h.parentElement.getAttribute("data-node-id")||e.block.parentID},{action:"delete",id:h.getAttribute("data-node-id")}],[{action:"insert",id:h.getAttribute("data-node-id"),data:h.outerHTML,previousID:(s=t.previousElementSibling)==null?void 0:s.getAttribute("data-node-id"),parentID:h.parentElement.getAttribute("data-node-id")||e.block.parentID},{action:"move",id:t.getAttribute("data-node-id"),parentID:h.getAttribute("data-node-id")}]),h.remove()):transaction(e,[{action:"move",id:t.getAttribute("data-node-id"),previousID:(o=t.previousElementSibling)==null?void 0:o.getAttribute("data-node-id"),parentID:h.parentElement.getAttribute("data-node-id")||e.block.parentID}],[{action:"move",id:t.getAttribute("data-node-id"),parentID:h.getAttribute("data-node-id")}
2004]),a==="Delete"?_n(t,n,!0):focusByWbr(t,n);return}if(t.parentElement.classList.contains("li")&&t.getAttribute("data-type")!=="NodeHeading"&&t.previousElementSibling.classList.contains("protyle-action")){il(e,t,n,a==="Delete");return}const g=getPreviousBlock(t);if(["NodeCodeBlock","NodeTable","NodeAttributeView"].includes(u)){if(g)if(g.classList.contains("p")&&getContenteditableElement(g).textContent===""){const h=getPreviousBlock(g);transaction(e,[{action:"delete",id:g.getAttribute("data-node-id")}],[{action:"insert",data:g.outerHTML,id:g.getAttribute("data-node-id"),parentID:g.parentElement.getAttribute("data-node-id")||e.block.parentID,previousID:h&&(!g.previousElementSibling||!g.previousElementSibling.classList.contains("protyle-action"))?h.getAttribute("data-node-id"):void 0}]),g.remove()}else focusBlock(g,void 0,!1);return}if(u==="NodeHeading"){turnsIntoTransaction({protyle:e,selectsElement:[t],type:"Blocks2Ps",range:_n(t,n,a==="Delete")});return}if(t.previousElementSibling&&t.previousElementSibling.classList.contains("protyle-breadcrumb__bar"))return;if(!g){if(e.wysiwyg.element.childElementCount>1&&getContenteditableElement(t).textContent===""){focusBlock(e.wysiwyg.element.firstElementChild.nextElementSibling);const h=getTopAloneElement(t);transaction(e,[{action:"delete",id:h.getAttribute("data-node-id")}],[{action:"insert",data:h.outerHTML,id:h.getAttribute("data-node-id"),parentID:e.block.parentID}]),h.remove()}return}const p=t.parentElement,m=getContenteditableElement(t),b=getLastBlock(g);if(n.toString()===""&&isMobile()&&b&&b.classList.contains("hr")&&getSelectionOffset(m).start===0){transaction(e,[{action:"delete",id:b.getAttribute("data-node-id")}],[{action:"insert",data:b.outerHTML,id:b.getAttribute("data-node-id"),previousID:(l=b.previousElementSibling)==null?void 0:l.getAttribute("data-node-id"),parentID:b.parentElement.getAttribute("data-node-id")}]),b.remove();return}const E=b&&(b.classList.contains("table")||b.classList.contains("render-node")||b.classList.contains("iframe")||b.classList.contains("hr")||b.classList.contains("av")||b.classList.contains("code-block")),k=b.getAttribute("data-node-id");if(E){if(b.classList.contains("code-block")){if(m.textContent.trim()===""){const h=t.getAttribute("data-node-id"),_=[{action:"delete",id:h}],C=[{action:"insert",data:t.outerHTML,id:h,previousID:(r=t.previousElementSibling)==null?void 0:r.getAttribute("data-node-id"),parentID:t.parentElement.getAttribute("data-node-id")}];if(t.remove(),p.getAttribute("data-type")==="NodeSuperBlock"&&p.childElementCount===2){const L=yield cancelSB(e,p);transaction(e,_.concat(L.doOperations),L.undoOperations.concat(C))}else transaction(e,_,C);focusBlock(e.wysiwyg.element.querySelector(`[data-node-id="${k}"]`),void 0,!1)}else focusBlock(b,void 0,!1);return}if(m.textContent!==""||t.classList.contains("av")){focusBlock(b,void 0,!1);return}}const A=getTopEmptyElement(t),v=A.getAttribute("data-node-id");n.insertNode(document.createElement("wbr"));const w=[{action:"update",data:b.outerHTML,id:k},{action:"insert",data:A.outerHTML,id:v,previousID:(c=t.previousElementSibling)==null?void 0:c.getAttribute("data-node-id"),parentID:p.getAttribute("data-node-id")}],y=[{action:"delete",id:v}];if(E)A.remove(),focusBlock(b,void 0,!1),w.splice(0,1);else{const h=getContenteditableElement(b);if(m&&(m.textContent!==""||m.querySelector(".emoji"))&&(n.setEndAfter(m.lastChild),(((f=h==null?void 0:h.lastElementChild)==null?void 0:f.getAttribute("data-type"))||"").indexOf("inline-math")>-1)){const L=hasNextSibling(h==null?void 0:h.lastElementChild);L&&L.textContent===`
2005`&&L.remove()}if(h){let L=h.lastChild;L&&L.nodeType===3&&(L.textContent||(L=hasPreviousSibling(L)),L&&L.nodeType===3&&L.textContent.endsWith(`
2006`)&&(L.textContent=L.textContent.slice(0,-1)))}const _=e.contentElement.scrollTop,C=n.extractContents();n.selectNodeContents(h),n.collapse(!1),n.insertNode(C),b.outerHTML=e.lute.SpinBlockDOM(b.outerHTML),mathRender(getPreviousBlock(A)),A.remove(),e.contentElement.scrollTop=_,e.scroll.lastScrollTop=_-1,y.push({action:"update",data:b.outerHTML,id:k})}if(p.getAttribute("data-type")==="NodeSuperBlock"&&p.childElementCount===2){const h=yield cancelSB(e,p);transaction(e,y.concat(h.doOperations),h.undoOperations.concat(w))}else transaction(e,y,w);
2006focusByWbr(e.wysiwyg.element,n)}),_n=(e,t,n)=>{if(n){const a=getPreviousBlock(e);if(a){const i=getContenteditableElement(getLastBlock(a));if(i)return setLastNodeRange(i,t,!1)}}},zu=(e,t,n,a)=>{const i=t.outerHTML,s=hasPreviousSibling(e);s&&s.textContent.endsWith(Constants.ZWSP)&&(s.textContent=s.textContent.substring(0,s.textContent.length-1));const o=hasNextSibling(e);o&&o.textContent.startsWith(Constants.ZWSP)&&(o.textContent=o.textContent.replace(Constants.ZWSP,"")),e.insertAdjacentHTML("afterend","<wbr>"),e.remove(),updateTransaction(a,t.getAttribute("data-node-id"),t.outerHTML,i),focusByWbr(t,n);const l=getContenteditableElement(t);l.innerHTML.trim()===""&&(l.innerHTML="")},il=(e,t,n,a=!1)=>{var i;if(!t.parentElement.previousElementSibling&&t.parentElement.nextElementSibling&&t.parentElement.nextElementSibling.classList.contains("protyle-attr")){listOutdent(e,[t.parentElement],n,a,t);return}if(!t.parentElement.previousElementSibling&&t.parentElement.parentElement.parentElement.classList.contains("list")){n.insertNode(document.createElement("wbr"));const u=t.parentElement.parentElement,g=u.outerHTML,p=t.parentElement.parentElement.previousElementSibling.lastElementChild,m=p.parentElement.outerHTML;t.parentElement.firstElementChild.remove(),t.parentElement.lastElementChild.remove(),p.insertAdjacentHTML("beforebegin",t.parentElement.innerHTML),t.parentElement.remove(),u.getAttribute("data-subtype")==="o"&&updateListOrder(u),transaction(e,[{action:"update",id:u.getAttribute("data-node-id"),data:u.outerHTML},{action:"update",data:p.parentElement.outerHTML,id:p.parentElement.getAttribute("data-node-id")}],[{action:"update",data:m,id:p.parentElement.getAttribute("data-node-id")},{action:"update",data:g,id:u.getAttribute("data-node-id")}]),focusByWbr(p.parentElement,n);return}if(!t.parentElement.previousElementSibling){if(t.parentElement.parentElement.classList.contains("protyle-wysiwyg"))return;_n(t,n,a),n.insertNode(document.createElement("wbr"));const u=t.parentElement.parentElement,g=u.outerHTML;t.parentElement.firstElementChild.remove(),t.parentElement.lastElementChild.remove();const p=document.createElement("div");p.innerHTML=t.parentElement.innerHTML;const m=[],b=[];if(Array.from(p.children).forEach((E,k)=>{var A;m.push({action:"insert",id:E.getAttribute("data-node-id"),data:E.outerHTML,previousID:k===0?(A=u.previousElementSibling)==null?void 0:A.getAttribute("data-node-id"):m[k-1].id,parentID:u.parentElement.getAttribute("data-node-id")||e.block.parentID}),b.push({action:"delete",id:E.getAttribute("data-node-id")})}),u.insertAdjacentHTML("beforebegin",t.parentElement.innerHTML),t.parentElement.remove(),u.getAttribute("data-subtype")==="o"&&updateListOrder(u,parseInt(u.firstElementChild.getAttribute("data-marker"))-1),m.splice(0,0,{action:"update",id:u.getAttribute("data-node-id"),data:u.outerHTML}
2006),b.push({action:"update",data:g,id:u.getAttribute("data-node-id")}),transaction(e,m,b),u.parentElement.classList.contains("sb")&&u.parentElement.getAttribute("data-sb-layout")==="col"){const E=[];let k=u;for(;k&&(E.push(k),b[0].id!==k.getAttribute("data-node-id"));)k=k.previousElementSibling;turnsIntoOneTransaction({protyle:e,selectsElement:E.reverse(),type:"BlocksMergeSuperBlock",level:"row"})}focusByWbr(e.wysiwyg.element,n);return}const s=t.parentElement;if(s.previousElementSibling&&s.previousElementSibling.classList.contains("protyle-breadcrumb__bar"))return;const o=s.getAttribute("data-node-id"),l=s.parentElement;_n(t,n,a),n.insertNode(document.createElement("wbr"));const r=l.outerHTML,c=[],f=[{action:"insert",id:o,data:"",previousID:s.previousElementSibling.getAttribute("data-node-id")}],d=s.previousElementSibling.lastElementChild;if(s.previousElementSibling.getAttribute("fold")==="1")if(getContenteditableElement(t).textContent.trim()===""&&t.nextElementSibling.classList.contains("protyle-attr"))c.push({action:"delete",id:o}),f[0].data=s.outerHTML,setLastNodeRange(getContenteditableElement(s.previousElementSibling),n),n.collapse(!0),s.remove();else{setLastNodeRange(getContenteditableElement(s.previousElementSibling),n),n.collapse(!0),focusByRange(n),(i=t.querySelector("wbr"))==null||i.remove();return}else{let u=d.previousElementSibling.getAttribute("data-node-id");Array.from(t.parentElement.children).forEach((g,p)=>{if(g.classList.contains("protyle-action")||g.classList.contains("protyle-attr"))return;const m=g.getAttribute("data-node-id");c.push({action:"move",id:m,previousID:u}),f.push({action:"move",id:m,previousID:p===1?void 0:u,parentID:o}),u=m,d.before(g)}),c.push({action:"delete",id:o}),f[0].data=s.outerHTML,s.remove()}l.classList.contains("protyle-wysiwyg")?transaction(e,c,f):(l.getAttribute("data-subtype")==="o"&&updateListOrder(l),updateTransaction(e,l.getAttribute("data-node-id"),l.outerHTML,r)),focusByWbr(d.parentElement,n)},Ge=(e,t)=>{if(e.getAttribute("data-subtype")!=="o")return;let n;Array.from(e.children).forEach((a,i)=>{i===0?t?(n=t,a.setAttribute("data-marker",n+"."),a.querySelector(".protyle-action--order").textContent=n+"."):n=parseInt(a.getAttribute("data-marker")):a.classList.contains("li")&&(n++,a.setAttribute("data-marker",n+"."),a.querySelector(".protyle-action--order").textContent=n+".")})},ol=(e,t=0,n=!1)=>{const a=document.createElement("template"),i=e.getAttribute("data-subtype");if(i==="o"){const s=parseInt(e.getAttribute("data-marker"))+t;a.innerHTML=`<div data-marker="${s+1}." data-subtype="${i}" data-node-id="${Lute.NewNodeID()}" data-type="NodeListItem" class="li"><div contenteditable="false" class="protyle-action protyle-action--order" draggable="true">${s+1}.</div>${genEmptyBlock(!1,n)}<div class="protyle-attr" contenteditable="false"></div></div>`}else i==="t"?a.innerHTML=`<div data-marker="*" data-subtype="${i}" data-node-id="${Lute.NewNodeID()}" data-type="NodeListItem" class="li"><div class="protyle-action protyle-action--task" draggable="true"><svg><use xlink:href="#iconUncheck"></use></svg></div>${genEmptyBlock(!1,n)}<div class="protyle-attr" contenteditable="false"></div></div>`:a.innerHTML=`<div data-marker="*" data-subtype="${i}" data-node-id="${Lute.NewNodeID()}" data-type="NodeListItem" class="li"><div class="protyle-action" draggable="true"><svg><use xlink:href="#iconDot"></use></svg></div>${genEmptyBlock(!1,n)}<div class="protyle-attr" contenteditable="false"></div></div>`;return a.content.firstElementChild},Zu=(e,t,n)=>{var a;const i=hasClosestByClassName(t,"li");if(!i)return;const s=(a=i.querySelector(".list"))==null?void 0:a.lastElementChild.previousElementSibling;if(!s)return;const o=ol(s,0,!0),l=o.getAttribute("data-node-id");s.after(o),s.parentElement.getAttribute("fold")==="1"&&setFold(e,s.parentElement,!0),i.getAttribute("fold")==="1"&&setFold(e,i,!0),transaction(e,[{action:"insert",id:l,data:o.outerHTML,previousID:s.getAttribute("data-node-id")}],[{action:"delete",id:l}]),focusByWbr(o,n)},Xu=(e,t,n)=>{if(t.forEach(s=>{s.removeAttribute("select-start"),s.removeAttribute("select-end")}),!t[0].classList.contains("li"))if(t[0].parentElement.childElementCount===t.length+2)t=[t[0].parentElement];else return;const a=t[0].previousElementSibling;if(!a)return;n.collapse(!1),n.insertNode(document.createElement("wbr"));const i=a.parentElement.outerHTML;if(a.lastElementChild.previousElementSibling.getAttribute("data-type")==="NodeList"){const s=a.lastElementChild.previousElementSibling.outerHTML,o=[],l=[],r=a.lastElementChild.previousElementSibling.getAttribute("data-subtype");let c=a.lastElementChild.previousElementSibling.lastElementChild.previousElementSibling.getAttribute("data-node-id");t.forEach((f,d)=>{o.push({action:"move",id:f.getAttribute("data-node-id"),previousID:c}),l.push({action:"move",id:f.getAttribute("data-node-id"),previousID:d===0?a.getAttribute("data-node-id"):c}),c=f.getAttribute("data-node-id"),f.setAttribute("data-subtype",r);const u=f.querySelector(".protyle-action");r==="o"?(u.classList.add("protyle-action--order"),u.classList.remove("protyle-action--task"),a.lastElementChild.previousElementSibling.lastElementChild.before(f)):r==="t"?(f.setAttribute("data-marker","*"),u.innerHTML=`<svg><use xlink:href="#icon${f.classList.contains("protyle-task--done")?"Check":"Uncheck"}"></use></svg>`,u.classList.remove("protyle-action--order"),u.classList.add("protyle-action--task"),a.lastElementChild.previousElementSibling.lastElementChild.before(f)):(f.setAttribute("data-marker","*"),u.innerHTML='<svg><use xlink:href="#iconDot"></use></svg>',u.classList.remove("protyle-action--order","protyle-action--task"),a.lastElementChild.previousElementSibling.lastElementChild.before(f))}),r==="o"?(Ge(a.lastElementChild.previousElementSibling),Ge(a.parentElement)):a.getAttribute("data-subtype")==="o"&&Ge(a.parentElement),a.parentElement.classList.contains("protyle-wysiwyg")&&(o.push({action:"update",data:a.lastElementChild.previousElementSibling.outerHTML,id:a.lastElementChild.previousElementSibling.getAttribute("data-node-id")}),l.push({action:"update",data:s,id:a.lastElementChild.previousElementSibling.getAttribute("data-node-id")}),transaction(e,o,l))}else{const s=a.outerHTML,o=t[0].getAttribute("data-subtype"),l=document.createElement("div"),r=Lute.NewNodeID();l.setAttribute("data-node-id",r),l.setAttribute("data-type","NodeList"),l.setAttribute("class","list"),l.setAttribute("data-subtype",o),l.innerHTML='<div class="protyle-attr" contenteditable="false"></div>';const c=[{action:"insert",data:l.outerHTML,id:r,previousID:a.lastElementChild.previousElementSibling.getAttribute("data-node-id")}];a.lastElementChild.before(l);const f=[];let d;t.forEach((u,g)=>{c.push({action:"move",id:u.getAttribute("data-node-id"),parentID:r,previousID:d}),f.push({action:"move",id:u.getAttribute("data-node-id"),previousID:g===0?a.getAttribute("data-node-id"):d}),d=u.getAttribute("data-node-id"),l.lastElementChild.before(u)}
2006),f.push({action:"delete",id:r}),o==="o"&&(Ge(l,1),Ge(a.parentElement)),a.parentElement.classList.contains("protyle-wysiwyg")&&(c.push({action:"update",data:a.outerHTML,id:a.getAttribute("data-node-id")}),f.push({action:"update",data:s,id:a.getAttribute("data-node-id")}),transaction(e,c,f))}a.parentElement.classList.contains("protyle-wysiwyg")||updateTransaction(e,a.parentElement.getAttribute("data-node-id"),a.parentElement.outerHTML,i),focusByWbr(a,n)},Ju=(e,t,n)=>{var a,i;const s=t.parentElement,o=s.getAttribute("data-node-id"),l=[],r=[];n.insertNode(document.createElement("wbr"));const c=Lute.NewNodeID();let f="",d=0;Array.from(s.parentElement.children).forEach(g=>{!d&&g.isSameNode(s)?d=1:d&&!g.classList.contains("protyle-attr")&&(r.push({id:g.getAttribute("data-node-id"),action:"move",previousID:o}),l.push({id:g.getAttribute("data-node-id"),action:"delete"}),g.getAttribute("data-subtype")==="o"&&(r.push({id:g.getAttribute("data-node-id"),action:"update",data:g.outerHTML}),g.setAttribute("data-marker",d+"."),g.firstElementChild.innerHTML=d+"."),f+=g.outerHTML,g.remove(),d++)}),r.reverse(),f=`<div data-subtype="${s.getAttribute("data-subtype")}" data-node-id="${c}" data-type="NodeList" class="list" updated="${dayjs().format("YYYYMMDDHHmmss")}">${f}<div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`,s.parentElement.insertAdjacentHTML("afterend",f),l.push({id:c,action:"insert",previousID:s.parentElement.getAttribute("data-node-id"),data:f}),r.push({id:c,action:"delete"}),Array.from(s.children).reverse().forEach(g=>{!g.classList.contains("protyle-action")&&!g.classList.contains("protyle-attr")&&(l.push({id:g.getAttribute("data-node-id"),action:"move",previousID:s.parentElement.getAttribute("data-node-id")}),r.push({id:g.getAttribute("data-node-id"),action:"move",parentID:o}),s.parentElement.after(g))});const u=s.parentElement.getAttribute("data-node-id");s.parentElement.childElementCount===2?(r.splice(0,0,{id:u,action:"insert",data:s.parentElement.outerHTML,previousID:(a=s.parentElement.previousElementSibling)==null?void 0:a.getAttribute("data-node-id"),parentID:s.parentElement.parentElement.getAttribute("data-node-id")||e.block.rootID}),s.parentElement.remove(),l.push({id:u,action:"delete"})):(r.splice(0,0,{id:o,action:"insert",data:s.outerHTML,previousID:(i=s.previousElementSibling)==null?void 0:i.getAttribute("data-node-id"),parentID:u}),s.remove(),l.push({id:o,action:"delete"})),transaction(e,l,r),focusByWbr(e.wysiwyg.element,n)},Qu=(e,t,n,a=!1,i)=>{var s,o,l,r,c,f,d,u;if(t.forEach(_=>{_.removeAttribute("select-start"),_.removeAttribute("select-end")}),!t[0].classList.contains("li"))if(t[0].parentElement.childElementCount===t.length+2)t=[t[0].parentElement];else return;const g=t[0].parentElement,p=g.getAttribute("data-node-id");if(!p)return;const m=g.parentElement,b=m.parentElement;if((s=g.previousElementSibling)!=null&&s.classList.contains("protyle-action")&&!b.getAttribute("data-node-id"))return;if(m.classList.contains("protyle-wysiwyg")||m.classList.contains("sb")||m.classList.contains("bq")){const _=[],C=[];n.collapse(!1),moveToPrevious(i,n,a),n.insertNode(document.createElement("wbr"));let L;!t[0].previousElementSibling&&g.getAttribute("data-subtype")==="o"&&(L=parseInt(t[0].getAttribute("data-marker")));let I=p,S=g,x=t[t.length-1].nextElementSibling,M=t[t.length-1].lastElementChild.previousElementSibling;if(t.forEach(H=>{Array.from(H.children).forEach((B,Y)=>{const X=B.getAttribute("data-node-id");X&&(_.push({action:"move",id:X,previousID:I,parentID:m.getAttribute("data-node-id")||e.block.parentID}),C.push({action:"move",id:X,previousID:Y===1?void 0:I,parentID:H.getAttribute("data-node-id"),data:B.contains(n.startContainer)?"focus":""}),I=X,S.after(B),S=B)})}),!window.siyuan.config.editor.listLogicalOutdent&&!x.classList.contains("protyle-attr")){let H;M.getAttribute("data-subtype")!==x.getAttribute("data-subtype")&&(H=Lute.NewNodeID(),M=document.createElement("div"),M.classList.add("list"),M.setAttribute("data-subtype",x.getAttribute("data-subtype")),M.setAttribute("data-node-id",H),M.setAttribute("data-type","NodeList"),M.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),M.innerHTML=`<div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div>`,S.after(M),_.push({action:"insert",id:H,data:M.outerHTML,previousID:S.getAttribute("data-node-id")}));let B;for(;x&&!x.classList.contains("protyle-attr");){_.push({action:"move",id:x.getAttribute("data-node-id"),previousID:B||((o=M.lastElementChild.previousElementSibling)==null?void 0:o.getAttribute("data-node-id")),parentID:M.getAttribute("data-node-id")}),C.push({action:"move",id:x.getAttribute("data-node-id"),parentID:M.getAttribute("data-node-id"),previousID:B||((l=x.previousElementSibling)==null?void 0:l.getAttribute("data-node-id"))}),B=x.getAttribute("data-node-id");const Y=x;x=x.nextElementSibling,M.lastElementChild.before(Y)}M.getAttribute("data-subtype")==="o"&&(Array.from(M.children).forEac
2006h(Y=>{const X=Y.getAttribute("data-node-id");X&&C.push({action:"update",id:X,data:Y.outerHTML})}),Ge(M,1),Array.from(M.children).forEach(Y=>{const X=Y.getAttribute("data-node-id");X&&_.push({action:"update",id:X,data:Y.outerHTML})})),H&&C.push({action:"delete",id:H})}const D=g.outerHTML;t.forEach(H=>{H.remove()}),g.childElementCount===1?(_.push({action:"delete",id:p}),p===e.block.id&&(e.block.id=e.block.parentID),C.splice(0,0,{action:"insert",data:D,id:p,previousID:(r=g.previousElementSibling)==null?void 0:r.getAttribute("data-node-id"),parentID:m.getAttribute("data-node-id")||e.block.parentID}),g.remove()):(g.getAttribute("data-subtype")==="o"&&Ge(g,L),_.push({action:"update",id:p,data:g.outerHTML}),C.splice(0,0,{action:"update",id:p,data:D})),transaction(e,_,C),g.childElementCount!==1&&m.classList.contains("sb")&&m.getAttribute("data-sb-layout")==="col"&&turnsIntoOneTransaction({protyle:e,selectsElement:[g,g.nextElementSibling],type:"BlocksMergeSuperBlock",level:"row"}),focusByWbr(m,n);return}if(g.childElementCount===2&&m.childElementCount===3){n.collapse(!1),moveToPrevious(i,n,a),n.insertNode(document.createElement("wbr"));const _=m.outerHTML;t[0].firstElementChild.remove(),t[0].lastElementChild.remove(),g.outerHTML=t[0].innerHTML,updateTransaction(e,m.getAttribute("data-node-id"),m.outerHTML,_),focusByWbr(m,n);return}n.collapse(!1),moveToPrevious(i,n,a),n.insertNode(document.createElement("wbr"));const E=[],k=[],A=(c=t[0].previousElementSibling)==null?void 0:c.getAttribute("data-node-id");let v;!t[0].previousElementSibling&&g.getAttribute("data-subtype")==="o"&&(v=parseInt(t[0].getAttribute("data-marker")));const w=m.parentElement.outerHTML;let y=t[t.length-1].nextElementSibling,h=t[t.length-1].lastElementChild.previousElementSibling;if(t.reverse().forEach(_=>{const C=_.getAttribute("data-node-id");E.push({action:"move",id:C,previousID:m.getAttribute("data-node-id")}),k.push({action:"move",id:C,previousID:A,parentID:g.getAttribute("data-node-id")}),m.after(_),(_.getAttribute("data-subtype")==="o"||_.getAttribute("data-subtype")==="t")&&m.getAttribute("data-subtype")==="u"?(k.push({action:"update",id:C,data:_.outerHTML}),_.querySelector(".protyle-action").outerHTML='<div class="protyle-action" draggable="true"><svg><use xlink:href="#iconDot"></use></svg></div>',_.setAttribute("data-subtype","u"),_.setAttribute("data-marker","*"),_.classList.remove("protyle-task--done"),E.push({action:"update",id:C,data:_.outerHTML})):(_.getAttribute("data-subtype")==="u"||_.getAttribute("data-subtype")==="t")&&m.getAttribute("data-subtype")==="o"?(k.push({action:"update",id:C,data:_.outerHTML}),_.querySelector(".protyle-action").outerHTML='<div contenteditable="false" draggable="true" class="protyle-action protyle-action--order">1.</div>',_.setAttribute("data-subtype","o"),_.setAttribute("data-marker","1."),E.push({action:"update",id:C,data:_.outerHTML})):(_.getAttribute("data-subtype")==="u"||_.getAttribute("data-subtype")==="o")&&m.getAttribute("data-subtype")==="t"&&(k.push({action:"update",id:C,data:_.outerHTML}),_.querySelector(".protyle-action").outerHTML='<div class="protyle-action protyle-action--task" draggable="true"><svg><use xlink:href="#iconUncheck"></use></svg></div>',_.setAttribute("data-subtype","t"),_.setAttribute("data-marker","*"),E.push({action:"update",id:C,data:_.outerHTML}))}),!window.siyuan.config.editor.listLogicalOutdent&&!y.classList.contains("protyle-attr")){let _;h.classList.contains("list")||(_=Lute.NewNodeID(),h=document.createElement("div"),h.classList.add("list"),h.setAttribute("data-subtype",y.getAttribute("data-subtype")),h.setAttribute("data-node-id",_),h.setAttribute("data-type","NodeList"),h.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),h.innerHTML=`<div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div>`,E.push({action:"insert",id:_,data:h.outerHTML,previousID:t[0].lastElementChild.previousElementSibling.getAttribute("data-node-id")}),t[0].lastElementChild.before(h));let C;for(;y&&!y.classList.contains("protyle-attr");){const L=y.getAttribute("data-node-id");y.getAttribute("data-subtype")!==h.getAttribute("data-subtype")&&(k.push({action:"update",id:L,data:y.outerHTML}),y.querySelector(".protyle-action").outerHTML=h.querySelector(".protyle-action").outerHTML,y.setAttribute("data-subtype",h.getAttribute("data-subtype")),y.setAttribute("data-marker",h.getAttribute("data-marker")),E.push({action:"update",id:L,data:y.outerHTML})),E.push({action:"move",id:L,previousID:C||((f=h.lastElementChild.previousElementSibling)==null?void 0:f.getAttribute("data-node-id")),parentID:h.getAttribute("data-node-id")}),k.push({action:"move",id:L,previousID:C||((d=h.parentElement)==null?void 0:d.getAttribute("data-node-id"))}),C=L;const I=y;y=y.nextElementSibling,h.lastElementChild.before(I)}h.getAttribute("data-subtype")==="o"&&(Array.from(h.children).forEac
2006h(L=>{const I=L.getAttribute("data-node-id");I&&k.push({action:"update",id:I,data:L.outerHTML})}),Ge(h,1),Array.from(h.children).forEach(L=>{const I=L.getAttribute("data-node-id");I&&E.push({action:"update",id:I,data:L.outerHTML})})),_&&k.push({action:"delete",id:_})}if(!window.siyuan.config.editor.listLogicalOutdent&&g.nextElementSibling){y=g.nextElementSibling;let _;for(;y&&!y.classList.contains("protyle-attr");){const C=y.getAttribute("data-node-id");E.push({action:"move",id:C,previousID:_||h.getAttribute("data-node-id")}),k.push({action:"move",id:C,previousID:_||g.getAttribute("data-node-id")}),_=C;const L=y;y=y.nextElementSibling,h.after(L),h=L}}g.childElementCount===1&&m.childElementCount===3?(E.push({action:"delete",id:m.getAttribute("data-node-id")}),k.splice(0,0,{action:"insert",id:m.getAttribute("data-node-id"),data:m.outerHTML,previousID:(u=m.previousElementSibling)==null?void 0:u.getAttribute("data-node-id"),parentID:m.parentElement.getAttribute("data-node-id")}),m.remove()):g.childElementCount===1?(E.push({action:"delete",id:g.getAttribute("data-node-id")}),k.splice(0,0,{action:"insert",id:g.getAttribute("data-node-id"),data:g.outerHTML,previousID:g.previousElementSibling.getAttribute("data-node-id")}),g.remove()):g.getAttribute("data-subtype")==="o"&&(k.splice(0,0,{action:"update",data:g.outerHTML,id:g.getAttribute("data-node-id")}),Ge(g,v),E.push({action:"update",data:g.outerHTML,id:g.getAttribute("data-node-id")})),b.classList.contains("protyle-wysiwyg")?transaction(e,E,k):(m&&m.getAttribute("data-subtype")==="o"&&Ge(b),updateTransaction(e,b.getAttribute("data-node-id"),b.outerHTML,w)),focusByWbr(b,n)};var ll=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const ef=(e,t,n)=>ll(void 0,null,function*(){const a=[],i=[];let s=t.previousElementSibling?t.previousElementSibling.getAttribute("data-node-id"):void 0;t.classList.remove("protyle-wysiwyg--select"),t.removeAttribute("select-start"),t.removeAttribute("select-end");const o=t.getAttribute("data-node-id"),l=t.cloneNode();l.innerHTML=t.lastElementChild.outerHTML;let r=t.parentElement.getAttribute("data-node-id");if(!s&&!r)if(e.block.showAll||e.options.backlinkData){const c=yield fetchSyncPost("/api/block/getBlockSiblingID",{id:o});s=c.data.previous,r=c.data.parent}else r=e.block.rootID;return i.push({action:"insert",id:o,data:l.outerHTML,previousID:s,parentID:r}),Array.from(t.children).forEach((c,f)=>{if(f===t.childElementCount-1){a.push({action:"delete",id:o}),n&&getContenteditableElement(t).insertAdjacentHTML("afterbegin","<wbr>"),t.lastElementChild.remove(),t.querySelectorAll("protyle-html").forEach(d=>{d.setAttribute("data-content",d.getAttribute("data-content").replace(/&lt;/g,"<").replace(/&gt;/g,">"))}),t.outerHTML=t.innerHTML,n&&focusByWbr(e.wysiwyg.element,n);return}a.push({action:"move",id:c.getAttribute("data-node-id"),previousID:s,parentID:r}),i.push({action:"move",id:c.getAttribute("data-node-id"),previousID:c.previousElementSibling?c.previousElementSibling.getAttribute("data-node-id"):void 0,parentID:o}),s=c.getAttribute("data-node-id")}),a.forEach(c=>{const f=e.wysiwyg.element.querySelector(`[data-node-id="${c.id}"]`);f&&f.getAttribute("data-type")==="NodeBlockQueryEmbed"&&(f.removeAttribute("data-render"),blockRender(e,f))}),{doOperations:a,undoOperations:i,previousId:s}}),tf=(e,t,n)=>{const a=document.createElement("div");return a.setAttribute("data-node-id",t||Lute.NewNodeID()),a.setAttribute("data-type","NodeSuperBlock"),a.setAttribute("class","sb"),a.setAttribute("data-sb-layout",e),a.innerHTML=n||`<div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div>`,a},nf=(e,t,n)=>{fetchPost("/api/block/getBlockSiblingID",{id:t.getAttribute("data-node-id")},a=>{const i=a.data[n];i&&openMobileFileById(e.app,i,i!==e.block.rootID&&e.block.showAll?[Constants.CB_GET_ALL,Constants.CB_GET_FOCUS]:[Constants.CB_GET_FOCUS])})},af=(e,t,n)=>{const a=getEditorRange(e.wysiwyg.element);let i;if(n)i=e.wysiwyg.element.querySelector(`[data-node-id="${n}"]`);else{const c=e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select");c.length>0?(t==="beforebegin"?i=c[0]:i=c[c.length-1],hideElements(["select"],e)):(i=hasClosestBlock(a.startContainer),i=getTopAloneElement(i),i.classList.contains("list")?i=hasClosestByClassName(a.startContainer,"li"):i.classList.contains("bq")&&(i=hasClosestBlock(a.startContainer)))}if(!i)return;let s=ba(!1,!0),o=1;i.getAttribute("data-type")==="NodeListItem"&&(s=genListItemElement(i,0,!0),o=parseInt(i.parentElement.firstElementChild.getAttribute("data-marker")));const l=i.parentElement.outerHTML,r=s.getAttribute("data-node-id");if(i.insertAdjacentElement(t,s),i.getAttribute("data-type")==="NodeListItem"&&i.getAttribute("data-subtype")==="o"&&!s.parentElement.classList.contains("protyle-wysiwyg"))updateListOrder(s.parentElement,o),updateTransaction(e,s.parentElement.getAttribute("data-node-id"),s.parentElement.outerHTML,l);else{let c;t==="beforebegin"?c=[{action:"insert",data:s.outerHTML,id:r,nextID:i.getAttribute("data-node-id")}]:c=[{action:"insert",data:s.outerHTML,id:r,previousID:i.getAttribute("data-node-id")}],transaction(e,c,[{action:"delete",id:r}])}i.parentElement.classList.contains("sb")&&i.parentElement.getAttribute("data-sb-layout")==="col"&&turnsIntoOneTransaction({protyle:e,selectsElement:t==="afterend"?[i,i.nextElementSibling]:[i.previousElementSibling,i],type:"BlocksMergeSuperBlock",level:"row"}),focusByWbr(e.wysiwyg.element,a),scrollCenter(e)},sf=(e=!0,t=!0,n)=>{let a="";return e&&(a=Constants.ZWSP),t&&(a+="<wbr>"),n&&(a+=n),`<div data-node-id="${Lute.NewNodeID()}" data-type="NodeParagraph" class="p"><div contenteditable="true" spellcheck="${window.siyuan.config.editor.spellcheck}">${a}</div><div contenteditable="false" class="protyle-attr">${Constants.ZWSP}</div></div>`},ba=(e=!0,t=!0,n)=>{const a=document.createElement("div");return a.setAttribute("data-node-id",n||Lute.NewNodeID()),a.setAttribute("data-type","NodeParagraph"),a.classList.add("p"),a.innerHTML=`<div contenteditable="true" spellcheck="${window.siyuan.config.editor.spellcheck}">${e?$.ZWSP:""}${t?"<wbr>":""}</div><div class="protyle-attr" contenteditable="false">${$.ZWSP}</div>`,a},of=e=>{let t=e;switch(e){case"NodeIFrame":t="IFrame";break;case"NodeAttributeView":t=window.siyuan.languages.database;break;case"NodeThematicBreak":t=window.siyuan.languages.line;break;case"NodeWidget":t=window.siyuan.languages.widget;break;case"NodeVideo":t=window.siyuan.languages.video;break;case"NodeAudio":t=window.siyuan.languages.audio;break;case"NodeBlockQueryEmbed":t=window.siyuan.languages.blockEmbed;break}return t},lf=(e,t,n,a,i)=>{var s;if(t!=="NodeCodeBlock"&&!((s=n.previousElementSibling)!=null&&s.classList.contains("protyle-action--task"))&&(["[ ]","[x]","[X]","\u3010 \u3011","\u3010x\u3011","\u3010X\u3011"].includes(a.innerHTML.substring(0,3))||["[]","\u3010\u3011"].includes(a.innerHTML.substring(0,2)))){const o=a.innerHTML.indexOf("\u3011")+1;let l=a.innerHTML.indexOf("]")+1;l===0?l=o:l>0&&o>0&&(l=Math.min(l,o));const r=a.innerHTML.substring(1,2).toLowerCase()==="x";if(n.parentElement.classList.contains("li")&&n.parentElement.childElementCount===3){if(!n.parentElement.parentElement.classList.contains("protyle-wysiwyg")&&n.parentElement.parentElement.childElementCount===2){const c=n.parentElement.parentElement,f=c.outerHTML;return c.setAttribute("data-subtype","t"),c.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),n.parentElement.setAttribute("data-subtype","t"),r&&n.parentElement.classList.add("protyle-task--done"),n.previousElementSibling.outerHTML=`<div class="protyle-action protyle-action--task" draggable="true"><svg><use xlink:href="#icon${r?"C":"Unc"}heck"></use></svg></div>`,a.innerHTML=a.innerHTML.substring(l),updateTransaction(e,c.getAttribute("data-node-id"),c.outerHTML,f),focusByWbr(e.wysiwyg.element,i),!0}return!1}else{const c=n.getAttribute("data-node-id"),f=Lute.NewNodeID(),d=Lute.NewNodeID(),u=Lute.NewNodeID(),g=n.outerHTML;return a.innerHTML=a.innerHTML.substring(l),transaction(e,[{action:"update",id:c,data:n.outerHTML},{action:"insert",id:f,data:`<div data-subtype="t" data-node-id="${f}" updated="${f.split("-")[0]}" data-type="NodeList" class="list"><div data-marker="*" data-subtype="t" data-node-id="${u}" data-type="NodeListItem" class="li${r?" protyle-task--done":""}" updated="${u.split("-")[0]}"><div class="protyle-action protyle-action--task" draggable="true"><svg><use xlink:href="#icon${r?"C":"Unc"}heck"></use></svg></div><div data-node-id="${d}" data-type="NodeParagraph" class="p"><div contenteditable="true" spellcheck="${window.siyuan.config.editor.spellcheck}"></div><div class="protyle-attr" contenteditable="false"></div></div><div class="protyle-attr" contenteditable="false"></div></div><div class="protyle-attr" contenteditable="false"></div></div>`,previousID:c},{action:"move",id:c,previousID:d},{action:"delete",id:d}],[{action:"move",id:c,previousID:f},{action:"delete",id:f},{action:"update",id:c,data:g}]),n.outerHTML=`<div data-subtype="t" data-node-id="${f}" data-type="NodeList" class="list" updated="${f.split("-")[0]}"><div data-marker="*" data-subtype="t" data-node-id="${u}" data-type="NodeListItem" class="li${r?" protyle-task--done":""}" updated="${u.split("-")[0]}"><div class="protyle-action protyle-action--task" draggable="true"><svg><use xlink:href="#icon${r?"C":"Unc"}heck"></use></svg></div>${n.outerHTML}<div class="protyle-attr" contenteditable="false"></div></div><div class="protyle-attr" contenteditable="false"></div></div>`,focusByWbr(e.wysiwyg.element,i),!0}}return!1},rf=(e,t,n,a,i)=>{if(t==="NodeHeading"&&["* ","- "].includes(a.innerHTML.substring(0,2))&&n.parentElement.getAttribute("data-type")!=="NodeListItem"){const s=n.getAttribute("data-node-id"),o=Lute.NewNodeID(),l=Lute.NewNodeID(),r=Lute.NewNodeID(),c=n.outerHTML,f=a.innerHTML.substring(0,1);return a.innerHTML=a.innerHTML.substring(2),transaction(e,[{action:"update",id:s,data:n.outerHTML},{action:"insert",id:o,data:`<div data-subtype="u" data-node-id="${o}" data-type="NodeList" class="list" updated="${o.split("-")[0]}"><div data-marker="${f}" data-subtype="u" data-node-id="${r}" data-type="NodeListItem" class="li" updated="${r.split("-")[0]}"><div class="protyle-action" draggable="true"><svg><use xlink:href="#iconDot"></use></svg></div><div data-node-id="${l}" data-type="NodeParagraph" class="p"><div contenteditable="true" spellcheck="${window.siyuan.config.editor.spellcheck}"></div><div class="protyle-attr" contenteditable="false"></div></div><div class="protyle-attr" contenteditable="false"></div></div><div class="protyle-attr" contenteditable="false"></div></div>`,previousID:s},{action:"move",id:s,previousID:l},{action:"delete",id:l}],[{action:"update",id:s,data:c},{action:"move",id:s,previousID:o},{action:"delete",id:o}]),n.outerHTML=`<div data-subtype="u" data-node-id="${o}" data-type="NodeList" class="list" updated="${o.split("-")[0]}"><div data-marker="${f}" data-subtype="u" data-node-id="${r}" data-type="NodeListItem" class="li" updated="${r.split("-")[0]}"><div class="protyle-action" draggable="true"><svg><use xlink:href="#iconDot"></use></svg></div>${n.outerHTML}<div class="protyle-attr" contenteditable="false"></div></div><div class="protyle-attr" contenteditable="false"></div></div>`,focusByWbr(e.wysiwyg.element,i),!0}return!1};
2006var rl=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const cf=(e,t,n,a=!0,i)=>rl(void 0,null,function*(){var s,o,l,r,c,f;if(!t.parentElement)return;if(t.classList.contains("av")){const w=hasClosestByClassName(n.startContainer,"av__cursor");w?w.textContent=Constants.ZWSP:updateAVName(e,t);return}const d=getContenteditableElement(t),u=t.getAttribute("data-type");if(!d){u==="NodeThematicBreak"?t.innerHTML="<div><wbr></div>":u==="NodeBlockQueryEmbed"?t.lastElementChild.previousElementSibling.innerHTML="<wbr>"+Constants.ZWSP:u==="NodeMathBlock"||u==="NodeHTMLBlock"?t.lastElementChild.previousElementSibling.lastElementChild.innerHTML="<wbr>"+Constants.ZWSP:u==="NodeIFrame"||u==="NodeWidget"?t.innerHTML="<wbr>"+t.firstElementChild.outerHTML+t.lastElementChild.outerHTML:u==="NodeVideo"?t.firstElementChild.innerHTML="<wbr>"+Constants.ZWSP+t.firstElementChild.firstElementChild.outerHTML+t.firstElementChild.lastElementChild.outerHTML:u==="NodeAudio"?t.firstElementChild.innerHTML=t.firstElementChild.firstElementChild.outerHTML+"<wbr>"+Constants.ZWSP:u==="NodeCodeBlock"&&(n.startContainer.textContent=Constants.ZWSP),focusByWbr(t,n);return}t.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss"));const g=document.createElement("wbr");if(n.insertNode(g),i){const w=hasNextSibling(g);if(i.inputType==="deleteContentForward"&&w&&w.nodeType===1&&!w.textContent.startsWith(Constants.ZWSP)){const y=(w.getAttribute("data-type")||"").split(" ");(y.includes("code")||y.includes("kbd")||y.includes("tag"))&&w.insertAdjacentElement("afterbegin",g)}if((i.inputType==="deleteContentBackward"||i.inputType==="deleteContentForward")&&w&&w.nodeType===1&&w.tagName==="BR"){const y=hasNextSibling(w);y&&y.nodeType===1&&((s=y.getAttribute("data-type"))==null?void 0:s.indexOf("inline-math"))>-1&&w.remove(),i.inputType==="deleteContentBackward"&&((o=w.previousSibling.previousSibling)!=null&&o.textContent.endsWith(`
2007`))&&(w.outerHTML=`
2008`)}}const p=t.getAttribute("data-node-id");if(u!=="NodeCodeBlock"&&u!=="NodeHeading"&&(d.innerHTML.endsWith(`
2009<wbr>`)||d.innerHTML.endsWith(`
2010<wbr>
2011`))){updateTransaction(e,p,t.outerHTML,e.wysiwyg.lastHTMLs[p]||t.outerHTML.replace(`
2012<wbr>`,"<wbr>")),g.remove();return}if(turnIntoTaskList(e,u,t,d,n)||headingTurnIntoList(e,u,t,d,n))return;const m=t.querySelector("br");m&&m.parentElement.tagName!=="TD"&&m.parentElement.tagName!=="TH"&&(m.parentElement.textContent.trim()===""||((r=(l=m.previousSibling)==null?void 0:l.previousSibling)==null?void 0:r.textContent)===`
2013`)&&m.remove(),u!=="NodeHeading"&&(d.innerHTML.startsWith("\u300B<wbr>")||d.innerHTML.indexOf(`
2014\u300B<wbr>`)>-1)&&(d.innerHTML=d.innerHTML.replace("\u300B<wbr>","><wbr>"));const b=d.innerHTML.trimStart();if(!((b.startsWith("````")||b.startsWith("\xB7\xB7\xB7\xB7")||b.startsWith("~~~~"))&&b.indexOf(`
2015`)===-1)){if((b.startsWith("```")||b.startsWith("\xB7\xB7\xB7")||b.startsWith("~~~"))&&b.indexOf(`
2016`)===-1&&b.replace(/·|~/g,"`").replace(/^`{3,}/g,"").indexOf("`")===-1){updateTransaction(e,p,t.outerHTML,e.wysiwyg.lastHTMLs[p]),g.remove();return}}u==="NodeParagraph"&&(d.innerHTML.startsWith("\xA5\xA5<wbr>")||d.innerHTML.startsWith("\uFFE5\uFFE5<wbr>")||b.indexOf(`
2017\xA5\xA5<wbr>`)>-1||b.indexOf(`
2018\uFFE5\uFFE5<wbr>`)>-1)&&(d.innerHTML=d.innerHTML.replace("\xA5\xA5<wbr>","$$$$<wbr>").replace("\uFFE5\uFFE5<wbr>","$$$$<wbr>"));const E=hasClosestByAttribute(n.startContainer,"data-type","block-ref");E&&E.getAttribute("data-subtype")==="d"&&(yield fetchSyncPost("/api/block/getRefText",{id:E.getAttribute("data-id")})).data!==E.innerHTML.replace("<wbr>","")&&E.setAttribute("data-subtype","s");let k=t.outerHTML,A=!1;if(["---","___","***"].includes(d.textContent)&&u!=="NodeCodeBlock"){k=`<div data-node-id="${p}" data-type="NodeThematicBreak" class="hr"><div></div></div>`;const w=t.nextElementSibling;w&&w.getAttribute("data-node-id")?isNotEditBlock(w)?A=!0:focusBlock(w):k+=genEmptyBlock(!1,!0)}else{if(u!=="NodeCodeBlock"&&(b.startsWith("```")||b.startsWith("~~~")||b.startsWith("\xB7\xB7\xB7")||b.indexOf("\n```")>-1||b.indexOf(`
2019~~~`)>-1||b.indexOf(`
2020\xB7\xB7\xB7`)>
2020-1)&&!(b.indexOf(`
2021`)===-1&&b.replace(/·|~/g,"`").replace(/^`{3,}/g,"").indexOf("`")>-1)){let w=d.innerHTML.trim().replace(/^(~|·|`){3,}/g,"```").replace(/\n(~|·|`){3,}/g,"\n```").trim();w.endsWith("\n```")||(w=w.replace("<wbr>","")+"<wbr>\n```"),d.innerHTML=w,k=t.outerHTML}k=e.lute.SpinBlockDOM(k)}hideElements(["util"],e,!0),u==="NodeTable"&&t.querySelector(".table__select").removeAttribute("style");const v=document.createElement("template");if(v.innerHTML=k,a&&(((c=getContenteditableElement(v.content.firstElementChild))==null?void 0:c.innerHTML)!==getContenteditableElement(t).innerHTML||v.content.childElementCount===1&&((f=getContenteditableElement(v.content.firstElementChild))==null?void 0:f.innerHTML)==="<wbr>")&&!(v.content.childElementCount===1&&v.content.firstElementChild.classList.contains("code-block")&&u==="NodeCodeBlock")){t.getAttribute("data-type")==="NodeHeading"&&t.getAttribute("fold")==="1"&&v.content.firstElementChild.getAttribute("data-subtype")!==t.dataset.subtype&&(setFold(e,t,void 0,void 0,!1),k=k.replace(' fold="1"',""),e.wysiwyg.lastHTMLs[p]=t.outerHTML);let w;t.classList.contains("table")&&(w=t.firstElementChild.scrollLeft),/<span data-type="backslash">.+<\/span><wbr>/.test(k)?t.outerHTML=k:t.outerHTML=k.replace("</span><wbr>","</span>"+Constants.ZWSP+"<wbr>"),e.wysiwyg.element.querySelectorAll(`[data-node-id="${p}"]`).forEach(y=>{isInEmbedBlock(y)||(t=y)}),k.split('<span data-type="inline-math" data-subtype="math"').length>1&&Array.from(t.querySelectorAll('[data-type="inline-math"]')).find(y=>{if(y.dataset.content.indexOf("<wbr>")>-1)return y.setAttribute("data-content",y.dataset.content.replace("<wbr>","")),e.toolbar.showRender(e,y),!0}),k="",Array.from(v.content.children).forEach((y,h)=>{const _=y.getAttribute("data-node-id");let C;_===p?C=t:C=e.wysiwyg.element.querySelector(`[data-node-id="${_}"]`);const L=C.getAttribute("data-type");if(L==="NodeCodeBlock"){const I=C.querySelector(".protyle-action__language");I?(window.siyuan.storage[Constants.LOCAL_CODELANG]&&I.textContent===""&&(I.textContent=window.siyuan.storage[Constants.LOCAL_CODELANG]),highlightRender(C)):v.content.childElementCount===1&&e.toolbar.showRender(e,C)}else if(["NodeMathBlock","NodeHTMLBlock"].includes(L))L==="NodeMathBlock"&&mathRender(C),e.toolbar.showRender(e,C);else if(L==="NodeBlockQueryEmbed")blockRender(e,C),C.getAttribute("data-content")||e.toolbar.showRender(e,C),hideElements(["hint"],e);else if(L==="NodeThematicBreak"&&A)focusBlock(t);else if(C.querySelectorAll('[data-type~="block-ref"][data-subtype="d"]').forEach(I=>{I.textContent===""&&fetchPost("/api/block/getRefText",{id:I.getAttribute("data-id")},S=>{I.innerHTML=S.data})}),mathRender(C),h===v.content.childElementCount-1){const I=t.querySelector("wbr");if(I&&I.parentElement.tagName==="SPAN"&&I.parentElement.innerHTML==="<wbr>"){const S=I.parentElement.getAttribute("data-type")||"";(S.includes("sup")||S.includes("u")||S.includes("sub"))&&I.insertAdjacentText("beforebegin",Constants.ZWSP)}focusByWbr(e.wysiwyg.element,n),e.hint.render(e),w>0&&(t.firstElementChild.scrollLeft=w)}k+=C.outerHTML})}else t.getAttribute("data-type")==="NodeCodeBlock"?(d.parentElement.removeAttribute("data-render"),highlightRender(t)):(focusByWbr(e.wysiwyg.element,n),e.hint.render(e));hideElements(["gutter"],e),cl(k,e,p)}),cl=(e,t,n)=>{const a=document.createElement("template");a.innerHTML=e;const i=[],s=[];Array.from(a.content.children).forEach((o,l)=>{var r;o.getAttribute("spellcheck")==="false"&&o.getAttribute("contenteditable")==="false"&&o.setAttribute("contenteditable","true");const c=o.getAttribute("data-node-id");if(c===n)i.push({id:n,data:o.outerHTML,action:"update"}),s.push({id:n,data:t.wysiwyg.lastHTMLs[n],action:"update"}),t.wysiwyg.lastHTMLs[n]=o.outerHTML;else{let f;l===0&&(f=t.wysiwyg.element.querySelector(`[data-node-id="${c}"]`)),i.push({action:"insert",data:o.outerHTML,id:c,previousID:l===0?(r=f==null?void 0:f.previousElementSibling)==null?void 0:r.getAttribute("data-node-id"):o.previousElementSibling.getAttribute("data-node-id"),parentID:(f==null?void 0:f.parentElement.getAttribute("data-node-id"))||t.block.parentID}),s.push({id:c,action:"delete"})}}),transaction(t,i,s)},dl=(e,t,n,a)=>{const i=document.createElement("template");i.innerHTML=t;let s=[];if(t.endsWith("]")&&t.startsWith("["))try{s=JSON.parse(t)}catch(l){console.warn("insert cell: JSON.parse error")}else i.content.querySelector("table")&&i.content.querySelectorAll("tr").forEach(l=>
2021{s.push([]),Array.from(l.children).forEach(r=>{s[s.length-1].push(r.textContent)})});const o=a.dataset.avId;fetchPost("/api/av/getAttributeViewKeysByAvID",{avID:o},l=>{var r,c;const f=l.data,d=Array.from(a.querySelectorAll(".av__cell--active, .av__cell--select"))||[];if(s&&Array.isArray(s)&&s.length>0){d.length===0&&a.querySelectorAll(".av__row--select:not(.av__row--header)").forEach(w=>{w.querySelectorAll(".av__cell").forEach(y=>{d.push(y)})}),d.length===0&&d.push(a.querySelector(".av__row:not(.av__row--header) .av__cell"));const b=[],E=[],k=a.dataset.nodeId;let A;const v=d[0].getAttribute("data-col-id");s.find(w=>{if(A?A=A.nextElementSibling:A=d[0].parentElement,!A.classList.contains("av__row"))return!0;let y;w.find(h=>{if(y?y=y.nextElementSibling:y=A.querySelector(`.av__cell[data-col-id="${v}"]`),!y.classList.contains("av__cell"))return!0;const _=updateCellsValue(n,a,h,[y],f,t,!0);_.doOperations.length>0&&(b.push(..._.doOperations),E.push(..._.undoOperations))})}),b.length>0&&(b.push({action:"doUpdateUpdated",id:k,data:dayjs().format("YYYYMMDDHHmmss")}),E.push({action:"doUpdateUpdated",id:k,data:a.getAttribute("updated")}),transaction(n,b,E));return}const u=getContenteditableElement(i.content.firstElementChild);if(u&&u.childNodes.length===1&&((r=u.firstElementChild)==null?void 0:r.getAttribute("data-type"))==="block-ref"){const b=a.querySelector(".av__cell--select");if(b){const E=u.firstElementChild.getAttribute("data-id"),k=b.dataset.blockId;transaction(n,[{action:"replaceAttrViewBlock",avID:o,previousID:k,nextID:E,isDetached:!1}],[{action:"replaceAttrViewBlock",avID:o,previousID:E,nextID:k,isDetached:b.dataset.detached==="true"}]),updateAttrViewCellAnimation(b,{type:"block",isDetached:!1,block:{content:u.firstElementChild.textContent,id:E}});return}}const g=n.lute.BlockDOM2Content(t),p=a.querySelectorAll(".av__row--select"),m=[];if(g.split(`
2022`).forEach(b=>{m.push(b.split("	"))}),p.length>0&&m.length===1&&m[0].length===1){updateCellsValue(n,a,g,void 0,f,t);return}if(p.length>0&&p.forEach(b=>{b.querySelectorAll(".av__cell").forEach(E=>{d.push(E)})}),d.length>0){if(m.length===1&&m[0].length===1)updateCellsValue(n,a,g,d,f,t);else{let b;const E=[],k=[],A=d[0].getAttribute("data-col-id");if(m.forEach(v=>{if(b?b=b.nextElementSibling:b=d[0].parentElement,!b.classList.contains("av__row"))return!0;let w;v.forEach(y=>{if(w?w=w.nextElementSibling:w=b.querySelector(`.av__cell[data-col-id="${A}"]`),!w.classList.contains("av__cell"))return!0;const h=updateCellsValue(n,a,y,[w],f,t,!0);h.doOperations.length>0&&(E.push(...h.doOperations),k.push(...h.undoOperations))})}),E.length>0){const v=a.getAttribute("data-node-id");E.push({action:"doUpdateUpdated",id:v,data:dayjs().format("YYYYMMDDHHmmss")}),k.push({action:"doUpdateUpdated",id:v,data:a.getAttribute("updated")}),transaction(n,E,k)}}(c=document.querySelector(".av__panel"))==null||c.remove()}else if(hasClosestByClassName(e.startContainer,"av__title")){const b=document.createTextNode(g);e.insertNode(b),e.setEnd(b,g.length),e.collapse(!1),focusByRange(e),updateAVName(n,a)}})},ul=(e,t,n,a)=>{const i=document.createElement("template");i.innerHTML=t;const s=i.content.querySelectorAll("th, td");if(s.length===0)return!1;const o=a.firstElementChild.scrollLeft,l=a.querySelector("table").scrollTop,r=a.querySelector(".table__select");let c=0;const f=[];a.querySelectorAll("th, td").forEach(u=>{!u.classList.contains("fn__none")&&s.length>c&&isIncludeCell({tableSelectElement:r,scrollLeft:o,scrollTop:l,item:u})&&(f.push(u),c++)}),r.removeAttribute("style");const d=a.outerHTML;return a.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),f.forEach((u,g)=>{u.innerHTML=s[g].innerHTML,g===f.length-1&&setLastNodeRange(u,e,!1)}),e.collapse(!1),updateTransaction(n,a.getAttribute("data-node-id"),a.outerHTML,d),!0},df=(e,t,n=!1,a=!1,i=!1)=>{var s,o,l,r;if(e==="")return;const c=a?t.toolbar.range:getEditorRange(t.wysiwyg.element);fixTableRange(c);let f;hasClosestByAttribute(c.startContainer,"data-type","NodeTable")&&!n&&(hasClosestByTag(c.startContainer,"TABLE")?f=t.lute.BlockDOM2InlineBlockDOM(e):n=!0);let d=hasClosestBlock(c.startContainer);if(d||(t.toolbar.range?d=hasClosestBlock(t.toolbar.range.startContainer):d=t.wysiwyg.element.firstElementChild),!d)return;if(d.classList.contains("av")){c.deleteContents(),dl(c,e,t,d);return}if(d.classList.contains("table")&&d.querySelector(".table__select").clientWidth>0&&ul(c,e,t,d))return;let u=d.getAttribute("data-node-id");c.insertNode(document.createElement("wbr"));let g=d.outerHTML;const p=d.getAttribute("data-type")==="NodeCodeBlock",m=getContenteditableElement(d);if(!n&&(p||t.toolbar.getCurrentType(c).includes("code"))){c.deleteContents(),p&&m.textContent===""&&(e+=`
2023`),c.insertNode(document.createTextNode(e.replace(/\r\n|\r|\u2028|\u2029/g,`
2024`))),c.collapse(!1),c.insertNode(document.createElement("wbr")),p?((s=d.querySelector('[data-render="true"]'))==null||s.removeAttribute("data-render"),highlightRender(d)):focusByWbr(d,c),d.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),updateTransaction(t,u,d.outerHTML,g),setTimeout(()=>{scrollCenter(t,d,!1,"smooth")},Constants.TIMEOUT_LOAD);return}const b=[],E=[];if(c.toString()!==""){const C=hasClosestByAttribute(c.commonAncestorContainer,"data-type","inline-math");C?C.remove():c.startContainer.nodeType===3&&((o=c.startContainer.parentElement.getAttribute("data-type"))==null?void 0:o.indexOf("block-ref"))>-1?(c.deleteContents(),c.startContainer.nodeType!==3&&c.startContainer.textContent===""&&c.startContainer.remove()):c.deleteContents(),c.insertNode(document.createElement("wbr")),b.push({action:"update",id:u,data:g}),E.push({action:"update",id:u,data:d.outerHTML})}const k=document.createElement("template");e.startsWith("&gt;")&&m.textContent.replace(Constants.ZWSP,"")!==""&&(f=e);let A=f||t.lute.SpinBlockDOM(e)||e;A=A.replace(/;;;lt;;;/g,"&lt;").replace(/;;;gt;;;/g,"&gt;"),k.innerHTML=A;let v=!1;if((m.textContent.replace(Constants.ZWSP,"")!==""||d.getAttribute("data-type")==="NodeHeading")&&k.content.childElementCount===1&&k.content.firstChild.nodeType!==3&&k.content.firstElementChild.getAttribute("data-type")==="NodeHeading"&&(n=!1,v=!0),!n&&(k.content.firstChild.nodeType===3||v||k.content.firstChild.nodeType!==3&&(k.content.firstElementChild.classList.contains("p")&&k.content.childElementCount===1||k.content.firstElementChild.tagName!=="DIV"))){k.content.firstChild.nodeType!==3&&k.content.firstElementChild.classList.contains("p")&&(k.innerHTML=k.content.firstElementChild.firstElementChild.innerHTML.trim());const C=c.startContainer.nodeType===3?c.startContainer.parentElement:c.startContainer;if(C.tagName==="SPAN"&&C.isSameNode(c.endContainer.nodeType===3?c.endContainer.parentElement:c.endContainer)&&k.content.querySelector("span, img")){const L=document.createElement("span"),I=C.attributes;for(let S=0;S<I.length;S++)L.setAttribute(I[S].name,I[S].value);c.setEnd(C.lastChild,C.lastChild.textContent.length),L.append(c.extractContents()),C.after(L),c.setStartBefore(L),c.collapse(!0)}c.insertNode(k.content.cloneNode(!0)),c.collapse(!1),(l=d.querySelector("wbr"))==null||l.remove(),t.wysiwyg.lastHTMLs[u]=g,input(t,d,c);return}
2024const w=hasClosestByClassName(d,"li");if(((r=k.content.children[0])==null?void 0:r.getAttribute("data-type"))==="NodeListItem")if(w)d=w,u=d.getAttribute("data-node-id"),g=d.outerHTML;else{const L=k.content.children[0].getAttribute("data-subtype");k.innerHTML=`<div${L==="o"?' data-marker="1."':""} data-subtype="${L}" data-node-id="${Lute.NewNodeID()}" data-type="NodeList" class="list">${e}<div class="protyle-attr" contenteditable="false">${Constants.ZWSP}</div></div>`}let y,h=!1;!c.toString()&&i&&getSelectionOffset(d,t.wysiwyg.element,c).start===0&&m.textContent!==""&&(h=!0),(h?Array.from(k.content.children):Array.from(k.content.children).reverse()).forEach(C=>{C.getAttribute("data-type")==="NodeHeading"&&C.getAttribute("fold")==="1"&&C.removeAttribute("fold");let L=C.getAttribute("data-node-id");if(L===u)E.push({action:"update",data:C.outerHTML,id:L}),b.push({action:"update",id:L,data:g});else{if(C.classList.contains("li")&&!d.parentElement.classList.contains("list")){L=Lute.NewNodeID();const I=document.createElement("div");I.setAttribute("data-subtype",C.getAttribute("data-subtype")),I.setAttribute("data-node-id",L),I.setAttribute("data-type","NodeList"),I.setAttribute("updated",dayjs().format("YYYYMMDDHHmmss")),I.classList.add("list"),I.append(C),C=I}E.push({action:"insert",data:C.outerHTML,id:L,nextID:h?u:void 0,previousID:h?void 0:u}),b.push({action:"delete",id:L})}h?d.before(C):d.after(C),y||(y=C)}),m&&m.textContent===""&&d.classList.contains("p")&&(E.find((C,L)=>{if(C.id===u)return E.splice(L,1),!0}),E.push({action:"delete",id:u}),b.find((C,L)=>{if(C.id===u&&C.action==="update")return b.splice(L,1),!0}),b.push({action:"insert",data:g,id:u,previousID:d.previousElementSibling?d.previousElementSibling.getAttribute("data-node-id"):"",parentID:d.parentElement.getAttribute("data-node-id")||t.block.parentID}),d.remove()),y&&focusBlock(y,void 0,!1);const _=t.wysiwyg.element.querySelector("wbr");_&&_.remove(),transaction(t,E,b)},Re=(e,t)=>e?`<span class="b3-menu__accelerator">${updateHotkeyTip(e)}</span>`:t?`<span class="b3-list-item__meta">${t}</span>`:"",uf=(e,t)=>{const n=[{filter:[window.siyuan.languages.template,"template","\u6A21\u677F","moban","muban","mb"],id:"template",value:Constants.ZWSP,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconMarkdown"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.template}</span></div>`},{filter:[window.siyuan.languages.widget,"widget","\u6302\u4EF6","guajian","gj"],id:"widget",value:Constants.ZWSP+1,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconBoth"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.widget}</span></div>`},{filter:[window.siyuan.languages.assets,"assets","\u8D44\u6E90","ziyuan","zy"],id:"assets",value:Constants.ZWSP+2,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconImage"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.assets}</span></div>`},{filter:[window.siyuan.languages.ref,"block reference","\u5757\u5F15\u7528","kuaiyinyong","kyy"],id:"ref",value:"((",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconRef"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.ref}</span><span class="b3-list-item__meta">((</span></div>`},{filter:[window.siyuan.languages.blockEmbed,"embed block","\u5D4C\u5165\u5757","qianrukuai","qrk"],id:"blockEmbed",value:"{{",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconSQL"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.blockEmbed}</span><span class="b3-list-item__meta">{{</span></div>`},{filter:[window.siyuan.languages.aiWriting,"ai writing","ai\u7F16\u5199","aibianxie","aibx","\u4EBA\u5DE5\u667A\u80FD","rengongzhineng","rgzn"],id:"aiWriting",value:Constants.ZWSP+5,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconSparkles"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.aiWriting}</span>${Re(window.siyuan.config.keymap.editor.general.aiWriting.custom,"")}</div>`},{filter:[window.siyuan.languages.database,"database","db","\u6570\u636E\u5E93","shujuku","sjk","\u89C6\u56FE","view"],id:"database",value:'<div data-type="NodeAttributeView" data-av-type="table"></div>',html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconDatabase"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.database}</span></div>`},{filter:[window.siyuan.languages.newFileRef,"create new doc with reference","\u65B0\u5EFA\u6587\u6863\u5E76\u5F15\u7528","xinjianwendangbingyinyong","xjwdbyy"],id:"newFileRef",value:Constants.ZWSP+4,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconFile"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.newFileRef}</span></div>`},{filter:[window.siyuan.languages.newSubDocRef,"create sub doc with reference","\u65B0\u5EFA\u5B50\u6587\u6863\u5E76\u5F15\u7528","xinjianziwendangbingyinyong","xjzwdbyy"],id:"newSubDocRef",value:Constants.ZWSP+6,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconFile"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.newSubDocRef}</span></div>`},{value:"",id:"separator_1",html:"separator"},{filter:[window.siyuan.languages.heading1,"heading1","h1","\u4E00\u7EA7\u6807\u9898","yijibiaoti","yjbt"],id:"heading1",value:"# "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconH1"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.heading1}</span>${Re(window.siyuan.config.keymap.editor.heading.heading1.custom,"# ")}</div>`},{filter:[window.siyuan.languages.heading2,"heading2","h2","\u4E8C\u7EA7\u6807\u9898","erjibiaoti","ejbt"],id:"heading2",value:"## "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconH2"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.heading2}</span>${Re(window.siyuan.config.keymap.editor.heading.heading2.custom,"## ")}</div>`},{filter:[window.siyuan.languages.heading3,"heading3","h3","\u4E09\u7EA7\u6807\u9898","sanjibiaoti","sjbt"],id:"heading3",value:"### "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconH3"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.heading3}</span>${Re(window.siyuan.config.keymap.editor.heading.heading3.custom,"### ")}</div>`},{filter:[window.siyuan.languages.heading4,"heading4","h4","\u56DB\u7EA7\u6807\u9898","sijibiaoti","sjbt"],id:"heading4",value:"#### "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconH4"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.heading4}</span>${Re(window.siyuan.config.keymap.editor.heading.heading4.custom,"#### ")}</div>`},{filter:[window.siyuan.languages.heading5,"heading5","h5","\u4E94\u7EA7\u6807\u9898","wujibiaoti","wjbt"],id:"heading5",value:"##### "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconH5"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.heading5}</span>${Re(window.siyuan.config.keymap.editor.heading.heading5.custom,"##### ")}</div>`},{filter:[window.siyuan.languages.heading6,"heading6","h6","\u516D\u7EA7\u6807\u9898","liujibiaoti","ljbt"],id:"heading6",value:"###### "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconH6"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.heading6}</span>${Re(window.siyuan.config.keymap.editor.heading.heading6.custom,"###### ")}</div>`},{filter:[window.siyuan.languages.list,"unordered list","\u65E0\u5E8F\u5217\u8868","wuxvliebiao","wuxuliebiao","wxlb"],id:"list",value:"* "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconList"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.list}</span>${Re(window.siyuan.config.keymap.editor.insert.list.custom,"* ")}</div>`},{filter:[window.siyuan.languages["ordered-list"],"order list","ordered list","\u6709\u5E8F\u5217\u8868","youxvliebiao","youxuliebiao","yxlb"],id:"orderedList",value:"1. "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconOrderedList"></use></svg><span class="b3-list-item__text">${window.siyuan.languages["ordered-list"]}</span>${Re(window.siyuan.config.keymap.editor.insert["ordered-list"].custom,"1. ")}</div>`},{filter:[window.siyuan.languages.check,"task list","todo list","\u4EFB\u52A1\u5217\u8868","renwuliebiao","rwlb"],id:"check",value:"* [ ] "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconCheck"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.check}</span>${Re(window.siyuan.config.keymap.editor.insert.check.custom,"[]")}</div>`},{filter:[window.siyuan.languages.quote,"blockquote","bq","\u5F15\u8FF0","yinshu","ys"],id:"quote",value:"> "+Lute.Caret,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconQuote"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.quote}</span>${Re(window.siyuan.config.keymap.editor.insert.quote.custom,">")}</div>`},{filter:[window.siyuan.languages.code,"code block","\u4EE3\u7801\u5757","daimakuai","dmk"],id:"code",value:"```",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconCode"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.code}</span>${Re(window.siyuan.config.keymap.editor.insert.code.custom,"```"+window.siyuan.languages.enterKey)}</div>`},{filter:[window.siyuan.languages.table,"table","\u8868\u683C","biaoge","bg"],id:"table",value:`| ${Lute.Caret} |  |  |
2025| --- | --- | --- |
2026|  |  |  |
2027|  |  |  |`,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconTable"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.table}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.table.custom)}</span></div>`},{filter:[window.siyuan.languages.line,"thematic break","divider","\u5206\u9694\u7EBF","\u5206\u5272\u7EBF","fengexian","fgx"],id:"line",value:"---",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconLine"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.line}</span><span class="b3-list-item__meta">---</span></div>`},{filter:[window.siyuan.languages.math,"formulas block","math block","\u6570\u5B66\u516C\u5F0F\u5757","shuxuegongshikuai","sxgsk"],id:"math",value:"$$",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconMath"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.math}</span><span class="b3-list-item__meta">$$</span></div>`},{filter:["html"],id:"html",value:"<div>",html:'<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconHTML5"></use></svg><span class="b3-list-item__text">HTML</span></div>'},{value:"",id:"separator_2",html:"separator"},{filter:[window.siyuan.languages.emoji,"emoji","\u8868\u60C5","biaoqing","bq"],id:"emoji",value:"emoji",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconEmoji"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.emoji}</span><span class="b3-list-item__meta">:</span></div>`},{filter:[window.siyuan.languages.link,"link","a","\u94FE\u63A5","lianjie","lj"],id:"link",value:"a",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconLink"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.link}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.link.custom)}</span></div>`},{filter:[window.siyuan.languages.bold,"bold","strong","\u7C97\u4F53","cuti","ct","\u52A0\u7C97","jiacu","jc"],id:"bold",value:"strong",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconBold"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.bold}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.bold.custom)}</span></div>`},{filter:[window.siyuan.languages.italic,"italic","em","\u659C\u4F53","xieti","xt"],id:"italic",value:"em",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconItalic"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.italic}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.italic.custom)}</span></div>`},{filter:[window.siyuan.languages.underline,"underline","\u4E0B\u5212\u7EBF","xiahuaxian","xhx"],id:"underline",value:"u",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconUnderline"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.underline}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.underline.custom)}</span></div>`},{filter:[window.siyuan.languages.strike,"strike","delete","\u5220\u9664\u7EBF","shanchuxian","scx"],id:"strike",value:"s",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconStrike"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.strike}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.strike.custom)}</span></div>`}
2027,{filter:[window.siyuan.languages.mark,"mark","\u6807\u8BB0","biaoji","bj","\u9AD8\u4EAE","gaoliang","gl"],id:"mark",value:"mark",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconMark"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.mark}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.mark.custom)}</span></div>`},{filter:[window.siyuan.languages.sup,"superscript","\u4E0A\u6807","shangbiao","sb"],id:"sup",value:"sup",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconSup"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.sup}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.sup.custom)}</span></div>`},{filter:[window.siyuan.languages.sub,"subscript","\u4E0B\u6807","xiaobiao","xb"],id:"sub",value:"sub",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconSub"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.sub}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.sub.custom)}</span></div>`},{filter:[window.siyuan.languages["inline-code"],"inline code","\u884C\u7EA7\u4EE3\u7801","hangjidaima","hjdm"],id:"inlineCode",value:"code",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconInlineCode"></use></svg><span class="b3-list-item__text">${window.siyuan.languages["inline-code"]}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert["inline-code"].custom)}</span></div>`},{filter:[window.siyuan.languages.kbd,"kbd","\u952E\u76D8","jianpan","jp"],id:"kbd",value:"kbd",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconKeymap"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.kbd}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.kbd.custom)}</span></div>`},{filter:[window.siyuan.languages.tag,"tags","\u6807\u7B7E","biaoqian","bq"],id:"tag",value:"tag",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconTags"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.tag}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert.tag.custom)}</span></div>`},{filter:[window.siyuan.languages["inline-math"],"inline formulas","inline math","\u884C\u7EA7\u516C\u5F0F","hangjigongshi","hjgs","\u884C\u7EA7\u6570\u5B66\u516C\u5F0F","hangjishuxvegongshi","hangjishuxuegongshi","hjsxgs"],id:"inlineMath",value:"inline-math",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconMath"></use></svg><span class="b3-list-item__text">${window.siyuan.languages["inline-math"]}</span><span class="b3-menu__accelerator">${updateHotkeyTip(window.siyuan.config.keymap.editor.insert["inline-math"].custom)}</span></div>`},{value:"",id:"separator_3",html:"separator"},{filter:[window.siyuan.languages.insertAsset,"insert image or file","upload","\u63D2\u5165\u56FE\u7247\u6216\u6587\u4EF6","charutupianhuowenjian","crtphwj","\u4E0A\u4F20","sc"],id:"insertAsset",value:Constants.ZWSP+3,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconDownload"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.insertAsset}</span>
2028<input class="b3-form__upload" type="file" ${t.options.upload.accept?'multiple="'+t.options.upload.accept+'"':""}></div>`},{filter:[window.siyuan.languages.insertIframeURL,"insert iframe link","\u63D2\u5165 iframe \u94FE\u63A5","charuiframelianjie","criframelj"],id:"insertIframeURL",value:'<iframe sandbox="allow-forms allow-presentation allow-same-origin allow-scripts allow-modals allow-popups" src="" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>',html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconLanguage"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.insertIframeURL}</span></div>`},{filter:[window.siyuan.languages.insertImgURL,"insert image link","image","img","\u63D2\u5165\u56FE\u7247\u94FE\u63A5","charutupianlianjie","crtplj"],id:"insertImgURL",value:"![]()",html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconImage"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.insertImgURL}</span></div>`},{filter:[window.siyuan.languages.insertVideoURL,"insert video link","\u63D2\u5165\u89C6\u9891\u94FE\u63A5","charushipinlianjie","crsplj"],id:"insertVideoURL",value:'<video controls="controls" src=""></video>',html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconVideo"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.insertVideoURL}</span></div>`},{filter:[window.siyuan.languages.insertAudioURL,"insert audio link","\u63D2\u5165\u97F3\u9891\u94FE\u63A5","charuyinpinlianjie","cryplj"],id:"insertAudioURL",value:'<audio controls="controls" src=""></audio>',html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconRecord"></use></svg><span class="b3-list-item__text">${window.siyuan.languages.insertAudioURL}</span></div>`},{value:"",id:"separator_4",html:"separator"},{filter:[window.siyuan.languages.staff,"staff","\u4E94\u7EBF\u8C31","wuxianpu","wxp"],id:"staff",value:"```abc\n```",html:`<div class="b3-list-item__first"><span class="b3-list-item__text">ABC</span><span class="b3-list-item__meta">${window.siyuan.languages.staff}</span></div>`},{filter:[window.siyuan.languages.chart,"chart","\u56FE\u8868","tubiao","tb"],id:"chart",value:"```echarts\n```",html:`<div class="b3-list-item__first"><span class="b3-list-item__text">Chart</span><span class="b3-list-item__meta">${window.siyuan.languages.chart}</span></div>`},{filter:["flowchart","flow chart","\u6D41\u7A0B\u56FE","liuchengtu","lct"],id:"flowChart",value:"```flowchart\n```",html:'<div class="b3-list-item__first"><span class="b3-list-item__text">FlowChart</span><span class="b3-list-item__meta">Flow Chart</span></div>'},{filter:["graphviz","\u72B6\u6001\u56FE","zhuangtaitu","ztt"],id:"graph",value:"```graphviz\n```",html:'<div class="b3-list-item__first"><span class="b3-list-item__text">Graphviz</span><span class="b3-list-item__meta">Graph</span></div>'},{filter:["mermaid","diagram","\u56FE\u8868","tubiao","tb"],id:"mermaid",value:"```mermaid\n```",html:'<div class="b3-list-item__first"><span class="b3-list-item__text">Mermaid</span><span class="b3-list-item__meta">Mermaid</span></div>'},{filter:[window.siyuan.languages.mindmap,"mindmap","\u8111\u56FE","naotu","nt"],id:"mindmap",value:"```mindmap\n```",html:`<div class="b3-list-item__first"><span class="b3-list-item__text">Mind map</span><span class="b3-list-item__meta">${window.siyuan.languages.mindmap}</span></div>`}
2028,{filter:["plantuml","\u5EFA\u6A21\u8BED\u8A00","jianmoyuyan","jmyy"],id:"UML",value:"```plantuml\n```",html:'<div class="b3-list-item__first"><span class="b3-list-item__text">PlantUML</span><span class="b3-list-item__meta">UML</span></div>'},{value:"",id:"separator_5",html:"separator"},{filter:[window.siyuan.languages.infoStyle,"info style","\u4FE1\u606F\u6837\u5F0F","xinxiyangshi","xxys"],id:"infoStyle",value:`style${Constants.ZWSP}color: var(--b3-card-info-color);background-color: var(--b3-card-info-background);`,html:`<div class="b3-list-item__first"><div style="color: var(--b3-card-info-color);background-color: var(--b3-card-info-background);" class="color__square color__square--list">A</div><span class="b3-list-item__text">${window.siyuan.languages.infoStyle}</span></div>`},{filter:[window.siyuan.languages.successStyle,"success style","\u6210\u529F\u6837\u5F0F","chenggongyangshi","cgys"],id:"successStyle",value:`style${Constants.ZWSP}color: var(--b3-card-success-color);background-color: var(--b3-card-success-background);`,html:`<div class="b3-list-item__first"><div style="color: var(--b3-card-success-color);background-color: var(--b3-card-success-background);" class="color__square color__square--list">A</div><span class="b3-list-item__text">${window.siyuan.languages.successStyle}</span></div>`},{filter:[window.siyuan.languages.warningStyle,"warning style","\u8B66\u544A\u6837\u5F0F","jinggaoyangshi","jgys"],id:"warningStyle",value:`style${Constants.ZWSP}color: var(--b3-card-warning-color);background-color: var(--b3-card-warning-background);`,html:`<div class="b3-list-item__first"><div style="color: var(--b3-card-warning-color);background-color: var(--b3-card-warning-background);" class="color__square color__square--list">A</div><span class="b3-list-item__text">${window.siyuan.languages.warningStyle}</span></div>`},{filter:[window.siyuan.languages.errorStyle,"error style","\u9519\u8BEF\u6837\u5F0F","cuowuyangshi","cwys"],id:"errorStyle",value:`style${Constants.ZWSP}color: var(--b3-card-error-color);background-color: var(--b3-card-error-background);`,html:`<div class="b3-list-item__first"><div style="color: var(--b3-card-error-color);background-color: var(--b3-card-error-background);" class="color__square color__square--list">A</div><span class="b3-list-item__text">${window.siyuan.languages.errorStyle}</span></div>`},{filter:[window.siyuan.languages.clearFontStyle,"clear style","\u6E05\u9664\u6837\u5F0F","qingchuyangshi","qcys"],id:"clearFontStyle",value:`style${Constants.ZWSP}`,html:`<div class="b3-list-item__first"><div class="color__square color__square--list">A</div><span class="b3-list-item__text">${window.siyuan.languages.clearFontStyle}</span></div>`},{value:"",id:"separator_6",html:"separator"}];let a=!1;return t.app.plugins.forEach(i=>{i.protyleSlash.forEach(s=>{n.push({filter:s.filter,value:`plugin${Constants.ZWSP}${i.name}${Constants.ZWSP}${s.id}`,html:s.html}),a=!0})}),a||n.pop(),e===""?n:n.filter(i=>i.filter?!!i.filter.find(o=>{if(o.toLowerCase().indexOf(e.toLowerCase())>-1)return!0}):!1)},ff=(e,t)=>(t.hint.genLoading(t),fetchPost("/api/search/searchTag",{k:e},n=>{const a=[];let i=!1;
2028n.data.tags.forEach(s=>{const o=s.replace(/<mark>/g,"").replace(/<\/mark>/g,"");a.push({value:`<span data-type="tag">${o}</span>`,html:`<div class="b3-list-item__text">${s}</div>`}),o===n.data.k&&(i=!0)}),n.data.k&&!i&&(a.splice(0,0,{value:`<span data-type="tag">${n.data.k}</span>`,html:`<div class="b3-list-item__text">${window.siyuan.languages.new} <mark>${escapeHtml(n.data.k)}</mark></div>`}),a.length>1&&(a[1].focus=!0)),t.hint.genHTML(a,t,!0,"hint")}),[]),Ts=e=>{let t;e.type==="NodeDocument"&&e.ial.icon?(t=xe(e.ial.icon,"b3-list-item__graphic popover__block",!0),t=t.replace('popover__block"',`popover__block" data-id="${e.id}"`)):t=`<svg class="b3-list-item__graphic popover__block" data-id="${e.id}"><use xlink:href="#${qa(e.type)}"></use></svg>`;let n="";return e.name&&(n+=`<span class="fn__flex"><svg class="b3-list-item__hinticon"><use xlink:href="#iconN"></use></svg><span>${e.name}</span></span><span class="fn__space"></span>`),e.alias&&(n+=`<span class="fn__flex"><svg class="b3-list-item__hinticon"><use xlink:href="#iconA"></use></svg><span>${e.alias}
2028</span></span><span class="fn__space"></span>`),e.memo&&(n+=`<span class="fn__flex"><svg class="b3-list-item__hinticon"><use xlink:href="#iconM"></use></svg><span>${e.memo}</span></span>`),n&&(n=`<div class="fn__flex b3-list-item__meta b3-list-item__showall">${n}</div>`),`${n}<div class="b3-list-item__first">
2029    ${t}
2030    <span class="b3-list-item__text">${e.content}</span>
2031</div>
2032<div class="b3-list-item__meta b3-list-item__showall">${e.hPath}</div>`},fl=(e,t,n)=>{const a=K(it(t.wysiwyg.element).startContainer);return t.hint.genLoading(t),ve("/api/search/searchRefBlock",{k:e,id:a?a.getAttribute("data-node-id"):t.block.parentID,beforeLen:Math.floor((Math.max(t.element.clientWidth/2,320)-58)/28.8),rootID:n==="av"?"":t.block.rootID,isDatabase:n==="av",isSquareBrackets:["[[","\u3010\u3010"].includes(t.hint.splitChar)},i=>{const s=[];if(i.data.newDoc){const o=Lute.UnEscapeHTMLStr(aa(i.data.k));s.push({value:`((newFile "${o}"${$.ZWSP}'${o}${Lute.Caret}'))`,html:`<div class="b3-list-item__first"><svg class="b3-list-item__graphic"><use xlink:href="#iconFile"></use></svg>
2033<span class="b3-list-item__text">${window.siyuan.languages.newFile} <mark>${i.data.k}</mark></span></div>`})}i.data.blocks.forEach(o=>{let l=`<span data-type="block-ref" data-id="${o.id}" data-subtype="d">${o.name||o.refText.replace(new RegExp($.ZWSP,"g"),"")}</span>`;if(n==="search")l=`<span data-type="block-ref" data-id="${o.id}" data-subtype="s">${e}${$.ZWSP}${o.name||o.refText.replace(new RegExp($.ZWSP,"g"),"")}</span>`;else if(n==="av"){let r=o.name||o.refText.replace(new RegExp($.ZWSP,"g"),"");a&&(r=o.ial["custom-sy-av-s-text-"+a.getAttribute("data-av-id")]||r),l=`<span data-type="block-ref" data-id="${o.id}" data-subtype="s">${r}</span>`}s.push({value:l,html:Ts(o)})}),n==="search"&&(t.hint.splitChar="((",t.hint.lastIndex=-1),s.length===0?s.push({value:"",html:window.siyuan.languages.emptyContent}):i.data.newDoc&&s.length>1&&(s[1].focus=!0),t.hint.genHTML(s,t,!0,n)}),[]},gf=(e,t)=>{if(e.endsWith("}}")||e.endsWith("\u300D\u300D"))return[];t.hint.genLoading(t);const n=hasClosestBlock(getEditorRange(t.wysiwyg.element).startContainer);return fetchPost("/api/search/searchRefBlock",{k:e,isDatabase:!1,beforeLen:Math.floor((Math.max(t.element.clientWidth/2,320)-58)/28.8),id:n?n.getAttribute("data-node-id"):t.block.parentID,rootID:t.block.rootID},a=>{const i=[];a.data.blocks.forEach(s=>{i.push({value:`{{select * from blocks where id='${s.id}'}}`,html:Ts(s)})}),i.length===0&&i.push({value:"",html:window.siyuan.languages.emptyContent}),t.hint.genHTML(i,t,!0,"hint")}),[]},pf=(e,t,n)=>{fetchPost("/api/template/render",{id:t.block.parentID,path:e},a=>{focusByRange(t.toolbar.range);const i=getContenteditableElement(n);i&&i.textContent.trim()===""?insertHTML(a.data.content,t,!0):insertHTML(a.data.content,t),t.wysiwyg.element.querySelectorAll('[status="temp"]').forEach(s=>{s.remove()}),blockRender(t,t.wysiwyg.element),processRender(t.wysiwyg.element),highlightRender(t.wysiwyg.element),avRender(t.wysiwyg.element,t),hideElements(["util"],t)})},mf=(e,t)=>{focusByRange(t.toolbar.range),insertHTML(t.lute.SpinBlockDOM(`<iframe src="/widgets/${e}/" data-subtype="widget" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>`),t,!0),hideElements(["util"],t)},bf=(e,t)=>{focusByRange(t.toolbar.range);const n=pathPosix().extname(e).toLowerCase(),a=e.startsWith("assets/")?getAssetName(e):e;insertHTML(genAssetHTML(n,e,a,e.startsWith("assets/")?a+n:e),t),hideElements(["util"],t)},yf=(e,t,n)=>{if(e==="/")return;const a=getDisplayName(e,!0,!0);if(n.block.rootID===a)return;const i=[];let s;const o=t[0].parentElement;let l;if(t.forEach((r,c)=>{c===t.length-1&&r.parentElement&&(s=getTopAloneElement(r),l=s.nextElementSibling||s.previousElementSibling,s.isSameNode(r)&&(s=void 0)),i.push({action:"append",id:r.getAttribute("data-node-id"),parentID:a}),r.remove()}),s)i.push({action:"delete",id:s.getAttribute("data-node-id")}),s.remove();else if(o.classList.contains("list")&&o.getAttribute("data-subtype")==="o"&&o.childElementCount>
20331)updateListOrder(o,1),Array.from(o.children).forEach(r=>{r.classList.contains("protyle-attr")||i.push({action:"update",id:r.getAttribute("data-node-id"),data:r.outerHTML})});else if(n.block.showAll&&o.classList.contains("protyle-wysiwyg")&&o.childElementCount===0)setTimeout(()=>{zoomOut({protyle:n,id:n.block.parent2ID,focusId:n.block.parent2ID})},Constants.TIMEOUT_INPUT*2+100);else if(o.classList.contains("protyle-wysiwyg")&&o.innerHTML===""&&!hasClosestByClassName(o,"block__edit",!0)&&n.block.id===n.block.rootID){const r=Lute.NewNodeID(),c=genEmptyElement(!1,!1,r);i.splice(0,0,{action:"insert",id:r,data:c.outerHTML,parentID:n.block.parentID}),o.innerHTML=c.outerHTML,focusBlock(c)}else l&&focusBlock(l);transaction(n,i)};var gl=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const ye=e=>{e.menu.addItem({iconHTML:"",label:Is(e.operator,!!e.data),click(){if(!e.data)transaction(e.protyle,[{action:"setAttrViewColCalc",avID:e.avId,id:e.colId,data:{operator:e.operator},blockID:e.blockID}],[{action:"setAttrViewColCalc",avID:e.avId,id:e.colId,data:{operator:e.oldOperator},blockID:e.blockID}]);else{e.target.querySelector(".b3-menu__accelerator").textContent=Is(e.operator,!0);const t=e.data.view.columns.find(n=>{if(n.id===e.colId)return n.rollup||(n.rollup={}),!0});t.rollup.calc={operator:e.operator},transaction(e.protyle,[{action:"updateAttrViewColRollup",id:e.colId,avID:e.avId,parentID:t.rollup.relationKeyID,keyID:t.rollup.keyID,data:{calc:t.rollup.calc}}],[{action:"updateAttrViewColRollup",id:e.colId,avID:e.avId,parentID:t.rollup.relationKeyID,keyID:t.rollup.keyID,data:{calc:{operator:e.oldOperator}}}])}}})},hf=(e,t,n,a)=>gl(void 0,null,function*(){let i,s,o,l,r,c;if(n)l=n.data.id,s=t.dataset.colType,r=t.dataset.calc,o=n.colId,c=n.blockID;else{const g=hasClosestBlock(t);if(!g||(i=hasClosestByClassName(t,"av__row--footer"),!i))return;i.classList.add("av__row--show"),s=t.dataset.dtype,o=t.dataset.colId,l=g.dataset.avId,r=t.dataset.operator,c=g.dataset.nodeId}if(s==="lineNumber")return;const f=new Menu("av-calc",()=>{i&&i.classList.remove("av__row--show")});if(f.isOpen)return;ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Count all",data:n==null?void 0:n.data,blockID:c,target:t}),s!=="checkbox"?(ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Count empty",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Count not empty",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Count values",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Count unique values",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Percent empty",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Percent not empty",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Percent unique values",data:n==null?void 0:n.data,blockID:c,target:t})):(ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Checked",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Unchecked",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Percent checked",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Percent unchecked",data:n==null?void 0:n.data,blockID:c,target:t}));let d=!1;if(s==="rollup"){let g,p,m=n==null?void 0:n.data;if(m||(m=(yield fetchSyncPost("api/av/renderAttributeView",{id:l})).data),m.view.columns.find(b=>{var E,k;if(b.id===o)return g=(E=b.rollup)==null?void 0:E.relationKeyID,p=(k=b.rollup)==null?void 0:k.keyID,!0}),g&&p){let b;m.view.columns.find(E=>{var k;if(E.id===g)return b=(k=E.relation)==null?void 0:k.avID,!0}),b&&(yield fetchSyncPost("api/av/getAttributeView",{id:b})).data.av.keyValues.find(k=>{if(k.key.id===p)return d=k.key.type==="number",!0})}}["number","template"].includes(s)||d?(ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Sum",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Average",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Median",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Min",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Max",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Range",data:n==null?void 0:n.data,blockID:c,target:t})):["date","created","updated"].includes(s)&&(ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Earliest",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Latest",data:n==null?void 0:n.data,blockID:c,target:t}),ye({menu:f,protyle:e,colId:o,avId:l,oldOperator:r,operator:"Range",data:n==null?void 0:n.data,blockID:c,target:t}));const u=t.getBoundingClientRect();
2033f.open({x:Math.max(a||0,u.left),y:u.bottom,h:u.height})}),pl=e=>{if(!e.calc||!e.calc.result)return"";let t=e.calc.result.number;(e.calc.operator==="Earliest"||e.calc.operator==="Latest"||e.calc.operator==="Range"&&["date","created","updated"].includes(e.type))&&(t=e.calc.result[e.type]);let n="";switch(e.calc.operator){case"Count all":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultCountAll}</small>`;break;case"Count values":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultCountValues}</small>`;break;case"Count unique values":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultCountUniqueValues}</small>`;break;case"Count empty":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultCountEmpty}</small>`;break;case"Count not empty":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultCountNotEmpty}</small>`;break;case"Percent empty":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultPercentEmpty}</small>`;break;case"Percent not empty":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultPercentNotEmpty}</small>`;break;case"Percent unique values":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultPercentUniqueValues}</small>`;break;case"Sum":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultSum}</small>`;break;case"Average":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultAverage}</small>`;break;case"Median":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultMedian}</small>`;break;case"Min":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultMin}</small>`;break;case"Max":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultMax}</small>`;break;case"Range":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcResultRange}</small>`;break;case"Earliest":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcOperatorEarliest}</small>`;break;case"Latest":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.calcOperatorLatest}</small>`;break;case"Checked":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.checked}</small>`;break;case"Unchecked":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.unchecked}</small>`;break;case"Percent checked":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.percentChecked}</small>`;break;case"Percent unchecked":n=`<span>${t.formattedContent}</span><small>${window.siyuan.languages.percentUnchecked}</small>`;break}return n},Is=(e,t)=>{switch(e){case void 0:case"":return t?window.siyuan.languages.original:window.siyuan.languages.calcOperatorNone;case"Count all":return window.siyuan.languages.calcOperatorCountAll;case"Count values":return window.siyuan.languages.calcOperatorCountValues;case"Count unique values":return window.siyuan.languages.calcOperatorCountUniqueValues;case"Count empty":return window.siyuan.languages.calcOperatorCountEmpty;case"Count not empty":return window.siyuan.languages.calcOperatorCountNotEmpty;case"Percent empty":return window.siyuan.languages.calcOperatorPercentEmpty;case"Percent not empty":return window.siyuan.languages.calcOperatorPercentNotEmpty;case"Percent unique values":return window.siyuan.languages.calcOperatorPercentUniqueValues;case"Checked":return window.siyuan.languages.checked;case"Unchecked":return window.siyuan.languages.unchecked;case"Percent checked":return window.siyuan.languages.percentChecked;case"Percent unchecked":return window.siyuan.languages.percentUnchecked;case"Sum":return window.siyuan.languages.calcOperatorSum;case"Average":return window.siyuan.languages.calcOperatorAverage;case"Median":return window.siyuan.languages.calcOperatorMedian;case"Min":return window.siyuan.languages.calcOperatorMin;case"Max":return window.siyuan.languages.calcOperatorMax;case"Range":return window.siyuan.languages.calcOperatorRange;case"Earliest":return window.siyuan.languages.calcOperatorEarliest;case"Latest":return window.siyuan.languages.calcOperatorLatest;default:return""}};
2033var ml=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const wf=(e,t)=>{if(isOnlyMeta(t))return!1;const n=hasClosestBlock(t.target);if(!n)return!1;if(hasClosestByAttribute(t.target,"data-type","av-load-more")&&!hasClosestByAttribute(t.target,"data-type","set-page-size"))return n.querySelector(".av__row--footer").style.transform="",n.removeAttribute("data-render"),n.dataset.pageSize=(parseInt(n.dataset.pageSize)+parseInt(n.querySelector('[data-type="set-page-size"]').getAttribute("data-size"))).toString(),avRender(n,e),t.preventDefault(),t.stopPropagation(),!0;const i=hasClosestByClassName(t.target,"av__firstcol");if(i)return window.siyuan.menus.menu.remove(),selectRow(i,"toggle"),t.preventDefault(),t.stopPropagation(),!0;const s=hasClosestByClassName(t.target,"av__cellassetimg");if(s)return previewImage(s.src),t.preventDefault(),t.stopPropagation(),!0;if(t.shiftKey){const f=hasClosestByClassName(t.target,"av__row");if(f&&!f.classList.contains("av__row--header"))return selectRow(f.querySelector(".av__firstcol"),"toggle"),t.preventDefault(),t.stopPropagation(),!0}const o=hasClosestByAttribute(t.target,"data-type","copy");if(o)return writeText(getCellText(hasClosestByClassName(o,"av__cell"))),showMessage(window.siyuan.languages.copied),t.preventDefault(),t.stopPropagation(),!0;if(hasClosestByAttribute(t.target,"data-type","av-search-icon")){const f=n.querySelector('input[data-type="av-search"]');f.style.width="128px",f.style.paddingLeft="",f.style.paddingRight="";const d=hasClosestByClassName(f,"av__views");return d&&d.classList.add("av__views--show"),setTimeout(()=>{f.focus()},Constants.TIMEOUT_TRANSITION),t.preventDefault(),t.stopPropagation(),!0}const r=hasClosestByClassName(t.target,"item");if(r&&r.parentElement.classList.contains("layout-tab-bar"))return r.classList.contains("item--focus")?openViewMenu({protyle:e,blockElement:n,element:r}):(n.removeAttribute("data-render"),avRender(n,e,void 0,r.dataset.id)),t.preventDefault(),t.stopPropagation(),!0;if(e.disabled)return!1;let c=t.target;for(;c&&!c.isEqualNode(n);){const f=c.getAttribute("data-type");if(f==="av-header-add"){const d=addCol(e,n),u=c.getBoundingClientRect();return d.open({x:u.left,y:u.bottom,h:u.height}),t.preventDefault(),t.stopPropagation(),!0}else{if(f==="av-header-more")return openMenuPanel({protyle:e,blockElement:n,type:"properties"}),t.preventDefault(),t.stopPropagation(),!0;if(f==="av-add-more")return insertRows(n,e,1,void 0),t.preventDefault(),t.stopPropagation(),!0;if(f==="av-more")return openMenuPanel({protyle:e,blockElement:n,type:"config"}),t.preventDefault(),t.stopPropagation(),!0;if(f==="av-switcher")return openMenuPanel({protyle:e,blockElement:n,type:"switcher"}),t.preventDefault(),t.stopPropagation(),!0;if(f==="av-sort")return openMenuPanel({protyle:e,blockElement:n,type:"sorts"}),t.preventDefault(),t.stopPropagation(),!0;if(f==="av-filter")return openMenuPanel({protyle:e,blockElement:n,type:"filters"}),t.preventDefault(),t.stopPropagation(),!0;if(f==="av-add")return addView(e,n),t.preventDefault(),t.stopPropagation(),!0;if(f==="block-more")return window.siyuan.menus.menu.remove(),e.toolbar.range=document.createRange(),e.toolbar.range.selectNodeContents(c),focusByRange(e.toolbar.range),c.parentElement.classList.add("av__cell--select"),addDragFill(c.parentElement),hintRef(c.previousElementSibling.textContent.trim(),e,"av"),t.preventDefault(),t.stopPropagation(),!0;if(f==="set-page-size")return setPageSize({target:c,protyle:e,avID:n.getAttribute("data-av-id"),nodeElement:n}),t.preventDefault(),t.stopPropagation(),!0;if(f==="av-add-bottom")return insertRows(n,e,1,n.querySelector(".av__row--util").previousElementSibling.getAttribute("data-id")||""),t.preventDefault(),t.stopPropagation(),!0;if(c.classList.contains("av__cell--header"))return showColMenu(e,n,c),t.preventDefault(),t.stopPropagation(),!0;if(c.classList.contains("av__cell")){if(!hasClosestByClassName(c,"av__row--header")){const d=hasClosestByClassName(c,"av__scroll");
2033if(!d||c.querySelector(".av__pulse"))return;const u=hasClosestByClassName(c,"av__row");if(!u)return;const g=getTypeByCellElement(c);g==="updated"||g==="created"||g==="lineNumber"?selectRow(u.querySelector(".av__firstcol"),"toggle"):(d.querySelectorAll(".av__row--select").forEach(p=>{p.querySelector(".av__firstcol use").setAttribute("xlink:href","#iconUncheck"),p.classList.remove("av__row--select")}),updateHeader(u),popTextCell(e,[c]))}return t.preventDefault(),t.stopPropagation(),!0}else{if(c.classList.contains("av__calc"))return openCalcMenu(e,c,void 0,t.clientX-64),t.preventDefault(),t.stopPropagation(),!0;if(c.classList.contains("b3-menu__avemoji")){const d=c.getBoundingClientRect();return openEmojiPanel(c.parentElement.getAttribute("data-block-id"),"doc",{x:d.left,y:d.bottom,h:d.height,w:d.width},u=>{c.innerHTML=unicode2Emoji(u||window.siyuan.storage[Constants.LOCAL_IMAGES].file)},c.querySelector("img")),t.preventDefault(),t.stopPropagation(),!0}}}c=c.parentElement}return!1},_f=(e,t,n)=>{var a;if(hideElements(["hint"],e),t.classList.contains("av__row--header"))return!1;const i=hasClosestBlock(t);if(!i)return!1;i.querySelectorAll(".av__cell--select, .av__cell--active").forEach(d=>{var u;d.classList.remove("av__cell--select","av__cell--active"),(u=d.querySelector(".av__drag-fill"))==null||u.remove()}),t.classList.contains("av__row--select")||(i.querySelectorAll(".av__row--select").forEach(d=>{d.classList.remove("av__row--select")}),i.querySelectorAll(".av__firstcol use").forEach(d=>{d.setAttribute("xlink:href","#iconUncheck")}));const s=new Menu;t.classList.add("av__row--select"),t.querySelector(".av__firstcol use").setAttribute("xlink:href","#iconCheck");const o=i.querySelectorAll(".av__row--select:not(.av__row--header)");updateHeader(t);const l=o[0].querySelector(".av__cell[data-block-id]"),r=Array.from(o).map(d=>d.getAttribute("data-id"));o.length===1&&l.getAttribute("data-detached");let c=!1;o.forEach(d=>{d.querySelector('.av__cell[data-dtype="block"]').getAttribute("data-detached")!=="true"&&(c=!0)});const f=[{id:"copyKeyContent",iconHTML:"",label:window.siyuan.languages.copyKeyContent,click(){let d="";o.forEach((u,g)=>{o.length>1&&(d+="* "),d+=u.querySelector('.av__cell[data-dtype="block"] .av__celltext').textContent.trim(),r.length>1&&g!==r.length-1&&(d+=`
2034`)}),writeText(d)}}];if(c&&f.splice(1,0,{id:"copyBlockRef",iconHTML:"",label:window.siyuan.languages.copyBlockRef,click:()=>{let d="";for(let u=0;u<r.length;u++){const g=r[u];let p="";const m=o[u].querySelector(".av__cell[data-dtype='block']");m.getAttribute("data-detached")==="true"?p=m.querySelector(".av__celltext").textContent:p=`((${g} '${m.querySelector(".av__celltext").textContent.replace(/[\n]+/g," ")}'))`,r.length>1&&(d+="* "),d+=p,r.length>1&&u!==r.length-1&&(d+=`
2035`)}writeText(d)}},{id:"copyBlockEmbed",iconHTML:"",label:window.siyuan.languages.copyBlockEmbed,click:()=>{let d="";r.forEach((u,g)=>{r.length>1&&(d+="* ");const p=o[g].querySelector(".av__cell[data-dtype='block']");p.getAttribute("data-detached")==="true"?d+=p.querySelector(".av__celltext").textContent:d+=`{{select * from blocks where id='${u}'}}`,r.length>1&&g!==r.length-1&&(d+=`
2036`)}),writeText(d)}},{id:"copyProtocol",iconHTML:"",label:window.siyuan.languages.copyProtocol,click:()=>{let d="";r.forEach((u,g)=>{r.length>1&&(d+="* ");const p=o[g].querySelector(".av__cell[data-dtype='block']");p.getAttribute("data-detached")==="true"?d+=p.querySelector(".av__celltext").textContent:d+=`siyuan://blocks/${u}`,r.length>1&&g!==r.length-1&&(d+=`
2037`)}),writeText(d)}},{id:"copyProtocolInMd",iconHTML:"",label:window.siyuan.languages.copyProtocolInMd,click:()=>{let d="";for(let u=0;u<r.length;u++){const g=r[u];let p="";const m=o[u].querySelector(".av__cell[data-dtype='block']");m.getAttribute("data-detached")==="true"?p=m.querySelector(".av__celltext").textContent:p=`[${m.querySelector(".av__celltext").textContent.replace(/[\n]+/g," ")}](siyuan://blocks/${g})`,r.length>1&&(d+="* "),d+=p,r.length>1&&u!==r.length-1&&(d+=`
2038`)}writeText(d)}},{id:"copyHPath",iconHTML:"",label:window.siyuan.languages.copyHPath,click:()=>ml(void 0,null,function*(){let d="";for(let u=0;u<r.length;u++){const g=r[u];let p="";const m=o[u].querySelector(".av__cell[data-dtype='block']");m.getAttribute("data-detached")==="true"?p=m.querySelector(".av__celltext").textContent:p=(yield fetchSyncPost("/api/filetree/getHPathByID",{id:g})).data,r.length>1&&(d+="* "),d+=p,r.length>
20381&&u!==r.length-1&&(d+=`
2039`)}writeText(d)})},{id:"copyID",iconHTML:"",label:window.siyuan.languages.copyID,click:()=>{let d="";r.forEach((u,g)=>{r.length>1&&(d+="* ");const p=o[g].querySelector(".av__cell[data-dtype='block']");p.getAttribute("data-detached")==="true"?d+=p.querySelector(".av__celltext").textContent:d+=u,r.length>1&&g!==r.length-1&&(d+=`
2040`)}),writeText(d)}}),s.addItem({id:"copy",label:window.siyuan.languages.copy,icon:"iconCopy",type:"submenu",submenu:f}),!e.disabled){s.addItem({id:"addToDatabase",label:window.siyuan.languages.addToDatabase,icon:"iconDatabase",click(){openSearchAV(i.getAttribute("data-av-id"),o[0],u=>{const g=[],p=[];o.forEach(b=>{const E=b.getAttribute("data-id"),k=genCellValueByElement("block",b.querySelector(".av__cell[data-block-id]"));g.push({content:k.block.content,id:E,isDetached:k.isDetached}),p.push(E)});const m=u.dataset.avId;transaction(e,[{action:"insertAttrViewBlock",avID:m,ignoreFillFilter:!0,srcs:g,blockID:u.dataset.blockId},{action:"doUpdateUpdated",id:u.dataset.blockId,data:dayjs().format("YYYYMMDDHHmmss")}],[{action:"removeAttrViewBlock",srcIDs:p,avID:m}])})}}),o.length===1&&(l.getAttribute("data-detached")!=="true"&&s.addSeparator({id:"separator_1"}),s.addItem({id:"insertRowBefore",icon:"iconBefore",label:`<div class="fn__flex" style="align-items: center;">
2041${window.siyuan.languages.insertRowBefore.replace("${x}",`<span class="fn__space"></span><input style="width:64px" type="number" step="1" min="1" value="1" placeholder="${window.siyuan.languages.enterKey}" class="b3-text-field"><span class="fn__space"></span>`)}
2042</div>`,bind(u){const g=u.querySelector("input");u.addEventListener("click",()=>{document.activeElement.isSameNode(g)||(insertRows(i,e,parseInt(g.value),o[0].previousElementSibling.getAttribute("data-id")),s.close())}),g.addEventListener("keydown",p=>{!p.isComposing&&p.key==="Enter"&&(insertRows(i,e,parseInt(g.value),o[0].previousElementSibling.getAttribute("data-id")),s.close())})}}),s.addItem({id:"insertRowAfter",icon:"iconAfter",label:`<div class="fn__flex" style="align-items: center;">
2043${window.siyuan.languages.insertRowAfter.replace("${x}",`<span class="fn__space"></span><input style="width:64px" type="number" step="1" min="1" placeholder="${window.siyuan.languages.enterKey}" class="b3-text-field" value="1"><span class="fn__space"></span>`)}
2044</div>`,bind(u){const g=u.querySelector("input");u.addEventListener("click",()=>{document.activeElement.isSameNode(g)||(insertRows(i,e,parseInt(g.value),o[0].getAttribute("data-id")),s.close())}),g.addEventListener("keydown",p=>{!p.isComposing&&p.key==="Enter"&&(insertRows(i,e,parseInt(g.value),o[0].getAttribute("data-id")),s.close())})}}),s.addSeparator({id:"separator_2"}),l.getAttribute("data-detached")!=="true"&&s.addItem({id:"unbindBlock",label:window.siyuan.languages.unbindBlock,icon:"iconLinkOff",click(){updateCellsValue(e,i,{content:l.querySelector(".av__celltext").textContent},[l])}})),s.addItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,click(){deleteRow(i,e)}});const d=[];t.parentElement.querySelectorAll(".av__row--header .av__cell").forEach(u=>{const g=Array.from(i.querySelectorAll(`.av__row--select:not(.av__row--header) .av__cell[data-col-id="${u.dataset.colId}"]`)),p=u.getAttribute("data-dtype");if(!["updated","created"].includes(p)){const m=u.dataset.icon;d.push({iconHTML:m?unicode2Emoji(m,"b3-menu__icon",!0):`<svg class="b3-menu__icon"><use xlink:href="#${getColIconByType(p)}"></use></svg>`,label:escapeHtml(u.querySelector(".av__celltext").textContent.trim()),click(){popTextCell(e,g)}})}}),s.addItem({id:"fields",icon:"iconAttr",label:window.siyuan.languages.fields,type:"submenu",submenu:d})}return(a=e==null?void 0:e.app)!=null&&a.plugins&&emitOpenMenu({plugins:e.app.plugins,type:"open-menu-av",detail:{protyle:e,element:i,selectRowElements:o},separatorPosition:"top"}),s.open(n),!0},vf=(e,t)=>{const n=t.getAttribute("data-av-id"),a=t.getAttribute("data-node-id"),i=t.querySelector(".av__title");i.textContent===""&&i.querySelectorAll("br").forEach(l=>{l.remove()});const s=i.textContent.trim();if(s===i.dataset.title.trim())return;const o=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"setAttrViewName",id:n,data:s},{action:"doUpdateUpdated",id:a,data:o}],[{action:"setAttrViewName",id:n,data:i.dataset.title},{action:"doUpdateUpdated",id:a,data:t.getAttribute("updated")}]),t.setAttribute("updated",o),i.dataset.title=s,Array.from(e.wysiwyg.element.querySelectorAll(`[data-av-id="${n}
2044"]`)).forEach(l=>{if(t.isSameNode(l))return;const r=l.querySelector(".av__title");r&&(r.textContent=s,r.dataset.title=s)})},Ef=(e,t,n)=>{if(e)if(n)updateHeaderCell(e,n);else{const a=e.querySelector(".av__drag-fill");e.innerHTML=renderCell(t),a&&addDragFill(e),renderCellAttr(e,t)}},kf=(e,t)=>{e.querySelectorAll(`.av__cell[data-col-id="${t}"]`).forEach(n=>{n.remove()})},Cf=(e,t)=>{fetchPost("/api/av/duplicateAttributeViewBlock",{avID:t.getAttribute("data-av-id")},n=>{t.classList.remove("protyle-wysiwyg--select");const a=document.createElement("template");a.innerHTML=e.lute.SpinBlockDOM(`<div data-node-id="${n.data.blockID}" data-av-id="${n.data.avID}" data-type="NodeAttributeView" data-av-type="table"></div>`);const i=a.content.firstElementChild;t.after(i),avRender(i,e,()=>{focusBlock(i),scrollCenter(e)}),transaction(e,[{action:"insert",data:i.outerHTML,id:n.data.blockID,previousID:t.dataset.nodeId}],[{action:"delete",id:n.data.blockID}])})};let Te;const ya=(e,t,n=[])=>{var a;let i="",s=!1;if(n.length===0&&document.querySelectorAll(".av__panel .b3-chips .b3-chip").forEach(o=>{n.push(o.dataset.content)}),t){const o=((a=document.querySelector(".av__panel .b3-menu__item--current"))==null?void 0:a.getAttribute("data-name"))||"";t.forEach(l=>{if(!e||e.toLowerCase().indexOf(l.name.toLowerCase())>-1||l.name.toLowerCase().indexOf(e.toLowerCase())>-1){const r=l.desc?`${escapeAriaLabel(l.name)}<div class='ft__on-surface'>${escapeAriaLabel(l.desc||"")}</div>`:"";i+=`<button data-type="addColOptionOrCell" class="b3-menu__item${o===l.name?" b3-menu__item--current":""}" data-name="${escapeAttr(l.name)}" data-desc="${escapeAttr(l.desc||"")}" draggable="true" data-color="${l.color}">
2045    <svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
2046    <div class="fn__flex-1 ariaLabel" data-position="parentW" aria-label="${r}">
2047        <span class="b3-chip" style="background-color:var(--b3-font-background${l.color});color:var(--b3-font-color${l.color})">
2048            <span class="fn__ellipsis">${escapeHtml(l.name)}</span>
2049        </span>
2050    </div>
2051    <svg class="b3-menu__action" data-type="setColOption"><use xlink:href="#iconEdit"></use></svg>
2052    ${n.includes(l.name)?'<svg class="b3-menu__checked"><use xlink:href="#iconSelect"></use></svg></span>':""}
2053</button>`}e===l.name&&(s=!0)})}if(!s&&e){i=i.replace('class="b3-menu__item b3-menu__item--current"','class="b3-menu__item"');const o=((t==null?void 0:t.length)||0)%14+1;i=`<button data-type="addColOptionOrCell" class="b3-menu__item b3-menu__item--current" data-name="${e}" data-color="${o}">
2054<svg class="b3-menu__icon"><use xlink:href="#iconAdd"></use></svg>
2055<div class="fn__flex-1">
2056    <span class="b3-chip" style="background-color:var(--b3-font-background${o});color:var(--b3-font-color${o})">
2057        <span class="fn__ellipsis">${escapeHtml(e)}</span>
2058    </span>
2059</div>
2060<span class="b3-menu__accelerator">${window.siyuan.languages.enterKey}</span>
2061</button>${i}`}else i.indexOf("b3-menu__item--current")===-1&&(i=i.replace('class="b3-menu__item"','class="b3-menu__item b3-menu__item--current"'));return i},Ms=(e,t,n,a)=>{if(!n)return;const i=t[0].dataset.colId,s=[],o=[];let l;const r=a.getAttribute("data-av-id");t.forEach((c,f)=>{var d;if(!a.contains(c)){const m=hasClosestByClassName(c,"av__row");m&&(c=t[f]=a.querySelector(`.av__row[data-id="${m.dataset.id}"] .av__cell[data-col-id="${c.dataset.colId}"]`)||a.querySelector(`.fn__flex-1[data-col-id="${c.dataset.colId}"]`))}const u=hasClosestByClassName(c,"av__row").dataset.id,g=Te[f],p=JSON.parse(JSON.stringify(g));f===0?((d=g.mSelect)==null||d.find((m,b)=>{if(m.content===n.dataset.content)return g.mSelect.splice(b,1),!0}),l=g.mSelect):g.mSelect=l,s.push({action:"updateAttrViewCell",id:g.id,keyID:i,rowID:u,avID:r,data:g}),o.push({action:"updateAttrViewCell",id:g.id,keyID:i,rowID:u,avID:r,data:p}),c.classList.contains("custom-attr__avvalue")?c.innerHTML=genAVValueHTML(g):updateAttrViewCellAnimation(c,g)}),transaction(e,s,o),Array.from(document.querySelectorAll(".av__panel .b3-menu__item")).find(c=>{var f;if(c.dataset.name===n.dataset.content)return(f=c.querySelector(".b3-menu__checked"))==null||f.remove(),!0}),n.remove()},Af=(e,t,n,a,i,s)=>{const o=hasClosestByClassName(n,"b3-menu");if(!o)return;const l=a.getAttribute("data-node-id"),r=s?s[0].dataset.colId:o.querySelector(".b3-menu__item").getAttribute("data-col-id");let c=n.parentElement.dataset.name,f=n.parentElement.dataset.desc,d=n.parentElement.dataset.color;const u=new Menu("av-col-option",()=>{if(c===m.value&&f===b.value||!m.value)return;transaction(e,[{action:"updateAttrViewColOption",id:r,avID:t.id,data:{newColor:d,oldName:c,newName:m.value,newDesc:b.value}}],[{action:"updateAttrViewColOption",id:r,avID:t.id,data:{newColor:d,oldName:m.value,newName:c,newDesc:f}}]),t.view.columns.find(v=>{if(v.id===r){let w=!1;return v.options.find(y=>{if(y.name===m.value)return w=!0,!0}),w||v.options.find(y=>{if(y.name===c)return y.name=m.value,y.desc=b.value,!0}),!0}});const E=o.querySelector(".b3-menu__items").scrollTop,k=o.querySelector(".b3-chips"),A=k?k.clientHeight:0;s?(s.forEach((v,w)=>{const y=hasClosestByClassName(v,"av__row");y&&(v=s[w]=a.querySelector(`.av__row[data-id="${y.dataset.id}"] .av__cell[data-col-id="${v.dataset.colId}"]`)||a.querySelector(`.fn__flex-1[data-col-id="${v.dataset.colId}"]`)),Te[w].mSelect.find(h=>{if(h.content===c)return h.content=m.value,!0}),v.classList.contains("custom-attr__avvalue")?v.innerHTML=genAVValueHTML(Te[w]):updateAttrViewCellAnimation(v,Te[w])}),o.innerHTML=En(t.view,s),vn(e,t,o,s,a)):(o.innerHTML=getEditHTML({protyle:e,data:t,colId:r,isCustomAttr:i}),bindEditEvent({protyle:e,data:t,menuElement:o,isCustomAttr:i,blockID:l}
2061)),k&&(o.querySelector(".b3-menu__items").scrollTop=E+(o.querySelector(".b3-chips").clientHeight-A))});if(u.isOpen)return;u.addItem({iconHTML:"",type:"empty",label:`<div class="fn__hr"></div>
2062<div class="b3-form__icona fn__block">
2063    <input class="b3-text-field b3-form__icona-input" type="text" size="16">
2064    <svg data-position="north" class="b3-form__icona-icon ariaLabel" aria-label="${f?escapeAriaLabel(f):window.siyuan.languages.addDesc}"><use xlink:href="#iconInfo"></use></svg>
2065</div>
2066<div class="fn__none">
2067    <div class="fn__hr"></div>
2068    <textarea rows="1" placeholder="${window.siyuan.languages.addDesc}" class="b3-text-field fn__block" type="text" data-value="${escapeAttr(f)}">${f}</textarea>
2069</div>
2070<div class="fn__hr--small"></div>`,bind(E){const k=E.querySelector("input");k.addEventListener("keydown",v=>{v.isComposing||v.key==="Enter"&&u.close()}),k.value=c;const A=E.querySelector("textarea");k.nextElementSibling.addEventListener("click",()=>{const v=A.parentElement;v.classList.toggle("fn__none"),v.classList.contains("fn__none")||A.focus()}),A.addEventListener("keydown",v=>{v.isComposing||v.key==="Enter"&&u.close()}),A.addEventListener("input",()=>{k.nextElementSibling.setAttribute("aria-label",A.value?escapeHtml(A.value):window.siyuan.languages.addDesc)})}}),u.addItem({id:"delete",label:window.siyuan.languages.delete,icon:"iconTrashcan",click(){confirmDialog(window.siyuan.languages.deleteOpConfirm,window.siyuan.languages.confirmDelete,()=>{let E=[];t.view.columns.find(y=>{if(y.id===r)return E=y.options,!0});const k=n.parentElement.dataset.name;transaction(e,[{action:"removeAttrViewColOption",id:r,avID:t.id,data:k}],[{action:"updateAttrViewColOptions",id:r,avID:t.id,data:E}]),E.find((y,h)=>{if(y.name===k)return E.splice(h,1),!0});const A=o.querySelector(".b3-menu__items").scrollTop,v=o.querySelector(".b3-chips"),w=v?v.clientHeight:0;s?(s.forEach((y,h)=>{const _=hasClosestByClassName(y,"av__row");_&&(y=s[h]=a.querySelector(`.av__row[data-id="${_.dataset.id}"] .av__cell[data-col-id="${y.dataset.colId}"]`)||a.querySelector(`.fn__flex-1[data-col-id="${y.dataset.colId}"]`)),Te[h].mSelect.find((C,L)=>{if(C.content===k)return Te[h].mSelect.splice(L,1),!0}),y.classList.contains("custom-attr__avvalue")?y.innerHTML=genAVValueHTML(Te[h]):updateAttrViewCellAnimation(y,Te[h])}),o.innerHTML=En(t.view,s),vn(e,t,o,s,a)):(o.innerHTML=getEditHTML({protyle:e,data:t,colId:r,isCustomAttr:i}),bindEditEvent({protyle:e,data:t,menuElement:o,isCustomAttr:i,blockID:l})),v&&(o.querySelector(".b3-menu__items").scrollTop=A+(o.querySelector(".b3-chips").clientHeight-w))},void 0,!0)}}),u.addSeparator();let g='<div class="fn__flex fn__flex-wrap" style="width: 238px">';Array.from(Array(14).keys()).forEach(E=>{g+=`<button data-color="${E+1}" class="color__square${parseInt(d)===E+1?" color__square--current":""}" style="color: var(--b3-font-color${E+1});background-color: var(--b3-font-background${E+1});">A</button>`}),u.addItem({type:"empty",iconHTML:"",label:g+"</div>",bind(E){E.addEventListener("click",k=>{var A;const v=k.target;if(v.classList.contains("color__square")&&!v.classList.contains("color__square--current")){(A=E.querySelector(".color__square--current"))==null||A.classList.remove("color__square--current"),v.classList.add("color__square--current");const w=v.getAttribute("data-color");transaction(e,[{action:"updateAttrViewColOption",id:r,avID:t.id,data:{oldName:c,newName:m.value,oldColor:d,newColor:w,newDesc:b.value}}],[{action:"updateAttrViewColOption",id:r,avID:t.id,data:{oldName:m.value,newName:c,oldColor:w,newColor:d,newDesc:b.value}}]),t.view.columns.find(h=>{if(h.id===r)return h.options.find(_=>{if(_.name===c)return _.name=m.value,_.color=w,!0}),!0});const y=o.querySelector(".b3-menu__items").scrollTop;s?(s.forEach((h,_)=>{const C=hasClosestByClassName(h,"av__row");C&&(h=s[_]=a.querySelector(`.av__row[data-id="${C.dataset.id}"] .av__cell[data-col-id="${h.dataset.colId}"]`)||a.querySelector(`.fn__flex-1[data-col-id="${h.dataset.colId}"]`)),Te[_].mSelect.find(L=>{if(L.content===c)return L.content=m.value,L.color=w,!0}),h.classList.contains("custom-attr__avvalue")?h.innerHTML=genAVValueHTML(Te[_]):updateAttrViewCellAnimation(h,Te[_])}),o.innerHTML=En(t.view,s),vn(e,t,o,s,a)):(o.innerHTML=getEditHTML({protyle:e,data:t,colId:r,isCustomAttr:i}),bindEditEvent({protyle:e,data:t,menuElement:o,isCustomAttr:i,blockID:l})),o.querySelector(".b3-menu__items").scrollTop=y,c=m.value,f=b.value,d=w}})}});const p=n.getBoundingClientRect();u.open({x:p.right,y:p.bottom,w:p.width,h:p.height});const m=window.siyuan.menus.menu.element.querySelector("input");m.select();const b=window.siyuan.menus.menu.element.querySelector("textarea")},vn=(e,t,n,a,i)=>{const s=n.querySelector("input"),o=a[0].dataset.colId;let l;t.view.columns.find(c=>{if(c.id===o){l=c;return}}),l.options||(l.options=[]);const r=n.lastElementChild.lastElementChild;s.addEventListener("input",c=>{c.isComposing||(r.innerHTML=ya(s.value,l.options))}),s.addEventListener("compositionend",()=>{r.innerHTML=ya(s.value,l.options)}),s.addEventListener("keydown",c=>{if(c.isComposing)return;let f=upDownHint(r,c,"b3-menu__item--current",r.firstElementChild);c.key==="Enter"?(f||(f=n.querySelector(".b3-menu__item--current")),f.querySelector(".b3-menu__checked")?Ms(e,a,n.querySelector(`.b3-chips .b3-chip[data-content="${escapeAttr(f.dataset.name)}"]`),i):bl(e,t,a,f,n,i)):c.key==="Backspace"&&s.value===""&&Ms(e,a,s.previousElementSibling,i)})},bl=(e,t,n,a,i,s)=>{let o=!1;if(Array.from(i.querySelectorAll(".b3-chips .b3-chip")).find(g=>{if(g.dataset.content===a.dataset.name)return o=!0,!0}),o){i.querySelector("input").focus();return}
2070hasClosestBlock(n[0])||n.forEach((g,p)=>{const m=hasClosestByClassName(g,"av__row");m&&(n[p]=s.querySelector(`.av__row[data-id="${m.dataset.id}"] .av__cell[data-col-id="${g.dataset.colId}"]`)||s.querySelector(`.fn__flex-1[data-col-id="${g.dataset.colId}"]`))});const r=n[0].dataset.colId;let c;t.view.columns.find(g=>{if(g.id===r){c=g,c.options||(c.options=[]);return}});const f=[],d=[];let u;if(n.forEach((g,p)=>{const m=hasClosestByClassName(g,"av__row");if(!m)return;const b=m.dataset.id,E=Te[p],k=JSON.parse(JSON.stringify(E));if(p===0){if(c.type==="mSelect"){let A=!1;E.mSelect.find(v=>{if(v.content===a.dataset.name)return A=!0,!0}),A||E.mSelect.push({color:a.dataset.color,content:a.dataset.name})}else E.mSelect=[{color:a.dataset.color,content:a.dataset.name}];u=E.mSelect}else E.mSelect=u;f.push({action:"updateAttrViewCell",id:E.id,keyID:r,rowID:b,avID:t.id,data:E}),d.push({action:"updateAttrViewCell",id:E.id,keyID:r,rowID:b,avID:t.id,data:k}),g.classList.contains("custom-attr__avvalue")?g.innerHTML=genAVValueHTML(E):updateAttrViewCellAnimation(g,E)}),a.querySelector(".b3-menu__accelerator")?(c.options.push({color:a.dataset.color,name:a.dataset.name}),f.splice(0,0,{action:"updateAttrViewColOptions",id:r,avID:t.id,data:c.options}),transaction(e,f,[{action:"removeAttrViewColOption",id:r,avID:t.id,data:a.dataset.name}])):transaction(e,f,d),c.type==="select")i.parentElement.dispatchEvent(new CustomEvent("click",{detail:"close"}));else{const g=i.querySelector(".b3-menu__items").scrollTop,p=i.querySelector(".b3-chips").clientHeight;i.innerHTML=En(t.view,n),vn(e,t,i,n,s),i.querySelector("input").focus(),i.querySelector(".b3-menu__items").scrollTop=g+(i.querySelector(".b3-chips").clientHeight-p)}},En=(e,t,n=!1)=>{var a;if(n){Te=[];const r=t[0].classList.contains("custom-attr__avvalue");t.forEach(c=>{Te.push(genCellValueByElement(r?c.dataset.type:getTypeByCellElement(c),c))})}const i=t[0].dataset.colId,s=e.columns.find(r=>{if(r.id===i)return r});let o="";const l=[];return(a=Te[0].mSelect)==null||a.forEach(r=>{l.push(r.content),o+=`<div class="b3-chip b3-chip--middle" data-content="${escapeAttr(r.content)}" style="white-space: nowrap;max-width:100%;background-color:var(--b3-font-background${r.color});color:var(--b3-font-color${r.color})"><span class="fn__ellipsis">${escapeHtml(r.content)}</span><svg class="b3-chip__close" data-type="removeCellOption"><use xlink:href="#iconCloseRound"></use></svg></div>`}),`<div class="b3-menu__items">
2071<div class="b3-chips" style="max-width: 50vw">
2072    ${o}
2073    <input>
2074</div>
2075<div>${ya("",s.options,l)}</div>
2076</div>`},Sf=(e,t,n)=>{const a=[],i=[];return t.mSelect.forEach(s=>{var o;if(e.options||(e.options=[]),!e.options.find(r=>{if(r.name===s.content)return s.color=r.color,!0})){const r=((((o=e.options)==null?void 0:o.length)||0)%14+1).toString();e.options.push({name:s.content,color:r}),s.color=r,a.push({action:"updateAttrViewColOptions",id:e.id,avID:n,data:e.options}),i.push({action:"removeAttrViewColOption",id:e.id,avID:n,data:s.content})}}),{doOperations:a,undoOperations:i}},Lf=e=>{const t=new Menu("av-add-sort");e.data.view.columns.forEach(n=>{let a=!1;n.type==="lineNumber"?a=!0:e.data.view.sorts.find(i=>{if(i.column===n.id)return a=!0,!0}),a||t.addItem({label:n.name,iconHTML:n.icon?unicode2Emoji(n.icon,"b3-menu__icon",!0):`<svg class="b3-menu__icon"><use xlink:href="#${getColIconByType(n.type)}"></use></svg>`,click:()=>{const i=Object.assign([],e.data.view.sorts);e.data.view.sorts.push({column:n.id,order:"ASC"}),transaction(e.protyle,[{action:"setAttrViewSorts",avID:e.data.id,data:e.data.view.sorts,blockID:e.blockID}],[{action:"setAttrViewSorts",avID:e.data.id,data:i,blockID:e.blockID}]),e.menuElement.innerHTML=hl(e.data.view.columns,e.data.view.sorts),yl(e.protyle,e.menuElement,e.data,e.blockID),setPosition(e.menuElement,e.tabRect.right-e.menuElement.clientWidth,e.tabRect.bottom,e.tabRect.height)}})}),t.open({x:e.rect.left,y:e.rect.bottom,h:e.rect.height})},yl=(e,t,n,a)=>{t.querySelectorAll("select").forEach(i=>{i.addEventListener("change",()=>{const s=i.parentElement.getAttribute("data-id"),o=JSON.parse(JSON.stringify(n.view.sorts));i.previousElementSibling.classList.contains("b3-menu__icon")?n.view.sorts.find(l=>{if(l.column===s)return l.column=i.value,i.parentElement.setAttribute("data-id",i.value),!0}):n.view.sorts.find(l=>l.column===s).order=i.value,transaction(e,[{action:"setAttrViewSorts",avID:n.id,data:n.view.sorts,blockID:a}],[{action:"setAttrViewSorts",avID:n.id,data:o,blockID:a}])})})},hl=(e,t)=>{let n="";const a=i=>{let s="";return e.forEach(o=>{s+=`<option value="${o.id}" ${o.id===i?"selected":""}>${o.icon&&unicode2Emoji(o.icon)}${o.name}</option>`}),s};return t.forEach(i=>
2076{n+=`<button draggable="true" class="b3-menu__item" data-id="${i.column}">
2077    <svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
2078    <select class="b3-select" style="margin: 4px 0">
2079        ${a(i.column)}
2080    </select>
2081    <span class="fn__space"></span>
2082    <select class="b3-select" style="margin: 4px 0">
2083        <option value="ASC" ${i.order==="ASC"?"selected":""}>${window.siyuan.languages.asc}</option>
2084        <option value="DESC" ${i.order==="DESC"?"selected":""}>${window.siyuan.languages.desc}</option>
2085    </select>
2086    <svg class="b3-menu__action" data-type="removeSort"><use xlink:href="#iconTrashcan"></use></svg>
2087</button>`}),`<div class="b3-menu__items">
2088<button class="b3-menu__item" data-type="nobg">
2089    <span class="block__icon" style="padding: 8px;margin-left: -4px;" data-type="go-config">
2090        <svg><use xlink:href="#iconLeft"></use></svg>
2091    </span>
2092    <span class="b3-menu__label ft__center">${window.siyuan.languages.sort}</span>
2093</button>
2094<button class="b3-menu__separator"></button>
2095${n}
2096<button class="b3-menu__item${t.length===e.length?" fn__none":""}" data-type="addSort">
2097    <svg class="b3-menu__icon"><use xlink:href="#iconAdd"></use></svg>
2098    <span class="b3-menu__label">${window.siyuan.languages.new}</span>
2099</button>
2100<button class="b3-menu__item${n?"":" fn__none"}" data-type="removeSorts">
2101    <svg class="b3-menu__icon"><use xlink:href="#iconTrashcan"></use></svg>
2102    <span class="b3-menu__label">${window.siyuan.languages.delete}</span>
2103</button>
2104</div>`},xf=e=>{const t=genCellValueByElement("date",e[0]).date,n=t.isNotTime;let a="";const i=new Date().getTime();if(t.isNotEmpty){a=dayjs(t.content).format(n?"YYYY-MM-DD":"YYYY-MM-DD HH:mm");const o=a.split("-")[0];o.length!==4&&(a=new Array(4-o.length).fill(0).join("")+a)}else a=dayjs(i).format(n?"YYYY-MM-DD":"YYYY-MM-DD HH:mm");let s="";if(t.isNotEmpty2){s=dayjs(t.content2).format(n?"YYYY-MM-DD":"YYYY-MM-DD HH:mm");const o=a.split("-")[0];o.length!==4&&(a=new Array(4-o.length).fill(0).join("")+a)}else t.hasEndDate&&(s=dayjs(i).format(n?"YYYY-MM-DD":"YYYY-MM-DD HH:mm"));return`<div class="b3-menu__items">
2105<div>
2106    <input type="${n?"date":"datetime-local"}" max="${n?"9999-12-31":"9999-12-31 23:59"}" value="${a}" data-value="${dayjs(t.content||i).format("YYYY-MM-DD HH:mm")}" class="b3-text-field fn__size200" style="margin-top: 4px;"><br>
2107    <input type="${n?"date":"datetime-local"}" max="${n?"9999-12-31":"9999-12-31 23:59"}" value="${s}" data-value="${t.isNotEmpty2?dayjs(t.content2).format("YYYY-MM-DD HH:mm"):""}" style="margin-top: 8px;margin-bottom: 4px" class="b3-text-field fn__size200${t.hasEndDate?"":" fn__none"}">
2108    <button class="b3-menu__separator"></button>
2109    <label class="b3-menu__item">
2110        <span class="fn__flex-center">${window.siyuan.languages.endDate}</span>
2111        <span class="fn__space fn__flex-1"></span>
2112        <input type="checkbox" class="b3-switch b3-switch--menu"${t.hasEndDate?" checked":""}>
2113    </label>
2114    <label class="b3-menu__item">
2115        <span class="fn__flex-center">${window.siyuan.languages.includeTime}</span>
2116        <span class="fn__space fn__flex-1"></span>
2117        <input type="checkbox" class="b3-switch b3-switch--menu"${n?"":" checked"}>
2118    </label>
2119    <button class="b3-menu__separator"></button>
2120    <button class="b3-menu__item" data-type="clearDate">
2121        <svg class="b3-menu__icon"><use xlink:href="#iconTrashcan"></use></svg>
2122        <span class="b3-menu__label">${window.siyuan.languages.clear}</span>
2123    </button>
2124</div>
2125</div>`},Tf=e=>{const t=e.menuElement.querySelectorAll("input");return t.forEach(n=>{n.addEventListener("keydown",a=>{var i;a.isComposing||a.key==="Enter"&&(updateCellsValue(e.protyle,e.blockElement,{content:kn(t[0].dataset.value),isNotEmpty:t[0].value!=="",content2:kn(t[1].dataset.value),isNotEmpty2:t[1].value!=="",hasEndDate:t[2].checked,isNotTime:!t[3].checked},e.cellElements),(i=document.querySelector(".av__panel"))==null||i.dispatchEvent(new CustomEvent("click",{detail:"close"})))})}),t[0].addEventListener("change",()=>{t[0].dataset.value=t[0].value.length>10?t[0].value:t[0].value+" 00:00"}),t[1].addEventListener("change",()=>{t[1].dataset.value=t[1].value.length>10?t[1].value:t[1].value+" 00:00"}),t[2].addEventListener("change",()=>{if(t[2].checked){if(!t[1].dataset.value){const n=new Date().getTime();t[1].dataset.value=dayjs(n).format("YYYY-MM-DD HH:mm"),t[1].value=dayjs(n).format(t[3].checked?"YYYY-MM-DD HH:mm":"YYYY-MM-DD")}t[1].classList.remove("fn__none")}else t[1].classList.add("fn__none")}),t[3].addEventListener("change",()=>{t[3].checked?(t[0].setAttribute("type","datetime-local"),t[1].setAttribute("type","datetime-local"),t[0].setAttribute("max","9999-12-31 23:59"),t[1].setAttribute("max","9999-12-31 23:59"),t[0].value=t[0].dataset.value,t[1].value=t[1].dataset.value):(t[0].setAttribute("type","date"),t[1].setAttribute("type","date"),t[0].setAttribute("max","9999-12-31"),t[1].setAttribute("max","9999-12-31"),t[0].value=t[0].dataset.value.substring(0,10),t[1].value=t[1].dataset.value.substring(0,10))}),()=>{updateCellsValue(e.protyle,e.blockElement,{content:kn(t[0].dataset.value),isNotEmpty:t[0].value!=="",content2:kn(t[1].dataset.value),isNotEmpty2:t[1].value!=="",hasEndDate:t[2].checked,isNotTime:!t[3].checked},e.cellElements)}},kn=e=>{const t=e.split("-")[0],n=new Date(e);return(t.startsWith("00")||t.startsWith("000")||t.length<3)&&n.setFullYear(parseInt(t)),n.getTime()},Ne=e=>{e.menu.addItem({iconHTML:"",label:wl(e.format),click(){transaction(e.protyle,[{action:"updateAttrViewColNumberFormat",id:e.colId,avID:e.avID,format:e.format,type:"number"}],[{action:"updateAttrViewColNumberFormat",id:e.colId,avID:e.avID,format:e.oldFormat,type:"number"}]),e.avPanelElement.remove()}})},If=e=>{const t=new Menu("av-col-format-number");Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"commas",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"percent",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"usDollar",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"yuan",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"euro",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"pound",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"yen",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"ruble",oldF
2125ormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"rupee",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"won",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"canadianDollar",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement}),Ne({menu:t,protyle:e.protyle,colId:e.colId,avID:e.avID,format:"franc",oldFormat:e.oldFormat,avPanelElement:e.avPanelElement});const n=e.element.getBoundingClientRect();t.open({x:n.left,y:n.bottom,h:n.height,w:n.width,isLeft:!0})},wl=e=>{switch(e){case"":return window.siyuan.languages.numberFormatNone;case"commas":return window.siyuan.languages.numberFormatCommas;case"percent":return window.siyuan.languages.numberFormatPercent;case"usDollar":return window.siyuan.languages.numberFormatUSDollar;case"yuan":return window.siyuan.languages.numberFormatYuan;case"euro":return window.siyuan.languages.numberFormatEuro;case"pound":return window.siyuan.languages.numberFormatPound;case"yen":return window.siyuan.languages.numberFormatYen;case"ruble":return window.siyuan.languages.numberFormatRuble;case"rupee":return window.siyuan.languages.numberFormatRupee;case"won":return window.siyuan.languages.numberFormatWon;case"canadianDollar":return window.siyuan.languages.numberFormatCanadianDollar;case"franc":return window.siyuan.languages.numberFormatFranc}},Ds=(e,t)=>{var n,a;if(t.classList.contains("b3-list--empty"))return;e.target.querySelector(".b3-menu__accelerator").textContent=t.querySelector(".b3-list-item__text").textContent;const i=e.data.view.columns.find(o=>{if(o.id===e.colId)return o.rollup||(o.rollup={}),!0});if(e.isRelation){if(t.dataset.colId===((n=i.rollup)==null?void 0:n.relationKeyID))return;i.rollup={relationKeyID:t.dataset.colId};const o=e.target.nextElementSibling;o.querySelector(".b3-menu__accelerator").textContent="",o.setAttribute("data-av-id",t.dataset.targetAvId);const l=o.nextElementSibling;l.removeAttribute("data-col-type"),l.removeAttribute("data-calc"),l.querySelector(".b3-menu__accelerator").textContent=window.siyuan.languages.original}
2125else{if(t.dataset.colId===((a=i.rollup)==null?void 0:a.keyID))return;i.rollup.keyID=t.dataset.colId,delete i.rollup.calc;const o=e.target.nextElementSibling;o.removeAttribute("data-calc"),o.setAttribute("data-col-type",t.dataset.colType),o.querySelector(".b3-menu__accelerator").textContent=window.siyuan.languages.original}const s=JSON.parse(JSON.stringify(i.rollup));transaction(e.protyle,[{action:"updateAttrViewColRollup",id:e.colId,avID:e.data.id,parentID:i.rollup.relationKeyID,keyID:i.rollup.keyID,data:{calc:i.rollup.calc}}],[{action:"updateAttrViewColRollup",id:e.colId,avID:e.data.id,parentID:s.relationKeyID,keyID:s.keyID,data:{calc:s.calc}}])},$s=(e,t,n,a,i)=>{if(!a&&!n){showMessage(window.siyuan.languages.selectRelation);return}fetchPost(a?"/api/av/searchAttributeViewRelationKey":"/api/av/searchAttributeViewNonRelationKey",{avID:n,keyword:t},s=>{let o="";s.data.keys.forEach((l,r)=>{o+=`<div class="b3-list-item b3-list-item--narrow${r===0?" b3-list-item--focus":""}" data-col-id="${l.id}" ${a?`data-target-av-id="${l.relation.avID}"`:`data-col-type="${l.type}"`}>
2126        ${l.icon?unicode2Emoji(l.icon,"b3-list-item__graphic",!0):`<svg class="b3-list-item__graphic"><use xlink:href="#${getColIconByType(l.type)}"></use></svg>`}
2127        <span class="b3-list-item__text">${escapeHtml(l.name||window.siyuan.languages.title)}</span>
2128</div>`}),e.innerHTML=o||`<div class="b3-list--empty">${window.siyuan.languages.emptyContent}</div>`,i&&i()})},Mf=e=>{window.siyuan.menus.menu.remove();const t=new Menu;t.addItem({iconHTML:"",type:"empty",label:`<div class="fn__flex-column b3-menu__filter">
2129    <input class="b3-text-field fn__flex-shrink" placeholder="${window.siyuan.languages[e.isRelation?"searchRelation":"searchRollupProperty"]}"/>
2130    <div class="fn__hr"></div>
2131    <div class="b3-list fn__flex-1 b3-list--background">
2132        <img style="margin: 0 auto;display: block;width: 64px;height: 64px" src="/stage/loading-pure.svg">
2133    </div>
2134</div>`,bind(n){const a=n.querySelector(".b3-list"),i=n.querySelector("input");i.addEventListener("keydown",s=>{if(s.isComposing)return;upDownHint(a,s)&&s.stopPropagation(),s.key==="Enter"&&(s.preventDefault(),s.stopPropagation(),Ds(e,a.querySelector(".b3-list-item--focus")),window.siyuan.menus.menu.remove())}),i.addEventListener("input",s=>{s.stopPropagation(),$s(a,i.value,e.isRelation?e.data.id:e.target.dataset.avId,e.isRelation)}),n.lastElementChild.addEventListener("click",s=>{const o=hasClosestByClassName(s.target,"b3-list-item");o&&(s.stopPropagation(),Ds(e,o),window.siyuan.menus.menu.remove())}),$s(a,"",e.isRelation?e.data.id:e.target.dataset.avId,e.isRelation,()=>{const s=e.target.getBoundingClientRect();t.open({x:s.left,y:s.bottom,h:s.height}),n.querySelector("input").focus()})}}),t.element.querySelector(".b3-menu__items").setAttribute("style","overflow: initial")},Df=e=>{var t,n;let a;return e.colData?a=e.colData:e.data.view.columns.find(i=>{if(i.id===e.cellElements[0].dataset.colId)return a=i,!0}),`<button class="b3-menu__item b3-menu__item--current" data-type="goSearchRollupCol" data-old-value='${JSON.stringify(a.rollup||{})}'>
2135    <span class="b3-menu__label">${window.siyuan.languages.relation}</span>
2136    <span class="b3-menu__accelerator"></span>
2137    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
2138</button>
2139<button class="b3-menu__item" data-type="goSearchRollupTarget">
2140    <span class="b3-menu__label">${window.siyuan.languages.rollupProperty}</span>
2141    <span class="b3-menu__accelerator"></span>
2142    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
2143</button>
2144<button class="b3-menu__item" data-type="goSearchRollupCalc">
2145    <span class="b3-menu__label">${window.siyuan.languages.rollupCalc}</span>
2146    <span class="b3-menu__accelerator">${getNameByOperator((n=(t=a.rollup)==null?void 0:t.calc)==null?void 0:n.operator,!0)}</span>
2147    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
2148</button>`},$f=e=>{const t=e.menuElement.querySelector('[data-type="goSearchRollupCol"]');if(t){const n=JSON.parse(t.dataset.oldValue),a=e.menuElement.querySelector('[data-type="goSearchRollupTarget"]');let i="";n.relationKeyID&&e.data.view.columns.find(s=>{if(s.id===n.relationKeyID)return t.querySelector(".b3-menu__accelerator").textContent=s.name,i=s.relation.avID,a.dataset.avId=i,!0}),n.keyID&&i&&fetchPost("/api/av/getAttributeView",{id:i},s=>{s.data.av.keyValues.find(o=>{if(o.key.id===n.keyID){a.querySelector(".b3-menu__accelerator").textContent=o.key.name;const l=e.menuElement.querySelector('[data-type="goSearchRollupCalc"]');return l.dataset.colType=o.key.type,n.calc&&(l.dataset.calc=n.calc.operator),!0}})})}},_l=e=>{var t;let n=document.querySelector(".av__panel");
2148if(n){n.remove();return}const a=e.blockElement.getAttribute("data-av-id");fetchPost("/api/av/renderAttributeView",{id:a,query:((t=e.blockElement.querySelector('[data-type="av-search"]'))==null?void 0:t.value.trim())||"",pageSize:parseInt(e.blockElement.getAttribute("data-page-size"))||void 0,viewID:e.blockElement.getAttribute(Constants.CUSTOM_SY_AV_VIEW)},i=>{var s;if(n=document.querySelector(".av__panel"),n){n.remove();return}window.siyuan.menus.menu.remove();const o=e.blockElement.getAttribute("data-node-id"),l=!e.blockElement.classList.contains("av"),r=i.data;let c;if(e.type==="config")c=getViewHTML(r);else if(e.type==="properties")c=_t(r.view);else if(e.type==="sorts")c=getSortsHTML(r.view.columns,r.view.sorts);else if(e.type==="switcher")c=getSwitcherHTML(r.views,r.viewID);else if(e.type==="filters")c=getFiltersHTML(r.view);else if(e.type==="select")c=getSelectHTML(r.view,e.cellElements,!0);else if(e.type==="asset")c=getAssetHTML(e.cellElements);else if(e.type==="edit")e.editData&&(e.editData.previousID?r.view.columns.find((m,b)=>{if(m.id===e.editData.previousID)return r.view.columns.splice(b+1,0,e.editData.colData),!0}):r.view.columns.splice(0,0,e.editData.colData)),c=getEditHTML({protyle:e.protyle,data:r,colId:e.colId,isCustomAttr:l});else if(e.type==="date")c=getDateHTML(e.cellElements);else if(e.type==="rollup")c=`<div class="b3-menu__items">${getRollupHTML({data:r,cellElements:e.cellElements})}</div>`;else if(e.type==="relation"&&(c=getRelationHTML(r,e.cellElements),!c)){_l({protyle:e.protyle,blockElement:e.blockElement,type:"edit",colId:e.cellElements[0].dataset.colId});return}document.body.insertAdjacentHTML("beforeend",`<div class="av__panel" style="z-index: ${++window.siyuan.zIndex}">
2149    <div class="b3-dialog__scrim" data-type="close"></div>
2150    <div class="b3-menu">${c}</div>
2151</div>`),n=document.querySelector(".av__panel");let f;const d=n.lastElementChild;let u=(s=e.blockElement.querySelector(`.av__views, .av__row[data-col-id="${e.colId}"] > .block__logo`))==null?void 0:s.getBoundingClientRect();if(["select","date","asset","relation","rollup"].includes(e.type)){const m=e.cellElements[e.cellElements.length-1].getBoundingClientRect();if(e.type==="select"?bindSelectEvent(e.protyle,r,d,e.cellElements,e.blockElement):e.type==="date"?f=bindDateEvent({protyle:e.protyle,data:r,menuElement:d,cellElements:e.cellElements,blockElement:e.blockElement}):e.type==="asset"?(bindAssetEvent({protyle:e.protyle,menuElement:d,cellElements:e.cellElements,blockElement:e.blockElement}),setTimeout(()=>{setPosition(d,m.left,m.bottom,m.height)},Constants.TIMEOUT_LOAD)):e.type==="relation"?bindRelationEvent({menuElement:d,cellElements:e.cellElements,protyle:e.protyle,blockElement:e.blockElement}):e.type==="rollup"&&bindRollupData({protyle:e.protyle,data:r,menuElement:d}),["select","date","relation","rollup"].includes(e.type)){const b=d.querySelector("input");b&&(b.select(),b.focus()),setPosition(d,m.left,m.bottom,m.height)}}else setPosition(d,u.right-d.clientWidth,u.bottom,u.height),e.type==="sorts"?bindSortsEvent(e.protyle,d,r,o):e.type==="edit"?bindEditEvent({protyle:e.protyle,data:r,menuElement:d,isCustomAttr:l,blockID:o}):e.type==="config"?bindViewEvent({protyle:e.protyle,data:r,menuElement:d,blockElement:e.blockElement}):e.type==="switcher"&&bindSwitcherEvent({protyle:e.protyle,menuElement:d,blockElement:e.blockElement});e.cb&&e.cb(n),n.addEventListener("dragstart",m=>{window.siyuan.dragElement=m.target,window.siyuan.dragElement.style.opacity=".38"}),n.addEventListener("drop",m=>{var b,E,k,A;if(p=0,!window.siyuan.dragElement){m.preventDefault(),m.stopPropagation();return}window.siyuan.dragElement.style.opacity="";const v=window.siyuan.dragElement;if(window.siyuan.dragElement=void 0,e.protyle&&e.protyle.disabled){m.preventDefault(),m.stopPropagation();return}if(!e.protyle&&window.siyuan.config.readonly){m.preventDefault(),m.stopPropagation();return}const w=n.querySelector(".dragover__bottom, .dragover__top");if(!w)return;const y=w.classList.contains("dragover__top"),h=v.dataset.id,_=w.dataset.id;if(w.querySelector('[data-type="removeSort"]')){const C=r.view.sorts,L=Object.assign([],C);let I;C.find((S,x)=>
2151{if(S.column===h)return I=C.splice(x,1)[0],!0}),C.find((S,x)=>{if(S.column===_)return y?C.splice(x,0,I):C.splice(x+1,0,I),!0}),transaction(e.protyle,[{action:"setAttrViewSorts",avID:a,data:C,blockID:o}],[{action:"setAttrViewSorts",avID:a,data:L,blockID:o}]),d.innerHTML=getSortsHTML(r.view.columns,r.view.sorts),bindSortsEvent(e.protyle,d,r,o);return}if(w.querySelector('[data-type="removeFilter"]')){const C=r.view.filters,L=Object.assign([],C);let I;C.find((S,x)=>{if(S.column===h)return I=C.splice(x,1)[0],!0}),C.find((S,x)=>{if(S.column===_)return y?C.splice(x,0,I):C.splice(x+1,0,I),!0}),transaction(e.protyle,[{action:"setAttrViewFilters",avID:a,data:C,blockID:o}],[{action:"setAttrViewFilters",avID:a,data:L,blockID:o}]),d.innerHTML=getFiltersHTML(r.view);return}if(w.querySelector('[data-type="av-view-edit"]')){transaction(e.protyle,[{action:"sortAttrViewView",avID:a,blockID:o,id:h,previousID:y?(b=w.previousElementSibling)==null?void 0:b.getAttribute("data-id"):w.getAttribute("data-id")}],[{action:"sortAttrViewView",avID:a,blockID:o,id:h,previousID:(E=v.previousElementSibling)==null?void 0:E.getAttribute("data-id")}]),y?(w.before(v),w.classList.remove("dragover__top")):(w.after(v),w.classList.remove("dragover__bottom"));return}if(w.querySelector('[data-type="editAssetItem"]')){y?w.before(v):w.after(v);const C=[];Array.from(w.parentElement.children).forEach(L=>{L.dataset.content&&C.push({content:L.dataset.content,name:L.dataset.name,type:L.dataset.type})}),updateAssetCell({protyle:e.protyle,cellElements:e.cellElements,replaceValue:C,blockElement:e.blockElement});return}if(w.querySelector('[data-type="setColOption"]')){const C=e.cellElements?e.cellElements[0].dataset.colId:d.querySelector(".b3-menu__item").getAttribute("data-col-id"),L=r.view.columns.find(M=>M.id===C).options,I=Object.assign([],L);let S;L.find((M,D)=>{if(M.name===v.dataset.name)return S=L.splice(D,1)[0],!0}),L.find((M,D)=>{if(M.name===w.dataset.name)return y?L.splice(D,0,S):L.splice(D+1,0,S),!0}),transaction(e.protyle,[{action:"updateAttrViewColOptions",id:C,avID:a,data:L}],[{action:"updateAttrViewColOptions",id:C,avID:a,data:I}]);const x=d.querySelector(".b3-menu__items").scrollTop;e.cellElements?(d.innerHTML=getSelectHTML(r.view,e.cellElements),bindSelectEvent(e.protyle,r,d,e.cellElements,e.blockElement)):(d.innerHTML=getEditHTML({protyle:e.protyle,data:r,colId:C,isCustomAttr:l}),bindEditEvent({protyle:e.protyle,data:r,menuElement:d,isCustomAttr:l,blockID:o})),d.querySelector(".b3-menu__items").scrollTop=x;return}if(w.getAttribute("data-type")==="setRelationCell"){y?w.before(v):w.after(v),w.classList.remove("dragover__bottom","dragover__top");const C=[],L=[];w.parentElement.querySelectorAll(".fn__grab").forEach(I=>{const S=I.nextElementSibling;C.push(S.dataset.id),L.push({isDetached:!S.style.color,type:"block",block:{content:S.textContent,id:S.dataset.id}})}),updateCellsValue(e.protyle,e.blockElement,{blockIDs:C,contents:L},e.cellElements);return}if(w.getAttribute("data-type")==="editCol"){const C=(w.classList.contains("dragover__top")?(k=w.previousElementSibling)==null?void 0:k.getAttribute("data-id"):w.getAttribute("data-id"))||"",L=((A=v.previousElementSibling)==null?void 0:A.getAttribute("data-id"))||"";if(C!==L&&C!==h){transaction(e.protyle,[{action:"sortAttrViewCol",avID:a,previousID:C,id:h,blockID:o}],[{action:"sortAttrViewCol",avID:a,previousID:L,id:h,blockID:o}]);let I;r.view.columns.find((S,x)=>{if(S.id===h)return I=r.view.columns.splice(x,1)[0],!0}),r.view.columns.find((S,x)=>{if(S.id===_)return y?r.view.columns.splice(x,0,I):r.view.columns.splice(x+1,0,I),!0})}d.innerHTML=_t(r.view);return}});let g;n.addEventListener("dragover",m=>{if(m.dataTransfer.types.includes("Files")){m.preventDefault();return}const b=m.target;let E=hasClosestByAttribute(b,"draggable","true");if(E||(E=hasClosestByAttribute(document.elementFromPoint(m.clientX,m.clientY-1),"draggable","true")),!(!E||E.isSameNode(window.siyuan.dragElement))){if(m.preventDefault(),g&&E.isSameNode(g)){const k=E.getBoundingClientRect();n.querySelectorAll(".dragover__bottom, .dragover__top").forEach(A=>{A.classList.remove("dragover__bottom","dragover__top")}),m.clientY>k.top+k.height/2?E.classList.add("dragover__bottom"):E.classList.add("dragover__top");return}g=E}});let p=0;n.addEventListener("dragleave",()=>{p--,p===0&&n.querySelectorAll(".dragover__bottom, .dragover__top").forEach(m=>{m.classList.remove("dragover__bottom","dragover__top")})}),n.addEventListener("dragenter",m=>{m.preventDefault(),p++}),n.addEventListener("dragend",()=>{window.siyuan.dragElement&&(window.siyuan.dragElement.style.opacity="",window.siyuan.dragElement=void 0)}),n.addEventListener("mousedown",m=>{m.button===1&&!hasClosestByClassName(m.target,"b3-menu")&&document.querySelector(".av__panel").dispatchEvent(new CustomEvent("click",{detail:"close"}))}),n.addEventListener("click",m=>{var b,E,k,A,v;let w,y=m.target;for(typeof m.detail=="string"?w=m.detail:typeof m.detail=="object"&&(w=m.detail.type,y=m.detail.target);y&&!y.isSameNode(n)||w;){if(w=(y==null?void 0:y.dataset.type)||w,w==="close"){e.protyle.toolbar.subElement.classList.contains("fn__none")?window.siyuan.menus.menu.element.classList.contains("fn__none")?(f==null||f(),n.remove(),focusBlock(e.blockElement)):window.siyuan.menus.menu.remove():hideElements(["util"],e.protyle),window.siyuan.menus.menu.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="go-config"){d.innerHTML=getViewHTML(r),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),bindViewEvent({protyle:e.protyle,data:r,menuElement:d,blockElement:e.blockElement}),window.siyuan.menus.menu.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="go-properties"){u=e.blockElement.querySelector(".av__views").getBoundingClientRect(),d.innerHTML=_t(r.view),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),window.siyuan.menus.menu.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="goSorts"){d.innerHTML=getSortsHTML(r.view.columns,r.view.sorts),bindSortsEvent(e.protyle,d,r,o),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),window.siyuan.menus.menu.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="removeSorts"){transaction(e.protyle,[{action:"setAttrViewSorts",avID:a,data:[],blockID:o}],[{action:"setAttrViewSorts",avID:a,data:r.view.sorts,blockID:o}]),r.view.sorts=[],d.innerHTML=getSortsHTML(r.view.columns,r.view.sorts),bindSortsEvent(e.protyle,d,r,o),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="addSort"){addSort({data:r,rect:y.getBoundingClientRect(),menuElement:d,tabRect:u,avId:a,protyle:e.protyle,blockID:o}),m.preventDefault(),m.stopPropagation();break}else if(w==="removeSort"){const h=Object.assign([],r.view.sorts);r.view.sorts.find((_,C)=>{if(_.column===y.parentElement.dataset.id)return r.view.sorts.splice(C,1),!0}),transaction(e.protyle,[{action:"setAttrViewSorts",avID:a,data:r.view.sorts,blockID:o}],[{action:"setAttrViewSorts",avID:a,data:h,blockID:o}]),d.innerHTML=getSortsHTML(r.view.columns,r.view.sorts),bindSortsEvent(e.protyle,d,r,o),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="goFilters"){d.innerHTML=getFiltersHTML(r.view),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),window.siyuan.menus.menu.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="removeFilters"){transaction(e.protyle,[{action:"setAttrViewFilters",avID:a,data:[],blockID:o}],[{action:"setAttrViewFilters",avID:a,data:r.view.filters,blockID:o}]),r.view.filters=[],d.innerHTML=getFiltersHTML(r.view),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),window.siyuan.menus.menu.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="addFilter"){addFilter({data:r,rect:y.getBoundingClientRect(),menuElement:d,tabRect:u,avId:a,protyle:e.protyle,blockElement:e.blockElement}),m.preventDefault(),m.stopPropagation();break}else if(w==="removeFilter"){window.siyuan.menus.menu.remove();const h=Object.assign([],r.view.filters);r.view.filters.find((_,C)=>{if(_.column===y.parentElement.dataset.id&&_.value.type===y.parentElement.dataset.f
2151ilterType)return r.view.filters.splice(C,1),!0}),transaction(e.protyle,[{action:"setAttrViewFilters",avID:a,data:r.view.filters,blockID:o}],[{action:"setAttrViewFilters",avID:a,data:h,blockID:o}]),d.innerHTML=getFiltersHTML(r.view),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="setFilter"){r.view.filters.find(h=>{if(h.column===y.parentElement.parentElement.dataset.id&&h.value.type===y.parentElement.parentElement.dataset.filterType)return setFilter({filter:h,protyle:e.protyle,data:r,target:y,blockElement:e.blockElement}),!0}),m.preventDefault(),m.stopPropagation();break}else if(w==="numberFormat"){formatNumber({avPanelElement:n,element:y,protyle:e.protyle,oldFormat:y.dataset.format,colId:d.querySelector(".b3-menu__item").getAttribute("data-col-id"),avID:a}),m.preventDefault(),m.stopPropagation();break}else if(w==="newCol"){n.remove(),addCol(e.protyle,e.blockElement).open({x:u.right,y:u.bottom,h:u.height,isLeft:!0}),m.preventDefault(),m.stopPropagation();break}else if(w==="update-view-icon"){const h=y.getBoundingClientRect();openEmojiPanel("","av",{x:h.left,y:h.bottom+4,h:h.height,w:h.width},_=>{transaction(e.protyle,[{action:"setAttrViewViewIcon",avID:a,id:r.viewID,data:_}],[{action:"setAttrViewViewIcon",id:r.viewID,avID:a,data:y.dataset.icon}]),y.innerHTML=_?unicode2Emoji(_):'<svg style="width: 14px;height: 14px;"><use xlink:href="#iconTable"></use></svg>',y.dataset.icon=_},y.querySelector("img")),m.preventDefault(),m.stopPropagation();break}else if(w==="set-page-size"){setPageSize({target:y,protyle:e.protyle,avID:a,nodeElement:e.blockElement}),m.preventDefault(),m.stopPropagation();break}else if(w==="duplicate-view"){const h=Lute.NewNodeID();transaction(e.protyle,[{action:"duplicateAttrViewView",avID:a,previousID:r.viewID,id:h,blockID:o}],[{action:"removeAttrViewView",avID:a,id:h,blockID:o}]),e.blockElement.setAttribute(Constants.CUSTOM_SY_AV_VIEW,h),n.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="delete-view"){transaction(e.protyle,[{action:"removeAttrViewView",avID:a,id:r.viewID,blockID:o}]),n.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="update-icon"){const h=y.getBoundingClientRect();openEmojiPanel("","av",{x:h.left,y:h.bottom+4,h:h.height,w:h.width},_=>{const C=d.querySelector(".b3-menu__item").getAttribute("data-col-id");if(transaction(e.protyle,[{action:"setAttrViewColIcon",id:C,avID:a,data:_}],[{action:"setAttrViewColIcon",id:C,avID:a,data:y.dataset.icon}]),y.innerHTML=_?unicode2Emoji(_):`<svg style="height: 14px;width: 14px"><use xlink:href="#${getColIconByType(y.dataset.colType)}"></use></svg>`,l){const L=e.blockElement.querySelector(`.av__row[data-col-id="${C}"] .block__logoicon`);L.outerHTML=_?unicode2Emoji(_,"block__logoicon",!0):`<svg class="block__logoicon"><use xlink:href="#${getColIconByType(L.nextElementSibling.getAttribute("data-type"))}"></use></svg>`}else updateAttrViewCellAnimation(e.blockElement.querySelector(`.av__row--header .av__cell[data-col-id="${C}"]`),void 0,{icon:_});y.dataset.icon=_},y.querySelector("img")),m.preventDefault(),m.stopPropagation();break}else if(w==="showAllCol"){const h=[],_=[];r.view.columns.forEach(C=>{C.hidden&&(h.push({action:"setAttrViewColHidden",id:C.id,avID:a,data:!1,blockID:o}),_.push({action:"setAttrViewColHidden",id:C.id,avID:a,data:!0,blockID:o}),C.hidden=!1)}),h.length>0&&(transaction(e.protyle,h,_),d.innerHTML=_t(r.view),setPosition(d,u.right-d.clientWidth,u.bottom,u.height)),m.preventDefault(),m.stopPropagation();break}else if(w==="hideAllCol"){const h=[],_=[];r.view.columns.forEach(C=>{!C.hidden&&C.type!=="block"&&(h.push({action:"setAttrViewColHidden",id:C.id,avID:a,data:!0,blockID:o}),_.push({action:"setAttrViewColHidden",id:C.id,avID:a,data:!1,blockID:o}),C.hidden=!0)}),h.length>0&&(transaction(e.protyle,h,_),d.innerHTML=_t(r.view),setPosition(d,u.right-d.clientWidth,u.bottom,u.height)),m.preventDefault(),m.stopPropagation();break}else if(w==="editCol"){d.innerHTML=getEditHTML({protyle:e.protyle,data:r,colId:y.dataset.id,isCustomAttr:l}),bindEditEvent({protyle:e.protyle,data:r,menuElement:d,isCustomAttr:l,blockID:o}),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="updateColType"){if(y.dataset.newType!==y.dataset.oldType){const _=n.querySelector('.b3-text-field[data-type="name"]').value;let C=_;if(r.view.columns.find(L=>{if(L.id===e.colId)return L.type=y.dataset.newType,getColNameByType(y.dataset.oldType)===_&&(C=getColNameByType(y.dataset.newType),L.name=C),!0}),transaction(e.protyle,[{action:"updateAttrViewCol",id:e.colId,avID:a,name:C,type:y.dataset.newType}],[{action:"updateAttrViewCol",id:e.colId,avID:a,name:_,type:y.dataset.oldType}]),y.dataset.newType==="lineNumber"){if(r.view.sorts.find(S=>S.column===e.colId)){const S=Object.assign([],r.view.sorts),x=r.view.sorts.filter(M=>M.column!==e.colId);transaction(e.protyle,[{action:"setAttrViewSorts",avID:r.id,data:x,blockID:o}],[{action:"setAttrViewSorts",avID:r.id,data:S,blockID:o}])}if(r.view.filters.find(S=>S.column===e.colId)){const S=JSON.parse(JSON.stringify(r.view.filters)),x=r.view.filters.filter(M=>M.column!==e.colId);transaction(e.protyle,[{action:"setAttrViewFilters",avID:r.id,data:x,blockID:o}],[{action:"setAttrViewFilters",avID:r.id,data:S,blockID:o}])}}}d.innerHTML=getEditHTML({protyle:e.protyle,data:r,colId:e.colId,isCustomAttr:l}),bindEditEvent({protyle:e.protyle,data:r,menuElement:d,isCustomAttr:l,blockID:o}),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="goUpdateColType"){const h=hasClosestByClassName(y,"b3-menu");h&&(h.firstElementChild.classList.add("fn__none"),h.lastElementChild.classList.remove("fn__none")),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="goSearchAV"){openSearchAV(a,y,void 0,!1),m.preventDefault(),m.stopPropagation();break}else if(w==="goSearchRollupCol"){goSearchRollupCol({target:y,data:r,isRelation:!0,protyle:e.protyle,colId:e.colId||d.querySelector(".b3-menu__item").getAttribute("data-col-id")}),m.preventDefault(),m.stopPropagation();break}else if(w==="goSearchRollupTarget"){goSearchRollupCol({target:y,data:r,isRelation:!1,protyle:e.protyle,colId:e.colId||d.querySelector(".b3-menu__item").getAttribute("data-col-id")}),m.preventDefault(),m.stopPropagation();break}else if(w==="goSearchRollupCalc"){openCalcMenu(e.protyle,y,{data:r,colId:e.colId||d.querySelector(".b3-menu__item").getAttribute("data-col-id"),blockID:o}),m.preventDefault(),m.stopPropagation();break}else if(w==="updateRelation"){updateRelation({protyle:e.protyle,avElement:n,avID:a,colsData:r.view.columns,blockElement:e.blockElement}),m.preventDefault(),m.stopPropagation();break}else if(w==="goEditCol"){const h=hasClosestByClassName(y,"b3-menu");h&&(h.firstElementChild.classList.remove("fn__none"),h.lastElementChild.classList.add("fn__none")),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="hideCol"){const h=d.querySelector('[data-type="go-properties"]'),_=h?d.querySelector(".b3-menu__item").getAttribute("data-col-id"):y.parentElement.getAttribute("data-id");transaction(e.protyle,[{action:"setAttrViewColHidden",id:_,avID:a,data:!0,blockID:o}],[{action:"setAttrViewColHidden",id:_,avID:a,data:!1,blockID:o}]),r.view.columns.find(C=>C.id===_).hidden=!0,h?(d.innerHTML=getEditHTML({protyle:e.protyle,data:r,colId:_,isCustomAttr:l}),bindEditEvent({protyle:e.protyle,data:r,menuElement:d,isCustomAttr:l,blockID:o})):d.innerHTML=_t(r.view),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="showCol"){const h=d.querySelector('[data-type="go-properties"]'),_=h?d.querySelector(".b3-menu__item").getAttribute("data-col-id"):y.parentElement.getAttribute("data-id");transaction(e.protyle,[{action:"setAttrViewColHidden",id:_,avID:a,data:!1,blockID:o}],[{action:"setAttrViewColHidden",id:_,avID:a,data:!0,blockID:o}]),r.view.columns.find(C=>C.id===_).hidden=!1,h?(d.innerHTML=getEditHTML({protyle:e.protyle,data:r,colId:_,isCustomAttr:l}),bindEditEvent({protyle:e.protyle,data:r,menuElement:d,isCustomAttr:l,blockID:o})):d.innerHTML=_t(r.view),setPosition(d,u.right-d.clientWidth,u.bottom,u.height),m.preventDefault(),m.stopPropagation();break}else if(w==="duplicateCol"){duplicateCol({blockElement:e.blockElement,protyle:e.protyle,colId:d.querySelector(".b3-menu__item").getAttribute("data-col-id"),data:r,viewID:r.viewID}),m.preventDefault(),m.stopPropagation();break}else if(w==="removeCol"){l||(u=e.blockElement.querySelector(".av__views").getBoundingClientRect());const h=d.querySelector(".b3-menu__item").getAttribute("data-col-id"),_=r.view.columns.find(L=>{if(L.id===h)return!0}),C=_.type==="relation"&&((b=_.relation)==null?void 0:b.isTwoWay);if(l||C){const L=new Dialog({title:C?window.siyuan.languages.removeCol.replace("${x}",d.querySelector("input").value):window.siyuan.languages.deleteOpConfirm,content:`<div class="b3-dialog__content">
2152    ${C?window.siyuan.languages.confirmRemoveRelationField.replace("${x}",d.querySelector('.b3-menu__item[data-type="goSearchAV"] .b3-menu__accelerator').textContent):window.siyuan.languages.removeCol.replace("${x}",d.querySelector("input").value)}
2153    <div class="fn__hr--b"></div>
2154    <button class="fn__block b3-button b3-button--remove" data-action="delete">${window.siyuan.languages.delete}</button>
2155    <div class="fn__hr"></div>
2156    <button class="fn__block b3-button b3-button--remove${C?"":" fn__none"}" data-action="keep-relation">${window.siyuan.languages.removeButKeepRelationField}</button>
2157    <div class="fn__hr"></div>
2158    <button class="fn__block b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button>
2159</div>`});L.element.addEventListener("click",I=>{let S=I.target;const x=typeof I.detail=="string";for(;S&&!S.isSameNode(L.element)||x;){const M=S.getAttribute("data-action");if(M==="delete"||x&&I.detail==="Enter"){removeCol({protyle:e.protyle,data:r,avID:a,blockID:o,menuElement:d,isCustomAttr:l,blockElement:e.blockElement,avPanelElement:n,tabRect:u,isTwoWay:!0}),L.destroy();break}else if(M==="keep-relation"){removeCol({protyle:e.protyle,data:r,avID:a,blockID:o,menuElement:d,isCustomAttr:l,blockElement:e.blockElement,avPanelElement:n,tabRect:u,isTwoWay:!1}),L.destroy();break}else if(S.classList.contains("b3-button--cancel")||x&&I.detail==="Escape"){L.destroy();break}S=S.parentElement}}
2159),L.element.setAttribute("data-key",Constants.DIALOG_CONFIRM)}else removeCol({protyle:e.protyle,data:r,avID:a,blockID:o,menuElement:d,isCustomAttr:l,blockElement:e.blockElement,avPanelElement:n,tabRect:u,isTwoWay:!1});m.preventDefault(),m.stopPropagation();break}else if(w==="setColOption"){setColOption(e.protyle,r,y,e.blockElement,l,e.cellElements),m.preventDefault(),m.stopPropagation();break}else if(w==="setRelationCell"){(E=d.querySelector(".b3-menu__item--current"))==null||E.classList.remove("b3-menu__item--current"),y.classList.add("b3-menu__item--current"),setRelationCell(e.protyle,e.blockElement,y,e.cellElements),m.preventDefault(),m.stopPropagation();break}else if(w==="addColOptionOrCell"){(k=d.querySelector(".b3-menu__item--current"))==null||k.classList.remove("b3-menu__item--current"),y.classList.add("b3-menu__item--current"),y.querySelector(".b3-menu__checked")?removeCellOption(e.protyle,e.cellElements,d.querySelector(`.b3-chips .b3-chip[data-content="${escapeAttr(y.dataset.name)}"]`),e.blockElement):addColOptionOrCell(e.protyle,r,e.cellElements,y,d,e.blockElement),window.siyuan.menus.menu.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="removeCellOption"){removeCellOption(e.protyle,e.cellElements,y.parentElement,e.blockElement),m.preventDefault(),m.stopPropagation();break}else if(w==="addAssetLink"){addAssetLink(e.protyle,e.cellElements,y,e.blockElement),m.preventDefault(),m.stopPropagation();break}else if(w==="addAssetExist"){const h=y.getBoundingClientRect();assetMenu(e.protyle,{x:h.right,y:h.bottom,w:y.parentElement.clientWidth+8,h:h.height},(_,C)=>{let L;Constants.SIYUAN_ASSETS_IMAGE.includes(pathPosix().extname(_).toLowerCase())?L={type:"image",content:_,name:""}:L={type:"file",content:_,name:C},updateAssetCell({protyle:e.protyle,cellElements:e.cellElements,addValue:[L],blockElement:e.blockElement}),window.siyuan.menus.menu.remove()}),m.preventDefault(),m.stopPropagation();break}else if(w==="openAssetItem"){const h=y.parentElement.dataset.content,_=pathPosix().extname(h);Constants.SIYUAN_ASSETS_IMAGE.includes(_)?previewImage(h):window.open(h),m.preventDefault(),m.stopPropagation();break}else if(w==="editAssetItem"){editAssetItem({protyle:e.protyle,cellElements:e.cellElements,blockElement:e.blockElement,content:y.parentElement.dataset.content,type:y.parentElement.dataset.type,name:y.parentElement.dataset.name,index:parseInt(y.parentElement.dataset.index),rect:y.parentElement.getBoundingClientRect()}),m.preventDefault(),m.stopPropagation();break}else if(w==="clearDate"){updateCellsValue(e.protyle,e.blockElement,{isNotEmpty2:!1,isNotEmpty:!1,content:null,content2:null,hasEndDate:!1,isNotTime:!0},e.cellElements),n.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="av-add"){window.siyuan.menus.menu.remove(),addView(e.protyle,e.blockElement),n.remove(),m.preventDefault(),m.stopPropagation();break}else if(w==="av-view-switch"){y.parentElement.classList.contains("b3-menu__item--current")||((A=n.querySelector(".b3-menu__item--current"))==null||A.classList.remove("b3-menu__item--current"),y.parentElement.classList.add("b3-menu__item--current"),e.blockElement.removeAttribute("data-render"),avRender(e.blockElement,e.protyle,void 0,y.parentElement.dataset.id)),m.preventDefault(),m.stopPropagation();break}else if(w==="av-view-edit"){y.parentElement.classList.contains("b3-menu__item--current")?openViewMenu({protyle:e.protyle,blockElement:e.blockElement,element:y.parentElement}):((v=n.querySelector(".b3-menu__item--current"))==null||v.classList.remove("b3-menu__item--current"),y.parentElement.classList.add("b3-menu__item--current"),e.blockElement.removeAttribute("data-render"),avRender(e.blockElement,e.protyle,()=>{openViewMenu({protyle:e.protyle,blockElement:e.blockElement,element:y.parentElement}),n.querySelector(".b3-chip--primary").classList.remove("b3-chip--primary"),y.parentElement.querySelector(".b3-chip").classList.add("b3-chip--primary")},y.parentElement.dataset.id)),m.preventDefault(),m.stopPropagation();break}if(!y||!y.parentElement)break;y=y.parentElement}})})},_t=e=>{let t="",n="";return e.columns.forEach(a=>{a.hidden?n+=`<button class="b3-menu__item" data-type="editCol" draggable="true" data-id="${a.id}">
2160    <svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
2161    <div class="b3-menu__label fn__flex">
2162        ${a.icon?unicode2Emoji(a.icon,"b3-menu__icon",!0):`<svg class="b3-menu__icon"><use xlink:href="#${getColIconByType(a.type)}"></use></svg>`}
2163        ${escapeHtml(a.name)||"&nbsp;"}
2164    </div>
2165    <svg class="b3-menu__action" data-type="showCol"><use xlink:href="#iconEye"></use></svg>
2166    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
2167</button>`:t+=`<button class="b3-menu__item" data-type="editCol" draggable="true" data-id="${a.id}">
2168    <svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
2169    <div class="b3-menu__label fn__flex">
2170        ${a.icon?unicode2Emoji(a.icon,"b3-menu__icon",!0):`<svg class="b3-menu__icon"><use xlink:href="#${getColIconByType(a.type)}"></use></svg>`}
2171        ${escapeHtml(a.name)||"&nbsp;"}
2172    </div>
2173    <svg class="b3-menu__action${a.type==="block"?" fn__none":""}" data-type="hideCol"><use xlink:href="#iconEyeoff"></use></svg>
2174    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
2175</button>`}),n&&(n=`<button class="b3-menu__separator"></button>
2176<button class="b3-menu__item" data-type="nobg">
2177    <span class="b3-menu__label">
2178        ${window.siyuan.languages.hideCol} 
2179    </span>
2180    <span class="block__icon" data-type="showAllCol">
2181        ${window.siyuan.languages.showAll}
2182        <span class="fn__space"></span>
2183        <svg><use xlink:href="#iconEye"></use></svg>
2184    </span>
2185</button>
2186${n}`),`<div class="b3-menu__items">
2187<button class="b3-menu__item" data-type="nobg">
2188    <span class="block__icon" style="padding: 8px;margin-left: -4px;" data-type="go-config">
2189        <svg><use xlink:href="#iconLeft"></use></svg>
2190    </span>
2191    <span class="b3-menu__label ft__center">${window.siyuan.languages.fields}</span>
2192</button>
2193<button class="b3-menu__separator"></button>
2194<button class="b3-menu__item" data-type="nobg">
2195    <span class="b3-menu__label">
2196        ${window.siyuan.languages.showCol} 
2197    </span>
2198    <span class="block__icon" data-type="hideAllCol">
2199        ${window.siyuan.languages.hideAll}
2200        <span class="fn__space"></span>
2201        <svg><use xlink:href="#iconEyeoff"></use></svg>
2202    </span>
2203</button>
2204${t}
2205${n}
2206<button class="b3-menu__separator"></button>
2207<button class="b3-menu__item" data-type="newCol">
2208    <svg class="b3-menu__icon"><use xlink:href="#iconAdd"></use></svg>
2209    <span class="b3-menu__label">${window.siyuan.languages.new}</span>
2210</button>
2211</div>`},ha=e=>e&&e.replace(/&/g,"&amp;").replace(/</g,"&lt;"),Hf=e=>e.replace(/</g,"&lt;"),Vt=e=>e&&e.replace(/"/g,"&quot;").replace(/'/g,"&apos;"),vl=e=>e&&e.replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&amp;lt;").replace(/&lt;/g,"&amp;lt;"),Hs=e=>{let t=e,n="";try{const a=new URL(e);a.protocol.startsWith("http")&&(t=a.host,n=a.href.replace(a.origin,""),n.length>12&&(n=n.substring(0,4)+"..."+n.substring(n.length-6)))}catch(a){t=Lute.EscapeHTMLStr(e)}return`<span class="av__celltext av__celltext--url" data-type="url" data-href="${Vt(e)}"><span>${t}</span><span class="ft__on-surface">${n}</span></span>`},El=e=>{if(!e)return"";let t="";const n=e.querySelectorAll(".b3-chip, .av__celltext--ref, .av__celltext");return n.length>0?(n.forEach(a=>{a.querySelector(".av__cellicon")?t+=`${a.firstChild.textContent} \u2192 ${a.lastChild.textContent}, `:a.getAttribute("data-type")==="url"?t=a.getAttribute("data-href")+", ":a.getAttribute("data-type")!=="block-more"&&(t+=a.textContent+", ")}),t=t.substring(0,t.length-2)):t=e.textContent,t},Ns=(e,t)=>{var n;const a={type:e,id:t.dataset.id};if(e==="number"){const i=t.querySelector(".av__celltext").getAttribute("data-content");a.number={content:parseFloat(i)||0,isNotEmpty:!!i}}else if(["text","block","url","phone","email","template"].includes(e)){const i=t.querySelector(".av__celltext");if(a[e]={content:e==="url"?i.dataset.href:i.textContent},e==="block"&&i.dataset.id&&(a.block.id=i.dataset.id,(n=i.previousElementSibling)!=null&&n.classList.contains("b3-menu__avemoji"))){const s=i.previousElementSibling.getAttribute("data-unicode");s&&(a.block.icon=s)}}else if(e==="mSelect"||e==="select"){const i=[];t.querySelectorAll(".b3-chip").forEach(s=>{i.push({content:s.textContent.trim(),color:s.style.color.replace("var(--b3-font-color","").replace(")","")})}),a.mSelect=i}else if(["date","created","updated"].includes(e))a[e]=JSON.parse(t.querySelector(".av__celltext").getAttribute("data-value"));else if(e==="checkbox")a.checkbox={checked:t.querySelector("use").getAttribute("xlink:href")==="#iconCheck"};else if(e==="relation"){const i=[],s=[];Array.from(t.querySelectorAll(".av__cell--relation")).forEach(o=>{const l=o.querySelector(".av__celltext");i.push(l.dataset.id),s.push({isDetached:!l.classList.contains("av__celltext--ref"),block:{content:l.textContent,id:l.dataset.id},type:"block"})}),a.relation={blockIDs:i,contents:s}}else if(e==="mAsset"){const i=[];Array.from(t.children).forEach(s=>{if(s.classList.contains("av__drag-fill"))return;const o=s.classList.contains("av__cellassetimg");i.push({type:o?"image":"file",content:o?s.getAttribute("src"):s.getAttribute("data-url"),name:o?"":s.getAttribute("data-name")})}),a.mAsset=i}return e==="block"&&(a.isDetached=t.dataset.detached==="true"),a},$t=e=>{if(["number","text","block","url","phone","email","template","mAsset"].includes(e.type))return e[e.type].content;if(["mSelect","select"].includes(e.type))return e.mSelect[0].content;if(e.type==="rollup")return $t(e.relation.contents[0]);if(e.type==="checkbox")return e.checkbox.checked?"true":"false";if(e.type==="relation")return $t(e.relation.contents[0]);if(["date","created","updated"].includes(e.type))return dayjs(e[e.type].content).format("YYYY-MM-DD HH:mm");if(e.type==="lineNumber")return""},kl=(e,t)=>{if(e===t.type)return t;const n={type:e};if(e==="number")["date","created","updated"].includes(e)?n.number={content:t[t.type].content,isNotEmpty:t[t.type].isNotEmpty}:n.number={content:parseFloat($t(t))||0,isNotEmpty:!0};else if(["text","block","url","phone","email","template"].includes(e))n[e]={content:$t(t)};else if(e==="mSelect"||e==="select")n.mSelect=[{content:$t(t),color:"1"}];else if(e==="rollup")n.rollup={contents:[t]};else if(e==="checkbox")n.checkbox={checked:!0};else if(e==="relation")t.type==="block"?n.relation={blockIDs:[t.block.id],contents:[t]}:n.relation={blockIDs:[],contents:[]};else if(e==="mAsset"){const a=$t(t);n.mAsset=[{type:Constants.SIYUAN_ASSETS_IMAGE.includes(pathPosix().extname(a).toLowerCase())?"image":"file",content:a,name:""}]}else if(["date","created","updated"].includes(e))["date","created","updated"].includes(t.type)?n[e]=JSON.parse(JSON.stringify(t[t.type])):n[e]={content:null,isNotEmpty:!1,content2:null,isNotEmpty2:!1,hasEndDate:!1,isNotTime:!0};else if(e==="lineNumber")return{type:"lineNumber"};return n},Cl=(e,t)=>{let n={type:e,[e==="select"?"mSelect":e]:t};if(typeof t=="string"&&t){if(e==="number")n={type:e,number:{content:parseFloat(t)||0,isNotEmpty:!0}};else if(["text","block","url","phone","email","template"].includes(e))n={type:e,[e]:{content:t}};else if(e==="mSelect"||e==="select")n={type:e,mSelect:[{content:t,color:"
22111"}]};else if(e==="checkbox")n={type:e,checkbox:{checked:!0}};else if(e==="date"){let a=t.split("\u2192");a.length!==2&&(a=t.split("-"),a.length!==2&&(a=t.split("~")));const i=dayjs(a[0]),s=dayjs(a[1]||"");isNaN(i.valueOf())?n={type:e,date:{content:null,isNotEmpty:!1,content2:null,isNotEmpty2:!1,formattedContent:"",hasEndDate:!1,isNotTime:!0}}:n={type:e,date:{content:i.valueOf(),isNotEmpty:!0,content2:s.valueOf()||0,isNotEmpty2:!isNaN(s.valueOf()),hasEndDate:!isNaN(s.valueOf()),isNotTime:i.hour()===0,formattedContent:""}}}else if(e==="relation")n={type:e,relation:{blockIDs:[t],contents:[]}};else if(e==="mAsset"){const a=pathPosix().extname(t).toLowerCase();n={type:e,mAsset:[{type:Constants.SIYUAN_ASSETS_IMAGE.includes(a)?"image":"file",content:t,name:""}]}}}else(typeof t=="undefined"||!t)&&(e==="number"?n={type:e,number:{content:null,isNotEmpty:!1}}:["text","block","url","phone","email","template"].includes(e)?n={type:e,[e]:{content:""}}:e==="mSelect"||e==="select"||e==="mAsset"?n={type:e,[e==="select"?"mSelect":e]:[]}:["date","created","updated"].includes(e)?n={type:e,[e]:{content:null,isNotEmpty:!1,content2:null,isNotEmpty2:!1,hasEndDate:!1,isNotTime:!0}}:e==="checkbox"?n={type:e,checkbox:{checked:!1}}:e==="relation"?n={type:e,relation:{blockIDs:[],contents:[]}}:e==="rollup"&&(n={type:e,rollup:{contents:[]}}));return e==="block"&&(typeof t=="object"&&t.id?n.isDetached=!1:n.isDetached=!0),n},Bs=(e,t,n=!0)=>{const a=t.getBoundingClientRect();if(!n){const s=e.querySelector(".av__scroll"),o=O(t,"av__row");if(s&&o){const l=o.querySelector(".av__colsticky");if(!l.contains(t)){const r=l.getBoundingClientRect().right,c=s.getBoundingClientRect();r>a.left||c.right<a.left?s.scrollLeft=s.scrollLeft+a.left-r:r<a.left&&c.right<a.right&&(a.width+r>c.right?s.scrollLeft=s.scrollLeft+a.left-r:s.scrollLeft=s.scrollLeft+a.right-c.right)}}}const i=O(e,"protyle-content",!0);if(i&&t.getAttribute("data-dtype")!=="checkbox"){const s=document.getElementById("keyboardToolbar"),o=parseInt(s.getAttribute("data-keyboardheight"))||window.outerHeight/2-42;a.bottom>window.innerHeight-o-42?i.scrollTop+=a.bottom-window.innerHeight+42+o:a.top<110&&(i.scrollTop-=110-a.top)}},wa=e=>{const t=hasClosestByClassName(e,"av__scroll");if(t)return t.querySelector(".av__row--header").querySelector(`[data-col-id="${e.getAttribute("data-col-id")}"]`).getAttribute("data-dtype")},Nf=(e,t,n)=>{var a;if(t.length===0||t.length===1&&!t[0]||(n||(n=wa(t[0])),n==="updated"||n==="created"||document.querySelector(".av__mask")))return;const i=hasClosestBlock(t[0]);if(!i)return;let s=t[0].getBoundingClientRect();const o=hasClosestByClassName(i,"protyle-content",!0);Bs(i,t[0],!1),s=t[0].getBoundingClientRect();let l="",r=s.height,c;if(o){const g=o.getBoundingClientRect();s.bottom>g.bottom&&(r=g.bottom-s.top);const p=Math.min(Math.max(s.width,25),g.width);c=`style="padding-top: 6.5px;position:absolute;left: ${s.left<g.left||s.left+p>g.right?g.left:s.left}px;top: ${s.top}px;width:${p}px;height: ${r}px"`}else c=`style="padding-top: 6.5px;position:absolute;left: ${s.left}px;top: ${s.top}px;width:${Math.max(s.width,25)}px;height: ${r}px"`;if(["text","email","phone","block","template"].includes(n))l=`<textarea ${c} spellcheck="false" class="b3-text-field"></textarea>`;else if(n==="url")l=`<textarea ${c} spellcheck="false" class="b3-text-field">${t[0].firstElementChild.getAttribute("data-href")}</textarea>`;else if(n==="number")l=`<input type="number" spellcheck="false" value="${t[0].firstElementChild.getAttribute("data-content")}" ${c} class="b3-text-field">`;else{["select","mSelect"].includes(n)?openMenuPanel({protyle:e,blockElement:i,type:"select",cellElements:t}):n==="mAsset"?(openMenuPanel({protyle:e,blockElement:i,type:"asset",cellElements:t}),focusBlock(i)):n==="date"?openMenuPanel({protyle:e,blockElement:i,type:"date",cellElements:t}):n==="checkbox"?_a(e,n,i,t):n==="relation"?openMenuPanel({protyle:e,blockElement:i,type:"relation",cellElements:t}):n==="rollup"&&openMenuPanel({protyle:e,blockElement:i,type:"rollup",cellElements:t,colId:t[0].dataset.colId}),hasClosestByClassName(t[0],"custom-attr")||(t[0].classList.add("av__cell--select"),Cn(t[0]));return}window.siyuan.menus.menu.remove(),document.body.insertAdjacentHTML("beforeend",`<div class="av__mask" style="z-index: ${++window.siyuan.zIndex}">
2212    ${l}
2213</div>`);const f=document.querySelector(".av__mask"),d=f.querySelector(".b3-text-field");d&&(["text","email","phone","block","template"].includes(n)&&(d.value=((a=t[0].querySelector(".av__celltext"))==null?void 0:a.textContent)||""),d.select(),d.focus(),n==="template"&&fetchPost("/api/av/renderAttributeView",{id:i.dataset.avId,viewID:i.getAttribute(Constants.CUSTOM_SY_AV_VIEW)},g=>{g.data.view.columns.find(p=>{if(p.id===t[0].dataset.colId)return d.value=p.template,d.dataset.template=p.template,!0})}),n==="block"&&d.addEventListener("input",g=>{if(Constants.BLOCK_HINT_KEYS.includes(d.value.substring(0,2))){if(e.toolbar.range=document.createRange(),!i.contains(t[0])){const m=hasClosestByClassName(t[0],"av__row");t[0]&&(t[0]=i.querySelector(`.av__row[data-id="${m.dataset.id}"] .av__cell[data-col-id="${t[0].dataset.colId}"]`))}e.toolbar.range.selectNodeContents(t[0].lastChild),focusByRange(e.toolbar.range),t[0].classList.add("av__cell--select"),Cn(t[0]);let p=d.value;isDynamicRef(p)?p=p.substring(2,24):p=p.substring(2),hintRef(p,e,"av"),f==null||f.remove(),g.preventDefault(),g.stopPropagation()}}),d.addEventListener("keydown",g=>{g.isComposing||electronUndo(g)||(g.key==="Escape"||g.key==="Tab"||g.key==="Enter"&&!g.shiftKey&&isNotCtrl(g))&&(_a(e,n,i,t),g.key==="Tab"&&e.wysiwyg.element.dispatchEvent(new KeyboardEvent("keydown",{shift
2213Key:g.shiftKey,ctrlKey:g.ctrlKey,altKey:g.altKey,metaKey:g.metaKey,key:"Tab",keyCode:9})),g.preventDefault(),g.stopPropagation())}));const u=g=>{g.target.classList.contains("av__mask")&&document.activeElement.tagName!=="TEXTAREA"&&document.activeElement.tagName!=="INPUT"&&(_a(e,n,i,t),f==null||f.remove())};f.addEventListener("click",g=>{u(g)}),f.addEventListener("contextmenu",g=>{u(g)}),f.addEventListener("mousedown",g=>{g.button===1&&(g.target.classList.contains("av__mask")&&document.activeElement&&document.activeElement.nodeType===1&&document.activeElement.blur(),u(g))})},_a=(e,t,n,a)=>{const i=hasClosestByClassName(a[0],"av__row");if(!i||a.length===1&&a[0].dataset.detached==="true"&&!i.dataset.id)return;const s=document.querySelector(".av__mask"),o=n.getAttribute("data-av-id");if(t==="template"){const l=a[0].getAttribute("data-col-id"),r=s.querySelector(".b3-text-field");r.value!==r.dataset.template&&!n.getAttribute("data-loading")&&(transaction(e,[{action:"updateAttrViewColTemplate",id:l,avID:o,data:r.value,type:"template"}],[{action:"updateAttrViewColTemplate",id:l,avID:o,data:r.dataset.template,type:"template"}]),n.setAttribute("data-loading","true"))}else Al(e,n,t==="checkbox"?{checked:a[0].querySelector("use").getAttribute("xlink:href")==="#iconUncheck"}:s.querySelector(".b3-text-field").value,a);a[0]&&!hasClosestByClassName(a[0],"custom-attr")&&(a[0].classList.add("av__cell--select"),Cn(a[0])),document.querySelector(".b3-dialog")||focusBlock(n),document.querySelectorAll(".av__mask").forEach(l=>{l.remove()})},Al=(e,t,n,a,i,s,o=!1)=>{const l=[],r=[],c=t.dataset.avId,f=t.dataset.nodeId;let d="";const u=[];let g;(a==null?void 0:a.length)>0?g=a:(g=Array.from(t.querySelectorAll(".av__cell--active, .av__cell--select")),g.length===0&&t.querySelectorAll(".av__row--select:not(.av__row--header)").forEach(m=>{m.querySelectorAll(".av__cell").forEach(b=>{g.push(b)})}));const p=hasClosestByClassName(g[0],"custom-attr");return g.forEach((m,b)=>{const E=hasClosestByClassName(m,"av__row");if(!E||(t.contains(m)||(m=g[b]=t.querySelector(`.av__row[data-id="${E.dataset.id}"] .av__cell[data-col-id="${m.dataset.colId}"]`)||t.querySelector(`.fn__flex-1[data-col-id="${m.dataset.colId}"]`)),!m))return;const k=wa(m)||m.dataset.type;if(["created","updated","template","rollup"].includes(k))return;const A=E.getAttribute("data-id"),v=m.dataset.id,w=m.dataset.colId;d+=El(m)+(g[b+1]&&m.nextElementSibling&&m.nextElementSibling.isSameNode(g[b+1])?"	":`
2214
2215`);const y=Ns(k,m);(b===0||!g[b-1].isSameNode(m.previousElementSibling))&&u.push([]),u[u.length-1].push(y);let h=n;if(k==="mAsset"){if(Array.isArray(n))h=y.mAsset.concat(n);else if(typeof n!="undefined"&&typeof n!="object"){let C=e.lute.GetLinkDest(n),L="",I="";if(!C&&n.startsWith("assets/")&&(C=n,L=getAssetName(n)+pathPosix().extname(n)),s){const S=document.createElement("template");S.innerHTML=s;const x=S.content.querySelector('[data-type~="a"]');if(x)C=x.getAttribute("data-href"),L=x.textContent;else{const M=S.content.querySelector(".img img");M&&(I=M.getAttribute("data-src"))}}if(C||(L=n),!C&&!L&&!I)return;I?h=y.mAsset.concat({type:"image",content:I,name:""}):h=y.mAsset.concat({type:"file",content:C,name:L})}}else if(k==="mSelect"){if(typeof n=="string"){const C=[];let L=y.mSelect.length;[...new Set(n.split(",").map(I=>I.trim().replace(/\n|\r\n|\r|\u2028|\u2029/g,"")))].forEach(I=>{if(!I)return;let S=!1;y.mSelect.find(x=>{if(x.content===I)return S=!0,!0}),!S&&(L++,C.push({content:I,color:L.toString()}))}),h=y.mSelect.concat(C)}}else k==="block"&&typeof n=="string"&&y.block.id&&(h={content:n,id:y.block.id},y.block.icon&&(h.icon=y.block.icon));let _;if(typeof h=="object"&&h.type?_=kl(k,h):_=Cl(k,h),_.id=v,!(_.type==="date"&&typeof _.date=="string"||_.type==="relation"&&typeof _.relation=="string")){if(i&&(k==="select"||k==="mSelect")){const C=mergeAddOption(i.find(L=>L.id===w),_,c);l.push(...C.doOperations),r.push(...C.undoOperations)}objEquals(_,y)||(l.push({action:"updateAttrViewCell",id:v,avID:c,keyID:w,rowID:A,data:_}),r.push({action:"updateAttrViewCell",id:v,avID:c,keyID:w,rowID:A,data:y}),p?m.innerHTML=genAVValueHTML(_):updateAttrViewCellAnimation(m,_))}}),o?{doOperations:l,undoOperations:r}:(l.length>0&&(l.push({action:"doUpdateUpdated",id:f,data:dayjs().format("YYYYMMDDHHmmss")}),r.push({action:"doUpdateUpdated",id:f,data:t.getAttribute("updated")}),transaction(e,l,r)),{text:d.substring(0,d.length-2),json:u})},Sl=(e,t)=>{t.type==="checkbox"?t.checkbox.checked?(e.classList.add("av__cell-check"),e.classList.remove("av__cell-uncheck")):(e.classList.remove("av__cell-check"),e.classList.add("av__cell-uncheck")):t.type==="block"&&(t.block.id&&e.setAttribute("data-block-id",t.block.id),t.isDetached?e.setAttribute("data-detached","true"):e.removeAttribute("data-detached"))},va=(e,t=0)=>{var n,a,i,s,o,l,r,c,f,d;let u="";if(e.type==="template")u=`<span class="av__celltext">${e&&e.template.content||""}</span>`;else if(e.type==="text")u=`<span class="av__celltext">${e?Lute.EscapeHTMLStr(e.text.content||""):""}</span>`;else if(["email","phone"].includes(e.type))u=`<span class="av__celltext av__celltext--url" data-type="${e.type}">${e?Lute.EscapeHTMLStr(e[e.type].content||""):""}</span>`;else if(e.type==="url")u=Hs(((n=e==null?void 0:e.url)==null?void 0:n.content)||"");else if(e.type==="block")e!=null&&e.isDetached?u=`<span class="av__celltext">${Lute.EscapeHTMLStr(e.block.content||"")}</span><span class="b3-chip b3-chip--info b3-chip--small" data-type="block-more">${window.siyuan.languages.more}</span>`:u=`<span class="b3-menu__avemoji" data-unicode="${e.block.icon||""}">${xe(e.block.icon||window.siyuan.storage[$.LOCAL_IMAGES].file)}</span><span data-type="block-ref" data-id="${e.block.id}" data-subtype="s" class="av__celltext av__celltext--ref">${Lute.EscapeHTMLStr(e.block.content)}</span><span class="b3-chip b3-chip--info b3-chip--small" data-type="block-more">${window.siyuan.languages.update}</span>`;else if(e.type==="number")u=`<span class="av__celltext" data-content="${e!=null&&e.number.isNotEmpty?e==null?void 0:e.number.content:""}">${(e==null?void 0:e.number.formattedContent)||(e==null?void 0:e.number.content)||""}</span>`;else if(e.type==="mSelect"||e.type==="select")(a=e==null?void 0:e.mSelect)==null||a.forEach((g,p)=>{e.type==="select"&&p>
22150||(u+=`<span class="b3-chip" style="background-color:var(--b3-font-background${g.color});color:var(--b3-font-color${g.color})">${ha(g.content)}</span>`)});else if(e.type==="date"){const g=e?e.date:null;u=`<span class="av__celltext" data-value='${JSON.stringify(g)}'>`,g&&g.isNotEmpty&&(u+=Je(g.content).format(g.isNotTime?"YYYY-MM-DD":"YYYY-MM-DD HH:mm")),g&&g.hasEndDate&&g.isNotEmpty&&g.isNotEmpty2&&(u+=`<svg class="av__cellicon"><use xlink:href="#iconForward"></use></svg>${Je(g.content2).format(g.isNotTime?"YYYY-MM-DD":"YYYY-MM-DD HH:mm")}`),u+="</span>"}else if(["created","updated"].includes(e.type)){const g=e?e[e.type]:null;u=`<span class="av__celltext" data-value='${JSON.stringify(g)}'>`,g&&g.isNotEmpty&&(u+=Je(g.content).format("YYYY-MM-DD HH:mm")),u+="</span>"}else["lineNumber"].includes(e.type)?u=`<span class="av__celltext" data-value='${t+1}'>${t+1}</span>`:e.type==="mAsset"?(i=e==null?void 0:e.mAsset)==null||i.forEach(g=>{g.type==="image"?u+=`<img class="av__cellassetimg ariaLabel" aria-label="${g.content}" src="${g.content}">`:u+=`<span class="b3-chip av__celltext--url ariaLabel" aria-label="${Vt(g.content)}" data-name="${Vt(g.name)}" data-url="${Vt(g.content)}">${g.name||g.content}</span>`}):e.type==="checkbox"?u+=`<svg class="av__checkbox"><use xlink:href="#icon${(s=e==null?void 0:e.checkbox)!=null&&s.checked?"Check":"Uncheck"}"></use></svg>`:e.type==="rollup"?((l=(o=e==null?void 0:e.rollup)==null?void 0:o.contents)==null||l.forEach(g=>{const p=["select","mSelect","mAsset","checkbox","relation"].includes(g.type)?va(g):Ll(g);p&&(u+=p+", ")}),u&&u.endsWith(", ")&&(u=u.substring(0,u.length-2))):e.type==="relation"&&((c=(r=e==null?void 0:e.relation)==null?void 0:r.contents)==null||c.forEach(g=>{var p;g&&g.block&&(g!=null&&g.isDetached?u+=`<span class="av__cell--relation"><span>\u2796 </span><span class="av__celltext" data-id="${(p=g.block)==null?void 0:p.id}">${Lute.EscapeHTMLStr(g.block.content||window.siyuan.languages.untitled)}</span></span>`:u+=`<span class="av__cell--relation" data-block-id="${g.block.id}"><span class="b3-menu__avemoji" data-unicode="${g.block.icon||""}">${xe(g.block.icon||window.siyuan.storage[$.LOCAL_IMAGES].file)}</span><span data-type="block-ref" data-id="${g.block.id}" data-subtype="s" class="av__celltext av__celltext--ref">${Lute.EscapeHTMLStr(g.block.content||window.siyuan.languages.untitled)}</span></span>`)}),u&&u.endsWith(", ")&&(u=u.substring(0,u.length-2)));return(["text","template","url","email","phone","number","date","created","updated"].includes(e.type)&&((f=e[e.type])!=null&&f.content)||e.type==="lineNumber"||e.type==="block"&&((d=e.block)!=null&&d.content))&&(u+=`<span ${e.type!=="number"?"":'style="right:auto;left:5px"'} data-type="copy" class="block__icon"><svg><use xlink:href="#iconCopy"></use></svg></span>`),u},Ll=e=>{var t,n,a,i,s;let o="";if(["text"].includes(e.type))o=e&&e[e.type].content||"";else if(["email","phone"].includes(e.type)){const l=e?e[e.type].content:"";l&&(o=`<span class="av__celltext av__celltext--url" data-type="${e.type}">${l}</span>`)}else if(e.type==="url"){const l=((t=e==null?void 0:e.url)==null?void 0:t.content)||"";l&&(o=Hs(l))}else if(e.type==="block")e!=null&&e.isDetached?o=`<span class="av__celltext" data-id="${(n=e.block)==null?void 0:n.id}">${Lute.EscapeHTMLStr(((a=e.block)==null?void 0:a.content)||window.siyuan.languages.untitled)}</span>`:o=`<span data-type="block-ref" data-id="${(i=e.block)==null?void 0:i.id}" data-subtype="s" class="av__celltext av__celltext--ref">${Lute.EscapeHTMLStr(((s=e.block)==null?void 0:s.content)||window.siyuan.languages.untitled)}</span>`;else if(e.type==="number")o=(e==null?void 0:e.number.formattedContent)||(e==null?void 0:e.number.content.toString())||"";else if(e.type==="date"){const l=e?e.date:null;l.formattedContent?o=l.formattedContent:(l&&l.isNotEmpty&&(o=Je(l.content).format(l.isNotTime?"YYYY-MM-DD":"YYYY-MM-DD HH:mm")),l&&l.hasEndDate&&l.isNotEmpty&&l.isNotEmpty2&&(o=`<svg class="av__cellicon"><use xlink:href="#iconForward"></use></svg>${Je(l.content2).format(l.isNotTime?"YYYY-MM-DD":"YYYY-MM-DD HH:mm")}`)),o&&(o=`<span class="av__celltext">${o}</span>`)}return o},Bf=(e,t)=>
2215{var n;if(typeof t.icon!="undefined"&&(e.dataset.icon=t.icon,e.querySelector(".av__cellheadericon").outerHTML=t.icon?unicode2Emoji(t.icon,"av__cellheadericon",!0):`<svg class="av__cellheadericon"><use xlink:href="#${getColIconByType(e.dataset.dtype)}"></use></svg>`),typeof t.name!="undefined"&&(e.querySelector(".av__celltext").textContent=t.name),typeof t.pin!="undefined"){const a=e.querySelector(".av__celltext");t.pin?e.querySelector(".av__cellheadericon--pin")||a.insertAdjacentHTML("afterend",'<svg class="av__cellheadericon av__cellheadericon--pin"><use xlink:href="#iconPin"></use></svg>'):(n=e.querySelector(".av__cellheadericon--pin"))==null||n.remove()}},Pf=e=>{let t=hasClosestByClassName(e,"av__row");if(!t)return;let n=-1;for(;t;)t=t.previousElementSibling,n++;let a=-2;for(;e;)e=e.previousElementSibling,e&&e.classList.contains("av__colsticky")&&(e=e.lastElementChild),a++;return{rowIndex:n,celIndex:a}},Rf=(e,t,n,a)=>{var i;(i=t.querySelector(".av__drag-fill"))==null||i.remove();const s={};t.querySelectorAll(".av__cell--active").forEach(f=>{if(a.includes(f.dataset.id))return;const d=hasClosestByClassName(f,"av__row");if(!d)return;s[d.dataset.id]||(s[d.dataset.id]=[]);const u=Ns(wa(f),f);u.colId=f.dataset.colId,u.element=f,s[d.dataset.id].push(u)});const o=[],l=[],r=t.dataset.avId,c=Object.keys(n);Object.keys(s).forEach((f,d)=>{s[f].forEach((u,g)=>{if(["rollup","template","created","updated"].includes(u.type)||u.type==="block"&&u.element.getAttribute("data-detached")!=="true")return;const p=JSON.parse(JSON.stringify(n[c[d%c.length]][g]));p.id=u.id;const m=u.colId;p.type==="block"&&(p.isDetached=!0,delete p.block.id),o.push({action:"updateAttrViewCell",id:u.id,avID:r,keyID:m,rowID:f,data:p}),u.element.innerHTML=va(p),Sl(u.element,p),delete u.colId,delete u.element,l.push({action:"updateAttrViewCell",id:u.id,avID:r,keyID:m,rowID:f,data:u})})}),focusBlock(t),o.length>0&&transaction(e,o,l)},Cn=e=>{e&&(e.classList.add("av__cell--active"),e.querySelector(".av__drag-fill")||e.insertAdjacentHTML("beforeend",`<div aria-label="${window.siyuan.languages.dragFill}" class="av__drag-fill ariaLabel"></div>`))};var xl=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const Tl=e=>{if(["select","number","date","created","updated"].includes(e))return"=";if(["checkbox"].includes(e))return"Is false";if(["rollup","relation","rollup","text","mSelect","url","block","email","phone","template"].includes(e))return"Contains"},Ps=(e,t,n)=>{const a=hasClosestByClassName(e,"b3-menu");if(a){if(["date","updated","created"].includes(n)){const i=a.querySelector('.b3-menu__item div[data-type="filter1"]'),s=i.nextElementSibling;t==="Is between"?(s.classList.remove("fn__none"),i.classList.remove("fn__none")):t==="Is empty"||t==="Is not empty"?(s.classList.add("fn__none"),i.classList.add("fn__none")):(i.classList.remove("fn__none"),s.classList.add("fn__none"));return}a.querySelectorAll("input, .b3-chip").forEach(i=>{const s=hasClosestByClassName(i,"b3-menu__item");s&&(t!=="Is empty"&&t!=="Is not empty"?s.classList.remove("fn__none"):s.classList.add("fn__none"))})}},Rs=e=>{window.siyuan.menus.menu.element.querySelectorAll(".b3-menu__item").forEach(t=>{const n=t.querySelector(".b3-chip.b3-chip--middle");if(n){const a=n.dataset.name.toLowerCase();!e||e.indexOf(a)>-1||a.indexOf(e)>-1?t.classList.remove("fn__none"):t.classList.add("fn__none")}})},Il=e=>xl(void 0,null,function*(){var t,n,a,i,s,o,l,r,c,f,d,u,g,p,m,b,E,k;let A=e.target.getBoundingClientRect();A.height===0&&(A=e.protyle.wysiwyg.element.querySelector(`[data-col-id="${e.target.dataset.colId}"]`).getBoundingClientRect());const v=e.blockElement.getAttribute("data-node-id"),w=new Menu("set-filter-"+e.filter.column,()=>{const x=JSON.parse(JSON.stringify(e.data.view.filters)),M=w.element.querySelector(".b3-select");if(!M||!M.value)return;const D={column:e.filter.column,value:{type:e.filter.value.type},operator:M.value};let H=!1,B;if(_.type==="select"||_.type==="mSelect"){const U=[];window.siyuan.menus.menu.element.querySelectorAll("svg").forEach(V=>{if(V.firstElementChild.getAttribute("xlink:href")==="#iconCheck"){const fe=V.nextElementSibling.firstElementChild;U.push({color:fe.dataset.color,content:fe.dataset.name})}}),B=genCellValue(_.type,U)}else if(["date","updated","created"].includes(_.type)){const U=w.element.querySelector('.b3-select[data-type="dateType"]'),V=w.element.querySelectorAll('.b3-select[data-type="dataDirection"]');U.value==="custom"?(D.relativeDate={count:parseInt(V[0].parentElement.querySelector(".b3-text-field").value||"1"),unit:parseInt(V[0].parentElement.lastElementChild.value),direction:parseInt(V[0].value)},D.relativeDate2={count:parseInt(V[1].parentElement.querySelector(".b3-text-field").value||"1"),unit:parseInt(V[1].parentElement.lastElementChild.value),direction:parseInt(V[1].value)},B={type:_.type}):(B=genCellValue(_.type,{isNotEmpty2:S[2].value!=="",isNotEmpty:S[0].value!=="",content:S[0].value?new Date(S[0].value+" 00:00").getTime():null,content2:S[2].value?new Date(S[2].value+" 00:00").getTime():null,hasEndDate:D.operator==="Is between",isNotTime:!0}),D.relativeDate=null,D.relativeDate2=null)}else["text","url","block","email","phone","template","relation","number"].includes(_.type)?B=genCellValue(_.type,S[0].value):_.type==="checkbox"?B=genCellValue(_.type,{checked:D.operator==="Is true"}):B=genCellValue(_.type,void 0);e.filter.value.type==="rollup"?D.value={rollup:{contents:[B]},type:"rollup"}
2215:D.value=B;let Y=!1;if(e.data.view.filters.find((U,V)=>{if(U.column===e.filter.column&&U.value.type===e.filter.value.type)return U.value.type==="checkbox"?(H=!0,e.data.view.filters[V]=D,!0):objEquals(U,D)?(Y=!0,!0):(e.data.view.filters[V]=D,H=!0,!0)}),Y||!H)return;transaction(e.protyle,[{action:"setAttrViewFilters",avID:e.data.id,data:e.data.view.filters,blockID:v}],[{action:"setAttrViewFilters",avID:e.data.id,data:x,blockID:v}]);const X=hasClosestByClassName(e.target,"b3-menu");X&&(X.innerHTML=Ea(e.data.view))});if(w.isOpen)return;let y="",h;e.data.view.columns.find(x=>{if(x.id===e.filter.column)return h=x,!0});let _=JSON.parse(JSON.stringify(e.filter.value));if(h.type==="rollup"){if(!h.rollup||!h.rollup.relationKeyID||!h.rollup.keyID){showMessage(window.siyuan.languages.plsChoose),openMenuPanel({protyle:e.protyle,blockElement:e.blockElement,type:"edit",colId:h.id});return}let x="";e.data.view.columns.find(D=>{if(D.id===h.rollup.relationKeyID)return x=D.relation.avID,!0}),(yield fetchSyncPost("/api/av/getAttributeView",{id:x})).data.av.keyValues.find(D=>{if(D.key.id===h.rollup.keyID)return _.type=D.key.type,D.key.type==="select"&&(h.options=D.key.options),!0}),e.data.view.filters.find(D=>{if(D.column===h.id&&D.value.type==="rollup")return!D.value.rollup||!D.value.rollup.contents||D.value.rollup.contents.length===0?_={[_.type]:genCellValue(_.type,_.type==="checkbox"?{checked:void 0}:""),type:_.type}:_=D.value.rollup.contents[0],!0})}let C=!1;switch(_.type==="checkbox"&&(C=typeof _.checkbox=="undefined"||typeof _.checkbox.checked=="undefined"),_.type){case"checkbox":y=`<option ${e.filter.operator==="Is true"&&!C?"selected":""} value="Is true">${window.siyuan.languages.checked}</option>
2216<option ${e.filter.operator==="Is false"&&!C?"selected":""} value="Is false">${window.siyuan.languages.unchecked}</option>`,C&&(y=`<option selected></option>${y}`);break;case"block":case"text":case"url":case"phone":case"email":y=`<option ${e.filter.operator==="="?"selected":""} value="=">${window.siyuan.languages.filterOperatorIs}</option>
2217<option ${e.filter.operator==="!="?"selected":""} value="!=">${window.siyuan.languages.filterOperatorIsNot}</option>
2218<option ${e.filter.operator==="Contains"?"selected":""} value="Contains">${window.siyuan.languages.filterOperatorContains}</option>
2219<option ${e.filter.operator==="Does not contains"?"selected":""} value="Does not contains">${window.siyuan.languages.filterOperatorDoesNotContain}</option>
2220<option ${e.filter.operator==="Starts with"?"selected":""} value="Starts with">${window.siyuan.languages.filterOperatorStartsWith}</option>
2221<option ${e.filter.operator==="Ends with"?"selected":""} value="Ends with">${window.siyuan.languages.filterOperatorEndsWith}</option>
2222<option ${e.filter.operator==="Is empty"?"selected":""} value="Is empty">${window.siyuan.languages.filterOperatorIsEmpty}</option>
2223<option ${e.filter.operator==="Is not empty"?"selected":""} value="Is not empty">${window.siyuan.languages.filterOperatorIsNotEmpty}</option>`;break;case"template":y=`<option ${e.filter.operator==="="?"selected":""} value="=">${window.siyuan.languages.filterOperatorIs}</option>
2224<option ${e.filter.operator==="!="?"selected":""} value="!=">${window.siyuan.languages.filterOperatorIsNot}</option>
2225<option ${e.filter.operator==="Contains"?"selected":""} value="Contains">${window.siyuan.languages.filterOperatorContains}</option>
2226<option ${e.filter.operator==="Does not contains"?"selected":""} value="Does not contains">${window.siyuan.languages.filterOperatorDoesNotContain}</option>
2227<option ${e.filter.operator==="Starts with"?"selected":""} value="Starts with">${window.siyuan.languages.filterOperatorStartsWith}</option>
2228<option ${e.filter.operator==="Ends with"?"selected":""} value="Ends with">${window.siyuan.languages.filterOperatorEndsWith}</option>
2229<option ${e.filter.operator==="Is empty"?"selected":""} value="Is empty">${window.siyuan.languages.filterOperatorIsEmpty}</option>
2230<option ${e.filter.operator==="Is not empty"?"selected":""} value="Is not empty">${window.siyuan.languages.filterOperatorIsNotEmpty}</option>
2231<option ${e.filter.operator===">"?"selected":""} value=">">&gt;</option>
2232<option ${e.filter.operator==="<"?"selected":""} value="<">&lt;</option>
2233<option ${e.filter.operator===">="?"selected":""} value=">=">&GreaterEqual;</option>
2234<option ${e.filter.operator==="<="?"selected":""} value="<=">&le;</option>`;break;case"date":case"created":case"updated":y=`<option ${e.filter.operator==="="?"selected":""} value="=">${window.siyuan.languages.filterOperatorIs}</option>
2235<option ${e.filter.operator===">"?"selected":""} value=">">${window.siyuan.languages.filterOperatorIsAfter}</option>
2236<option ${e.filter.operator==="<"?"selected":""} value="<">${window.siyuan.languages.filterOperatorIsBefore}</option>
2237<option ${e.filter.operator===">="?"selected":""} value=">=">${window.siyuan.languages.filterOperatorIsOnOrAfter}</option>
2238<option ${e.filter.operator==="<="?"selected":""} value="<=">${window.siyuan.languages.filterOperatorIsOnOrBefore}</option>
2239<option ${e.filter.operator==="Is between"?"selected":""} value="Is between">${window.siyuan.languages.filterOperatorIsBetween}</option>
2240<option ${e.filter.operator==="Is empty"?"selected":""} value="Is empty">${window.siyuan.languages.filterOperatorIsEmpty}</option>
2241<option ${e.filter.operator==="Is not empty"?"selected":""} value="Is not empty">${window.siyuan.languages.filterOperatorIsNotEmpty}</option>`;break;case"number":y=`<option ${e.filter.operator==="="?"selected":""} value="=">=</option>
2242<option ${e.filter.operator==="!="?"selected":""} value="!=">!=</option>
2243<option ${e.filter.operator===">"?"selected":""} value=">">&gt;</option>
2244<option ${e.filter.operator==="<"?"selected":""} value="<">&lt;</option>
2245<option ${e.filter.operator===">="?"selected":""} value=">=">&GreaterEqual;</option>
2246<option ${e.filter.operator==="<="?"selected":""} value="<=">&le;</option>
2247<option ${e.filter.operator==="Is empty"?"selected":""} value="Is empty">${window.siyuan.languages.filterOperatorIsEmpty}</option>
2248<option ${e.filter.operator==="Is not empty"?"selected":""} value="Is not empty">${window.siyuan.languages.filterOperatorIsNotEmpty}</option>`;break;case"mSelect":case"relation":y=`<option ${e.filter.operator==="Contains"?"selected":""} value="Contains">${window.siyuan.languages.filterOperatorContains}</option>
2249<option ${e.filter.operator==="Does not contains"?"selected":""} value="Does not contains">${window.siyuan.languages.filterOperatorDoesNotContain}</option>
2250<option ${e.filter.operator==="Is empty"?"selected":""} value="Is empty">${window.siyuan.languages.filterOperatorIsEmpty}</option>
2251<option ${e.filter.operator==="Is not empty"?"selected":""} value="Is not empty">${window.siyuan.languages.filterOperatorIsNotEmpty}</option>`;break;case"select":y=`<option ${e.filter.operator==="="?"selected":""} value="=">${window.siyuan.languages.filterOperatorIs}</option>
2252<option ${e.filter.operator==="!="?"selected":""} value="!=">${window.siyuan.languages.filterOperatorIsNot}</option>
2253<option ${e.filter.operator==="Is empty"?"selected":""} value="Is empty">${window.siyuan.languages.filterOperatorIsEmpty}</option>
2254<option ${e.filter.operator==="Is not empty"?"selected":""} value="Is not empty">${window.siyuan.languages.filterOperatorIsNotEmpty}</option>`;break}if(w.addItem({iconHTML:"",type:"readonly",label:`<select style="margin: 4px 0" class="b3-select fn__size200">${y}</select>`}),_.type==="select"||_.type==="mSelect")((t=h.options)==null?void 0:t.length)>0&&w.addItem({iconHTML:"",type:"readonly",label:`<input class="b3-text-field fn__size200" style="margin: 4px 0" placeholder="${window.siyuan.languages.search}">`,bind(x){const M=x.querySelector("input");M.addEventListener("keydown",D=>{if(D.isComposing)return;let H=upDownHint(w.element.querySelector(".b3-menu__items"),D,"b3-menu__item--current",x.nextElementSibling);D.key==="Enter"&&(H||(H=w.element.querySelector(".b3-menu__item--current")),H.dispatchEvent(new CustomEvent("click")))}),M.addEventListener("input",D=>{D.isComposing||Rs(M.value.toLowerCase())}),M.addEventListener("compositionend",()=>{Rs(M.value.toLowerCase())})}}
2254),(n=h.options)==null||n.forEach(x=>{var M;let D="iconUncheck";(M=_==null?void 0:_.mSelect)==null||M.find(H=>{H.content===x.name&&(D="iconCheck")}),w.addItem({icon:D,label:`<span class="b3-chip b3-chip--middle" data-name="${x.name}" data-color="${x.color}" style="max-width: 178px;margin:3px 0;background-color:var(--b3-font-background${x.color});color:var(--b3-font-color${x.color})">
2255    <span class="fn__ellipsis">${x.name}</span>
2256</span>`,bind(H){H.addEventListener("click",()=>{const B=H.querySelector("use");B.getAttribute("xlink:href")==="#iconUncheck"?B.setAttribute("xlink:href","#iconCheck"):B.setAttribute("xlink:href","#iconUncheck")})}})});else if(["text","url","block","email","phone","template","relation"].includes(_.type)){let x="";_&&(_.type==="relation"?x=_.relation.blockIDs[0]||"":x=_[_.type].content||""),w.addItem({iconHTML:"",type:"readonly",label:`<input style="margin: 4px 0" value="${x}" class="b3-text-field fn__size200">`})}else if(_.type==="number")w.addItem({iconHTML:"",type:"readonly",label:`<input style="margin: 4px 0" value="${_!=null&&_.number.isNotEmpty?_.number.content:""}" class="b3-text-field fn__size200">`});else if(["date","updated","created"].includes(_.type)){const x=_?_[_.type]:null,M=!((a=e.filter.relativeDate)!=null&&a.direction),D=!((i=e.filter.relativeDate2)!=null&&i.direction);w.addItem({iconHTML:"",type:"readonly",label:`<div data-type="filter1">
2257    <div class="fn__size200">
2258        <select class="b3-select fn__block" data-type="dateType">
2259            <option value="time"${e.filter.relativeDate?"":" selected"}>${window.siyuan.languages.includeTime}</option>
2260            <option value="custom"${e.filter.relativeDate?" selected":""}>${window.siyuan.languages.relativeToToday}</option>
2261        </select>
2262    </div>
2263    <div class="fn__hr"></div>
2264    <div class="fn__size200 ${e.filter.relativeDate?"fn__none":""}">
2265        <input value="${x&&(x.isNotEmpty||_.type!=="date")?dayjs(x.content).format("YYYY-MM-DD"):""}" type="date" max="9999-12-31" class="b3-text-field fn__block">
2266    </div>
2267    <div class="fn__flex fn__size200 ${e.filter.relativeDate?"":"fn__none"}">
2268        <select class="b3-select" data-type="dataDirection">
2269            <option value="-1"${((s=e.filter.relativeDate)==null?void 0:s.direction)===-1?" selected":""}>${window.siyuan.languages.pastDate}</option>
2270            <option value="1"${((o=e.filter.relativeDate)==null?void 0:o.direction)===1?" selected":""}>${window.siyuan.languages.nextDate}</option>
2271            <option value="0"${M?" selected":""}>${window.siyuan.languages.current}</option>
2272        </select>
2273        <span class="fn__space"></span>
2274        <input type="number" min="1" oninput="this.value = Math.max(this.value, 1)" step="1" value="${((l=e.filter.relativeDate)==null?void 0:l.count)||1}" class="b3-text-field fn__flex-1${M?" fn__none":""}"/>
2275        <span class="fn__space${M?" fn__none":""}"></span>
2276        <select class="b3-select fn__flex-1">
2277            <option value="0"${((r=e.filter.relativeDate)==null?void 0:r.unit)===0?" selected":""}>${window.siyuan.languages.day}</option>
2278            <option value="1"${!e.filter.relativeDate||((c=e.filter.relativeDate)==null?void 0:c.unit)===1?" selected":""}>${window.siyuan.languages.week}</option>
2279            <option value="2"${((f=e.filter.relativeDate)==null?void 0:f.unit)===2?" selected":""}>${window.siyuan.languages.month}</option>
2280            <option value="3"${((d=e.filter.relativeDate)==null?void 0:d.unit)===3?" selected":""}>${window.siyuan.languages.year}</option>
2281        </select>
2282    </div>
2283    <div class="fn__hr--small"></div>
2284</div>
2285<div data-type="filter2 fn__none">
2286    <div class="fn__hr--small"></div>
2287    <div class="fn__size200 ${e.filter.relativeDate2?"fn__none":""}">
2288        <input value="${x&&x.isNotEmpty2?dayjs(x.content2).format("YYYY-MM-DD"):""}" type="date" max="9999-12-31" class="b3-text-field fn__block">
2289    </div>
2290    <div class="fn__flex fn__size200 ${e.filter.relativeDate2?"":"fn__none"}">
2291        <select class="b3-select" data-type="dataDirection">
2292            <option value="-1"${((u=e.filter.relativeDate2)==null?void 0:u.direction)===-1?" selected":""}>${window.siyuan.languages.pastDate}</option>
2293            <option value="1"${((g=e.filter.relativeDate2)==null?void 0:g.direction)===1?" selected":""}>${window.siyuan.languages.nextDate}</option>
2294            <option value="0"${D?" selected":""}>${window.siyuan.languages.current}</option>
2295        </select>
2296        <span class="fn__space"></span>
2297        <input type="number" min="1" step="1" oninput="this.value = Math.max(this.value, 1)" value="${((p=e.filter.relativeDate2)==null?void 0:p.count)||1}" class="b3-text-field fn__flex-1${D?" fn__none":""}"/>
2298        <span class="fn__space${D?" fn__none":""}"></span>
2299        <select class="b3-select fn__flex-1">
2300            <option value="0"${((m=e.filter.relativeDate2)==null?void 0:m.unit)===0?" selected":""}>${window.siyuan.languages.day}</option>
2301            <option value="1"${!e.filter.relativeDate2||((b=e.filter.relativeDate2)==null?void 0:b.unit)===1?" selected":""}>${window.siyuan.languages.week}</option>
2302            <option value="2"${((E=e.filter.relativeDate2)==null?void 0:E.unit)===2?" selected":""}>${window.siyuan.languages.month}</option>
2303            <option value="3"${((k=e.filter.relativeDate2)==null?void 0:k.unit)===3?" selected":""}>${window.siyuan.languages.year}</option>
2304        </select>
2305    </div>
2306    <div class="fn__hr--small"></div>
2307</div>`})}w.addItem({icon:"iconTrashcan",label:window.siyuan.languages.removeFilters,click(){const x=Object.assign([],e.data.view.filters);e.data.view.filters.find((D,H)=>{if(D.column===e.filter.column&&e.filter.value.type===D.value.type)return e.data.view.filters.splice(H,1),!0}),transaction(e.protyle,[{action:"setAttrViewFilters",avID:e.data.id,data:e.data.view.filters,blockID:v}],[{action:"setAttrViewFilters",avID:e.data.id,data:x,blockID:v}]);const M=hasClosestByClassName(e.target,"b3-menu");M&&(M.innerHTML=Ea(e.data.view))}});const L=w.element.querySelector(".b3-select");L.addEventListener("change",()=>{Ps(L,L.value,_.type)});const I=w.element.querySelector('.b3-select[data-type="dateType"]');I==null||I.addEventListener("change",()=>{const x=w.element.querySelectorAll('[data-type="dataDirection"]'),M=x[0].parentElement,D=x[1].parentElement,H=M.previousElementSibling,B=D.previousElementSibling;I.value==="custom"?(M.classList.remove("fn__none"),D.classList.remove("fn__none"),H.classList.add("fn__none"),B.classList.add("fn__none")):(M.classList.add("fn__none"),D.classList.add("fn__none"),H.classList.remove("fn__none"),B.classList.remove("fn__none"))}),w.element.querySelectorAll('.b3-select[data-type="dataDirection"]').forEach(x=>{x.addEventListener("change",()=>{const M=x.nextElementSibling.nextElementSibling;x.value==="0"?(M.classList.add("fn__none"),M.nextElementSibling.classList.add("fn__none")):(M.classList.remove("fn__none"),M.nextElementSibling.classList.remove("fn__none"))})});const S=w.element.querySelectorAll(".b3-text-field");_.type!=="select"&&_.type!=="mSelect"&&S.forEach(x=>{x.addEventListener("keydown",M=>{if(M.isComposing){M.preventDefault();return}M.key==="Enter"&&(w.close(),M.preventDefault())})}),Ps(L,L.value,_.type),w.open({x:A.left,y:A.bottom}),S.length>0&&S[0].select()}),Of=e=>{const t=new Menu("av-add-filter");e.data.view.columns.forEach(n=>{let a;e.data.view.filters.find(i=>{if(i.column===n.id&&i.value.type===n.type)return a=i,!0}),!a&&n.type!=="mAsset"&&n.type!=="lineNumber"&&t.addItem({label:n.name,iconHTML:n.icon?unicode2Emoji(n.icon,"b3-menu__icon",!0):`<svg class="b3-menu__icon"><use xlink:href="#${getColIconByType(n.type)}"></use></svg>`,click:()=>{const i=genCellValue(n.type,n.type==="checkbox"?{checked:void 0}:"");a={column:n.id,operator:Tl(n.type),value:i},e.data.view.filters.push(a),e.menuElement.innerHTML=Ea(e.data.view),setPosition(e.menuElement,e.tabRect.right-e.menuElement.clientWidth,e.tabRect.bottom,e.tabRect.height);const s=e.menuElement.querySelector(`[data-id="${n.id}"] .b3-chip`);Il({filter:a,protyle:e.protyle,data:e.data,target:s,blockElement:e.blockElement})}})}),t.open({x:e.rect.left,y:e.rect.bottom,h:e.rect.height})},Ea=e=>{let t="";const n=a=>{let i="";return e.columns.find(s=>{var o,l,r,c,f;if(s.id===a.column&&s.type===a.value.type){let d="";const u=s.type==="rollup"?((l=(o=a.value.rollup)==null?void 0:o.contents)==null?void 0:l.length)>0?a.value.rollup.contents[0]:{type:"rollup"}:a.value;if(a.operator==="Is empty")d=": "+window.siyuan.languages.filterOperatorIsEmpty;else if(a.operator==="Is not empty")d=": "+window.siyuan.languages.filterOperatorIsNotEmpty;else if(a.operator==="Is false")(u.type!=="checkbox"||typeof u.checkbox.checked=="boolean")&&(
2307d=": "+window.siyuan.languages.unchecked);else if(a.operator==="Is true")(u.type!=="checkbox"||typeof u.checkbox.checked=="boolean")&&(d=": "+window.siyuan.languages.checked);else if(["created","updated","date"].includes(u.type)){let g="",p="";a.relativeDate?(g=`${window.siyuan.languages[["pastDate","current","nextDate"][a.relativeDate.direction+1]]}
2308 ${a.relativeDate.direction?a.relativeDate.count:""}
2309 ${window.siyuan.languages[["day","week","month","year"][a.relativeDate.unit]]}`,a.relativeDate2&&(p=`${window.siyuan.languages[["pastDate","current","nextDate"][a.relativeDate2.direction+1]]}
2310 ${a.relativeDate2.direction?a.relativeDate2.count:""}
2311 ${window.siyuan.languages[["day","week","month","year"][a.relativeDate2.unit]]}`)):u&&((r=u[u.type])!=null&&r.content)&&(g=dayjs(u[u.type].content).format("YYYY-MM-DD"),p=dayjs(u[u.type].content2).format("YYYY-MM-DD")),g&&(a.operator==="Is between"?d=` ${window.siyuan.languages.filterOperatorIsBetween} ${g} ${p}`:a.operator==="="?d=`: ${g}`:[">","<"].includes(a.operator)?d=` ${a.operator} ${g}`:a.operator===">="?d=` \u2265 ${g}`:a.operator==="<="&&(d=` \u2264 ${g}`))}else if(["mSelect","select"].includes(u.type)&&((c=u.mSelect)==null?void 0:c.length)>0){let g="";u.mSelect.forEach((p,m)=>{g+=p.content,m!==u.mSelect.length-1&&(g+=", ")}),a.operator==="Contains"?d=`: ${g}`:a.operator==="Does not contains"?d=` ${window.siyuan.languages.filterOperatorDoesNotContain} ${g}`:a.operator==="="?d=`: ${g}`:a.operator==="!="&&(d=` ${window.siyuan.languages.filterOperatorIsNot} ${g}`)}else if(u.type==="number"&&u.number&&u.number.isNotEmpty)["=","!=",">","<"].includes(a.operator)?d=` ${a.operator} ${u.number.content}`:a.operator===">="?d=` \u2265 ${u.number.content}`:a.operator==="<="&&(d=` \u2264 ${u.number.content}`);else if(["text","block","url","phone","email","relation","template"].includes(u.type)&&u[u.type]){const g=u[u.type].content||((f=u.relation)==null?void 0:f.blockIDs[0])||"";["=","Contains"].includes(a.operator)?d=`: ${g}`:a.operator==="Does not contains"?d=` ${window.siyuan.languages.filterOperatorDoesNotContain} ${g}`:a.operator==="!="?d=` ${window.siyuan.languages.filterOperatorIsNot} ${g}`:a.operator==="Starts with"?d=` ${window.siyuan.languages.filterOperatorStartsWith} ${g}`:a.operator==="Ends with"?d=` ${window.siyuan.languages.filterOperatorEndsWith} ${g}`:[">","<"].includes(a.operator)?d=` ${a.operator} ${g}`:a.operator===">="?d=` \u2265 ${g}`:a.operator==="<="&&(d=` \u2264 ${g}`)}return i+=`<span data-type="setFilter" class="b3-chip${d?" b3-chip--primary":""}">
2312    ${s.icon?unicode2Emoji(s.icon,"icon",!0):`<svg class="icon"><use xlink:href="#${getColIconByType(s.type)}"></use></svg>`}
2313    <span class="fn__ellipsis">${s.name}${d}</span>
2314</span>`,!0}}),i};return e.filters.forEach(a=>{const i=n(a);i&&(t+=`<button class="b3-menu__item" draggable="true" data-id="${a.column}" data-filter-type="${a.value.type}">
2315    <svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
2316    <div class="fn__flex-1">${i}</div>
2317    <svg class="b3-menu__action" data-type="removeFilter"><use xlink:href="#iconTrashcan"></use></svg>
2318</button>`)}),`<div class="b3-menu__items">
2319<button class="b3-menu__item" data-type="nobg">
2320    <span class="block__icon" style="padding: 8px;margin-left: -4px;" data-type="go-config">
2321        <svg><use xlink:href="#iconLeft"></use></svg>
2322    </span>
2323    <span class="b3-menu__label ft__center">${window.siyuan.languages.filter}</span>
2324</button>
2325<button class="b3-menu__separator"></button>
2326${t}
2327<button class="b3-menu__item${e.filters.length===e.columns.length?" fn__none":""}" data-type="addFilter">
2328    <svg class="b3-menu__icon"><use xlink:href="#iconAdd"></use></svg>
2329    <span class="b3-menu__label">${window.siyuan.languages.addFilter}</span>
2330</button>
2331<button class="b3-menu__item${t?"":" fn__none"}" data-type="removeFilters">
2332    <svg class="b3-menu__icon"><use xlink:href="#iconTrashcan"></use></svg>
2333    <span class="b3-menu__label">${window.siyuan.languages.removeFilters}</span>
2334</button>
2335</div>`};var Ml=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const Dl=e=>{let t;e.data.view.columns.find((i,s)=>{if(i.id===e.colId)return t=JSON.parse(JSON.stringify(i)),e.data.view.columns.splice(s+1,0,t),!0}),t.name=duplicateNameAddOne(t.name),t.id=Lute.NewNodeID();const n=dayjs().format("YYYYMMDDHHmmss"),a=e.blockElement.getAttribute("data-node-id");transaction(e.protyle,[{action:"duplicateAttrViewKey",keyID:e.colId,nextID:t.id,avID:e.data.id},{action:"doUpdateUpdated",id:a,data:n}],[{action:"removeAttrViewCol",id:t.id,avID:e.data.id},{action:"doUpdateUpdated",id:a,data:e.blockElement.getAttribute("updated")}]),Ce({blockElement:e.blockElement,protyle:e.protyle,type:t.type,name:t.name,icon:t.icon,previousID:e.colId,data:e.data,id:t.id}),e.blockElement.setAttribute("updated",n)},Os=e=>{var t,n,a,i;let s;e.data.view.columns.find(l=>{if(l.id===e.colId)return s=l,!0});let o=`<button class="b3-menu__item" data-type="nobg" data-col-id="${e.colId}">
2336    <span class="block__icon${e.isCustomAttr?" fn__none":""}" style="padding: 8px;margin-left: -4px;" data-type="go-properties">
2337        <svg><use xlink:href="#iconLeft"></use></svg>
2338    </span>
2339    <span class="b3-menu__label ft__center">${window.siyuan.languages.edit}</span>
2340</button>
2341<button class="b3-menu__separator" data-id="separator_1"></button>
2342<button class="b3-menu__item" data-type="nobg">
2343    <div class="fn__block">
2344        <div class="fn__flex">
2345            <span class="b3-menu__avemoji" data-col-type="${s.type}" data-icon="${s.icon}" data-type="update-icon">${s.icon?unicode2Emoji(s.icon):`<svg style="width: 14px;height: 14px"><use xlink:href="#${rt(s.type)}"></use></svg>`}</span>
2346            <div class="b3-form__icona fn__block">
2347                <input data-type="name" class="b3-text-field b3-form__icona-input" type="text">
2348                <svg data-position="north" class="b3-form__icona-icon ariaLabel" aria-label="${s.desc?escapeAriaLabel(s.desc):window.siyuan.languages.addDesc}"><use xlink:href="#iconInfo"></use></svg>
2349            </div>
2350        </div>
2351        <div class="fn__none">
2352            <div class="fn__hr"></div>
2353            <textarea placeholder="${window.siyuan.languages.addDesc}" rows="1" data-type="desc" class="b3-text-field fn__block" type="text" data-value="${escapeAttr(s.desc)}">${s.desc}</textarea>
2354        </div>
2355        <div class="fn__hr--small"></div>
2356    </div>
2357</button>
2358<button class="b3-menu__item" data-type="goUpdateColType" ${s.type==="block"?"disabled":""}>
2359    <span class="b3-menu__label">${window.siyuan.languages.type}</span>
2360    <span class="fn__space"></span>
2361    <svg class="b3-menu__icon"><use xlink:href="#${rt(s.type)}"></use></svg>
2362    <span class="b3-menu__accelerator" style="margin-left: 0">${An(s.type)}</span>
2363    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
2364</button>`;if(["mSelect","select"].includes(s.type))o+=`<button class="b3-menu__separator" data-id="separator_2"></button>
2365<button class="b3-menu__item" data-type="nobg">
2366    <svg class="b3-menu__icon"><use xlink:href="#iconAdd"></use></svg>
2367    <input data-type="addOption" class="b3-text-field fn__block" type="text" placeholder="${window.siyuan.languages.enterKey} ${window.siyuan.languages.addAttr}" style="margin: 4px 0">
2368</button>`,s.options||(s.options=[]),s.options.forEach(l=>{const r=l.desc?`${escapeAriaLabel(l.name)}<div class='ft__on-surface'>${escapeAriaLabel(l.desc||"")}</div>`:"";o+=`<button class="b3-menu__item${o?"":" b3-menu__item--current"}" draggable="true" data-name="${escapeAttr(l.name)}" data-desc="${escapeAttr(l.desc||"")}" data-color="${l.color}">
2369    <svg class="b3-menu__icon fn__grab"><use xlink:href="#iconDrag"></use></svg>
2370    <div class="fn__flex-1 ariaLabel" data-position="parentW" aria-label="${r}">
2371        <span class="b3-chip" style="background-color:var(--b3-font-background${l.color});color:var(--b3-font-color${l.color})">
2372            <span class="fn__ellipsis">${escapeHtml(l.name)}</span>
2373        </span>
2374    </div>
2375    <svg class="b3-menu__action" data-type="setColOption"><use xlink:href="#iconEdit"></use></svg>
2376</button>`});else if(s.type==="number")o+=`<button class="b3-menu__separator" data-id="separator_2"></button>
2377<button class="b3-menu__item" data-type="numberFormat" data-format="${s.numberFormat}">
2378    <svg class="b3-menu__icon"><use xlink:href="#iconFormat"></use></svg>
2379    <span class="b3-menu__label">${window.siyuan.languages.format}</span>
2380    <span class="b3-menu__accelerator">${getLabelByNumberFormat(s.numberFormat)}</span>
2381</button>`;else if(s.type==="template")o+=`<button class="b3-menu__separator" data-id="separator_2"></button>
2382<button class="b3-menu__item" data-type="nobg">
2383    <textarea spellcheck="false" rows="${Math.min(s.template.split(`
2384`).length,8)}" placeholder="${window.siyuan.languages.template}" data-type="updateTemplate" style="margin: 4px 0" rows="1" class="fn__block b3-text-field">${s.template}</textarea>
2385</button>`;else if(s.type==="relation"){const l=((t=s.relation)==null?void 0:t.avID)===e.data.id;o+=`<button class="b3-menu__separator" data-id="separator_2"></button>
2386<button class="b3-menu__item" data-type="goSearchAV" data-av-id="${((n=s.relation)==null?void 0:n.avID)||""}" data-old-value='${JSON.stringify(s.relation||{})}'>
2387    <span class="b3-menu__label">${window.siyuan.languages.relatedTo}</span>
2388    <span class="b3-menu__accelerator">${l?window.siyuan.languages.thisDatabase:""}</span>
2389    <svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
2390</button>
2391<label class="b3-menu__item">
2392    <span class="fn__flex-center">${window.siyuan.languages.backRelation}</span>
2393    <svg class="b3-menu__icon b3-menu__icon--small fn__none"><use xlink:href="#iconHelp"></use></svg>
2394    <span class="fn__space fn__flex-1"></span>
2395    <input data-type="backRelation" type="checkbox" class="b3-switch b3-switch--menu" ${(a=s.relation)!=null&&a.isTwoWay?"checked":""}>
2396</label>
2397<div class="b3-menu__item fn__flex-column fn__none" data-type="nobg">
2398    <input data-old-value="" data-type="colName" style="margin: 8px 0 4px" class="b3-text-field fn__block" placeholder="${e.data.name} ${s.name}">
2399</div>
2400<div class="b3-menu__item fn__flex-column fn__none" data-type="nobg">
2401    <button style="margin: 4px 0 8px;" class="b3-button fn__block" data-type="updateRelation">${window.siyuan.languages.confirm}</button>
2402</div>`}else s.type==="rollup"?o+='<button class="b3-menu__separator" data-id="separator_2"></button>'+getRollupHTML({colData:s}):s.type==="date"&&(o+=`<button class="b3-menu__separator" data-id="separator_2"></button>
2403<label class="b3-menu__item">
2404    <span class="fn__flex-center">${window.siyuan.languages.fillCreated}</span>
2405    <span class="fn__space fn__flex-1"></span>
2406    <input data-type="fillCreated" type="checkbox" class="b3-switch b3-switch--menu" ${(i=s.date)!=null&&i.autoFillNow?"checked":""}>
2407</label>`);return s.type!=="block"&&(o+=`<button class="b3-menu__separator" data-id="separator_3"></button>
2408<button class="b3-menu__item" data-type="${s.hidden?"showCol":"hideCol"}">
2409    <svg class="b3-menu__icon" style=""><use xlink:href="#icon${s.hidden?"Eye":"Eyeoff"}"></use></svg>
2410    <span class="b3-menu__label">${s.hidden?window.siyuan.languages.showCol:window.siyuan.languages.hideCol}</span>
2411</button>
2412<button class="b3-menu__item${s.type==="relation"?" fn__none":""}" data-type="duplicateCol">
2413    <svg class="b3-menu__icon" style=""><use xlink:href="#iconCopy"></use></svg>
2414    <span class="b3-menu__label">${window.siyuan.languages.duplicate}</span>
2415</button>
2416<button class="b3-menu__item" data-type="removeCol">
2417    <svg class="b3-menu__icon" style=""><use xlink:href="#iconTrashcan"></use></svg>
2418    <span class="b3-menu__label">${window.siyuan.languages.delete}</span>
2419</button>`),`<div class="b3-menu__items">
2420    ${o}
2421    <button class="b3-menu__separator" data-id="separator_4"></button>
2422    <label class="b3-menu__item" data-type="wrap">
2423        <span class="fn__flex-center">${window.siyuan.languages.wrap}</span>
2424        <span class="fn__space fn__flex-1"></span>
2425        <input data-type="wrap" type="checkbox" class="b3-switch b3-switch--menu" ${s.wrap?" checked":""}>
2426    </label>
2427</div>
2428<div class="b3-menu__items fn__none">
2429    <button class="b3-menu__item" data-type="nobg" data-col-id="${s.id}">
2430        <span class="block__icon" style="padding: 8px;margin-left: -4px;" data-type="goEditCol">
2431            <svg><use xlink:href="#iconLeft"></use></svg>
2432        </span>
2433        <span class="b3-menu__label ft__center">${window.siyuan.languages.edit}</span>
2434    </button>
2435    <button class="b3-menu__separator"></button>
2436    ${Se("text",s.type)}
2437    ${Se("number",s.type)}
2438    ${Se("select",s.type)}
2439    ${Se("mSelect",s.type)}
2440    ${Se("date",s.type)}
2441    ${Se("mAsset",s.type)}
2442    ${Se("checkbox",s.type)}
2443    ${Se("url",s.type)}
2444    ${Se("email",s.type)}
2445    ${Se("phone",s.type)}
2446    ${Se("template",s.type)}
2447    ${Se("relation",s.type)}
2448    ${Se("rollup",s.type)}
2449    ${Se("lineNumber",s.type)}
2450    ${Se("created",s.type)}
2451    ${Se("updated",s.type)}
2452</div>`},qs=e=>{const t=e.data.id,n=e.menuElement.querySelector(".b3-menu__item").getAttribute("data-col-id"),a=e.data.view.columns.find(d=>d.id===n),i=e.menuElement.querySelector('[data-type="name"]');i.addEventListener("blur",()=>{const d=i.value;d!==a.name&&(transaction(e.protyle,[{action:"updateAttrViewCol",id:n,avID:t,name:d,type:a.type}],[{action:"updateAttrViewCol",id:n,avID:t,name:a.name,type:a.type}]),a.name=d,updateAttrViewCellAnimation(e.protyle.wysiwyg.element.querySelector(`.av__row--header .av__cell[data-col-id="${n}"]`),void 0,{name:d}))}),i.addEventListener("keydown",d=>{d.isComposing||(d.key==="Escape"?e.menuElement.parentElement.remove():d.key==="Enter"&&(i.dispatchEvent(new CustomEvent("blur")),e.menuElement.parentElement.remove()))}),i.addEventListener("keyup",d=>{if(d.isComposing)return;const u=e.menuElement.querySelector('[data-type="colName"]');u&&u.setAttribute("placeholder",`${e.data.name} ${i.value}`)}),i.select(),i.value=a.name;const s=e.menuElement.querySelector('.b3-text-field[data-type="desc"]');i.nextElementSibling.addEventListener("click",()=>{const d=s.parentElement;d.classList.toggle("fn__none"),d.classList.contains("fn__none")||s.focus()}),s.addEventListener("blur",()=>{const d=s.value;d!==a.desc&&(transaction(e.protyle,[{action:"setAttrViewColDesc",id:n,avID:t,data:d}],[{action:"setAttrViewColDesc",id:n,avID:t,data:a.desc}]),a.desc=d)}),s.addEventListener("keydown",d=>{d.isComposing||(d.key==="Escape"?e.menuElement.parentElement.remove():d.key==="Enter"&&(s.dispatchEvent(new CustomEvent("blur")),e.menuElement.parentElement.remove()))}),s.addEventListener("input",()=>{i.nextElementSibling.setAttribute("aria-label",s.value?escapeHtml(s.value):window.siyuan.languages.addDesc)});const o=e.menuElement.querySelector('[data-type="updateTemplate"]');o&&(o.addEventListener("blur",()=>{const d=o.value;d!==a.template&&(transaction(e.protyle,[{action:"updateAttrViewColTemplate",id:n,avID:t,data:d,type:a.type}],[{action:"updateAttrViewColTemplate",id:n,avID:t,data:a.template,type:a.type}]),a.template=d)}),o.addEventListener("keydown",d=>{d.isComposing||(d.key==="Escape"?e.menuElement.parentElement.remove():d.key==="Enter"&&!d.shiftKey&&(o.dispatchEvent(new CustomEvent("blur")),e.menuElement.parentElement.remove()))}));const l=e.menuElement.querySelector('.b3-switch[data-type="wrap"]');l&&l.addEventListener("change",()=>{transaction(e.protyle,[{action:"setAttrViewColWrap",id:n,avID:t,data:l.checked,blockID:e.blockID}],[{action:"setAttrViewColWrap",id:n,avID:t,data:!l.checked,blockID:e.blockID}])});const r=e.menuElement.querySelector('[data-type="addOption"]');r&&r.addEventListener("keydown",d=>{if(!d.isComposing&&(d.key==="Escape"&&e.menuElement.parentElement.remove(),d.key==="Enter")){let u=!1;if(a.options.find(g=>{if(r.value===g.name)return u=!0,!0}),u||!r.value)return;a.options.push({color:((a.options.length||0)%14+1).toString(),name:r.value}),transaction(e.protyle,[{action:"updateAttrViewColOptions",id:n,avID:t,data:a.options}],[{action:"removeAttrViewColOption",id:n,avID:t,data:r.value}]),e.menuElement.innerHTML=Os({protyle:e.protyle,colId:n,data:e.data,isCu
2452stomAttr:e.isCustomAttr}),qs({protyle:e.protyle,menuElement:e.menuElement,data:e.data,isCustomAttr:e.isCustomAttr,blockID:e.blockID}),e.menuElement.querySelector('[data-type="addOption"]').focus()}});const c=e.menuElement.querySelector('[data-type="fillCreated"]');c&&c.addEventListener("change",()=>{transaction(e.protyle,[{avID:t,action:"setAttrViewColDate",id:n,data:c.checked}],[{avID:t,action:"setAttrViewColDate",id:n,data:!c.checked}])});const f=e.menuElement.querySelector('[data-type="backRelation"]');if(f){f.addEventListener("change",()=>{toggleUpdateRelationBtn(e.menuElement,t)});const d=e.menuElement.querySelector('[data-type="goSearchAV"]'),u=JSON.parse(d.getAttribute("data-old-value")),g=e.menuElement.querySelector('[data-type="colName"]');g.addEventListener("input",()=>{toggleUpdateRelationBtn(e.menuElement,t)}),u.avID?fetchPost("/api/av/getAttributeView",{id:u.avID},p=>{d.querySelector(".b3-menu__accelerator").textContent=u.avID===t?window.siyuan.languages.thisDatabase:p.data.av.name||window.siyuan.languages.title,p.data.av.keyValues.find(m=>{if(m.key.id===u.backKeyID)return g.setAttribute("data-old-value",m.key.name||window.siyuan.languages.title),g.value=m.key.name||window.siyuan.languages.title,!0}),toggleUpdateRelationBtn(e.menuElement,t)}):toggleUpdateRelationBtn(e.menuElement,t)}bindRollupData(e)},An=e=>{switch(e){case"text":case"number":case"select":case"date":case"phone":case"email":case"template":return window.siyuan.languages[e];case"mSelect":return window.siyuan.languages.multiSelect;case"relation":return window.siyuan.languages.relation;case"rollup":return window.siyuan.languages.rollup;case"updated":return window.siyuan.languages.updatedTime;case"created":return window.siyuan.languages.createdTime;case"url":return window.siyuan.languages.link;case"mAsset":return window.siyuan.languages.assets;case"checkbox":return window.siyuan.languages.checkbox;case"block":return window.siyuan.languages._attrView.key;case"lineNumber":return window.siyuan.languages.lineNumber}},rt=e=>{switch(e){case"text":return"iconAlignLeft";case"block":return"iconKey";case"number":return"iconNumber";case"select":return"iconListItem";case"mSelect":return"iconList";case"relation":return"iconOpen";case"rollup":return"iconSearch";case"date":return"iconCalendar";case"updated":case"created":return"iconClock";case"url":return"iconLink";case"mAsset":return"iconImage";case"email":return"iconEmail";case"phone":return"iconPhone";case"template":return"iconMath";case"checkbox":return"iconCheck";case"lineNumber":return"iconOrderedList"}},Ce=e=>{if(!e.blockElement)return;const t=e.blockElement.getAttribute("data-node-id");e.blockElement.classList.contains("av")?e.blockElement.querySelectorAll(".av__row").forEach((i,s)=>{let o;e.previousID?o=i.querySelector(`[data-col-id="${e.previousID}"]`):o=i.lastElementChild.previousElementSibling;let l="";s===0?l=`<div class="av__cell av__cell--header" draggable="true" data-icon="${e.icon||""}" data-col-id="${e.id}" data-dtype="${e.type}" data-wrap="false" style="width: 200px;">
2453    ${e.icon?unicode2Emoji(e.icon,"av__cellheadericon",!0):`<svg class="av__cellheadericon"><use xlink:href="#${rt(e.type)}"></use></svg>`}
2454    <span class="av__celltext fn__flex-1">${e.name}</span>
2455    <div class="av__widthdrag av__pulse"></div>
2456</div>`:l='<div class="av__cell" style="width: 200px"><span class="av__pulse"></span></div>',o.insertAdjacentHTML("afterend",l)}):e.blockElement.querySelector(".fn__hr").insertAdjacentHTML("beforebegin",`<div class="block__icons av__row" data-id="${t}" data-col-id="${e.id}">
2457    <div class="block__icon" draggable="true"><svg><use xlink:href="#iconDrag"></use></svg></div>
2458    <div class="block__logo ariaLabel fn__pointer" data-type="editCol" data-position="parentW" aria-label="${An(e.type)}">
2459        <svg class="block__logoicon"><use xlink:href="#${rt(e.type)}"></use></svg>
2460        <span>${An(e.type)}</span>
2461    </div>
2462    <div data-col-id="${e.id}" data-block-id="${t}" data-type="${e.type}" data-options="[]" class="fn__flex-1 fn__flex">
2463        <div class="fn__flex-1"></div>
2464    </div>
2465</div>`);const n=document.querySelector(".av__panel .b3-menu");if(n&&e.data&&e.blockElement.classList.contains("av")){n.innerHTML=Os({protyle:e.protyle,data:e.data,colId:e.id,isCustomAttr:!1}),qs({protyle:e.protyle,data:e.data,menuElement:n,isCustomAttr:!1,blockID:t});const i=e.blockElement.querySelector(".av__views").getBoundingClientRect();i&&setPosition(n,i.right-n.clientWidth,i.bottom,i.height);return}let a;e.data&&(a=e.data.view.columns.find(i=>i.id===e.id)),openMenuPanel({protyle:e.protyle,blockElement:e.blockElement,type:"edit",colId:e.id,editData:{previousID:e.previousID,colData:a||$l(e.type,e.id,e.name)}}),window.siyuan.menus.menu.remove()},qf=(e,t,n)=>{const a=n.getAttribute("data-dtype"),i=n.getAttribute("data-col-id"),s=t.getAttribute("data-av-id"),o=t.getAttribute("data-node-id"),l=n.querySelector(".av__celltext").textContent.trim(),r
2465=n.dataset.desc,c=new Menu("av-header-cell",()=>{const g=c.element.querySelector(".b3-text-field").value;g!==l&&(transaction(e,[{action:"updateAttrViewCol",id:i,avID:s,name:g,type:a}],[{action:"updateAttrViewCol",id:i,avID:s,name:l,type:a}]),updateAttrViewCellAnimation(t.querySelector(`.av__row--header .av__cell[data-col-id="${i}"]`),void 0,{name:g}));const p=c.element.querySelector("textarea").value;p!==r&&transaction(e,[{action:"setAttrViewColDesc",id:i,avID:s,data:p}],[{action:"setAttrViewColDesc",id:i,avID:s,data:r}]),focusBlock(t)});c.addItem({iconHTML:"",type:"empty",label:`<div class="fn__hr"></div><div class="fn__flex">
2466    <div class="fn__space"></div>
2467    <span class="b3-menu__avemoji">${n.dataset.icon?unicode2Emoji(n.dataset.icon):`<svg style="height: 14px;width: 14px;"><use xlink:href="#${rt(a)}"></use></svg>`}</span>
2468    <div class="b3-form__icona fn__block">
2469        <input class="b3-text-field b3-form__icona-input" type="text">
2470        <svg data-position="north" class="b3-form__icona-icon ariaLabel" aria-label="${r?escapeAriaLabel(r):window.siyuan.languages.addDesc}"><use xlink:href="#iconInfo"></use></svg>
2471    </div>
2472    <div class="fn__space"></div>
2473</div>
2474<div class="fn__none">
2475    <div class="fn__hr"></div>
2476    <div class="fn__flex">
2477        <span class="fn__space"></span>
2478        <textarea placeholder="${window.siyuan.languages.addDesc}" rows="1" class="b3-text-field fn__block" type="text" data-value="${escapeAttr(r)}">${r}</textarea>
2479        <span class="fn__space"></span>    
2480    </div>
2481</div>
2482<div class="fn__hr--small"></div>`,bind(g){const p=g.querySelector(".b3-menu__avemoji");p.addEventListener("click",E=>{const k=p.getBoundingClientRect();openEmojiPanel("","av",{x:k.left,y:k.bottom+4,h:k.height,w:k.width},A=>{transaction(e,[{action:"setAttrViewColIcon",id:i,avID:s,data:A}],[{action:"setAttrViewColIcon",id:i,avID:s,data:n.dataset.icon}]),p.innerHTML=A?unicode2Emoji(A):`<svg style="height: 14px;width: 14px"><use xlink:href="#${rt(a)}"></use></svg>`,updateAttrViewCellAnimation(t.querySelector(`.av__row--header .av__cell[data-col-id="${i}"]`),void 0,{icon:A})},p.querySelector("img")),E.preventDefault(),E.stopPropagation()});const m=g.querySelector("input");m.value=l,m.addEventListener("keydown",E=>{E.isComposing||E.key==="Enter"&&(c.close(),E.preventDefault())});const b=g.querySelector("textarea");m.nextElementSibling.addEventListener("click",()=>{const E=b.parentElement.parentElement;E.classList.toggle("fn__none"),E.classList.contains("fn__none")||b.focus()}),b.addEventListener("keydown",E=>{E.isComposing||E.key==="Enter"&&(c.close(),E.preventDefault())}),b.addEventListener("input",()=>{m.nextElementSibling.setAttribute("aria-label",b.value?escapeHtml(b.value):window.siyuan.languages.addDesc)})}}),c.addItem({id:"edit",icon:"iconEdit",label:window.siyuan.languages.edit,click(){const g=c.element.querySelector(".b3-text-field").value;openMenuPanel({protyle:e,blockElement:t,type:"edit",colId:i,cb(p){const m=p.querySelector('.b3-text-field[data-type="name"]');m.value=g,m.select()}})}}),c.addSeparator({id:"separator_1"}),a!=="lineNumber"&&(c.addItem({id:"asc",icon:"iconUp",label:window.siyuan.languages.asc,click(){fetchPost("/api/av/renderAttributeView",{id:s},g=>{transaction(e,[{action:"setAttrViewSorts",avID:g.data.id,data:[{column:i,order:"ASC"}],blockID:o}],[{action:"setAttrViewSorts",avID:g.data.id,data:g.data.view.sorts,blockID:o}])})}}),c.addItem({id:"desc",icon:"iconDown",label:window.siyuan.languages.desc,click(){fetchPost("/api/av/renderAttributeView",{id:s},g=>{transaction(e,[{action:"setAttrViewSorts",avID:g.data.id,data:[{column:i,order:"DESC"}],blockID:o}],[{action:"setAttrViewSorts",avID:g.data.id,data:g.data.view.sorts,blockID:o}])})}}),a!=="mAsset"&&c.addItem({id:"filter",icon:"iconFilter",label:window.siyuan.languages.filter,click(){fetchPost("/api/av/renderAttributeView",{id:s},g=>{const p=g.data;let m;p.view.filters.find(b=>{if(b.column===i&&b.value.type===a)return m=b,!0}),m||(m={column:i,operator:getDefaultOperatorByType(a),value:genCellValue(a,"")},p.view.filters.push(m)),setFilter({filter:m,protyle:e,data:p,blockElement:t,target:t.querySelector(`.av__row--header .av__cell[data-col-id="${i}"]`)})})}}),c.addSeparator({id:"separator_2"})),c.addItem({id:"insertColumnLeft",icon:"iconInsertLeft",label:window.siyuan.languages.insertColumnLeft,click(){var g;const p=Us(e,t,((g=n.previousElementSibling)==null?void 0:g.getAttribute("data-col-id"))||"");t.contains(n)||(n=t.querySelector(`.av__row--header .av__cell--header[data-col-id="${i}"]`));const m=n.getBoundingClientRect();p.open({x:m.left,y:m.bottom,h:m.height})}}),c.addItem({id:"insertColumnRight",icon:"iconInsertRight",label:window.siyuan.languages.insertColumnRight,click(){const g=Us(e,t,i);t.contains(n)||(n=t.querySelector(`.av__row--header .av__cell--header[data-col-id="${i}"]`));const p=n.getBoundingClientRect();g.open({x:p.left,y:p.bottom,h:p.height})}}),a!=="block"&&c.addItem({id:"hide",icon:"iconEyeoff",label:window.siyuan.languages.hide,click(){transaction(e,[{action:"setAttrViewColHidden",id:i,avID:s,data:!0,blockID:o}],[{action:"setAttrViewColHidden",id:i,avID:s,data:!1,blockID:o}])}});const f=n.dataset.pin==="true";if(c.addItem({id:f?"unfreezeCol":"freezeCol",icon:f?"iconUnpin":"iconPin",label:f?window.siyuan.languages.unfreezeCol:window.siyuan.languages.freezeCol,click(){transaction(e,[{action:"setAttrViewColPin",id:i,avID:s,data:!f,blockID:o}],[{action:"setAttrViewColPin",id:i,avID:s,data:f,blockID:o}]),updateAttrViewCellAnimation(t.querySelector(`.av__row--header .av__cell[data-col-id="${i}"]`),void 0,{pin:!f})}}),a!=="block"){let g;a!=="relation"&&c.addItem({id:"duplicate",icon:"iconCopy",label:window.siyuan.languages.duplicate,click(){fetchPost("/api/av/renderAttributeView",{id:s},p=>
2482{Dl({blockElement:t,viewID:t.getAttribute(Constants.CUSTOM_SY_AV_VIEW),protyle:e,colId:i,data:p.data})})}}),c.addItem({id:"delete",icon:"iconTrashcan",label:window.siyuan.languages.delete,click(){return Ml(this,null,function*(){var p;if(a==="relation"){const b=(yield fetchSyncPost("/api/av/getAttributeView",{id:s})).data.av.keyValues.find(E=>E.key.id===i);if((p=b.key.relation)!=null&&p.isTwoWay){const E=yield fetchSyncPost("/api/av/getAttributeView",{id:b.key.relation.avID}),k=new Dialog({title:window.siyuan.languages.removeCol.replace("${x}",b.key.name),content:`<div class="b3-dialog__content">
2483    ${window.siyuan.languages.confirmRemoveRelationField.replace("${x}",E.data.av.name)}
2484    <div class="fn__hr--b"></div>
2485    <button class="fn__block b3-button b3-button--remove" data-action="delete">${window.siyuan.languages.delete}</button>
2486    <div class="fn__hr"></div>
2487    <button class="fn__block b3-button b3-button--remove" data-action="keep-relation">${window.siyuan.languages.removeButKeepRelationField}</button>
2488    <div class="fn__hr"></div>
2489    <button class="fn__block b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button>
2490</div>`});k.element.addEventListener("click",A=>{let v=A.target;const w=typeof A.detail=="string";for(;v&&!v.isSameNode(k.element)||w;){const y=v.getAttribute("data-action");if(y==="delete"||w&&A.detail==="Enter"){ka({protyle:e,colId:i,avID:s,blockID:o,oldValue:l,type:a,cellElement:n,blockElement:t,removeDest:!0}),k.destroy();break}else if(y==="keep-relation"){ka({protyle:e,colId:i,avID:s,blockID:o,oldValue:l,type:a,cellElement:n,blockElement:t,removeDest:!1}),k.destroy();break}else if(v.classList.contains("b3-button--cancel")||w&&A.detail==="Escape"){k.destroy();break}v=v.parentElement}}),k.element.querySelector("button").focus(),k.element.setAttribute("data-key",Constants.DIALOG_CONFIRM);return}}ka({protyle:e,colId:i,avID:s,blockID:o,oldValue:l,type:a,cellElement:n,blockElement:t,removeDest:!1})})}}),c.addSeparator({id:"separator_3"})}c.addItem({id:"wrap",label:`<label class="fn__flex"><span class="fn__flex-center">${window.siyuan.languages.wrap}</span><span class="fn__space fn__flex-1"></span>
2491<input type="checkbox" class="b3-switch b3-switch--menu"${n.dataset.wrap==="true"?" checked":""}></label>`,bind(g){const p=g.querySelector("input");p.addEventListener("change",()=>{transaction(e,[{action:"setAttrViewColWrap",id:i,avID:s,data:p.checked,blockID:o}],[{action:"setAttrViewColWrap",id:i,avID:s,data:!p.checked,blockID:o}])})}});const d=n.getBoundingClientRect();c.open({x:d.left,y:d.bottom,h:d.height});const u=window.siyuan.menus.menu.element.querySelector(".b3-text-field");u&&(u.select(),u.focus())},ka=e=>{var t;const n=dayjs().format("YYYYMMDDHHmmss");transaction(e.protyle,[{action:"removeAttrViewCol",id:e.colId,avID:e.avID,removeDest:e.removeDest},{action:"doUpdateUpdated",id:e.blockID,data:n}],[{action:"addAttrViewCol",name:e.oldValue,avID:e.avID,type:e.type,id:e.colId,previousID:((t=e.cellElement.previousElementSibling)==null?void 0:t.getAttribute("data-col-id"))||""},{action:"doUpdateUpdated",id:e.blockID,data:e.blockElement.getAttribute("updated")}]),removeAttrViewColAnimation(e.blockElement,e.colId),e.blockElement.setAttribute("updated",n)},Uf=e=>{const t=e.menuElement.querySelector(".b3-menu__item").getAttribute("data-col-id");let n="";const a=e.data.view.columns.find((s,o)=>{var l;if(s.id===t)return n=(l=e.data.view.columns[o-1])==null?void 0:l.id,e.data.view.columns.splice(o,1),!0}),i=dayjs().format("YYYYMMDDHHmmss");transaction(e.protyle,[{action:"removeAttrViewCol",id:t,avID:e.avID,removeDest:e.isTwoWay},{action:"doUpdateUpdated",id:e.blockID,data:i}],[{action:"addAttrViewCol",name:a.name,avID:e.avID,type:a.type,id:t,previousID:n},{action:"doUpdateUpdated",id:e.blockID,data:e.blockElement.getAttribute("updated")}]),removeAttrViewColAnimation(e.blockElement,t),e.blockElement.setAttribute("updated",i),e.isCustomAttr?e.avPanelElement.remove():(e.menuElement.innerHTML=getPropertiesHTML(e.data.view),setPosition(e.menuElement,e.tabRect.right-e.menuElement.clientWidth,e.tabRect.bottom,e.tabRect.height))},Se=(e,t)=>`<button class="b3-menu__item" data-type="updateColType" data-old-type="${t}" data-new-type="${e}">
2492    <svg class="b3-menu__icon"><use xlink:href="#${rt(e)}"></use></svg>
2493    <span class="b3-menu__label">${An(e)}</span>
2494    ${e===t?'<svg class="b3-menu__checked"><use xlink:href="#iconSelect"></use></svg></span>':""}
2495</button>`,Us=(e,t,n)=>{const a=new Menu("av-header-add"),i=t.getAttribute("data-av-id");typeof n=="undefined"&&(n=Array.from(t.querySelectorAll(".av__row--header .av__cell")).pop().getAttribute("data-col-id"));const s=t.getAttribute("data-node-id");return a.addItem({id:"text",icon:"iconAlignLeft",label:window.siyuan.languages.text,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.text,avID:i,type:"text",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"text",name:window.siyuan.languages.text,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"number",icon:"iconNumber",label:window.siyuan.languages.number,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.number,avID:i,type:"number",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"number",name:window.siyuan.languages.number,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"select",icon:"iconListItem",label:window.siyuan.languages.select,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.select,avID:i,type:"select",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"select",name:window.siyuan.languages.select,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"multiSelect",icon:"iconList",label:window.siyuan.languages.multiSelect,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.multiSelect,avID:i,type:"mSelect",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"mSelect",name:window.siyuan.languages.multiSelect,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"date",icon:"iconCalendar",label:window.siyuan.languages.date,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.date,avID:i,type:"date",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"date",name:window.siyuan.languages.date,id:o,previousID:n}),t.setAttribute("updated",l)}}
2495),a.addItem({id:"assets",icon:"iconImage",label:window.siyuan.languages.assets,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.assets,avID:i,type:"mAsset",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"mAsset",name:window.siyuan.languages.assets,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"checkbox",icon:"iconCheck",label:window.siyuan.languages.checkbox,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.checkbox,avID:i,type:"checkbox",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"checkbox",name:window.siyuan.languages.checkbox,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"link",icon:"iconLink",label:window.siyuan.languages.link,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.link,avID:i,type:"url",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"url",name:window.siyuan.languages.link,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"email",icon:"iconEmail",label:window.siyuan.languages.email,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.email,avID:i,type:"email",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"email",name:window.siyuan.languages.email,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"phone",icon:"iconPhone",label:window.siyuan.languages.phone,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.phone,avID:i,type:"phone",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"phone",name:window.siyuan.languages.phone,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"template",icon:"iconMath",label:window.siyuan.languages.template,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.template,avID:i,type:"template",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"template",name:window.siyuan.languages.template,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"relation",icon:"iconOpen",label:window.siyuan.languages.relation,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.relation,avID:i,type:"relation",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"relation",name:window.siyuan.languages.relation,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"rollup",icon:"iconSearch",label:window.siyuan.languages.rollup,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.rollup,avID:i,type:"rollup",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"rollup",name:window.siyuan.languages.rollup,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"lineNumber",icon:"iconOrderedList",label:window.siyuan.languages.lineNumber,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.lineNumber,avID:i,type:"lineNumber",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"lineNumber",name:window.siyuan.languages.lineNumber,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"createdTime",icon:"iconClock",label:window.siyuan.languages.createdTime,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.createdTime,avID:i,type:"created",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}
2495]),Ce({blockElement:t,protyle:e,type:"created",name:window.siyuan.languages.createdTime,id:o,previousID:n}),t.setAttribute("updated",l)}}),a.addItem({id:"updatedTime",icon:"iconClock",label:window.siyuan.languages.updatedTime,click(){const o=Lute.NewNodeID(),l=dayjs().format("YYYYMMDDHHmmss");transaction(e,[{action:"addAttrViewCol",name:window.siyuan.languages.updatedTime,avID:i,type:"updated",id:o,previousID:n},{action:"doUpdateUpdated",id:s,data:l}],[{action:"removeAttrViewCol",id:o,avID:i},{action:"doUpdateUpdated",id:s,data:t.getAttribute("updated")}]),Ce({blockElement:t,protyle:e,type:"updated",name:window.siyuan.languages.updatedTime,id:o,previousID:n}),t.setAttribute("updated",l)}}),a},$l=(e,t,n)=>({hidden:!1,icon:"",id:t,name:n,desc:"",numberFormat:"",pin:!1,template:"",type:e,width:"",wrap:!1,calc:null}),Ca=(e,t,n)=>{e.value===""?(t.classList.add("fn__none"),typeof n=="number"&&(e.style.paddingRight=e.dataset.oldPaddingRight)):(t.classList.remove("fn__none"),typeof n=="number"&&e.style.setProperty("padding-right",`${n*2+t.clientWidth}px`,"important"))},Hl=e=>{e.inputElement.dataset.oldPaddingRight=e.inputElement.style.paddingRight,e.inputElement.insertAdjacentHTML("afterend",`<svg class="${e.className||"b3-form__icon-clear"} ariaLabel" aria-label="${window.siyuan.languages.clear}" style="${e.right?"right: "+e.right+"px;":""}${e.height?"height:"+e.height+"px;":""}${e.width?"width:"+e.width:""}">
2496<use xlink:href="#iconCloseRound"></use></svg>`);const t=e.inputElement.nextElementSibling;t.addEventListener("click",()=>{e.inputElement.value="",e.inputElement.focus(),Ca(e.inputElement,t,e.right),e.clearCB&&e.clearCB()}),e.inputElement.addEventListener("input",()=>{Ca(e.inputElement,t,e.right)}),Ca(e.inputElement,t,e.right)},tt=(e,t,n,a,i=!0)=>{let s=[];e.getAttribute("data-type")==="NodeAttributeView"?s=[e]:s=Array.from(e.querySelectorAll('[data-type="NodeAttributeView"]')),s.length!==0&&s.length>0&&s.forEach(o=>{var l,r,c,f,d;if(o.getAttribute("data-render")==="true")return;(N()||St()||Xe()||gt())&&o.classList.add("av--touch");const u=o.style.alignSelf;if(o.firstElementChild.innerHTML===""){o.style.alignSelf="";let S="";[1,2,3].forEach(()=>{S+=`<div class="av__row">
2497    <div style="width: 24px;flex-shrink: 0"></div>
2498    <div class="av__cell" style="width: 200px"><span class="av__pulse"></span></div>
2499    <div class="av__cell" style="width: 200px"><span class="av__pulse"></span></div>
2500    <div class="av__cell" style="width: 200px"><span class="av__pulse"></span></div>
2501    <div class="av__cell" style="width: 200px"><span class="av__pulse"></span></div>
2502</div>`}),o.firstElementChild.innerHTML=S}const g=((l=o.querySelector(".av__scroll"))==null?void 0:l.scrollLeft)||0,p=(r=o.querySelector(".av__row--header"))==null?void 0:r.style.transform,m=(c=o.querySelector(".av__row--footer"))==null?void 0:c.style.transform,b=[];o.querySelectorAll(".av__row--select").forEach(S=>{const x=S.getAttribute("data-id");x&&b.push(x)});let E="";const k=o.querySelector(".av__cell--select");k&&(E=O(k,"av__row").dataset.id+$.ZWSP+k.getAttribute("data-col-id"));let A="";const v=o.querySelector(".av__drag-fill");v&&(A=O(v,"av__row").dataset.id+$.ZWSP+v.parentElement.getAttribute("data-col-id"));const w=[];o.querySelectorAll(".av__cell--active").forEach(S=>{w.push(O(S,"av__row").dataset.id+$.ZWSP+S.getAttribute("data-col-id"))});const y=(f=t.options.history)==null?void 0:f.created,h=(d=t.options.history)==null?void 0:d.snapshot;let _=o.getAttribute($.CUSTOM_SY_AV_VIEW)||"";if(typeof a=="string"){const S=o.querySelector(`.av__views > .layout-tab-bar > .item[data-id="${a}"]`);S&&(o.dataset.pageSize=S.dataset.page),_=a,ve("/api/av/setDatabaseBlockView",{id:o.dataset.nodeId,viewID:a}),o.setAttribute($.CUSTOM_SY_AV_VIEW,_)}let C=o.querySelector('[data-type="av-search"]');const L=C&&document.activeElement.isSameNode(C),I=(C==null?void 0:C.value)||"";ve(y?"/api/av/renderHistoryAttributeView":h?"/api/av/renderSnapshotAttributeView":"/api/av/renderAttributeView",{id:o.getAttribute("data-av-id"),created:y,snapshot:h,pageSize:parseInt(o.dataset.pageSize)||void 0,viewID:_,query:I.trim()},S=>{var x;const M=S.data.view;o.dataset.pageSize||(o.dataset.pageSize=M.pageSize.toString());let D='<div class="av__row av__row--header"><div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div></div>',H="",B=-1,Y=-1,X=0;const U=o.clientWidth;let V=!1;M.columns.forEach((q,ce)=>{V||M.filters.find(ge=>{if(ge.value.type===q.type&&q.id===ge.column)return V=!0,!0}),q.hidden||(q.pin&&(B=ce),X<U-200&&(X+=parseInt(q.width)||200,Y=ce))}),B=Math.min(B,Y),B>-1&&(D='<div class="av__row av__row--header"><div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div>',H='<div class="av__colsticky">');let fe=!1;M.columns.forEach((q,ce)=>{var ge;q.hidden||(D+=`<div class="av__cell av__cell--header" data-col-id="${q.id}"  draggable="true" 
2503data-icon="${q.icon}" data-dtype="${q.type}" data-wrap="${q.wrap}" data-pin="${q.pin}" 
2504data-desc="${Vt(q.desc)}" data-position="north" 
2505style="width: ${q.width||"200px"};">
2506    ${q.icon?xe(q.icon,"av__cellheadericon",!0):`<svg class="av__cellheadericon"><use xlink:href="#${rt(q.type)}"></use></svg>`}
2507    <span class="av__celltext fn__flex-1">${ha(q.name)}
2507</span>
2508    ${q.pin?'<svg class="av__cellheadericon av__cellheadericon--pin"><use xlink:href="#iconPin"></use></svg>':""}
2509    <div class="av__widthdrag"></div>
2510</div>`,B===ce&&(D+="</div>"),q.type==="lineNumber"?H+=`<div data-col-id="${q.id}" data-dtype="${q.type}" class="av__calc" style="width: ${q.width||"200px"}">&nbsp;</div>`:H+=`<div class="av__calc${q.calc&&q.calc.operator!==""?" av__calc--ashow":""}" data-col-id="${q.id}" data-dtype="${q.type}" data-operator="${((ge=q.calc)==null?void 0:ge.operator)||""}" 
2511style="width: ${q.width||"200px"}">${pl(q)||`<svg><use xlink:href="#iconDown"></use></svg><small>${window.siyuan.languages.calc}</small>`}</div>`,q.calc&&q.calc.operator!==""&&(fe=!0),B===ce&&(H+="</div>"))}),D+=`<div class="block__icons" style="min-height: auto">
2512    <div class="block__icon block__icon--show" data-type="av-header-more"><svg><use xlink:href="#iconMore"></use></svg></div>
2513    <div class="fn__space"></div>
2514    <div class="block__icon block__icon--show ariaLabel" aria-label="${window.siyuan.languages.newCol}" data-type="av-header-add" data-position="4south"><svg><use xlink:href="#iconAdd"></use></svg></div>
2515</div>
2516</div>`,M.rows.forEach((q,ce)=>{D+=`<div class="av__row" data-id="${q.id}">`,B>-1?D+='<div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div>':D+='<div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div></div>',q.cells.forEach((ge,nt)=>{var gi,pi,mi;if(M.columns[nt].hidden)return;let bi="";ge.valueType==="checkbox"&&(bi=(pi=(gi=ge.value)==null?void 0:gi.checkbox)!=null&&pi.checked?" av__cell-check":" av__cell-uncheck"),D+=`<div class="av__cell${bi}" data-id="${ge.id}" data-col-id="${M.columns[nt].id}"
2517${ge.valueType==="block"?'data-block-id="'+(ge.value.block.id||"")+'"':""} data-wrap="${M.columns[nt].wrap}" 
2518data-dtype="${M.columns[nt].type}" 
2519${(mi=ge.value)!=null&&mi.isDetached?' data-detached="true"':""} 
2520style="width: ${M.columns[nt].width||"200px"};
2521${ge.valueType==="number"?"text-align: right;":""}
2522${ge.bgColor?`background-color:${ge.bgColor};`:""}
2523${ge.color?`color:${ge.color};`:""}">${va(ge.value,ce)}</div>`,B===nt&&(D+="</div>")}),D+="<div></div></div>"});let re="",J;S.data.views.forEach(q=>{re+=`<div data-position="north" data-id="${q.id}" data-page="${q.pageSize}" data-desc="${vl(q.desc||"")}" class="ariaLabel item${q.id===S.data.viewID?" item--focus":""}">
2524    ${q.icon?xe(q.icon,"item__graphic",!0):'<svg class="item__graphic"><use xlink:href="#iconTable"></use></svg>'}
2525    <span class="item__text">${ha(q.name)}</span>
2526</div>`,q.id===S.data.viewID&&(J=q)});const Ee=`<div class="av__body">
2527    ${D}
2528    <div class="av__row--util${M.rowCount>M.rows.length?" av__readonly--show":""}">
2529        <div class="av__colsticky">
2530            <button class="b3-button" data-type="av-add-bottom">
2531                <svg><use xlink:href="#iconAdd"></use></svg>
2532                <span>${window.siyuan.languages.newRow}</span>
2533            </button>
2534            <span class="fn__space"></span>
2535            <button class="b3-button${M.rowCount>M.rows.length?"":" fn__none"}" data-type="av-load-more">
2536                <svg><use xlink:href="#iconArrowDown"></use></svg>
2537                <span>${window.siyuan.languages.loadMore}</span>
2538                <svg data-type="set-page-size" data-size="${M.pageSize}"><use xlink:href="#iconMore"></use></svg>
2539            </button>
2540        </div>
2541    </div>
2542    <div class="av__row--footer${fe?" av__readonly--show":""}">${H}</div>
2543</div>`;i?o.firstElementChild.outerHTML=`<div class="av__container">
2544    <div class="av__header">
2545        <div class="fn__flex av__views${L||I?" av__views--show":""}">
2546            <div class="layout-tab-bar fn__flex">
2547                ${re}
2548            </div>
2549            <div class="fn__space"></div>
2550            <span data-type="av-add" class="block__icon ariaLabel" data-position="8south" aria-label="${window.siyuan.languages.newView}">
2551                <svg><use xlink:href="#iconAdd"></use></svg>
2552            </span>
2553            <div class="fn__flex-1"></div>
2554            <div class="fn__space"></div>
2555            <span data-type="av-switcher" class="block__icon${S.data.views.length>0?"":" fn__none"}">
2556                <svg><use xlink:href="#iconDown"></use></svg>
2557                <span class="fn__space"></span>
2558                <small>${S.data.views.length}</small>
2559            </span>
2560            <div class="fn__space"></div>
2561            <span data-type="av-filter" class="block__icon${V?" block__icon--active":""}">
2562                <svg><use xlink:href="#iconFilter"></use></svg>
2563            </span>
2564            <div class="fn__space"></div>
2565            <span data-type="av-sort" class="block__icon${M.sorts.length>0?" block__icon--active":""}">
2566                <svg><use xlink:href="#iconSort"></use></svg>
2567            </span>
2568            <div class="fn__space"></div>
2569            <button data-type="av-search-icon" class="block__icon">
2570                <svg><use xlink:href="#iconSearch"></use></svg>
2571            </button>
2572            <div style="position: relative" class="fn__flex">
2573                <input style="${L||I?"width:128px":"width:0;padding-left: 0;padding-right: 0;"}" data-type="av-search" class="b3-text-field b3-text-field--text" placeholder="${window.siyuan.languages.search}">
2574            </div>
2575            <div class="fn__space"></div>
2576            <span data-type="av-more" class="block__icon">
2577                <svg><use xlink:href="#iconMore"></use></svg>
2578            </span>
2579            <div class="fn__space"></div>
2580            <span data-type="av-add-more" class="block__icon ariaLabel" data-position="8south" aria-label="${window.siyuan.languages.newRow}">
2581                <svg><use xlink:href="#iconAdd"></use></svg>
2582            </span>
2583            <div class="fn__space"></div>
2584            ${S.data.isMirror?` <span data-av-id="${S.data.id}" data-popover-url="/api/av/getMirrorDatabaseBlocks" class="popover__block block__icon block__icon--show ariaLabel" data-position="8south" aria-label="${window.siyuan.languages.mirrorTip}">
2585    <svg><use xlink:href="#iconSplitLR"></use></svg></span><div class="fn__space"></div>`:""}
2586        </div>
2587        <div contenteditable="${t.disabled||R(o,"data-type","NodeBlockQueryEmbed")?"false":"true"}" spellcheck="${window.siyuan.config.editor.spellcheck.toString()}" class="av__title${J.hideAttrViewName?" fn__none":""}" data-title="${S.data.name||""}" data-tip="${window.siyuan.languages.title}">${S.data.name||""}</div>
2588        <div class="av__counter fn__none"></div>
2589    </div>
2590    <div class="av__scroll">
2591        ${Ee}
2592    </div>
2593    <div class="av__cursor" contenteditable="true">${$.ZWSP}</div>
2594</div>`:o.firstElementChild.querySelector(".av__scroll").innerHTML=Ee,o.setAttribute("data-render","true"),o.style.margin="",g&&(o.querySelector(".av__scroll").scrollLeft=g),u&&(o.style.alignSelf=u);const Fe=t.contentElement.getBoundingClientRect();if(p?o.querySelector(".av__row--header").style.transform=p:setTimeout(()=>{Ln(o,Fe,"top")},$.TIMEOUT_LOAD),m?o.querySelector(".av__row--footer").style.transform=m:setTimeout(()=>{Ln(o,Fe,"bottom")},$.TIMEOUT_LOAD),E){const q=o.querySelector(`.av__row[data-id="${E.split($.ZWSP)[0]}"] .av__cell[data-col-id="${E.split($.ZWSP)[1]}"]`);q&&q.classList.add("av__cell--select");const ce=document.querySelector(".av__mask");if(ce)(x=ce.querySelector("textarea, input"))==null||x.focus();else if(!document.querySelector(".av__panel")&&!L&&getSelection().rangeCount>0){const ge=getSelection().getRangeAt(0),nt=K(ge.startContainer);nt&&o.isSameNode(nt)&&qe(o)}Bs(o,q)}if(b.forEach((q,ce)=>{const ge=o.querySelector(`.av__row[data-id="${q}"]`);ge&&(ge.classList.add("av__row--select"),ge.querySelector(".av__firstcol use").setAttribute("xlink:href","#iconCheck")),ce===b.length-1&&ge&&La(ge)}),A&&Cn(o.querySelector(`.av__row[data-id="${A.split($.ZWSP)[0]}"] .av__cell[data-col-id="${A.split($.ZWSP)[1]}"]`)),w.forEach(q=>{var ce;(ce=o.querySelector(`.av__row[data-id="${q.split($.ZWSP)[0]}"] .av__cell[data-col-id="${q.split($.ZWSP)[1]}"]`))==null||ce.classList.add("av__cell--active")}),getSelection().rangeCount>0){const q=getSelection().getRangeAt(0);if(!O(q.startContainer,"av__title")){const ce=K(q.startContainer);ce&&o.isSameNode(ce)&&!L&&qe(o)}}if(o.querySelector(".layout-tab-bar").scrollLeft=o.querySelector(".layout-tab-bar .item--focus").offsetLeft,n&&n(),!i)return;const ie=o.querySelector(".av__views");C=o.querySelector('[data-type="av-search"]'),C.value=I||"",L&&C.focus(),C.addEventListener("compositionstart",q=>{q.stopPropagation()}),C.addEventListener("keydown",q=>{q.isComposing||ln(q)}),C.addEventListener("input",q=>{q.stopPropagation(),!q.isComposing&&(C.value||document.activeElement.isSameNode(C)?ie.classList.add("av__views--show"):ie.classList.remove("av__views--show"),Aa(o,t))}),C.addEventListener("compositionend",()=>{Aa(o,t)}),C.addEventListener("blur",q=>{q.isComposing||C.value||(ie.classList.remove("av__views--show"),C.style.width="0",C.style.paddingLeft="0",C.style.paddingRight="0")}),Hl({inputElement:C,right:0,width:"1em",height:C.clientHeight,clearCB(){ie.classList.remove("av__views--show"),C.style.width="0",C.style.paddingLeft="0",C.style.paddingRight="0",qe(
2594o),Aa(o,t)}})})})};let Fs;const Aa=(e,t)=>{clearTimeout(Fs),Fs=window.setTimeout(()=>{e.removeAttribute("data-render"),tt(e,t,void 0,void 0,!1)},$.TIMEOUT_INPUT)},Ys={},Ff=(e,t)=>{t.action==="setAttrViewName"&&Array.from(e.wysiwyg.element.querySelectorAll(`[data-av-id="${t.id}"]`)).forEach(n=>{const a=n.querySelector(".av__title");a&&(a.textContent=t.data,a.dataset.title=t.data)}),clearTimeout(Ys[e.id]),Ys[e.id]=window.setTimeout(()=>{if(t.action==="setAttrViewColWidth")Array.from(e.wysiwyg.element.querySelectorAll(`[data-av-id="${t.avID}"]`)).forEach(n=>{const a=n.querySelector(`.av__cell[data-col-id="${t.id}"]`);!a||a.style.width===t.data||n.getAttribute("custom-sy-av-view")!==t.keyID||n.querySelectorAll(".av__row").forEach(i=>{i.querySelector(`[data-col-id="${t.id}"]`).style.width=t.data})});else{const n=t.action==="setAttrViewName"?t.id:t.avID;Array.from(e.wysiwyg.element.querySelectorAll(`[data-av-id="${n}"]`)).forEach(a=>{a.removeAttribute("data-render");const i=a.querySelector('.av__row[data-need-update="true"]');(t.action==="sortAttrViewCol"||t.action==="sortAttrViewRow")&&(a.querySelectorAll(".av__cell--active").forEach(s=>{var o;s.classList.remove("av__cell--active"),(o=s.querySelector(".av__drag-fill"))==null||o.remove()}),addDragFill(a.querySelector(".av__cell--select"))),tt(a,e,()=>{var s;const o=document.querySelector(`.b3-dialog--open[data-key="${Constants.DIALOG_ATTR}"] div[data-av-id="${n}"]`);o?renderAVAttribute(o.parentElement,o.dataset.nodeId,e):t.action==="insertAttrViewBlock"&&i&&!a.querySelector(`.av__row[data-id="${i.getAttribute("data-id")}"]`)&&(showMessage(window.siyuan.languages.insertRowTip),(s=document.querySelector(".av__mask"))==null||s.remove()),a.removeAttribute("data-loading")})})}},["insertAttrViewBlock"].includes(t.action)?2:100)},Ht=e=>{if(e.action||(e.action=[]),e.protyle.wysiwyg.element.removeAttribute("data-top"),e.data.code===1){e.action.includes($.CB_GET_APPEND)||(e.protyle.model?e.protyle.model.parent.parent.removeTab(e.protyle.model.parent.id,!1):e.protyle.element.innerHTML=`<div class="ft__smaller ft__secondary b3-form__space--small" contenteditable="false">${window.siyuan.languages.refExpired}</div>`);return}if(e.data.code!==3&&(e.protyle.notebookId=e.data.data.box,e.protyle.path=e.data.data.path,!(e.data.data.eof&&!e.scrollAttr&&(e.action.includes($.CB_GET_BEFORE)?e.protyle.wysiwyg.element.firstElementChild.setAttribute("data-eof","1"):e.protyle.wysiwyg.element.lastElementChild.setAttribute("data-eof","2"),e.data.data.mode!==4)))){if(It(["gutterOnly"],e.protyle),e.protyle.block.parentID=e.data.data.parentID,e.protyle.block.parent2ID=e.data.data.parent2ID,e.protyle.block.rootID=e.data.data.rootID,e.protyle.block.showAll=!1,e.protyle.block.mode=e.data.data.mode,e.protyle.block.blockCount=e.data.data.blockCount,e.protyle.block.scroll=e.data.data.scroll,e.protyle.block.action=e.action,e.action.includes($.CB_GET_UNCHANGEID)||(e.protyle.block.id=e.data.data.id,e.protyle.scroll.lastScrollTop=0,e.protyle.contentElement.scrollTop=0,e.protyle.wysiwyg.element.setAttribute("data-doc-type",e.data.data.type)),!(e.protyle.options.render.title&&e.protyle.title.element.getAttribute("data-render")!=="true")){if(e.action.includes($.CB_GET_APPEND)||e.action.includes($.CB_GET_BEFORE)||e.action.includes($.CB_GET_HTML)){Ws({content:e.data.data.content,expand:e.data.data.isBacklinkExpand,action:e.action,scrollAttr:e.scrollAttr,updateReadonly:e.updateReadonly,isSyncing:e.data.data.isSyncing,afterCB:e.afterCB},e.protyle),oi(e.protyle);return}}ve("/api/block/getDocInfo",{id:e.protyle.block.rootID},t=>{e.protyle.options.render.title?e.protyle.title.render(e.protyle,t):(e.protyle.options.render.background&&e.protyle.background.render(t.data.ial,e.protyle.block.rootID),e.protyle.wysiwyg.renderCustom(t.data.ial)),Ws({content:e.data.data.content,expand:e.data.data.isBacklinkExpand,action:e.action,scrollAttr:e.scrollAttr,updateReadonly:e.updateReadonly,isSyncing:e.data.data.isSyncing,afterCB:e.afterCB},e.protyle),oi(e.protyle)})}},Ws=(e,t)=>{var n;if(t.contentElement.classList.contains("fn__none")&&t.wysiwyg.element.innerHTML!=="")return;t.block.showAll=e.action.includes($.CB_GET_ALL);const a=t.contentElement.clientHeight*8,i=typeof e.updateReadonly=="undefined"?t.wysiwyg.element.innerHTML==="":e.updateReadonly;if(e.action.includes($.CB_GET_APPEND)){if(!t.wysiwyg.element.querySelector(".protyle-wysiwyg--select")&&!t.scroll.keepLazyLoad&&t.contentElement.scrollHeight>a){let s=t.wysiwyg.element.firstElementChild;const o=[];for(;t.wysiwyg.element.childElementCount>2&&o&&!t.wysiwyg.element.lastElementChild.isSameNode(s)&&t.contentElement.scrollHeight-s.offsetTop>a;){o.push(s);s=s.nextElementSibling}const l=s.getBoundingClientRect().top;o.forEach(r=>{r.remove()}),t.contentElement.scrollTop=t.contentElement.scrollTop+(s.getBoundingClientRect().top-l),t.scroll.lastScrollTop=t.contentElement.scrollTop,It(["toolbar"],t)}t.wysiwyg.element.insertAdjacentHTML("beforeend",e.content)}else if(e.action.includes($.CB_GET_BEFORE)){const s=t.wysiwyg.element.firstElementChild,o=s.getBoundingClientRect().top;if(t.wysiwyg.element.insertAdjacentHTML("afterbegin",e.content),t.contentElement.scrollTop=t.contentElement.scrollTop+(s.getBoundingClientRect().top-o),t.scroll.lastScrollTop=t.contentElement.scrollTop,!t.wysiwyg.element.querySelector(".protyle-wysiwyg--select")&&!t.scroll.keepLazyLoad){const l=[];let r=t.wysiwyg.element.childElementCount,c=t.contentElement.scrollHeight,f=t.wysiwyg.element.lastElementChild;for(;r>2&&c>a&&f.getBoundingClientRect().top>window.innerHeight;)l.push(f),f=f.previousElementSibling,r--,c-=f.clientHeight+8;l.forEach(d=>{d.remove()}),It(["toolbar"],t)}}else t.wysiwyg.element.innerHTML=e.content;if(t.wysiwyg.element.querySelectorAll("video, audio").forEach(s=>{s.addEventListener("playing",()=>{ga(),console.log("playing")})}),!t.block.showAll&&t.wysiwyg.element.childElementCount===1&&t.wysiwyg.element.firstElementChild.classList.contains("p")){const s=he(t.wysiwyg.element.firstElementChild);s&&s.textContent===""&&(s.classList.add("protyle-wysiwyg--empty"),s.setAttribute("placeholder",window.siyuan.languages.emptyMobilePlaceholder))}if(e.action.includes($.CB_GET_BACKLINK)&&Vs(e.expand,t.wysiwyg.element),Tt(t.wysiwyg.element),Et(t.wysiwyg.element),tt(t.wysiwyg.element,t),Ke(t,t.wysiwyg.element),!e.action.includes($.CB_GET_HISTORY)){if(t.options.render.scroll&&t.scroll.update(t),e.action.includes($.CB_GET_FOCUSFIRST)){const s=t.wysiwyg.element.offsetTop-16;ea(t,s,$.TIMEOUT_INPUT),t.contentElement.scrollTop=s}if(e.isSyncing?Nl(t):(t.breadcrumb&&(t.breadcrumb.element.nextElementSibling.textContent=""),t.element.removeAttribute("disabled-forever"),Pl(t,i),e.action.includes($.CB_GET_OPENNEW)&&window.siyuan.config.editor.readOnly&&po(t.breadcrumb.element.parentElement.querySelector('.block__icon[data-type="readonly"]'),t)),Bl(t,e.action,e.scrollAttr),e.action.includes($.CB_GET_SETID)&&(t.block.id=t.block.rootID,t.wysiwyg.element.setAttribute("data-doc-type","NodeDocument")),(n=t.options.defIds)==null||n.forEac
2594h(s=>{t.wysiwyg.element.querySelectorAll(`[data-id="${s}"]`).forEach(o=>{o.classList.add("def--mark")})}),t.options.defIds=[],e.action.includes($.CB_GET_APPEND)||e.action.includes($.CB_GET_BEFORE)){t.app.plugins.forEach(s=>{s.eventBus.emit("loaded-protyle-dynamic",{protyle:t,position:e.action.includes($.CB_GET_APPEND)?"afterend":"beforebegin"})});return}!t.disabled&&!e.action.includes($.CB_GET_ALL)&&t.background&&t.background.element.classList.add("protyle-background--mobileshow"),t.options.render.breadcrumb&&(t.breadcrumb.toggleExit(!e.action.includes($.CB_GET_ALL)),t.breadcrumb.render(t)),e.afterCB&&e.afterCB(),e.scrollAttr&&!t.scroll.element.classList.contains("fn__none")&&!t.element.classList.contains("block__edit")&&t.wysiwyg.element.lastElementChild.getAttribute("data-eof")!=="2"&&t.contentElement.scrollHeight>0&&!e.action.includes($.CB_GET_FOCUSFIRST)&&t.contentElement.scrollHeight<=t.contentElement.clientHeight&&ve("/api/filetree/getDoc",{id:t.wysiwyg.element.lastElementChild.getAttribute("data-node-id"),mode:2,size:window.siyuan.config.editor.dynamicLoadBlocks},s=>{Ht({data:s,protyle:t,action:[$.CB_GET_APPEND,$.CB_GET_UNCHANGEID]})}),e.scrollAttr&&!t.scroll.element.classList.contains("fn__none")&&!t.element.classList.contains("fn__none")&&t.scroll.updateIndex(t,e.scrollAttr.startId,s=>{s>1&&t.block.blockCount>1&&t.contentElement.scrollHeight<=t.contentElement.clientHeight&&Ze(window.siyuan.languages.scrollGetMore)}),t.app.plugins.forEach(s=>{s.eventBus.emit("loaded-protyle-static",{protyle:t})})}},Nl=e=>{Sn(e),e.breadcrumb&&!N()?e.breadcrumb.element.nextElementSibling.textContent=window.siyuan.languages._kernel[81]:Ze(window.siyuan.languages._kernel[81]),e.element.setAttribute("disabled-forever","true")},Sn=e=>{if(window.siyuan.menus.menu.remove(),It(["gutter","toolbar","select","hint","util"],e),e.disabled=!0,e.title&&e.title.editElement&&(e.title.editElement.setAttribute("contenteditable","false"),e.title.editElement.style.userSelect="text"),document.getElementById("toolbarName").setAttribute("readonly","readonly"),e.background&&(e.background.element.classList.remove("protyle-background--enable"),e.background.element.classList.remove("protyle-background--mobileshow")),e.wysiwyg.element.querySelectorAll(".protyle-icons--show").forEach(t=>{t.classList.remove("protyle-icons--show")}),e.wysiwyg.element.querySelectorAll(".render-node .protyle-action__edit").forEach(t=>{var n;t.classList.add("fn__none"),t.classList.contains("protyle-icon--first")&&((n=t.nextElementSibling)==null||n.classList.add("protyle-icon--first"))}),e.wysiwyg.element.style.userSelect="text",e.wysiwyg.element.setAttribute("contenteditable","false"),e.wysiwyg.element.setAttribute("data-readonly","true"),e.wysiwyg.element.querySelectorAll('[contenteditable="true"][spellcheck]').forEach(t=>{t.setAttribute("contenteditable","false")}),e.wysiwyg.element.querySelectorAll('.protyle-action[draggable="true"]').forEach(t=>{t.setAttribute("draggable","false")}),e.breadcrumb){e.breadcrumb.element.parentElement.querySelector('[data-type="readonly"] use').setAttribute("xlink:href","#iconLock"),e.breadcrumb.element.parentElement.querySelector('[data-type="readonly"]').setAttribute("aria-label",window.siyuan.config.editor.readOnly?window.siyuan.languages.tempUnlock:window.siyuan.languages.unlockEdit);const t=e.breadcrumb.element.parentElement.querySelector('[data-type="undo"]');t&&!t.classList.contains("fn__none")&&(t.classList.add("fn__none"),e.breadcrumb.element.parentElement.querySelector('[data-type="redo"]').classList.add("fn__none"),e.breadcrumb.element.parentElement.querySelector('[data-type="indent"]').classList.add("fn__none"),e.breadcrumb.element.parentElement.querySelector('[data-type="outdent"]').classList.add("fn__none"))}on()},js=e=>{if(e.element.getAttribute("disabled-forever")==="true")return;e.disabled=!1,N()?document.getElementById("toolbarName").removeAttribute("readonly"):(e.wysiwyg.element.setAttribute("contenteditable","true"),e.wysiwyg.element.style.userSelect=""),e.wysiwyg.element.setAttribute("data-readonly","false"),e.title&&e.title.editElement&&(e.title.editElement.setAttribute("contenteditable","true"),e.title.editElement.style.userSelect=""),e.background&&e.background.element.classList.add("protyle-background--enable"),e.wysiwyg.element.querySelectorAll(".render-node .protyle-action__edit").forEach(n=>{var a;n.classList.remove("fn__none"),n.classList.contains("protyle-icon--first")&&((a=n.nextElementSibling)==null||a.classList.remove("protyle-icon--first"))}),e.wysiwyg.element.querySelectorAll('[contenteditable="false"][spellcheck]').forEach(n=>{O(n,"protyle-wysiwyg__embed")||n.setAttribute("contenteditable","true")}),e.wysiwyg.element.querySelectorAll('.protyle-action[draggable="false"]').forEach(n=>
2594{n.setAttribute("draggable","true")});const t=e.contentElement.getBoundingClientRect();if(e.wysiwyg.element.querySelectorAll(".av").forEach(n=>{n.querySelector(".av__title")&&Ln(n,t,"all")}),e.breadcrumb){e.breadcrumb.element.parentElement.querySelector('[data-type="readonly"] use').setAttribute("xlink:href","#iconUnlock"),e.breadcrumb.element.parentElement.querySelector('[data-type="readonly"]').setAttribute("aria-label",window.siyuan.config.editor.readOnly?window.siyuan.languages.cancelTempUnlock:window.siyuan.languages.lockEdit);const n=e.breadcrumb.element.parentElement.querySelector('[data-type="undo"]');n&&n.classList.contains("fn__none")&&(n.classList.remove("fn__none"),e.breadcrumb.element.parentElement.querySelector('[data-type="redo"]').classList.remove("fn__none"),e.breadcrumb.element.parentElement.querySelector('[data-type="indent"]').classList.remove("fn__none"),e.breadcrumb.element.parentElement.querySelector('[data-type="outdent"]').classList.remove("fn__none"))}on()},Bl=(e,t,n)=>{var a;let i;if(n&&n.focusId?i=e.wysiwyg.element.querySelector(`[data-node-id="${n.focusId}"]`):Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${e.block.id}"]`)).find(o=>{if(!R(o,"data-type","block-render",!0))return i=o,!0}),e.block.mode===4?(ea(e),i=e.wysiwyg.element.lastElementChild):(!i||t.includes($.CB_GET_FOCUSFIRST))&&(i=e.wysiwyg.element.firstElementChild),t.includes($.CB_GET_HL)&&(ea(e),sn(i)),t.includes($.CB_GET_FOCUS)||t.includes($.CB_GET_FOCUSFIRST)){let o;n&&n.focusId?o=Dn(i,n.focusStart,n.focusEnd):qe(i,void 0,!t.includes($.CB_GET_OUTLINE))}const s=n&&typeof n.scrollTop=="number";if(s&&(e.contentElement.scrollTop=n.scrollTop),(a=e.observerLoad)==null||a.disconnect(),t.includes($.CB_GET_FOCUS)||t.includes($.CB_GET_SCROLL)||t.includes($.CB_GET_HL)||t.includes($.CB_GET_FOCUSFIRST)){const o=e.contentElement.getBoundingClientRect(),l=i.getBoundingClientRect();!s&&(o.top>l.top||o.bottom<l.bottom)&&Qn(e,i,!0)}else return;e.observerLoad=new ResizeObserver(()=>{if(s&&(e.contentElement.scrollTop=n.scrollTop),t.includes($.CB_GET_FOCUS)||t.includes($.CB_GET_HL)||t.includes($.CB_GET_FOCUSFIRST)){const o=e.contentElement.getBoundingClientRect(),l=i.getBoundingClientRect();!s&&(o.top>l.top||o.bottom<l.bottom)&&Qn(e,i,!0)}}),e.observerLoad.observe(e.wysiwyg.element),e.observer.unobserve(e.wysiwyg.element),setTimeout(()=>{e.observerLoad.disconnect(),e.observer.observe(e.wysiwyg.element)},1e3*3),i.isSameNode(e.wysiwyg.element.firstElementChild)&&!s&&e.observerLoad.disconnect()},Pl=(e,t)=>{let n=window.siyuan.config.readonly?"true":"false";t?n==="false"&&(n=window.siyuan.config.editor.readOnly?"true":"false",n==="false"&&(n=e.wysiwyg.element.getAttribute($.CUSTOM_SY_READONLY))):n=e.disabled?"true":"false",n==="true"?Sn(e):js(e)},Yf=(e,t)=>{e.block.showAll=!0;let n="";t.forEach((a,i)=>{n+=Ks(a.blockPaths,!1,i)+Gs(a.dom,a.expand)}),e.wysiwyg.element.innerHTML=n,zs(e.wysiwyg.element),processRender(e.wysiwyg.element),highlightRender(e.wysiwyg.element),avRender(e.wysiwyg.element,e),blockRender(e,e.wysiwyg.element),removeLoading(e),(window.siyuan.config.readonly||window.siyuan.config.editor.readOnly)&&disabledProtyle(e)},Vs=(e,t)=>{t.firstElementChild.classList.contains("li")?e?t.querySelectorAll(".li .li").forEach(n=>{n.childElementCount>3&&n.setAttribute("fold","1")}):t.firstElementChild.setAttribute("fold","1"):t.firstElementChild.getAttribute("data-type")==="NodeHeading"&&Array.from(t.children).forEach((n,a)=>{(e&&a>2||!e&&a>1)&&((e&&a===3||!e&&a===2)&&n.insertAdjacentHTML("beforebegin",'<div style="max-width: 100%;justify-content: center;" contenteditable="false" class="protyle-breadcrumb__item"><svg style="transform: rotate(90deg);"><use xlink:href="#iconMore"></use></svg></div>'),n.classList.add("fn__none"))})},Gs=(e,t)=>{const n=document.createElement("template");return n.innerHTML=e,Vs(t,n.content),n.innerHTML},Wf=(e,t)=>{fetchPost("/api/filetree/getDoc",{id:t.getAttribute("data-id"),size:Constants.SIZE_GET_MAX},n=>{t.parentElement.querySelector(".protyle-breadcrumb__item--active").classList.remove("protyle-breadcrumb__item--active"),t.classList.add("protyle-breadcrumb__item--active");let a=t.parentElement.nextElementSibling;for(;a&&!a.classList.contains("protyle-breadcrumb__bar");){const i=a;a=a.nextElementSibling,i.remove()}t.parentElement.insertAdjacentHTML("afterend",Gs(n.data.content,!0)),processRender(t.parentElement.parentElement),avRender(t.parentElement.parentElement,e),blockRender(e,t.parentElement.parentElement),n.data.isSyncing?disabledForeverProtyle(e):window.siyuan.config.readonly||window.siyuan.config.editor.readOnly?disabledProtyle(e):t.parentElement.parentElement.classList.contains("protyle-wysiwyg__embed")&&t.parentElement.parentElement.querySelectorAll('[contenteditable="true"][spellcheck]').forEach(i=>
2594{i.setAttribute("contenteditable","false")})})},jf=e=>{let t=e.nextElementSibling;for(;t&&!t.classList.contains("protyle-breadcrumb__bar");)t.classList.remove("fn__none"),t=t.nextElementSibling;e.remove()},Ks=(e,t,n)=>{if(1>e.length)return`<div contenteditable="false" style="border-top: ${n===0?0:1}px solid var(--b3-border-color);min-height: 0;width: 100%;" class="protyle-breadcrumb__bar"><span></span></div>`;let a="";return e.forEach((i,s)=>{s===0&&!t||(a+=`<span class="protyle-breadcrumb__item${s===e.length-1?" protyle-breadcrumb__item--active":""}" data-id="${i.id}">
2595    <svg class="popover__block" data-id="${i.id}"><use xlink:href="#${qa(i.type,i.subType)}"></use></svg>
2596    <span class="protyle-breadcrumb__text" title="${i.name}">${i.name}</span>
2597</span>`,s!==e.length-1&&(a+='<svg class="protyle-breadcrumb__arrow"><use xlink:href="#iconRight"></use></svg>'))}),`<div contenteditable="false" class="protyle-breadcrumb__bar protyle-breadcrumb__bar--nowrap">${a}</div>`},zs=e=>{e.querySelectorAll(".protyle-breadcrumb__bar").forEach(t=>{t.classList.remove("protyle-breadcrumb__bar--nowrap");const n=Array.from(t.querySelectorAll(".protyle-breadcrumb__text"));if(n.length===0)return;let a=!1;for(;t.scrollHeight>30&&!a&&n.length>1;)n.find((i,s)=>{if(s>0){if(!i.classList.contains("protyle-breadcrumb__text--ellipsis"))return i.classList.add("protyle-breadcrumb__text--ellipsis"),!0;s===n.length-1&&i.classList.contains("protyle-breadcrumb__text--ellipsis")&&(a=!0)}});t.classList.add("protyle-breadcrumb__bar--nowrap"),t.lastElementChild&&(t.scrollLeft=t.lastElementChild.offsetLeft-t.clientWidth+14)})},Ke=(e,t,n)=>{let a=[];t.getAttribute("data-type")==="NodeBlockQueryEmbed"?a=[t]:a=Array.from(t.querySelectorAll('[data-type="NodeBlockQueryEmbed"]')),a.length!==0&&a.forEach(i=>{if(i.getAttribute("data-render")==="true")return;if(i.setAttribute("data-render","true"),ue(i),i.childElementCount>3){i.style.height=i.clientHeight-4+"px";for(let r=1;r<i.children.length-1;r++)i.children[r].classList.contains("protyle-cursor")||(i.children[r].remove(),r--)}const s=Lute.UnEscapeHTMLStr(i.getAttribute("data-content"));let o=i.getAttribute("breadcrumb");if(o?o=o==="true":o=window.siyuan.config.editor.embedBlockBreadcrumb,Pt(i,"sb")&&(o=!1),s.startsWith("//!js"))try{const r=new Function("fetchSyncPost","item","protyle","top",s)(li,i,e,n);if(r instanceof Promise)r.then(c=>{if(Array.isArray(c))ve("/api/search/getEmbedBlock",{embedBlockID:i.getAttribute("data-node-id"),includeIDs:c,headingMode:i.getAttribute("custom-heading-mode")==="1"?1:0,breadcrumb:o},f=>{Gt(f.data.blocks||[],e,i,n)});else return}).catch(c=>{Gt([],e,i,n,c)});else if(Array.isArray(r))ve("/api/search/getEmbedBlock",{embedBlockID:i.getAttribute("data-node-id"),includeIDs:r,headingMode:i.getAttribute("custom-heading-mode")==="1"?1:0,breadcrumb:o},c=>{Gt(c.data.blocks||[],e,i,n)});else return}catch(r){Gt([],e,i,n,r)}else ve("/api/search/searchEmbedBlock",{embedBlockID:i.getAttribute("data-node-id"),stmt:s,headingMode:i.getAttribute("custom-heading-mode")==="1"?1:0,excludeIDs:[i.getAttribute("data-node-id"),e.block.rootID],breadcrumb:o},r=>{Gt(r.data.blocks,e,i,n)})})},Gt=(e,t,n,a,i)=>{const s=n.querySelector(".fn__rotate");s&&s.classList.remove("fn__rotate");let o="";e.forEach(c=>{let f="";c.blockPaths.length!==0&&(f=Ks(c.blockPaths,!0)),o+=`<div class="protyle-wysiwyg__embed" data-id="${c.block.id}">${f}${c.block.content}</div>`}),e.length>0?(n.firstElementChild.insertAdjacentHTML("afterend",o),zs(n.querySelector(".protyle-wysiwyg__embed"))):n.firstElementChild.insertAdjacentHTML("afterend",`<div class="protyle-wysiwyg__embed ft__smaller ft__secondary b3-form__space--small" contenteditable="false">${i||window.siyuan.languages.refExpired}</div>`),Tt(n),Et(n),tt(n,t),a&&(t.contentElement.scrollTop=a);let l=0,r=n;for(;l<4&&r;)r=R(r.parentElement,"data-type","NodeBlockQueryEmbed"),l++;l<4&&n.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach(c=>{Ke(t,c)}),n.style.height=""},Vf=(e=!1)=>{};let Rl,Ol;const Gf=(e,t)=>{},ql=(e,t,n=!1)=>{},Kf=()=>{Rl="",document.querySelector("#status .status__counter").innerHTML="",clearTimeout(Ol)},zf=e=>{if(!e)return;let t=`<span class="ft__on-surface">${window.siyuan.languages.runeCount}</span>&nbsp;${e.runeCount}<span class="fn__space"></span>
2598<span class="ft__on-surface">${window.siyuan.languages.wordCount}</span>&nbsp;
2598${e.wordCount}<span class="fn__space"></span>`;0<e.linkCount&&(t+=`<span class="ft__on-surface">${window.siyuan.languages.linkCount}</span>&nbsp;${e.linkCount}<span class="fn__space"></span>`),0<e.imageCount&&(t+=`<span class="ft__on-surface">${window.siyuan.languages.imgCount}</span>&nbsp;${e.imageCount}<span class="fn__space"></span>`),0<e.refCount&&(t+=`<span class="ft__on-surface">${window.siyuan.languages.refCount}</span>&nbsp;${e.refCount}<span class="fn__space"></span>`),0<e.blockCount&&(t+=`<span class="ft__on-surface">${window.siyuan.languages.blockCount}</span>&nbsp;${e.blockCount}<span class="fn__space"></span>`),document.querySelector("#status .status__counter").innerHTML=t};var Zs=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),Ul=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())}),Fl=(e,t,n)=>(t=e[Zs("asyncIterator")])?t.call(e):(e=e[Zs("iterator")](),t={},n=(a,i)=>(i=e[a])&&(t[a]=s=>new Promise((o,l,r)=>(s=i.call(e,s),r=s.done,Promise.resolve(s.value).then(c=>o({value:c,done:r}),l)))),n("next"),n("return"),t);const Xs=(e,t)=>{const n=je(e),a=[];if(n.isSameNode(e)||(e.remove(),a.push({action:"delete",id:n.getAttribute("data-node-id")})),n.remove(),t.wysiwyg.element.childElementCount===0)if(t.block.rootID===t.block.id){const i=Lute.NewNodeID(),s=ba(!1,!1,i);a.push({action:"insert",data:s.outerHTML,id:i,parentID:t.block.parentID}),t.wysiwyg.element.innerHTML=s.outerHTML}else xs({protyle:t,id:t.block.rootID,isPushBack:!1,focusId:t.block.id});a.length>0&&vt(t,a,[])},Js=()=>{if(window.siyuan.transactions.length===0)return;const e=window.siyuan.transactions[0].protyle,t=window.siyuan.transactions[0].doOperations,n=window.siyuan.transactions[0].undoOperations;window.siyuan.transactions.splice(0,1),ve("/api/transactions",{session:e.id,app:$.SIYUAN_APPID,transactions:[{doOperations:t,undoOperations:n}]},a=>{window.siyuan.transactions.length===0?ql([],e.block.rootID,!0):Js(),(window.siyuan.config.sync.provider!==0&&$i()||window.siyuan.config.sync.provider===0&&!Di(""))&&window.siyuan.config.repo.key&&window.siyuan.config.sync.enabled&&document.getElementById("toolbarSync").classList.remove("fn__none");let i;if(getSelection().rangeCount>0&&(i=getSelection().getRangeAt(0)),a.data[0].doOperations.forEach(s=>{if(s.action==="unfoldHeading"||s.action==="foldHeading"){ai(s,e);return}if(s.action==="update"){e.options.backlinkData&&(Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${s.id}"]`)).forEach(o=>{z(o)||i&&(o.isSameNode(i.startContainer)||o.contains(i.startContainer))||(o.outerHTML=s.data.replace("<wbr>",""))}),Tt(e.wysiwyg.element),Et(e.wysiwyg.element),tt(e.wysiwyg.element,e),Ke(e,e.wysiwyg.element)),Sa(e,s);return}if(s.action==="delete"||s.action==="append"){e.options.backlinkData&&Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${s.id}"]`)).forEach(o=>{!z(o)&&!o.contains(i.startContainer)&&o.remove()}),e.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach(o=>{o.querySelector(`[data-node-id="${s.id}"]`)&&(o.removeAttribute("data-render"),Ke(e,o))}),It(["gutter"],e);return}if(s.action==="move"){if(e.options.backlinkData){const o=[];Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${s.id}"]`)).forEach(r=>{if(!z(r)){const c=F(r,"data-node-id",null);c&&!c.contains(i.startContainer)&&o.push(r)}});let l=!1;s.previousID&&o.length>0?Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${s.previousID}"]`)).forEach(r=>{!z(r)&&!r.nextElementSibling.contains(i.startContainer)&&(r.after(be(o[0].cloneNode(!0))),l=!0)}):o.length>0&&Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${s.parentID}"]`)).forEach(r=>{var c;!z(r)&&!Ye(r).contains(i.startContainer)&&((c=r.firstElementChild)!=null&&c.classList.contains("protyle-action")?r.firstElementChild.after(be(o[0].cloneNode(!0))):r.prepend(be(o[0].cloneNode(!0))),l=!0)}),o.forEach(r=>{l?r.remove():!l&&r.parentElement&&Xs(r,e)})}e.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach(o=>{o.querySelector(`[data-node-id="${s.id}"],[data-node-id="${s.parentID}"],[data-node-id="${s.previousID}"]`)&&(o.removeAttribute("data-render"),Ke(e,o))});return}
2598if(s.action==="insert"&&e.options.backlinkData){const o=[];s.previousID?Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${s.previousID}"]`)).forEach(l=>{var r;((r=l.nextElementSibling)==null?void 0:r.getAttribute("data-node-id"))!==s.id&&!l.contains(i.startContainer)&&!R(l,"data-node-id",s.id)&&!z(l)&&(l.insertAdjacentHTML("afterend",s.data),o.push(l.nextElementSibling))}):Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${s.parentID}"]`)).forEach(l=>{!z(l)&&!l.contains(i.startContainer)&&(l.firstElementChild&&l.firstElementChild.classList.contains("protyle-action")&&l.firstElementChild.nextElementSibling.getAttribute("data-node-id")!==s.id?(l.firstElementChild.insertAdjacentHTML("afterend",s.data),o.push(l.firstElementChild.nextElementSibling)):l.firstElementChild&&l.firstElementChild.getAttribute("data-node-id")!==s.id&&(l.insertAdjacentHTML("afterbegin",s.data),o.push(l.firstElementChild)))}),e.wysiwyg.element.querySelectorAll('[data-type="NodeHeading"]').forEach(l=>{l.lastElementChild.getAttribute("spin")==="1"&&l.lastElementChild.remove()}),o.forEach(l=>{Tt(l),Et(l),tt(l,e),Ke(e,l);const r=l.querySelector("wbr");r&&r.remove()})}}),e.wysiwyg.element.childElementCount===0&&!e.block.showAll){const s=Lute.NewNodeID(),o=ba(!1,!0,s);e.wysiwyg.element.insertAdjacentElement("afterbegin",o),vt(e,[{action:"insert",data:o.outerHTML,id:s,parentID:e.block.parentID}]),$n(o,i)}})},Sa=(e,t)=>{let n=!1;const a=(s,o)=>{const l=document.createElement("template");l.innerHTML=o,l.content.querySelectorAll('[contenteditable="true"]').forEach(c=>{c.setAttribute("contenteditable","false")}),l.content.querySelectorAll(".protyle-wysiwyg--select").forEach(c=>{c.classList.remove("protyle-wysiwyg--select")});const r=l.querySelector("wbr");r&&r.remove(),s.outerHTML=l.innerHTML,n=!0},i=document.createElement("template");i.innerHTML=t.data,e.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach(s=>{const o=s.querySelectorAll(`[data-node-id="${t.id}"]`);o.length>0?o.forEach(l=>{a(l,t.data)}):s.querySelectorAll(".protyle-wysiwyg__embed").forEach(l=>{const r=i.content.querySelector(`[data-node-id="${l.getAttribute("data-id")}"]`);r&&a(l.querySelector("[data-node-id]"),r.outerHTML)})}),n&&(Tt(e.wysiwyg.element),Et(e.wysiwyg.element),tt(e.wysiwyg.element,e))},Qs=(e,t,n,a)=>{a&&focusSideBlock(e[0]),e.forEach(i=>{if(a)i.remove();else{const s=getTopAloneElement(i);s&&s.remove()}}),n.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach(i=>{i.querySelector(`[data-node-id="${t}"]`)&&(i.removeAttribute("data-render"),blockRender(n,i))})},ei=(e,t,n,a)=>{e.forEach(s=>{s.getAttribute("data-subtype")==="echarts"?s.outerHTML=t.lute.SpinBlockDOM(n.data):s.outerHTML=n.data}),Array.from(t.wysiwyg.element.querySelectorAll(`[data-node-id="${n.id}"]`)).find(s=>{if(!isInEmbedBlock(s))return e[0]=s,!0});const i=e[0].querySelector("wbr");if(a){const s=getEditorRange(e[0]);i?focusByWbr(e[0],s):focusBlock(e[0])}else i&&i.remove();processRender(e.length===1?e[0]:t.wysiwyg.element),highlightRender(e.length===1?e[0]:t.wysiwyg.element),avRender(e.length===1?e[0]:t.wysiwyg.element,t),blockRender(t,e.length===1?e[0]:t.wysiwyg.element),Sa(t,n)},Zf=(e,t,n)=>{var a,i;const s=[];if(Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}"]`)).forEach(o=>{isInEmbedBlock(o)||s.push(o)}),t.action==="setAttrs"){e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}"]`).forEach(o=>{JSON.parse(t.data).fold==="1"?o.setAttribute("fold","1"):o.removeAttribute("fold")});return}if(t.action==="unfoldHeading"){const o=e.contentElement.scrollTop;e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}"]`).forEach(l=>{if(l.removeAttribute("fold"),n)return;const r=isInEmbedBlock(l);if(r){r.removeAttribute("data-render"),blockRender(e,r);return}t.retData&&(ti(t.retData,e),l.insertAdjacentHTML("afterend",t.retData)),t.data==="remove"&&l.remove()}),t.retData&&(e.disabled&&disabledProtyle(e),processRender(e.wysiwyg.element),highlightRender(e.wysiwyg.element),avRender(e.wysiwyg.element,e),blockRender(e,e.wysiwyg.element),e.contentElement.scrollTop=o,e.scroll.lastScrollTop=o);return}if(t.action==="foldHeading"){if(e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}"]`).forEach(o=>{o.setAttribute("fold","1"),t.retData||removeFoldHeading(o)}),n)return;t.retData&&(t.retData.forEach(o=>{let l;Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${o}"]`)).find(r=>{if(l=isInEmbedBlock(r),l)return!0;r.remove()}),l&&(l.removeAttribute("data-render"),blockRender(e,l))}),e.wysiwyg.element.childElementCount===0&&zoomOut({protyle:e,id:e.block.rootID,isPushBack:!1,focusId:t.id}));return}if(t.action==="delete"){s.length>0||!n?Qs(s,t.id,e,n):n&&zoomOut({protyle:e,id:e.block.rootID,isPushBack:!1,focusId:t.id,callback(){Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}
2598"]`)).forEach(o=>{isInEmbedBlock(o)||s.push(o)}),Qs(s,t.id,e,n)}});return}if(t.action==="update"){if(s.length===0){const o=e.wysiwyg.element.querySelector("[data-node-id]");if(o){const l=o.getAttribute("data-node-id"),r=document.createElement("template");r.innerHTML=t.data;const c=r.content.querySelector(`[data-node-id="${l}"]`);if(c){s.push(o),t.data=c.outerHTML,t.id=l;for(let f=1;f<e.wysiwyg.element.childElementCount;f++)e.wysiwyg.element.childNodes[f].remove(),f--}}}s.length>0?ei(s,e,t,n):n?zoomOut({protyle:e,id:e.block.rootID,isPushBack:!1,focusId:t.id,callback(){Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}"]`)).forEach(o=>{isInEmbedBlock(o)||s.push(o)}),ei(s,e,t,n)}}):Sa(e,t);return}if(t.action==="updateAttrs"){const o=t.data,l={};let r="",c="",f="",d="",u="";Object.keys(o.new).forEach(p=>{l[p]=o.new[p];const m=Lute.EscapeHTMLStr(o.new[p]);p==="bookmark"?r=`<div class="protyle-attr--bookmark">${m}</div>`:p==="name"?c=`<div class="protyle-attr--name"><svg><use xlink:href="#iconN"></use></svg>${m}</div>`:p==="alias"?f=`<div class="protyle-attr--alias"><svg><use xlink:href="#iconA"></use></svg>${m}</div>`:p==="memo"?d=`<div class="protyle-attr--memo b3-tooltips b3-tooltips__sw" aria-label="${m}"><svg><use xlink:href="#iconM"></use></svg></div>`:p==="custom-avs"&&o.new["av-names"]&&(u=`<div class="protyle-attr--av"><svg><use xlink:href="#iconDatabase"></use></svg>${o.new["av-names"]}</div>`)});let g=r+c+f+d+u;if(e.block.rootID===t.id){if(e.title){o.new["custom-avs"]&&!o.new["av-names"]&&(g+=((a=e.title.element.querySelector(".protyle-attr--av"))==null?void 0:a.outerHTML)||"");const p=e.title.element.querySelector(".protyle-attr--refcount");p&&(g+=p.outerHTML),o.new[Constants.CUSTOM_RIFF_DECKS]&&o.new[Constants.CUSTOM_RIFF_DECKS]!==o.old[Constants.CUSTOM_RIFF_DECKS]?(e.title.element.style.animation="addCard 450ms linear",e.title.element.setAttribute(Constants.CUSTOM_RIFF_DECKS,o.new[Constants.CUSTOM_RIFF_DECKS]),setTimeout(()=>{e.title.element.style.animation=""},450)):o.new[Constants.CUSTOM_RIFF_DECKS]||e.title.element.removeAttribute(Constants.CUSTOM_RIFF_DECKS),e.title.element.querySelector(".protyle-attr").innerHTML=g}if(e.wysiwyg.renderCustom(l),o.new[Constants.CUSTOM_SY_FULLWIDTH]!==o.old[Constants.CUSTOM_SY_FULLWIDTH]&&resize(e),o.new[Constants.CUSTOM_SY_READONLY]!==o.old[Constants.CUSTOM_SY_READONLY]){let p=o.new[Constants.CUSTOM_SY_READONLY];p||(p=window.siyuan.config.editor.readOnly?"true":"false"),p==="true"?disabledProtyle(e):enableProtyle(e)}(o.new.icon!==o.old.icon||o.new["title-img"]!==o.old["title-img"]||o.new.tags!==o.old.tags&&e.background)&&(e=window.siyuan.mobile.editor.protyle,e.background.ial.icon=o.new.icon,e.background.ial.tags=o.new.tags,e.background.ial["title-img"]=o.new["title-img"],e.background.render(e.background.ial,e.block.rootID),(i=e.model)==null||i.parent.setDocIcon(o.new.icon));return}e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}"]`).forEach(p=>{var m;if(p.getAttribute("data-type")==="NodeThematicBreak")return;Object.keys(o.old).forEach(k=>{p.removeAttribute(k)}),o.new.style&&o.new[Constants.CUSTOM_RIFF_DECKS]&&o.new[Constants.CUSTOM_RIFF_DECKS]!==o.old[Constants.CUSTOM_RIFF_DECKS]&&(o.new.style+=";animation:addCard 450ms linear"),Object.keys(o.new).forEach(k=>{p.setAttribute(k,o.new[k]),k===Constants.CUSTOM_RIFF_DECKS&&o.new[Constants.CUSTOM_RIFF_DECKS]!==o.old[Constants.CUSTOM_RIFF_DECKS]&&(p.style.animation="addCard 450ms linear",setTimeout(()=>{p.parentElement?p.style.animation="":e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}"]`).forEach(A=>{A.style.animation=""})},450))});const b=p.querySelector(".protyle-attr");o.new["custom-avs"]&&!o.new["av-names"]&&(g+=((m=b.querySelector(".protyle-attr--av"))==null?void 0:m.outerHTML)||"");const E=b.querySelector(".protyle-attr--refcount");E&&(g+=E.outerHTML),b.innerHTML=g+Constants.ZWSP});return}if(t.action==="move"){let o;if(n&&getSelection().rangeCount>0){o=getSelection().getRangeAt(0);const r=hasClosestBlock(o.startContainer);r&&(getContenteditableElement(r)?o.insertNode(document.createElement("wbr")):getContenteditableElement(s[0]).insertAdjacentHTML("afterbegin","<wbr>"))}let l=!1;if(t.previousID&&s.length>0){const r=e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.previousID}"]`);if(r.length===0&&e.options.backlinkData&&n&&getSelection().rangeCount>0){const c=hasTopClosestByAttribute(o.startContainer,"data-node-id",null);c&&(c.before(processClonePHElement(s[0].cloneNode(!0))),l=!0)}else r.forEach(c=>{isInEmbedBlock(c)||(c.after(processClonePHElement(s[0].cloneNode(!0))),l=!0)})}else if(s.length>0){const r=e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.parentID}"]`);if(!e.options.backlinkData&&t.parentID===e.block.parentID)e.wysiwyg.element.prepe
2598nd(processClonePHElement(s[0].cloneNode(!0))),l=!0;else if(r.length===0&&e.options.backlinkData&&n&&getSelection().rangeCount>0){const c=hasTopClosestByAttribute(getSelection().getRangeAt(0).startContainer,"data-node-id",null);c&&(c.before(processClonePHElement(s[0].cloneNode(!0))),l=!0)}else r.forEach(c=>{var f;isInEmbedBlock(c)||((f=c.firstElementChild)!=null&&f.classList.contains("protyle-action")?c.firstElementChild.after(processClonePHElement(s[0].cloneNode(!0))):c.prepend(processClonePHElement(s[0].cloneNode(!0))),l=!0)})}s.forEach(r=>{l?r.remove():!l&&r.parentElement&&Xs(r,e)}),n&&o&&(t.data==="focus"?(Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.id}"]`)).find(r=>{if(!isInEmbedBlock(r))return focusBlock(r),!0}),document.querySelectorAll("wbr").forEach(r=>{r.remove()})):focusByWbr(e.wysiwyg.element,o)),n||e.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach(r=>{r.querySelector(`[data-node-id="${t.id}"],[data-node-id="${t.parentID}"],[data-node-id="${t.previousID}"]`)&&(r.removeAttribute("data-render"),blockRender(e,r))});return}if(t.action==="insert"){const o=[];if(t.previousID){const l=e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.previousID}"]`);if(l.length===0&&e.options.backlinkData&&n&&getSelection().rangeCount>0){const r=hasClosestBlock(getSelection().getRangeAt(0).startContainer);r&&(r.insertAdjacentHTML("beforebegin",t.data),o.push(r.previousElementSibling))}else l.forEach(r=>{const c=isInEmbedBlock(r);c?(c.removeAttribute("data-render"),blockRender(e,c)):(r.insertAdjacentHTML("afterend",t.data),o.push(r.nextElementSibling))})}else if(t.nextID)Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.nextID}"]`)).forEach(l=>{const r=isInEmbedBlock(l);r?(r.removeAttribute("data-render"),blockRender(e,r)):(l.insertAdjacentHTML("beforebegin",t.data),o.push(l.previousElementSibling))});else{const l=e.wysiwyg.element.querySelectorAll(`[data-node-id="${t.parentID}"]`);if(!e.options.backlinkData&&t.parentID===e.block.parentID)e.wysiwyg.element.insertAdjacentHTML("afterbegin",t.data),o.push(e.wysiwyg.element.firstElementChild);else if(l.length===0&&e.options.backlinkData&&n&&getSelection().rangeCount>0){const r=hasClosestBlock(getSelection().getRangeAt(0).startContainer);r&&(r.insertAdjacentHTML("beforebegin",t.data),o.push(r.previousElementSibling))}else l.forEach(r=>{var c;isInEmbedBlock(r)||((c=r.firstElementChild)!=null&&c.classList.contains("protyle-action")?(r.firstElementChild.insertAdjacentHTML("afterend",t.data),o.push(r.firstElementChild.nextElementSibling)):(r.insertAdjacentHTML("afterbegin",t.data),o.push(r.firstElementChild)))})}if(e.wysiwyg.element.querySelectorAll('[data-type="NodeHeading"]').forEach(l=>{l.lastElementChild.getAttribute("spin")==="1"&&l.lastElementChild.remove()}),o.length===0)return;o.forEach(l=>{processRender(l),highlightRender(l),avRender(l,e),blockRender(e,l);const r=l.querySelector("wbr");if(n){const c=getEditorRange(l);r?focusByWbr(l,c):focusBlock(l)}else r&&r.remove()});return}if(t.action==="append"){e.options.backlinkData||reloadProtyle(e,!1);return}if(["addAttrViewCol","insertAttrViewBlock","updateAttrViewCol","updateAttrViewColOptions","updateAttrViewColOption","updateAttrViewCell","sortAttrViewRow","sortAttrViewCol","setAttrViewColHidden","setAttrViewColWrap","setAttrViewColWidth","removeAttrViewColOption","setAttrViewName","setAttrViewFilters","setAttrViewSorts","setAttrViewColCalc","removeAttrViewCol","updateAttrViewColNumberFormat","removeAttrViewBlock","replaceAttrViewBlock","updateAttrViewColTemplate","setAttrViewColPin","addAttrViewView","setAttrViewColIcon","removeAttrViewView","setAttrViewViewName","setAttrViewViewIcon","duplicateAttrViewView","sortAttrViewView","updateAttrViewColRelation","setAttrViewPageSize","updateAttrViewColRollup","sortAttrViewKey","duplicateAttrViewKey","setAttrViewViewDesc","setAttrViewColDesc"].includes(t.action)){n?t.action==="setAttrViewName"&&Array.from(e.wysiwyg.element.querySelectorAll(`[data-av-id="${t.id}"]`)).forEach(o=>{const l=o.querySelector(".av__title");l&&(l.textContent=t.data,l.dataset.title=t.data)}):refreshAV(e,t);return}
2598if(t.action==="doUpdateUpdated"){s.forEach(o=>{o.setAttribute("updated",t.data)});return}},Xf=e=>{let t;const n=Lute.NewNodeID();if(e.type==="BlocksMergeSuperBlock")t=genSBElement(e.level,n);else if(e.type==="Blocks2Blockquote")t=document.createElement("div"),t.classList.add("bq"),t.setAttribute("data-node-id",n),t.setAttribute("data-type","NodeBlockquote"),t.innerHTML='<div class="protyle-attr" contenteditable="false"></div>';else if(e.type.endsWith("Ls")){t=document.createElement("div"),t.classList.add("list"),t.setAttribute("data-node-id",n),t.setAttribute("data-type","NodeList"),e.type==="Blocks2ULs"?t.setAttribute("data-subtype","u"):e.type==="Blocks2OLs"?t.setAttribute("data-subtype","o"):t.setAttribute("data-subtype","t");let r="";e.selectsElement.forEach((c,f)=>{e.type==="Blocks2ULs"?r+=`<div data-marker="*" data-subtype="u" data-node-id="${Lute.NewNodeID()}" data-type="NodeListItem" class="li"><div class="protyle-action" draggable="true"><svg><use xlink:href="#iconDot"></use></svg></div><div class="protyle-attr" contenteditable="false"></div></div>`:e.type==="Blocks2OLs"?r+=`<div data-marker="${f+1}." data-subtype="o" data-node-id="${Lute.NewNodeID()}" data-type="NodeListItem" class="li"><div class="protyle-action protyle-action--order" contenteditable="false" draggable="true">${f+1}.</div><div class="protyle-attr" contenteditable="false"></div></div>`:r+=`<div data-marker="*" data-subtype="t" data-node-id="${Lute.NewNodeID()}" data-type="NodeListItem" class="li"><div class="protyle-action protyle-action--task" draggable="true"><svg><use xlink:href="#iconUncheck"></use></svg></div><div class="protyle-attr" contenteditable="false"></div></div>`}),t.innerHTML=r+'<div class="protyle-attr" contenteditable="false"></div>'}const a=e.selectsElement[0].getAttribute("data-node-id"),i=e.selectsElement[0].parentElement.getAttribute("data-node-id")||e.protyle.block.parentID,s=[{action:"insert",id:n,data:t.outerHTML,nextID:a,parentID:i}],o=[];e.selectsElement[0].previousElementSibling?e.selectsElement[0].before(t):e.selectsElement[0].parentElement.prepend(t);let l;e.selectsElement.forEach((r,c)=>{r.classList.remove("protyle-wysiwyg--select"),r.removeAttribute("select-start"),r.removeAttribute("select-end");const f=r.getAttribute("data-node-id");o.push({action:"move",id:f,previousID:l||n,parentID:i}),e.type.endsWith("Ls")?(s.push({action:"move",id:f,parentID:t.children[c].getAttribute("data-node-id")}),t.children[c].firstElementChild.after(r)):(s.push({action:"move",id:f,previousID:l,parentID:n}),t.lastElementChild.before(r)),l=r.getAttribute("data-node-id"),c===e.selectsElement.length-1&&o.push({action:"delete",id:n}),r.getAttribute("data-type")==="NodeBlockQueryEmbed"&&(r.removeAttribute("data-render"),blockRender(e.protyle,r))}),vt(e.protyle,s,o),focusBlock(e.protyle.wysiwyg.element.querySelector(`[data-node-id="${e.selectsElement[0].getAttribute("data-node-id")}"]`)),hideElements(["gutter"],e.protyle)},ti=(e,t)=>{const n=document.createElement("template");n.innerHTML=e,Array.from(n.content.children).forEach(a=>{var i;(i=t.wysiwyg.element.querySelector(`:scope > [data-node-id="${a.getAttribute("data-node-id")}"]`))==null||i.remove()})},Jf=e=>{let t=e.selectsElement,n;if(e.nodeElement){n=getSelection().getRangeAt(0),n.insertNode(document.createElement("wbr")),t=Array.from(e.protyle.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--select")),t.length===0&&(t=[e.nodeElement]);let l=!1,r=!1,c=!1;if(t.find((f,d)=>{if(f.classList.contains("li"))return c=!0,!0;if((f.classList.contains("bq")||f.classList.contains("sb")||f.classList.contains("p"))&&(r=!0),f.nextElementSibling&&t[d+1]&&f.nextElementSibling.isSameNode(t[d+1]))l=!0;else if(d!==t.length-1)return l=!1,!0}),c||r&&e.type==="Blocks2Ps")return;t.length===1&&e.type==="Blocks2Hs"&&t[0].getAttribute("data-type")==="NodeHeading"&&e.level===parseInt(t[0].getAttribute("data-subtype").substr(1))&&(e.type="Blocks2Ps"),e.isContinue=l}let a="";const i=[],s=[];let o;t.forEach((l,r)=>{var c,f,d,u,g,p;(e.type==="Blocks2Ps"||e.type==="Blocks2Hs")&&l.getAttribute("data-type")==="NodeHeading"&&l.getAttribute("fold")==="1"&&setFold(e.protyle,l,void 0,void 0,!1),l.classList.remove("protyle-wysiwyg--select"),l.removeAttribute("select-start"),l.removeAttribute("select-end"),a+=l.outerHTML;const m=l.getAttribute("data-node-id"),b=document.createElement("template");if(e.isContinue)if(s.push({action:"insert",id:m,previousID:((u=i[i.length-1])==null?void 0:u.id)||((g=l.previousElementSibling)==null?void 0:g.getAttribute("data-node-id")),data:l.outerHTML,parentID:((p=l.parentElement)==null?void 0:p.getAttribute("data-node-id"))||e.protyle.block.parentID||e.protyle.block.rootID}),i.push({action:"delete",id:m}),r===t.length-1){const E=e.protyle.lute[e.type](a,e.level);
2598b.innerHTML=E,Array.from(b.content.children).forEach(k=>{var A,v,w;const y=k.getAttribute("data-node-id");i.push({action:"insert",id:y,previousID:((A=k.previousElementSibling)==null?void 0:A.getAttribute("data-node-id"))||((v=l.previousElementSibling)==null?void 0:v.getAttribute("data-node-id")),data:k.outerHTML,parentID:((w=l.parentElement)==null?void 0:w.getAttribute("data-node-id"))||e.protyle.block.parentID||e.protyle.block.rootID}),s.splice(0,0,{action:"delete",id:y})}),l.outerHTML=E}else l.remove();else{const E=e.protyle.lute[e.type](l.outerHTML,e.level);b.innerHTML=E,b.content.querySelector(`[data-node-id="${m}"]`)?(s.push({action:"update",id:m,data:l.outerHTML}),i.push({action:"update",id:m,data:E})):(s.push({action:"insert",id:m,previousID:o||((c=l.previousElementSibling)==null?void 0:c.getAttribute("data-node-id")),data:l.outerHTML,parentID:((f=l.parentElement)==null?void 0:f.getAttribute("data-node-id"))||e.protyle.block.parentID||e.protyle.block.rootID}),Array.from(b.content.children).forEach(k=>{var A,v,w;const y=k.getAttribute("data-node-id");i.push({action:"insert",id:y,previousID:((A=k.previousElementSibling)==null?void 0:A.getAttribute("data-node-id"))||((v=l.previousElementSibling)==null?void 0:v.getAttribute("data-node-id")),data:k.outerHTML,parentID:((w=l.parentElement)==null?void 0:w.getAttribute("data-node-id"))||e.protyle.block.parentID||e.protyle.block.rootID}),s.splice(0,0,{action:"delete",id:y})}),i.push({action:"delete",id:m}),l.isSameNode((d=t[r+1])==null?void 0:d.previousElementSibling)?o=m:o=void 0),l.outerHTML=E}}),vt(e.protyle,i,s),processRender(e.protyle.wysiwyg.element),highlightRender(e.protyle.wysiwyg.element),avRender(e.protyle.wysiwyg.element,e.protyle),blockRender(e.protyle,e.protyle.wysiwyg.element),n||e.range?focusByWbr(e.protyle.wysiwyg.element,n||e.range):focusBlock(e.protyle.wysiwyg.element.querySelector(`[data-node-id="${t[0].getAttribute("data-node-id")}"]`)),hideElements(["gutter"],e.protyle)},Qf=e=>Ul(void 0,null,function*(){var t,n;if(e.nodeElement.querySelector("wbr")||(t=getContenteditableElement(e.nodeElement))==null||t.insertAdjacentHTML("afterbegin","<wbr>"),e.type==="CancelList"||e.type==="CancelBlockquote")try{for(var a=Fl(e.nodeElement.querySelectorAll('[data-type="NodeHeading"][fold="1"]')),i,s,o;i=!(s=yield a.next()).done;i=!1){const d=s.value,u=d.getAttribute("data-node-id");d.removeAttribute("fold");const g=yield fetchSyncPost("/api/transactions",{session:e.protyle.id,app:Constants.SIYUAN_APPID,transactions:[{doOperations:[{action:"unfoldHeading",id:u}],undoOperations:[{action:"foldHeading",id:u}]}]});e.protyle.undo.add([{action:"unfoldHeading",id:u}],[{action:"foldHeading",id:u}],e.protyle),d.insertAdjacentHTML("afterend",g.data[0].doOperations[0].retData)}}catch(d){o=[d]}finally{try{i&&(s=a.return)&&(yield s.call(a))}finally{if(o)throw o[0]}}const l=e.nodeElement.outerHTML,r=(n=e.nodeElement.previousElementSibling)==null?void 0:n.getAttribute("data-node-id"),c=e.nodeElement.parentElement.getAttribute("data-node-id")||e.protyle.block.parentID,f=e.protyle.lute[e.type](e.nodeElement.outerHTML,e.level);if(e.nodeElement.outerHTML=f,e.type==="CancelList"||e.type==="CancelBlockquote"){const d=document.createElement("template");d.innerHTML=f;const u=[{action:"delete",id:e.id}],g=[];let p=r;Array.from(d.content.children).forEach(m=>{const b=m.getAttribute("data-node-id");u.push({action:"insert",data:m.outerHTML,id:b,previousID:p,parentID:c}),g.push({action:"delete",id:b}),p=b}),g.push({action:"insert",data:l,id:e.id,previousID:r,parentID:c}),vt(e.protyle,u,g)}else Kt(e.protyle,e.id,f,l);focusByWbr(e.protyle.wysiwyg.element,getEditorRange(e.protyle.wysiwyg.element)),e.protyle.wysiwyg.element.querySelectorAll('[data-type~="block-ref"]').forEach(d=>{d.textContent===""&&fetchPost("/api/block/getRefText",{id:d.getAttribute("data-id")},u=>{d.innerHTML=u.data})}),blockRender(e.protyle,e.protyle.wysiwyg.element),processRender(e.protyle.wysiwyg.element),highlightRender(e.protyle.wysiwyg.element),avRender(e.protyle.wysiwyg.element,e.protyle)});let ni;const vt=(e,t,n)=>{if(t.length===0)return;if(!e){ve("/api/transactions",{session:$.SIYUAN_APPID,app:$.SIYUAN_APPID,transactions:[{doOperations:t}]});return}const a=window.siyuan.transactions[window.siyuan.transactions.length-1];let i=!1;const s=new Date().getTime();if(a&&a.doOperations.length===1&&a.doOperations[0].action==="update"&&t.length===1&&t[0].action==="update"&&a.doOperations[0].id===t[0].id&&e.transactionTime-s<$.TIMEOUT_INPUT&&(i=!0),n&&(window.siyuan.config.fileTree.openFilesUseCurrentTab&&e.model&&e.model.headElement.classList.remove("item--unupdate"),e.updated=!0,i?e.undo.replace(t,e):e.undo.add(t,n,e)),window.clearTimeout(ni),t.length===1&&(t[0].action==="unfoldHeading"||t[0].action==="setAttrs"&&t[0].data.startsWith('{"fold":'))){e.transactionTime=s+$.TIMEOUT_INPUT*2,ve("/api/transactions",{session:e.id,app:$.SIYUAN_APPID,transactions:[{doOperations:t,undoOperations:n}]},o=>{o.data[0].doOperations.forEach(l=>{if(l.action==="unfoldHeading"||l.action==="foldHeading")ai(l,e);else if(l.action==="setAttrs"){const r=e.gutter.element.querySelector('[data-type="fold"]');r&&r.removeAttribute("disabled"),e.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach(c=>{c.querySelector(`[data-node-id="${l.id}"]`)&&(c.removeAttribute("data-render"),Ke(e,c))})}})});return}i?(window.siyuan.transactions[window.siyuan.transactions.length-1].protyle=e,window.siyuan.transactions[window.siyuan.transactions.length-1].doOperations=t):window.siyuan.transactions.push({protyle:e,doOperations:t,undoOperations:n}),e.transactionTime=s,ni=window.setTimeout(()=>{Js()},$.TIMEOUT_INPUT*2),t.find(o=>{var l;if(o.action==="insert")return(l=e.observerLoad)==null||l.disconnect(),!0})},ai=(e,t)=>{if(e.action==="unfoldHeading"||e.action==="foldHeading"){const n=t.gutter.element.querySelector('[data-type="fold"]');if(n&&n.removeAttribute("disabled"),e.action==="unfoldHeading"){const a=t.contentElement.scrollTop;
2598t.wysiwyg.element.querySelectorAll(`[data-node-id="${e.id}"]`).forEach(i=>{const s=z(i);if(s){s.removeAttribute("data-render"),Ke(t,s);return}if(i.lastElementChild.classList.contains("protyle-attr")||i.lastElementChild.remove(),ti(e.retData,t),i.insertAdjacentHTML("afterend",e.retData),e.data==="remove"){const o=getSelection();o.rangeCount>0&&i.contains(o.getRangeAt(0).startContainer)&&qe(i.nextElementSibling,void 0,!0),i.remove()}}),t.disabled&&Sn(t),Tt(t.wysiwyg.element),Et(t.wysiwyg.element),tt(t.wysiwyg.element,t),Ke(t,t.wysiwyg.element),t.contentElement.scrollTop=a,t.scroll.lastScrollTop=a;return}t.wysiwyg.element.querySelectorAll(`[data-node-id="${e.id}"]`).forEach(a=>{const i=z(a);i&&(i.removeAttribute("data-render"),Ke(t,i))}),t.wysiwyg.element.lastElementChild.getAttribute("data-eof")!=="2"&&!t.scroll.element.classList.contains("fn__none")&&t.contentElement.scrollHeight-t.contentElement.scrollTop<t.contentElement.clientHeight*2&&ve("/api/filetree/getDoc",{id:t.wysiwyg.element.lastElementChild.getAttribute("data-node-id"),mode:2,size:window.siyuan.config.editor.dynamicLoadBlocks},a=>{Ht({data:a,protyle:t,action:[$.CB_GET_APPEND,$.CB_GET_UNCHANGEID]})});return}},Kt=(e,t,n,a)=>{n!==a&&vt(e,[{id:t,data:n,action:"update"}],[{id:t,data:a,action:"update"}])},Yl=(e,t,n)=>{const a=[],i=[];e.forEach(s=>{const o=s.getAttribute("data-node-id");s.classList.remove("protyle-wysiwyg--select"),s.removeAttribute("select-start"),s.removeAttribute("select-end"),i.push({action:"update",id:o,data:s.outerHTML}),n(s),a.push({action:"update",id:o,data:s.outerHTML})}),vt(t,a,i)},eg=(e,t)=>{const n=hasClosestByClassName(e,"av__row");if(!n)return;const a=e.querySelector("use");n.classList.contains("av__row--header")||t==="unselectAll"?a.getAttribute("xlink:href")==="#iconCheck"||t==="unselectAll"?n.parentElement.querySelectorAll(".av__firstcol").forEach(i=>{i.querySelector("use").setAttribute("xlink:href","#iconUncheck");const s=hasClosestByClassName(i,"av__row");s&&s.classList.remove("av__row--select")}):n.parentElement.querySelectorAll(".av__firstcol").forEach(i=>{i.querySelector("use").setAttribute("xlink:href","#iconCheck");const s=hasClosestByClassName(i,"av__row");s&&s.classList.add("av__row--select")}):t==="select"||a.getAttribute("xlink:href")==="#iconUncheck"&&t==="toggle"?(n.classList.add("av__row--select"),a.setAttribute("xlink:href","#iconCheck")):(t==="unselect"||a.getAttribute("xlink:href")==="#iconCheck"&&t==="toggle")&&(n.classList.remove("av__row--select"),a.setAttribute("xlink:href","#iconUncheck")),focusBlock(hasClosestBlock(n)),La(n)},La=e=>{const t=K(e);if(!t)return;const n=e.parentElement.querySelectorAll(".av__row--select:not(.av__row--header)").length,a=e.parentElement.childElementCount-3-n,i=e.parentElement.firstElementChild,s=i.querySelector("use"),o=t.querySelector(".av__counter"),l=t.querySelector(".av__header");if(a===0&&e.parentElement.childElementCount-3!==0)i.classList.add("av__row--select"),s.setAttribute("xlink:href","#iconCheck");else if(a===e.parentElement.childElementCount-3){i.classList.remove("av__row--select"),s.setAttribute("xlink:href","#iconUncheck"),o.classList.add("fn__none"),l.style.position="";return}else a>0&&(i.classList.add("av__row--select"),s.setAttribute("xlink:href","#iconIndeterminateCheck"));o.classList.remove("fn__none"),o.innerHTML=`${n} ${window.siyuan.languages.selected}`,l.style.position="sticky"},si=e=>{const t=parseInt(e.getAttribute("data-page-size"));if(t){const n=e.querySelectorAll(".av__row:not(.av__row--header)").length;t<n&&e.setAttribute("data-page-size",n.toString())}},Wl=(e,t,n,a,i)=>{if(t.querySelector('[data-type="av-search"]').value!==""){showMessage(window.siyuan.languages.insertRowTip);return}let s=t.querySelector(`.av__row[data-id="${a}"]`)||t.querySelector(".av__row--header");t.querySelector('.av__views [data-type="av-sort"]').classList.contains("block__icon--active")&&(s=t.querySelector(".av__row--util").previousElementSibling);let o='<div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div></div>';
2598const l=s.querySelectorAll(".av__colsticky .av__cell").length-1;l>-1&&(o='<div class="av__colsticky"><div class="av__firstcol"><svg><use xlink:href="#iconUncheck"></use></svg></div>'),s.querySelectorAll(".av__cell").forEach((c,f)=>{var d;let u="";if(getTypeByCellElement(c)==="lineNumber"){const g=(d=c.querySelector(".av__celltext"))==null?void 0:d.getAttribute("data-value");g&&(u=(parseInt(g)+1).toString())}o+=`<div class="av__cell" data-col-id="${c.dataset.colId}" 
2599style="width: ${c.style.width};${c.dataset.dtype==="number"?"text-align: right;":""}" 
2600${getTypeByCellElement(c)==="block"?' data-detached="true"':""}><span class="${i?"av__celltext":"av__pulse"}">${u}</span></div>`,l===f&&(o+="</div>")});let r="";if(n.forEach(c=>{const f=t.querySelector(`[data-block-id="${c}"]`);f?(t.querySelectorAll(".av__cell--select, .av__cell--active").forEach(d=>{var u;d.classList.remove("av__cell--select","av__cell--active"),(u=d.querySelector(".av__drag-fill"))==null||u.remove()}),addDragFill(f),f.classList.add("av__cell--select")):r+=`<div class="av__row" data-type="ghost" data-id="${c}" data-avid="${i}" data-previous-id="${a}">
2601    ${o}
2602</div>`}),s.insertAdjacentHTML("afterend",r),i){const c=s.nextElementSibling;t.querySelector('.av__views [data-type="av-sort"]').classList.contains("block__icon--active")&&!t.querySelector('[data-type="av-load-more"]').classList.contains("fn__none")&&c.setAttribute("data-need-update","true");const f=s.classList.contains("av__row--header")?c.nextElementSibling:s;fetchPost("/api/av/getAttributeViewFilterSort",{id:i,blockID:t.getAttribute("data-node-id")},d=>{let u=!1;d.data.filters.find(g=>{const p=t.querySelector(`.av__cell--header[data-col-id="${g.column}"]`);if(!p)return;const m=p.getAttribute("data-dtype");if(g.value&&m!==g.value.type)return;if(["relation","rollup","template"].includes(m))return u=!0,!0;["created","updated"].includes(m)?c.setAttribute("data-need-update","true"):d.data.sorts.find(E=>{if(E.column===g.column)return c.setAttribute("data-need-update","true"),!0});let b=!0;if(g.operator!=="Is empty"&&g.operator!=="Is not empty")switch(g.value.type){case"select":case"mSelect":(!g.value.mSelect||g.value.mSelect.length===0)&&(b=!1);break;case"block":(!g.value.block||!g.value.block.content)&&(b=!1);break;case"number":(!g.value.number||!g.value.number.isNotEmpty)&&(b=!1);break;case"date":case"created":case"updated":(!g.value[g.value.type]||!g.value[g.value.type].isNotEmpty)&&(b=!1);break;case"mAsset":(!g.value.mAsset||g.value.mAsset.length===0)&&(b=!1);break;case"checkbox":g.value.checkbox||(b=!1);break;case"text":case"url":case"phone":case"email":(!g.value[g.value.type]||!g.value[g.value.type].content)&&(b=!1);break}if(f.classList.contains("av__row")&&b){const E=f.querySelector(`.av__cell[data-col-id="${g.column}"]`),k=c.querySelector(`.av__cell[data-col-id="${g.column}"]`),A=genCellValueByElement(getTypeByCellElement(E),E);k.innerHTML=renderCell(A),renderCellAttr(k,A)}}),u?(c.remove(),showMessage(window.siyuan.languages.insertRowTip)):n.length===1&&popTextCell(e,[c.querySelector('.av__cell[data-detached="true"]')],"block"),si(t)})}si(t)},Ln=(e,t,n)=>{const a=e.querySelector(".av__scroll").getBoundingClientRect(),i=e.querySelector(".av__row--header");if(i&&(n==="top"||n==="all")){const o=Math.floor(t.top-a.top);o>0&&o<a.height?i.style.transform=`translateY(${o}px)`:i.style.transform=""}const s=e.querySelector(".av__row--footer");if(s&&(n==="bottom"||n==="all"))if(s.querySelector(".av__calc--ashow")){const o=Math.ceil(t.bottom-s.parentElement.getBoundingClientRect().bottom);o<0&&-o<a.height?s.style.transform=`translateY(${o}px)`:s.style.transform=""}else s.style.transform=""},zt=e=>{var t;if(e.currentPageSize===e.newPageSize)return;e.nodeElement.setAttribute("data-page-size",e.newPageSize);const n=e.nodeElement.getAttribute("data-node-id");transaction(e.protyle,[{action:"setAttrViewPageSize",avID:e.avID,data:parseInt(e.newPageSize),blockID:n}],[{action:"setAttrViewPageSize",data:parseInt(e.currentPageSize),avID:e.avID,blockID:n}]),(t=document.querySelector(".av__panel"))==null||t.remove()},tg=e=>{const t=new Menu("av-page-size");if(t.isOpen)return;const n=e.target.dataset.size;t.addItem({iconHTML:"",label:"10",checked:n==="10",click(){zt({currentPageSize:n,newPageSize:"10",protyle:e.protyle,avID:e.avID,nodeElement:e.nodeElement})}}),t.addItem({iconHTML:"",checked:n==="25",label:"25",click(){zt({currentPageSize:n,newPageSize:"25",protyle:e.protyle,avID:e.avID,nodeElement:e.nodeElement})}}),t.addItem({iconHTML:"",checked:n==="50",label:"50",click(){zt({currentPageSize:n,newPageSize:"50",protyle:e.protyle,avID:e.avID,nodeElement:e.nodeElement})}}),t.addItem({iconHTML:"",checked:n==="100",label:"100",click(){zt({currentPageSize:n,newPageSize:"100",protyle:e.protyle,avID:e.avID,nodeElement:e.nodeElement})}}),t.addItem({iconHTML:"",checked:n===Constants.SIZE_DATABASE_MAZ_SIZE.toString(),label:window.siyuan.languages.all,click(){zt({currentPageSize:n,newPageSize:Constants.SIZE_DATABASE_MAZ_SIZE.toString(),protyle:e.protyle,avID:e.avID,nodeElement:e.nodeElement})}});const a=e.target.getBoundingClientRect();t.open({x:a.left,y:a.bottom})},ng=(e,t)=>
2602{const n=e.querySelectorAll(".av__row--select:not(.av__row--header)");if(n.length===0)return;const a=e.getAttribute("data-av-id"),i=[],s=[];n.forEach(l=>{s.push(l.querySelector(".av__cell[data-block-id]").getAttribute("data-block-id"))}),n.forEach(l=>{var r;const c=genCellValueByElement("block",l.querySelector(".av__cell[data-block-id]"));i.push({action:"insertAttrViewBlock",avID:a,previousID:((r=l.previousElementSibling)==null?void 0:r.getAttribute("data-id"))||"",srcs:[{id:l.getAttribute("data-id"),isDetached:c.isDetached,content:c.block.content}],blockID:e.dataset.nodeId})});const o=dayjs().format("YYYYMMDDHHmmss");i.push({action:"doUpdateUpdated",id:e.dataset.nodeId,data:e.getAttribute("updated")}),transaction(t,[{action:"removeAttrViewBlock",srcIDs:s,avID:a},{action:"doUpdateUpdated",id:e.dataset.nodeId,data:o}],i),n.forEach(l=>{l.remove()}),Ln(e,t.contentElement.getBoundingClientRect(),"all"),La(e.querySelector(".av__row")),e.setAttribute("updated",o)},ag=(e,t,n,a)=>{const i=e.getAttribute("data-av-id"),s=[],o=[];new Array(n).fill(0).forEach(()=>{const r=Lute.NewNodeID();s.push(r),o.push({id:r,isDetached:!0,content:""})});const l=dayjs().format("YYYYMMDDHHmmss");transaction(t,[{action:"insertAttrViewBlock",avID:i,previousID:a,srcs:o,blockID:e.dataset.nodeId},{action:"doUpdateUpdated",id:e.dataset.nodeId,data:l}],[{action:"removeAttrViewBlock",srcIDs:s,avID:i},{action:"doUpdateUpdated",id:e.dataset.nodeId,data:e.getAttribute("updated")}]),Wl(t,e,s,a,i),e.setAttribute("updated",l)},sg=()=>{},ig=e=>{hideElements(["gutterOnly"],e);const t=setPadding(e),n=4;setTimeout(()=>{if(e.scroll&&e.scroll.element.parentElement.getAttribute("style")&&e.scroll.element.parentElement.setAttribute("style",`--b3-dynamicscroll-width:${Math.min(e.contentElement.clientHeight-49,200)}px`),!e.disabled){const i=e.contentElement.getBoundingClientRect();e.wysiwyg.element.querySelectorAll(".av").forEach(s=>{s.querySelector(".av__title")&&stickyRow(s,i,"all")})}(t.width>n||isNaN(t.width))&&typeof window.echarts!="undefined"&&e.wysiwyg.element.querySelectorAll('[data-subtype="echarts"], [data-subtype="mindmap"]').forEach(i=>{const s=window.echarts.getInstanceById(i.firstElementChild.nextElementSibling.getAttribute("_echarts_instance_"));s&&s.resize()}),e.wysiwyg.element.querySelectorAll(".code-block .protyle-linenumber__rows").forEach(i=>{i.nextElementSibling.style.wordBreak==="break-word"&&lineNumberRender(i.parentElement)});const a=e.wysiwyg.element.querySelector("[data-resize-top]");a&&(a.scrollIntoView(),e.contentElement.scrollTop+=parseInt(a.getAttribute("data-resize-top")),a.removeAttribute("data-resize-top"))},Constants.TIMEOUT_TRANSITION+100)},og=(e,t)=>{var n,a,i,s;if(t==="preview"){if(!e.preview.element.classList.contains("fn__none"))return;e.preview.element.classList.remove("fn__none"),e.contentElement.classList.add("fn__none"),(n=e.scroll)==null||n.element.classList.add("fn__none"),e.options.render.breadcrumb&&((a=e.breadcrumb)==null||a.element.classList.add("fn__none"),e.breadcrumb.toggleExit(!0)),e.preview.render(e)}else if(t==="wysiwyg"){if(!e.contentElement.classList.contains("fn__none"))return;e.preview.element.classList.add("fn__none"),e.contentElement.classList.remove("fn__none"),e.options.render.scroll&&((i=e.scroll)==null||i.element.classList.remove("fn__none")),e.options.render.breadcrumb&&((s=e.breadcrumb)==null||s.element.classList.remove("fn__none"),e.breadcrumb.toggleExit(!e.block.showAll)),resize(e)}hideElements(["gutterOnly","toolbar","select","hint","util"],e)};let ii;const lg=(e,t)=>{t.addEventListener("scroll",()=>{const n=t.getBoundingClientRect();if(!e.toolbar.element.classList.contains("fn__none")){const a=e.toolbar.element.getAttribute("data-inity").split(Constants.ZWSP),i=parseInt(a[0])+(parseInt(a[1])-t.scrollTop);i<n.top-e.toolbar.toolbarHeight||i>n.bottom-e.toolbar.toolbarHeight?e.toolbar.element.style.display="none":(e.toolbar.element.style.top=i+"px",e.toolbar.element.style.display="")}e.wysiwyg.element.querySelectorAll(".av").forEach(a=>{a.dataset.render==="true"&&stickyRow(a,n,"all")}),!e.element.classList.contains("block__edit")&&!isMobile()&&e.contentElement.setAttribute("data-scrolltop",t.scrollTop.toString()),window.siyuan.dragElement||hideElements(["gutterOnly"],e),e.scroll&&!e.scroll.element.classList.contains("fn__none")&&(clearTimeout(ii),ii=window.setTimeout(()=>{let a=document.elementFromPoint(n.left+n.width/2,n.top+10);a.classList.contains("protyle-wysiwyg")&&(a=document.elementFromPoint(n.left+n.width/2,n.top+20));const i=hasClosestBlock(a);if(!i){if((e.wysiwyg.element.firstElementChild.getAttribute("data-eof")==="1"||e.wysiwyg.element.firstElementChild.getAttribute("data-node-index")==="0")&&(hasClosestByClassName(a,"protyle-background")||hasClose
2602stByClassName(a,"protyle-title"))){const s=e.scroll.element.querySelector(".b3-slider");s.value="1",e.scroll.element.setAttribute("aria-label",`Blocks 1/${e.block.blockCount}`)}return}e.scroll.updateIndex(e,i.getAttribute("data-node-id"))},Constants.TIMEOUT_LOAD)),!(e.wysiwyg.element.getAttribute("data-top")||e.block.showAll||e.scroll&&e.scroll.element.classList.contains("fn__none")||!e.scroll||e.scroll.lastScrollTop===t.scrollTop||e.scroll.lastScrollTop===-1||!e.wysiwyg.element.firstElementChild)&&(e.scroll.lastScrollTop-t.scrollTop>0?t.scrollTop<t.clientHeight&&e.wysiwyg.element.firstElementChild.getAttribute("data-eof")!=="1"&&(e.contentElement.style.width=e.contentElement.offsetWidth+"px",e.contentElement.style.overflow="hidden",e.wysiwyg.element.setAttribute("data-top",t.scrollTop.toString()),fetchPost("/api/filetree/getDoc",{id:e.wysiwyg.element.firstElementChild.getAttribute("data-node-id"),mode:1,size:window.siyuan.config.editor.dynamicLoadBlocks},a=>{e.contentElement.style.overflow="",e.contentElement.style.width="",onGet({data:a,protyle:e,action:[Constants.CB_GET_BEFORE,Constants.CB_GET_UNCHANGEID]})})):t.scrollTop>t.scrollHeight-t.clientHeight*1.8&&e.wysiwyg.element.lastElementChild&&e.wysiwyg.element.lastElementChild.getAttribute("data-eof")!=="2"&&(e.wysiwyg.element.setAttribute("data-top",t.scrollTop.toString()),fetchPost("/api/filetree/getDoc",{id:e.wysiwyg.element.lastElementChild.getAttribute("data-node-id"),mode:2,size:window.siyuan.config.editor.dynamicLoadBlocks},a=>{onGet({data:a,protyle:e,action:[Constants.CB_GET_APPEND,Constants.CB_GET_UNCHANGEID]})})),e.scroll.lastScrollTop=Math.max(t.scrollTop,0))},{capture:!1,passive:!0,once:!1})},rg=e=>{e.contentElement=document.createElement("div"),e.contentElement.className="protyle-content",(e.options.render.background||e.options.render.title)&&(e.contentElement.innerHTML='<div class="protyle-top"></div>',e.options.render.background&&e.contentElement.firstElementChild.appendChild(e.background.element),e.options.render.title&&e.contentElement.firstElementChild.appendChild(e.title.element)),e.contentElement.appendChild(e.wysiwyg.element),e.options.action.includes(Constants.CB_GET_HISTORY)||scrollEvent(e,e.contentElement),e.element.append(e.contentElement),e.element.appendChild(e.preview.element),e.upload&&e.element.appendChild(e.upload.element),e.options.render.scroll&&e.element.appendChild(e.scroll.element.parentElement),e.gutter&&e.element.appendChild(e.gutter.element),e.element.appendChild(e.hint.element),e.selectElement=document.createElement("div"),e.selectElement.className="protyle-select fn__none",e.element.appendChild(e.selectElement),e.element.appendChild(e.toolbar.element),e.element.appendChild(e.toolbar.subElement),e.element.append(e.highlight.styleElement),jl(e),setEditMode(e,e.options.mode),document.execCommand("DefaultParagraphSeparator",!1,"p");let t;const n=genUUID(),a=isMac();e.contentElement.addEventListener("mousewheel",s=>{if(!(!window.siyuan.config.editor.fontSizeScrollZoom||a&&!s.metaKey||!a&&!s.ctrlKey||s.deltaX!==0)){if(s.stopPropagation(),s.deltaY<0)if(window.siyuan.config.editor.fontSize<72)window.siyuan.config.editor.fontSize++;else return;else if(s.deltaY>0)if(window.siyuan.config.editor.fontSize>9)window.siyuan.config.editor.fontSize--;else return;setInlineStyle(),clearTimeout(t),showMessage(`${window.siyuan.languages.fontSize} ${window.siyuan.config.editor.fontSize}px<span class="fn__space"></span>
2603<button class="b3-button b3-button--white">${window.siyuan.languages.reset} 16px</button>`,void 0,void 0,n),t=window.setTimeout(()=>{var o;fetchPost("/api/setting/setEditor",window.siyuan.config.editor),e.wysiwyg.element.querySelectorAll(".code-block .protyle-linenumber__rows").forEach(l=>{lineNumberRender(l.parentElement)}),(o=document.querySelector(`#message [data-id="${n}"] button`))==null||o.addEventListener("click",()=>{window.siyuan.config.editor.fontSize=16,setInlineStyle(),fetchPost("/api/setting/setEditor",window.siyuan.config.editor),hideMessage(n),e.wysiwyg.element.querySelectorAll(".code-block .protyle-linenumber__rows").forEach(l=>
2603{lineNumberRender(l.parentElement)})})},Constants.TIMEOUT_LOAD)}},{passive:!0}),e.contentElement.addEventListener("click",s=>{e.disabled||e.contentElement.querySelector(".protyle-wysiwyg--select")||!s.target.classList.contains("protyle-content")&&!s.target.classList.contains("protyle-wysiwyg")||setTimeout(()=>{if(window.getSelection().rangeCount>0){const r=window.getSelection().getRangeAt(0);if(r.toString()!==""&&e.wysiwyg.element.contains(r.startContainer))return}const o=e.wysiwyg.element.lastElementChild.getBoundingClientRect(),l=document.createRange();if(s.y>o.bottom){const r=getContenteditableElement(getLastBlock(e.wysiwyg.element.lastElementChild));if(!r||e.wysiwyg.element.lastElementChild.getAttribute("data-type")!=="NodeParagraph"&&e.wysiwyg.element.getAttribute("data-doc-type")!=="NodeListItem"&&!e.options.backlinkData||e.wysiwyg.element.lastElementChild.getAttribute("data-type")==="NodeParagraph"&&getContenteditableElement(r).innerHTML!==""){const c=genEmptyElement(!1,!1);e.wysiwyg.element.insertAdjacentElement("beforeend",c),transaction(e,[{action:"insert",data:c.outerHTML,id:c.getAttribute("data-node-id"),previousID:c.previousElementSibling.getAttribute("data-node-id"),parentID:e.block.parentID}],[{action:"delete",id:c.getAttribute("data-node-id")}]);const f=getContenteditableElement(c);l.selectNodeContents(f),l.collapse(!0),focusByRange(l),e.options.render.breadcrumb&&setTimeout(()=>{e.breadcrumb.render(e)},Constants.TIMEOUT_TRANSITION)}else r&&(l.selectNodeContents(r),l.collapse(!1),focusByRange(l))}})});let i=!1;e.element.addEventListener("mouseover",s=>{const o=hasClosestByClassName(s.target,"protyle-attr");if(o&&!o.parentElement.classList.contains("protyle-title")){const c=e.wysiwyg.element.querySelector(".protyle-wysiwyg--hl");c&&c.classList.remove("protyle-wysiwyg--hl"),i=!0,o.parentElement.classList.add("protyle-wysiwyg--hl");return}else if(i){const c=e.wysiwyg.element.querySelector(".protyle-wysiwyg--hl");c&&c.classList.remove("protyle-wysiwyg--hl"),i=!1}const l=hasClosestBlock(s.target);if(e.options.render.gutter&&l){if(l&&(l.classList.contains("list")||l.classList.contains("li")))return;const c=isInEmbedBlock(l);c?e.gutter.render(e,c,e.wysiwyg.element):e.gutter.render(e,l,e.wysiwyg.element,s.target);return}const r=hasClosestByTag(s.target,"BUTTON");if(r&&r.parentElement.classList.contains("protyle-gutters")){const c=r.getAttribute("data-type");if(c==="fold"||c==="NodeAttributeViewRow"){Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--hl, .av__row--hl")).forEach(f=>{f.classList.remove("protyle-wysiwyg--hl","av__row--hl")});return}Array.from(e.wysiwyg.element.querySelectorAll(`[data-node-id="${r.getAttribute("data-node-id")}"]`)).find(f=>{if(!isInEmbedBlock(f)&&e.gutter.isMatchNode(f)){const d=f.querySelector(`.av__row[data-id="${r.dataset.rowId}"]`);return Array.from(e.wysiwyg.element.querySelectorAll(".protyle-wysiwyg--hl, .av__row--hl")).forEach(u=>{f.isSameNode(u)||u.classList.remove("protyle-wysiwyg--hl"),d&&!d.isSameNode(u)&&d.classList.remove("av__row--hl")}),c==="NodeAttributeViewRowMenu"?d.classList.add("av__row--hl"):f.classList.add("protyle-wysiwyg--hl"),!0}}),s.preventDefault();return}})},jl=(e,t)=>{e.element.removeAttribute("data-loading"),setTimeout(()=>{e.element.getAttribute("data-loading")!=="finished"&&e.element.insertAdjacentHTML("beforeend",`<div style="background-color: var(--b3-theme-background);flex-direction: column;" class="fn__loading wysiwygLoading">
2604    <img width="48px" src="/stage/loading-pure.svg">
2605    <div style="color: var(--b3-theme-on-surface);margin-top: 8px;">${t||""}</div>
2606</div>`)},Constants.TIMEOUT_LOAD)},oi=e=>{e.element.setAttribute("data-loading","finished"),e.element.querySelectorAll(".wysiwygLoading").forEach(t=>{t.remove()})},cg=e=>{if(e.options.action.includes(Constants.CB_GET_HISTORY))return{width:0,padding:0};const t=parseInt(e.wysiwyg.element.style.paddingLeft),n=Vl(e),a=n.left,i=n.right;if(e.options.backlinkData?e.wysiwyg.element.style.padding=`4px ${i}px 4px ${a}px`:e.wysiwyg.element.style.padding=`${n.top}px ${i}px ${n.bottom}px ${a}px`,e.options.render.background&&e.background.element.querySelector(".protyle-background__ia").setAttribute("style",`margin-left:${a}px;margin-right:${i}px`),e.options.render.title&&(e.title.element.style.margin=`16px ${i}px 0 ${a}px`),window.siyuan.config.editor.displayBookmarkIcon){const l=document.getElementById("editorAttr");l&&(l.innerHTML=`.protyle-wysiwyg--attr .b3-tooltips::after { max-width: ${e.wysiwyg.element.clientWidth-a-i}px; }`)}const s=e.wysiwyg.element.getAttribute("data-realwidth"),o=e.wysiwyg.element.clientWidth-parseInt(e.wysiwyg.element.style.paddingLeft)-parseInt(e.wysiwyg.element.style.paddingRight);return e.wysiwyg.element.setAttribute("data-realwidth",o.toString()),{width:Math.abs(parseInt(s)-o),padding:Math.abs(t-parseInt(e.wysiwyg.element.style.paddingLeft))}},Vl=e=>{let t=16,n=24,a=16;if(e.options.typewriterMode&&(isMobile()?a=window.innerHeight/5:a=e.element.clientHeight/2),!isMobile()){let i=e.wysiwyg.element.getAttribute(Constants.CUSTOM_SY_FULLWIDTH);i||(i=window.siyuan.config.editor.fullWidth?"true":"false");let s=(e.element.clientWidth-Constants.SIZE_EDITOR_WIDTH)/2;i==="false"&&s>96?(s>Constants.SIZE_EDITOR_WIDTH&&(s=e.element.clientWidth*.382/1.382),s=Math.ceil(s),n=s,t=s):e.element.clientWidth>Constants.SIZE_EDITOR_WIDTH&&(n=96,t=96)}return{left:n,right:t,bottom:a,top:16}}
2606,dg=(e,t,n)=>{if(!e.preview.element.classList.contains("fn__none")){e.preview.render(e),removeLoading(e);return}if(window.siyuan.config.editor.displayBookmarkIcon?e.wysiwyg.element.classList.add("protyle-wysiwyg--attr"):e.wysiwyg.element.classList.remove("protyle-wysiwyg--attr"),e.title&&(e.title.element.removeAttribute("data-render"),e.title.element.setAttribute("spellcheck",window.siyuan.config.editor.spellcheck.toString()),window.siyuan.config.editor.displayBookmarkIcon?e.title.element.classList.add("protyle-wysiwyg--attr"):e.title.element.classList.remove("protyle-wysiwyg--attr")),e.lute.SetProtyleMarkNetImg(window.siyuan.config.editor.displayNetImgMark),e.lute.SetSpellcheck(window.siyuan.config.editor.spellcheck),restoreLuteMarkdownSyntax(e),e.lute.SetGFMStrikethrough1(!1),addLoading(e),e.options.backlinkData){const a=e.element.getAttribute("data-ismention")==="true",i=hasClosestByClassName(e.element,"sy__backlink");if(i){const s=i.querySelectorAll(".b3-text-field"),o=a?s[1].value:s[0].value;fetchPost(a?"/api/ref/getBackmentionDoc":"/api/ref/getBacklinkDoc",{defID:e.element.getAttribute("data-defid"),refTreeID:e.block.rootID,highlight:!isSupportCSSHL(),keyword:o},l=>{e.options.backlinkData=a?l.data.backmentions:l.data.backlinks,renderBacklink(e,e.options.backlinkData),searchMarkRender(e,l.data.keywords)})}}else preventScroll(e),getDocByScroll({protyle:e,focus:t,scrollAttr:saveScroll(e,!0),updateReadonly:n,cb(a){var i;(i=e.query)!=null&&i.key&&searchMarkRender(e,a,e.highlight.rangeIndex)}})};var Gl=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const ug=(e,t,n)=>{fetchPost("/api/block/getDocInfo",{id:e},a=>{t.updateTitle(a.data.name),n&&n.title&&n.title.setTitle(a.data.name)})},fg=(e,t,n=!0,a=!0,i=!1)=>{n&&hideMessage(),window.siyuan.mobile.popEditor&&(t.removeRootIDs.includes(window.siyuan.mobile.popEditor.protyle.block.rootID)?hideElements(["dialog"]):reloadProtyle(window.siyuan.mobile.popEditor.protyle,!1,a)),window.siyuan.mobile.editor&&(t.removeRootIDs.includes(window.siyuan.mobile.editor.protyle.block.rootID)?setEmpty(e):(reloadProtyle(window.siyuan.mobile.editor.protyle,!1,a),fetchPost("/api/block/getDocInfo",{id:window.siyuan.mobile.editor.protyle.block.rootID},s=>{Xl(s.data.name),window.siyuan.mobile.editor.protyle.title.setTitle(s.data.name)}))),setNoteBook(()=>{window.siyuan.mobile.docks.file.init(!1)})},gg=e=>{getAllEditor().forEach(t=>{t.protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${e.blockID}"] span[data-type~="block-ref"][data-subtype="d"][data-id="${e.defBlockID}"]`).forEach(n=>{n.innerHTML=e.refText})})},pg=e=>{getAllEditor().forEach(n=>{if(n.protyle.block.rootID===e.rootID&&n.protyle.title){const a=n.protyle.title.element.querySelector(".protyle-attr"),i=a.querySelector(".protyle-attr--refcount");i?e.rootRefCount===0?i.remove():i.textContent=e.rootRefCount.toString():e.rootRefCount>0&&a.insertAdjacentHTML("beforeend",`<div class="protyle-attr--refcount popover__block">${e.rootRefCount}</div>`)}e.rootID!==e.blockID&&n.protyle.wysiwyg.element.querySelectorAll(`[data-node-id="${e.blockID}"]`).forEach(a=>{const i=a.lastElementChild.querySelector(".protyle-attr--refcount");if(i)e.refCount===0?i.remove():i.textContent=e.refCount.toString();else if(e.refCount>0){const s=a.lastElementChild;s.childElementCount>0?s.lastElementChild.insertAdjacentHTML("afterend",`<div class="protyle-attr--refcount popover__block">${e.refCount}</div>`):s.innerHTML=`<div class="protyle-attr--refcount popover__block">${e.refCount}</div>${Constants.ZWSP}`}e.refCount===0?a.removeAttribute("refcount"):a.setAttribute("refcount",e.refCount.toString())})});let t;if(t=window.siyuan.mobile.docks.file.element.querySelector(`li[data-node-id="${e.rootID}"]`),t){const n=t.querySelector(".counter");n?e.rootRefCount===0?n.remove():n.textContent=e.rootRefCount.toString():e.rootRefCount>0&&t.insertAdjacentHTML("beforeend",`<span class="popover__block counter b3-tooltips b3-tooltips__nw" aria-label="${window.siyuan.languages.ref}">${e.rootRefCount}</span>`)}},mg=e=>
2606{window.siyuan.config.readonly||(e.plugins.forEach(t=>{t.eventBus.emit("lock-screen")}),fetchPost("/api/system/logoutAuth",{},()=>{redirectToCheckAuth()}))},Kl=()=>{if(document.querySelector("#errorLog"))return;let e=`\u{1F494} ${window.siyuan.languages.kernelFault0} <small>v${$.SIYUAN_VERSION}</small>`,t=`<div>${window.siyuan.languages.kernelFault1}</div><div class="fn__hr"></div><div>${window.siyuan.languages.kernelFault2}</div>`;St()&&(e=`\u{1F375} ${window.siyuan.languages.pleaseWait} <small>v${$.SIYUAN_VERSION}</small>`,t=`<div>${window.siyuan.languages.reconnectPrompt}</div><div class="fn__hr"></div><div class="fn__flex"><div class="fn__flex-1"></div><button class="b3-button">${window.siyuan.languages.retry}</button></div>`);const n=new $a({disableClose:!0,title:e,width:N()?"92vw":"520px",content:`<div class="b3-dialog__content">
2607<div class="ft__breakword">
2608    ${t}
2609</div>
2610</div>`});n.element.id="errorLog",n.element.setAttribute("data-key",$.DIALOG_KERNELFAULT);const a=n.element.querySelector(".b3-button");a&&a.addEventListener("click",()=>{n.destroy(),window.webkit.messageHandlers.startKernelFast.postMessage("startKernelFast")})},zl=()=>Gl(void 0,null,function*(){hideAllElements(["util"]),window.siyuan.mobile.editor&&(yield saveScroll(window.siyuan.mobile.editor.protyle)),fetchPost("/api/system/exit",{force:!1},e=>{if(e.code===1){const t=showMessage(e.msg,e.data.closeTimeout,"error"),n=document.querySelector(`#message [data-id="${t}"] button`);n&&n.addEventListener("click",()=>{fetchPost("/api/system/exit",{force:!0},()=>{(isInIOS()||isInAndroid()||isInHarmony())&&(window.location.href="siyuan://api/system/exit")})})}else e.code===2?(hideMessage(),window.siyuan.config.system.container==="std"&&ipcRenderer.send(Constants.SIYUAN_SHOW_WINDOW),confirmDialog(window.siyuan.languages.tip,e.msg,()=>{fetchPost("/api/system/exit",{force:!0,execInstallPkg:2},()=>{})},()=>{fetchPost("/api/system/exit",{force:!0,execInstallPkg:1},()=>{})})):(isInIOS()||isInAndroid()||isInHarmony())&&(window.location.href="siyuan://api/system/exit")})}),bg=()=>{if(document.getElementById("transactionError"))return;const e=new Dialog({disableClose:!0,title:`${window.siyuan.languages.stateExcepted} v${Constants.SIYUAN_VERSION}`,content:`<div class="b3-dialog__content" id="transactionError">${window.siyuan.languages.rebuildIndexTip}</div>
2611<div class="b3-dialog__action">
2612    <button class="b3-button b3-button--text">${window.siyuan.languages._kernel[97]}</button>
2613    <div class="fn__space"></div>
2614    <button class="b3-button">${window.siyuan.languages.rebuildIndex}</button>
2615</div>`,width:isMobile()?"92vw":"520px"});e.element.setAttribute("data-key",Constants.DIALOG_STATEEXCEPTED);const t=e.element.querySelectorAll(".b3-button");t[0].addEventListener("click",()=>{zl()}),t[1].addEventListener("click",()=>{Zl(),e.destroy()})},Zl=e=>{window.siyuan.storage[Constants.LOCAL_FILEPOSITION]={},setStorageVal(Constants.LOCAL_FILEPOSITION,window.siyuan.storage[Constants.LOCAL_FILEPOSITION]),fetchPost("/api/filetree/refreshFiletree",{},()=>{e&&e()})};let xn;const yg=e=>{const t=document.querySelector("#status");if(t)if(isMobile()){if(!document.querySelector("#keyboardToolbar").classList.contains("fn__none"))return;clearTimeout(xn),t.innerHTML=e.msg,t.style.bottom="0",xn=window.setTimeout(()=>{t.style.bottom=""},12e3)}else{const n=t.querySelector(".status__msg");n&&(clearTimeout(xn),n.innerHTML=e.msg,xn=window.setTimeout(()=>{n.innerHTML=""},12e3))}},hg=e=>{let t=document.getElementById("progress");if(t||(document.body.insertAdjacentHTML("beforeend",`<div id="progress" style="z-index: ${++window.siyuan.zIndex}"></div>`),t=document.getElementById("progress")),e.code===2){t.remove();return}e.code===0?t.innerHTML=`<div class="b3-dialog__scrim" style="opacity: 1"></div>
2616<div class="b3-dialog__loading">
2617    <div style="text-align: right">${e.data.current}/${e.data.total}</div>
2618    <div style="margin: 8px 0;height: 8px;border-radius: var(--b3-border-radius);overflow: hidden;background-color:#fff;"><div style="width: ${e.data.current/e.data.total*100}%;transition: var(--b3-transition);background-color: var(--b3-theme-primary);height: 8px;"></div></div>
2619    <div class="ft__breakword">${e.msg}</div>
2620</div>`:e.code===1&&(t.lastElementChild?t.lastElementChild.lastElementChild.innerHTML=e.msg:t.innerHTML=`<div class="b3-dialog__scrim" style="opacity: 1"></div>
2621<div class="b3-dialog__loading">
2622    <div style="margin: 8px 0;height: 8px;border-radius: var(--b3-border-radius);overflow: hidden;background-color:#fff;"><div style="background-color: var(--b3-theme-primary);height: 8px;background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);animation: stripMove 450ms linear infinite;background-size: 50px 50px;"></div></div>
2623    <div class="ft__breakword">${e.msg}</div>
2624</div>`)},wg=e=>{const t=document.querySelector(".status__backgroundtask");t&&(e.length===0?(t.classList.add("fn__none"),!window.siyuan.menus.menu.element.classList.contains("fn__none")&&window.siyuan.menus.menu.element.getAttribute("data-name")==="statusBackgroun
2624dTask"&&window.siyuan.menus.menu.remove()):(t.classList.remove("fn__none"),t.setAttribute("data-tasks",JSON.stringify(e)),t.innerHTML=e[0].action+"<div><div></div></div>"))},_g=()=>{fetchPost("/api/sync/getBootSync",{},e=>{if(e.code===1){const t=new Dialog({width:isMobile()?"92vw":"50vw",title:"\u{1F329}\uFE0F "+window.siyuan.languages.bootSyncFailed,content:`<div class="b3-dialog__content">${e.msg}</div>
2625<div class="b3-dialog__action">
2626    <button class="b3-button b3-button--cancel">${window.siyuan.languages.cancel}</button><div class="fn__space"></div>
2627    <button class="b3-button b3-button--text">${window.siyuan.languages.syncNow}</button>
2628</div>`});t.element.setAttribute("data-key",Constants.DIALOG_BOOTSYNCFAILED);const n=t.element.querySelectorAll(".b3-button");n[0].addEventListener("click",()=>{t.destroy()}),n[1].addEventListener("click",()=>{n[1].getAttribute("disabled")||(n[1].setAttribute("disabled","disabled"),fetchPost("/api/sync/performBootSync",{},a=>{a.code===0&&t.destroy(),n[1].removeAttribute("disabled")}))})}})},Xl=e=>{const t=document.getElementById("drag"),n=getWorkspaceName();if(e===window.siyuan.languages.siyuanNote){const a=`${n} - ${window.siyuan.languages.siyuanNote} v${Constants.SIYUAN_VERSION}`;document.title=a,t&&(t.textContent=a,t.setAttribute("title",a))}else{if(e=e||window.siyuan.languages.untitled,document.title=`${e} - ${n} - ${window.siyuan.languages.siyuanNote} v${Constants.SIYUAN_VERSION}`,!t)return;t.setAttribute("title",e),t.innerHTML=escapeHtml(e)}},vg=e=>{const t=document.querySelector("#configBazaarReadme .item__side");if(!t||e.id!==JSON.parse(t.getAttribute("data-obj")).repoURL)return;const n=t.querySelector('[data-type="install"]');n&&(e.percent>=1?(n.parentElement.classList.add("fn__none"),n.parentElement.nextElementSibling.classList.add("fn__none")):(n.classList.add("b3-button--progress"),n.parentElement.nextElementSibling.firstElementChild.classList.add("b3-button--progress"),n.innerHTML=`<span style="width: ${e.percent*100}%"></span>`,n.parentElement.nextElementSibling.firstElementChild.innerHTML=`<span style="width: ${e.percent*100}%"></span>`))},Eg=(e,t)=>{const n=document.querySelector("#menuSyncNow use"),a=document.querySelector("#toolbarSync use");if(!e){!window.siyuan.config.sync.enabled||window.siyuan.config.sync.provider===0&&needSubscribe("")?(n==null||n.setAttribute("xlink:href","#iconCloudOff"),a.setAttribute("xlink:href","#iconCloudOff")):(n==null||n.setAttribute("xlink:href","#iconCloudSucc"),a.setAttribute("xlink:href","#iconCloudSucc"));return}n==null||n.parentElement.classList.remove("fn__rotate"),a.parentElement.classList.remove("fn__rotate"),e.code===0?(n==null||n.parentElement.classList.add("fn__rotate"),a.parentElement.classList.add("fn__rotate"),n==null||n.setAttribute("xlink:href","#iconRefresh"),a.setAttribute("xlink:href","#iconRefresh")):e.code===2?(n==null||n.setAttribute("xlink:href","#iconCloudError"),a.setAttribute("xlink:href","#iconCloudError")):e.code===1&&(n==null||n.setAttribute("xlink:href","#iconCloudSucc"),a.setAttribute("xlink:href","#iconCloudSucc")),t.forEach(i=>{e.code===0?i.eventBus.emit("sync-start",e):e.code===1?i.eventBus.emit("sync-end",e):e.code===2&&i.eventBus.emit("sync-fail",e)})};var Jl=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const ve=(e,t,n,a)=>{const i={method:"POST"};t&&(["/api/search/searchRefBlock","/api/graph/getGraph","/api/graph/getLocalGraph","/api/block/getRecentUpdatedBlocks","/api/search/fullTextSearchBlock"].includes(e)&&(window.siyuan.reqIds[e]=new Date().getTime(),t.type==="local"&&e==="/api/graph/getLocalGraph"||(t.reqId=window.siyuan.reqIds[e])),e==="/api/transactions"&&(t.reqId=new Date().getTime()),t instanceof FormData?i.body=t:i.body=JSON.stringify(t)),a&&(i.headers=a),fetch(e,i).then(s=>{var o;switch(s.status){case 403:case 404:return{data:null,msg:s.statusText,code:-s.status};default:return((o=s.headers.get("content-type"))==null?void 0:o.indexOf("application/json"))>-1?s.json():s.text()}}).then(s=>{if(typeof s=="string"){n&&n(s);return}
2628["/api/search/searchRefBlock","/api/graph/getGraph","/api/graph/getLocalGraph","/api/block/getRecentUpdatedBlocks","/api/search/fullTextSearchBlock"].includes(e)&&s.data.reqId&&window.siyuan.reqIds[e]&&window.siyuan.reqIds[e]>s.data.reqId||(typeof s=="object"&&typeof s.msg=="string"&&typeof s.code=="number"?Da(s)&&n&&n(s):n&&n(s))}).catch(s=>{if(console.warn("fetch post failed ["+s+"], url ["+e+"]"),e==="/api/transactions"&&(s.message==="Failed to fetch"||s.message==="Unexpected end of JSON input")){Kl();return}})},li=(e,t)=>Jl(void 0,null,function*(){const n={method:"POST"};t&&(t instanceof FormData?n.body=t:n.body=JSON.stringify(t));const i=yield(yield fetch(e,n)).json();return Da(i),i}),kg=(e,t)=>{fetch(e).then(n=>{var a;return((a=n.headers.get("content-type"))==null?void 0:a.indexOf("application/json"))>-1?n.json():n.text()}).then(n=>{t(n)})};var ri=(e,t,n)=>new Promise((a,i)=>{var s=r=>{try{l(n.next(r))}catch(c){i(c)}},o=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,o);l((n=n.apply(e,t)).next())});const ci=(e,t)=>{addScript(e,"iconDefaultScript").then(()=>{if(!["ant","material"].includes(t.icon)){const n=document.getElementById("iconScript");n&&n.remove(),addScript(`/appearance/icons/${t.icon}/icon.js?v=${t.iconVer}`,"iconScript")}})},Ql=e=>{var t;const n=document.getElementsByTagName("html")[0];n.setAttribute("lang",window.siyuan.config.appearance.lang),n.setAttribute("data-theme-mode",tr()),n.setAttribute("data-light-theme",window.siyuan.config.appearance.themeLight),n.setAttribute("data-dark-theme",window.siyuan.config.appearance.themeDark);const a=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";window.siyuan.config.appearance.modeOS&&(window.siyuan.config.appearance.mode===1&&a==="light"||window.siyuan.config.appearance.mode===0&&a==="dark")&&(fetchPost("/api/system/setAppearanceMode",{mode:a==="light"?0:1}),window.siyuan.config.appearance.mode=a==="light"?0:1);const i=document.getElementById("themeDefaultStyle"),s=`/appearance/themes/${e.mode===1?"midnight":"daylight"}/theme.css?v=${Constants.SIYUAN_VERSION}`;i?i.getAttribute("href").startsWith(s)||i.setAttribute("href",s):addStyle(s,"themeDefaultStyle");const o=document.getElementById("themeStyle");if(e.mode===1&&e.themeDark!=="midnight"||e.mode===0&&e.themeLight!=="daylight"){const d=`/appearance/themes/${e.mode===1?e.themeDark:e.themeLight}/theme.css?v=${e.themeVer}`;o?o.getAttribute("href").startsWith(d)||o.setAttribute("href",d):addStyle(d,"themeStyle")}else o&&o.remove();!((t=window.webkit)!=null&&t.messageHandlers)&&!window.JSAndroid&&!window.JSHarmony&&"serviceWorker"in window.navigator&&"caches"in window&&"fetch"in window&&navigator.serviceWorker&&document.head.insertAdjacentHTML("afterbegin",`<meta name="theme-color" content="${getComputedStyle(document.body).getPropertyValue("--b3-toolbar-background").trim()}">`),di();const l=document.getElementById("themeScript"),r=`/appearance/themes/${e.mode===1?e.themeDark:e.themeLight}/theme.js?v=${e.themeVer}`;l?l.getAttribute("src").startsWith(r)||(l.remove(),addScript(r,"themeScript")):addScript(r,"themeScript");const c=document.getElementById("iconDefaultScript"),f=`/appearance/icons/${["ant","material"].includes(e.icon)?e.icon:"material"}/icon.js?v=${Constants.SIYUAN_VERSION}`;if(c){if(!c.getAttribute("src").startsWith(f)){c.remove();let d=document.body.firstElementChild;for(;d.tagName==="svg";){const u=d;d=d.nextElementSibling,u.getAttribute("data-name")||u.remove()}ci(f,e)}}else ci(f,e)},Cg=()=>{const e=document.getElementById("loading");e&&setTimeout(()=>{e.remove()},160),ui(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{const n=t.matches?"dark":"light";ui(n),window.siyuan.config.appearance.modeOS&&(window.siyuan.config.appearance.mode===0&&n==="light"||window.siyuan.config.appearance.mode===1&&n==="dark"||fetchPost("/api/system/setAppearanceMode",{mode:n==="light"?0:1},a=>ri(void 0,null,function*(){if(window.siyuan.config.appearance.themeJS)if(window.destroyTheme)try{yield window.destroyTheme(),window.destroyTheme=void 0,document.getElementById("themeScript").remove()}catch(i){console.error("destroyTheme error: "+i)}else{window.location.reload();return}window.siyuan.config.appearance=a.data.appearance,Ql(a.data.appearance)})))})},Ag=()=>{if(!window.siyuan.config.system.disableGoogleAnalytics){addScript("https://www.googletagmanager.com/gtag/js?i
2628d=G-L7WEXVQCR9","gaScript"),window.dataLayer=window.dataLayer||[];const e=function(...n){window.dataLayer.push(arguments)};e("js",new Date),e("config","G-L7WEXVQCR9",{send_page_view:!1});const t={version:Constants.SIYUAN_VERSION,container:window.siyuan.config.system.container,os:window.siyuan.config.system.os,osPlatform:window.siyuan.config.system.osPlatform,isLoggedIn:!1,subscriptionStatus:-1,subscriptionPlan:-1,subscriptionType:-1,oneTimePayStatus:-1,syncEnabled:!1,syncProvider:-1,cTreeCount:window.siyuan.config.stat.cTreeCount,cBlockCount:window.siyuan.config.stat.cBlockCount,cDataSize:window.siyuan.config.stat.cDataSize,cAssetsSize:window.siyuan.config.stat.cAssetsSize};window.siyuan.user&&(t.isLoggedIn=!0,t.subscriptionStatus=window.siyuan.user.userSiYuanSubscriptionStatus,t.subscriptionPlan=window.siyuan.user.userSiYuanSubscriptionPlan,t.subscriptionType=window.siyuan.user.userSiYuanSubscriptionType,t.oneTimePayStatus=window.siyuan.user.userSiYuanOneTimePayStatus),window.siyuan.config.sync&&(t.syncEnabled=window.siyuan.config.sync.enabled,t.syncProvider=window.siyuan.config.sync.provider),e("event",Constants.ANALYTICS_EVT_ON_GET_CONFIG,t)}},Sg=(e=!0)=>ri(void 0,null,function*(){const t=Math.floor(window.siyuan.config.editor.fontSize*1.625);let n;isMac()||isIPad()||isIPhone()?n=`@font-face {
2629  font-family: "Emojis Additional";
2630  src: url(../../../appearance/fonts/Noto-COLRv1-2.047/Noto-COLRv1.woff2) format("woff2");
2631  unicode-range: U+1fae9, U+1fac6, U+1fabe, U+1fadc, U+e50a, U+1fa89, U+1fadf, U+1f1e6-1f1ff, U+1fa8f;
2632}
2633@font-face {
2634  font-family: "Emojis Reset";
2635  src: local("Apple Color Emoji"),
2636  local("Segoe UI Emoji"),
2637  local("Segoe UI Symbol");
2638  unicode-range: U+21a9, U+21aa, U+2122, U+2194-2199, U+23cf, U+25b6, U+25c0, U+25fb, U+25fc, U+25aa, U+25ab, U+2600-2603,
2639  U+260e, U+2611, U+261d, U+2639, U+263a, U+2640, U+2642, U+2660, U+2663, U+2665, U+2666, U+2668, U+267b, U+26aa, U+26ab, 
2640  U+2702, U+2708, U+2934, U+2935, U+1f170, U+1f171, U+1f17e, U+1f17f, U+1f202, U+1f21a, U+1f22f, U+1f232-1f23a, U+1f250, 
2641  U+1f251, U+1fae4, U+2049, U+203c, U+3030, U+303d, U+24c2, U+26a0, U+26a1, U+26be, U+27a1, U+2b05-2b07, U+3297, U+3299, U+a9, U+ae;
2642  size-adjust: 115%;
2643}
2644@font-face {
2645  font-family: "Emojis";
2646  src: local("Apple Color Emoji"),
2647  local("Segoe UI Emoji"),
2648  local("Segoe UI Symbol");
2649  size-adjust: 115%;
2650}`:(yield isWin11())?n=`@font-face {
2651  font-family: "Emojis Additional";
2652  src: url(../../../appearance/fonts/Noto-COLRv1-2.047/Noto-COLRv1.woff2) format("woff2");
2653  unicode-range: U+1fae9, U+1fac6, U+1fabe, U+1fadc, U+e50a, U+1fa89, U+1fadf, U+1f1e6-1f1ff, U+1f3f4, U+e0067, U+e0062,
2654  U+e0065, U+e006e, U+e007f, U+e0073, U+e0063, U+e0074, U+e0077, U+e006c;
2655  size-adjust: 85%;
2656}
2657@font-face {
2658  font-family: "Emojis Reset";
2659  src: local("Segoe UI Emoji"),
2660  local("Segoe UI Symbol");
2661  unicode-range: U+263a, U+21a9, U+2642, U+303d, U+2197, U+2198, U+2199, U+2196, U+2195, U+2194, U+2660, U+2665, U+2666, 
2662  U+2663, U+3030, U+21aa, U+25b6, U+25c0, U+2640, U+203c, U+a9, U+ae, U+2122;
2663  size-adjust: 85%;
2664}
2665@font-face {
2666  font-family: "Emojis";
2667  src: local("Segoe UI Emoji"),
2668  local("Segoe UI Symbol");
2669  size-adjust: 85%;
2670}`:n=`@font-face {
2671  font-family: "Emojis Reset";
2672  src: url(../../../appearance/fonts/Noto-COLRv1-2.047/Noto-COLRv1.woff2) format("woff2");
2673  unicode-range: U+1f170-1f171, U+1f17e, U+1f17f, U+1f21a, U+1f22f, U+1f232-1f23a, U+1f250, U+1f251, U+1f32b, U+1f3bc,
2674  U+1f411, U+1f42d, U+1f42e, U+1f431, U+1f435, U+1f441, U+1f4a8, U+1f4ab, U+1f525, U+1f600-1f60d, U+1f60f-1f623,
2675  U+1f625-1f62b, U+1f62d-1f63f, U+1F643, U+1F640, U+1f79, U+1f8f, U+1fa79, U+1fae4, U+1fae9, U+1fac6, U+1fabe, U+1fadf,
2676  U+200d, U+203c, U+2049, U+2122, U+2139, U+2194-2199, U+21a9, U+21aa, U+23cf, U+25aa, U+25ab, U+25b6, U+25c0, U+25fb-25fe,
2677  U+2611, U+2615, U+2618, U+261d, U+2620, U+2622, U+2623, U+2626, U+262a, U+262e, U+2638-263a, U+2640, U+2642, U+2648-2653,
2678  U+265f, U+2660, U+2663, U+2665, U+2666, U+267b, U+267e, U+267f, U+2692-2697, U+2699, U+269b, U+269c, U+26a0, U+26a1,
2679  U+26a7, U+26aa, U+26ab, U+26b0, U+26b1, U+2702, U+2708, U+2709, U+270c, U+270d, U+2712, U+2714, U+2716, U+271d, U+2733,
2680  U+2734, U+2744, U+2747, U+2763, U+2764, U+2934-2935, U+3030, U+303d, U+3297, U+3299, U+fe0f, U+e50a, U+a9, U+ae;
2681  size-adjust: 92%;
2682}
2683@font-face {
2684  font-family: "Emojis";
2685  src: url(../../../appearance/fonts/Noto-COLRv1-2.047/Noto-COLRv1.woff2) format("woff2"),
2686  local("Segoe UI Emoji"),
2687  local("Segoe UI Symbol"),
2688  local("Apple Color Emoji"),
2689  local("Twemoji Mozilla"),
2690  local("Noto Color Emoji"),
2691  local("Android Emoji"),
2692  local("EmojiSymbols");
2693  size-adjust: 92%;
2694}`;let a="";if(window.siyuan.config.editor.rtl&&(a=`.protyle-title__input,
2695.protyle-wysiwyg .p,
2696.protyle-wysiwyg .code-block .hljs,
2697.protyle-wysiwyg .table,
2698.protyle-wysiwyg .render-node protyle-html,
2699.protyle-wysiwyg .render-node > div[spin="1"],
2700.protyle-wysiwyg [data-type="NodeHeading"] {direction: rtl}
2701.protyle-wysiwyg [data-node-id].li > .protyle-action {
2702    right: 0;
2703    left: auto;
2704    direction: rtl;
2705}
2706.protyle-wysiwyg [data-node-id].li > [data-node-id] {
2707    margin-right: 34px;
2708    margin-left: 0;
2709}
2710.protyle-wysiwyg [data-node-id].li::before {
2711    right: 17px;
2712    left: auto;
2713}`),n+=`
2714:root{--b3-font-size-editor:${window.siyuan.config.editor.fontSize}px}
2715.b3-typography code:not(.hljs), .protyle-wysiwyg span[data-type~=code] { font-variant-ligatures: ${window.siyuan.config.editor.codeLigatures?"normal":"none"} }
2716.li > .protyle-action {height:${t+8}px;line-height: ${t+8}px}
2717/* \u5217\u8868\u9879\u540E\u7684\u5185\u5BB9\u548C\u5217\u8868\u9879\u5BF9\u9F50 https://github.com/siyuan-note/siyuan/issues/2803 */
2718.protyle-wysiwyg [data-node-id].li > .protyle-action ~ div {line-height:${t}px}
2719.protyle-wysiwyg [data-node-id].li > .protyle-action ~ div > [spellcheck] {min-height:${t}px}
2720.protyle-wysiwyg [data-node-id].li::before {height: calc(100% - ${t+12}px);top:${t+12}px}
2721${a}
2722.protyle-wysiwyg [data-node-id] {${window.siyuan.config.editor.justify?" text-align: justify;":""}}
2723.protyle-wysiwyg .li {min-height:${t+8}px}
2724.protyle-gutters button svg {height:${t}px}`,window.siyuan.config.editor.fontFamily&&(n+=`
2725.b3-typography:not(.b3-typography--default), .protyle-wysiwyg, .protyle-title {font-family: "Emojis Additional", "Emojis Reset", "${window.siyuan.config.editor.fontFamily}", var(--b3-font-family)}`),"ontouchend"in document&&(n+=`
2726.b3-menu .b3-menu__action {opacity: 0.68;}`),e){const i=document.getElementById("siyuanStyle");i?i.innerHTML=n:document.querySelector("#pluginsStyle").insertAdjacentHTML("beforebegin",`<style id="siyuanStyle">${n}</style>`)}return n}),di=(e=$.PROTYLE_CDN)=>{const t=document.getElementById("protyleHljsStyle");let n;window.siyuan.config.appearance.mode===0?(n=window.siyuan.config.appearance.codeBlockThemeLight,$.SIYUAN_CONFIG_APPEARANCE_LIGHT_CODE.includes(n)||(n="default")):(n=window.siyuan.config.appearance.codeBlockThemeDark,$.SIYUAN_CONFIG_APPEARANCE_DARK_CODE.includes(n)||(n="github-dark"));const a=`${e}/js/highlight.js/styles/${n}.min.css?v=11.11.1`;t?t.href.includes(a)||(t.remove(),Hn(a,"protyleHljsStyle")):Hn(a,"protyleHljsStyle")},Lg=e=>{},er=e=>{if(e.startsWith("#"))return e;let t;const n=e.replace(/\s/g,"").match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i),a=(n&&n[4]||"").trim();let i=n?(n[1]|256).toString(16).slice(1)+(n[2]|256).toString(16).slice(1)+(n[3]|256).toString(16).slice(1):e;return a!==""?t=a:t=1,t=(t*255|256).toString(16).slice(1),i=i+t,i},ui=e=>{(isInIOS()||isInAndroid()||isInHarmony())&&setTimeout(()=>{const t=er(getComputedStyle(document.body).getPropertyValue("--b3-theme-background").trim());let n=window.siyuan.config.appearance.mode;window.siyuan.config.appearance.modeOS&&(e==="dark"?n=1:n=0),isInIOS()?window.webkit.messageHandlers.changeStatusBar.postMessage((t||(n===0?"#fff":"#1e1e1e"))+" "+n):isInAndroid()?window.JSAndroid.changeStatusBarColor(t,n):isInHarmony()&&window.JSHarmony.changeStatusBarColor(t,n)},500)},tr=()=>{const e=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";return window.siyuan.config.appearance.modeOS?e:window.siyuan.config.appearance.mode===0?"light":"dark"},Et=(e,t=$.PROTYLE_CDN,n=1)=>{let a,i=!1;e.classList.contains("code-block")?a=e.querySelectorAll(".hljs"):e.classList.contains("item__readme")?(a=e.querySelectorAll("pre code"),a.forEach(s=>{s.parentElement.setAttribute("linenumber","false")})):e.classList.contains("b3-typography")?(a=e.querySelectorAll(".code-block code"),i=!0):a=e.querySelectorAll(".code-block .hljs"),a.length!==0&&(di(t),oe(`${t}/js/highlight.js/highlight.min.js?v=11.11.1`,"protyleHljsScript").then(()=>{oe(`${t}/js/highlight.js/third-languages.js?v=1.0.1`,"protyleHljsThirdScript").then(()=>{a.forEach(s=>{const o=s.parentElement.querySelectorAll(".protyle-icon");if(o.length===2&&(o[0].setAttribute("aria-label",window.siyuan.languages.copy),o[1].setAttribute("aria-label",window.siyuan.languages.more)),s.getAttribute("data-render")==="true")return;const l=s.querySelector("wbr");let r=0;if(l){let m=l.previousSibling;for(;m;){for(r+=m.textContent.length;!m.previousSibling&&m.parentElement.tagName!=="DIV";)m=m.parentElement;m=m.previousSibling}l.remove()}let c;i?c=s.parentElement.getAttribute("data-language"):s.previousElementSibling?c=s.previousElementSibling.firstElementChild.textContent:c=s.className.replace("language-",""),window.hljs.getLanguage(c)||(c="plaintext"),s.classList.add("hljs"),s.setAttribute("data-render","true");const f=s.parentElement.getAttribute("linewrap"),d=s.parentElement.getAttribute("ligatures"),u=s.parentElement.getAttribute("linenumber"),g=s.lastElementChild?s.lastElementChild:s;f==="true"||f!=="false"&&window.siyuan.config.editor.codeLineWrap?(g.style.setProperty("white-space","pre-wrap"),g.style.setProperty("word-break","break-word")):(g.style.setProperty("white-space","pre"),g.style.setProperty("word-break","initial")),d==="true"||d!=="false"&&window.siyuan.config.editor.codeLigatures?g.style.fontVariantLigatures="normal":g.style.fontVariantLigatures="none";const p=g.textContent;s.firstElementChild&&(!i&&(u==="true"||u!=="false"&&window.siyuan.config.editor.codeSyntaxHighlightLineNum)?(s.firstElementChild.className="protyle-linenumber__rows",s.firstElementChild.setAttribute("contenteditable","false"),fi(s,n),s.style.display=""):(s.firstElementChild.className="fn__none",s.firstElementChild.innerHTML="",g.style.paddingLeft="",s.style.display="block")),g.innerHTML=window.hljs.highlight(p+(p.endsWith(`
2727`)?"":`
2728`),{language:c,ignoreIllegals:!0}).value,l&&getSelection().rangeCount>0&&Dn(s,r,r)})})}))},fi=(e,t=1)=>{const n=e.parentElement.getAttribute("lineNumber");if(n==="false"||!window.siyuan.config.editor.codeSyntaxHighlightLineNum&&n!=="true")return;e.parentElement.style.lineHeight=`${((parseInt(e.parentElement.style.fontSize)||window.siyuan.config.editor.fontSize)*1.625*.85).toFixed(0)}px`;const a=e.lastElementChild;let i="";const s=a.textContent.split(/\r\n|\r|\n|\u2028|\u2029/g);s[s.length-1]===""&&s.length>1&&s.pop(),e.firstElementChild.innerHTML=`<span>${s.length}</span>`,a.style.paddingLeft=`${e.firstElementChild.clientWidth+16}px`;const o=document.createElement("div");o.className="hljs",o.setAttribute("style",`padding-left:${a.style.paddingLeft};
2729width: ${a.getBoundingClientRect().width/t}px;
2730white-space:${a.style.whiteSpace};
2731word-break:${a.style.wordBreak};
2732font-variant-ligatures:${a.style.fontVariantLigatures};
2733padding-right:0;max-height: none;box-sizing: border-box;position: absolute;padding-top:0 !important;padding-bottom:0 !important;min-height:auto !important;`),o.setAttribute("contenteditable","true"),e.insertAdjacentElement("afterend",o);const l=a.style.wordBreak==="break-word";if(s.map(r=>{let c="";l&&(o.textContent=r.trim()?r:"<br>",c=` style="height:${o.clientHeight}px;"`),i+=`<span${c}></span>`}),o.remove(),e.firstElementChild.innerHTML=i,e.scrollHeight>e.clientHeight&&getSelection().rangeCount>0){const r=getSelection().getRangeAt(0);if(e.contains(r.startContainer)){const c=document.createElement("br");
2733r.insertNode(c),c.scrollIntoView({block:"nearest"}),c.remove()}}};class Be{}Be.graphvizRender=_e,Be.highlightRender=Et,Be.mathRender=Gn,Be.mermaidRender=Kn,Be.flowchartRender=Zn,Be.chartRender=Vn,Be.abcRender=jn,Be.mindmapRender=zn,Be.plantumlRender=Xn,Be.avRender=tt,Be.htmlRender=Jn,window.Protyle=Be;const nr=Be})(),Xt=Xt.default,Xt})())});sr();})();

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