@waline/client
Advanced tools
Comparing version 2.0.3 to 2.0.4
@@ -1,2 +0,2 @@ | ||
import{h as e,ref as t,unref as n,isRef as o,watch as l,getCurrentScope as r,onScopeDispose as i,shallowRef as a,computed as s,defineComponent as c,inject as u,onMounted as m,onUnmounted as d,resolveComponent as p,openBlock as v,createElementBlock as g,createElementVNode as f,createVNode as w,toDisplayString as h,createCommentVNode as y,normalizeClass as b,Fragment as k,renderList as C,withDirectives as $,vModelDynamic as I,vModelText as j,vShow as S,createTextVNode as x,createBlock as L,provide as R,watchEffect as E,onBeforeUnmount as z}from"vue";import O from"autosize";import{marked as A}from"marked";import M from"hanabi";const P=({size:t})=>e("svg",{width:t,height:t,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},e("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},e("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})));function U(e){return!!r()&&(i(e),!0)}const N="undefined"!=typeof window,T=()=>{};const _=e=>e();var B=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable;function W(e,t,n={}){const o=n,{eventFilter:r=_}=o,i=((e,t)=>{var n={};for(var o in e)F.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&B)for(var o of B(e))t.indexOf(o)<0&&D.call(e,o)&&(n[o]=e[o]);return n})(o,["eventFilter"]);return l(e,(a=r,s=t,function(...e){a((()=>s.apply(this,e)),{fn:s,thisArg:this,args:e})}),i);var a,s}var H=Object.defineProperty,q=Object.defineProperties,V=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,G=(e,t,n)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Q(e,n,o={}){const l=o,{eventFilter:r}=l,i=((e,t)=>{var n={};for(var o in e)K.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&J)for(var o of J(e))t.indexOf(o)<0&&Y.call(e,o)&&(n[o]=e[o]);return n})(l,["eventFilter"]),{eventFilter:a,pause:s,resume:c,isActive:u}=function(e=_){const n=t(!0);return{isActive:n,pause:function(){n.value=!1},resume:function(){n.value=!0},eventFilter:(...t)=>{n.value&&e(...t)}}}(r),m=W(e,n,(d=((e,t)=>{for(var n in t||(t={}))K.call(t,n)&&G(e,n,t[n]);if(J)for(var n of J(t))Y.call(t,n)&&G(e,n,t[n]);return e})({},i),q(d,V({eventFilter:a}))));var d;return{stop:m,pause:s,resume:c,isActive:u}}const X=N?window:void 0;function Z(...e){let t,o,r,i;if("string"==typeof e[0]?([o,r,i]=e,t=X):[t,o,r,i]=e,!t)return T;let a=T;const s=l((()=>function(e){var t;const o=n(e);return null!=(t=null==o?void 0:o.$el)?t:o}(t)),(e=>{a(),e&&(e.addEventListener(o,r,i),a=()=>{e.removeEventListener(o,r,i),a=T})}),{immediate:!0,flush:"post"}),c=()=>{s(),a()};return U(c),c}N&&window.document,N&&window.navigator,N&&window.location;const ee="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},te="__vueuse_ssr_handlers__";ee[te]=ee[te]||{};const ne=ee[te];const oe={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function le(e,o,l,r={}){var i;const{flush:s="pre",deep:c=!0,listenToStorageChanges:u=!0,writeDefaults:m=!0,shallow:d,window:p=X,eventFilter:v,onError:g=(e=>{console.error(e)})}=r,f=(d?a:t)(o);if(!l)try{l=function(e,t){return ne[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=X)?void 0:e.localStorage}))()}catch(e){g(e)}if(!l)return f;const w=n(o),h=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e||Array.isArray(e)?"object":Number.isNaN(e)?"any":"number"}(w),y=null!=(i=r.serializer)?i:oe[h],{pause:b,resume:k}=Q(f,(()=>function(t){try{null==t?l.removeItem(e):l.setItem(e,y.write(t))}catch(e){g(e)}}(f.value)),{flush:s,deep:c,eventFilter:v});return p&&u&&Z(p,"storage",C),C(),f;function C(t){t&&t.key!==e||(f.value=function(t){if(!t||t.key===e){b();try{const n=t?t.newValue:l.getItem(e);return null==n?(m&&null!==w&&l.setItem(e,y.write(w)),w):"string"!=typeof n?n:y.read(n)}catch(e){g(e)}finally{k()}}}(t))}}var re,ie,ae=Object.defineProperty,se=Object.getOwnPropertySymbols,ce=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,me=(e,t,n)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function de(e={}){const{controls:r=!1,interval:i="requestAnimationFrame"}=e,a=t(new Date),s=()=>a.value=new Date,c="requestAnimationFrame"===i?function(e,n={}){const{immediate:o=!0,window:l=X}=n,r=t(!1);let i=null;function a(){r.value&&l&&(e(),i=l.requestAnimationFrame(a))}function s(){!r.value&&l&&(r.value=!0,a())}function c(){r.value=!1,null!=i&&l&&(l.cancelAnimationFrame(i),i=null)}return o&&s(),U(c),{isActive:r,pause:c,resume:s}}(s,{immediate:!0}):function(e,r=1e3,i={}){const{immediate:a=!0,immediateCallback:s=!1}=i;let c=null;const u=t(!1);function m(){c&&(clearInterval(c),c=null)}function d(){u.value=!1,m()}function p(){r<=0||(u.value=!0,s&&e(),m(),c=setInterval(e,n(r)))}a&&N&&p(),o(r)&&U(l(r,(()=>{a&&N&&p()})));return U(d),{isActive:u,pause:d,resume:p}}(s,i,{immediate:!0});return r?((e,t)=>{for(var n in t||(t={}))ce.call(t,n)&&me(e,n,t[n]);if(se)for(var n of se(t))ue.call(t,n)&&me(e,n,t[n]);return e})({now:a},c):a}N&&(null==window?void 0:window.navigator)&&(null==(re=null==window?void 0:window.navigator)?void 0:re.platform)&&/iP(ad|hone|od)/.test(null==(ie=null==window?void 0:window.navigator)?void 0:ie.platform);const pe=["nick","mail","link"],ve=e=>e.filter((e=>pe.includes(e))),ge=e=>new Promise(((t,n)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>{var e;return t((null===(e=o.result)||void 0===e?void 0:e.toString())||"")},o.onerror=n})),fe=e=>!0===e?'<p class="wl-tex">Tex is not available in preview</p>':'<span class="wl-tex">Tex is not available in preview</span>',we=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous"],he=e=>Object.fromEntries(e.map(((e,t)=>[we[t],e])));var ye=he(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous"]),be=he(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名"]),ke=he(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名"]),Ce=he(["暱稱","郵箱","網址","可選","暱稱不能少於3個字元","請填寫正確的郵件地址","歡迎評論","來發評論吧~","提交","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名"]),$e=he(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo"]),Ie=he(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный"]);const je={zh:ke,"zh-cn":ke,"zh-CN":ke,"zh-tw":Ce,"zh-TW":Ce,en:ye,"en-US":ye,"en-us":ye,jp:be,"jp-jp":be,"jp-JP":be,"pt-br":$e,"pt-BR":$e,ru:Ie,"ru-ru":Ie,"ru-RU":Ie},Se=e=>{try{e=decodeURI(e)}catch(e){}return e},xe=(e="")=>e.replace(/\/$/u,""),Le=e=>/^(https?:)?\/\//.test(e),Re=e=>{const t=le("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const e=t.value.link;if(e)return Promise.resolve(e)}return fetch(`${e}/info.json`).then((e=>e.json())).then((o=>{const l={folder:e,...o};return n&&(t.value.link=l),l}))},Ee=(e,t="",n="",o="")=>`${t?`${t}/`:""}${n}${e}${o?`.${o}`:""}`,ze=e=>{const t=xe(e);return Le(t)?t:`https://${t}`},Oe=(e,t)=>"function"==typeof e?e:!1!==e&&t,Ae="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",Me=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},Pe=({serverURL:e,path:t,page:n,pageSize:o,signal:l,token:r})=>{const i={};return r&&(i.Authorization=`Bearer ${r}`),fetch(`${e}/comment?path=${encodeURIComponent(t)}&pageSize=${o}&page=${n}`,{signal:l,headers:i}).then((e=>e.json())).then((e=>((e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e})(e,"comment list")))},Ue=e=>e.type.includes("image"),Ne=e=>{const t=Array.from(e).find(Ue);return t?t.getAsFile():null},Te=/\$.*?\$/,_e=/^\$(.*?)\$/,Be=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,Fe=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),De=(e,{emojiMap:t,highlighter:n,texRenderer:o})=>{if(A.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),o){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=Be.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(Te);return-1!==t?t:e.length},tokenizer(t){const n=_e.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(o);A.use({extensions:e})}return A.parse(Fe(e,t))},We=(e,t)=>{const n=de();return s((()=>{if(!e)return"";const o="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,l=n.value.getTime()-o.getTime(),r=Math.floor(l/864e5);if(0===r){const e=l%864e5,n=Math.floor(e/36e5);if(0===n){const n=e%36e5,o=Math.floor(n/6e4);if(0===o){const e=n%6e4;return`${Math.round(e/1e3)} ${t.seconds}`}return`${o} ${t.minutes}`}return`${n} ${t.hours}`}return r<0?t.now:r<8?`${r} ${t.days}`:(e=>{const t=Me(e.getDate(),2),n=Me(e.getMonth()+1,2);return`${Me(e.getFullYear(),2)}-${n}-${t}`})(o)}))},He=()=>le("USER_KEY",{});var qe=c({name:"CommentBox",components:{CloseIcon:({size:t})=>e("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:t,height:t},[e("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),e("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),EmojiIcon:()=>e("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),ImageIcon:()=>e("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),e("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),MarkdownIcon:()=>e("svg",{width:"16",height:"16",ariaHidden:"true"},e("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),PreviewIcon:()=>e("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),e("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),LoadingIcon:P},props:{rootId:{type:String,default:""},replyId:{type:String,default:""},replyUser:{type:String,default:""}},emits:["submit","cancel-reply"],setup(e,{emit:n}){const o=u("config"),r=le("WALINE_USER_CACHE",{nick:"",mail:"",link:"",editor:""}),i=He(),a=t({}),c=t(null),p=t(null),v=t(null),g=t(null),f=t({tabs:[],map:{}}),w=t(0),h=t(!1),y=t(!1),b=t(""),k=t(0),C=t(0),$=t(!1),I=t(""),j=t(!1),S=s((()=>o.value.locale)),x=s((()=>{var e;return Boolean(null===(e=i.value)||void 0===e?void 0:e.token)})),L=s((()=>!1!==o.value.imageUploader)),R=e=>{const t=c.value,n=t.selectionStart,o=t.selectionEnd||0,l=t.scrollTop;r.value.editor=t.value.substring(0,n)+e+t.value.substring(o,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=l},E=e=>{const t=`![${o.value.locale.uploading} ${e.name}]()`;return R(t),Promise.resolve().then((()=>o.value.imageUploader(e))).then((n=>{r.value.editor=r.value.editor.replace(t,`\r\n![${e.name}](${n})`)}))},z=()=>{var t,l,s,u,m;const{serverURL:d,lang:p,login:v,wordLimit:g,requiredMeta:w}=o.value,h={comment:I.value,nick:r.value.nick,mail:r.value.mail,link:r.value.link,ua:navigator.userAgent,url:o.value.path};if(null===(t=i.value)||void 0===t?void 0:t.token)h.nick=i.value.display_name,h.mail=i.value.email,h.link=i.value.url;else{if("force"===v)return;if((w.indexOf("nick")>-1||h.nick)&&!h.nick)return null===(l=a.value.nick)||void 0===l||l.focus(),alert(S.value.nickError);if(w.indexOf("mail")>-1&&!h.mail)return null===(s=a.value.mail)||void 0===s||s.focus(),alert(S.value.mailError);if(!h.comment)return void(null===(u=c.value)||void 0===u||u.focus());h.nick||(h.nick=S.value.anonymous)}if(!$.value)return alert(S.value.wordHint.replace("$0",g[0].toString()).replace("$1",g[1].toString()).replace("$2",k.value.toString()));h.comment=Fe(h.comment,f.value.map),e.replyId&&e.rootId&&(h.pid=e.replyId,h.rid=e.rootId,h.at=e.replyUser),j.value=!0,(({serverURL:e,lang:t,token:n,comment:o})=>{const l={"Content-Type":"application/json"};return n&&(l.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:l,body:JSON.stringify(o)}).then((e=>e.json()))})({serverURL:d,lang:p,token:null===(m=i.value)||void 0===m?void 0:m.token,comment:h}).then((t=>{if(j.value=!1,t.errmsg)return alert(t.errmsg);n("submit",t.data),r.value.editor="",b.value="",e.replyId&&n("cancel-reply")})).catch((e=>{j.value=!1,alert(e.message)}))},A=e=>{v.value.contains(e.target)||g.value.contains(e.target)||(h.value=!1)};return l((()=>r.value.editor),(e=>{const{highlighter:t,texRenderer:n}=o.value;I.value=e,b.value=De(e,{emojiMap:f.value.map,highlighter:t,texRenderer:n}),k.value=(e=>(e=>e.match(/[\w\d\s\u00C0-\u024F]+/giu)||[])(e).reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0)+(e=>e.match(/[\u4E00-\u9FA5]/gu)||[])(e).length)(e),c.value&&(e?O(c.value):O.destroy(c.value))}),{immediate:!0}),l((()=>o.value.emoji),(e=>e.then((e=>{f.value=e}))),{immediate:!0}),l([o,k],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(C.value=n[0],$.value=!1):t>n[1]?(C.value=n[1],$.value=!1):(C.value=n[1],$.value=!0):(C.value=0,$.value=!0)}),{immediate:!0}),m((()=>{document.body.addEventListener("click",A)})),d((()=>{document.body.removeEventListener("click",A)})),{config:o,locale:S,insert:R,onChange:()=>{const e=p.value;e.files&&L.value&&E(e.files[0]).then((()=>{e.value=""}))},onDrop:e=>{var t;if(null===(t=e.dataTransfer)||void 0===t?void 0:t.items){const t=Ne(e.dataTransfer.items);t&&L.value&&(E(t),e.preventDefault())}},onKeyDown:e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&z()},onPaste:e=>{if(e.clipboardData){const t=Ne(e.clipboardData.items);t&&L.value&&E(t)}},onLogin:e=>{e.preventDefault();const{lang:t,serverURL:n}=o.value,l=(window.innerWidth-450)/2,r=(window.innerHeight-450)/2,a=window.open(`${n}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${l},top=${r},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==a||a.postMessage({type:"TOKEN",data:null},"*");const s=({data:e})=>{e&&"userInfo"===e.type&&e.data.token&&(null==a||a.close(),i.value=e.data,(e.data.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e.data)),window.removeEventListener("message",s))};window.addEventListener("message",s)},onLogout:()=>{i.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null")},onProfile:e=>{e.preventDefault();const{lang:t,serverURL:n}=o.value,l=(window.innerWidth-800)/2,r=(window.innerHeight-800)/2,a=window.open(`${n}/ui/profile?lng=${encodeURIComponent(t)}`,"_blank",`width=800,height=800,left=${l},top=${r},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==a||a.postMessage({type:"TOKEN",data:i.value.token},"*");const s=({data:e})=>{e&&"profile"===e.type&&(i.value={...i.value,...e},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(i)))),window.removeEventListener("message",s))};window.addEventListener("message",s)},submitComment:z,isLogin:x,userInfo:i,isSubmitting:j,wordNumber:k,wordLimit:C,isWordNumberLegal:$,inputs:r,emoji:f,emojiTabIndex:w,showEmoji:h,canUploadImage:L,previewText:b,showPreview:y,inputRefs:a,editorRef:c,emojiButtonRef:v,emojiPopupRef:g,imageUploadRef:p}}});const Ve={class:"wl-comment"},Je={key:0,class:"wl-login-info"},Ke={class:"wl-avatar"},Ye=["title"],Ge=["src"],Qe=["textContent"],Xe={class:"wl-panel"},Ze=["for","textContent"],et=["id","name","type","onUpdate:modelValue"],tt=["placeholder"],nt={class:"wl-preview"},ot=f("hr",null,null,-1),lt=["innerHTML"],rt={class:"wl-footer"},it={class:"wl-actions"},at={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noreferrer"},st=["title"],ct=["title"],ut=["title"],mt={class:"wl-info"},dt={class:"wl-text-number"},pt={key:0},vt=x(" / "),gt=["textContent"],ft=["textContent"],wt=["disabled"],ht={key:0,class:"wl-tab-wrapper"},yt=["title","onClick"],bt=["src","alt"],kt={key:0,class:"wl-tabs"},Ct=["onClick"],$t=["src","alt","title"],It=["title"];qe.render=function(e,t,n,o,l,r){const i=p("CloseIcon"),a=p("MarkdownIcon"),s=p("EmojiIcon"),c=p("ImageIcon"),u=p("PreviewIcon"),m=p("LoadingIcon");return v(),g("div",Ve,["disable"!==e.config.login&&e.isLogin?(v(),g("div",Je,[f("div",Ke,[f("button",{class:"wl-logout-btn",title:e.locale.logout,onClick:t[0]||(t[0]=(...t)=>e.onLogout&&e.onLogout(...t))},[w(i,{size:14})],8,Ye),f("img",{src:e.userInfo.avatar,alt:"avatar"},null,8,Ge)]),f("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",onClick:t[1]||(t[1]=(...t)=>e.onProfile&&e.onProfile(...t)),textContent:h(e.userInfo.display_name)},null,8,Qe)])):y("v-if",!0),f("div",Xe,["force"!==e.config.login&&e.config.meta.length&&!e.isLogin?(v(),g("div",{key:0,class:b(["wl-header",`item${e.config.meta.length}`])},[(v(!0),g(k,null,C(e.config.meta,(t=>(v(),g("div",{class:"wl-header-item",key:t},[f("label",{for:t,textContent:h(e.locale[t]+(e.config.requiredMeta.includes(t)||!e.config.requiredMeta.length?"":`(${e.locale.optional})`))},null,8,Ze),$(f("input",{ref_for:!0,ref:n=>{n&&(e.inputRefs[t]=n)},id:`wl-${t}`,class:b(["wl-input",`wl-${t}`]),name:t,type:"mail"===t?"email":"text","onUpdate:modelValue":n=>e.inputs[t]=n},null,10,et),[[I,e.inputs[t]]])])))),128))],2)):y("v-if",!0),$(f("textarea",{class:"wl-editor",ref:"editorRef",id:"wl-edit",placeholder:e.replyUser?`@${e.replyUser}`:e.locale.placeholder,"onUpdate:modelValue":t[2]||(t[2]=t=>e.inputs.editor=t),onKeydown:t[3]||(t[3]=(...t)=>e.onKeyDown&&e.onKeyDown(...t)),onDrop:t[4]||(t[4]=(...t)=>e.onDrop&&e.onDrop(...t)),onPaste:t[5]||(t[5]=(...t)=>e.onPaste&&e.onPaste(...t))},null,40,tt),[[j,e.inputs.editor]]),$(f("div",nt,[ot,f("h4",null,h(e.locale.preview)+":",1),f("div",{class:"wl-content",innerHTML:e.previewText},null,8,lt)],512),[[S,e.showPreview]]),f("div",rt,[f("div",it,[f("a",at,[w(a)]),f("button",{ref:"emojiButtonRef",class:b(["wl-action",{actived:e.showEmoji}]),title:e.locale.emoji,onClick:t[6]||(t[6]=t=>e.showEmoji=!e.showEmoji)},[w(s)],10,st),f("input",{ref:"imageUploadRef",class:"upload",id:"wl-image-upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:t[7]||(t[7]=(...t)=>e.onChange&&e.onChange(...t))},null,544),e.canUploadImage?(v(),g("label",{key:0,for:"wl-image-upload",class:"wl-action",title:e.locale.uploadImage},[w(c)],8,ct)):y("v-if",!0),f("button",{class:b(["wl-action",{actived:e.showPreview}]),title:e.locale.preview,onClick:t[8]||(t[8]=t=>e.showPreview=!e.showPreview)},[w(u)],10,ut)]),f("div",mt,[f("div",dt,[x(h(e.wordNumber)+" ",1),e.config.wordLimit?(v(),g("span",pt,[vt,f("span",{class:b({illegal:!e.isWordNumberLegal}),textContent:h(e.wordLimit)},null,10,gt)])):y("v-if",!0),x(" "+h(e.locale.word),1)]),"disable"===e.config.login||e.isLogin?y("v-if",!0):(v(),g("button",{key:0,class:"wl-btn",onClick:t[9]||(t[9]=(...t)=>e.onLogin&&e.onLogin(...t)),textContent:h(e.locale.login)},null,8,ft)),"force"!==e.config.login||e.isLogin?(v(),g("button",{key:1,class:"wl-btn primary",title:"Cmd|Ctrl + Enter",disabled:e.isSubmitting,onClick:t[10]||(t[10]=(...t)=>e.submitComment&&e.submitComment(...t))},[e.isSubmitting?(v(),L(m,{key:0,size:16})):(v(),g(k,{key:1},[x(h(e.locale.submit),1)],2112))],8,wt)):y("v-if",!0)]),f("div",{ref:"emojiPopupRef",class:b(["wl-emoji-popup",{display:e.showEmoji}])},[(v(!0),g(k,null,C(e.emoji.tabs,((t,n)=>(v(),g(k,{key:t.name},[n===e.emojiTabIndex?(v(),g("div",ht,[(v(!0),g(k,null,C(t.items,(t=>(v(),g("button",{key:t,title:t,onClick:n=>e.insert(`:${t}:`)},[e.showEmoji?(v(),g("img",{key:0,class:"wl-emoji",src:e.emoji.map[t],alt:t,loading:"lazy",referrerPolicy:"no-referrer"},null,8,bt)):y("v-if",!0)],8,yt)))),128))])):y("v-if",!0)],64)))),128)),e.emoji.tabs.length>1?(v(),g("div",kt,[(v(!0),g(k,null,C(e.emoji.tabs,((t,n)=>(v(),g("button",{key:t.name,class:b(["wl-tab",{active:e.emojiTabIndex===n}]),onClick:t=>e.emojiTabIndex=n},[f("img",{class:"wl-emoji",src:t.icon,alt:t.name,title:t.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,$t)],10,Ct)))),128))])):y("v-if",!0)],2)])]),e.replyId?(v(),g("button",{key:1,class:"wl-close",title:e.locale.cancelReply,onClick:t[11]||(t[11]=t=>e.$emit("cancel-reply"))},[w(i,{size:24})],8,It)):y("v-if",!0)])},qe.__file="src/components/CommentBox.vue";var jt=c({props:{comment:{type:Object,required:!0},rootId:{type:String,required:!0},reply:{type:Object}},components:{CommentBox:qe,ReplyIcon:()=>e("svg",{viewBox:"0 0 1024 1024",width:"18",height:"18"},e("path",{d:"M1019.2 720C1001.6 625.6 968 566.4 904 497.6c-89.6-89.6-214.4-150.4-347.2-176v-120c0-25.6-8-51.2-25.6-64-33.6-30.4-81.6-30.4-112-4.8L33.6 441.6C12.8 459.2 0 484.8 0 510.4c0 25.6 12.8 51.2 30.4 68.8l385.6 312c17.6 12.8 33.6 17.6 51.2 17.6 12.8 0 25.6-4.8 38.4-8C536 888 552 857.6 552 824v-99.2c124.8 20.8 248 86.4 339.2 140.8 25.6 17.6 59.2 17.6 89.6 0 25.6-17.6 43.2-46.4 43.2-76.8 0-33.6 0-56-4.8-68.8zm-500.8-89.6-46.4-4.8v193.6L86.4 510.4 472 201.6V400l38.4 4.8c128 12.8 248 68.8 334.4 153.6 51.2 56 76.8 102.4 94.4 179.2 0 4.8 4.8 20.8 4.8 51.2C835.2 720 672 640 518.4 630.4z",fill:"currentColor"})),VerifiedIcon:()=>e("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},e("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"}))},emits:["submit","reply"],setup(e){const t=u("config"),n=s((()=>t.value.locale)),o=s((()=>{let{link:t}=e.comment;return t?Le(t)?t:`https://${t}`:""})),l=We(e.comment.insertedAt,n.value),r=s((()=>{var t;return e.comment.objectId===(null===(t=e.reply)||void 0===t?void 0:t.objectId)}));return{config:t,locale:n,isReplyingCurrent:r,link:o,time:l}}});const St=["id"],xt={class:"wl-user","aria-hidden":"true"},Lt=["src"],Rt={class:"wl-card"},Et={class:"wl-head"},zt=["href"],Ot={key:1,class:"wl-nick"},At=["textContent"],Mt=["textContent"],Pt=["textContent"],Ut=["title"],Nt={class:"wl-meta","aria-hidden":"true"},Tt=["textContent"],_t=["textContent"],Bt=["innerHTML"],Ft={key:0,class:"wl-reply-wrapper"},Dt={key:1,class:"wl-quote"};jt.render=function(e,t,n,o,l,r){const i=p("VerifiedIcon"),a=p("ReplyIcon"),s=p("CommentBox"),c=p("CommentCard",!0);return v(),g("div",{class:"wl-item",id:e.comment.objectId},[f("div",xt,[e.comment.avatar?(v(),g("img",{key:0,src:e.comment.avatar},null,8,Lt)):y("v-if",!0),e.comment.type?(v(),L(i,{key:1})):y("v-if",!0)]),f("div",Rt,[f("div",Et,[e.link?(v(),g("a",{key:0,class:"wl-nick",href:e.link,target:"_blank",rel:"nofollow noreferrer"},h(e.comment.nick),9,zt)):(v(),g("span",Ot,h(e.comment.nick),1)),"administrator"===e.comment.type?(v(),g("span",{key:2,class:"wl-badge",textContent:h(e.locale.admin)},null,8,At)):y("v-if",!0),e.comment.sticky?(v(),g("span",{key:3,class:"wl-badge",textContent:h(e.locale.sticky)},null,8,Mt)):y("v-if",!0),f("span",{class:"wl-time",textContent:h(e.time)},null,8,Pt),f("button",{class:b(["wl-reply",{active:e.isReplyingCurrent}]),title:e.isReplyingCurrent?e.locale.cancelReply:e.locale.reply,onClick:t[0]||(t[0]=t=>e.$emit("reply",e.isReplyingCurrent?null:e.comment))},[w(a)],10,Ut)]),f("div",Nt,[e.comment.browser?(v(),g("span",{key:0,textContent:h(e.comment.browser)},null,8,Tt)):y("v-if",!0),e.comment.os?(v(),g("span",{key:1,textContent:h(e.comment.os)},null,8,_t)):y("v-if",!0)]),f("div",{class:"wl-content",innerHTML:e.comment.comment},null,8,Bt),e.isReplyingCurrent?(v(),g("div",Ft,[w(s,{replyId:e.comment.objectId,replyUser:e.comment.nick,rootId:e.rootId,onSubmit:t[1]||(t[1]=t=>e.$emit("submit",t)),onCancelReply:t[2]||(t[2]=t=>e.$emit("reply",null))},null,8,["replyId","replyUser","rootId"])])):y("v-if",!0),e.comment.children?(v(),g("div",Dt,[(v(!0),g(k,null,C(e.comment.children,(n=>(v(),L(c,{key:n.objectId,comment:n,reply:e.reply,rootId:e.rootId,onReply:t[3]||(t[3]=t=>e.$emit("reply",t)),onSubmit:t[4]||(t[4]=t=>e.$emit("submit",t))},null,8,["comment","reply","rootId"])))),128))])):y("v-if",!0)])],8,St)},jt.__file="src/components/CommentCard.vue";var Wt=c({name:"WalineRoot",components:{CommentBox:qe,CommentCard:jt,LoadingIcon:P},props:{serverURL:{type:String,required:!0},path:{type:String,required:!0},meta:{type:Array},requiredMeta:{type:Array},visitor:{type:Boolean},dark:{type:[String,Boolean]},lang:{type:String},locale:{type:Object},pageSize:{type:Number},wordLimit:{type:[Number,Array]},emoji:{type:Array},login:{type:String},highlighter:{type:Function},imageUploader:{type:[Function,Boolean]},texRenderer:{type:[Function,Boolean]}},setup(e){const n=s((()=>(({serverURL:e,path:t=location.pathname,lang:n="zh-CN",locale:o,emoji:l=["https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo"],meta:r=["nick","mail","link"],requiredMeta:i=[],pageSize:a=10,wordLimit:s,imageUploader:c,highlighter:u,texRenderer:m,copyright:d=!0,login:p="enable",...v})=>{return{serverURL:ze(e),path:Se(t),lang:n,locale:{...je[n]||je["zh-CN"],..."object"==typeof o?o:{}},emoji:(g=l,Promise.all(g.map((e=>"string"==typeof e?Re(xe(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:o,icon:l,prefix:r,type:i,items:a}=e;t.tabs.push({name:n,icon:Ee(l,o,r,i),items:a.map((e=>{const n=`${r||""}${e}`;return t.map[n]=Ee(e,o,r,i),n}))})})),t}))),wordLimit:Array.isArray(s)?s:!!s&&[0,s],meta:ve(r),requiredMeta:ve(i),pageSize:a,login:p,imageUploader:Oe(c,ge),highlighter:Oe(u,M),texRenderer:Oe(m,fe),copyright:d,...v};var g})(e))),o=He(),r=t("loading"),i=t(0),a=t(1),c=t(0),u=t([]),d=t(null),p=s((()=>{return"string"==typeof(e=n.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${Ae}}`:`${e}${Ae}`:!0===e?`:root${Ae}`:"";var e}));let v,g;const f=e=>{var t;const{serverURL:l,path:s,pageSize:m}=n.value,d=new AbortController;r.value="loading",null==v||v(),Pe({serverURL:l,path:s,pageSize:m,page:e,signal:d.signal,token:null===(t=o.value)||void 0===t?void 0:t.token}).then((t=>{r.value="success",i.value=t.count,u.value.push(...t.data),a.value=e,c.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),r.value="error")})),v=d.abort.bind(d)},w=()=>{i.value=0,u.value=[],f(1)};return R("config",n),l((()=>e.path),w),m((()=>{var e;w();const t=document.createElement("style");t.innerText=p.value,null===(e=document.querySelector("[data-waline]"))||void 0===e||e.appendChild(t),g=E((()=>{t.innerText=p.value}))})),z((()=>g())),{config:n,darkmodeStyle:p,i18n:s((()=>n.value.locale)),status:r,count:i,page:a,totalPages:c,data:u,reply:d,loadMore:()=>f(a.value+1),refresh:w,onReply:e=>{d.value=e},onSubmit:e=>{if(e.rid){const t=u.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else u.value.unshift(e)},version:"2.0.3"}}});const Ht={"data-waline":""},qt={class:"wl-count"},Vt=["textContent"],Jt={class:"wl-cards"},Kt={key:1,class:"wl-operation"},Yt=["textContent"],Gt={key:0,class:"wl-loading"},Qt=["textContent"],Xt={class:"wl-operation"},Zt=["textContent"],en={key:3,class:"wl-power"},tn=x(" Powered by "),nn=f("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noreferrer"}," Waline ",-1);Wt.render=function(e,t,n,o,l,r){const i=p("CommentBox"),a=p("CommentCard"),s=p("LoadingIcon");return v(),g("div",Ht,[e.reply?y("v-if",!0):(v(),L(i,{key:0,onSubmit:e.onSubmit},null,8,["onSubmit"])),f("div",qt,[e.count?(v(),g("span",{key:0,class:"wl-num",textContent:h(e.count)},null,8,Vt)):y("v-if",!0),x(" "+h(e.i18n.comment),1)]),f("div",Jt,[(v(!0),g(k,null,C(e.data,(t=>(v(),L(a,{key:t.objectId,"root-id":t.objectId,comment:t,reply:e.reply,onReply:e.onReply,onSubmit:e.onSubmit},null,8,["root-id","comment","reply","onReply","onSubmit"])))),128))]),"error"===e.status?(v(),g("div",Kt,[f("button",{type:"button",class:"wl-btn",onClick:t[0]||(t[0]=(...t)=>e.refresh&&e.refresh(...t)),textContent:h(e.i18n.refresh)},null,8,Yt)])):(v(),g(k,{key:2},["loading"===e.status?(v(),g("div",Gt,[w(s,{size:30})])):e.data.length?e.page<e.totalPages?(v(),g(k,{key:2},[y(" Load more button "),f("div",Xt,[f("button",{type:"button",class:"wl-btn",onClick:t[1]||(t[1]=(...t)=>e.loadMore&&e.loadMore(...t)),textContent:h(e.i18n.more)},null,8,Zt)])],2112)):y("v-if",!0):(v(),g("div",{key:1,class:"wl-empty",textContent:h(e.i18n.sofa)},null,8,Qt))],2112)),y(" Copyright Information "),e.config.copyright?(v(),g("div",en,[tn,nn,x(" v"+h(e.version),1)])):y("v-if",!0)])},Wt.__file="src/components/Waline.vue";const on="2.0.3";export{Wt as Waline,on as version}; | ||
import{h as e,ref as t,unref as n,isRef as o,watch as l,getCurrentScope as r,onScopeDispose as i,shallowRef as a,computed as s,defineComponent as c,inject as u,onMounted as m,onUnmounted as d,resolveComponent as p,openBlock as v,createElementBlock as g,createElementVNode as f,createVNode as w,toDisplayString as h,createCommentVNode as y,normalizeClass as b,Fragment as k,renderList as C,withDirectives as $,vModelDynamic as I,vModelText as j,vShow as S,createTextVNode as x,createBlock as L,provide as R,watchEffect as E,onBeforeUnmount as z}from"vue";import O from"autosize";import{marked as A}from"marked";import M from"hanabi";const P=({size:t})=>e("svg",{width:t,height:t,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},e("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},e("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})));function U(e){return!!r()&&(i(e),!0)}const N="undefined"!=typeof window,T=()=>{};const _=e=>e();var F=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable;function W(e,t,n={}){const o=n,{eventFilter:r=_}=o,i=((e,t)=>{var n={};for(var o in e)B.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&F)for(var o of F(e))t.indexOf(o)<0&&D.call(e,o)&&(n[o]=e[o]);return n})(o,["eventFilter"]);return l(e,(a=r,s=t,function(...e){a((()=>s.apply(this,e)),{fn:s,thisArg:this,args:e})}),i);var a,s}var H=Object.defineProperty,q=Object.defineProperties,V=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,G=(e,t,n)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Q(e,n,o={}){const l=o,{eventFilter:r}=l,i=((e,t)=>{var n={};for(var o in e)K.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&J)for(var o of J(e))t.indexOf(o)<0&&Y.call(e,o)&&(n[o]=e[o]);return n})(l,["eventFilter"]),{eventFilter:a,pause:s,resume:c,isActive:u}=function(e=_){const n=t(!0);return{isActive:n,pause:function(){n.value=!1},resume:function(){n.value=!0},eventFilter:(...t)=>{n.value&&e(...t)}}}(r),m=W(e,n,(d=((e,t)=>{for(var n in t||(t={}))K.call(t,n)&&G(e,n,t[n]);if(J)for(var n of J(t))Y.call(t,n)&&G(e,n,t[n]);return e})({},i),q(d,V({eventFilter:a}))));var d;return{stop:m,pause:s,resume:c,isActive:u}}const X=N?window:void 0;function Z(...e){let t,o,r,i;if("string"==typeof e[0]?([o,r,i]=e,t=X):[t,o,r,i]=e,!t)return T;let a=T;const s=l((()=>function(e){var t;const o=n(e);return null!=(t=null==o?void 0:o.$el)?t:o}(t)),(e=>{a(),e&&(e.addEventListener(o,r,i),a=()=>{e.removeEventListener(o,r,i),a=T})}),{immediate:!0,flush:"post"}),c=()=>{s(),a()};return U(c),c}N&&window.document,N&&window.navigator,N&&window.location;const ee="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},te="__vueuse_ssr_handlers__";ee[te]=ee[te]||{};const ne=ee[te];const oe={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function le(e,o,l,r={}){var i;const{flush:s="pre",deep:c=!0,listenToStorageChanges:u=!0,writeDefaults:m=!0,shallow:d,window:p=X,eventFilter:v,onError:g=(e=>{console.error(e)})}=r,f=(d?a:t)(o);if(!l)try{l=function(e,t){return ne[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=X)?void 0:e.localStorage}))()}catch(e){g(e)}if(!l)return f;const w=n(o),h=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e||Array.isArray(e)?"object":Number.isNaN(e)?"any":"number"}(w),y=null!=(i=r.serializer)?i:oe[h],{pause:b,resume:k}=Q(f,(()=>function(t){try{null==t?l.removeItem(e):l.setItem(e,y.write(t))}catch(e){g(e)}}(f.value)),{flush:s,deep:c,eventFilter:v});return p&&u&&Z(p,"storage",C),C(),f;function C(t){t&&t.key!==e||(f.value=function(t){if(!t||t.key===e){b();try{const n=t?t.newValue:l.getItem(e);return null==n?(m&&null!==w&&l.setItem(e,y.write(w)),w):"string"!=typeof n?n:y.read(n)}catch(e){g(e)}finally{k()}}}(t))}}var re,ie,ae=Object.defineProperty,se=Object.getOwnPropertySymbols,ce=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,me=(e,t,n)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function de(e={}){const{controls:r=!1,interval:i="requestAnimationFrame"}=e,a=t(new Date),s=()=>a.value=new Date,c="requestAnimationFrame"===i?function(e,n={}){const{immediate:o=!0,window:l=X}=n,r=t(!1);let i=null;function a(){r.value&&l&&(e(),i=l.requestAnimationFrame(a))}function s(){!r.value&&l&&(r.value=!0,a())}function c(){r.value=!1,null!=i&&l&&(l.cancelAnimationFrame(i),i=null)}return o&&s(),U(c),{isActive:r,pause:c,resume:s}}(s,{immediate:!0}):function(e,r=1e3,i={}){const{immediate:a=!0,immediateCallback:s=!1}=i;let c=null;const u=t(!1);function m(){c&&(clearInterval(c),c=null)}function d(){u.value=!1,m()}function p(){r<=0||(u.value=!0,s&&e(),m(),c=setInterval(e,n(r)))}a&&N&&p(),o(r)&&U(l(r,(()=>{a&&N&&p()})));return U(d),{isActive:u,pause:d,resume:p}}(s,i,{immediate:!0});return r?((e,t)=>{for(var n in t||(t={}))ce.call(t,n)&&me(e,n,t[n]);if(se)for(var n of se(t))ue.call(t,n)&&me(e,n,t[n]);return e})({now:a},c):a}N&&(null==window?void 0:window.navigator)&&(null==(re=null==window?void 0:window.navigator)?void 0:re.platform)&&/iP(ad|hone|od)/.test(null==(ie=null==window?void 0:window.navigator)?void 0:ie.platform);const pe=["nick","mail","link"],ve=e=>e.filter((e=>pe.includes(e))),ge=e=>new Promise(((t,n)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>{var e;return t((null===(e=o.result)||void 0===e?void 0:e.toString())||"")},o.onerror=n})),fe=e=>!0===e?'<p class="wl-tex">Tex is not available in preview</p>':'<span class="wl-tex">Tex is not available in preview</span>',we=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous"],he=e=>Object.fromEntries(e.map(((e,t)=>[we[t],e])));var ye=he(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous"]),be=he(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名"]),ke=he(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名"]),Ce=he(["暱稱","郵箱","網址","可選","暱稱不能少於3個字元","請填寫正確的郵件地址","歡迎評論","來發評論吧~","提交","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名"]),$e=he(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo"]),Ie=he(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный"]);const je={zh:ke,"zh-cn":ke,"zh-CN":ke,"zh-tw":Ce,"zh-TW":Ce,en:ye,"en-US":ye,"en-us":ye,jp:be,"jp-jp":be,"jp-JP":be,"pt-br":$e,"pt-BR":$e,ru:Ie,"ru-ru":Ie,"ru-RU":Ie},Se=e=>{try{e=decodeURI(e)}catch(e){}return e},xe=(e="")=>e.replace(/\/$/u,""),Le=e=>/^(https?:)?\/\//.test(e),Re=e=>{const t=xe(e);return Le(t)?t:`https://${t}`},Ee=e=>Array.isArray(e)?e:!!e&&[0,e],ze=(e,t)=>"function"==typeof e?e:!1!==e&&t,Oe="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",Ae=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},Me=e=>{const t=le("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const e=t.value.link;if(e)return Promise.resolve(e)}return fetch(`${e}/info.json`).then((e=>e.json())).then((o=>{const l={folder:e,...o};return n&&(t.value.link=l),l}))},Pe=(e,t="",n="",o="")=>`${t?`${t}/`:""}${n}${e}${o?`.${o}`:""}`,Ue=({serverURL:e,path:t,page:n,pageSize:o,signal:l,token:r})=>{const i={};return r&&(i.Authorization=`Bearer ${r}`),fetch(`${e}/comment?path=${encodeURIComponent(t)}&pageSize=${o}&page=${n}`,{signal:l,headers:i}).then((e=>e.json())).then((e=>((e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e})(e,"comment list")))},Ne=e=>e.type.includes("image"),Te=e=>{const t=Array.from(e).find(Ne);return t?t.getAsFile():null},_e=/\$.*?\$/,Fe=/^\$(.*?)\$/,Be=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,De=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),We=(e,{emojiMap:t,highlighter:n,texRenderer:o})=>{if(A.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),o){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=Be.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(_e);return-1!==t?t:e.length},tokenizer(t){const n=Fe.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(o);A.use({extensions:e})}return A.parse(De(e,t))},He=(e,t)=>{const n=de();return s((()=>{if(!e)return"";const o="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,l=n.value.getTime()-o.getTime(),r=Math.floor(l/864e5);if(0===r){const e=l%864e5,n=Math.floor(e/36e5);if(0===n){const n=e%36e5,o=Math.floor(n/6e4);if(0===o){const e=n%6e4;return`${Math.round(e/1e3)} ${t.seconds}`}return`${o} ${t.minutes}`}return`${n} ${t.hours}`}return r<0?t.now:r<8?`${r} ${t.days}`:(e=>{const t=Ae(e.getDate(),2),n=Ae(e.getMonth()+1,2);return`${Ae(e.getFullYear(),2)}-${n}-${t}`})(o)}))},qe=()=>le("USER_KEY",{});var Ve=c({name:"CommentBox",components:{CloseIcon:({size:t})=>e("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:t,height:t},[e("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),e("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),EmojiIcon:()=>e("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),ImageIcon:()=>e("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),e("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),MarkdownIcon:()=>e("svg",{width:"16",height:"16",ariaHidden:"true"},e("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),PreviewIcon:()=>e("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),e("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),LoadingIcon:P},props:{rootId:{type:String,default:""},replyId:{type:String,default:""},replyUser:{type:String,default:""}},emits:["submit","cancel-reply"],setup(e,{emit:n}){const o=u("config"),r=le("WALINE_USER_CACHE",{nick:"",mail:"",link:"",editor:""}),i=qe(),a=t({}),c=t(null),p=t(null),v=t(null),g=t(null),f=t({tabs:[],map:{}}),w=t(0),h=t(!1),y=t(!1),b=t(""),k=t(0),C=t(0),$=t(!1),I=t(""),j=t(!1),S=s((()=>o.value.locale)),x=s((()=>{var e;return Boolean(null===(e=i.value)||void 0===e?void 0:e.token)})),L=s((()=>!1!==o.value.imageUploader)),R=e=>{const t=c.value,n=t.selectionStart,o=t.selectionEnd||0,l=t.scrollTop;r.value.editor=t.value.substring(0,n)+e+t.value.substring(o,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=l},E=e=>{const t=`![${o.value.locale.uploading} ${e.name}]()`;return R(t),Promise.resolve().then((()=>o.value.imageUploader(e))).then((n=>{r.value.editor=r.value.editor.replace(t,`\r\n![${e.name}](${n})`)}))},z=()=>{var t,l,s,u,m;const{serverURL:d,lang:p,login:v,wordLimit:g,requiredMeta:w}=o.value,h={comment:I.value,nick:r.value.nick,mail:r.value.mail,link:r.value.link,ua:navigator.userAgent,url:o.value.path};if(null===(t=i.value)||void 0===t?void 0:t.token)h.nick=i.value.display_name,h.mail=i.value.email,h.link=i.value.url;else{if("force"===v)return;if((w.indexOf("nick")>-1||h.nick)&&!h.nick)return null===(l=a.value.nick)||void 0===l||l.focus(),alert(S.value.nickError);if(w.indexOf("mail")>-1&&!h.mail)return null===(s=a.value.mail)||void 0===s||s.focus(),alert(S.value.mailError);if(!h.comment)return void(null===(u=c.value)||void 0===u||u.focus());h.nick||(h.nick=S.value.anonymous)}if(!$.value)return alert(S.value.wordHint.replace("$0",g[0].toString()).replace("$1",g[1].toString()).replace("$2",k.value.toString()));h.comment=De(h.comment,f.value.map),e.replyId&&e.rootId&&(h.pid=e.replyId,h.rid=e.rootId,h.at=e.replyUser),j.value=!0,(({serverURL:e,lang:t,token:n,comment:o})=>{const l={"Content-Type":"application/json"};return n&&(l.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:l,body:JSON.stringify(o)}).then((e=>e.json()))})({serverURL:d,lang:p,token:null===(m=i.value)||void 0===m?void 0:m.token,comment:h}).then((t=>{if(j.value=!1,t.errmsg)return alert(t.errmsg);n("submit",t.data),r.value.editor="",b.value="",e.replyId&&n("cancel-reply")})).catch((e=>{j.value=!1,alert(e.message)}))},A=e=>{v.value.contains(e.target)||g.value.contains(e.target)||(h.value=!1)};return l([o,k],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(C.value=n[0],$.value=!1):t>n[1]?(C.value=n[1],$.value=!1):(C.value=n[1],$.value=!0):(C.value=0,$.value=!0)}),{immediate:!0}),m((()=>{document.body.addEventListener("click",A),l((()=>r.value.editor),(e=>{const{highlighter:t,texRenderer:n}=o.value;I.value=e,b.value=We(e,{emojiMap:f.value.map,highlighter:t,texRenderer:n}),k.value=(e=>(e=>e.match(/[\w\d\s\u00C0-\u024F]+/giu)||[])(e).reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0)+(e=>e.match(/[\u4E00-\u9FA5]/gu)||[])(e).length)(e),e?O(c.value):O.destroy(c.value)}),{immediate:!0}),l((()=>o.value.emoji),(e=>{return(t=e,Promise.all(t.map((e=>"string"==typeof e?Me(xe(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:o,icon:l,prefix:r,type:i,items:a}=e;t.tabs.push({name:n,icon:Pe(l,o,r,i),items:a.map((e=>{const n=`${r||""}${e}`;return t.map[n]=Pe(e,o,r,i),n}))})})),t}))).then((e=>{f.value=e}));var t}),{immediate:!0})})),d((()=>{document.body.removeEventListener("click",A)})),{config:o,locale:S,insert:R,onChange:()=>{const e=p.value;e.files&&L.value&&E(e.files[0]).then((()=>{e.value=""}))},onDrop:e=>{var t;if(null===(t=e.dataTransfer)||void 0===t?void 0:t.items){const t=Te(e.dataTransfer.items);t&&L.value&&(E(t),e.preventDefault())}},onKeyDown:e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&z()},onPaste:e=>{if(e.clipboardData){const t=Te(e.clipboardData.items);t&&L.value&&E(t)}},onLogin:e=>{e.preventDefault();const{lang:t,serverURL:n}=o.value,l=(window.innerWidth-450)/2,r=(window.innerHeight-450)/2,a=window.open(`${n}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${l},top=${r},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==a||a.postMessage({type:"TOKEN",data:null},"*");const s=({data:e})=>{e&&"userInfo"===e.type&&e.data.token&&(null==a||a.close(),i.value=e.data,(e.data.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e.data)),window.removeEventListener("message",s))};window.addEventListener("message",s)},onLogout:()=>{i.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null")},onProfile:e=>{e.preventDefault();const{lang:t,serverURL:n}=o.value,l=(window.innerWidth-800)/2,r=(window.innerHeight-800)/2,a=window.open(`${n}/ui/profile?lng=${encodeURIComponent(t)}`,"_blank",`width=800,height=800,left=${l},top=${r},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==a||a.postMessage({type:"TOKEN",data:i.value.token},"*");const s=({data:e})=>{e&&"profile"===e.type&&(i.value={...i.value,...e},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(i)))),window.removeEventListener("message",s))};window.addEventListener("message",s)},submitComment:z,isLogin:x,userInfo:i,isSubmitting:j,wordNumber:k,wordLimit:C,isWordNumberLegal:$,inputs:r,emoji:f,emojiTabIndex:w,showEmoji:h,canUploadImage:L,previewText:b,showPreview:y,inputRefs:a,editorRef:c,emojiButtonRef:v,emojiPopupRef:g,imageUploadRef:p}}});const Je={class:"wl-comment"},Ke={key:0,class:"wl-login-info"},Ye={class:"wl-avatar"},Ge=["title"],Qe=["src"],Xe=["textContent"],Ze={class:"wl-panel"},et=["for","textContent"],tt=["id","name","type","onUpdate:modelValue"],nt=["placeholder"],ot={class:"wl-preview"},lt=f("hr",null,null,-1),rt=["innerHTML"],it={class:"wl-footer"},at={class:"wl-actions"},st={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noreferrer"},ct=["title"],ut=["title"],mt=["title"],dt={class:"wl-info"},pt={class:"wl-text-number"},vt={key:0},gt=x(" / "),ft=["textContent"],wt=["textContent"],ht=["disabled"],yt={key:0,class:"wl-tab-wrapper"},bt=["title","onClick"],kt=["src","alt"],Ct={key:0,class:"wl-tabs"},$t=["onClick"],It=["src","alt","title"],jt=["title"];Ve.render=function(e,t,n,o,l,r){const i=p("CloseIcon"),a=p("MarkdownIcon"),s=p("EmojiIcon"),c=p("ImageIcon"),u=p("PreviewIcon"),m=p("LoadingIcon");return v(),g("div",Je,["disable"!==e.config.login&&e.isLogin?(v(),g("div",Ke,[f("div",Ye,[f("button",{class:"wl-logout-btn",title:e.locale.logout,onClick:t[0]||(t[0]=(...t)=>e.onLogout&&e.onLogout(...t))},[w(i,{size:14})],8,Ge),f("img",{src:e.userInfo.avatar,alt:"avatar"},null,8,Qe)]),f("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",onClick:t[1]||(t[1]=(...t)=>e.onProfile&&e.onProfile(...t)),textContent:h(e.userInfo.display_name)},null,8,Xe)])):y("v-if",!0),f("div",Ze,["force"!==e.config.login&&e.config.meta.length&&!e.isLogin?(v(),g("div",{key:0,class:b(["wl-header",`item${e.config.meta.length}`])},[(v(!0),g(k,null,C(e.config.meta,(t=>(v(),g("div",{class:"wl-header-item",key:t},[f("label",{for:t,textContent:h(e.locale[t]+(e.config.requiredMeta.includes(t)||!e.config.requiredMeta.length?"":`(${e.locale.optional})`))},null,8,et),$(f("input",{ref_for:!0,ref:n=>{n&&(e.inputRefs[t]=n)},id:`wl-${t}`,class:b(["wl-input",`wl-${t}`]),name:t,type:"mail"===t?"email":"text","onUpdate:modelValue":n=>e.inputs[t]=n},null,10,tt),[[I,e.inputs[t]]])])))),128))],2)):y("v-if",!0),$(f("textarea",{class:"wl-editor",ref:"editorRef",id:"wl-edit",placeholder:e.replyUser?`@${e.replyUser}`:e.locale.placeholder,"onUpdate:modelValue":t[2]||(t[2]=t=>e.inputs.editor=t),onKeydown:t[3]||(t[3]=(...t)=>e.onKeyDown&&e.onKeyDown(...t)),onDrop:t[4]||(t[4]=(...t)=>e.onDrop&&e.onDrop(...t)),onPaste:t[5]||(t[5]=(...t)=>e.onPaste&&e.onPaste(...t))},null,40,nt),[[j,e.inputs.editor]]),$(f("div",ot,[lt,f("h4",null,h(e.locale.preview)+":",1),f("div",{class:"wl-content",innerHTML:e.previewText},null,8,rt)],512),[[S,e.showPreview]]),f("div",it,[f("div",at,[f("a",st,[w(a)]),f("button",{ref:"emojiButtonRef",class:b(["wl-action",{actived:e.showEmoji}]),title:e.locale.emoji,onClick:t[6]||(t[6]=t=>e.showEmoji=!e.showEmoji)},[w(s)],10,ct),f("input",{ref:"imageUploadRef",class:"upload",id:"wl-image-upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:t[7]||(t[7]=(...t)=>e.onChange&&e.onChange(...t))},null,544),e.canUploadImage?(v(),g("label",{key:0,for:"wl-image-upload",class:"wl-action",title:e.locale.uploadImage},[w(c)],8,ut)):y("v-if",!0),f("button",{class:b(["wl-action",{actived:e.showPreview}]),title:e.locale.preview,onClick:t[8]||(t[8]=t=>e.showPreview=!e.showPreview)},[w(u)],10,mt)]),f("div",dt,[f("div",pt,[x(h(e.wordNumber)+" ",1),e.config.wordLimit?(v(),g("span",vt,[gt,f("span",{class:b({illegal:!e.isWordNumberLegal}),textContent:h(e.wordLimit)},null,10,ft)])):y("v-if",!0),x(" "+h(e.locale.word),1)]),"disable"===e.config.login||e.isLogin?y("v-if",!0):(v(),g("button",{key:0,class:"wl-btn",onClick:t[9]||(t[9]=(...t)=>e.onLogin&&e.onLogin(...t)),textContent:h(e.locale.login)},null,8,wt)),"force"!==e.config.login||e.isLogin?(v(),g("button",{key:1,class:"wl-btn primary",title:"Cmd|Ctrl + Enter",disabled:e.isSubmitting,onClick:t[10]||(t[10]=(...t)=>e.submitComment&&e.submitComment(...t))},[e.isSubmitting?(v(),L(m,{key:0,size:16})):(v(),g(k,{key:1},[x(h(e.locale.submit),1)],2112))],8,ht)):y("v-if",!0)]),f("div",{ref:"emojiPopupRef",class:b(["wl-emoji-popup",{display:e.showEmoji}])},[(v(!0),g(k,null,C(e.emoji.tabs,((t,n)=>(v(),g(k,{key:t.name},[n===e.emojiTabIndex?(v(),g("div",yt,[(v(!0),g(k,null,C(t.items,(t=>(v(),g("button",{key:t,title:t,onClick:n=>e.insert(`:${t}:`)},[e.showEmoji?(v(),g("img",{key:0,class:"wl-emoji",src:e.emoji.map[t],alt:t,loading:"lazy",referrerPolicy:"no-referrer"},null,8,kt)):y("v-if",!0)],8,bt)))),128))])):y("v-if",!0)],64)))),128)),e.emoji.tabs.length>1?(v(),g("div",Ct,[(v(!0),g(k,null,C(e.emoji.tabs,((t,n)=>(v(),g("button",{key:t.name,class:b(["wl-tab",{active:e.emojiTabIndex===n}]),onClick:t=>e.emojiTabIndex=n},[f("img",{class:"wl-emoji",src:t.icon,alt:t.name,title:t.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,It)],10,$t)))),128))])):y("v-if",!0)],2)])]),e.replyId?(v(),g("button",{key:1,class:"wl-close",title:e.locale.cancelReply,onClick:t[11]||(t[11]=t=>e.$emit("cancel-reply"))},[w(i,{size:24})],8,jt)):y("v-if",!0)])},Ve.__file="src/components/CommentBox.vue";var St=c({props:{comment:{type:Object,required:!0},rootId:{type:String,required:!0},reply:{type:Object}},components:{CommentBox:Ve,ReplyIcon:()=>e("svg",{viewBox:"0 0 1024 1024",width:"18",height:"18"},e("path",{d:"M1019.2 720C1001.6 625.6 968 566.4 904 497.6c-89.6-89.6-214.4-150.4-347.2-176v-120c0-25.6-8-51.2-25.6-64-33.6-30.4-81.6-30.4-112-4.8L33.6 441.6C12.8 459.2 0 484.8 0 510.4c0 25.6 12.8 51.2 30.4 68.8l385.6 312c17.6 12.8 33.6 17.6 51.2 17.6 12.8 0 25.6-4.8 38.4-8C536 888 552 857.6 552 824v-99.2c124.8 20.8 248 86.4 339.2 140.8 25.6 17.6 59.2 17.6 89.6 0 25.6-17.6 43.2-46.4 43.2-76.8 0-33.6 0-56-4.8-68.8zm-500.8-89.6-46.4-4.8v193.6L86.4 510.4 472 201.6V400l38.4 4.8c128 12.8 248 68.8 334.4 153.6 51.2 56 76.8 102.4 94.4 179.2 0 4.8 4.8 20.8 4.8 51.2C835.2 720 672 640 518.4 630.4z",fill:"currentColor"})),VerifiedIcon:()=>e("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},e("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"}))},emits:["submit","reply"],setup(e){const t=u("config"),n=s((()=>t.value.locale)),o=s((()=>{let{link:t}=e.comment;return t?Le(t)?t:`https://${t}`:""})),l=He(e.comment.insertedAt,n.value),r=s((()=>{var t;return e.comment.objectId===(null===(t=e.reply)||void 0===t?void 0:t.objectId)}));return{config:t,locale:n,isReplyingCurrent:r,link:o,time:l}}});const xt=["id"],Lt={class:"wl-user","aria-hidden":"true"},Rt=["src"],Et={class:"wl-card"},zt={class:"wl-head"},Ot=["href"],At={key:1,class:"wl-nick"},Mt=["textContent"],Pt=["textContent"],Ut=["textContent"],Nt=["title"],Tt={class:"wl-meta","aria-hidden":"true"},_t=["textContent"],Ft=["textContent"],Bt=["innerHTML"],Dt={key:0,class:"wl-reply-wrapper"},Wt={key:1,class:"wl-quote"};St.render=function(e,t,n,o,l,r){const i=p("VerifiedIcon"),a=p("ReplyIcon"),s=p("CommentBox"),c=p("CommentCard",!0);return v(),g("div",{class:"wl-item",id:e.comment.objectId},[f("div",Lt,[e.comment.avatar?(v(),g("img",{key:0,src:e.comment.avatar},null,8,Rt)):y("v-if",!0),e.comment.type?(v(),L(i,{key:1})):y("v-if",!0)]),f("div",Et,[f("div",zt,[e.link?(v(),g("a",{key:0,class:"wl-nick",href:e.link,target:"_blank",rel:"nofollow noreferrer"},h(e.comment.nick),9,Ot)):(v(),g("span",At,h(e.comment.nick),1)),"administrator"===e.comment.type?(v(),g("span",{key:2,class:"wl-badge",textContent:h(e.locale.admin)},null,8,Mt)):y("v-if",!0),e.comment.sticky?(v(),g("span",{key:3,class:"wl-badge",textContent:h(e.locale.sticky)},null,8,Pt)):y("v-if",!0),f("span",{class:"wl-time",textContent:h(e.time)},null,8,Ut),f("button",{class:b(["wl-reply",{active:e.isReplyingCurrent}]),title:e.isReplyingCurrent?e.locale.cancelReply:e.locale.reply,onClick:t[0]||(t[0]=t=>e.$emit("reply",e.isReplyingCurrent?null:e.comment))},[w(a)],10,Nt)]),f("div",Tt,[e.comment.browser?(v(),g("span",{key:0,textContent:h(e.comment.browser)},null,8,_t)):y("v-if",!0),e.comment.os?(v(),g("span",{key:1,textContent:h(e.comment.os)},null,8,Ft)):y("v-if",!0)]),f("div",{class:"wl-content",innerHTML:e.comment.comment},null,8,Bt),e.isReplyingCurrent?(v(),g("div",Dt,[w(s,{replyId:e.comment.objectId,replyUser:e.comment.nick,rootId:e.rootId,onSubmit:t[1]||(t[1]=t=>e.$emit("submit",t)),onCancelReply:t[2]||(t[2]=t=>e.$emit("reply",null))},null,8,["replyId","replyUser","rootId"])])):y("v-if",!0),e.comment.children?(v(),g("div",Wt,[(v(!0),g(k,null,C(e.comment.children,(n=>(v(),L(c,{key:n.objectId,comment:n,reply:e.reply,rootId:e.rootId,onReply:t[3]||(t[3]=t=>e.$emit("reply",t)),onSubmit:t[4]||(t[4]=t=>e.$emit("submit",t))},null,8,["comment","reply","rootId"])))),128))])):y("v-if",!0)])],8,xt)},St.__file="src/components/CommentCard.vue";var Ht=c({name:"WalineRoot",components:{CommentBox:Ve,CommentCard:St,LoadingIcon:P},props:{serverURL:{type:String,required:!0},path:{type:String,required:!0},meta:{type:Array},requiredMeta:{type:Array},dark:{type:[String,Boolean]},lang:{type:String},locale:{type:Object},pageSize:{type:Number},wordLimit:{type:[Number,Array]},emoji:{type:Array},login:{type:String},highlighter:{type:Function},imageUploader:{type:[Function,Boolean]},texRenderer:{type:[Function,Boolean]}},setup(e){const n=s((()=>(({serverURL:e,path:t=location.pathname,lang:n="zh-CN",locale:o,emoji:l=["https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo"],meta:r=["nick","mail","link"],requiredMeta:i=[],dark:a=!1,pageSize:s=10,wordLimit:c,imageUploader:u,highlighter:m,texRenderer:d,copyright:p=!0,login:v="enable",...g})=>({serverURL:Re(e),path:Se(t),locale:{...je[n]||je["zh-CN"],..."object"==typeof o?o:{}},wordLimit:Ee(c),meta:ve(r),requiredMeta:ve(i),imageUploader:ze(u,ge),highlighter:ze(m,M),texRenderer:ze(d,fe),lang:n,dark:a,emoji:l,pageSize:s,login:v,copyright:p,...g}))(e))),o=qe(),r=t("loading"),i=t(0),a=t(1),c=t(0),u=t([]),d=t(null),p=s((()=>{return"string"==typeof(e=n.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${Oe}}`:`${e}${Oe}`:!0===e?`:root${Oe}`:"";var e}));let v,g;const f=e=>{var t;const{serverURL:l,path:s,pageSize:m}=n.value,d=new AbortController;r.value="loading",null==v||v(),Ue({serverURL:l,path:s,pageSize:m,page:e,signal:d.signal,token:null===(t=o.value)||void 0===t?void 0:t.token}).then((t=>{r.value="success",i.value=t.count,u.value.push(...t.data),a.value=e,c.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),r.value="error")})),v=d.abort.bind(d)},w=()=>{i.value=0,u.value=[],f(1)};return R("config",n),l((()=>e.path),w),m((()=>{var e;w();const t=document.createElement("style");t.innerText=p.value,null===(e=document.querySelector("[data-waline]"))||void 0===e||e.appendChild(t),g=E((()=>{t.innerText=p.value}))})),z((()=>g())),{config:n,darkmodeStyle:p,i18n:s((()=>n.value.locale)),status:r,count:i,page:a,totalPages:c,data:u,reply:d,loadMore:()=>f(a.value+1),refresh:w,onReply:e=>{d.value=e},onSubmit:e=>{if(e.rid){const t=u.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else u.value.unshift(e)},version:"2.0.4"}}});const qt={"data-waline":""},Vt={class:"wl-count"},Jt=["textContent"],Kt={class:"wl-cards"},Yt={key:1,class:"wl-operation"},Gt=["textContent"],Qt={key:0,class:"wl-loading"},Xt=["textContent"],Zt={class:"wl-operation"},en=["textContent"],tn={key:3,class:"wl-power"},nn=x(" Powered by "),on=f("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noreferrer"}," Waline ",-1);Ht.render=function(e,t,n,o,l,r){const i=p("CommentBox"),a=p("CommentCard"),s=p("LoadingIcon");return v(),g("div",qt,[e.reply?y("v-if",!0):(v(),L(i,{key:0,onSubmit:e.onSubmit},null,8,["onSubmit"])),f("div",Vt,[e.count?(v(),g("span",{key:0,class:"wl-num",textContent:h(e.count)},null,8,Jt)):y("v-if",!0),x(" "+h(e.i18n.comment),1)]),f("div",Kt,[(v(!0),g(k,null,C(e.data,(t=>(v(),L(a,{key:t.objectId,"root-id":t.objectId,comment:t,reply:e.reply,onReply:e.onReply,onSubmit:e.onSubmit},null,8,["root-id","comment","reply","onReply","onSubmit"])))),128))]),"error"===e.status?(v(),g("div",Yt,[f("button",{type:"button",class:"wl-btn",onClick:t[0]||(t[0]=(...t)=>e.refresh&&e.refresh(...t)),textContent:h(e.i18n.refresh)},null,8,Gt)])):(v(),g(k,{key:2},["loading"===e.status?(v(),g("div",Qt,[w(s,{size:30})])):e.data.length?e.page<e.totalPages?(v(),g(k,{key:2},[y(" Load more button "),f("div",Zt,[f("button",{type:"button",class:"wl-btn",onClick:t[1]||(t[1]=(...t)=>e.loadMore&&e.loadMore(...t)),textContent:h(e.i18n.more)},null,8,en)])],2112)):y("v-if",!0):(v(),g("div",{key:1,class:"wl-empty",textContent:h(e.i18n.sofa)},null,8,Xt))],2112)),y(" Copyright Information "),e.config.copyright?(v(),g("div",tn,[nn,on,x(" v"+h(e.version),1)])):y("v-if",!0)])},Ht.__file="src/components/Waline.vue";const ln="2.0.4";export{Ht as Waline,ln as version}; | ||
//# sourceMappingURL=component.js.map |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=e=>{"AbortError"!==e.name&&console.error(e.message)},t=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},r=({serverURL:e,paths:r,signal:n})=>fetch(`${e}/article?path=${encodeURIComponent(r.join(","))}`,{signal:n}).then((e=>e.json())).then((e=>t(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),n=({serverURL:e,path:r})=>fetch(`${e}/article`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:r})}).then((e=>e.json())).then((e=>t(e,"visit count"))),o=e=>e.dataset.path||e.getAttribute("id"),a=(e,t)=>{t.forEach(((t,r)=>{t.innerText=e[r].toString()}))};exports.pageviewCount=({serverURL:t,path:s=window.location.pathname,selector:i=".waline-pageview-count",update:l=!0})=>{const h=new AbortController,c=Array.from(document.querySelectorAll(i)),p=e=>{const t=o(e);return null!==t&&s!==t},u=n=>r({serverURL:t,paths:n.map((e=>o(e)||s)),signal:h.signal}).then((e=>a(e,n))).catch(e);if(l){const e=c.filter((e=>!p(e))),r=c.filter(p);n({serverURL:t,path:s}).then((t=>a(new Array(e.length).fill(t),e))),r.length&&u(r)}else u(c);return h.abort.bind(h)},exports.version="2.0.3"; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=e=>{"AbortError"!==e.name&&console.error(e.message)},t=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},r=({serverURL:e,paths:r,signal:n})=>fetch(`${e}/article?path=${encodeURIComponent(r.join(","))}`,{signal:n}).then((e=>e.json())).then((e=>t(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),n=({serverURL:e,path:r})=>fetch(`${e}/article`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:r})}).then((e=>e.json())).then((e=>t(e,"visit count"))),o=e=>e.dataset.path||e.getAttribute("id"),a=(e,t)=>{t.forEach(((t,r)=>{t.innerText=e[r].toString()}))};exports.pageviewCount=({serverURL:t,path:s=window.location.pathname,selector:i=".waline-pageview-count",update:l=!0})=>{const h=new AbortController,c=Array.from(document.querySelectorAll(i)),p=e=>{const t=o(e);return null!==t&&s!==t},u=n=>r({serverURL:t,paths:n.map((e=>o(e)||s)),signal:h.signal}).then((e=>a(e,n))).catch(e);if(l){const e=c.filter((e=>!p(e))),r=c.filter(p);n({serverURL:t,path:s}).then((t=>a(new Array(e.length).fill(t),e))),r.length&&u(r)}else u(c);return h.abort.bind(h)},exports.version="2.0.4"; | ||
//# sourceMappingURL=pageview.cjs.js.map |
@@ -1,2 +0,2 @@ | ||
const e="2.0.3",t=e=>{"AbortError"!==e.name&&console.error(e.message)},r=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},n=({serverURL:e,paths:t,signal:n})=>fetch(`${e}/article?path=${encodeURIComponent(t.join(","))}`,{signal:n}).then((e=>e.json())).then((e=>r(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),o=({serverURL:e,path:t})=>fetch(`${e}/article`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})}).then((e=>e.json())).then((e=>r(e,"visit count"))),a=e=>e.dataset.path||e.getAttribute("id"),i=(e,t)=>{t.forEach(((t,r)=>{t.innerText=e[r].toString()}))},s=({serverURL:e,path:r=window.location.pathname,selector:s=".waline-pageview-count",update:h=!0})=>{const l=new AbortController,c=Array.from(document.querySelectorAll(s)),p=e=>{const t=a(e);return null!==t&&r!==t},f=o=>n({serverURL:e,paths:o.map((e=>a(e)||r)),signal:l.signal}).then((e=>i(e,o))).catch(t);if(h){const t=c.filter((e=>!p(e))),n=c.filter(p);o({serverURL:e,path:r}).then((e=>i(new Array(t.length).fill(e),t))),n.length&&f(n)}else f(c);return l.abort.bind(l)};export{s as pageviewCount,e as version}; | ||
const e="2.0.4",t=e=>{"AbortError"!==e.name&&console.error(e.message)},r=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},n=({serverURL:e,paths:t,signal:n})=>fetch(`${e}/article?path=${encodeURIComponent(t.join(","))}`,{signal:n}).then((e=>e.json())).then((e=>r(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),o=({serverURL:e,path:t})=>fetch(`${e}/article`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})}).then((e=>e.json())).then((e=>r(e,"visit count"))),a=e=>e.dataset.path||e.getAttribute("id"),i=(e,t)=>{t.forEach(((t,r)=>{t.innerText=e[r].toString()}))},s=({serverURL:e,path:r=window.location.pathname,selector:s=".waline-pageview-count",update:h=!0})=>{const l=new AbortController,c=Array.from(document.querySelectorAll(s)),p=e=>{const t=a(e);return null!==t&&r!==t},f=o=>n({serverURL:e,paths:o.map((e=>a(e)||r)),signal:l.signal}).then((e=>i(e,o))).catch(t);if(h){const t=c.filter((e=>!p(e))),n=c.filter(p);o({serverURL:e,path:r}).then((e=>i(new Array(t.length).fill(e),t))),n.length&&f(n)}else f(c);return l.abort.bind(l)};export{s as pageviewCount,e as version}; | ||
//# sourceMappingURL=pageview.esm.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,t){if("function"==typeof define&&define.amd)define("Waline",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var n={exports:{}};t(n.exports),e.Waline=n.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.version=e.pageviewCount=void 0;e.version="2.0.3";const t=e=>{"AbortError"!==e.name&&console.error(e.message)},n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if("object"==typeof e&&e.errno)throw new TypeError("Fetch ".concat(t," failed with ").concat(e.errno,": ").concat(e.errmsg));return e},r=e=>{let{serverURL:t,paths:r,signal:o}=e;return fetch("".concat(t,"/article?path=").concat(encodeURIComponent(r.join(","))),{signal:o}).then((e=>e.json())).then((e=>n(e,"visit count"))).then((e=>Array.isArray(e)?e:[e]))},o=e=>{let{serverURL:t,path:r}=e;return fetch("".concat(t,"/article"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:r})}).then((e=>e.json())).then((e=>n(e,"visit count")))},i=e=>e.dataset.path||e.getAttribute("id"),a=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))};e.pageviewCount=e=>{let{serverURL:n,path:s=window.location.pathname,selector:l=".waline-pageview-count",update:c=!0}=e;const f=new AbortController,h=Array.from(document.querySelectorAll(l)),p=e=>{const t=i(e);return null!==t&&s!==t},d=e=>r({serverURL:n,paths:e.map((e=>i(e)||s)),signal:f.signal}).then((t=>a(t,e))).catch(t);if(c){const e=h.filter((e=>!p(e))),t=h.filter(p);o({serverURL:n,path:s}).then((t=>a(new Array(e.length).fill(t),e))),t.length&&d(t)}else d(h);return f.abort.bind(f)}})); | ||
!function(e,t){if("function"==typeof define&&define.amd)define("Waline",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var n={exports:{}};t(n.exports),e.Waline=n.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.version=e.pageviewCount=void 0;e.version="2.0.4";const t=e=>{"AbortError"!==e.name&&console.error(e.message)},n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if("object"==typeof e&&e.errno)throw new TypeError("Fetch ".concat(t," failed with ").concat(e.errno,": ").concat(e.errmsg));return e},r=e=>{let{serverURL:t,paths:r,signal:o}=e;return fetch("".concat(t,"/article?path=").concat(encodeURIComponent(r.join(","))),{signal:o}).then((e=>e.json())).then((e=>n(e,"visit count"))).then((e=>Array.isArray(e)?e:[e]))},o=e=>{let{serverURL:t,path:r}=e;return fetch("".concat(t,"/article"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:r})}).then((e=>e.json())).then((e=>n(e,"visit count")))},i=e=>e.dataset.path||e.getAttribute("id"),a=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))};e.pageviewCount=e=>{let{serverURL:n,path:s=window.location.pathname,selector:l=".waline-pageview-count",update:c=!0}=e;const f=new AbortController,h=Array.from(document.querySelectorAll(l)),p=e=>{const t=i(e);return null!==t&&s!==t},d=e=>r({serverURL:n,paths:e.map((e=>i(e)||s)),signal:f.signal}).then((t=>a(t,e))).catch(t);if(c){const e=h.filter((e=>!p(e))),t=h.filter(p);o({serverURL:n,path:s}).then((t=>a(new Array(e.length).fill(t),e))),t.length&&d(t)}else d(h);return f.abort.bind(f)}})); | ||
//# sourceMappingURL=pageview.js.map |
@@ -1,2 +0,2 @@ | ||
import{ref as e,unref as t,isRef as n,watch as o,getCurrentScope as r,onScopeDispose as l,shallowRef as i,computed as a,h as s,defineComponent as c,inject as u,onMounted as m,onUnmounted as d,resolveComponent as p,openBlock as v,createElementBlock as g,createElementVNode as f,createVNode as h,toDisplayString as w,createCommentVNode as y,normalizeClass as b,Fragment as k,renderList as C,withDirectives as $,vModelDynamic as j,vModelText as I,vShow as L,createTextVNode as S,createBlock as R,provide as x,watchEffect as E,onBeforeUnmount as A,reactive as U,createApp as z}from"vue";import O from"autosize";import{marked as M}from"marked";import P from"hanabi";const N=["nick","mail","link"],T=e=>e.filter((e=>N.includes(e))),_="zh-CN",B=e=>new Promise(((t,n)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>{var e;return t((null===(e=o.result)||void 0===e?void 0:e.toString())||"")},o.onerror=n})),F=e=>!0===e?'<p class="wl-tex">Tex is not available in preview</p>':'<span class="wl-tex">Tex is not available in preview</span>',D=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous"],H=e=>Object.fromEntries(e.map(((e,t)=>[D[t],e])));var q=H(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous"]),W=H(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名"]),V=H(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名"]),J=H(["暱稱","郵箱","網址","可選","暱稱不能少於3個字元","請填寫正確的郵件地址","歡迎評論","來發評論吧~","提交","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名"]),K=H(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo"]),Y=H(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный"]);const G={zh:V,"zh-cn":V,"zh-CN":V,"zh-tw":J,"zh-TW":J,en:q,"en-US":q,"en-us":q,jp:W,"jp-jp":W,"jp-JP":W,"pt-br":K,"pt-BR":K,ru:Y,"ru-ru":Y,"ru-RU":Y};function Q(e){return!!r()&&(l(e),!0)}const X="undefined"!=typeof window,Z=()=>{};const ee=e=>e();var te=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable;function re(e,t,n={}){const r=n,{eventFilter:l=ee}=r,i=((e,t)=>{var n={};for(var o in e)ne.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&te)for(var o of te(e))t.indexOf(o)<0&&oe.call(e,o)&&(n[o]=e[o]);return n})(r,["eventFilter"]);return o(e,(a=l,s=t,function(...e){a((()=>s.apply(this,e)),{fn:s,thisArg:this,args:e})}),i);var a,s}var le=Object.defineProperty,ie=Object.defineProperties,ae=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,ce=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,me=(e,t,n)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function de(t,n,o={}){const r=o,{eventFilter:l}=r,i=((e,t)=>{var n={};for(var o in e)ce.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&se)for(var o of se(e))t.indexOf(o)<0&&ue.call(e,o)&&(n[o]=e[o]);return n})(r,["eventFilter"]),{eventFilter:a,pause:s,resume:c,isActive:u}=function(t=ee){const n=e(!0);return{isActive:n,pause:function(){n.value=!1},resume:function(){n.value=!0},eventFilter:(...e)=>{n.value&&t(...e)}}}(l),m=re(t,n,(d=((e,t)=>{for(var n in t||(t={}))ce.call(t,n)&&me(e,n,t[n]);if(se)for(var n of se(t))ue.call(t,n)&&me(e,n,t[n]);return e})({},i),ie(d,ae({eventFilter:a}))));var d;return{stop:m,pause:s,resume:c,isActive:u}}const pe=X?window:void 0;function ve(...e){let n,r,l,i;if("string"==typeof e[0]?([r,l,i]=e,n=pe):[n,r,l,i]=e,!n)return Z;let a=Z;const s=o((()=>function(e){var n;const o=t(e);return null!=(n=null==o?void 0:o.$el)?n:o}(n)),(e=>{a(),e&&(e.addEventListener(r,l,i),a=()=>{e.removeEventListener(r,l,i),a=Z})}),{immediate:!0,flush:"post"}),c=()=>{s(),a()};return Q(c),c}X&&window.document,X&&window.navigator,X&&window.location;const ge="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},fe="__vueuse_ssr_handlers__";ge[fe]=ge[fe]||{};const he=ge[fe];const we={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function ye(n,o,r,l={}){var a;const{flush:s="pre",deep:c=!0,listenToStorageChanges:u=!0,writeDefaults:m=!0,shallow:d,window:p=pe,eventFilter:v,onError:g=(e=>{console.error(e)})}=l,f=(d?i:e)(o);if(!r)try{r=function(e,t){return he[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=pe)?void 0:e.localStorage}))()}catch(e){g(e)}if(!r)return f;const h=t(o),w=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e||Array.isArray(e)?"object":Number.isNaN(e)?"any":"number"}(h),y=null!=(a=l.serializer)?a:we[w],{pause:b,resume:k}=de(f,(()=>function(e){try{null==e?r.removeItem(n):r.setItem(n,y.write(e))}catch(e){g(e)}}(f.value)),{flush:s,deep:c,eventFilter:v});return p&&u&&ve(p,"storage",C),C(),f;function C(e){e&&e.key!==n||(f.value=function(e){if(!e||e.key===n){b();try{const t=e?e.newValue:r.getItem(n);return null==t?(m&&null!==h&&r.setItem(n,y.write(h)),h):"string"!=typeof t?t:y.read(t)}catch(e){g(e)}finally{k()}}}(e))}}var be,ke,Ce=Object.defineProperty,$e=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,Le=(e,t,n)=>t in e?Ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Se(r={}){const{controls:l=!1,interval:i="requestAnimationFrame"}=r,a=e(new Date),s=()=>a.value=new Date,c="requestAnimationFrame"===i?function(t,n={}){const{immediate:o=!0,window:r=pe}=n,l=e(!1);let i=null;function a(){l.value&&r&&(t(),i=r.requestAnimationFrame(a))}function s(){!l.value&&r&&(l.value=!0,a())}function c(){l.value=!1,null!=i&&r&&(r.cancelAnimationFrame(i),i=null)}return o&&s(),Q(c),{isActive:l,pause:c,resume:s}}(s,{immediate:!0}):function(r,l=1e3,i={}){const{immediate:a=!0,immediateCallback:s=!1}=i;let c=null;const u=e(!1);function m(){c&&(clearInterval(c),c=null)}function d(){u.value=!1,m()}function p(){l<=0||(u.value=!0,s&&r(),m(),c=setInterval(r,t(l)))}a&&X&&p(),n(l)&&Q(o(l,(()=>{a&&X&&p()})));return Q(d),{isActive:u,pause:d,resume:p}}(s,i,{immediate:!0});return l?((e,t)=>{for(var n in t||(t={}))je.call(t,n)&&Le(e,n,t[n]);if($e)for(var n of $e(t))Ie.call(t,n)&&Le(e,n,t[n]);return e})({now:a},c):a}X&&(null==window?void 0:window.navigator)&&(null==(be=null==window?void 0:window.navigator)?void 0:be.platform)&&/iP(ad|hone|od)/.test(null==(ke=null==window?void 0:window.navigator)?void 0:ke.platform);const Re=e=>{try{e=decodeURI(e)}catch(e){}return e},xe=(e="")=>e.replace(/\/$/u,""),Ee=e=>/^(https?:)?\/\//.test(e),Ae=e=>{const t=ye("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const e=t.value.link;if(e)return Promise.resolve(e)}return fetch(`${e}/info.json`).then((e=>e.json())).then((o=>{const r={folder:e,...o};return n&&(t.value.link=r),r}))},Ue=(e,t="",n="",o="")=>`${t?`${t}/`:""}${n}${e}${o?`.${o}`:""}`,ze=e=>{const t=xe(e);return Ee(t)?t:`https://${t}`},Oe=(e,t)=>"function"==typeof e?e:!1!==e&&t,Me="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",Pe=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},Ne=e=>{"AbortError"!==e.name&&console.error(e.message)},Te=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},_e=({serverURL:e,paths:t,signal:n})=>fetch(`${e}/article?path=${encodeURIComponent(t.join(","))}`,{signal:n}).then((e=>e.json())).then((e=>Te(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),Be=({serverURL:e,path:t})=>fetch(`${e}/article`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})}).then((e=>e.json())).then((e=>Te(e,"visit count"))),Fe=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,De=e=>e.type.includes("image"),He=e=>{const t=Array.from(e).find(De);return t?t.getAsFile():null},qe=/\$.*?\$/,We=/^\$(.*?)\$/,Ve=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,Je=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),Ke=(e,{emojiMap:t,highlighter:n,texRenderer:o})=>{if(M.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),o){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=Ve.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(qe);return-1!==t?t:e.length},tokenizer(t){const n=We.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(o);M.use({extensions:e})}return M.parse(Je(e,t))},Ye=e=>e.dataset.path||e.getAttribute("id"),Ge=(e,t)=>{const n=Se();return a((()=>{if(!e)return"";const o="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,r=n.value.getTime()-o.getTime(),l=Math.floor(r/864e5);if(0===l){const e=r%864e5,n=Math.floor(e/36e5);if(0===n){const n=e%36e5,o=Math.floor(n/6e4);if(0===o){const e=n%6e4;return`${Math.round(e/1e3)} ${t.seconds}`}return`${o} ${t.minutes}`}return`${n} ${t.hours}`}return l<0?t.now:l<8?`${l} ${t.days}`:(e=>{const t=Pe(e.getDate(),2),n=Pe(e.getMonth()+1,2);return`${Pe(e.getFullYear(),2)}-${n}-${t}`})(o)}))},Qe=()=>ye("USER_KEY",{}),Xe=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count"})=>{var o;const r=new AbortController,l=document.querySelectorAll(n),i=Qe();return l.length&&(({serverURL:e,paths:t,signal:n,token:o})=>{const r={};return o&&(r.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=count&url=${encodeURIComponent(t.join(","))}`,{signal:n,headers:r}).then((e=>e.json())).then((e=>Te(e,"comment count"))).then((e=>Array.isArray(e)?e:[e]))})({serverURL:e,paths:Array.from(l).map((e=>Re(e.dataset.path||e.getAttribute("id")||t))),signal:r.signal,token:null===(o=i.value)||void 0===o?void 0:o.token}).then((e=>{l.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(Ne),r.abort.bind(r)},Ze=({size:e})=>s("svg",{width:e,height:e,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},s("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},s("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})));var et=c({name:"CommentBox",components:{CloseIcon:({size:e})=>s("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:e,height:e},[s("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),s("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),EmojiIcon:()=>s("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},s("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),ImageIcon:()=>s("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[s("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),s("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),MarkdownIcon:()=>s("svg",{width:"16",height:"16",ariaHidden:"true"},s("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),PreviewIcon:()=>s("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[s("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),s("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),LoadingIcon:Ze},props:{rootId:{type:String,default:""},replyId:{type:String,default:""},replyUser:{type:String,default:""}},emits:["submit","cancel-reply"],setup(t,{emit:n}){const r=u("config"),l=ye("WALINE_USER_CACHE",{nick:"",mail:"",link:"",editor:""}),i=Qe(),s=e({}),c=e(null),p=e(null),v=e(null),g=e(null),f=e({tabs:[],map:{}}),h=e(0),w=e(!1),y=e(!1),b=e(""),k=e(0),C=e(0),$=e(!1),j=e(""),I=e(!1),L=a((()=>r.value.locale)),S=a((()=>{var e;return Boolean(null===(e=i.value)||void 0===e?void 0:e.token)})),R=a((()=>!1!==r.value.imageUploader)),x=e=>{const t=c.value,n=t.selectionStart,o=t.selectionEnd||0,r=t.scrollTop;l.value.editor=t.value.substring(0,n)+e+t.value.substring(o,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=r},E=e=>{const t=`![${r.value.locale.uploading} ${e.name}]()`;return x(t),Promise.resolve().then((()=>r.value.imageUploader(e))).then((n=>{l.value.editor=l.value.editor.replace(t,`\r\n![${e.name}](${n})`)}))},A=()=>{var e,o,a,u,m;const{serverURL:d,lang:p,login:v,wordLimit:g,requiredMeta:h}=r.value,w={comment:j.value,nick:l.value.nick,mail:l.value.mail,link:l.value.link,ua:navigator.userAgent,url:r.value.path};if(null===(e=i.value)||void 0===e?void 0:e.token)w.nick=i.value.display_name,w.mail=i.value.email,w.link=i.value.url;else{if("force"===v)return;if((h.indexOf("nick")>-1||w.nick)&&!w.nick)return null===(o=s.value.nick)||void 0===o||o.focus(),alert(L.value.nickError);if(h.indexOf("mail")>-1&&!w.mail)return null===(a=s.value.mail)||void 0===a||a.focus(),alert(L.value.mailError);if(!w.comment)return void(null===(u=c.value)||void 0===u||u.focus());w.nick||(w.nick=L.value.anonymous)}if(!$.value)return alert(L.value.wordHint.replace("$0",g[0].toString()).replace("$1",g[1].toString()).replace("$2",k.value.toString()));w.comment=Je(w.comment,f.value.map),t.replyId&&t.rootId&&(w.pid=t.replyId,w.rid=t.rootId,w.at=t.replyUser),I.value=!0,(({serverURL:e,lang:t,token:n,comment:o})=>{const r={"Content-Type":"application/json"};return n&&(r.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:r,body:JSON.stringify(o)}).then((e=>e.json()))})({serverURL:d,lang:p,token:null===(m=i.value)||void 0===m?void 0:m.token,comment:w}).then((e=>{if(I.value=!1,e.errmsg)return alert(e.errmsg);n("submit",e.data),l.value.editor="",b.value="",t.replyId&&n("cancel-reply")})).catch((e=>{I.value=!1,alert(e.message)}))},U=e=>{v.value.contains(e.target)||g.value.contains(e.target)||(w.value=!1)};return o((()=>l.value.editor),(e=>{const{highlighter:t,texRenderer:n}=r.value;j.value=e,b.value=Ke(e,{emojiMap:f.value.map,highlighter:t,texRenderer:n}),k.value=(e=>(e=>e.match(/[\w\d\s\u00C0-\u024F]+/giu)||[])(e).reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0)+(e=>e.match(/[\u4E00-\u9FA5]/gu)||[])(e).length)(e),c.value&&(e?O(c.value):O.destroy(c.value))}),{immediate:!0}),o((()=>r.value.emoji),(e=>e.then((e=>{f.value=e}))),{immediate:!0}),o([r,k],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(C.value=n[0],$.value=!1):t>n[1]?(C.value=n[1],$.value=!1):(C.value=n[1],$.value=!0):(C.value=0,$.value=!0)}),{immediate:!0}),m((()=>{document.body.addEventListener("click",U)})),d((()=>{document.body.removeEventListener("click",U)})),{config:r,locale:L,insert:x,onChange:()=>{const e=p.value;e.files&&R.value&&E(e.files[0]).then((()=>{e.value=""}))},onDrop:e=>{var t;if(null===(t=e.dataTransfer)||void 0===t?void 0:t.items){const t=He(e.dataTransfer.items);t&&R.value&&(E(t),e.preventDefault())}},onKeyDown:e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&A()},onPaste:e=>{if(e.clipboardData){const t=He(e.clipboardData.items);t&&R.value&&E(t)}},onLogin:e=>{e.preventDefault();const{lang:t,serverURL:n}=r.value,o=(window.innerWidth-450)/2,l=(window.innerHeight-450)/2,a=window.open(`${n}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${o},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==a||a.postMessage({type:"TOKEN",data:null},"*");const s=({data:e})=>{e&&"userInfo"===e.type&&e.data.token&&(null==a||a.close(),i.value=e.data,(e.data.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e.data)),window.removeEventListener("message",s))};window.addEventListener("message",s)},onLogout:()=>{i.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null")},onProfile:e=>{e.preventDefault();const{lang:t,serverURL:n}=r.value,o=(window.innerWidth-800)/2,l=(window.innerHeight-800)/2,a=window.open(`${n}/ui/profile?lng=${encodeURIComponent(t)}`,"_blank",`width=800,height=800,left=${o},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==a||a.postMessage({type:"TOKEN",data:i.value.token},"*");const s=({data:e})=>{e&&"profile"===e.type&&(i.value={...i.value,...e},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(i)))),window.removeEventListener("message",s))};window.addEventListener("message",s)},submitComment:A,isLogin:S,userInfo:i,isSubmitting:I,wordNumber:k,wordLimit:C,isWordNumberLegal:$,inputs:l,emoji:f,emojiTabIndex:h,showEmoji:w,canUploadImage:R,previewText:b,showPreview:y,inputRefs:s,editorRef:c,emojiButtonRef:v,emojiPopupRef:g,imageUploadRef:p}}});const tt={class:"wl-comment"},nt={key:0,class:"wl-login-info"},ot={class:"wl-avatar"},rt=["title"],lt=["src"],it=["textContent"],at={class:"wl-panel"},st=["for","textContent"],ct=["id","name","type","onUpdate:modelValue"],ut=["placeholder"],mt={class:"wl-preview"},dt=f("hr",null,null,-1),pt=["innerHTML"],vt={class:"wl-footer"},gt={class:"wl-actions"},ft={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noreferrer"},ht=["title"],wt=["title"],yt=["title"],bt={class:"wl-info"},kt={class:"wl-text-number"},Ct={key:0},$t=S(" / "),jt=["textContent"],It=["textContent"],Lt=["disabled"],St={key:0,class:"wl-tab-wrapper"},Rt=["title","onClick"],xt=["src","alt"],Et={key:0,class:"wl-tabs"},At=["onClick"],Ut=["src","alt","title"],zt=["title"];et.render=function(e,t,n,o,r,l){const i=p("CloseIcon"),a=p("MarkdownIcon"),s=p("EmojiIcon"),c=p("ImageIcon"),u=p("PreviewIcon"),m=p("LoadingIcon");return v(),g("div",tt,["disable"!==e.config.login&&e.isLogin?(v(),g("div",nt,[f("div",ot,[f("button",{class:"wl-logout-btn",title:e.locale.logout,onClick:t[0]||(t[0]=(...t)=>e.onLogout&&e.onLogout(...t))},[h(i,{size:14})],8,rt),f("img",{src:e.userInfo.avatar,alt:"avatar"},null,8,lt)]),f("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",onClick:t[1]||(t[1]=(...t)=>e.onProfile&&e.onProfile(...t)),textContent:w(e.userInfo.display_name)},null,8,it)])):y("v-if",!0),f("div",at,["force"!==e.config.login&&e.config.meta.length&&!e.isLogin?(v(),g("div",{key:0,class:b(["wl-header",`item${e.config.meta.length}`])},[(v(!0),g(k,null,C(e.config.meta,(t=>(v(),g("div",{class:"wl-header-item",key:t},[f("label",{for:t,textContent:w(e.locale[t]+(e.config.requiredMeta.includes(t)||!e.config.requiredMeta.length?"":`(${e.locale.optional})`))},null,8,st),$(f("input",{ref_for:!0,ref:n=>{n&&(e.inputRefs[t]=n)},id:`wl-${t}`,class:b(["wl-input",`wl-${t}`]),name:t,type:"mail"===t?"email":"text","onUpdate:modelValue":n=>e.inputs[t]=n},null,10,ct),[[j,e.inputs[t]]])])))),128))],2)):y("v-if",!0),$(f("textarea",{class:"wl-editor",ref:"editorRef",id:"wl-edit",placeholder:e.replyUser?`@${e.replyUser}`:e.locale.placeholder,"onUpdate:modelValue":t[2]||(t[2]=t=>e.inputs.editor=t),onKeydown:t[3]||(t[3]=(...t)=>e.onKeyDown&&e.onKeyDown(...t)),onDrop:t[4]||(t[4]=(...t)=>e.onDrop&&e.onDrop(...t)),onPaste:t[5]||(t[5]=(...t)=>e.onPaste&&e.onPaste(...t))},null,40,ut),[[I,e.inputs.editor]]),$(f("div",mt,[dt,f("h4",null,w(e.locale.preview)+":",1),f("div",{class:"wl-content",innerHTML:e.previewText},null,8,pt)],512),[[L,e.showPreview]]),f("div",vt,[f("div",gt,[f("a",ft,[h(a)]),f("button",{ref:"emojiButtonRef",class:b(["wl-action",{actived:e.showEmoji}]),title:e.locale.emoji,onClick:t[6]||(t[6]=t=>e.showEmoji=!e.showEmoji)},[h(s)],10,ht),f("input",{ref:"imageUploadRef",class:"upload",id:"wl-image-upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:t[7]||(t[7]=(...t)=>e.onChange&&e.onChange(...t))},null,544),e.canUploadImage?(v(),g("label",{key:0,for:"wl-image-upload",class:"wl-action",title:e.locale.uploadImage},[h(c)],8,wt)):y("v-if",!0),f("button",{class:b(["wl-action",{actived:e.showPreview}]),title:e.locale.preview,onClick:t[8]||(t[8]=t=>e.showPreview=!e.showPreview)},[h(u)],10,yt)]),f("div",bt,[f("div",kt,[S(w(e.wordNumber)+" ",1),e.config.wordLimit?(v(),g("span",Ct,[$t,f("span",{class:b({illegal:!e.isWordNumberLegal}),textContent:w(e.wordLimit)},null,10,jt)])):y("v-if",!0),S(" "+w(e.locale.word),1)]),"disable"===e.config.login||e.isLogin?y("v-if",!0):(v(),g("button",{key:0,class:"wl-btn",onClick:t[9]||(t[9]=(...t)=>e.onLogin&&e.onLogin(...t)),textContent:w(e.locale.login)},null,8,It)),"force"!==e.config.login||e.isLogin?(v(),g("button",{key:1,class:"wl-btn primary",title:"Cmd|Ctrl + Enter",disabled:e.isSubmitting,onClick:t[10]||(t[10]=(...t)=>e.submitComment&&e.submitComment(...t))},[e.isSubmitting?(v(),R(m,{key:0,size:16})):(v(),g(k,{key:1},[S(w(e.locale.submit),1)],2112))],8,Lt)):y("v-if",!0)]),f("div",{ref:"emojiPopupRef",class:b(["wl-emoji-popup",{display:e.showEmoji}])},[(v(!0),g(k,null,C(e.emoji.tabs,((t,n)=>(v(),g(k,{key:t.name},[n===e.emojiTabIndex?(v(),g("div",St,[(v(!0),g(k,null,C(t.items,(t=>(v(),g("button",{key:t,title:t,onClick:n=>e.insert(`:${t}:`)},[e.showEmoji?(v(),g("img",{key:0,class:"wl-emoji",src:e.emoji.map[t],alt:t,loading:"lazy",referrerPolicy:"no-referrer"},null,8,xt)):y("v-if",!0)],8,Rt)))),128))])):y("v-if",!0)],64)))),128)),e.emoji.tabs.length>1?(v(),g("div",Et,[(v(!0),g(k,null,C(e.emoji.tabs,((t,n)=>(v(),g("button",{key:t.name,class:b(["wl-tab",{active:e.emojiTabIndex===n}]),onClick:t=>e.emojiTabIndex=n},[f("img",{class:"wl-emoji",src:t.icon,alt:t.name,title:t.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Ut)],10,At)))),128))])):y("v-if",!0)],2)])]),e.replyId?(v(),g("button",{key:1,class:"wl-close",title:e.locale.cancelReply,onClick:t[11]||(t[11]=t=>e.$emit("cancel-reply"))},[h(i,{size:24})],8,zt)):y("v-if",!0)])},et.__file="src/components/CommentBox.vue";var Ot=c({props:{comment:{type:Object,required:!0},rootId:{type:String,required:!0},reply:{type:Object}},components:{CommentBox:et,ReplyIcon:()=>s("svg",{viewBox:"0 0 1024 1024",width:"18",height:"18"},s("path",{d:"M1019.2 720C1001.6 625.6 968 566.4 904 497.6c-89.6-89.6-214.4-150.4-347.2-176v-120c0-25.6-8-51.2-25.6-64-33.6-30.4-81.6-30.4-112-4.8L33.6 441.6C12.8 459.2 0 484.8 0 510.4c0 25.6 12.8 51.2 30.4 68.8l385.6 312c17.6 12.8 33.6 17.6 51.2 17.6 12.8 0 25.6-4.8 38.4-8C536 888 552 857.6 552 824v-99.2c124.8 20.8 248 86.4 339.2 140.8 25.6 17.6 59.2 17.6 89.6 0 25.6-17.6 43.2-46.4 43.2-76.8 0-33.6 0-56-4.8-68.8zm-500.8-89.6-46.4-4.8v193.6L86.4 510.4 472 201.6V400l38.4 4.8c128 12.8 248 68.8 334.4 153.6 51.2 56 76.8 102.4 94.4 179.2 0 4.8 4.8 20.8 4.8 51.2C835.2 720 672 640 518.4 630.4z",fill:"currentColor"})),VerifiedIcon:()=>s("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},s("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"}))},emits:["submit","reply"],setup(e){const t=u("config"),n=a((()=>t.value.locale)),o=a((()=>{let{link:t}=e.comment;return t?Ee(t)?t:`https://${t}`:""})),r=Ge(e.comment.insertedAt,n.value),l=a((()=>{var t;return e.comment.objectId===(null===(t=e.reply)||void 0===t?void 0:t.objectId)}));return{config:t,locale:n,isReplyingCurrent:l,link:o,time:r}}});const Mt=["id"],Pt={class:"wl-user","aria-hidden":"true"},Nt=["src"],Tt={class:"wl-card"},_t={class:"wl-head"},Bt=["href"],Ft={key:1,class:"wl-nick"},Dt=["textContent"],Ht=["textContent"],qt=["textContent"],Wt=["title"],Vt={class:"wl-meta","aria-hidden":"true"},Jt=["textContent"],Kt=["textContent"],Yt=["innerHTML"],Gt={key:0,class:"wl-reply-wrapper"},Qt={key:1,class:"wl-quote"};Ot.render=function(e,t,n,o,r,l){const i=p("VerifiedIcon"),a=p("ReplyIcon"),s=p("CommentBox"),c=p("CommentCard",!0);return v(),g("div",{class:"wl-item",id:e.comment.objectId},[f("div",Pt,[e.comment.avatar?(v(),g("img",{key:0,src:e.comment.avatar},null,8,Nt)):y("v-if",!0),e.comment.type?(v(),R(i,{key:1})):y("v-if",!0)]),f("div",Tt,[f("div",_t,[e.link?(v(),g("a",{key:0,class:"wl-nick",href:e.link,target:"_blank",rel:"nofollow noreferrer"},w(e.comment.nick),9,Bt)):(v(),g("span",Ft,w(e.comment.nick),1)),"administrator"===e.comment.type?(v(),g("span",{key:2,class:"wl-badge",textContent:w(e.locale.admin)},null,8,Dt)):y("v-if",!0),e.comment.sticky?(v(),g("span",{key:3,class:"wl-badge",textContent:w(e.locale.sticky)},null,8,Ht)):y("v-if",!0),f("span",{class:"wl-time",textContent:w(e.time)},null,8,qt),f("button",{class:b(["wl-reply",{active:e.isReplyingCurrent}]),title:e.isReplyingCurrent?e.locale.cancelReply:e.locale.reply,onClick:t[0]||(t[0]=t=>e.$emit("reply",e.isReplyingCurrent?null:e.comment))},[h(a)],10,Wt)]),f("div",Vt,[e.comment.browser?(v(),g("span",{key:0,textContent:w(e.comment.browser)},null,8,Jt)):y("v-if",!0),e.comment.os?(v(),g("span",{key:1,textContent:w(e.comment.os)},null,8,Kt)):y("v-if",!0)]),f("div",{class:"wl-content",innerHTML:e.comment.comment},null,8,Yt),e.isReplyingCurrent?(v(),g("div",Gt,[h(s,{replyId:e.comment.objectId,replyUser:e.comment.nick,rootId:e.rootId,onSubmit:t[1]||(t[1]=t=>e.$emit("submit",t)),onCancelReply:t[2]||(t[2]=t=>e.$emit("reply",null))},null,8,["replyId","replyUser","rootId"])])):y("v-if",!0),e.comment.children?(v(),g("div",Qt,[(v(!0),g(k,null,C(e.comment.children,(n=>(v(),R(c,{key:n.objectId,comment:n,reply:e.reply,rootId:e.rootId,onReply:t[3]||(t[3]=t=>e.$emit("reply",t)),onSubmit:t[4]||(t[4]=t=>e.$emit("submit",t))},null,8,["comment","reply","rootId"])))),128))])):y("v-if",!0)])],8,Mt)},Ot.__file="src/components/CommentCard.vue";var Xt=c({name:"WalineRoot",components:{CommentBox:et,CommentCard:Ot,LoadingIcon:Ze},props:{serverURL:{type:String,required:!0},path:{type:String,required:!0},meta:{type:Array},requiredMeta:{type:Array},visitor:{type:Boolean},dark:{type:[String,Boolean]},lang:{type:String},locale:{type:Object},pageSize:{type:Number},wordLimit:{type:[Number,Array]},emoji:{type:Array},login:{type:String},highlighter:{type:Function},imageUploader:{type:[Function,Boolean]},texRenderer:{type:[Function,Boolean]}},setup(t){const n=a((()=>(({serverURL:e,path:t=location.pathname,lang:n="zh-CN",locale:o,emoji:r=["https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo"],meta:l=["nick","mail","link"],requiredMeta:i=[],pageSize:a=10,wordLimit:s,imageUploader:c,highlighter:u,texRenderer:m,copyright:d=!0,login:p="enable",...v})=>{return{serverURL:ze(e),path:Re(t),lang:n,locale:{...G[n]||G["zh-CN"],..."object"==typeof o?o:{}},emoji:(g=r,Promise.all(g.map((e=>"string"==typeof e?Ae(xe(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:o,icon:r,prefix:l,type:i,items:a}=e;t.tabs.push({name:n,icon:Ue(r,o,l,i),items:a.map((e=>{const n=`${l||""}${e}`;return t.map[n]=Ue(e,o,l,i),n}))})})),t}))),wordLimit:Array.isArray(s)?s:!!s&&[0,s],meta:T(l),requiredMeta:T(i),pageSize:a,login:p,imageUploader:Oe(c,B),highlighter:Oe(u,P),texRenderer:Oe(m,F),copyright:d,...v};var g})(t))),r=Qe(),l=e("loading"),i=e(0),s=e(1),c=e(0),u=e([]),d=e(null),p=a((()=>{return"string"==typeof(e=n.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${Me}}`:`${e}${Me}`:!0===e?`:root${Me}`:"";var e}));let v,g;const f=e=>{var t;const{serverURL:o,path:a,pageSize:m}=n.value,d=new AbortController;l.value="loading",null==v||v(),(({serverURL:e,path:t,page:n,pageSize:o,signal:r,token:l})=>{const i={};return l&&(i.Authorization=`Bearer ${l}`),fetch(`${e}/comment?path=${encodeURIComponent(t)}&pageSize=${o}&page=${n}`,{signal:r,headers:i}).then((e=>e.json())).then((e=>Te(e,"comment list")))})({serverURL:o,path:a,pageSize:m,page:e,signal:d.signal,token:null===(t=r.value)||void 0===t?void 0:t.token}).then((t=>{l.value="success",i.value=t.count,u.value.push(...t.data),s.value=e,c.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),l.value="error")})),v=d.abort.bind(d)},h=()=>{i.value=0,u.value=[],f(1)};return x("config",n),o((()=>t.path),h),m((()=>{var e;h();const t=document.createElement("style");t.innerText=p.value,null===(e=document.querySelector("[data-waline]"))||void 0===e||e.appendChild(t),g=E((()=>{t.innerText=p.value}))})),A((()=>g())),{config:n,darkmodeStyle:p,i18n:a((()=>n.value.locale)),status:l,count:i,page:s,totalPages:c,data:u,reply:d,loadMore:()=>f(s.value+1),refresh:h,onReply:e=>{d.value=e},onSubmit:e=>{if(e.rid){const t=u.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else u.value.unshift(e)},version:"2.0.3"}}});const Zt={"data-waline":""},en={class:"wl-count"},tn=["textContent"],nn={class:"wl-cards"},on={key:1,class:"wl-operation"},rn=["textContent"],ln={key:0,class:"wl-loading"},an=["textContent"],sn={class:"wl-operation"},cn=["textContent"],un={key:3,class:"wl-power"},mn=S(" Powered by "),dn=f("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noreferrer"}," Waline ",-1);Xt.render=function(e,t,n,o,r,l){const i=p("CommentBox"),a=p("CommentCard"),s=p("LoadingIcon");return v(),g("div",Zt,[e.reply?y("v-if",!0):(v(),R(i,{key:0,onSubmit:e.onSubmit},null,8,["onSubmit"])),f("div",en,[e.count?(v(),g("span",{key:0,class:"wl-num",textContent:w(e.count)},null,8,tn)):y("v-if",!0),S(" "+w(e.i18n.comment),1)]),f("div",nn,[(v(!0),g(k,null,C(e.data,(t=>(v(),R(a,{key:t.objectId,"root-id":t.objectId,comment:t,reply:e.reply,onReply:e.onReply,onSubmit:e.onSubmit},null,8,["root-id","comment","reply","onReply","onSubmit"])))),128))]),"error"===e.status?(v(),g("div",on,[f("button",{type:"button",class:"wl-btn",onClick:t[0]||(t[0]=(...t)=>e.refresh&&e.refresh(...t)),textContent:w(e.i18n.refresh)},null,8,rn)])):(v(),g(k,{key:2},["loading"===e.status?(v(),g("div",ln,[h(s,{size:30})])):e.data.length?e.page<e.totalPages?(v(),g(k,{key:2},[y(" Load more button "),f("div",sn,[f("button",{type:"button",class:"wl-btn",onClick:t[1]||(t[1]=(...t)=>e.loadMore&&e.loadMore(...t)),textContent:w(e.i18n.more)},null,8,cn)])],2112)):y("v-if",!0):(v(),g("div",{key:1,class:"wl-empty",textContent:w(e.i18n.sofa)},null,8,an))],2112)),y(" Copyright Information "),e.config.copyright?(v(),g("div",un,[mn,dn,S(" v"+w(e.version),1)])):y("v-if",!0)])},Xt.__file="src/components/Waline.vue";const pn=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},vn=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:o=!0})=>{const r=new AbortController,l=Array.from(document.querySelectorAll(n)),i=e=>{const n=Ye(e);return null!==n&&t!==n},a=n=>_e({serverURL:e,paths:n.map((e=>Ye(e)||t)),signal:r.signal}).then((e=>pn(e,n))).catch(Ne);if(o){const n=l.filter((e=>!i(e))),o=l.filter(i);Be({serverURL:e,path:t}).then((e=>pn(new Array(n.length).fill(e),n))),o.length&&a(o)}else a(l);return r.abort.bind(r)},gn=({el:e="#waline",path:t=window.location.pathname,comment:n=!1,pageview:o=!1,...r})=>{const l=e?Fe(e):null;if(e&&!l)throw new Error("Option 'el' do not match any domElement!");if(!r.serverURL)throw new Error("Option 'serverURL' is missing!");const i=U({...r}),a=U({comment:n,pageview:o,path:t}),c=()=>{a.comment&&Xe({serverURL:i.serverURL,path:a.path,selector:"string"==typeof a.comment?a.comment:void 0})},u=()=>{a.pageview&&vn({serverURL:i.serverURL,path:a.path,selector:"string"==typeof a.pageview?a.pageview:void 0})},m=l?z((()=>s(Xt,{path:a.path,...i}))):null;m&&m.mount(l),c(),u();const d=E(c),p=E(u);return{el:l,update:({comment:e,pageview:t,path:n=window.location.pathname,...o})=>{Object.entries(o).forEach((([e,t])=>{i[e]=t})),a.path=n,void 0!==e&&(a.comment=e),void 0!==t&&(a.pageview=t)},destroy:()=>{null==m||m.unmount(),d(),p()}}},fn="2.0.3",hn=({el:e,serverURL:t,count:n})=>{var o;const r=Qe(),l=Fe(e),i=new AbortController;return(({serverURL:e,count:t,signal:n,token:o})=>{const r={};return o&&(r.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=recent&count=${t}`,{signal:n,headers:r}).then((e=>e.json())).then((e=>Te(e,"recent comment")))})({serverURL:t,count:n,signal:i.signal,token:null===(o=r.value)||void 0===o?void 0:o.token}).then((e=>l&&e.length?(l.innerHTML=`<ul class="wl-recent-list">${e.map((e=>`<li class="wl-recent-item"><a href="${e.url}">${e.nick}</a>:${e.comment}</li>`)).join("")}</ul>`,{comments:e,destroy:()=>{i.abort(),l.innerHTML=""}}):{comments:e,destroy:()=>i.abort()}))};export{hn as RecentComments,Xe as commentCount,_ as defaultLang,F as defaultTexRenderer,B as defaultUploadImage,T as getMeta,gn as init,G as locales,vn as pageviewCount,fn as version}; | ||
import{ref as e,unref as t,isRef as n,watch as o,getCurrentScope as r,onScopeDispose as l,shallowRef as i,computed as a,h as s,defineComponent as c,inject as u,onMounted as m,onUnmounted as d,resolveComponent as p,openBlock as v,createElementBlock as g,createElementVNode as f,createVNode as h,toDisplayString as w,createCommentVNode as y,normalizeClass as b,Fragment as k,renderList as C,withDirectives as $,vModelDynamic as j,vModelText as I,vShow as L,createTextVNode as S,createBlock as R,provide as x,watchEffect as E,onBeforeUnmount as A,reactive as U,createApp as z}from"vue";import O from"autosize";import{marked as M}from"marked";import P from"hanabi";const N=["nick","mail","link"],T=e=>e.filter((e=>N.includes(e))),_="zh-CN",B=e=>new Promise(((t,n)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>{var e;return t((null===(e=o.result)||void 0===e?void 0:e.toString())||"")},o.onerror=n})),F=e=>!0===e?'<p class="wl-tex">Tex is not available in preview</p>':'<span class="wl-tex">Tex is not available in preview</span>',D=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous"],H=e=>Object.fromEntries(e.map(((e,t)=>[D[t],e])));var q=H(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous"]),W=H(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名"]),V=H(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名"]),J=H(["暱稱","郵箱","網址","可選","暱稱不能少於3個字元","請填寫正確的郵件地址","歡迎評論","來發評論吧~","提交","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名"]),K=H(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo"]),Y=H(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный"]);const G={zh:V,"zh-cn":V,"zh-CN":V,"zh-tw":J,"zh-TW":J,en:q,"en-US":q,"en-us":q,jp:W,"jp-jp":W,"jp-JP":W,"pt-br":K,"pt-BR":K,ru:Y,"ru-ru":Y,"ru-RU":Y};function Q(e){return!!r()&&(l(e),!0)}const X="undefined"!=typeof window,Z=()=>{};const ee=e=>e();var te=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable;function re(e,t,n={}){const r=n,{eventFilter:l=ee}=r,i=((e,t)=>{var n={};for(var o in e)ne.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&te)for(var o of te(e))t.indexOf(o)<0&&oe.call(e,o)&&(n[o]=e[o]);return n})(r,["eventFilter"]);return o(e,(a=l,s=t,function(...e){a((()=>s.apply(this,e)),{fn:s,thisArg:this,args:e})}),i);var a,s}var le=Object.defineProperty,ie=Object.defineProperties,ae=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,ce=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,me=(e,t,n)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function de(t,n,o={}){const r=o,{eventFilter:l}=r,i=((e,t)=>{var n={};for(var o in e)ce.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&se)for(var o of se(e))t.indexOf(o)<0&&ue.call(e,o)&&(n[o]=e[o]);return n})(r,["eventFilter"]),{eventFilter:a,pause:s,resume:c,isActive:u}=function(t=ee){const n=e(!0);return{isActive:n,pause:function(){n.value=!1},resume:function(){n.value=!0},eventFilter:(...e)=>{n.value&&t(...e)}}}(l),m=re(t,n,(d=((e,t)=>{for(var n in t||(t={}))ce.call(t,n)&&me(e,n,t[n]);if(se)for(var n of se(t))ue.call(t,n)&&me(e,n,t[n]);return e})({},i),ie(d,ae({eventFilter:a}))));var d;return{stop:m,pause:s,resume:c,isActive:u}}const pe=X?window:void 0;function ve(...e){let n,r,l,i;if("string"==typeof e[0]?([r,l,i]=e,n=pe):[n,r,l,i]=e,!n)return Z;let a=Z;const s=o((()=>function(e){var n;const o=t(e);return null!=(n=null==o?void 0:o.$el)?n:o}(n)),(e=>{a(),e&&(e.addEventListener(r,l,i),a=()=>{e.removeEventListener(r,l,i),a=Z})}),{immediate:!0,flush:"post"}),c=()=>{s(),a()};return Q(c),c}X&&window.document,X&&window.navigator,X&&window.location;const ge="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},fe="__vueuse_ssr_handlers__";ge[fe]=ge[fe]||{};const he=ge[fe];const we={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function ye(n,o,r,l={}){var a;const{flush:s="pre",deep:c=!0,listenToStorageChanges:u=!0,writeDefaults:m=!0,shallow:d,window:p=pe,eventFilter:v,onError:g=(e=>{console.error(e)})}=l,f=(d?i:e)(o);if(!r)try{r=function(e,t){return he[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=pe)?void 0:e.localStorage}))()}catch(e){g(e)}if(!r)return f;const h=t(o),w=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e||Array.isArray(e)?"object":Number.isNaN(e)?"any":"number"}(h),y=null!=(a=l.serializer)?a:we[w],{pause:b,resume:k}=de(f,(()=>function(e){try{null==e?r.removeItem(n):r.setItem(n,y.write(e))}catch(e){g(e)}}(f.value)),{flush:s,deep:c,eventFilter:v});return p&&u&&ve(p,"storage",C),C(),f;function C(e){e&&e.key!==n||(f.value=function(e){if(!e||e.key===n){b();try{const t=e?e.newValue:r.getItem(n);return null==t?(m&&null!==h&&r.setItem(n,y.write(h)),h):"string"!=typeof t?t:y.read(t)}catch(e){g(e)}finally{k()}}}(e))}}var be,ke,Ce=Object.defineProperty,$e=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,Le=(e,t,n)=>t in e?Ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Se(r={}){const{controls:l=!1,interval:i="requestAnimationFrame"}=r,a=e(new Date),s=()=>a.value=new Date,c="requestAnimationFrame"===i?function(t,n={}){const{immediate:o=!0,window:r=pe}=n,l=e(!1);let i=null;function a(){l.value&&r&&(t(),i=r.requestAnimationFrame(a))}function s(){!l.value&&r&&(l.value=!0,a())}function c(){l.value=!1,null!=i&&r&&(r.cancelAnimationFrame(i),i=null)}return o&&s(),Q(c),{isActive:l,pause:c,resume:s}}(s,{immediate:!0}):function(r,l=1e3,i={}){const{immediate:a=!0,immediateCallback:s=!1}=i;let c=null;const u=e(!1);function m(){c&&(clearInterval(c),c=null)}function d(){u.value=!1,m()}function p(){l<=0||(u.value=!0,s&&r(),m(),c=setInterval(r,t(l)))}a&&X&&p(),n(l)&&Q(o(l,(()=>{a&&X&&p()})));return Q(d),{isActive:u,pause:d,resume:p}}(s,i,{immediate:!0});return l?((e,t)=>{for(var n in t||(t={}))je.call(t,n)&&Le(e,n,t[n]);if($e)for(var n of $e(t))Ie.call(t,n)&&Le(e,n,t[n]);return e})({now:a},c):a}X&&(null==window?void 0:window.navigator)&&(null==(be=null==window?void 0:window.navigator)?void 0:be.platform)&&/iP(ad|hone|od)/.test(null==(ke=null==window?void 0:window.navigator)?void 0:ke.platform);const Re=e=>{try{e=decodeURI(e)}catch(e){}return e},xe=(e="")=>e.replace(/\/$/u,""),Ee=e=>/^(https?:)?\/\//.test(e),Ae=e=>{const t=xe(e);return Ee(t)?t:`https://${t}`},Ue=e=>Array.isArray(e)?e:!!e&&[0,e],ze=(e,t)=>"function"==typeof e?e:!1!==e&&t,Oe="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",Me=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},Pe=e=>{const t=ye("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const e=t.value.link;if(e)return Promise.resolve(e)}return fetch(`${e}/info.json`).then((e=>e.json())).then((o=>{const r={folder:e,...o};return n&&(t.value.link=r),r}))},Ne=(e,t="",n="",o="")=>`${t?`${t}/`:""}${n}${e}${o?`.${o}`:""}`,Te=e=>{"AbortError"!==e.name&&console.error(e.message)},_e=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},Be=({serverURL:e,paths:t,signal:n})=>fetch(`${e}/article?path=${encodeURIComponent(t.join(","))}`,{signal:n}).then((e=>e.json())).then((e=>_e(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),Fe=({serverURL:e,path:t})=>fetch(`${e}/article`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})}).then((e=>e.json())).then((e=>_e(e,"visit count"))),De=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,He=e=>e.type.includes("image"),qe=e=>{const t=Array.from(e).find(He);return t?t.getAsFile():null},We=/\$.*?\$/,Ve=/^\$(.*?)\$/,Je=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,Ke=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),Ye=(e,{emojiMap:t,highlighter:n,texRenderer:o})=>{if(M.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),o){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=Je.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(We);return-1!==t?t:e.length},tokenizer(t){const n=Ve.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(o);M.use({extensions:e})}return M.parse(Ke(e,t))},Ge=e=>e.dataset.path||e.getAttribute("id"),Qe=(e,t)=>{const n=Se();return a((()=>{if(!e)return"";const o="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,r=n.value.getTime()-o.getTime(),l=Math.floor(r/864e5);if(0===l){const e=r%864e5,n=Math.floor(e/36e5);if(0===n){const n=e%36e5,o=Math.floor(n/6e4);if(0===o){const e=n%6e4;return`${Math.round(e/1e3)} ${t.seconds}`}return`${o} ${t.minutes}`}return`${n} ${t.hours}`}return l<0?t.now:l<8?`${l} ${t.days}`:(e=>{const t=Me(e.getDate(),2),n=Me(e.getMonth()+1,2);return`${Me(e.getFullYear(),2)}-${n}-${t}`})(o)}))},Xe=()=>ye("USER_KEY",{}),Ze=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count"})=>{var o;const r=new AbortController,l=document.querySelectorAll(n),i=Xe();return l.length&&(({serverURL:e,paths:t,signal:n,token:o})=>{const r={};return o&&(r.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=count&url=${encodeURIComponent(t.join(","))}`,{signal:n,headers:r}).then((e=>e.json())).then((e=>_e(e,"comment count"))).then((e=>Array.isArray(e)?e:[e]))})({serverURL:e,paths:Array.from(l).map((e=>Re(e.dataset.path||e.getAttribute("id")||t))),signal:r.signal,token:null===(o=i.value)||void 0===o?void 0:o.token}).then((e=>{l.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(Te),r.abort.bind(r)},et=({size:e})=>s("svg",{width:e,height:e,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},s("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},s("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})));var tt=c({name:"CommentBox",components:{CloseIcon:({size:e})=>s("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:e,height:e},[s("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),s("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),EmojiIcon:()=>s("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},s("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),ImageIcon:()=>s("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[s("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),s("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),MarkdownIcon:()=>s("svg",{width:"16",height:"16",ariaHidden:"true"},s("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),PreviewIcon:()=>s("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[s("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),s("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),LoadingIcon:et},props:{rootId:{type:String,default:""},replyId:{type:String,default:""},replyUser:{type:String,default:""}},emits:["submit","cancel-reply"],setup(t,{emit:n}){const r=u("config"),l=ye("WALINE_USER_CACHE",{nick:"",mail:"",link:"",editor:""}),i=Xe(),s=e({}),c=e(null),p=e(null),v=e(null),g=e(null),f=e({tabs:[],map:{}}),h=e(0),w=e(!1),y=e(!1),b=e(""),k=e(0),C=e(0),$=e(!1),j=e(""),I=e(!1),L=a((()=>r.value.locale)),S=a((()=>{var e;return Boolean(null===(e=i.value)||void 0===e?void 0:e.token)})),R=a((()=>!1!==r.value.imageUploader)),x=e=>{const t=c.value,n=t.selectionStart,o=t.selectionEnd||0,r=t.scrollTop;l.value.editor=t.value.substring(0,n)+e+t.value.substring(o,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=r},E=e=>{const t=`![${r.value.locale.uploading} ${e.name}]()`;return x(t),Promise.resolve().then((()=>r.value.imageUploader(e))).then((n=>{l.value.editor=l.value.editor.replace(t,`\r\n![${e.name}](${n})`)}))},A=()=>{var e,o,a,u,m;const{serverURL:d,lang:p,login:v,wordLimit:g,requiredMeta:h}=r.value,w={comment:j.value,nick:l.value.nick,mail:l.value.mail,link:l.value.link,ua:navigator.userAgent,url:r.value.path};if(null===(e=i.value)||void 0===e?void 0:e.token)w.nick=i.value.display_name,w.mail=i.value.email,w.link=i.value.url;else{if("force"===v)return;if((h.indexOf("nick")>-1||w.nick)&&!w.nick)return null===(o=s.value.nick)||void 0===o||o.focus(),alert(L.value.nickError);if(h.indexOf("mail")>-1&&!w.mail)return null===(a=s.value.mail)||void 0===a||a.focus(),alert(L.value.mailError);if(!w.comment)return void(null===(u=c.value)||void 0===u||u.focus());w.nick||(w.nick=L.value.anonymous)}if(!$.value)return alert(L.value.wordHint.replace("$0",g[0].toString()).replace("$1",g[1].toString()).replace("$2",k.value.toString()));w.comment=Ke(w.comment,f.value.map),t.replyId&&t.rootId&&(w.pid=t.replyId,w.rid=t.rootId,w.at=t.replyUser),I.value=!0,(({serverURL:e,lang:t,token:n,comment:o})=>{const r={"Content-Type":"application/json"};return n&&(r.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:r,body:JSON.stringify(o)}).then((e=>e.json()))})({serverURL:d,lang:p,token:null===(m=i.value)||void 0===m?void 0:m.token,comment:w}).then((e=>{if(I.value=!1,e.errmsg)return alert(e.errmsg);n("submit",e.data),l.value.editor="",b.value="",t.replyId&&n("cancel-reply")})).catch((e=>{I.value=!1,alert(e.message)}))},U=e=>{v.value.contains(e.target)||g.value.contains(e.target)||(w.value=!1)};return o([r,k],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(C.value=n[0],$.value=!1):t>n[1]?(C.value=n[1],$.value=!1):(C.value=n[1],$.value=!0):(C.value=0,$.value=!0)}),{immediate:!0}),m((()=>{document.body.addEventListener("click",U),o((()=>l.value.editor),(e=>{const{highlighter:t,texRenderer:n}=r.value;j.value=e,b.value=Ye(e,{emojiMap:f.value.map,highlighter:t,texRenderer:n}),k.value=(e=>(e=>e.match(/[\w\d\s\u00C0-\u024F]+/giu)||[])(e).reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0)+(e=>e.match(/[\u4E00-\u9FA5]/gu)||[])(e).length)(e),e?O(c.value):O.destroy(c.value)}),{immediate:!0}),o((()=>r.value.emoji),(e=>{return(t=e,Promise.all(t.map((e=>"string"==typeof e?Pe(xe(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:o,icon:r,prefix:l,type:i,items:a}=e;t.tabs.push({name:n,icon:Ne(r,o,l,i),items:a.map((e=>{const n=`${l||""}${e}`;return t.map[n]=Ne(e,o,l,i),n}))})})),t}))).then((e=>{f.value=e}));var t}),{immediate:!0})})),d((()=>{document.body.removeEventListener("click",U)})),{config:r,locale:L,insert:x,onChange:()=>{const e=p.value;e.files&&R.value&&E(e.files[0]).then((()=>{e.value=""}))},onDrop:e=>{var t;if(null===(t=e.dataTransfer)||void 0===t?void 0:t.items){const t=qe(e.dataTransfer.items);t&&R.value&&(E(t),e.preventDefault())}},onKeyDown:e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&A()},onPaste:e=>{if(e.clipboardData){const t=qe(e.clipboardData.items);t&&R.value&&E(t)}},onLogin:e=>{e.preventDefault();const{lang:t,serverURL:n}=r.value,o=(window.innerWidth-450)/2,l=(window.innerHeight-450)/2,a=window.open(`${n}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${o},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==a||a.postMessage({type:"TOKEN",data:null},"*");const s=({data:e})=>{e&&"userInfo"===e.type&&e.data.token&&(null==a||a.close(),i.value=e.data,(e.data.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e.data)),window.removeEventListener("message",s))};window.addEventListener("message",s)},onLogout:()=>{i.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null")},onProfile:e=>{e.preventDefault();const{lang:t,serverURL:n}=r.value,o=(window.innerWidth-800)/2,l=(window.innerHeight-800)/2,a=window.open(`${n}/ui/profile?lng=${encodeURIComponent(t)}`,"_blank",`width=800,height=800,left=${o},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==a||a.postMessage({type:"TOKEN",data:i.value.token},"*");const s=({data:e})=>{e&&"profile"===e.type&&(i.value={...i.value,...e},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(i)))),window.removeEventListener("message",s))};window.addEventListener("message",s)},submitComment:A,isLogin:S,userInfo:i,isSubmitting:I,wordNumber:k,wordLimit:C,isWordNumberLegal:$,inputs:l,emoji:f,emojiTabIndex:h,showEmoji:w,canUploadImage:R,previewText:b,showPreview:y,inputRefs:s,editorRef:c,emojiButtonRef:v,emojiPopupRef:g,imageUploadRef:p}}});const nt={class:"wl-comment"},ot={key:0,class:"wl-login-info"},rt={class:"wl-avatar"},lt=["title"],it=["src"],at=["textContent"],st={class:"wl-panel"},ct=["for","textContent"],ut=["id","name","type","onUpdate:modelValue"],mt=["placeholder"],dt={class:"wl-preview"},pt=f("hr",null,null,-1),vt=["innerHTML"],gt={class:"wl-footer"},ft={class:"wl-actions"},ht={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noreferrer"},wt=["title"],yt=["title"],bt=["title"],kt={class:"wl-info"},Ct={class:"wl-text-number"},$t={key:0},jt=S(" / "),It=["textContent"],Lt=["textContent"],St=["disabled"],Rt={key:0,class:"wl-tab-wrapper"},xt=["title","onClick"],Et=["src","alt"],At={key:0,class:"wl-tabs"},Ut=["onClick"],zt=["src","alt","title"],Ot=["title"];tt.render=function(e,t,n,o,r,l){const i=p("CloseIcon"),a=p("MarkdownIcon"),s=p("EmojiIcon"),c=p("ImageIcon"),u=p("PreviewIcon"),m=p("LoadingIcon");return v(),g("div",nt,["disable"!==e.config.login&&e.isLogin?(v(),g("div",ot,[f("div",rt,[f("button",{class:"wl-logout-btn",title:e.locale.logout,onClick:t[0]||(t[0]=(...t)=>e.onLogout&&e.onLogout(...t))},[h(i,{size:14})],8,lt),f("img",{src:e.userInfo.avatar,alt:"avatar"},null,8,it)]),f("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",onClick:t[1]||(t[1]=(...t)=>e.onProfile&&e.onProfile(...t)),textContent:w(e.userInfo.display_name)},null,8,at)])):y("v-if",!0),f("div",st,["force"!==e.config.login&&e.config.meta.length&&!e.isLogin?(v(),g("div",{key:0,class:b(["wl-header",`item${e.config.meta.length}`])},[(v(!0),g(k,null,C(e.config.meta,(t=>(v(),g("div",{class:"wl-header-item",key:t},[f("label",{for:t,textContent:w(e.locale[t]+(e.config.requiredMeta.includes(t)||!e.config.requiredMeta.length?"":`(${e.locale.optional})`))},null,8,ct),$(f("input",{ref_for:!0,ref:n=>{n&&(e.inputRefs[t]=n)},id:`wl-${t}`,class:b(["wl-input",`wl-${t}`]),name:t,type:"mail"===t?"email":"text","onUpdate:modelValue":n=>e.inputs[t]=n},null,10,ut),[[j,e.inputs[t]]])])))),128))],2)):y("v-if",!0),$(f("textarea",{class:"wl-editor",ref:"editorRef",id:"wl-edit",placeholder:e.replyUser?`@${e.replyUser}`:e.locale.placeholder,"onUpdate:modelValue":t[2]||(t[2]=t=>e.inputs.editor=t),onKeydown:t[3]||(t[3]=(...t)=>e.onKeyDown&&e.onKeyDown(...t)),onDrop:t[4]||(t[4]=(...t)=>e.onDrop&&e.onDrop(...t)),onPaste:t[5]||(t[5]=(...t)=>e.onPaste&&e.onPaste(...t))},null,40,mt),[[I,e.inputs.editor]]),$(f("div",dt,[pt,f("h4",null,w(e.locale.preview)+":",1),f("div",{class:"wl-content",innerHTML:e.previewText},null,8,vt)],512),[[L,e.showPreview]]),f("div",gt,[f("div",ft,[f("a",ht,[h(a)]),f("button",{ref:"emojiButtonRef",class:b(["wl-action",{actived:e.showEmoji}]),title:e.locale.emoji,onClick:t[6]||(t[6]=t=>e.showEmoji=!e.showEmoji)},[h(s)],10,wt),f("input",{ref:"imageUploadRef",class:"upload",id:"wl-image-upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:t[7]||(t[7]=(...t)=>e.onChange&&e.onChange(...t))},null,544),e.canUploadImage?(v(),g("label",{key:0,for:"wl-image-upload",class:"wl-action",title:e.locale.uploadImage},[h(c)],8,yt)):y("v-if",!0),f("button",{class:b(["wl-action",{actived:e.showPreview}]),title:e.locale.preview,onClick:t[8]||(t[8]=t=>e.showPreview=!e.showPreview)},[h(u)],10,bt)]),f("div",kt,[f("div",Ct,[S(w(e.wordNumber)+" ",1),e.config.wordLimit?(v(),g("span",$t,[jt,f("span",{class:b({illegal:!e.isWordNumberLegal}),textContent:w(e.wordLimit)},null,10,It)])):y("v-if",!0),S(" "+w(e.locale.word),1)]),"disable"===e.config.login||e.isLogin?y("v-if",!0):(v(),g("button",{key:0,class:"wl-btn",onClick:t[9]||(t[9]=(...t)=>e.onLogin&&e.onLogin(...t)),textContent:w(e.locale.login)},null,8,Lt)),"force"!==e.config.login||e.isLogin?(v(),g("button",{key:1,class:"wl-btn primary",title:"Cmd|Ctrl + Enter",disabled:e.isSubmitting,onClick:t[10]||(t[10]=(...t)=>e.submitComment&&e.submitComment(...t))},[e.isSubmitting?(v(),R(m,{key:0,size:16})):(v(),g(k,{key:1},[S(w(e.locale.submit),1)],2112))],8,St)):y("v-if",!0)]),f("div",{ref:"emojiPopupRef",class:b(["wl-emoji-popup",{display:e.showEmoji}])},[(v(!0),g(k,null,C(e.emoji.tabs,((t,n)=>(v(),g(k,{key:t.name},[n===e.emojiTabIndex?(v(),g("div",Rt,[(v(!0),g(k,null,C(t.items,(t=>(v(),g("button",{key:t,title:t,onClick:n=>e.insert(`:${t}:`)},[e.showEmoji?(v(),g("img",{key:0,class:"wl-emoji",src:e.emoji.map[t],alt:t,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Et)):y("v-if",!0)],8,xt)))),128))])):y("v-if",!0)],64)))),128)),e.emoji.tabs.length>1?(v(),g("div",At,[(v(!0),g(k,null,C(e.emoji.tabs,((t,n)=>(v(),g("button",{key:t.name,class:b(["wl-tab",{active:e.emojiTabIndex===n}]),onClick:t=>e.emojiTabIndex=n},[f("img",{class:"wl-emoji",src:t.icon,alt:t.name,title:t.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,zt)],10,Ut)))),128))])):y("v-if",!0)],2)])]),e.replyId?(v(),g("button",{key:1,class:"wl-close",title:e.locale.cancelReply,onClick:t[11]||(t[11]=t=>e.$emit("cancel-reply"))},[h(i,{size:24})],8,Ot)):y("v-if",!0)])},tt.__file="src/components/CommentBox.vue";var Mt=c({props:{comment:{type:Object,required:!0},rootId:{type:String,required:!0},reply:{type:Object}},components:{CommentBox:tt,ReplyIcon:()=>s("svg",{viewBox:"0 0 1024 1024",width:"18",height:"18"},s("path",{d:"M1019.2 720C1001.6 625.6 968 566.4 904 497.6c-89.6-89.6-214.4-150.4-347.2-176v-120c0-25.6-8-51.2-25.6-64-33.6-30.4-81.6-30.4-112-4.8L33.6 441.6C12.8 459.2 0 484.8 0 510.4c0 25.6 12.8 51.2 30.4 68.8l385.6 312c17.6 12.8 33.6 17.6 51.2 17.6 12.8 0 25.6-4.8 38.4-8C536 888 552 857.6 552 824v-99.2c124.8 20.8 248 86.4 339.2 140.8 25.6 17.6 59.2 17.6 89.6 0 25.6-17.6 43.2-46.4 43.2-76.8 0-33.6 0-56-4.8-68.8zm-500.8-89.6-46.4-4.8v193.6L86.4 510.4 472 201.6V400l38.4 4.8c128 12.8 248 68.8 334.4 153.6 51.2 56 76.8 102.4 94.4 179.2 0 4.8 4.8 20.8 4.8 51.2C835.2 720 672 640 518.4 630.4z",fill:"currentColor"})),VerifiedIcon:()=>s("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},s("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"}))},emits:["submit","reply"],setup(e){const t=u("config"),n=a((()=>t.value.locale)),o=a((()=>{let{link:t}=e.comment;return t?Ee(t)?t:`https://${t}`:""})),r=Qe(e.comment.insertedAt,n.value),l=a((()=>{var t;return e.comment.objectId===(null===(t=e.reply)||void 0===t?void 0:t.objectId)}));return{config:t,locale:n,isReplyingCurrent:l,link:o,time:r}}});const Pt=["id"],Nt={class:"wl-user","aria-hidden":"true"},Tt=["src"],_t={class:"wl-card"},Bt={class:"wl-head"},Ft=["href"],Dt={key:1,class:"wl-nick"},Ht=["textContent"],qt=["textContent"],Wt=["textContent"],Vt=["title"],Jt={class:"wl-meta","aria-hidden":"true"},Kt=["textContent"],Yt=["textContent"],Gt=["innerHTML"],Qt={key:0,class:"wl-reply-wrapper"},Xt={key:1,class:"wl-quote"};Mt.render=function(e,t,n,o,r,l){const i=p("VerifiedIcon"),a=p("ReplyIcon"),s=p("CommentBox"),c=p("CommentCard",!0);return v(),g("div",{class:"wl-item",id:e.comment.objectId},[f("div",Nt,[e.comment.avatar?(v(),g("img",{key:0,src:e.comment.avatar},null,8,Tt)):y("v-if",!0),e.comment.type?(v(),R(i,{key:1})):y("v-if",!0)]),f("div",_t,[f("div",Bt,[e.link?(v(),g("a",{key:0,class:"wl-nick",href:e.link,target:"_blank",rel:"nofollow noreferrer"},w(e.comment.nick),9,Ft)):(v(),g("span",Dt,w(e.comment.nick),1)),"administrator"===e.comment.type?(v(),g("span",{key:2,class:"wl-badge",textContent:w(e.locale.admin)},null,8,Ht)):y("v-if",!0),e.comment.sticky?(v(),g("span",{key:3,class:"wl-badge",textContent:w(e.locale.sticky)},null,8,qt)):y("v-if",!0),f("span",{class:"wl-time",textContent:w(e.time)},null,8,Wt),f("button",{class:b(["wl-reply",{active:e.isReplyingCurrent}]),title:e.isReplyingCurrent?e.locale.cancelReply:e.locale.reply,onClick:t[0]||(t[0]=t=>e.$emit("reply",e.isReplyingCurrent?null:e.comment))},[h(a)],10,Vt)]),f("div",Jt,[e.comment.browser?(v(),g("span",{key:0,textContent:w(e.comment.browser)},null,8,Kt)):y("v-if",!0),e.comment.os?(v(),g("span",{key:1,textContent:w(e.comment.os)},null,8,Yt)):y("v-if",!0)]),f("div",{class:"wl-content",innerHTML:e.comment.comment},null,8,Gt),e.isReplyingCurrent?(v(),g("div",Qt,[h(s,{replyId:e.comment.objectId,replyUser:e.comment.nick,rootId:e.rootId,onSubmit:t[1]||(t[1]=t=>e.$emit("submit",t)),onCancelReply:t[2]||(t[2]=t=>e.$emit("reply",null))},null,8,["replyId","replyUser","rootId"])])):y("v-if",!0),e.comment.children?(v(),g("div",Xt,[(v(!0),g(k,null,C(e.comment.children,(n=>(v(),R(c,{key:n.objectId,comment:n,reply:e.reply,rootId:e.rootId,onReply:t[3]||(t[3]=t=>e.$emit("reply",t)),onSubmit:t[4]||(t[4]=t=>e.$emit("submit",t))},null,8,["comment","reply","rootId"])))),128))])):y("v-if",!0)])],8,Pt)},Mt.__file="src/components/CommentCard.vue";var Zt=c({name:"WalineRoot",components:{CommentBox:tt,CommentCard:Mt,LoadingIcon:et},props:{serverURL:{type:String,required:!0},path:{type:String,required:!0},meta:{type:Array},requiredMeta:{type:Array},dark:{type:[String,Boolean]},lang:{type:String},locale:{type:Object},pageSize:{type:Number},wordLimit:{type:[Number,Array]},emoji:{type:Array},login:{type:String},highlighter:{type:Function},imageUploader:{type:[Function,Boolean]},texRenderer:{type:[Function,Boolean]}},setup(t){const n=a((()=>(({serverURL:e,path:t=location.pathname,lang:n="zh-CN",locale:o,emoji:r=["https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo"],meta:l=["nick","mail","link"],requiredMeta:i=[],dark:a=!1,pageSize:s=10,wordLimit:c,imageUploader:u,highlighter:m,texRenderer:d,copyright:p=!0,login:v="enable",...g})=>({serverURL:Ae(e),path:Re(t),locale:{...G[n]||G["zh-CN"],..."object"==typeof o?o:{}},wordLimit:Ue(c),meta:T(l),requiredMeta:T(i),imageUploader:ze(u,B),highlighter:ze(m,P),texRenderer:ze(d,F),lang:n,dark:a,emoji:r,pageSize:s,login:v,copyright:p,...g}))(t))),r=Xe(),l=e("loading"),i=e(0),s=e(1),c=e(0),u=e([]),d=e(null),p=a((()=>{return"string"==typeof(e=n.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${Oe}}`:`${e}${Oe}`:!0===e?`:root${Oe}`:"";var e}));let v,g;const f=e=>{var t;const{serverURL:o,path:a,pageSize:m}=n.value,d=new AbortController;l.value="loading",null==v||v(),(({serverURL:e,path:t,page:n,pageSize:o,signal:r,token:l})=>{const i={};return l&&(i.Authorization=`Bearer ${l}`),fetch(`${e}/comment?path=${encodeURIComponent(t)}&pageSize=${o}&page=${n}`,{signal:r,headers:i}).then((e=>e.json())).then((e=>_e(e,"comment list")))})({serverURL:o,path:a,pageSize:m,page:e,signal:d.signal,token:null===(t=r.value)||void 0===t?void 0:t.token}).then((t=>{l.value="success",i.value=t.count,u.value.push(...t.data),s.value=e,c.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),l.value="error")})),v=d.abort.bind(d)},h=()=>{i.value=0,u.value=[],f(1)};return x("config",n),o((()=>t.path),h),m((()=>{var e;h();const t=document.createElement("style");t.innerText=p.value,null===(e=document.querySelector("[data-waline]"))||void 0===e||e.appendChild(t),g=E((()=>{t.innerText=p.value}))})),A((()=>g())),{config:n,darkmodeStyle:p,i18n:a((()=>n.value.locale)),status:l,count:i,page:s,totalPages:c,data:u,reply:d,loadMore:()=>f(s.value+1),refresh:h,onReply:e=>{d.value=e},onSubmit:e=>{if(e.rid){const t=u.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else u.value.unshift(e)},version:"2.0.4"}}});const en={"data-waline":""},tn={class:"wl-count"},nn=["textContent"],on={class:"wl-cards"},rn={key:1,class:"wl-operation"},ln=["textContent"],an={key:0,class:"wl-loading"},sn=["textContent"],cn={class:"wl-operation"},un=["textContent"],mn={key:3,class:"wl-power"},dn=S(" Powered by "),pn=f("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noreferrer"}," Waline ",-1);Zt.render=function(e,t,n,o,r,l){const i=p("CommentBox"),a=p("CommentCard"),s=p("LoadingIcon");return v(),g("div",en,[e.reply?y("v-if",!0):(v(),R(i,{key:0,onSubmit:e.onSubmit},null,8,["onSubmit"])),f("div",tn,[e.count?(v(),g("span",{key:0,class:"wl-num",textContent:w(e.count)},null,8,nn)):y("v-if",!0),S(" "+w(e.i18n.comment),1)]),f("div",on,[(v(!0),g(k,null,C(e.data,(t=>(v(),R(a,{key:t.objectId,"root-id":t.objectId,comment:t,reply:e.reply,onReply:e.onReply,onSubmit:e.onSubmit},null,8,["root-id","comment","reply","onReply","onSubmit"])))),128))]),"error"===e.status?(v(),g("div",rn,[f("button",{type:"button",class:"wl-btn",onClick:t[0]||(t[0]=(...t)=>e.refresh&&e.refresh(...t)),textContent:w(e.i18n.refresh)},null,8,ln)])):(v(),g(k,{key:2},["loading"===e.status?(v(),g("div",an,[h(s,{size:30})])):e.data.length?e.page<e.totalPages?(v(),g(k,{key:2},[y(" Load more button "),f("div",cn,[f("button",{type:"button",class:"wl-btn",onClick:t[1]||(t[1]=(...t)=>e.loadMore&&e.loadMore(...t)),textContent:w(e.i18n.more)},null,8,un)])],2112)):y("v-if",!0):(v(),g("div",{key:1,class:"wl-empty",textContent:w(e.i18n.sofa)},null,8,sn))],2112)),y(" Copyright Information "),e.config.copyright?(v(),g("div",mn,[dn,pn,S(" v"+w(e.version),1)])):y("v-if",!0)])},Zt.__file="src/components/Waline.vue";const vn=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},gn=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:o=!0})=>{const r=new AbortController,l=Array.from(document.querySelectorAll(n)),i=e=>{const n=Ge(e);return null!==n&&t!==n},a=n=>Be({serverURL:e,paths:n.map((e=>Ge(e)||t)),signal:r.signal}).then((e=>vn(e,n))).catch(Te);if(o){const n=l.filter((e=>!i(e))),o=l.filter(i);Fe({serverURL:e,path:t}).then((e=>vn(new Array(n.length).fill(e),n))),o.length&&a(o)}else a(l);return r.abort.bind(r)},fn=({el:e="#waline",path:t=window.location.pathname,comment:n=!1,pageview:o=!1,...r})=>{const l=e?De(e):null;if(e&&!l)throw new Error("Option 'el' do not match any domElement!");if(!r.serverURL)throw new Error("Option 'serverURL' is missing!");const i=U({...r}),a=U({comment:n,pageview:o,path:t}),c=()=>{a.comment&&Ze({serverURL:i.serverURL,path:a.path,selector:"string"==typeof a.comment?a.comment:void 0})},u=()=>{a.pageview&&gn({serverURL:i.serverURL,path:a.path,selector:"string"==typeof a.pageview?a.pageview:void 0})},m=l?z((()=>s(Zt,{path:a.path,...i}))):null;m&&m.mount(l),c(),u();const d=E(c),p=E(u);return{el:l,update:({comment:e,pageview:t,path:n=window.location.pathname,...o})=>{Object.entries(o).forEach((([e,t])=>{i[e]=t})),a.path=n,void 0!==e&&(a.comment=e),void 0!==t&&(a.pageview=t)},destroy:()=>{null==m||m.unmount(),d(),p()}}},hn="2.0.4",wn=({el:e,serverURL:t,count:n})=>{var o;const r=Xe(),l=De(e),i=new AbortController;return(({serverURL:e,count:t,signal:n,token:o})=>{const r={};return o&&(r.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=recent&count=${t}`,{signal:n,headers:r}).then((e=>e.json())).then((e=>_e(e,"recent comment")))})({serverURL:t,count:n,signal:i.signal,token:null===(o=r.value)||void 0===o?void 0:o.token}).then((e=>l&&e.length?(l.innerHTML=`<ul class="wl-recent-list">${e.map((e=>`<li class="wl-recent-item"><a href="${e.url}">${e.nick}</a>:${e.comment}</li>`)).join("")}</ul>`,{comments:e,destroy:()=>{i.abort(),l.innerHTML=""}}):{comments:e,destroy:()=>i.abort()}))};export{wn as RecentComments,Ze as commentCount,_ as defaultLang,F as defaultTexRenderer,B as defaultUploadImage,T as getMeta,fn as init,G as locales,gn as pageviewCount,hn as version}; | ||
//# sourceMappingURL=shim.esm.js.map |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("autosize"),n=require("marked"),o=require("hanabi");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=r(t),a=r(o);const i=["nick","mail","link"],c=e=>e.filter((e=>i.includes(e))),s=e=>new Promise(((t,n)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>{var e;return t((null===(e=o.result)||void 0===e?void 0:e.toString())||"")},o.onerror=n})),m=e=>!0===e?'<p class="wl-tex">Tex is not available in preview</p>':'<span class="wl-tex">Tex is not available in preview</span>',u=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous"],d=e=>Object.fromEntries(e.map(((e,t)=>[u[t],e])));var p=d(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous"]),v=d(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名"]),g=d(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名"]),f=d(["暱稱","郵箱","網址","可選","暱稱不能少於3個字元","請填寫正確的郵件地址","歡迎評論","來發評論吧~","提交","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名"]),h=d(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo"]),w=d(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный"]);const y={zh:g,"zh-cn":g,"zh-CN":g,"zh-tw":f,"zh-TW":f,en:p,"en-US":p,"en-us":p,jp:v,"jp-jp":v,"jp-JP":v,"pt-br":h,"pt-BR":h,ru:w,"ru-ru":w,"ru-RU":w};function k(t){return!!e.getCurrentScope()&&(e.onScopeDispose(t),!0)}const b="undefined"!=typeof window,C=()=>{};const E=e=>e();var B=Object.getOwnPropertySymbols,N=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable;function $(t,n,o={}){const r=o,{eventFilter:l=E}=r,a=((e,t)=>{var n={};for(var o in e)N.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&B)for(var o of B(e))t.indexOf(o)<0&&S.call(e,o)&&(n[o]=e[o]);return n})(r,["eventFilter"]);return e.watch(t,(i=l,c=n,function(...e){i((()=>c.apply(this,e)),{fn:c,thisArg:this,args:e})}),a);var i,c}var x=Object.defineProperty,L=Object.defineProperties,j=Object.getOwnPropertyDescriptors,V=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,U=(e,t,n)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function A(t,n,o={}){const r=o,{eventFilter:l}=r,a=((e,t)=>{var n={};for(var o in e)I.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&V)for(var o of V(e))t.indexOf(o)<0&&R.call(e,o)&&(n[o]=e[o]);return n})(r,["eventFilter"]),{eventFilter:i,pause:c,resume:s,isActive:m}=function(t=E){const n=e.ref(!0);return{isActive:n,pause:function(){n.value=!1},resume:function(){n.value=!0},eventFilter:(...e)=>{n.value&&t(...e)}}}(l),u=$(t,n,(d=((e,t)=>{for(var n in t||(t={}))I.call(t,n)&&U(e,n,t[n]);if(V)for(var n of V(t))R.call(t,n)&&U(e,n,t[n]);return e})({},a),L(d,j({eventFilter:i}))));var d;return{stop:u,pause:c,resume:s,isActive:m}}const z=b?window:void 0;function M(...t){let n,o,r,l;if("string"==typeof t[0]?([o,r,l]=t,n=z):[n,o,r,l]=t,!n)return C;let a=C;const i=e.watch((()=>function(t){var n;const o=e.unref(t);return null!=(n=null==o?void 0:o.$el)?n:o}(n)),(e=>{a(),e&&(e.addEventListener(o,r,l),a=()=>{e.removeEventListener(o,r,l),a=C})}),{immediate:!0,flush:"post"}),c=()=>{i(),a()};return k(c),c}b&&window.document,b&&window.navigator,b&&window.location;const O="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},D="__vueuse_ssr_handlers__";O[D]=O[D]||{};const P=O[D];const T={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function F(t,n,o,r={}){var l;const{flush:a="pre",deep:i=!0,listenToStorageChanges:c=!0,writeDefaults:s=!0,shallow:m,window:u=z,eventFilter:d,onError:p=(e=>{console.error(e)})}=r,v=(m?e.shallowRef:e.ref)(n);if(!o)try{o=function(e,t){return P[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=z)?void 0:e.localStorage}))()}catch(e){p(e)}if(!o)return v;const g=e.unref(n),f=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e||Array.isArray(e)?"object":Number.isNaN(e)?"any":"number"}(g),h=null!=(l=r.serializer)?l:T[f],{pause:w,resume:y}=A(v,(()=>function(e){try{null==e?o.removeItem(t):o.setItem(t,h.write(e))}catch(e){p(e)}}(v.value)),{flush:a,deep:i,eventFilter:d});return u&&c&&M(u,"storage",k),k(),v;function k(e){e&&e.key!==t||(v.value=function(e){if(!e||e.key===t){w();try{const n=e?e.newValue:o.getItem(t);return null==n?(s&&null!==g&&o.setItem(t,h.write(g)),g):"string"!=typeof n?n:h.read(n)}catch(e){p(e)}finally{y()}}}(e))}}var _,q,H=Object.defineProperty,W=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,Y=(e,t,n)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function G(t={}){const{controls:n=!1,interval:o="requestAnimationFrame"}=t,r=e.ref(new Date),l=()=>r.value=new Date,a="requestAnimationFrame"===o?function(t,n={}){const{immediate:o=!0,window:r=z}=n,l=e.ref(!1);let a=null;function i(){l.value&&r&&(t(),a=r.requestAnimationFrame(i))}function c(){!l.value&&r&&(l.value=!0,i())}function s(){l.value=!1,null!=a&&r&&(r.cancelAnimationFrame(a),a=null)}return o&&c(),k(s),{isActive:l,pause:s,resume:c}}(l,{immediate:!0}):function(t,n=1e3,o={}){const{immediate:r=!0,immediateCallback:l=!1}=o;let a=null;const i=e.ref(!1);function c(){a&&(clearInterval(a),a=null)}function s(){i.value=!1,c()}function m(){n<=0||(i.value=!0,l&&t(),c(),a=setInterval(t,e.unref(n)))}r&&b&&m(),e.isRef(n)&&k(e.watch(n,(()=>{r&&b&&m()})));return k(s),{isActive:i,pause:s,resume:m}}(l,o,{immediate:!0});return n?((e,t)=>{for(var n in t||(t={}))J.call(t,n)&&Y(e,n,t[n]);if(W)for(var n of W(t))K.call(t,n)&&Y(e,n,t[n]);return e})({now:r},a):r}b&&(null==window?void 0:window.navigator)&&(null==(_=null==window?void 0:window.navigator)?void 0:_.platform)&&/iP(ad|hone|od)/.test(null==(q=null==window?void 0:window.navigator)?void 0:q.platform);const Q=e=>{try{e=decodeURI(e)}catch(e){}return e},X=(e="")=>e.replace(/\/$/u,""),Z=e=>/^(https?:)?\/\//.test(e),ee=e=>{const t=F("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const e=t.value.link;if(e)return Promise.resolve(e)}return fetch(`${e}/info.json`).then((e=>e.json())).then((o=>{const r={folder:e,...o};return n&&(t.value.link=r),r}))},te=(e,t="",n="",o="")=>`${t?`${t}/`:""}${n}${e}${o?`.${o}`:""}`,ne=e=>{const t=X(e);return Z(t)?t:`https://${t}`},oe=(e,t)=>"function"==typeof e?e:!1!==e&&t,re="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",le=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},ae=e=>{"AbortError"!==e.name&&console.error(e.message)},ie=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},ce=({serverURL:e,paths:t,signal:n})=>fetch(`${e}/article?path=${encodeURIComponent(t.join(","))}`,{signal:n}).then((e=>e.json())).then((e=>ie(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),se=({serverURL:e,path:t})=>fetch(`${e}/article`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})}).then((e=>e.json())).then((e=>ie(e,"visit count"))),me=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,ue=e=>e.type.includes("image"),de=e=>{const t=Array.from(e).find(ue);return t?t.getAsFile():null},pe=/\$.*?\$/,ve=/^\$(.*?)\$/,ge=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,fe=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),he=(e,{emojiMap:t,highlighter:o,texRenderer:r})=>{if(n.marked.setOptions({highlight:o||void 0,breaks:!0,smartLists:!0,smartypants:!0}),r){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=ge.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(pe);return-1!==t?t:e.length},tokenizer(t){const n=ve.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(r);n.marked.use({extensions:e})}return n.marked.parse(fe(e,t))},we=e=>e.dataset.path||e.getAttribute("id"),ye=(t,n)=>{const o=G();return e.computed((()=>{if(!t)return"";const e="string"==typeof t?new Date(-1!==t.indexOf(" ")?t.replace(/-/g,"/"):t):t,r=o.value.getTime()-e.getTime(),l=Math.floor(r/864e5);if(0===l){const e=r%864e5,t=Math.floor(e/36e5);if(0===t){const t=e%36e5,o=Math.floor(t/6e4);if(0===o){const e=t%6e4;return`${Math.round(e/1e3)} ${n.seconds}`}return`${o} ${n.minutes}`}return`${t} ${n.hours}`}return l<0?n.now:l<8?`${l} ${n.days}`:(e=>{const t=le(e.getDate(),2),n=le(e.getMonth()+1,2);return`${le(e.getFullYear(),2)}-${n}-${t}`})(e)}))},ke=()=>F("USER_KEY",{}),be=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count"})=>{var o;const r=new AbortController,l=document.querySelectorAll(n),a=ke();return l.length&&(({serverURL:e,paths:t,signal:n,token:o})=>{const r={};return o&&(r.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=count&url=${encodeURIComponent(t.join(","))}`,{signal:n,headers:r}).then((e=>e.json())).then((e=>ie(e,"comment count"))).then((e=>Array.isArray(e)?e:[e]))})({serverURL:e,paths:Array.from(l).map((e=>Q(e.dataset.path||e.getAttribute("id")||t))),signal:r.signal,token:null===(o=a.value)||void 0===o?void 0:o.token}).then((e=>{l.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(ae),r.abort.bind(r)},Ce=({size:t})=>e.h("svg",{width:t,height:t,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},e.h("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},e.h("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})));var Ee=e.defineComponent({name:"CommentBox",components:{CloseIcon:({size:t})=>e.h("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:t,height:t},[e.h("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),e.h("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),EmojiIcon:()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),ImageIcon:()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),e.h("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),MarkdownIcon:()=>e.h("svg",{width:"16",height:"16",ariaHidden:"true"},e.h("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),PreviewIcon:()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),e.h("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),LoadingIcon:Ce},props:{rootId:{type:String,default:""},replyId:{type:String,default:""},replyUser:{type:String,default:""}},emits:["submit","cancel-reply"],setup(t,{emit:n}){const o=e.inject("config"),r=F("WALINE_USER_CACHE",{nick:"",mail:"",link:"",editor:""}),a=ke(),i=e.ref({}),c=e.ref(null),s=e.ref(null),m=e.ref(null),u=e.ref(null),d=e.ref({tabs:[],map:{}}),p=e.ref(0),v=e.ref(!1),g=e.ref(!1),f=e.ref(""),h=e.ref(0),w=e.ref(0),y=e.ref(!1),k=e.ref(""),b=e.ref(!1),C=e.computed((()=>o.value.locale)),E=e.computed((()=>{var e;return Boolean(null===(e=a.value)||void 0===e?void 0:e.token)})),B=e.computed((()=>!1!==o.value.imageUploader)),N=e=>{const t=c.value,n=t.selectionStart,o=t.selectionEnd||0,l=t.scrollTop;r.value.editor=t.value.substring(0,n)+e+t.value.substring(o,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=l},S=e=>{const t=`![${o.value.locale.uploading} ${e.name}]()`;return N(t),Promise.resolve().then((()=>o.value.imageUploader(e))).then((n=>{r.value.editor=r.value.editor.replace(t,`\r\n![${e.name}](${n})`)}))},$=()=>{var e,l,s,m,u;const{serverURL:p,lang:v,login:g,wordLimit:w,requiredMeta:E}=o.value,B={comment:k.value,nick:r.value.nick,mail:r.value.mail,link:r.value.link,ua:navigator.userAgent,url:o.value.path};if(null===(e=a.value)||void 0===e?void 0:e.token)B.nick=a.value.display_name,B.mail=a.value.email,B.link=a.value.url;else{if("force"===g)return;if((E.indexOf("nick")>-1||B.nick)&&!B.nick)return null===(l=i.value.nick)||void 0===l||l.focus(),alert(C.value.nickError);if(E.indexOf("mail")>-1&&!B.mail)return null===(s=i.value.mail)||void 0===s||s.focus(),alert(C.value.mailError);if(!B.comment)return void(null===(m=c.value)||void 0===m||m.focus());B.nick||(B.nick=C.value.anonymous)}if(!y.value)return alert(C.value.wordHint.replace("$0",w[0].toString()).replace("$1",w[1].toString()).replace("$2",h.value.toString()));B.comment=fe(B.comment,d.value.map),t.replyId&&t.rootId&&(B.pid=t.replyId,B.rid=t.rootId,B.at=t.replyUser),b.value=!0,(({serverURL:e,lang:t,token:n,comment:o})=>{const r={"Content-Type":"application/json"};return n&&(r.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:r,body:JSON.stringify(o)}).then((e=>e.json()))})({serverURL:p,lang:v,token:null===(u=a.value)||void 0===u?void 0:u.token,comment:B}).then((e=>{if(b.value=!1,e.errmsg)return alert(e.errmsg);n("submit",e.data),r.value.editor="",f.value="",t.replyId&&n("cancel-reply")})).catch((e=>{b.value=!1,alert(e.message)}))},x=e=>{m.value.contains(e.target)||u.value.contains(e.target)||(v.value=!1)};return e.watch((()=>r.value.editor),(e=>{const{highlighter:t,texRenderer:n}=o.value;k.value=e,f.value=he(e,{emojiMap:d.value.map,highlighter:t,texRenderer:n}),h.value=(e=>(e=>e.match(/[\w\d\s\u00C0-\u024F]+/giu)||[])(e).reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0)+(e=>e.match(/[\u4E00-\u9FA5]/gu)||[])(e).length)(e),c.value&&(e?l.default(c.value):l.default.destroy(c.value))}),{immediate:!0}),e.watch((()=>o.value.emoji),(e=>e.then((e=>{d.value=e}))),{immediate:!0}),e.watch([o,h],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(w.value=n[0],y.value=!1):t>n[1]?(w.value=n[1],y.value=!1):(w.value=n[1],y.value=!0):(w.value=0,y.value=!0)}),{immediate:!0}),e.onMounted((()=>{document.body.addEventListener("click",x)})),e.onUnmounted((()=>{document.body.removeEventListener("click",x)})),{config:o,locale:C,insert:N,onChange:()=>{const e=s.value;e.files&&B.value&&S(e.files[0]).then((()=>{e.value=""}))},onDrop:e=>{var t;if(null===(t=e.dataTransfer)||void 0===t?void 0:t.items){const t=de(e.dataTransfer.items);t&&B.value&&(S(t),e.preventDefault())}},onKeyDown:e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&$()},onPaste:e=>{if(e.clipboardData){const t=de(e.clipboardData.items);t&&B.value&&S(t)}},onLogin:e=>{e.preventDefault();const{lang:t,serverURL:n}=o.value,r=(window.innerWidth-450)/2,l=(window.innerHeight-450)/2,i=window.open(`${n}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${r},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==i||i.postMessage({type:"TOKEN",data:null},"*");const c=({data:e})=>{e&&"userInfo"===e.type&&e.data.token&&(null==i||i.close(),a.value=e.data,(e.data.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e.data)),window.removeEventListener("message",c))};window.addEventListener("message",c)},onLogout:()=>{a.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null")},onProfile:e=>{e.preventDefault();const{lang:t,serverURL:n}=o.value,r=(window.innerWidth-800)/2,l=(window.innerHeight-800)/2,i=window.open(`${n}/ui/profile?lng=${encodeURIComponent(t)}`,"_blank",`width=800,height=800,left=${r},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==i||i.postMessage({type:"TOKEN",data:a.value.token},"*");const c=({data:e})=>{e&&"profile"===e.type&&(a.value={...a.value,...e},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(a)))),window.removeEventListener("message",c))};window.addEventListener("message",c)},submitComment:$,isLogin:E,userInfo:a,isSubmitting:b,wordNumber:h,wordLimit:w,isWordNumberLegal:y,inputs:r,emoji:d,emojiTabIndex:p,showEmoji:v,canUploadImage:B,previewText:f,showPreview:g,inputRefs:i,editorRef:c,emojiButtonRef:m,emojiPopupRef:u,imageUploadRef:s}}});const Be={class:"wl-comment"},Ne={key:0,class:"wl-login-info"},Se={class:"wl-avatar"},$e=["title"],xe=["src"],Le=["textContent"],je={class:"wl-panel"},Ve=["for","textContent"],Ie=["id","name","type","onUpdate:modelValue"],Re=["placeholder"],Ue={class:"wl-preview"},Ae=e.createElementVNode("hr",null,null,-1),ze=["innerHTML"],Me={class:"wl-footer"},Oe={class:"wl-actions"},De={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noreferrer"},Pe=["title"],Te=["title"],Fe=["title"],_e={class:"wl-info"},qe={class:"wl-text-number"},He={key:0},We=e.createTextVNode(" / "),Je=["textContent"],Ke=["textContent"],Ye=["disabled"],Ge={key:0,class:"wl-tab-wrapper"},Qe=["title","onClick"],Xe=["src","alt"],Ze={key:0,class:"wl-tabs"},et=["onClick"],tt=["src","alt","title"],nt=["title"];Ee.render=function(t,n,o,r,l,a){const i=e.resolveComponent("CloseIcon"),c=e.resolveComponent("MarkdownIcon"),s=e.resolveComponent("EmojiIcon"),m=e.resolveComponent("ImageIcon"),u=e.resolveComponent("PreviewIcon"),d=e.resolveComponent("LoadingIcon");return e.openBlock(),e.createElementBlock("div",Be,["disable"!==t.config.login&&t.isLogin?(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",Se,[e.createElementVNode("button",{class:"wl-logout-btn",title:t.locale.logout,onClick:n[0]||(n[0]=(...e)=>t.onLogout&&t.onLogout(...e))},[e.createVNode(i,{size:14})],8,$e),e.createElementVNode("img",{src:t.userInfo.avatar,alt:"avatar"},null,8,xe)]),e.createElementVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",onClick:n[1]||(n[1]=(...e)=>t.onProfile&&t.onProfile(...e)),textContent:e.toDisplayString(t.userInfo.display_name)},null,8,Le)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",je,["force"!==t.config.login&&t.config.meta.length&&!t.isLogin?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["wl-header",`item${t.config.meta.length}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.config.meta,(n=>(e.openBlock(),e.createElementBlock("div",{class:"wl-header-item",key:n},[e.createElementVNode("label",{for:n,textContent:e.toDisplayString(t.locale[n]+(t.config.requiredMeta.includes(n)||!t.config.requiredMeta.length?"":`(${t.locale.optional})`))},null,8,Ve),e.withDirectives(e.createElementVNode("input",{ref_for:!0,ref:e=>{e&&(t.inputRefs[n]=e)},id:`wl-${n}`,class:e.normalizeClass(["wl-input",`wl-${n}`]),name:n,type:"mail"===n?"email":"text","onUpdate:modelValue":e=>t.inputs[n]=e},null,10,Ie),[[e.vModelDynamic,t.inputs[n]]])])))),128))],2)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",{class:"wl-editor",ref:"editorRef",id:"wl-edit",placeholder:t.replyUser?`@${t.replyUser}`:t.locale.placeholder,"onUpdate:modelValue":n[2]||(n[2]=e=>t.inputs.editor=e),onKeydown:n[3]||(n[3]=(...e)=>t.onKeyDown&&t.onKeyDown(...e)),onDrop:n[4]||(n[4]=(...e)=>t.onDrop&&t.onDrop(...e)),onPaste:n[5]||(n[5]=(...e)=>t.onPaste&&t.onPaste(...e))},null,40,Re),[[e.vModelText,t.inputs.editor]]),e.withDirectives(e.createElementVNode("div",Ue,[Ae,e.createElementVNode("h4",null,e.toDisplayString(t.locale.preview)+":",1),e.createElementVNode("div",{class:"wl-content",innerHTML:t.previewText},null,8,ze)],512),[[e.vShow,t.showPreview]]),e.createElementVNode("div",Me,[e.createElementVNode("div",Oe,[e.createElementVNode("a",De,[e.createVNode(c)]),e.createElementVNode("button",{ref:"emojiButtonRef",class:e.normalizeClass(["wl-action",{actived:t.showEmoji}]),title:t.locale.emoji,onClick:n[6]||(n[6]=e=>t.showEmoji=!t.showEmoji)},[e.createVNode(s)],10,Pe),e.createElementVNode("input",{ref:"imageUploadRef",class:"upload",id:"wl-image-upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:n[7]||(n[7]=(...e)=>t.onChange&&t.onChange(...e))},null,544),t.canUploadImage?(e.openBlock(),e.createElementBlock("label",{key:0,for:"wl-image-upload",class:"wl-action",title:t.locale.uploadImage},[e.createVNode(m)],8,Te)):e.createCommentVNode("v-if",!0),e.createElementVNode("button",{class:e.normalizeClass(["wl-action",{actived:t.showPreview}]),title:t.locale.preview,onClick:n[8]||(n[8]=e=>t.showPreview=!t.showPreview)},[e.createVNode(u)],10,Fe)]),e.createElementVNode("div",_e,[e.createElementVNode("div",qe,[e.createTextVNode(e.toDisplayString(t.wordNumber)+" ",1),t.config.wordLimit?(e.openBlock(),e.createElementBlock("span",He,[We,e.createElementVNode("span",{class:e.normalizeClass({illegal:!t.isWordNumberLegal}),textContent:e.toDisplayString(t.wordLimit)},null,10,Je)])):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(t.locale.word),1)]),"disable"===t.config.login||t.isLogin?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"wl-btn",onClick:n[9]||(n[9]=(...e)=>t.onLogin&&t.onLogin(...e)),textContent:e.toDisplayString(t.locale.login)},null,8,Ke)),"force"!==t.config.login||t.isLogin?(e.openBlock(),e.createElementBlock("button",{key:1,class:"wl-btn primary",title:"Cmd|Ctrl + Enter",disabled:t.isSubmitting,onClick:n[10]||(n[10]=(...e)=>t.submitComment&&t.submitComment(...e))},[t.isSubmitting?(e.openBlock(),e.createBlock(d,{key:0,size:16})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(t.locale.submit),1)],2112))],8,Ye)):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",{ref:"emojiPopupRef",class:e.normalizeClass(["wl-emoji-popup",{display:t.showEmoji}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.emoji.tabs,((n,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n.name},[o===t.emojiTabIndex?(e.openBlock(),e.createElementBlock("div",Ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.items,(n=>(e.openBlock(),e.createElementBlock("button",{key:n,title:n,onClick:e=>t.insert(`:${n}:`)},[t.showEmoji?(e.openBlock(),e.createElementBlock("img",{key:0,class:"wl-emoji",src:t.emoji.map[n],alt:n,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Xe)):e.createCommentVNode("v-if",!0)],8,Qe)))),128))])):e.createCommentVNode("v-if",!0)],64)))),128)),t.emoji.tabs.length>1?(e.openBlock(),e.createElementBlock("div",Ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.emoji.tabs,((n,o)=>(e.openBlock(),e.createElementBlock("button",{key:n.name,class:e.normalizeClass(["wl-tab",{active:t.emojiTabIndex===o}]),onClick:e=>t.emojiTabIndex=o},[e.createElementVNode("img",{class:"wl-emoji",src:n.icon,alt:n.name,title:n.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,tt)],10,et)))),128))])):e.createCommentVNode("v-if",!0)],2)])]),t.replyId?(e.openBlock(),e.createElementBlock("button",{key:1,class:"wl-close",title:t.locale.cancelReply,onClick:n[11]||(n[11]=e=>t.$emit("cancel-reply"))},[e.createVNode(i,{size:24})],8,nt)):e.createCommentVNode("v-if",!0)])},Ee.__file="src/components/CommentBox.vue";var ot=e.defineComponent({props:{comment:{type:Object,required:!0},rootId:{type:String,required:!0},reply:{type:Object}},components:{CommentBox:Ee,ReplyIcon:()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"18",height:"18"},e.h("path",{d:"M1019.2 720C1001.6 625.6 968 566.4 904 497.6c-89.6-89.6-214.4-150.4-347.2-176v-120c0-25.6-8-51.2-25.6-64-33.6-30.4-81.6-30.4-112-4.8L33.6 441.6C12.8 459.2 0 484.8 0 510.4c0 25.6 12.8 51.2 30.4 68.8l385.6 312c17.6 12.8 33.6 17.6 51.2 17.6 12.8 0 25.6-4.8 38.4-8C536 888 552 857.6 552 824v-99.2c124.8 20.8 248 86.4 339.2 140.8 25.6 17.6 59.2 17.6 89.6 0 25.6-17.6 43.2-46.4 43.2-76.8 0-33.6 0-56-4.8-68.8zm-500.8-89.6-46.4-4.8v193.6L86.4 510.4 472 201.6V400l38.4 4.8c128 12.8 248 68.8 334.4 153.6 51.2 56 76.8 102.4 94.4 179.2 0 4.8 4.8 20.8 4.8 51.2C835.2 720 672 640 518.4 630.4z",fill:"currentColor"})),VerifiedIcon:()=>e.h("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},e.h("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"}))},emits:["submit","reply"],setup(t){const n=e.inject("config"),o=e.computed((()=>n.value.locale)),r=e.computed((()=>{let{link:e}=t.comment;return e?Z(e)?e:`https://${e}`:""})),l=ye(t.comment.insertedAt,o.value),a=e.computed((()=>{var e;return t.comment.objectId===(null===(e=t.reply)||void 0===e?void 0:e.objectId)}));return{config:n,locale:o,isReplyingCurrent:a,link:r,time:l}}});const rt=["id"],lt={class:"wl-user","aria-hidden":"true"},at=["src"],it={class:"wl-card"},ct={class:"wl-head"},st=["href"],mt={key:1,class:"wl-nick"},ut=["textContent"],dt=["textContent"],pt=["textContent"],vt=["title"],gt={class:"wl-meta","aria-hidden":"true"},ft=["textContent"],ht=["textContent"],wt=["innerHTML"],yt={key:0,class:"wl-reply-wrapper"},kt={key:1,class:"wl-quote"};ot.render=function(t,n,o,r,l,a){const i=e.resolveComponent("VerifiedIcon"),c=e.resolveComponent("ReplyIcon"),s=e.resolveComponent("CommentBox"),m=e.resolveComponent("CommentCard",!0);return e.openBlock(),e.createElementBlock("div",{class:"wl-item",id:t.comment.objectId},[e.createElementVNode("div",lt,[t.comment.avatar?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.comment.avatar},null,8,at)):e.createCommentVNode("v-if",!0),t.comment.type?(e.openBlock(),e.createBlock(i,{key:1})):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",it,[e.createElementVNode("div",ct,[t.link?(e.openBlock(),e.createElementBlock("a",{key:0,class:"wl-nick",href:t.link,target:"_blank",rel:"nofollow noreferrer"},e.toDisplayString(t.comment.nick),9,st)):(e.openBlock(),e.createElementBlock("span",mt,e.toDisplayString(t.comment.nick),1)),"administrator"===t.comment.type?(e.openBlock(),e.createElementBlock("span",{key:2,class:"wl-badge",textContent:e.toDisplayString(t.locale.admin)},null,8,ut)):e.createCommentVNode("v-if",!0),t.comment.sticky?(e.openBlock(),e.createElementBlock("span",{key:3,class:"wl-badge",textContent:e.toDisplayString(t.locale.sticky)},null,8,dt)):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{class:"wl-time",textContent:e.toDisplayString(t.time)},null,8,pt),e.createElementVNode("button",{class:e.normalizeClass(["wl-reply",{active:t.isReplyingCurrent}]),title:t.isReplyingCurrent?t.locale.cancelReply:t.locale.reply,onClick:n[0]||(n[0]=e=>t.$emit("reply",t.isReplyingCurrent?null:t.comment))},[e.createVNode(c)],10,vt)]),e.createElementVNode("div",gt,[t.comment.browser?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.comment.browser)},null,8,ft)):e.createCommentVNode("v-if",!0),t.comment.os?(e.openBlock(),e.createElementBlock("span",{key:1,textContent:e.toDisplayString(t.comment.os)},null,8,ht)):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",{class:"wl-content",innerHTML:t.comment.comment},null,8,wt),t.isReplyingCurrent?(e.openBlock(),e.createElementBlock("div",yt,[e.createVNode(s,{replyId:t.comment.objectId,replyUser:t.comment.nick,rootId:t.rootId,onSubmit:n[1]||(n[1]=e=>t.$emit("submit",e)),onCancelReply:n[2]||(n[2]=e=>t.$emit("reply",null))},null,8,["replyId","replyUser","rootId"])])):e.createCommentVNode("v-if",!0),t.comment.children?(e.openBlock(),e.createElementBlock("div",kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.comment.children,(o=>(e.openBlock(),e.createBlock(m,{key:o.objectId,comment:o,reply:t.reply,rootId:t.rootId,onReply:n[3]||(n[3]=e=>t.$emit("reply",e)),onSubmit:n[4]||(n[4]=e=>t.$emit("submit",e))},null,8,["comment","reply","rootId"])))),128))])):e.createCommentVNode("v-if",!0)])],8,rt)},ot.__file="src/components/CommentCard.vue";var bt=e.defineComponent({name:"WalineRoot",components:{CommentBox:Ee,CommentCard:ot,LoadingIcon:Ce},props:{serverURL:{type:String,required:!0},path:{type:String,required:!0},meta:{type:Array},requiredMeta:{type:Array},visitor:{type:Boolean},dark:{type:[String,Boolean]},lang:{type:String},locale:{type:Object},pageSize:{type:Number},wordLimit:{type:[Number,Array]},emoji:{type:Array},login:{type:String},highlighter:{type:Function},imageUploader:{type:[Function,Boolean]},texRenderer:{type:[Function,Boolean]}},setup(t){const n=e.computed((()=>(({serverURL:e,path:t=location.pathname,lang:n="zh-CN",locale:o,emoji:r=["https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo"],meta:l=["nick","mail","link"],requiredMeta:i=[],pageSize:u=10,wordLimit:d,imageUploader:p,highlighter:v,texRenderer:g,copyright:f=!0,login:h="enable",...w})=>{return{serverURL:ne(e),path:Q(t),lang:n,locale:{...y[n]||y["zh-CN"],..."object"==typeof o?o:{}},emoji:(k=r,Promise.all(k.map((e=>"string"==typeof e?ee(X(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:o,icon:r,prefix:l,type:a,items:i}=e;t.tabs.push({name:n,icon:te(r,o,l,a),items:i.map((e=>{const n=`${l||""}${e}`;return t.map[n]=te(e,o,l,a),n}))})})),t}))),wordLimit:Array.isArray(d)?d:!!d&&[0,d],meta:c(l),requiredMeta:c(i),pageSize:u,login:h,imageUploader:oe(p,s),highlighter:oe(v,a.default),texRenderer:oe(g,m),copyright:f,...w};var k})(t))),o=ke(),r=e.ref("loading"),l=e.ref(0),i=e.ref(1),u=e.ref(0),d=e.ref([]),p=e.ref(null),v=e.computed((()=>{return"string"==typeof(e=n.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${re}}`:`${e}${re}`:!0===e?`:root${re}`:"";var e}));let g,f;const h=e=>{var t;const{serverURL:a,path:c,pageSize:s}=n.value,m=new AbortController;r.value="loading",null==g||g(),(({serverURL:e,path:t,page:n,pageSize:o,signal:r,token:l})=>{const a={};return l&&(a.Authorization=`Bearer ${l}`),fetch(`${e}/comment?path=${encodeURIComponent(t)}&pageSize=${o}&page=${n}`,{signal:r,headers:a}).then((e=>e.json())).then((e=>ie(e,"comment list")))})({serverURL:a,path:c,pageSize:s,page:e,signal:m.signal,token:null===(t=o.value)||void 0===t?void 0:t.token}).then((t=>{r.value="success",l.value=t.count,d.value.push(...t.data),i.value=e,u.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),r.value="error")})),g=m.abort.bind(m)},w=()=>{l.value=0,d.value=[],h(1)};return e.provide("config",n),e.watch((()=>t.path),w),e.onMounted((()=>{var t;w();const n=document.createElement("style");n.innerText=v.value,null===(t=document.querySelector("[data-waline]"))||void 0===t||t.appendChild(n),f=e.watchEffect((()=>{n.innerText=v.value}))})),e.onBeforeUnmount((()=>f())),{config:n,darkmodeStyle:v,i18n:e.computed((()=>n.value.locale)),status:r,count:l,page:i,totalPages:u,data:d,reply:p,loadMore:()=>h(i.value+1),refresh:w,onReply:e=>{p.value=e},onSubmit:e=>{if(e.rid){const t=d.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else d.value.unshift(e)},version:"2.0.3"}}});const Ct={"data-waline":""},Et={class:"wl-count"},Bt=["textContent"],Nt={class:"wl-cards"},St={key:1,class:"wl-operation"},$t=["textContent"],xt={key:0,class:"wl-loading"},Lt=["textContent"],jt={class:"wl-operation"},Vt=["textContent"],It={key:3,class:"wl-power"},Rt=e.createTextVNode(" Powered by "),Ut=e.createElementVNode("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noreferrer"}," Waline ",-1);bt.render=function(t,n,o,r,l,a){const i=e.resolveComponent("CommentBox"),c=e.resolveComponent("CommentCard"),s=e.resolveComponent("LoadingIcon");return e.openBlock(),e.createElementBlock("div",Ct,[t.reply?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(i,{key:0,onSubmit:t.onSubmit},null,8,["onSubmit"])),e.createElementVNode("div",Et,[t.count?(e.openBlock(),e.createElementBlock("span",{key:0,class:"wl-num",textContent:e.toDisplayString(t.count)},null,8,Bt)):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(t.i18n.comment),1)]),e.createElementVNode("div",Nt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(n=>(e.openBlock(),e.createBlock(c,{key:n.objectId,"root-id":n.objectId,comment:n,reply:t.reply,onReply:t.onReply,onSubmit:t.onSubmit},null,8,["root-id","comment","reply","onReply","onSubmit"])))),128))]),"error"===t.status?(e.openBlock(),e.createElementBlock("div",St,[e.createElementVNode("button",{type:"button",class:"wl-btn",onClick:n[0]||(n[0]=(...e)=>t.refresh&&t.refresh(...e)),textContent:e.toDisplayString(t.i18n.refresh)},null,8,$t)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},["loading"===t.status?(e.openBlock(),e.createElementBlock("div",xt,[e.createVNode(s,{size:30})])):t.data.length?t.page<t.totalPages?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createCommentVNode(" Load more button "),e.createElementVNode("div",jt,[e.createElementVNode("button",{type:"button",class:"wl-btn",onClick:n[1]||(n[1]=(...e)=>t.loadMore&&t.loadMore(...e)),textContent:e.toDisplayString(t.i18n.more)},null,8,Vt)])],2112)):e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:"wl-empty",textContent:e.toDisplayString(t.i18n.sofa)},null,8,Lt))],2112)),e.createCommentVNode(" Copyright Information "),t.config.copyright?(e.openBlock(),e.createElementBlock("div",It,[Rt,Ut,e.createTextVNode(" v"+e.toDisplayString(t.version),1)])):e.createCommentVNode("v-if",!0)])},bt.__file="src/components/Waline.vue";const At=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},zt=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:o=!0})=>{const r=new AbortController,l=Array.from(document.querySelectorAll(n)),a=e=>{const n=we(e);return null!==n&&t!==n},i=n=>ce({serverURL:e,paths:n.map((e=>we(e)||t)),signal:r.signal}).then((e=>At(e,n))).catch(ae);if(o){const n=l.filter((e=>!a(e))),o=l.filter(a);se({serverURL:e,path:t}).then((e=>At(new Array(n.length).fill(e),n))),o.length&&i(o)}else i(l);return r.abort.bind(r)};exports.RecentComments=({el:e,serverURL:t,count:n})=>{var o;const r=ke(),l=me(e),a=new AbortController;return(({serverURL:e,count:t,signal:n,token:o})=>{const r={};return o&&(r.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=recent&count=${t}`,{signal:n,headers:r}).then((e=>e.json())).then((e=>ie(e,"recent comment")))})({serverURL:t,count:n,signal:a.signal,token:null===(o=r.value)||void 0===o?void 0:o.token}).then((e=>l&&e.length?(l.innerHTML=`<ul class="wl-recent-list">${e.map((e=>`<li class="wl-recent-item"><a href="${e.url}">${e.nick}</a>:${e.comment}</li>`)).join("")}</ul>`,{comments:e,destroy:()=>{a.abort(),l.innerHTML=""}}):{comments:e,destroy:()=>a.abort()}))},exports.commentCount=be,exports.defaultLang="zh-CN",exports.defaultTexRenderer=m,exports.defaultUploadImage=s,exports.getMeta=c,exports.init=({el:t="#waline",path:n=window.location.pathname,comment:o=!1,pageview:r=!1,...l})=>{const a=t?me(t):null;if(t&&!a)throw new Error("Option 'el' do not match any domElement!");if(!l.serverURL)throw new Error("Option 'serverURL' is missing!");const i=e.reactive({...l}),c=e.reactive({comment:o,pageview:r,path:n}),s=()=>{c.comment&&be({serverURL:i.serverURL,path:c.path,selector:"string"==typeof c.comment?c.comment:void 0})},m=()=>{c.pageview&&zt({serverURL:i.serverURL,path:c.path,selector:"string"==typeof c.pageview?c.pageview:void 0})},u=a?e.createApp((()=>e.h(bt,{path:c.path,...i}))):null;u&&u.mount(a),s(),m();const d=e.watchEffect(s),p=e.watchEffect(m);return{el:a,update:({comment:e,pageview:t,path:n=window.location.pathname,...o})=>{Object.entries(o).forEach((([e,t])=>{i[e]=t})),c.path=n,void 0!==e&&(c.comment=e),void 0!==t&&(c.pageview=t)},destroy:()=>{null==u||u.unmount(),d(),p()}}},exports.locales=y,exports.pageviewCount=zt,exports.version="2.0.3"; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("autosize"),n=require("marked"),o=require("hanabi");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=r(t),a=r(o);const i=["nick","mail","link"],c=e=>e.filter((e=>i.includes(e))),s=e=>new Promise(((t,n)=>{const o=new FileReader;o.readAsDataURL(e),o.onload=()=>{var e;return t((null===(e=o.result)||void 0===e?void 0:e.toString())||"")},o.onerror=n})),m=e=>!0===e?'<p class="wl-tex">Tex is not available in preview</p>':'<span class="wl-tex">Tex is not available in preview</span>',u=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous"],d=e=>Object.fromEntries(e.map(((e,t)=>[u[t],e])));var p=d(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous"]),v=d(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名"]),g=d(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名"]),f=d(["暱稱","郵箱","網址","可選","暱稱不能少於3個字元","請填寫正確的郵件地址","歡迎評論","來發評論吧~","提交","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名"]),h=d(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo"]),w=d(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный"]);const y={zh:g,"zh-cn":g,"zh-CN":g,"zh-tw":f,"zh-TW":f,en:p,"en-US":p,"en-us":p,jp:v,"jp-jp":v,"jp-JP":v,"pt-br":h,"pt-BR":h,ru:w,"ru-ru":w,"ru-RU":w};function k(t){return!!e.getCurrentScope()&&(e.onScopeDispose(t),!0)}const b="undefined"!=typeof window,C=()=>{};const E=e=>e();var N=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,S=Object.prototype.propertyIsEnumerable;function $(t,n,o={}){const r=o,{eventFilter:l=E}=r,a=((e,t)=>{var n={};for(var o in e)B.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&N)for(var o of N(e))t.indexOf(o)<0&&S.call(e,o)&&(n[o]=e[o]);return n})(r,["eventFilter"]);return e.watch(t,(i=l,c=n,function(...e){i((()=>c.apply(this,e)),{fn:c,thisArg:this,args:e})}),a);var i,c}var x=Object.defineProperty,L=Object.defineProperties,j=Object.getOwnPropertyDescriptors,V=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,U=(e,t,n)=>t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function A(t,n,o={}){const r=o,{eventFilter:l}=r,a=((e,t)=>{var n={};for(var o in e)I.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&V)for(var o of V(e))t.indexOf(o)<0&&R.call(e,o)&&(n[o]=e[o]);return n})(r,["eventFilter"]),{eventFilter:i,pause:c,resume:s,isActive:m}=function(t=E){const n=e.ref(!0);return{isActive:n,pause:function(){n.value=!1},resume:function(){n.value=!0},eventFilter:(...e)=>{n.value&&t(...e)}}}(l),u=$(t,n,(d=((e,t)=>{for(var n in t||(t={}))I.call(t,n)&&U(e,n,t[n]);if(V)for(var n of V(t))R.call(t,n)&&U(e,n,t[n]);return e})({},a),L(d,j({eventFilter:i}))));var d;return{stop:u,pause:c,resume:s,isActive:m}}const z=b?window:void 0;function M(...t){let n,o,r,l;if("string"==typeof t[0]?([o,r,l]=t,n=z):[n,o,r,l]=t,!n)return C;let a=C;const i=e.watch((()=>function(t){var n;const o=e.unref(t);return null!=(n=null==o?void 0:o.$el)?n:o}(n)),(e=>{a(),e&&(e.addEventListener(o,r,l),a=()=>{e.removeEventListener(o,r,l),a=C})}),{immediate:!0,flush:"post"}),c=()=>{i(),a()};return k(c),c}b&&window.document,b&&window.navigator,b&&window.location;const O="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},D="__vueuse_ssr_handlers__";O[D]=O[D]||{};const P=O[D];const T={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}};function F(t,n,o,r={}){var l;const{flush:a="pre",deep:i=!0,listenToStorageChanges:c=!0,writeDefaults:s=!0,shallow:m,window:u=z,eventFilter:d,onError:p=(e=>{console.error(e)})}=r,v=(m?e.shallowRef:e.ref)(n);if(!o)try{o=function(e,t){return P[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=z)?void 0:e.localStorage}))()}catch(e){p(e)}if(!o)return v;const g=e.unref(n),f=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e||Array.isArray(e)?"object":Number.isNaN(e)?"any":"number"}(g),h=null!=(l=r.serializer)?l:T[f],{pause:w,resume:y}=A(v,(()=>function(e){try{null==e?o.removeItem(t):o.setItem(t,h.write(e))}catch(e){p(e)}}(v.value)),{flush:a,deep:i,eventFilter:d});return u&&c&&M(u,"storage",k),k(),v;function k(e){e&&e.key!==t||(v.value=function(e){if(!e||e.key===t){w();try{const n=e?e.newValue:o.getItem(t);return null==n?(s&&null!==g&&o.setItem(t,h.write(g)),g):"string"!=typeof n?n:h.read(n)}catch(e){p(e)}finally{y()}}}(e))}}var _,q,H=Object.defineProperty,W=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,Y=(e,t,n)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function G(t={}){const{controls:n=!1,interval:o="requestAnimationFrame"}=t,r=e.ref(new Date),l=()=>r.value=new Date,a="requestAnimationFrame"===o?function(t,n={}){const{immediate:o=!0,window:r=z}=n,l=e.ref(!1);let a=null;function i(){l.value&&r&&(t(),a=r.requestAnimationFrame(i))}function c(){!l.value&&r&&(l.value=!0,i())}function s(){l.value=!1,null!=a&&r&&(r.cancelAnimationFrame(a),a=null)}return o&&c(),k(s),{isActive:l,pause:s,resume:c}}(l,{immediate:!0}):function(t,n=1e3,o={}){const{immediate:r=!0,immediateCallback:l=!1}=o;let a=null;const i=e.ref(!1);function c(){a&&(clearInterval(a),a=null)}function s(){i.value=!1,c()}function m(){n<=0||(i.value=!0,l&&t(),c(),a=setInterval(t,e.unref(n)))}r&&b&&m(),e.isRef(n)&&k(e.watch(n,(()=>{r&&b&&m()})));return k(s),{isActive:i,pause:s,resume:m}}(l,o,{immediate:!0});return n?((e,t)=>{for(var n in t||(t={}))J.call(t,n)&&Y(e,n,t[n]);if(W)for(var n of W(t))K.call(t,n)&&Y(e,n,t[n]);return e})({now:r},a):r}b&&(null==window?void 0:window.navigator)&&(null==(_=null==window?void 0:window.navigator)?void 0:_.platform)&&/iP(ad|hone|od)/.test(null==(q=null==window?void 0:window.navigator)?void 0:q.platform);const Q=e=>{try{e=decodeURI(e)}catch(e){}return e},X=(e="")=>e.replace(/\/$/u,""),Z=e=>/^(https?:)?\/\//.test(e),ee=e=>{const t=X(e);return Z(t)?t:`https://${t}`},te=e=>Array.isArray(e)?e:!!e&&[0,e],ne=(e,t)=>"function"==typeof e?e:!1!==e&&t,oe="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",re=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},le=e=>{const t=F("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const e=t.value.link;if(e)return Promise.resolve(e)}return fetch(`${e}/info.json`).then((e=>e.json())).then((o=>{const r={folder:e,...o};return n&&(t.value.link=r),r}))},ae=(e,t="",n="",o="")=>`${t?`${t}/`:""}${n}${e}${o?`.${o}`:""}`,ie=e=>{"AbortError"!==e.name&&console.error(e.message)},ce=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},se=({serverURL:e,paths:t,signal:n})=>fetch(`${e}/article?path=${encodeURIComponent(t.join(","))}`,{signal:n}).then((e=>e.json())).then((e=>ce(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),me=({serverURL:e,path:t})=>fetch(`${e}/article`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})}).then((e=>e.json())).then((e=>ce(e,"visit count"))),ue=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,de=e=>e.type.includes("image"),pe=e=>{const t=Array.from(e).find(de);return t?t.getAsFile():null},ve=/\$.*?\$/,ge=/^\$(.*?)\$/,fe=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,he=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),we=(e,{emojiMap:t,highlighter:o,texRenderer:r})=>{if(n.marked.setOptions({highlight:o||void 0,breaks:!0,smartLists:!0,smartypants:!0}),r){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=fe.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(ve);return-1!==t?t:e.length},tokenizer(t){const n=ge.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(r);n.marked.use({extensions:e})}return n.marked.parse(he(e,t))},ye=e=>e.dataset.path||e.getAttribute("id"),ke=(t,n)=>{const o=G();return e.computed((()=>{if(!t)return"";const e="string"==typeof t?new Date(-1!==t.indexOf(" ")?t.replace(/-/g,"/"):t):t,r=o.value.getTime()-e.getTime(),l=Math.floor(r/864e5);if(0===l){const e=r%864e5,t=Math.floor(e/36e5);if(0===t){const t=e%36e5,o=Math.floor(t/6e4);if(0===o){const e=t%6e4;return`${Math.round(e/1e3)} ${n.seconds}`}return`${o} ${n.minutes}`}return`${t} ${n.hours}`}return l<0?n.now:l<8?`${l} ${n.days}`:(e=>{const t=re(e.getDate(),2),n=re(e.getMonth()+1,2);return`${re(e.getFullYear(),2)}-${n}-${t}`})(e)}))},be=()=>F("USER_KEY",{}),Ce=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count"})=>{var o;const r=new AbortController,l=document.querySelectorAll(n),a=be();return l.length&&(({serverURL:e,paths:t,signal:n,token:o})=>{const r={};return o&&(r.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=count&url=${encodeURIComponent(t.join(","))}`,{signal:n,headers:r}).then((e=>e.json())).then((e=>ce(e,"comment count"))).then((e=>Array.isArray(e)?e:[e]))})({serverURL:e,paths:Array.from(l).map((e=>Q(e.dataset.path||e.getAttribute("id")||t))),signal:r.signal,token:null===(o=a.value)||void 0===o?void 0:o.token}).then((e=>{l.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(ie),r.abort.bind(r)},Ee=({size:t})=>e.h("svg",{width:t,height:t,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},e.h("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},e.h("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})));var Ne=e.defineComponent({name:"CommentBox",components:{CloseIcon:({size:t})=>e.h("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:t,height:t},[e.h("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),e.h("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),EmojiIcon:()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},e.h("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),ImageIcon:()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),e.h("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),MarkdownIcon:()=>e.h("svg",{width:"16",height:"16",ariaHidden:"true"},e.h("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),PreviewIcon:()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[e.h("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),e.h("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),LoadingIcon:Ee},props:{rootId:{type:String,default:""},replyId:{type:String,default:""},replyUser:{type:String,default:""}},emits:["submit","cancel-reply"],setup(t,{emit:n}){const o=e.inject("config"),r=F("WALINE_USER_CACHE",{nick:"",mail:"",link:"",editor:""}),a=be(),i=e.ref({}),c=e.ref(null),s=e.ref(null),m=e.ref(null),u=e.ref(null),d=e.ref({tabs:[],map:{}}),p=e.ref(0),v=e.ref(!1),g=e.ref(!1),f=e.ref(""),h=e.ref(0),w=e.ref(0),y=e.ref(!1),k=e.ref(""),b=e.ref(!1),C=e.computed((()=>o.value.locale)),E=e.computed((()=>{var e;return Boolean(null===(e=a.value)||void 0===e?void 0:e.token)})),N=e.computed((()=>!1!==o.value.imageUploader)),B=e=>{const t=c.value,n=t.selectionStart,o=t.selectionEnd||0,l=t.scrollTop;r.value.editor=t.value.substring(0,n)+e+t.value.substring(o,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=l},S=e=>{const t=`![${o.value.locale.uploading} ${e.name}]()`;return B(t),Promise.resolve().then((()=>o.value.imageUploader(e))).then((n=>{r.value.editor=r.value.editor.replace(t,`\r\n![${e.name}](${n})`)}))},$=()=>{var e,l,s,m,u;const{serverURL:p,lang:v,login:g,wordLimit:w,requiredMeta:E}=o.value,N={comment:k.value,nick:r.value.nick,mail:r.value.mail,link:r.value.link,ua:navigator.userAgent,url:o.value.path};if(null===(e=a.value)||void 0===e?void 0:e.token)N.nick=a.value.display_name,N.mail=a.value.email,N.link=a.value.url;else{if("force"===g)return;if((E.indexOf("nick")>-1||N.nick)&&!N.nick)return null===(l=i.value.nick)||void 0===l||l.focus(),alert(C.value.nickError);if(E.indexOf("mail")>-1&&!N.mail)return null===(s=i.value.mail)||void 0===s||s.focus(),alert(C.value.mailError);if(!N.comment)return void(null===(m=c.value)||void 0===m||m.focus());N.nick||(N.nick=C.value.anonymous)}if(!y.value)return alert(C.value.wordHint.replace("$0",w[0].toString()).replace("$1",w[1].toString()).replace("$2",h.value.toString()));N.comment=he(N.comment,d.value.map),t.replyId&&t.rootId&&(N.pid=t.replyId,N.rid=t.rootId,N.at=t.replyUser),b.value=!0,(({serverURL:e,lang:t,token:n,comment:o})=>{const r={"Content-Type":"application/json"};return n&&(r.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:r,body:JSON.stringify(o)}).then((e=>e.json()))})({serverURL:p,lang:v,token:null===(u=a.value)||void 0===u?void 0:u.token,comment:N}).then((e=>{if(b.value=!1,e.errmsg)return alert(e.errmsg);n("submit",e.data),r.value.editor="",f.value="",t.replyId&&n("cancel-reply")})).catch((e=>{b.value=!1,alert(e.message)}))},x=e=>{m.value.contains(e.target)||u.value.contains(e.target)||(v.value=!1)};return e.watch([o,h],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(w.value=n[0],y.value=!1):t>n[1]?(w.value=n[1],y.value=!1):(w.value=n[1],y.value=!0):(w.value=0,y.value=!0)}),{immediate:!0}),e.onMounted((()=>{document.body.addEventListener("click",x),e.watch((()=>r.value.editor),(e=>{const{highlighter:t,texRenderer:n}=o.value;k.value=e,f.value=we(e,{emojiMap:d.value.map,highlighter:t,texRenderer:n}),h.value=(e=>(e=>e.match(/[\w\d\s\u00C0-\u024F]+/giu)||[])(e).reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0)+(e=>e.match(/[\u4E00-\u9FA5]/gu)||[])(e).length)(e),e?l.default(c.value):l.default.destroy(c.value)}),{immediate:!0}),e.watch((()=>o.value.emoji),(e=>{return(t=e,Promise.all(t.map((e=>"string"==typeof e?le(X(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:o,icon:r,prefix:l,type:a,items:i}=e;t.tabs.push({name:n,icon:ae(r,o,l,a),items:i.map((e=>{const n=`${l||""}${e}`;return t.map[n]=ae(e,o,l,a),n}))})})),t}))).then((e=>{d.value=e}));var t}),{immediate:!0})})),e.onUnmounted((()=>{document.body.removeEventListener("click",x)})),{config:o,locale:C,insert:B,onChange:()=>{const e=s.value;e.files&&N.value&&S(e.files[0]).then((()=>{e.value=""}))},onDrop:e=>{var t;if(null===(t=e.dataTransfer)||void 0===t?void 0:t.items){const t=pe(e.dataTransfer.items);t&&N.value&&(S(t),e.preventDefault())}},onKeyDown:e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&$()},onPaste:e=>{if(e.clipboardData){const t=pe(e.clipboardData.items);t&&N.value&&S(t)}},onLogin:e=>{e.preventDefault();const{lang:t,serverURL:n}=o.value,r=(window.innerWidth-450)/2,l=(window.innerHeight-450)/2,i=window.open(`${n}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${r},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==i||i.postMessage({type:"TOKEN",data:null},"*");const c=({data:e})=>{e&&"userInfo"===e.type&&e.data.token&&(null==i||i.close(),a.value=e.data,(e.data.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e.data)),window.removeEventListener("message",c))};window.addEventListener("message",c)},onLogout:()=>{a.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null")},onProfile:e=>{e.preventDefault();const{lang:t,serverURL:n}=o.value,r=(window.innerWidth-800)/2,l=(window.innerHeight-800)/2,i=window.open(`${n}/ui/profile?lng=${encodeURIComponent(t)}`,"_blank",`width=800,height=800,left=${r},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==i||i.postMessage({type:"TOKEN",data:a.value.token},"*");const c=({data:e})=>{e&&"profile"===e.type&&(a.value={...a.value,...e},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(a)))),window.removeEventListener("message",c))};window.addEventListener("message",c)},submitComment:$,isLogin:E,userInfo:a,isSubmitting:b,wordNumber:h,wordLimit:w,isWordNumberLegal:y,inputs:r,emoji:d,emojiTabIndex:p,showEmoji:v,canUploadImage:N,previewText:f,showPreview:g,inputRefs:i,editorRef:c,emojiButtonRef:m,emojiPopupRef:u,imageUploadRef:s}}});const Be={class:"wl-comment"},Se={key:0,class:"wl-login-info"},$e={class:"wl-avatar"},xe=["title"],Le=["src"],je=["textContent"],Ve={class:"wl-panel"},Ie=["for","textContent"],Re=["id","name","type","onUpdate:modelValue"],Ue=["placeholder"],Ae={class:"wl-preview"},ze=e.createElementVNode("hr",null,null,-1),Me=["innerHTML"],Oe={class:"wl-footer"},De={class:"wl-actions"},Pe={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noreferrer"},Te=["title"],Fe=["title"],_e=["title"],qe={class:"wl-info"},He={class:"wl-text-number"},We={key:0},Je=e.createTextVNode(" / "),Ke=["textContent"],Ye=["textContent"],Ge=["disabled"],Qe={key:0,class:"wl-tab-wrapper"},Xe=["title","onClick"],Ze=["src","alt"],et={key:0,class:"wl-tabs"},tt=["onClick"],nt=["src","alt","title"],ot=["title"];Ne.render=function(t,n,o,r,l,a){const i=e.resolveComponent("CloseIcon"),c=e.resolveComponent("MarkdownIcon"),s=e.resolveComponent("EmojiIcon"),m=e.resolveComponent("ImageIcon"),u=e.resolveComponent("PreviewIcon"),d=e.resolveComponent("LoadingIcon");return e.openBlock(),e.createElementBlock("div",Be,["disable"!==t.config.login&&t.isLogin?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",$e,[e.createElementVNode("button",{class:"wl-logout-btn",title:t.locale.logout,onClick:n[0]||(n[0]=(...e)=>t.onLogout&&t.onLogout(...e))},[e.createVNode(i,{size:14})],8,xe),e.createElementVNode("img",{src:t.userInfo.avatar,alt:"avatar"},null,8,Le)]),e.createElementVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",onClick:n[1]||(n[1]=(...e)=>t.onProfile&&t.onProfile(...e)),textContent:e.toDisplayString(t.userInfo.display_name)},null,8,je)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",Ve,["force"!==t.config.login&&t.config.meta.length&&!t.isLogin?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["wl-header",`item${t.config.meta.length}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.config.meta,(n=>(e.openBlock(),e.createElementBlock("div",{class:"wl-header-item",key:n},[e.createElementVNode("label",{for:n,textContent:e.toDisplayString(t.locale[n]+(t.config.requiredMeta.includes(n)||!t.config.requiredMeta.length?"":`(${t.locale.optional})`))},null,8,Ie),e.withDirectives(e.createElementVNode("input",{ref_for:!0,ref:e=>{e&&(t.inputRefs[n]=e)},id:`wl-${n}`,class:e.normalizeClass(["wl-input",`wl-${n}`]),name:n,type:"mail"===n?"email":"text","onUpdate:modelValue":e=>t.inputs[n]=e},null,10,Re),[[e.vModelDynamic,t.inputs[n]]])])))),128))],2)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",{class:"wl-editor",ref:"editorRef",id:"wl-edit",placeholder:t.replyUser?`@${t.replyUser}`:t.locale.placeholder,"onUpdate:modelValue":n[2]||(n[2]=e=>t.inputs.editor=e),onKeydown:n[3]||(n[3]=(...e)=>t.onKeyDown&&t.onKeyDown(...e)),onDrop:n[4]||(n[4]=(...e)=>t.onDrop&&t.onDrop(...e)),onPaste:n[5]||(n[5]=(...e)=>t.onPaste&&t.onPaste(...e))},null,40,Ue),[[e.vModelText,t.inputs.editor]]),e.withDirectives(e.createElementVNode("div",Ae,[ze,e.createElementVNode("h4",null,e.toDisplayString(t.locale.preview)+":",1),e.createElementVNode("div",{class:"wl-content",innerHTML:t.previewText},null,8,Me)],512),[[e.vShow,t.showPreview]]),e.createElementVNode("div",Oe,[e.createElementVNode("div",De,[e.createElementVNode("a",Pe,[e.createVNode(c)]),e.createElementVNode("button",{ref:"emojiButtonRef",class:e.normalizeClass(["wl-action",{actived:t.showEmoji}]),title:t.locale.emoji,onClick:n[6]||(n[6]=e=>t.showEmoji=!t.showEmoji)},[e.createVNode(s)],10,Te),e.createElementVNode("input",{ref:"imageUploadRef",class:"upload",id:"wl-image-upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:n[7]||(n[7]=(...e)=>t.onChange&&t.onChange(...e))},null,544),t.canUploadImage?(e.openBlock(),e.createElementBlock("label",{key:0,for:"wl-image-upload",class:"wl-action",title:t.locale.uploadImage},[e.createVNode(m)],8,Fe)):e.createCommentVNode("v-if",!0),e.createElementVNode("button",{class:e.normalizeClass(["wl-action",{actived:t.showPreview}]),title:t.locale.preview,onClick:n[8]||(n[8]=e=>t.showPreview=!t.showPreview)},[e.createVNode(u)],10,_e)]),e.createElementVNode("div",qe,[e.createElementVNode("div",He,[e.createTextVNode(e.toDisplayString(t.wordNumber)+" ",1),t.config.wordLimit?(e.openBlock(),e.createElementBlock("span",We,[Je,e.createElementVNode("span",{class:e.normalizeClass({illegal:!t.isWordNumberLegal}),textContent:e.toDisplayString(t.wordLimit)},null,10,Ke)])):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(t.locale.word),1)]),"disable"===t.config.login||t.isLogin?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"wl-btn",onClick:n[9]||(n[9]=(...e)=>t.onLogin&&t.onLogin(...e)),textContent:e.toDisplayString(t.locale.login)},null,8,Ye)),"force"!==t.config.login||t.isLogin?(e.openBlock(),e.createElementBlock("button",{key:1,class:"wl-btn primary",title:"Cmd|Ctrl + Enter",disabled:t.isSubmitting,onClick:n[10]||(n[10]=(...e)=>t.submitComment&&t.submitComment(...e))},[t.isSubmitting?(e.openBlock(),e.createBlock(d,{key:0,size:16})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(t.locale.submit),1)],2112))],8,Ge)):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",{ref:"emojiPopupRef",class:e.normalizeClass(["wl-emoji-popup",{display:t.showEmoji}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.emoji.tabs,((n,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n.name},[o===t.emojiTabIndex?(e.openBlock(),e.createElementBlock("div",Qe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.items,(n=>(e.openBlock(),e.createElementBlock("button",{key:n,title:n,onClick:e=>t.insert(`:${n}:`)},[t.showEmoji?(e.openBlock(),e.createElementBlock("img",{key:0,class:"wl-emoji",src:t.emoji.map[n],alt:n,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Ze)):e.createCommentVNode("v-if",!0)],8,Xe)))),128))])):e.createCommentVNode("v-if",!0)],64)))),128)),t.emoji.tabs.length>1?(e.openBlock(),e.createElementBlock("div",et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.emoji.tabs,((n,o)=>(e.openBlock(),e.createElementBlock("button",{key:n.name,class:e.normalizeClass(["wl-tab",{active:t.emojiTabIndex===o}]),onClick:e=>t.emojiTabIndex=o},[e.createElementVNode("img",{class:"wl-emoji",src:n.icon,alt:n.name,title:n.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,nt)],10,tt)))),128))])):e.createCommentVNode("v-if",!0)],2)])]),t.replyId?(e.openBlock(),e.createElementBlock("button",{key:1,class:"wl-close",title:t.locale.cancelReply,onClick:n[11]||(n[11]=e=>t.$emit("cancel-reply"))},[e.createVNode(i,{size:24})],8,ot)):e.createCommentVNode("v-if",!0)])},Ne.__file="src/components/CommentBox.vue";var rt=e.defineComponent({props:{comment:{type:Object,required:!0},rootId:{type:String,required:!0},reply:{type:Object}},components:{CommentBox:Ne,ReplyIcon:()=>e.h("svg",{viewBox:"0 0 1024 1024",width:"18",height:"18"},e.h("path",{d:"M1019.2 720C1001.6 625.6 968 566.4 904 497.6c-89.6-89.6-214.4-150.4-347.2-176v-120c0-25.6-8-51.2-25.6-64-33.6-30.4-81.6-30.4-112-4.8L33.6 441.6C12.8 459.2 0 484.8 0 510.4c0 25.6 12.8 51.2 30.4 68.8l385.6 312c17.6 12.8 33.6 17.6 51.2 17.6 12.8 0 25.6-4.8 38.4-8C536 888 552 857.6 552 824v-99.2c124.8 20.8 248 86.4 339.2 140.8 25.6 17.6 59.2 17.6 89.6 0 25.6-17.6 43.2-46.4 43.2-76.8 0-33.6 0-56-4.8-68.8zm-500.8-89.6-46.4-4.8v193.6L86.4 510.4 472 201.6V400l38.4 4.8c128 12.8 248 68.8 334.4 153.6 51.2 56 76.8 102.4 94.4 179.2 0 4.8 4.8 20.8 4.8 51.2C835.2 720 672 640 518.4 630.4z",fill:"currentColor"})),VerifiedIcon:()=>e.h("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},e.h("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"}))},emits:["submit","reply"],setup(t){const n=e.inject("config"),o=e.computed((()=>n.value.locale)),r=e.computed((()=>{let{link:e}=t.comment;return e?Z(e)?e:`https://${e}`:""})),l=ke(t.comment.insertedAt,o.value),a=e.computed((()=>{var e;return t.comment.objectId===(null===(e=t.reply)||void 0===e?void 0:e.objectId)}));return{config:n,locale:o,isReplyingCurrent:a,link:r,time:l}}});const lt=["id"],at={class:"wl-user","aria-hidden":"true"},it=["src"],ct={class:"wl-card"},st={class:"wl-head"},mt=["href"],ut={key:1,class:"wl-nick"},dt=["textContent"],pt=["textContent"],vt=["textContent"],gt=["title"],ft={class:"wl-meta","aria-hidden":"true"},ht=["textContent"],wt=["textContent"],yt=["innerHTML"],kt={key:0,class:"wl-reply-wrapper"},bt={key:1,class:"wl-quote"};rt.render=function(t,n,o,r,l,a){const i=e.resolveComponent("VerifiedIcon"),c=e.resolveComponent("ReplyIcon"),s=e.resolveComponent("CommentBox"),m=e.resolveComponent("CommentCard",!0);return e.openBlock(),e.createElementBlock("div",{class:"wl-item",id:t.comment.objectId},[e.createElementVNode("div",at,[t.comment.avatar?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.comment.avatar},null,8,it)):e.createCommentVNode("v-if",!0),t.comment.type?(e.openBlock(),e.createBlock(i,{key:1})):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",ct,[e.createElementVNode("div",st,[t.link?(e.openBlock(),e.createElementBlock("a",{key:0,class:"wl-nick",href:t.link,target:"_blank",rel:"nofollow noreferrer"},e.toDisplayString(t.comment.nick),9,mt)):(e.openBlock(),e.createElementBlock("span",ut,e.toDisplayString(t.comment.nick),1)),"administrator"===t.comment.type?(e.openBlock(),e.createElementBlock("span",{key:2,class:"wl-badge",textContent:e.toDisplayString(t.locale.admin)},null,8,dt)):e.createCommentVNode("v-if",!0),t.comment.sticky?(e.openBlock(),e.createElementBlock("span",{key:3,class:"wl-badge",textContent:e.toDisplayString(t.locale.sticky)},null,8,pt)):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{class:"wl-time",textContent:e.toDisplayString(t.time)},null,8,vt),e.createElementVNode("button",{class:e.normalizeClass(["wl-reply",{active:t.isReplyingCurrent}]),title:t.isReplyingCurrent?t.locale.cancelReply:t.locale.reply,onClick:n[0]||(n[0]=e=>t.$emit("reply",t.isReplyingCurrent?null:t.comment))},[e.createVNode(c)],10,gt)]),e.createElementVNode("div",ft,[t.comment.browser?(e.openBlock(),e.createElementBlock("span",{key:0,textContent:e.toDisplayString(t.comment.browser)},null,8,ht)):e.createCommentVNode("v-if",!0),t.comment.os?(e.openBlock(),e.createElementBlock("span",{key:1,textContent:e.toDisplayString(t.comment.os)},null,8,wt)):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",{class:"wl-content",innerHTML:t.comment.comment},null,8,yt),t.isReplyingCurrent?(e.openBlock(),e.createElementBlock("div",kt,[e.createVNode(s,{replyId:t.comment.objectId,replyUser:t.comment.nick,rootId:t.rootId,onSubmit:n[1]||(n[1]=e=>t.$emit("submit",e)),onCancelReply:n[2]||(n[2]=e=>t.$emit("reply",null))},null,8,["replyId","replyUser","rootId"])])):e.createCommentVNode("v-if",!0),t.comment.children?(e.openBlock(),e.createElementBlock("div",bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.comment.children,(o=>(e.openBlock(),e.createBlock(m,{key:o.objectId,comment:o,reply:t.reply,rootId:t.rootId,onReply:n[3]||(n[3]=e=>t.$emit("reply",e)),onSubmit:n[4]||(n[4]=e=>t.$emit("submit",e))},null,8,["comment","reply","rootId"])))),128))])):e.createCommentVNode("v-if",!0)])],8,lt)},rt.__file="src/components/CommentCard.vue";var Ct=e.defineComponent({name:"WalineRoot",components:{CommentBox:Ne,CommentCard:rt,LoadingIcon:Ee},props:{serverURL:{type:String,required:!0},path:{type:String,required:!0},meta:{type:Array},requiredMeta:{type:Array},dark:{type:[String,Boolean]},lang:{type:String},locale:{type:Object},pageSize:{type:Number},wordLimit:{type:[Number,Array]},emoji:{type:Array},login:{type:String},highlighter:{type:Function},imageUploader:{type:[Function,Boolean]},texRenderer:{type:[Function,Boolean]}},setup(t){const n=e.computed((()=>(({serverURL:e,path:t=location.pathname,lang:n="zh-CN",locale:o,emoji:r=["https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo"],meta:l=["nick","mail","link"],requiredMeta:i=[],dark:u=!1,pageSize:d=10,wordLimit:p,imageUploader:v,highlighter:g,texRenderer:f,copyright:h=!0,login:w="enable",...k})=>({serverURL:ee(e),path:Q(t),locale:{...y[n]||y["zh-CN"],..."object"==typeof o?o:{}},wordLimit:te(p),meta:c(l),requiredMeta:c(i),imageUploader:ne(v,s),highlighter:ne(g,a.default),texRenderer:ne(f,m),lang:n,dark:u,emoji:r,pageSize:d,login:w,copyright:h,...k}))(t))),o=be(),r=e.ref("loading"),l=e.ref(0),i=e.ref(1),u=e.ref(0),d=e.ref([]),p=e.ref(null),v=e.computed((()=>{return"string"==typeof(e=n.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${oe}}`:`${e}${oe}`:!0===e?`:root${oe}`:"";var e}));let g,f;const h=e=>{var t;const{serverURL:a,path:c,pageSize:s}=n.value,m=new AbortController;r.value="loading",null==g||g(),(({serverURL:e,path:t,page:n,pageSize:o,signal:r,token:l})=>{const a={};return l&&(a.Authorization=`Bearer ${l}`),fetch(`${e}/comment?path=${encodeURIComponent(t)}&pageSize=${o}&page=${n}`,{signal:r,headers:a}).then((e=>e.json())).then((e=>ce(e,"comment list")))})({serverURL:a,path:c,pageSize:s,page:e,signal:m.signal,token:null===(t=o.value)||void 0===t?void 0:t.token}).then((t=>{r.value="success",l.value=t.count,d.value.push(...t.data),i.value=e,u.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),r.value="error")})),g=m.abort.bind(m)},w=()=>{l.value=0,d.value=[],h(1)};return e.provide("config",n),e.watch((()=>t.path),w),e.onMounted((()=>{var t;w();const n=document.createElement("style");n.innerText=v.value,null===(t=document.querySelector("[data-waline]"))||void 0===t||t.appendChild(n),f=e.watchEffect((()=>{n.innerText=v.value}))})),e.onBeforeUnmount((()=>f())),{config:n,darkmodeStyle:v,i18n:e.computed((()=>n.value.locale)),status:r,count:l,page:i,totalPages:u,data:d,reply:p,loadMore:()=>h(i.value+1),refresh:w,onReply:e=>{p.value=e},onSubmit:e=>{if(e.rid){const t=d.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else d.value.unshift(e)},version:"2.0.4"}}});const Et={"data-waline":""},Nt={class:"wl-count"},Bt=["textContent"],St={class:"wl-cards"},$t={key:1,class:"wl-operation"},xt=["textContent"],Lt={key:0,class:"wl-loading"},jt=["textContent"],Vt={class:"wl-operation"},It=["textContent"],Rt={key:3,class:"wl-power"},Ut=e.createTextVNode(" Powered by "),At=e.createElementVNode("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noreferrer"}," Waline ",-1);Ct.render=function(t,n,o,r,l,a){const i=e.resolveComponent("CommentBox"),c=e.resolveComponent("CommentCard"),s=e.resolveComponent("LoadingIcon");return e.openBlock(),e.createElementBlock("div",Et,[t.reply?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(i,{key:0,onSubmit:t.onSubmit},null,8,["onSubmit"])),e.createElementVNode("div",Nt,[t.count?(e.openBlock(),e.createElementBlock("span",{key:0,class:"wl-num",textContent:e.toDisplayString(t.count)},null,8,Bt)):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(t.i18n.comment),1)]),e.createElementVNode("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(n=>(e.openBlock(),e.createBlock(c,{key:n.objectId,"root-id":n.objectId,comment:n,reply:t.reply,onReply:t.onReply,onSubmit:t.onSubmit},null,8,["root-id","comment","reply","onReply","onSubmit"])))),128))]),"error"===t.status?(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("button",{type:"button",class:"wl-btn",onClick:n[0]||(n[0]=(...e)=>t.refresh&&t.refresh(...e)),textContent:e.toDisplayString(t.i18n.refresh)},null,8,xt)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},["loading"===t.status?(e.openBlock(),e.createElementBlock("div",Lt,[e.createVNode(s,{size:30})])):t.data.length?t.page<t.totalPages?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createCommentVNode(" Load more button "),e.createElementVNode("div",Vt,[e.createElementVNode("button",{type:"button",class:"wl-btn",onClick:n[1]||(n[1]=(...e)=>t.loadMore&&t.loadMore(...e)),textContent:e.toDisplayString(t.i18n.more)},null,8,It)])],2112)):e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",{key:1,class:"wl-empty",textContent:e.toDisplayString(t.i18n.sofa)},null,8,jt))],2112)),e.createCommentVNode(" Copyright Information "),t.config.copyright?(e.openBlock(),e.createElementBlock("div",Rt,[Ut,At,e.createTextVNode(" v"+e.toDisplayString(t.version),1)])):e.createCommentVNode("v-if",!0)])},Ct.__file="src/components/Waline.vue";const zt=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},Mt=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:o=!0})=>{const r=new AbortController,l=Array.from(document.querySelectorAll(n)),a=e=>{const n=ye(e);return null!==n&&t!==n},i=n=>se({serverURL:e,paths:n.map((e=>ye(e)||t)),signal:r.signal}).then((e=>zt(e,n))).catch(ie);if(o){const n=l.filter((e=>!a(e))),o=l.filter(a);me({serverURL:e,path:t}).then((e=>zt(new Array(n.length).fill(e),n))),o.length&&i(o)}else i(l);return r.abort.bind(r)};exports.RecentComments=({el:e,serverURL:t,count:n})=>{var o;const r=be(),l=ue(e),a=new AbortController;return(({serverURL:e,count:t,signal:n,token:o})=>{const r={};return o&&(r.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=recent&count=${t}`,{signal:n,headers:r}).then((e=>e.json())).then((e=>ce(e,"recent comment")))})({serverURL:t,count:n,signal:a.signal,token:null===(o=r.value)||void 0===o?void 0:o.token}).then((e=>l&&e.length?(l.innerHTML=`<ul class="wl-recent-list">${e.map((e=>`<li class="wl-recent-item"><a href="${e.url}">${e.nick}</a>:${e.comment}</li>`)).join("")}</ul>`,{comments:e,destroy:()=>{a.abort(),l.innerHTML=""}}):{comments:e,destroy:()=>a.abort()}))},exports.commentCount=Ce,exports.defaultLang="zh-CN",exports.defaultTexRenderer=m,exports.defaultUploadImage=s,exports.getMeta=c,exports.init=({el:t="#waline",path:n=window.location.pathname,comment:o=!1,pageview:r=!1,...l})=>{const a=t?ue(t):null;if(t&&!a)throw new Error("Option 'el' do not match any domElement!");if(!l.serverURL)throw new Error("Option 'serverURL' is missing!");const i=e.reactive({...l}),c=e.reactive({comment:o,pageview:r,path:n}),s=()=>{c.comment&&Ce({serverURL:i.serverURL,path:c.path,selector:"string"==typeof c.comment?c.comment:void 0})},m=()=>{c.pageview&&Mt({serverURL:i.serverURL,path:c.path,selector:"string"==typeof c.pageview?c.pageview:void 0})},u=a?e.createApp((()=>e.h(Ct,{path:c.path,...i}))):null;u&&u.mount(a),s(),m();const d=e.watchEffect(s),p=e.watchEffect(m);return{el:a,update:({comment:e,pageview:t,path:n=window.location.pathname,...o})=>{Object.entries(o).forEach((([e,t])=>{i[e]=t})),c.path=n,void 0!==e&&(c.comment=e),void 0!==t&&(c.pageview=t)},destroy:()=>{null==u||u.unmount(),d(),p()}}},exports.locales=y,exports.pageviewCount=Mt,exports.version="2.0.4"; | ||
//# sourceMappingURL=shim.js.map |
{ | ||
"name": "@waline/client", | ||
"version": "2.0.3", | ||
"version": "2.0.4", | ||
"description": "client for waline comment system", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -30,3 +30,3 @@ import { warning } from './logger'; | ||
pageview = visitor === true | ||
? '.leancloud_visitors,.waline-visitor-count,.waline-pageview-count' | ||
? '.leancloud_visitors,.leancloud-visitors,.waline-visitor-count,.waline-pageview-count' | ||
: visitor, | ||
@@ -33,0 +33,0 @@ locale = langMode, |
@@ -64,3 +64,3 @@ import { | ||
const elements = Array.from( | ||
// visitor selectors | ||
// pageview selectors | ||
document.querySelectorAll<HTMLElement>(selector) | ||
@@ -67,0 +67,0 @@ ); |
@@ -10,3 +10,2 @@ import { | ||
import { decodePath, isLinkHttp, removeEndingSplash } from './path'; | ||
import { getEmojis } from './emoji'; | ||
@@ -21,3 +20,3 @@ import type { | ||
export interface EmojiConfig { | ||
export interface WalineEmojiConfig { | ||
tabs: Pick<WalineEmojiInfo, 'name' | 'icon' | 'items'>[]; | ||
@@ -27,22 +26,6 @@ map: WalineEmojiMaps; | ||
export interface Config | ||
extends Required< | ||
Pick< | ||
WalineProps, | ||
| 'path' | ||
| 'lang' | ||
| 'meta' | ||
| 'pageSize' | ||
| 'requiredMeta' | ||
| 'imageUploader' | ||
| 'highlighter' | ||
| 'texRenderer' | ||
| 'copyright' | ||
| 'login' | ||
> | ||
>, | ||
Pick<WalineProps, 'dark' | 'serverURL'> { | ||
export interface WalineConfig extends Required<Omit<WalineProps, 'wordLimit'>> { | ||
locale: WalineLocale; | ||
wordLimit: [number, number] | false; | ||
emoji: Promise<EmojiConfig>; | ||
// emoji: Promise<EmojiConfig>; | ||
} | ||
@@ -56,2 +39,7 @@ | ||
const getWordLimit = ( | ||
wordLimit: WalineProps['wordLimit'] | ||
): [number, number] | false => | ||
Array.isArray(wordLimit) ? wordLimit : wordLimit ? [0, wordLimit] : false; | ||
const fallback = <T = unknown>( | ||
@@ -72,2 +60,3 @@ value: T | false | undefined, | ||
requiredMeta = [], | ||
dark = false, | ||
pageSize = 10, | ||
@@ -81,6 +70,5 @@ wordLimit, | ||
...more | ||
}: WalineProps): Config => ({ | ||
}: WalineProps): WalineConfig => ({ | ||
serverURL: getServerURL(serverURL), | ||
path: decodePath(path), | ||
lang, | ||
locale: { | ||
@@ -90,17 +78,16 @@ ...(locales[lang] || locales[defaultLang]), | ||
}, | ||
emoji: getEmojis(emoji), | ||
wordLimit: Array.isArray(wordLimit) | ||
? wordLimit | ||
: wordLimit | ||
? [0, wordLimit] | ||
: false, | ||
// emoji: getEmojis(emoji), | ||
wordLimit: getWordLimit(wordLimit), | ||
meta: getMeta(meta), | ||
requiredMeta: getMeta(requiredMeta), | ||
pageSize, | ||
login, | ||
imageUploader: fallback(imageUploader, defaultUploadImage), | ||
highlighter: fallback(highlighter, hanabi), | ||
texRenderer: fallback(texRenderer, defaultTexRenderer), | ||
lang, | ||
dark, | ||
emoji, | ||
pageSize, | ||
login, | ||
copyright, | ||
...more, | ||
}); |
import { useStorage } from '@vueuse/core'; | ||
import { removeEndingSplash } from './path'; | ||
import type { EmojiConfig } from './config'; | ||
import type { WalineEmojiConfig } from './config'; | ||
import type { WalineEmojiInfo } from '../typings'; | ||
@@ -43,3 +43,3 @@ | ||
emojis: (string | WalineEmojiInfo)[] | ||
): Promise<EmojiConfig> => | ||
): Promise<WalineEmojiConfig> => | ||
Promise.all( | ||
@@ -52,3 +52,3 @@ emojis.map((emoji) => | ||
).then((emojiInfos) => { | ||
const emojiConfig: EmojiConfig = { | ||
const emojiConfig: WalineEmojiConfig = { | ||
tabs: [], | ||
@@ -55,0 +55,0 @@ map: {}, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
6243657
7546