@waline/client 2.6.3 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/component.esm.js +1 -1
  2. package/dist/component.esm.js.map +1 -1
  3. package/dist/component.js +1 -1
  4. package/dist/component.js.map +1 -1
  5. package/dist/legacy.d.ts +4 -1
  6. package/dist/legacy.js +1 -1
  7. package/dist/legacy.js.map +1 -1
  8. package/dist/pageview.cjs.js +1 -1
  9. package/dist/pageview.cjs.js.map +1 -1
  10. package/dist/pageview.esm.js +1 -1
  11. package/dist/pageview.esm.js.map +1 -1
  12. package/dist/pageview.js +1 -1
  13. package/dist/pageview.js.map +1 -1
  14. package/dist/shim.d.ts +4 -1
  15. package/dist/shim.esm.d.ts +4 -1
  16. package/dist/shim.esm.js +1 -1
  17. package/dist/shim.esm.js.map +1 -1
  18. package/dist/shim.js +1 -1
  19. package/dist/shim.js.map +1 -1
  20. package/dist/waline.cjs.d.ts +4 -1
  21. package/dist/waline.cjs.js +1 -1
  22. package/dist/waline.cjs.js.map +1 -1
  23. package/dist/waline.css +1 -1
  24. package/dist/waline.css.map +1 -1
  25. package/dist/waline.d.ts +4 -1
  26. package/dist/waline.esm.d.ts +4 -1
  27. package/dist/waline.esm.js +1 -1
  28. package/dist/waline.esm.js.map +1 -1
  29. package/dist/waline.js +1 -1
  30. package/dist/waline.js.map +1 -1
  31. package/package.json +12 -12
  32. package/src/components/Waline.vue +46 -3
  33. package/src/config/i18n/en.ts +3 -0
  34. package/src/config/i18n/generate.ts +3 -0
  35. package/src/config/i18n/jp.ts +3 -0
  36. package/src/config/i18n/pt-BR.ts +3 -0
  37. package/src/config/i18n/ru.ts +3 -0
  38. package/src/config/i18n/vi-VN.ts +15 -12
  39. package/src/config/i18n/zh-CN.ts +3 -0
  40. package/src/config/i18n/zh-TW.ts +3 -0
  41. package/src/styles/layout.scss +28 -1
  42. package/src/typings/locale.ts +3 -0
  43. package/src/typings/waline.ts +1 -1
  44. package/src/utils/config.ts +1 -1
  45. package/src/utils/fetch.ts +3 -1
package/dist/shim.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{getCurrentScope as e,onScopeDispose as t,getCurrentInstance as n,onMounted as l,nextTick as o,unref as a,ref as r,isRef as i,watch as s,readonly as c,shallowRef as u,computed as m,h as d,defineComponent as p,onBeforeUnmount as v,resolveComponent as g,openBlock as f,createElementBlock as h,normalizeStyle as w,Fragment as y,renderList as b,createBlock as k,createCommentVNode as C,createElementVNode as I,inject as $,reactive as L,onUnmounted as j,createVNode as S,toDisplayString as x,normalizeClass as R,withDirectives as E,vModelDynamic as O,vModelText as A,vShow as U,createTextVNode as z,provide as M,createApp as P,watchEffect as T}from"vue";import N from"autosize";import{marked as H}from"marked";const B=["nick","mail","link"],V=e=>e.filter((e=>B.includes(e))),F=e=>new Promise(((t,n)=>{if(e.size>128e3)return n(new Error("File too large! File size limit 128KB"));const l=new FileReader;l.readAsDataURL(e),l.onload=()=>t(l.result?.toString()||""),l.onerror=n})),_=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=()=>{const e={next:""},t=({keyword:e,pos:t})=>{const n=new URLSearchParams("media_filter=minimal");return n.set("key","PAY5JLFIH6V6"),n.set("limit","20"),n.set("pos",t||""),n.set("q",e),fetch(`https://g.tenor.com/v1/search?${n.toString()}`,{headers:{"Content-Type":"application/json"}}).then((e=>e.json())).catch((()=>({next:t||"",results:[]})))};return{search:(n="")=>t({keyword:n}).then((t=>(e.next=t.next,t.results.map((e=>({title:e.title,src:e.media[0].tinygif.url})))))),more:n=>t({keyword:n,pos:e.next}).then((t=>(e.next=t.next,t.results.map((e=>({title:e.title,src:e.media[0].tinygif.url}))))))}},W=new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/</.source})|((?:${/(?:^|\s)\/\/(.+?)$/gm.source})|(?:${/\/\*([\S\s]*?)\*\//gm.source}))`,"gmi"),G=["23AC69","91C132","F19726","E8552D","1AAB8E","E1147F","2980C1","1BA1E6","9FA0A0","F19726","E30B20","E30B20","A3338B"],q={},J=e=>{let t=0;return e.replace(W,((e,n,l)=>{if(l)return`<span style="color: slategray">${l}</span>`;if("<"===n)return"&lt;";let o;q[n]?o=q[n]:(o=G[t],q[n]=o);const a=`<span style="color: #${o}">${n}</span>`;return t=++t%G.length,a}))},K=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky"],Q=e=>Object.fromEntries(e.map(((e,t)=>[K[t],e])));var Y=Q(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","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","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky"]),Z=Q(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない"]),X=Q(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶"]),ee=Q(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎評論","來發評論吧~","提交","喜歡","取消喜歡","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名","潛水","冒泡","吐槽","活躍","話癆","傳說","表情包","搜索表情包","個人資料","通過","待審核","垃圾","取消置頂"]),te=Q(["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","Like","Cancel like","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","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky"]),ne=Q(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий"]);const le={zh:X,"zh-cn":X,"zh-CN":X,"zh-tw":ee,"zh-TW":ee,en:Y,"en-US":Y,"en-us":Y,jp:Z,"jp-jp":Z,"jp-JP":Z,"pt-br":te,"pt-BR":te,ru:ne,"ru-ru":ne,"ru-RU":ne};var oe;const ae="undefined"!=typeof window,re=()=>{};function ie(e){return"function"==typeof e?e():a(e)}function se(e,t){return function(...n){e((()=>t.apply(this,n)),{fn:t,thisArg:this,args:n})}}ae&&(null==(oe=null==window?void 0:window.navigator)?void 0:oe.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);const ce=e=>e();function ue(n){return!!e()&&(t(n),!0)}function me(e,t=200,n={}){return se(function(e,t={}){let n,l;return o=>{const a=ie(e),r=ie(t.maxWait);if(n&&clearTimeout(n),a<=0||void 0!==r&&r<=0)return l&&(clearTimeout(l),l=null),o();r&&!l&&(l=setTimeout((()=>{n&&clearTimeout(n),l=null,o()}),r)),n=setTimeout((()=>{l&&clearTimeout(l),l=null,o()}),a)}}(t,n),e)}var de=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable;function ge(e,t,n={}){const l=n,{eventFilter:o=ce}=l,a=((e,t)=>{var n={};for(var l in e)pe.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&de)for(var l of de(e))t.indexOf(l)<0&&ve.call(e,l)&&(n[l]=e[l]);return n})(l,["eventFilter"]);return s(e,se(o,t),a)}var fe=Object.defineProperty,he=Object.defineProperties,we=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ke=Object.prototype.propertyIsEnumerable,Ce=(e,t,n)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Ie(e,t,n={}){const l=n,{eventFilter:o}=l,a=((e,t)=>{var n={};for(var l in e)be.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&ye)for(var l of ye(e))t.indexOf(l)<0&&ke.call(e,l)&&(n[l]=e[l]);return n})(l,["eventFilter"]),{eventFilter:i,pause:s,resume:c,isActive:u}=function(e=ce){const t=r(!0);return{isActive:t,pause:function(){t.value=!1},resume:function(){t.value=!0},eventFilter:(...n)=>{t.value&&e(...n)}}}(o),m=ge(e,t,(d=((e,t)=>{for(var n in t||(t={}))be.call(t,n)&&Ce(e,n,t[n]);if(ye)for(var n of ye(t))ke.call(t,n)&&Ce(e,n,t[n]);return e})({},a),he(d,we({eventFilter:i}))));var d;return{stop:m,pause:s,resume:c,isActive:u}}const $e=ae?window:void 0,Le=ae?window.document:void 0;function je(...e){let t,n,l,o;if("string"==typeof e[0]?([n,l,o]=e,t=$e):[t,n,l,o]=e,!t)return re;let a=re;const r=s((()=>function(e){var t;const n=ie(e);return null!=(t=null==n?void 0:n.$el)?t:n}(t)),(e=>{a(),e&&(e.addEventListener(n,l,o),a=()=>{e.removeEventListener(n,l,o),a=re})}),{immediate:!0,flush:"post"}),i=()=>{r(),a()};return ue(i),i}ae&&window.navigator,ae&&window.location;const Se="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},xe="__vueuse_ssr_handlers__";Se[xe]=Se[xe]||{};const Re=Se[xe];var Ee=Object.defineProperty,Oe=Object.getOwnPropertySymbols,Ae=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,ze=(e,t,n)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Me=(e,t)=>{for(var n in t||(t={}))Ae.call(t,n)&&ze(e,n,t[n]);if(Oe)for(var n of Oe(t))Ue.call(t,n)&&ze(e,n,t[n]);return e};const Pe={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 Te(e,t,n,l={}){var o;const{flush:a="pre",deep:i=!0,listenToStorageChanges:s=!0,writeDefaults:c=!0,mergeDefaults:m=!1,shallow:d,window:p=$e,eventFilter:v,onError:g=(e=>{console.error(e)})}=l,f=(d?u:r)(t);if(!n)try{n=function(e,t){return Re[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=$e)?void 0:e.localStorage}))()}catch(e){g(e)}if(!n)return f;const h=ie(t),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!=(o=l.serializer)?o:Pe[w],{pause:b,resume:k}=Ie(f,(()=>function(t){try{null==t?n.removeItem(e):n.setItem(e,y.write(t))}catch(e){g(e)}}(f.value)),{flush:a,deep:i,eventFilter:v});return p&&s&&je(p,"storage",C),C(),f;function C(t){t&&t.key!==e||(f.value=function(t){if(!t||t.key===e){b();try{const l=t?t.newValue:n.getItem(e);if(null==l)return c&&null!==h&&n.setItem(e,y.write(h)),h;if(!t&&m){const e=y.read(l);return"function"==typeof m?m(e,h):"object"!==w||Array.isArray(e)?e:Me(Me({},h),e)}return"string"!=typeof l?l:y.read(l)}catch(e){g(e)}finally{k()}}}(t))}}var Ne,He,Be=Object.defineProperty,Ve=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable,De=(e,t,n)=>t in e?Be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function We(e={}){const{controls:t=!1,interval:n="requestAnimationFrame"}=e,l=r(new Date),o=()=>l.value=new Date,c="requestAnimationFrame"===n?function(e,t={}){const{immediate:n=!0,window:l=$e}=t,o=r(!1);let a=null;function i(){o.value&&l&&(e(),a=l.requestAnimationFrame(i))}function s(){!o.value&&l&&(o.value=!0,i())}function c(){o.value=!1,null!=a&&l&&(l.cancelAnimationFrame(a),a=null)}return n&&s(),ue(c),{isActive:o,pause:c,resume:s}}(o,{immediate:!0}):function(e,t=1e3,n={}){const{immediate:l=!0,immediateCallback:o=!1}=n;let c=null;const u=r(!1);function m(){c&&(clearInterval(c),c=null)}function d(){u.value=!1,m()}function p(){a(t)<=0||(u.value=!0,o&&e(),m(),c=setInterval(e,ie(t)))}l&&ae&&p(),i(t)&&ue(s(t,(()=>{u.value&&ae&&p()})));return ue(d),{isActive:u,pause:d,resume:p}}(o,n,{immediate:!0});return t?((e,t)=>{for(var n in t||(t={}))Fe.call(t,n)&&De(e,n,t[n]);if(Ve)for(var n of Ve(t))_e.call(t,n)&&De(e,n,t[n]);return e})({now:l},c):l}(He=Ne||(Ne={})).UP="UP",He.RIGHT="RIGHT",He.DOWN="DOWN",He.LEFT="LEFT",He.NONE="NONE";let Ge=0;function qe(e,t={}){const a=r(!1),{document:i=Le,immediate:u=!0,manual:m=!1,id:d="vueuse_styletag_"+ ++Ge}=t,p=r(e);let v=()=>{};const g=()=>{if(!i)return;const e=i.getElementById(d)||i.createElement("style");e.type="text/css",e.id=d,t.media&&(e.media=t.media),i.head.appendChild(e),a.value||(v=s(p,(t=>{e.innerText=t}),{immediate:!0}),a.value=!0)},f=()=>{i&&a.value&&(v(),i.head.removeChild(i.getElementById(d)),a.value=!1)};return u&&!m&&function(e,t=!0){n()?l(e):t?e():o(e)}(g),m||ue(f),{id:d,css:p,unload:f,load:g,isLoaded:c(a)}}var Je=Object.defineProperty,Ke=Object.getOwnPropertySymbols,Qe=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable,Ze=(e,t,n)=>t in e?Je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;((e,t)=>{for(var n in t||(t={}))Qe.call(t,n)&&Ze(e,n,t[n]);if(Ke)for(var n of Ke(t))Ye.call(t,n)&&Ze(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});const Xe=e=>{try{e=decodeURI(e)}catch(e){}return e},et=(e="")=>e.replace(/\/$/u,""),tt=e=>/^(https?:)?\/\//.test(e),nt=e=>{const t=et(e);return tt(t)?t:`https://${t}`},lt=e=>Array.isArray(e)?e:!!e&&[0,e],ot=(e,t)=>"function"==typeof e?e:!1!==e&&t,at="{--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}",rt=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},it=(e,t,n)=>{if(!e)return"";const l="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,o=t.getTime()-l.getTime(),a=Math.floor(o/864e5);if(0===a){const e=o%864e5,t=Math.floor(e/36e5);if(0===t){const t=e%36e5,l=Math.floor(t/6e4);if(0===l){const e=t%6e4;return`${Math.round(e/1e3)} ${n.seconds}`}return`${l} ${n.minutes}`}return`${t} ${n.hours}`}return a<0?n.now:a<8?`${a} ${n.days}`:(e=>{const t=rt(e.getDate(),2),n=rt(e.getMonth()+1,2);return`${rt(e.getFullYear(),2)}-${n}-${t}`})(l)},st=e=>{const t=Te("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const n=t.value[e];if(n)return Promise.resolve(n)}return fetch(`${e}/info.json`).then((e=>e.json())).then((l=>{const o={folder:e,...l};return n&&(t.value[e]=o),o}))},ct=(e,t="",n="",l="")=>`${t?`${t}/`:""}${n}${e}${l?`.${l}`:""}`,ut=e=>{"AbortError"!==e.name&&console.error(e.message)},mt={"Content-Type":"application/json"},dt=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},pt=({serverURL:e,lang:t,token:n,objectId:l,...o})=>fetch(`${e}/comment/${l}?lang=${t}`,{method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(o)}).then((e=>e.json())),vt=({serverURL:e,lang:t,paths:n,signal:l})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&lang=${t}`,{signal:l}).then((e=>e.json())).then((e=>dt(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),gt=({serverURL:e,lang:t,path:n})=>fetch(`${e}/article?lang=${t}`,{method:"POST",headers:mt,body:JSON.stringify({path:n})}).then((e=>e.json())).then((e=>dt(e,"visit count"))),ft=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,ht=e=>e.type.includes("image"),wt=e=>{const t=Array.from(e).find(ht);return t?t.getAsFile():null},yt=/\$.*?\$/,bt=/^\$(.*?)\$/,kt=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,Ct=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),It=(e,{emojiMap:t,highlighter:n,texRenderer:l})=>{if(H.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),l){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=kt.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(yt);return-1!==t?t:e.length},tokenizer(t){const n=bt.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(l);H.use({extensions:e})}return H.parse(Ct(e,t))},$t=e=>e.dataset.path||e.getAttribute("id");let Lt=null;const jt=()=>Lt||(Lt=Te("WALINE_USER",{}));let St=null;const xt=()=>St||(St=Te("WALINE_LIKE",[])),Rt=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count",lang:l="zh-CN"})=>{const o=new AbortController,a=document.querySelectorAll(n),r=jt();return a.length&&(({serverURL:e,lang:t,paths:n,signal:l,token:o})=>{const a={};return o&&(a.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=${t}`,{signal:l,headers:a}).then((e=>e.json())).then((e=>dt(e,"comment count"))).then((e=>Array.isArray(e)?e:[e]))})({serverURL:nt(e),paths:Array.from(a).map((e=>Xe(e.dataset.path||e.getAttribute("id")||t))),lang:l,signal:o.signal,token:r.value?.token}).then((e=>{a.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(ut),o.abort.bind(o)},Et=({size:e})=>d("svg",{width:e,height:e,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},d("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},d("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})));var Ot=p({name:"ImageWall",components:{LoadingIcon:Et},props:{items:{type:Array,default:()=>[]},columnWidth:{type:Number,default:300},gap:{type:Number,default:0}},emits:["insert"],setup(e){let t=null;const n=r(null),a=r({}),i=r([]),c=()=>{const t=Math.floor((n.value.getBoundingClientRect().width+e.gap)/(e.columnWidth+e.gap));return t>0?t:1},u=async t=>{if(t>=e.items.length)return;await o();const l=Array.from(n.value?.children||[]).reduce(((e,t)=>t.getBoundingClientRect().height<e.getBoundingClientRect().height?t:e));i.value[Number(l.dataset.index)].push(t),await u(t+1)},m=async(e=!1)=>{if(i.value.length===c()&&!e)return;var t;i.value=(t=c(),new Array(t).fill(null).map((()=>[])));const n=window.scrollY;await u(0),window.scrollTo({top:n})};return s((()=>[e.items]),(()=>{a.value={},m(!0)})),s((()=>[e.columnWidth,e.gap]),(()=>m())),l((()=>{m(!0),t=new ResizeObserver((()=>m())),t.observe(n.value)})),v((()=>t.unobserve(n.value))),{columns:i,state:a,wall:n}}}),At=(e,t)=>{const n=e.__vccOpts||e;for(const[e,l]of t)n[e]=l;return n};const Ut=["data-index"],zt=["src","title","onLoad","onClick"];var Mt=p({name:"CommentBox",components:{CloseIcon:({size:e})=>d("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:e,height:e},[d("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"}),d("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:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},d("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:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[d("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"}),d("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"})]),ImageWall:At(Ot,[["render",function(e,t,n,l,o,a){const r=g("LoadingIcon");return f(),h("div",{ref:"wall",class:"wl-gallery",style:w({gap:`${e.gap}px`})},[(f(!0),h(y,null,b(e.columns,((t,n)=>(f(),h("div",{key:n,class:"wl-gallery-column","data-index":n,style:w({gap:`${e.gap}px`})},[(f(!0),h(y,null,b(t,(t=>(f(),h(y,{key:t},[e.state[e.items[t].src]?C("v-if",!0):(f(),k(r,{key:0,size:36,style:{margin:"20px auto"}})),I("img",{class:"wl-gallery-item",src:e.items[t].src,title:e.items[t].title,loading:"lazy",onLoad:n=>e.state[e.items[t].src]=!0,onClick:n=>e.$emit("insert",`![](${e.items[t].src})`)},null,40,zt)],64)))),128))],12,Ut)))),128))],4)}],["__file","ImageWall.vue"]]),MarkdownIcon:()=>d("svg",{width:"16",height:"16",ariaHidden:"true"},d("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:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[d("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"}),d("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,GifIcon:()=>d("svg",{width:24,height:24,fill:"currentcolor",viewBox:"0 0 24 24"},[d("path",{style:"transform: translateY(0.5px)",d:"M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z"}),d("path",{d:"M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z"})])},props:{rootId:{type:String,default:""},replyId:{type:String,default:""},replyUser:{type:String,default:""}},emits:["submit","cancel-reply"],setup(e,{emit:t}){const n=$("config"),o=Te("WALINE_COMMENT_BOX_EDITOR",""),a=Te("WALINE_USER_META",{nick:"",mail:"",link:""}),i=jt(),c=r({}),u=r(null),d=r(null),p=r(null),v=r(null),g=r(null),f=r(null),h=r(null),w=r({tabs:[],map:{}}),y=r(0),b=r(!1),k=r(!1),C=r(!1),I=r(""),S=r(0),x=L({loading:!0,list:[]}),R=r(0),E=r(!1),O=r(""),A=r(!1),U=m((()=>n.value.locale)),z=m((()=>Boolean(i.value?.token))),M=m((()=>!1!==n.value.imageUploader)),P=e=>{const t=u.value,n=t.selectionStart,l=t.selectionEnd||0,a=t.scrollTop;o.value=t.value.substring(0,n)+e+t.value.substring(l,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=a},T=e=>{const t=`![${n.value.locale.uploading} ${e.name}]()`;return P(t),Promise.resolve().then((()=>n.value.imageUploader(e))).then((n=>{o.value=o.value.replace(t,`\r\n![${e.name}](${n})`)})).catch((e=>{alert(e.message),o.value=o.value.replace(t,"")}))},H=()=>{const{serverURL:l,lang:r,login:s,wordLimit:m,requiredMeta:d}=n.value,p={comment:O.value,nick:a.value.nick,mail:a.value.mail,link:a.value.link,ua:navigator.userAgent,url:n.value.path};if(i.value?.token)p.nick=i.value.display_name,p.mail=i.value.email,p.link=i.value.url;else{if("force"===s)return;if(d.indexOf("nick")>-1&&!p.nick)return c.value.nick?.focus(),alert(U.value.nickError);if(d.indexOf("mail")>-1&&!p.mail||p.mail&&!/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)*\w+$/.exec(p.mail))return c.value.mail?.focus(),alert(U.value.mailError);if(!p.comment)return void u.value?.focus();p.nick||(p.nick=U.value.anonymous)}if(!E.value)return alert(U.value.wordHint.replace("$0",m[0].toString()).replace("$1",m[1].toString()).replace("$2",S.value.toString()));p.comment=Ct(p.comment,w.value.map),e.replyId&&e.rootId&&(p.pid=e.replyId,p.rid=e.rootId,p.at=e.replyUser),A.value=!0,(({serverURL:e,lang:t,token:n,comment:l})=>{const o={"Content-Type":"application/json"};return n&&(o.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:o,body:JSON.stringify(l)}).then((e=>e.json()))})({serverURL:l,lang:r,token:i.value?.token,comment:p}).then((n=>{if(A.value=!1,n.errmsg)return alert(n.errmsg);t("submit",n.data),o.value="",I.value="",e.replyId&&t("cancel-reply")})).catch((e=>{A.value=!1,alert(e.message)}))},B=e=>{p.value.contains(e.target)||v.value.contains(e.target)||(b.value=!1),g.value.contains(e.target)||f.value.contains(e.target)||(k.value=!1)},V=async e=>{const{scrollTop:t,clientHeight:l,scrollHeight:o}=e.target,a=(l+t)/o,r=n.value.search,i=h.value?.value||"";a<.9||x.loading||(x.loading=!0,x.list.push(...r.more?await r.more(i,x.list.length):await r.search(i)),x.loading=!1,setTimeout((()=>{e.target.scrollTop=t}),50))},F=me((e=>{x.list=[],V(e)}),300);s([n,S],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(R.value=n[0],E.value=!1):t>n[1]?(R.value=n[1],E.value=!1):(R.value=n[1],E.value=!0):(R.value=0,E.value=!0)}),{immediate:!0}),s(k,(async e=>{if(!e)return;const t=n.value.search;h.value&&(h.value.value=""),x.loading=!0,x.list=t.default?await t.default():await t.search(""),x.loading=!1}));const _=({data:e})=>{e&&"profile"===e.type&&(i.value={...i.value,...e.data},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(i)))))};return l((()=>{document.body.addEventListener("click",B),window.addEventListener("message",_),s((()=>o.value),(e=>{const{highlighter:t,texRenderer:l}=n.value;O.value=e,I.value=It(e,{emojiMap:w.value.map,highlighter:t,texRenderer:l}),S.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?N(u.value):N.destroy(u.value)}),{immediate:!0}),s((()=>n.value.emoji),(e=>{return(t=Array.isArray(e)?e:[],Promise.all(t.map((e=>"string"==typeof e?st(et(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:l,icon:o,prefix:a,type:r,items:i}=e;t.tabs.push({name:n,icon:ct(o,l,a,r),items:i.map((e=>{const n=`${a||""}${e}`;return t.map[n]=ct(e,l,a,r),n}))})})),t}))).then((e=>{w.value=e}));var t}),{immediate:!0})})),j((()=>{document.body.removeEventListener("click",B),window.removeEventListener("message",_)})),{config:n,locale:U,insert:P,onChange:()=>{const e=d.value;e.files&&M.value&&T(e.files[0]).then((()=>{e.value=""}))},onDrop:e=>{if(e.dataTransfer?.items){const t=wt(e.dataTransfer.items);t&&M.value&&(T(t),e.preventDefault())}},onKeyDown:e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&H()},onPaste:e=>{if(e.clipboardData){const t=wt(e.clipboardData.items);t&&M.value&&T(t)}},onLogin:e=>{e.preventDefault();const{lang:t,serverURL:l}=n.value,o=(window.innerWidth-450)/2,a=(window.innerHeight-450)/2,r=window.open(`${l}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${o},top=${a},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);r?.postMessage({type:"TOKEN",data:null},"*");const s=({data:e})=>{e&&"userInfo"===e.type&&e.data.token&&(r?.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:l}=n.value,o=(window.innerWidth-800)/2,a=(window.innerHeight-800)/2;window.open(`${l}/ui/profile?lng=${encodeURIComponent(t)}`,"_blank",`width=800,height=800,left=${o},top=${a},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`)?.postMessage({type:"TOKEN",data:i.value.token},"*")},submitComment:H,onImageWallScroll:V,onGifSearch:F,isLogin:z,userInfo:i,isSubmitting:A,wordNumber:S,wordLimit:R,isWordNumberLegal:E,editor:o,userMeta:a,emoji:w,emojiTabIndex:y,showEmoji:b,gifData:x,showGif:k,canUploadImage:M,previewText:I,showPreview:C,inputRefs:c,editorRef:u,emojiButtonRef:p,emojiPopupRef:v,gifButtonRef:g,gifPopupRef:f,imageUploadRef:d,gifSearchInputRef:h}}});const Pt={class:"wl-comment"},Tt={key:0,class:"wl-login-info"},Nt={class:"wl-avatar"},Ht=["title"],Bt=["title"],Vt=["src"],Ft=["title","textContent"],_t={class:"wl-panel"},Dt=["for","textContent"],Wt=["id","onUpdate:modelValue","name","type"],Gt=["placeholder"],qt={class:"wl-preview"},Jt=I("hr",null,null,-1),Kt=["innerHTML"],Qt={class:"wl-footer"},Yt={class:"wl-actions"},Zt={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noreferrer"},Xt=["title"],en=["title"],tn=["title"],nn=["title"],ln={class:"wl-info"},on={class:"wl-text-number"},an={key:0},rn=z("  /  "),sn=["textContent"],cn=["textContent"],un=["disabled"],mn=["placeholder"],dn={key:0,class:"wl-loading"},pn={key:0,class:"wl-tab-wrapper"},vn=["title","onClick"],gn=["src","alt"],fn={key:0,class:"wl-tabs"},hn=["onClick"],wn=["src","alt","title"],yn=["title"];var bn=At(Mt,[["render",function(e,t,n,l,o,a){const r=g("CloseIcon"),i=g("MarkdownIcon"),s=g("EmojiIcon"),c=g("GifIcon"),u=g("ImageIcon"),m=g("PreviewIcon"),d=g("LoadingIcon"),p=g("ImageWall");return f(),h("div",Pt,["disable"!==e.config.login&&e.isLogin?(f(),h("div",Tt,[I("div",Nt,[I("button",{class:"wl-logout-btn",title:e.locale.logout,onClick:t[0]||(t[0]=(...t)=>e.onLogout&&e.onLogout(...t))},[S(r,{size:14})],8,Ht),I("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:e.locale.profile,onClick:t[1]||(t[1]=(...t)=>e.onProfile&&e.onProfile(...t))},[I("img",{src:e.userInfo.avatar,alt:"avatar"},null,8,Vt)],8,Bt)]),I("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:e.locale.profile,onClick:t[2]||(t[2]=(...t)=>e.onProfile&&e.onProfile(...t)),textContent:x(e.userInfo.display_name)},null,8,Ft)])):C("v-if",!0),I("div",_t,["force"!==e.config.login&&e.config.meta.length&&!e.isLogin?(f(),h("div",{key:0,class:R(["wl-header",`item${e.config.meta.length}`])},[(f(!0),h(y,null,b(e.config.meta,(t=>(f(),h("div",{key:t,class:"wl-header-item"},[I("label",{for:t,textContent:x(e.locale[t]+(e.config.requiredMeta.includes(t)||!e.config.requiredMeta.length?"":`(${e.locale.optional})`))},null,8,Dt),E(I("input",{id:`wl-${t}`,ref_for:!0,ref:n=>{n&&(e.inputRefs[t]=n)},"onUpdate:modelValue":n=>e.userMeta[t]=n,class:R(["wl-input",`wl-${t}`]),name:t,type:"mail"===t?"email":"text"},null,10,Wt),[[O,e.userMeta[t]]])])))),128))],2)):C("v-if",!0),E(I("textarea",{id:"wl-edit",ref:"editorRef","onUpdate:modelValue":t[3]||(t[3]=t=>e.editor=t),class:"wl-editor",placeholder:e.replyUser?`@${e.replyUser}`:e.locale.placeholder,onKeydown:t[4]||(t[4]=(...t)=>e.onKeyDown&&e.onKeyDown(...t)),onDrop:t[5]||(t[5]=(...t)=>e.onDrop&&e.onDrop(...t)),onPaste:t[6]||(t[6]=(...t)=>e.onPaste&&e.onPaste(...t))},null,40,Gt),[[A,e.editor]]),E(I("div",qt,[Jt,I("h4",null,x(e.locale.preview)+":",1),C(" eslint-disable-next-line vue/no-v-html "),I("div",{class:"wl-content",innerHTML:e.previewText},null,8,Kt)],512),[[U,e.showPreview]]),I("div",Qt,[I("div",Yt,[I("a",Zt,[S(i)]),E(I("button",{ref:"emojiButtonRef",class:R(["wl-action",{actived:e.showEmoji}]),title:e.locale.emoji,onClick:t[7]||(t[7]=t=>e.showEmoji=!e.showEmoji)},[S(s)],10,Xt),[[U,e.emoji.tabs.length]]),e.config.search?(f(),h("button",{key:0,ref:"gifButtonRef",class:R(["wl-action",{actived:e.showGif}]),title:e.locale.gif,onClick:t[8]||(t[8]=t=>e.showGif=!e.showGif)},[S(c)],10,en)):C("v-if",!0),I("input",{id:"wl-image-upload",ref:"imageUploadRef",class:"upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:t[9]||(t[9]=(...t)=>e.onChange&&e.onChange(...t))},null,544),e.canUploadImage?(f(),h("label",{key:1,for:"wl-image-upload",class:"wl-action",title:e.locale.uploadImage},[S(u)],8,tn)):C("v-if",!0),I("button",{class:R(["wl-action",{actived:e.showPreview}]),title:e.locale.preview,onClick:t[10]||(t[10]=t=>e.showPreview=!e.showPreview)},[S(m)],10,nn)]),I("div",ln,[I("div",on,[z(x(e.wordNumber)+" ",1),e.config.wordLimit?(f(),h("span",an,[rn,I("span",{class:R({illegal:!e.isWordNumberLegal}),textContent:x(e.wordLimit)},null,10,sn)])):C("v-if",!0),z("  "+x(e.locale.word),1)]),"disable"===e.config.login||e.isLogin?C("v-if",!0):(f(),h("button",{key:0,class:"wl-btn",onClick:t[11]||(t[11]=(...t)=>e.onLogin&&e.onLogin(...t)),textContent:x(e.locale.login)},null,8,cn)),"force"!==e.config.login||e.isLogin?(f(),h("button",{key:1,class:"wl-btn primary",title:"Cmd|Ctrl + Enter",disabled:e.isSubmitting,onClick:t[12]||(t[12]=(...t)=>e.submitComment&&e.submitComment(...t))},[e.isSubmitting?(f(),k(d,{key:0,size:16})):(f(),h(y,{key:1},[z(x(e.locale.submit),1)],64))],8,un)):C("v-if",!0)]),I("div",{ref:"gifPopupRef",class:R(["wl-gif-popup",{display:e.showGif}])},[I("input",{ref:"gifSearchInputRef",type:"text",placeholder:e.locale.gifSearchPlaceholder,onInput:t[13]||(t[13]=(...t)=>e.onGifSearch&&e.onGifSearch(...t))},null,40,mn),S(p,{items:e.gifData.list,"column-width":200,gap:6,onInsert:t[14]||(t[14]=t=>e.insert(t)),onScroll:e.onImageWallScroll},null,8,["items","onScroll"]),e.gifData.loading?(f(),h("div",dn,[S(d,{size:30})])):C("v-if",!0)],2),I("div",{ref:"emojiPopupRef",class:R(["wl-emoji-popup",{display:e.showEmoji}])},[(f(!0),h(y,null,b(e.emoji.tabs,((t,n)=>(f(),h(y,{key:t.name},[n===e.emojiTabIndex?(f(),h("div",pn,[(f(!0),h(y,null,b(t.items,(t=>(f(),h("button",{key:t,title:t,onClick:n=>e.insert(`:${t}:`)},[e.showEmoji?(f(),h("img",{key:0,class:"wl-emoji",src:e.emoji.map[t],alt:t,loading:"lazy",referrerPolicy:"no-referrer"},null,8,gn)):C("v-if",!0)],8,vn)))),128))])):C("v-if",!0)],64)))),128)),e.emoji.tabs.length>1?(f(),h("div",fn,[(f(!0),h(y,null,b(e.emoji.tabs,((t,n)=>(f(),h("button",{key:t.name,class:R(["wl-tab",{active:e.emojiTabIndex===n}]),onClick:t=>e.emojiTabIndex=n},[I("img",{class:"wl-emoji",src:t.icon,alt:t.name,title:t.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,wn)],10,hn)))),128))])):C("v-if",!0)],2)])]),e.replyId?(f(),h("button",{key:1,class:"wl-close",title:e.locale.cancelReply,onClick:t[15]||(t[15]=t=>e.$emit("cancel-reply"))},[S(r,{size:24})],8,yn)):C("v-if",!0)])}],["__file","CommentBox.vue"]]);const kn=["approved","waiting","spam"];var Cn=p({components:{CommentBox:bn,DeleteIcon:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},d("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),LikeIcon:({active:e=!1})=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[d("path",{d:"M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z"+(e?"":"M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"),fill:e?"red":"currentColor"})]),ReplyIcon:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},d("path",{d:"M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z",fill:"currentColor"})),VerifiedIcon:()=>d("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},d("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"}))},props:{comment:{type:Object,required:!0},rootId:{type:String,required:!0},reply:{type:Object,default:null}},emits:["submit","reply","like","delete","status","sticky"],setup(e){const t=$("config"),n=xt(),l=jt(),o=m((()=>t.value.locale)),a=m((()=>{const{link:t}=e.comment;return t?tt(t)?t:`https://${t}`:""})),r=m((()=>n.value.includes(e.comment.objectId))),i=((e,t)=>{const n=We();return m((()=>it(e,n.value,t)))})(e.comment.insertedAt,o.value),s=m((()=>"administrator"===l.value.type)),c=m((()=>e.comment.user_id&&l.value.objectId===e.comment.user_id)),u=m((()=>e.comment.objectId===e.reply?.objectId));return{config:t,locale:o,isReplyingCurrent:u,link:a,like:r,time:i,isAdmin:s,isOwner:c,commentStatus:kn}}});const In=["id"],$n={class:"wl-user","aria-hidden":"true"},Ln=["src"],jn={class:"wl-card"},Sn={class:"wl-head"},xn=["href"],Rn={key:1,class:"wl-nick"},En=["textContent"],On=["textContent"],An=["textContent"],Un=["textContent"],zn=["textContent"],Mn={class:"wl-comment-actions"},Pn=["title"],Tn=["textContent"],Nn=["title"],Hn={class:"wl-meta","aria-hidden":"true"},Bn=["textContent"],Vn=["textContent"],Fn=["textContent"],_n=["innerHTML"],Dn={key:0,class:"wl-admin-actions"},Wn={class:"wl-comment-status"},Gn=["disabled","onClick","textContent"],qn={key:1,class:"wl-reply-wrapper"},Jn={key:2,class:"wl-quote"};var Kn=p({name:"WalineRoot",components:{CommentBox:bn,CommentCard:At(Cn,[["render",function(e,t,n,l,o,a){const r=g("VerifiedIcon"),i=g("DeleteIcon"),s=g("LikeIcon"),c=g("ReplyIcon"),u=g("CommentBox"),m=g("CommentCard",!0);return f(),h("div",{id:e.comment.objectId,class:"wl-item"},[I("div",$n,[e.comment.avatar?(f(),h("img",{key:0,src:e.comment.avatar},null,8,Ln)):C("v-if",!0),e.comment.type?(f(),k(r,{key:1})):C("v-if",!0)]),I("div",jn,[I("div",Sn,[e.link?(f(),h("a",{key:0,class:"wl-nick",href:e.link,target:"_blank",rel:"nofollow noreferrer"},x(e.comment.nick),9,xn)):(f(),h("span",Rn,x(e.comment.nick),1)),"administrator"===e.comment.type?(f(),h("span",{key:2,class:"wl-badge",textContent:x(e.locale.admin)},null,8,En)):C("v-if",!0),e.comment.label?(f(),h("span",{key:3,class:"wl-badge",textContent:x(e.comment.label)},null,8,On)):C("v-if",!0),e.comment.sticky?(f(),h("span",{key:4,class:"wl-badge",textContent:x(e.locale.sticky)},null,8,An)):C("v-if",!0),void 0!==e.comment.level&&e.comment.level>=0?(f(),h("span",{key:5,class:R(`wl-badge level${e.comment.level}`),textContent:x(e.locale[`level${e.comment.level}`]||`Level ${e.comment.level}`)},null,10,Un)):C("v-if",!0),I("span",{class:"wl-time",textContent:x(e.time)},null,8,zn),I("div",Mn,[e.isAdmin||e.isOwner?(f(),h("button",{key:0,class:"wl-delete",onClick:t[0]||(t[0]=t=>e.$emit("delete",e.comment))},[S(i)])):C("v-if",!0),I("button",{class:"wl-like",title:e.like?e.locale.cancelLike:e.locale.like,onClick:t[1]||(t[1]=t=>e.$emit("like",e.comment))},[S(s,{active:e.like},null,8,["active"]),"like"in e.comment?(f(),h("span",{key:0,textContent:x(e.comment.like)},null,8,Tn)):C("v-if",!0)],8,Pn),I("button",{class:R(["wl-reply",{active:e.isReplyingCurrent}]),title:e.isReplyingCurrent?e.locale.cancelReply:e.locale.reply,onClick:t[2]||(t[2]=t=>e.$emit("reply",e.isReplyingCurrent?null:e.comment))},[S(c)],10,Nn)])]),I("div",Hn,[e.comment.addr?(f(),h("span",{key:0,textContent:x(e.comment.addr)},null,8,Bn)):C("v-if",!0),e.comment.browser?(f(),h("span",{key:1,textContent:x(e.comment.browser)},null,8,Vn)):C("v-if",!0),e.comment.os?(f(),h("span",{key:2,textContent:x(e.comment.os)},null,8,Fn)):C("v-if",!0)]),C(" eslint-disable-next-line vue/no-v-html "),I("div",{class:"wl-content",innerHTML:e.comment.comment},null,8,_n),e.isAdmin?(f(),h("div",Dn,[I("span",Wn,[(f(!0),h(y,null,b(e.commentStatus,(t=>(f(),h("button",{key:t,class:R(`wl-btn wl-${t}`),disabled:e.comment.status===t,onClick:n=>e.$emit("status",{status:t,comment:e.comment}),textContent:x(e.locale[t])},null,10,Gn)))),128))]),e.isAdmin&&!e.comment.rid?(f(),h("button",{key:0,class:"wl-btn wl-sticky",onClick:t[3]||(t[3]=t=>e.$emit("sticky",e.comment))},x(e.comment.sticky?e.locale.unsticky:e.locale.sticky),1)):C("v-if",!0)])):C("v-if",!0),e.isReplyingCurrent?(f(),h("div",qn,[S(u,{"reply-id":e.comment.objectId,"reply-user":e.comment.nick,"root-id":e.rootId,onSubmit:t[4]||(t[4]=t=>e.$emit("submit",t)),onCancelReply:t[5]||(t[5]=t=>e.$emit("reply",null))},null,8,["reply-id","reply-user","root-id"])])):C("v-if",!0),e.comment.children?(f(),h("div",Jn,[(f(!0),h(y,null,b(e.comment.children,(n=>(f(),k(m,{key:n.objectId,comment:n,reply:e.reply,"root-id":e.rootId,onReply:t[6]||(t[6]=t=>e.$emit("reply",t)),onSubmit:t[7]||(t[7]=t=>e.$emit("submit",t)),onLike:t[8]||(t[8]=t=>e.$emit("like",t)),onDelete:t[9]||(t[9]=t=>e.$emit("delete",t)),onStatus:t[10]||(t[10]=t=>e.$emit("status",t)),onSticky:t[11]||(t[11]=t=>e.$emit("sticky",t))},null,8,["comment","reply","root-id"])))),128))])):C("v-if",!0)])],8,In)}],["__file","CommentCard.vue"]]),LoadingIcon:Et},props:["serverURL","path","meta","requiredMeta","dark","lang","locale","pageSize","wordLimit","emoji","login","highlighter","texRenderer","imageUploader","search","copyright"],setup(e){const t=m((()=>(({serverURL:e,path:t=location.pathname,lang:n="zh-CN",locale:l,emoji:o=["//unpkg.com/@waline/emojis@1.0.1/weibo"],meta:a=["nick","mail","link"],requiredMeta:r=[],dark:i=!1,pageSize:s=10,wordLimit:c,imageUploader:u,highlighter:m,texRenderer:d,copyright:p=!0,login:v="enable",search:g=D(),...f})=>({serverURL:nt(e),path:Xe(t),locale:{...le[n]||le["zh-CN"],..."object"==typeof l?l:{}},wordLimit:lt(c),meta:V(a),requiredMeta:V(r),imageUploader:ot(u,F),highlighter:ot(m,J),texRenderer:ot(d,_),lang:n,dark:i,emoji:o,pageSize:s,login:v,copyright:p,search:g,...f}))(e))),n=jt(),o=xt(),a=r("loading"),i=r(0),c=r(1),u=r(0),d=r([]),p=r(null),v=m((()=>{return"string"==typeof(e=t.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${at}}`:`${e}${at}`:!0===e?`:root${at}`:"";var e}));let g;qe(v);const f=e=>{const{serverURL:l,path:o,pageSize:r}=t.value,s=new AbortController;a.value="loading",g?.(),(({serverURL:e,lang:t,path:n,page:l,pageSize:o,signal:a,token:r})=>{const i={};return r&&(i.Authorization=`Bearer ${r}`),fetch(`${e}/comment?path=${encodeURIComponent(n)}&pageSize=${o}&page=${l}&lang=${t}`,{signal:a,headers:i}).then((e=>e.json())).then((e=>dt(e,"comment list")))})({serverURL:l,lang:t.value.lang,path:o,pageSize:r,page:e,signal:s.signal,token:n.value?.token}).then((t=>{a.value="success",i.value=t.count,d.value.push(...t.data),c.value=e,u.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),a.value="error")})),g=s.abort.bind(s)},h=()=>{i.value=0,d.value=[],f(1)};return M("config",t),s((()=>e.path),h),l((()=>h())),{config:t,darkmodeStyle:v,i18n:m((()=>t.value.locale)),status:a,count:i,page:c,totalPages:u,data:d,reply:p,loadMore:()=>f(c.value+1),refresh:h,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)},onStatusChange:async({comment:e,status:l})=>{if(e.status===l)return;const{serverURL:o,lang:a}=t.value;await pt({serverURL:o,lang:a,token:n.value?.token,objectId:e.objectId,status:l}),e.status=l},onDelete:async({objectId:e})=>{if(!confirm("Are you sure you want to delete this comment?"))return;const{serverURL:l,lang:o}=t.value;await(({serverURL:e,lang:t,token:n,objectId:l})=>fetch(`${e}/comment/${l}?lang=${t}`,{method:"DELETE",headers:{Authorization:`Bearer ${n}`}}).then((e=>e.json())))({serverURL:l,lang:o,token:n.value?.token,objectId:e}),d.value.some(((t,n)=>t.objectId===e?(d.value=d.value.filter(((e,t)=>t!==n)),!0):t.children.some(((l,o)=>l.objectId===e&&(d.value[n].children=t.children.filter(((e,t)=>t!==o)),!0)))))},onSticky:async e=>{if(e.rid)return;const{serverURL:l,lang:o}=t.value;await pt({serverURL:l,lang:o,token:n.value?.token,objectId:e.objectId,sticky:e.sticky?0:1}),e.sticky=!e.sticky},onLike:async e=>{const{serverURL:n,lang:l}=t.value,{objectId:a}=e,r=o.value.includes(a);await(({serverURL:e,lang:t,objectId:n,like:l})=>fetch(`${e}/comment/${n}?lang=${t}`,{method:"PUT",headers:mt,body:JSON.stringify({like:l})}).then((e=>e.json())))({serverURL:n,lang:l,objectId:a,like:!r}),r?o.value=o.value.filter((e=>e!==a)):(o.value=[...o.value,a],o.value.length>50&&(o.value=o.value.slice(-50))),e.like=(e.like||0)+(r?-1:1)},version:"2.6.3"}}});const Qn={"data-waline":""},Yn={class:"wl-count"},Zn=["textContent"],Xn={class:"wl-cards"},el={key:1,class:"wl-operation"},tl=["textContent"],nl={key:0,class:"wl-loading"},ll=["textContent"],ol={class:"wl-operation"},al=["textContent"],rl={key:3,class:"wl-power"},il=z(" Powered by "),sl=I("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noreferrer"}," Waline ",-1);var cl=At(Kn,[["render",function(e,t,n,l,o,a){const r=g("CommentBox"),i=g("CommentCard"),s=g("LoadingIcon");return f(),h("div",Qn,[e.reply?C("v-if",!0):(f(),k(r,{key:0,onSubmit:e.onSubmit},null,8,["onSubmit"])),I("div",Yn,[e.count?(f(),h("span",{key:0,class:"wl-num",textContent:x(e.count)},null,8,Zn)):C("v-if",!0),z(" "+x(e.i18n.comment),1)]),I("div",Xn,[(f(!0),h(y,null,b(e.data,(t=>(f(),k(i,{key:t.objectId,"root-id":t.objectId,comment:t,reply:e.reply,onReply:e.onReply,onSubmit:e.onSubmit,onStatus:e.onStatusChange,onDelete:e.onDelete,onSticky:e.onSticky,onLike:e.onLike},null,8,["root-id","comment","reply","onReply","onSubmit","onStatus","onDelete","onSticky","onLike"])))),128))]),"error"===e.status?(f(),h("div",el,[I("button",{type:"button",class:"wl-btn",onClick:t[0]||(t[0]=(...t)=>e.refresh&&e.refresh(...t)),textContent:x(e.i18n.refresh)},null,8,tl)])):(f(),h(y,{key:2},["loading"===e.status?(f(),h("div",nl,[S(s,{size:30})])):e.data.length?e.page<e.totalPages?(f(),h(y,{key:2},[C(" Load more button "),I("div",ol,[I("button",{type:"button",class:"wl-btn",onClick:t[1]||(t[1]=(...t)=>e.loadMore&&e.loadMore(...t)),textContent:x(e.i18n.more)},null,8,al)])],2112)):C("v-if",!0):(f(),h("div",{key:1,class:"wl-empty",textContent:x(e.i18n.sofa)},null,8,ll))],64)),C(" Copyright Information "),e.config.copyright?(f(),h("div",rl,[il,sl,z(" v"+x(e.version),1)])):C("v-if",!0)])}],["__file","Waline.vue"]]);const ul=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},ml=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:l=!0,lang:o="zh-CN"})=>{const a=new AbortController,r=Array.from(document.querySelectorAll(n)),i=e=>{const n=$t(e);return null!==n&&t!==n},s=n=>vt({serverURL:nt(e),paths:n.map((e=>$t(e)||t)),lang:o,signal:a.signal}).then((e=>ul(e,n))).catch(ut);if(l){const n=r.filter((e=>!i(e))),l=r.filter(i);gt({serverURL:nt(e),path:t,lang:o}).then((e=>ul(new Array(n.length).fill(e),n))),l.length&&s(l)}else s(r);return a.abort.bind(a)},dl=({el:e="#waline",path:t=window.location.pathname,comment:n=!1,pageview:l=!1,...o})=>{const a=e?ft(e):null;if(e&&!a)throw new Error("Option 'el' do not match any domElement!");if(!o.serverURL)throw new Error("Option 'serverURL' is missing!");const r=L({...o}),i=L({comment:n,pageview:l,path:t}),s=a?P((()=>d(cl,{path:i.path,...r}))):null;s&&s.mount(a);const c=T((()=>{i.comment&&Rt({serverURL:r.serverURL,path:i.path,selector:"string"==typeof i.comment?i.comment:void 0})})),u=T((()=>{i.pageview&&ml({serverURL:r.serverURL,path:i.path,selector:"string"==typeof i.pageview?i.pageview:void 0})}));return{el:a,update:({comment:e,pageview:t,path:n=window.location.pathname,...l}={})=>{Object.entries(l).forEach((([e,t])=>{r[e]=t})),i.path=n,void 0!==e&&(i.comment=e),void 0!==t&&(i.pageview=t)},destroy:()=>{s?.unmount(),c(),u()}}},pl="2.6.3",vl=({el:e,serverURL:t,count:n,lang:l="zh-CN"})=>{const o=jt(),a=ft(e),r=new AbortController;return(({serverURL:e,lang:t,count:n,signal:l,token:o})=>{const a={};return o&&(a.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=recent&count=${n}&lang=${t}`,{signal:l,headers:a}).then((e=>e.json())).then((e=>dt(e,"recent comment")))})({serverURL:t,count:n,lang:l,signal:r.signal,token:o.value?.token}).then((e=>a&&e.length?(a.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:()=>{r.abort(),a.innerHTML=""}}):{comments:e,destroy:()=>r.abort()}))};export{vl as RecentComments,Rt as commentCount,le as defaultLocales,dl as init,ml as pageviewCount,pl as version};
1
+ import{getCurrentScope as e,onScopeDispose as t,getCurrentInstance as n,onMounted as l,nextTick as o,unref as a,ref as r,isRef as i,watch as s,readonly as c,shallowRef as u,computed as m,h as d,defineComponent as p,onBeforeUnmount as v,resolveComponent as g,openBlock as f,createElementBlock as h,normalizeStyle as y,Fragment as w,renderList as b,createBlock as k,createCommentVNode as C,createElementVNode as I,inject as $,reactive as L,onUnmounted as S,createVNode as j,toDisplayString as x,normalizeClass as R,withDirectives as E,vModelDynamic as O,vModelText as A,vShow as U,createTextVNode as z,provide as M,createApp as P,watchEffect as T}from"vue";import N from"autosize";import{marked as B}from"marked";const H=["nick","mail","link"],_=e=>e.filter((e=>H.includes(e))),V=e=>new Promise(((t,n)=>{if(e.size>128e3)return n(new Error("File too large! File size limit 128KB"));const l=new FileReader;l.readAsDataURL(e),l.onload=()=>t(l.result?.toString()||""),l.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=()=>{const e={next:""},t=({keyword:e,pos:t})=>{const n=new URLSearchParams("media_filter=minimal");return n.set("key","PAY5JLFIH6V6"),n.set("limit","20"),n.set("pos",t||""),n.set("q",e),fetch(`https://g.tenor.com/v1/search?${n.toString()}`,{headers:{"Content-Type":"application/json"}}).then((e=>e.json())).catch((()=>({next:t||"",results:[]})))};return{search:(n="")=>t({keyword:n}).then((t=>(e.next=t.next,t.results.map((e=>({title:e.title,src:e.media[0].tinygif.url})))))),more:n=>t({keyword:n,pos:e.next}).then((t=>(e.next=t.next,t.results.map((e=>({title:e.title,src:e.media[0].tinygif.url}))))))}},W=new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/</.source})|((?:${/(?:^|\s)\/\/(.+?)$/gm.source})|(?:${/\/\*([\S\s]*?)\*\//gm.source}))`,"gmi"),q=["23AC69","91C132","F19726","E8552D","1AAB8E","E1147F","2980C1","1BA1E6","9FA0A0","F19726","E30B20","E30B20","A3338B"],G={},J=e=>{let t=0;return e.replace(W,((e,n,l)=>{if(l)return`<span style="color: slategray">${l}</span>`;if("<"===n)return"&lt;";let o;G[n]?o=G[n]:(o=q[t],G[n]=o);const a=`<span style="color: #${o}">${n}</span>`;return t=++t%q.length,a}))},K=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky","oldest","latest","hottest"],Q=e=>Object.fromEntries(e.map(((e,t)=>[K[t],e])));var Y=Q(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","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","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky","Oldest","Latest","Hottest"]),Z=Q(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順"]),X=Q(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度"]),ee=Q(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎評論","來發評論吧~","提交","喜歡","取消喜歡","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名","潛水","冒泡","吐槽","活躍","話癆","傳說","表情包","搜索表情包","個人資料","通過","待審核","垃圾","取消置頂","按倒序","按正序","按熱度"]),te=Q(["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","Like","Cancel like","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","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky","Mais velho","Mais recentes","Mais quente"]),ne=Q(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий"]);const le={zh:X,"zh-cn":X,"zh-CN":X,"zh-tw":ee,"zh-TW":ee,en:Y,"en-US":Y,"en-us":Y,jp:Z,"jp-jp":Z,"jp-JP":Z,"pt-br":te,"pt-BR":te,ru:ne,"ru-ru":ne,"ru-RU":ne};var oe;const ae="undefined"!=typeof window,re=()=>{};function ie(e){return"function"==typeof e?e():a(e)}function se(e,t){return function(...n){e((()=>t.apply(this,n)),{fn:t,thisArg:this,args:n})}}ae&&(null==(oe=null==window?void 0:window.navigator)?void 0:oe.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);const ce=e=>e();function ue(n){return!!e()&&(t(n),!0)}function me(e,t=200,n={}){return se(function(e,t={}){let n,l;return o=>{const a=ie(e),r=ie(t.maxWait);if(n&&clearTimeout(n),a<=0||void 0!==r&&r<=0)return l&&(clearTimeout(l),l=null),o();r&&!l&&(l=setTimeout((()=>{n&&clearTimeout(n),l=null,o()}),r)),n=setTimeout((()=>{l&&clearTimeout(l),l=null,o()}),a)}}(t,n),e)}var de=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable;function ge(e,t,n={}){const l=n,{eventFilter:o=ce}=l,a=((e,t)=>{var n={};for(var l in e)pe.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&de)for(var l of de(e))t.indexOf(l)<0&&ve.call(e,l)&&(n[l]=e[l]);return n})(l,["eventFilter"]);return s(e,se(o,t),a)}var fe=Object.defineProperty,he=Object.defineProperties,ye=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ke=Object.prototype.propertyIsEnumerable,Ce=(e,t,n)=>t in e?fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Ie(e,t,n={}){const l=n,{eventFilter:o}=l,a=((e,t)=>{var n={};for(var l in e)be.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&we)for(var l of we(e))t.indexOf(l)<0&&ke.call(e,l)&&(n[l]=e[l]);return n})(l,["eventFilter"]),{eventFilter:i,pause:s,resume:c,isActive:u}=function(e=ce){const t=r(!0);return{isActive:t,pause:function(){t.value=!1},resume:function(){t.value=!0},eventFilter:(...n)=>{t.value&&e(...n)}}}(o),m=ge(e,t,(d=((e,t)=>{for(var n in t||(t={}))be.call(t,n)&&Ce(e,n,t[n]);if(we)for(var n of we(t))ke.call(t,n)&&Ce(e,n,t[n]);return e})({},a),he(d,ye({eventFilter:i}))));var d;return{stop:m,pause:s,resume:c,isActive:u}}const $e=ae?window:void 0,Le=ae?window.document:void 0;function Se(...e){let t,n,l,o;if("string"==typeof e[0]?([n,l,o]=e,t=$e):[t,n,l,o]=e,!t)return re;let a=re;const r=s((()=>function(e){var t;const n=ie(e);return null!=(t=null==n?void 0:n.$el)?t:n}(t)),(e=>{a(),e&&(e.addEventListener(n,l,o),a=()=>{e.removeEventListener(n,l,o),a=re})}),{immediate:!0,flush:"post"}),i=()=>{r(),a()};return ue(i),i}ae&&window.navigator,ae&&window.location;const je="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},xe="__vueuse_ssr_handlers__";je[xe]=je[xe]||{};const Re=je[xe];var Ee=Object.defineProperty,Oe=Object.getOwnPropertySymbols,Ae=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,ze=(e,t,n)=>t in e?Ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Me=(e,t)=>{for(var n in t||(t={}))Ae.call(t,n)&&ze(e,n,t[n]);if(Oe)for(var n of Oe(t))Ue.call(t,n)&&ze(e,n,t[n]);return e};const Pe={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 Te(e,t,n,l={}){var o;const{flush:a="pre",deep:i=!0,listenToStorageChanges:s=!0,writeDefaults:c=!0,mergeDefaults:m=!1,shallow:d,window:p=$e,eventFilter:v,onError:g=(e=>{console.error(e)})}=l,f=(d?u:r)(t);if(!n)try{n=function(e,t){return Re[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=$e)?void 0:e.localStorage}))()}catch(e){g(e)}if(!n)return f;const h=ie(t),y=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),w=null!=(o=l.serializer)?o:Pe[y],{pause:b,resume:k}=Ie(f,(()=>function(t){try{null==t?n.removeItem(e):n.setItem(e,w.write(t))}catch(e){g(e)}}(f.value)),{flush:a,deep:i,eventFilter:v});return p&&s&&Se(p,"storage",C),C(),f;function C(t){t&&t.key!==e||(f.value=function(t){if(!t||t.key===e){b();try{const l=t?t.newValue:n.getItem(e);if(null==l)return c&&null!==h&&n.setItem(e,w.write(h)),h;if(!t&&m){const e=w.read(l);return"function"==typeof m?m(e,h):"object"!==y||Array.isArray(e)?e:Me(Me({},h),e)}return"string"!=typeof l?l:w.read(l)}catch(e){g(e)}finally{k()}}}(t))}}var Ne,Be,He=Object.defineProperty,_e=Object.getOwnPropertySymbols,Ve=Object.prototype.hasOwnProperty,Fe=Object.prototype.propertyIsEnumerable,De=(e,t,n)=>t in e?He(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function We(e={}){const{controls:t=!1,interval:n="requestAnimationFrame"}=e,l=r(new Date),o=()=>l.value=new Date,c="requestAnimationFrame"===n?function(e,t={}){const{immediate:n=!0,window:l=$e}=t,o=r(!1);let a=null;function i(){o.value&&l&&(e(),a=l.requestAnimationFrame(i))}function s(){!o.value&&l&&(o.value=!0,i())}function c(){o.value=!1,null!=a&&l&&(l.cancelAnimationFrame(a),a=null)}return n&&s(),ue(c),{isActive:o,pause:c,resume:s}}(o,{immediate:!0}):function(e,t=1e3,n={}){const{immediate:l=!0,immediateCallback:o=!1}=n;let c=null;const u=r(!1);function m(){c&&(clearInterval(c),c=null)}function d(){u.value=!1,m()}function p(){a(t)<=0||(u.value=!0,o&&e(),m(),c=setInterval(e,ie(t)))}l&&ae&&p(),i(t)&&ue(s(t,(()=>{u.value&&ae&&p()})));return ue(d),{isActive:u,pause:d,resume:p}}(o,n,{immediate:!0});return t?((e,t)=>{for(var n in t||(t={}))Ve.call(t,n)&&De(e,n,t[n]);if(_e)for(var n of _e(t))Fe.call(t,n)&&De(e,n,t[n]);return e})({now:l},c):l}(Be=Ne||(Ne={})).UP="UP",Be.RIGHT="RIGHT",Be.DOWN="DOWN",Be.LEFT="LEFT",Be.NONE="NONE";let qe=0;function Ge(e,t={}){const a=r(!1),{document:i=Le,immediate:u=!0,manual:m=!1,id:d="vueuse_styletag_"+ ++qe}=t,p=r(e);let v=()=>{};const g=()=>{if(!i)return;const e=i.getElementById(d)||i.createElement("style");e.type="text/css",e.id=d,t.media&&(e.media=t.media),i.head.appendChild(e),a.value||(v=s(p,(t=>{e.innerText=t}),{immediate:!0}),a.value=!0)},f=()=>{i&&a.value&&(v(),i.head.removeChild(i.getElementById(d)),a.value=!1)};return u&&!m&&function(e,t=!0){n()?l(e):t?e():o(e)}(g),m||ue(f),{id:d,css:p,unload:f,load:g,isLoaded:c(a)}}var Je=Object.defineProperty,Ke=Object.getOwnPropertySymbols,Qe=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable,Ze=(e,t,n)=>t in e?Je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;((e,t)=>{for(var n in t||(t={}))Qe.call(t,n)&&Ze(e,n,t[n]);if(Ke)for(var n of Ke(t))Ye.call(t,n)&&Ze(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});const Xe=e=>{try{e=decodeURI(e)}catch(e){}return e},et=(e="")=>e.replace(/\/$/u,""),tt=e=>/^(https?:)?\/\//.test(e),nt=e=>{const t=et(e);return tt(t)?t:`https://${t}`},lt=e=>Array.isArray(e)?e:!!e&&[0,e],ot=(e,t)=>"function"==typeof e?e:!1!==e&&t,at="{--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}",rt=(e,t)=>{let n=e.toString();for(;n.length<t;)n="0"+n;return n},it=(e,t,n)=>{if(!e)return"";const l="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,o=t.getTime()-l.getTime(),a=Math.floor(o/864e5);if(0===a){const e=o%864e5,t=Math.floor(e/36e5);if(0===t){const t=e%36e5,l=Math.floor(t/6e4);if(0===l){const e=t%6e4;return`${Math.round(e/1e3)} ${n.seconds}`}return`${l} ${n.minutes}`}return`${t} ${n.hours}`}return a<0?n.now:a<8?`${a} ${n.days}`:(e=>{const t=rt(e.getDate(),2),n=rt(e.getMonth()+1,2);return`${rt(e.getFullYear(),2)}-${n}-${t}`})(l)},st=e=>{const t=Te("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const n=t.value[e];if(n)return Promise.resolve(n)}return fetch(`${e}/info.json`).then((e=>e.json())).then((l=>{const o={folder:e,...l};return n&&(t.value[e]=o),o}))},ct=(e,t="",n="",l="")=>`${t?`${t}/`:""}${n}${e}${l?`.${l}`:""}`,ut=e=>{"AbortError"!==e.name&&console.error(e.message)},mt={"Content-Type":"application/json"},dt=(e,t="")=>{if("object"==typeof e&&e.errno)throw new TypeError(`Fetch ${t} failed with ${e.errno}: ${e.errmsg}`);return e},pt=({serverURL:e,lang:t,token:n,objectId:l,...o})=>fetch(`${e}/comment/${l}?lang=${t}`,{method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(o)}).then((e=>e.json())),vt=({serverURL:e,lang:t,paths:n,signal:l})=>fetch(`${e}/article?path=${encodeURIComponent(n.join(","))}&lang=${t}`,{signal:l}).then((e=>e.json())).then((e=>dt(e,"visit count"))).then((e=>Array.isArray(e)?e:[e])),gt=({serverURL:e,lang:t,path:n})=>fetch(`${e}/article?lang=${t}`,{method:"POST",headers:mt,body:JSON.stringify({path:n})}).then((e=>e.json())).then((e=>dt(e,"visit count"))),ft=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,ht=e=>e.type.includes("image"),yt=e=>{const t=Array.from(e).find(ht);return t?t.getAsFile():null},wt=/\$.*?\$/,bt=/^\$(.*?)\$/,kt=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,Ct=(e="",t={})=>e.replace(/:(.+?):/g,((e,n)=>t[n]?`<img class="wl-emoji" src="${t[n]}" alt="${n}">`:e)),It=(e,{emojiMap:t,highlighter:n,texRenderer:l})=>{if(B.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),l){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=kt.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(wt);return-1!==t?t:e.length},tokenizer(t){const n=bt.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(l);B.use({extensions:e})}return B.parse(Ct(e,t))},$t=e=>e.dataset.path||e.getAttribute("id");let Lt=null;const St=()=>Lt||(Lt=Te("WALINE_USER",{}));let jt=null;const xt=()=>jt||(jt=Te("WALINE_LIKE",[])),Rt=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-comment-count",lang:l="zh-CN"})=>{const o=new AbortController,a=document.querySelectorAll(n),r=St();return a.length&&(({serverURL:e,lang:t,paths:n,signal:l,token:o})=>{const a={};return o&&(a.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=count&url=${encodeURIComponent(n.join(","))}&lang=${t}`,{signal:l,headers:a}).then((e=>e.json())).then((e=>dt(e,"comment count"))).then((e=>Array.isArray(e)?e:[e]))})({serverURL:nt(e),paths:Array.from(a).map((e=>Xe(e.dataset.path||e.getAttribute("id")||t))),lang:l,signal:o.signal,token:r.value?.token}).then((e=>{a.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(ut),o.abort.bind(o)},Et=({size:e})=>d("svg",{width:e,height:e,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},d("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},d("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})));var Ot=p({name:"ImageWall",components:{LoadingIcon:Et},props:{items:{type:Array,default:()=>[]},columnWidth:{type:Number,default:300},gap:{type:Number,default:0}},emits:["insert"],setup(e){let t=null;const n=r(null),a=r({}),i=r([]),c=()=>{const t=Math.floor((n.value.getBoundingClientRect().width+e.gap)/(e.columnWidth+e.gap));return t>0?t:1},u=async t=>{if(t>=e.items.length)return;await o();const l=Array.from(n.value?.children||[]).reduce(((e,t)=>t.getBoundingClientRect().height<e.getBoundingClientRect().height?t:e));i.value[Number(l.dataset.index)].push(t),await u(t+1)},m=async(e=!1)=>{if(i.value.length===c()&&!e)return;var t;i.value=(t=c(),new Array(t).fill(null).map((()=>[])));const n=window.scrollY;await u(0),window.scrollTo({top:n})};return s((()=>[e.items]),(()=>{a.value={},m(!0)})),s((()=>[e.columnWidth,e.gap]),(()=>m())),l((()=>{m(!0),t=new ResizeObserver((()=>m())),t.observe(n.value)})),v((()=>t.unobserve(n.value))),{columns:i,state:a,wall:n}}}),At=(e,t)=>{const n=e.__vccOpts||e;for(const[e,l]of t)n[e]=l;return n};const Ut=["data-index"],zt=["src","title","onLoad","onClick"];var Mt=p({name:"CommentBox",components:{CloseIcon:({size:e})=>d("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:e,height:e},[d("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"}),d("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:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},d("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:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[d("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"}),d("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"})]),ImageWall:At(Ot,[["render",function(e,t,n,l,o,a){const r=g("LoadingIcon");return f(),h("div",{ref:"wall",class:"wl-gallery",style:y({gap:`${e.gap}px`})},[(f(!0),h(w,null,b(e.columns,((t,n)=>(f(),h("div",{key:n,class:"wl-gallery-column","data-index":n,style:y({gap:`${e.gap}px`})},[(f(!0),h(w,null,b(t,(t=>(f(),h(w,{key:t},[e.state[e.items[t].src]?C("v-if",!0):(f(),k(r,{key:0,size:36,style:{margin:"20px auto"}})),I("img",{class:"wl-gallery-item",src:e.items[t].src,title:e.items[t].title,loading:"lazy",onLoad:n=>e.state[e.items[t].src]=!0,onClick:n=>e.$emit("insert",`![](${e.items[t].src})`)},null,40,zt)],64)))),128))],12,Ut)))),128))],4)}],["__file","ImageWall.vue"]]),MarkdownIcon:()=>d("svg",{width:"16",height:"16",ariaHidden:"true"},d("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:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[d("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"}),d("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,GifIcon:()=>d("svg",{width:24,height:24,fill:"currentcolor",viewBox:"0 0 24 24"},[d("path",{style:"transform: translateY(0.5px)",d:"M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z"}),d("path",{d:"M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z"})])},props:{rootId:{type:String,default:""},replyId:{type:String,default:""},replyUser:{type:String,default:""}},emits:["submit","cancel-reply"],setup(e,{emit:t}){const n=$("config"),o=Te("WALINE_COMMENT_BOX_EDITOR",""),a=Te("WALINE_USER_META",{nick:"",mail:"",link:""}),i=St(),c=r({}),u=r(null),d=r(null),p=r(null),v=r(null),g=r(null),f=r(null),h=r(null),y=r({tabs:[],map:{}}),w=r(0),b=r(!1),k=r(!1),C=r(!1),I=r(""),j=r(0),x=L({loading:!0,list:[]}),R=r(0),E=r(!1),O=r(""),A=r(!1),U=m((()=>n.value.locale)),z=m((()=>Boolean(i.value?.token))),M=m((()=>!1!==n.value.imageUploader)),P=e=>{const t=u.value,n=t.selectionStart,l=t.selectionEnd||0,a=t.scrollTop;o.value=t.value.substring(0,n)+e+t.value.substring(l,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=a},T=e=>{const t=`![${n.value.locale.uploading} ${e.name}]()`;return P(t),Promise.resolve().then((()=>n.value.imageUploader(e))).then((n=>{o.value=o.value.replace(t,`\r\n![${e.name}](${n})`)})).catch((e=>{alert(e.message),o.value=o.value.replace(t,"")}))},B=()=>{const{serverURL:l,lang:r,login:s,wordLimit:m,requiredMeta:d}=n.value,p={comment:O.value,nick:a.value.nick,mail:a.value.mail,link:a.value.link,ua:navigator.userAgent,url:n.value.path};if(i.value?.token)p.nick=i.value.display_name,p.mail=i.value.email,p.link=i.value.url;else{if("force"===s)return;if(d.indexOf("nick")>-1&&!p.nick)return c.value.nick?.focus(),alert(U.value.nickError);if(d.indexOf("mail")>-1&&!p.mail||p.mail&&!/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)*\w+$/.exec(p.mail))return c.value.mail?.focus(),alert(U.value.mailError);if(!p.comment)return void u.value?.focus();p.nick||(p.nick=U.value.anonymous)}if(!E.value)return alert(U.value.wordHint.replace("$0",m[0].toString()).replace("$1",m[1].toString()).replace("$2",j.value.toString()));p.comment=Ct(p.comment,y.value.map),e.replyId&&e.rootId&&(p.pid=e.replyId,p.rid=e.rootId,p.at=e.replyUser),A.value=!0,(({serverURL:e,lang:t,token:n,comment:l})=>{const o={"Content-Type":"application/json"};return n&&(o.Authorization=`Bearer ${n}`),fetch(`${e}/comment?lang=${t}`,{method:"POST",headers:o,body:JSON.stringify(l)}).then((e=>e.json()))})({serverURL:l,lang:r,token:i.value?.token,comment:p}).then((n=>{if(A.value=!1,n.errmsg)return alert(n.errmsg);t("submit",n.data),o.value="",I.value="",e.replyId&&t("cancel-reply")})).catch((e=>{A.value=!1,alert(e.message)}))},H=e=>{p.value.contains(e.target)||v.value.contains(e.target)||(b.value=!1),g.value.contains(e.target)||f.value.contains(e.target)||(k.value=!1)},_=async e=>{const{scrollTop:t,clientHeight:l,scrollHeight:o}=e.target,a=(l+t)/o,r=n.value.search,i=h.value?.value||"";a<.9||x.loading||(x.loading=!0,x.list.push(...r.more?await r.more(i,x.list.length):await r.search(i)),x.loading=!1,setTimeout((()=>{e.target.scrollTop=t}),50))},V=me((e=>{x.list=[],_(e)}),300);s([n,j],(([e,t])=>{const{wordLimit:n}=e;n?t<n[0]&&0!==n[0]?(R.value=n[0],E.value=!1):t>n[1]?(R.value=n[1],E.value=!1):(R.value=n[1],E.value=!0):(R.value=0,E.value=!0)}),{immediate:!0}),s(k,(async e=>{if(!e)return;const t=n.value.search;h.value&&(h.value.value=""),x.loading=!0,x.list=t.default?await t.default():await t.search(""),x.loading=!1}));const F=({data:e})=>{e&&"profile"===e.type&&(i.value={...i.value,...e.data},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(i)))))};return l((()=>{document.body.addEventListener("click",H),window.addEventListener("message",F),s((()=>o.value),(e=>{const{highlighter:t,texRenderer:l}=n.value;O.value=e,I.value=It(e,{emojiMap:y.value.map,highlighter:t,texRenderer:l}),j.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?N(u.value):N.destroy(u.value)}),{immediate:!0}),s((()=>n.value.emoji),(e=>{return(t=Array.isArray(e)?e:[],Promise.all(t.map((e=>"string"==typeof e?st(et(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:l,icon:o,prefix:a,type:r,items:i}=e;t.tabs.push({name:n,icon:ct(o,l,a,r),items:i.map((e=>{const n=`${a||""}${e}`;return t.map[n]=ct(e,l,a,r),n}))})})),t}))).then((e=>{y.value=e}));var t}),{immediate:!0})})),S((()=>{document.body.removeEventListener("click",H),window.removeEventListener("message",F)})),{config:n,locale:U,insert:P,onChange:()=>{const e=d.value;e.files&&M.value&&T(e.files[0]).then((()=>{e.value=""}))},onDrop:e=>{if(e.dataTransfer?.items){const t=yt(e.dataTransfer.items);t&&M.value&&(T(t),e.preventDefault())}},onKeyDown:e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&B()},onPaste:e=>{if(e.clipboardData){const t=yt(e.clipboardData.items);t&&M.value&&T(t)}},onLogin:e=>{e.preventDefault();const{lang:t,serverURL:l}=n.value,o=(window.innerWidth-450)/2,a=(window.innerHeight-450)/2,r=window.open(`${l}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${o},top=${a},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);r?.postMessage({type:"TOKEN",data:null},"*");const s=({data:e})=>{e&&"userInfo"===e.type&&e.data.token&&(r?.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:l}=n.value,o=(window.innerWidth-800)/2,a=(window.innerHeight-800)/2;window.open(`${l}/ui/profile?lng=${encodeURIComponent(t)}`,"_blank",`width=800,height=800,left=${o},top=${a},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`)?.postMessage({type:"TOKEN",data:i.value.token},"*")},submitComment:B,onImageWallScroll:_,onGifSearch:V,isLogin:z,userInfo:i,isSubmitting:A,wordNumber:j,wordLimit:R,isWordNumberLegal:E,editor:o,userMeta:a,emoji:y,emojiTabIndex:w,showEmoji:b,gifData:x,showGif:k,canUploadImage:M,previewText:I,showPreview:C,inputRefs:c,editorRef:u,emojiButtonRef:p,emojiPopupRef:v,gifButtonRef:g,gifPopupRef:f,imageUploadRef:d,gifSearchInputRef:h}}});const Pt={class:"wl-comment"},Tt={key:0,class:"wl-login-info"},Nt={class:"wl-avatar"},Bt=["title"],Ht=["title"],_t=["src"],Vt=["title","textContent"],Ft={class:"wl-panel"},Dt=["for","textContent"],Wt=["id","onUpdate:modelValue","name","type"],qt=["placeholder"],Gt={class:"wl-preview"},Jt=I("hr",null,null,-1),Kt=["innerHTML"],Qt={class:"wl-footer"},Yt={class:"wl-actions"},Zt={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noreferrer"},Xt=["title"],en=["title"],tn=["title"],nn=["title"],ln={class:"wl-info"},on={class:"wl-text-number"},an={key:0},rn=z("  /  "),sn=["textContent"],cn=["textContent"],un=["disabled"],mn=["placeholder"],dn={key:0,class:"wl-loading"},pn={key:0,class:"wl-tab-wrapper"},vn=["title","onClick"],gn=["src","alt"],fn={key:0,class:"wl-tabs"},hn=["onClick"],yn=["src","alt","title"],wn=["title"];var bn=At(Mt,[["render",function(e,t,n,l,o,a){const r=g("CloseIcon"),i=g("MarkdownIcon"),s=g("EmojiIcon"),c=g("GifIcon"),u=g("ImageIcon"),m=g("PreviewIcon"),d=g("LoadingIcon"),p=g("ImageWall");return f(),h("div",Pt,["disable"!==e.config.login&&e.isLogin?(f(),h("div",Tt,[I("div",Nt,[I("button",{class:"wl-logout-btn",title:e.locale.logout,onClick:t[0]||(t[0]=(...t)=>e.onLogout&&e.onLogout(...t))},[j(r,{size:14})],8,Bt),I("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:e.locale.profile,onClick:t[1]||(t[1]=(...t)=>e.onProfile&&e.onProfile(...t))},[I("img",{src:e.userInfo.avatar,alt:"avatar"},null,8,_t)],8,Ht)]),I("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:e.locale.profile,onClick:t[2]||(t[2]=(...t)=>e.onProfile&&e.onProfile(...t)),textContent:x(e.userInfo.display_name)},null,8,Vt)])):C("v-if",!0),I("div",Ft,["force"!==e.config.login&&e.config.meta.length&&!e.isLogin?(f(),h("div",{key:0,class:R(["wl-header",`item${e.config.meta.length}`])},[(f(!0),h(w,null,b(e.config.meta,(t=>(f(),h("div",{key:t,class:"wl-header-item"},[I("label",{for:t,textContent:x(e.locale[t]+(e.config.requiredMeta.includes(t)||!e.config.requiredMeta.length?"":`(${e.locale.optional})`))},null,8,Dt),E(I("input",{id:`wl-${t}`,ref_for:!0,ref:n=>{n&&(e.inputRefs[t]=n)},"onUpdate:modelValue":n=>e.userMeta[t]=n,class:R(["wl-input",`wl-${t}`]),name:t,type:"mail"===t?"email":"text"},null,10,Wt),[[O,e.userMeta[t]]])])))),128))],2)):C("v-if",!0),E(I("textarea",{id:"wl-edit",ref:"editorRef","onUpdate:modelValue":t[3]||(t[3]=t=>e.editor=t),class:"wl-editor",placeholder:e.replyUser?`@${e.replyUser}`:e.locale.placeholder,onKeydown:t[4]||(t[4]=(...t)=>e.onKeyDown&&e.onKeyDown(...t)),onDrop:t[5]||(t[5]=(...t)=>e.onDrop&&e.onDrop(...t)),onPaste:t[6]||(t[6]=(...t)=>e.onPaste&&e.onPaste(...t))},null,40,qt),[[A,e.editor]]),E(I("div",Gt,[Jt,I("h4",null,x(e.locale.preview)+":",1),C(" eslint-disable-next-line vue/no-v-html "),I("div",{class:"wl-content",innerHTML:e.previewText},null,8,Kt)],512),[[U,e.showPreview]]),I("div",Qt,[I("div",Yt,[I("a",Zt,[j(i)]),E(I("button",{ref:"emojiButtonRef",class:R(["wl-action",{actived:e.showEmoji}]),title:e.locale.emoji,onClick:t[7]||(t[7]=t=>e.showEmoji=!e.showEmoji)},[j(s)],10,Xt),[[U,e.emoji.tabs.length]]),e.config.search?(f(),h("button",{key:0,ref:"gifButtonRef",class:R(["wl-action",{actived:e.showGif}]),title:e.locale.gif,onClick:t[8]||(t[8]=t=>e.showGif=!e.showGif)},[j(c)],10,en)):C("v-if",!0),I("input",{id:"wl-image-upload",ref:"imageUploadRef",class:"upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:t[9]||(t[9]=(...t)=>e.onChange&&e.onChange(...t))},null,544),e.canUploadImage?(f(),h("label",{key:1,for:"wl-image-upload",class:"wl-action",title:e.locale.uploadImage},[j(u)],8,tn)):C("v-if",!0),I("button",{class:R(["wl-action",{actived:e.showPreview}]),title:e.locale.preview,onClick:t[10]||(t[10]=t=>e.showPreview=!e.showPreview)},[j(m)],10,nn)]),I("div",ln,[I("div",on,[z(x(e.wordNumber)+" ",1),e.config.wordLimit?(f(),h("span",an,[rn,I("span",{class:R({illegal:!e.isWordNumberLegal}),textContent:x(e.wordLimit)},null,10,sn)])):C("v-if",!0),z("  "+x(e.locale.word),1)]),"disable"===e.config.login||e.isLogin?C("v-if",!0):(f(),h("button",{key:0,class:"wl-btn",onClick:t[11]||(t[11]=(...t)=>e.onLogin&&e.onLogin(...t)),textContent:x(e.locale.login)},null,8,cn)),"force"!==e.config.login||e.isLogin?(f(),h("button",{key:1,class:"wl-btn primary",title:"Cmd|Ctrl + Enter",disabled:e.isSubmitting,onClick:t[12]||(t[12]=(...t)=>e.submitComment&&e.submitComment(...t))},[e.isSubmitting?(f(),k(d,{key:0,size:16})):(f(),h(w,{key:1},[z(x(e.locale.submit),1)],64))],8,un)):C("v-if",!0)]),I("div",{ref:"gifPopupRef",class:R(["wl-gif-popup",{display:e.showGif}])},[I("input",{ref:"gifSearchInputRef",type:"text",placeholder:e.locale.gifSearchPlaceholder,onInput:t[13]||(t[13]=(...t)=>e.onGifSearch&&e.onGifSearch(...t))},null,40,mn),j(p,{items:e.gifData.list,"column-width":200,gap:6,onInsert:t[14]||(t[14]=t=>e.insert(t)),onScroll:e.onImageWallScroll},null,8,["items","onScroll"]),e.gifData.loading?(f(),h("div",dn,[j(d,{size:30})])):C("v-if",!0)],2),I("div",{ref:"emojiPopupRef",class:R(["wl-emoji-popup",{display:e.showEmoji}])},[(f(!0),h(w,null,b(e.emoji.tabs,((t,n)=>(f(),h(w,{key:t.name},[n===e.emojiTabIndex?(f(),h("div",pn,[(f(!0),h(w,null,b(t.items,(t=>(f(),h("button",{key:t,title:t,onClick:n=>e.insert(`:${t}:`)},[e.showEmoji?(f(),h("img",{key:0,class:"wl-emoji",src:e.emoji.map[t],alt:t,loading:"lazy",referrerPolicy:"no-referrer"},null,8,gn)):C("v-if",!0)],8,vn)))),128))])):C("v-if",!0)],64)))),128)),e.emoji.tabs.length>1?(f(),h("div",fn,[(f(!0),h(w,null,b(e.emoji.tabs,((t,n)=>(f(),h("button",{key:t.name,class:R(["wl-tab",{active:e.emojiTabIndex===n}]),onClick:t=>e.emojiTabIndex=n},[I("img",{class:"wl-emoji",src:t.icon,alt:t.name,title:t.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,yn)],10,hn)))),128))])):C("v-if",!0)],2)])]),e.replyId?(f(),h("button",{key:1,class:"wl-close",title:e.locale.cancelReply,onClick:t[15]||(t[15]=t=>e.$emit("cancel-reply"))},[j(r,{size:24})],8,wn)):C("v-if",!0)])}],["__file","CommentBox.vue"]]);const kn=["approved","waiting","spam"];var Cn=p({components:{CommentBox:bn,DeleteIcon:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},d("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),LikeIcon:({active:e=!1})=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[d("path",{d:"M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z"+(e?"":"M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"),fill:e?"red":"currentColor"})]),ReplyIcon:()=>d("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},d("path",{d:"M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z",fill:"currentColor"})),VerifiedIcon:()=>d("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},d("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"}))},props:{comment:{type:Object,required:!0},rootId:{type:String,required:!0},reply:{type:Object,default:null}},emits:["submit","reply","like","delete","status","sticky"],setup(e){const t=$("config"),n=xt(),l=St(),o=m((()=>t.value.locale)),a=m((()=>{const{link:t}=e.comment;return t?tt(t)?t:`https://${t}`:""})),r=m((()=>n.value.includes(e.comment.objectId))),i=((e,t)=>{const n=We();return m((()=>it(e,n.value,t)))})(e.comment.insertedAt,o.value),s=m((()=>"administrator"===l.value.type)),c=m((()=>e.comment.user_id&&l.value.objectId===e.comment.user_id)),u=m((()=>e.comment.objectId===e.reply?.objectId));return{config:t,locale:o,isReplyingCurrent:u,link:a,like:r,time:i,isAdmin:s,isOwner:c,commentStatus:kn}}});const In=["id"],$n={class:"wl-user","aria-hidden":"true"},Ln=["src"],Sn={class:"wl-card"},jn={class:"wl-head"},xn=["href"],Rn={key:1,class:"wl-nick"},En=["textContent"],On=["textContent"],An=["textContent"],Un=["textContent"],zn=["textContent"],Mn={class:"wl-comment-actions"},Pn=["title"],Tn=["textContent"],Nn=["title"],Bn={class:"wl-meta","aria-hidden":"true"},Hn=["textContent"],_n=["textContent"],Vn=["textContent"],Fn=["innerHTML"],Dn={key:0,class:"wl-admin-actions"},Wn={class:"wl-comment-status"},qn=["disabled","onClick","textContent"],Gn={key:1,class:"wl-reply-wrapper"},Jn={key:2,class:"wl-quote"};const Kn=[{key:"insertedAt_desc",name:"latest"},{key:"insertedAt_asc",name:"oldest"},{key:"like_desc",name:"hottest"}];var Qn=p({name:"WalineRoot",components:{CommentBox:bn,CommentCard:At(Cn,[["render",function(e,t,n,l,o,a){const r=g("VerifiedIcon"),i=g("DeleteIcon"),s=g("LikeIcon"),c=g("ReplyIcon"),u=g("CommentBox"),m=g("CommentCard",!0);return f(),h("div",{id:e.comment.objectId,class:"wl-item"},[I("div",$n,[e.comment.avatar?(f(),h("img",{key:0,src:e.comment.avatar},null,8,Ln)):C("v-if",!0),e.comment.type?(f(),k(r,{key:1})):C("v-if",!0)]),I("div",Sn,[I("div",jn,[e.link?(f(),h("a",{key:0,class:"wl-nick",href:e.link,target:"_blank",rel:"nofollow noreferrer"},x(e.comment.nick),9,xn)):(f(),h("span",Rn,x(e.comment.nick),1)),"administrator"===e.comment.type?(f(),h("span",{key:2,class:"wl-badge",textContent:x(e.locale.admin)},null,8,En)):C("v-if",!0),e.comment.label?(f(),h("span",{key:3,class:"wl-badge",textContent:x(e.comment.label)},null,8,On)):C("v-if",!0),e.comment.sticky?(f(),h("span",{key:4,class:"wl-badge",textContent:x(e.locale.sticky)},null,8,An)):C("v-if",!0),void 0!==e.comment.level&&e.comment.level>=0?(f(),h("span",{key:5,class:R(`wl-badge level${e.comment.level}`),textContent:x(e.locale[`level${e.comment.level}`]||`Level ${e.comment.level}`)},null,10,Un)):C("v-if",!0),I("span",{class:"wl-time",textContent:x(e.time)},null,8,zn),I("div",Mn,[e.isAdmin||e.isOwner?(f(),h("button",{key:0,class:"wl-delete",onClick:t[0]||(t[0]=t=>e.$emit("delete",e.comment))},[j(i)])):C("v-if",!0),I("button",{class:"wl-like",title:e.like?e.locale.cancelLike:e.locale.like,onClick:t[1]||(t[1]=t=>e.$emit("like",e.comment))},[j(s,{active:e.like},null,8,["active"]),"like"in e.comment?(f(),h("span",{key:0,textContent:x(e.comment.like)},null,8,Tn)):C("v-if",!0)],8,Pn),I("button",{class:R(["wl-reply",{active:e.isReplyingCurrent}]),title:e.isReplyingCurrent?e.locale.cancelReply:e.locale.reply,onClick:t[2]||(t[2]=t=>e.$emit("reply",e.isReplyingCurrent?null:e.comment))},[j(c)],10,Nn)])]),I("div",Bn,[e.comment.addr?(f(),h("span",{key:0,textContent:x(e.comment.addr)},null,8,Hn)):C("v-if",!0),e.comment.browser?(f(),h("span",{key:1,textContent:x(e.comment.browser)},null,8,_n)):C("v-if",!0),e.comment.os?(f(),h("span",{key:2,textContent:x(e.comment.os)},null,8,Vn)):C("v-if",!0)]),C(" eslint-disable-next-line vue/no-v-html "),I("div",{class:"wl-content",innerHTML:e.comment.comment},null,8,Fn),e.isAdmin?(f(),h("div",Dn,[I("span",Wn,[(f(!0),h(w,null,b(e.commentStatus,(t=>(f(),h("button",{key:t,class:R(`wl-btn wl-${t}`),disabled:e.comment.status===t,onClick:n=>e.$emit("status",{status:t,comment:e.comment}),textContent:x(e.locale[t])},null,10,qn)))),128))]),e.isAdmin&&!e.comment.rid?(f(),h("button",{key:0,class:"wl-btn wl-sticky",onClick:t[3]||(t[3]=t=>e.$emit("sticky",e.comment))},x(e.comment.sticky?e.locale.unsticky:e.locale.sticky),1)):C("v-if",!0)])):C("v-if",!0),e.isReplyingCurrent?(f(),h("div",Gn,[j(u,{"reply-id":e.comment.objectId,"reply-user":e.comment.nick,"root-id":e.rootId,onSubmit:t[4]||(t[4]=t=>e.$emit("submit",t)),onCancelReply:t[5]||(t[5]=t=>e.$emit("reply",null))},null,8,["reply-id","reply-user","root-id"])])):C("v-if",!0),e.comment.children?(f(),h("div",Jn,[(f(!0),h(w,null,b(e.comment.children,(n=>(f(),k(m,{key:n.objectId,comment:n,reply:e.reply,"root-id":e.rootId,onReply:t[6]||(t[6]=t=>e.$emit("reply",t)),onSubmit:t[7]||(t[7]=t=>e.$emit("submit",t)),onLike:t[8]||(t[8]=t=>e.$emit("like",t)),onDelete:t[9]||(t[9]=t=>e.$emit("delete",t)),onStatus:t[10]||(t[10]=t=>e.$emit("status",t)),onSticky:t[11]||(t[11]=t=>e.$emit("sticky",t))},null,8,["comment","reply","root-id"])))),128))])):C("v-if",!0)])],8,In)}],["__file","CommentCard.vue"]]),LoadingIcon:Et},props:["serverURL","path","meta","requiredMeta","dark","lang","locale","pageSize","wordLimit","emoji","login","highlighter","texRenderer","imageUploader","search","copyright"],setup(e){const t=m((()=>(({serverURL:e,path:t=location.pathname,lang:n="zh-CN",locale:l,emoji:o=["//unpkg.com/@waline/emojis@1.1.0/weibo"],meta:a=["nick","mail","link"],requiredMeta:r=[],dark:i=!1,pageSize:s=10,wordLimit:c,imageUploader:u,highlighter:m,texRenderer:d,copyright:p=!0,login:v="enable",search:g=D(),...f})=>({serverURL:nt(e),path:Xe(t),locale:{...le[n]||le["zh-CN"],..."object"==typeof l?l:{}},wordLimit:lt(c),meta:_(a),requiredMeta:_(r),imageUploader:ot(u,V),highlighter:ot(m,J),texRenderer:ot(d,F),lang:n,dark:i,emoji:o,pageSize:s,login:v,copyright:p,search:g,...f}))(e))),n=St(),o=xt(),a=r("loading"),i=r(0),c=r(1),u=r(0),d=r(Kn[0].key),p=r([]),v=r(null),g=m((()=>{return"string"==typeof(e=t.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${at}}`:`${e}${at}`:!0===e?`:root${at}`:"";var e}));let f;Ge(g);const h=e=>{const{serverURL:l,path:o,pageSize:r}=t.value,s=new AbortController;a.value="loading",f?.(),(({serverURL:e,lang:t,path:n,page:l,pageSize:o,sortBy:a,signal:r,token:i})=>{const s={};return i&&(s.Authorization=`Bearer ${i}`),fetch(`${e}/comment?path=${encodeURIComponent(n)}&pageSize=${o}&page=${l}&lang=${t}&sortBy=${a}`,{signal:r,headers:s}).then((e=>e.json())).then((e=>dt(e,"comment list")))})({serverURL:l,lang:t.value.lang,path:o,pageSize:r,sortBy:d.value,page:e,signal:s.signal,token:n.value?.token}).then((t=>{a.value="success",i.value=t.count,p.value.push(...t.data),c.value=e,u.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),a.value="error")})),f=s.abort.bind(s)},y=()=>{i.value=0,p.value=[],h(1)};return M("config",t),s((()=>e.path),y),l((()=>y())),{config:t,darkmodeStyle:g,i18n:m((()=>t.value.locale)),status:a,count:i,page:c,totalPages:u,sortBy:d,sortByItems:Kn,data:p,reply:v,loadMore:()=>h(c.value+1),refresh:y,onSortByChange:e=>{d.value!==e&&(d.value=e,y())},onReply:e=>{v.value=e},onSubmit:e=>{if(e.rid){const t=p.value.find((({objectId:t})=>t===e.rid));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else p.value.unshift(e)},onStatusChange:async({comment:e,status:l})=>{if(e.status===l)return;const{serverURL:o,lang:a}=t.value;await pt({serverURL:o,lang:a,token:n.value?.token,objectId:e.objectId,status:l}),e.status=l},onDelete:async({objectId:e})=>{if(!confirm("Are you sure you want to delete this comment?"))return;const{serverURL:l,lang:o}=t.value;await(({serverURL:e,lang:t,token:n,objectId:l})=>fetch(`${e}/comment/${l}?lang=${t}`,{method:"DELETE",headers:{Authorization:`Bearer ${n}`}}).then((e=>e.json())))({serverURL:l,lang:o,token:n.value?.token,objectId:e}),p.value.some(((t,n)=>t.objectId===e?(p.value=p.value.filter(((e,t)=>t!==n)),!0):t.children.some(((l,o)=>l.objectId===e&&(p.value[n].children=t.children.filter(((e,t)=>t!==o)),!0)))))},onSticky:async e=>{if(e.rid)return;const{serverURL:l,lang:o}=t.value;await pt({serverURL:l,lang:o,token:n.value?.token,objectId:e.objectId,sticky:e.sticky?0:1}),e.sticky=!e.sticky},onLike:async e=>{const{serverURL:n,lang:l}=t.value,{objectId:a}=e,r=o.value.includes(a);await(({serverURL:e,lang:t,objectId:n,like:l})=>fetch(`${e}/comment/${n}?lang=${t}`,{method:"PUT",headers:mt,body:JSON.stringify({like:l})}).then((e=>e.json())))({serverURL:n,lang:l,objectId:a,like:!r}),r?o.value=o.value.filter((e=>e!==a)):(o.value=[...o.value,a],o.value.length>50&&(o.value=o.value.slice(-50))),e.like=(e.like||0)+(r?-1:1)},version:"2.7.1"}}});const Yn={"data-waline":""},Zn={class:"wl-meta-head"},Xn={class:"wl-count"},el=["textContent"],tl={class:"wl-sort"},nl=["onClick"],ll={class:"wl-cards"},ol={key:1,class:"wl-operation"},al=["textContent"],rl={key:0,class:"wl-loading"},il=["textContent"],sl={class:"wl-operation"},cl=["textContent"],ul={key:3,class:"wl-power"},ml=z(" Powered by "),dl=I("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noreferrer"}," Waline ",-1);var pl=At(Qn,[["render",function(e,t,n,l,o,a){const r=g("CommentBox"),i=g("CommentCard"),s=g("LoadingIcon");return f(),h("div",Yn,[e.reply?C("v-if",!0):(f(),k(r,{key:0,onSubmit:e.onSubmit},null,8,["onSubmit"])),I("div",Zn,[I("div",Xn,[e.count?(f(),h("span",{key:0,class:"wl-num",textContent:x(e.count)},null,8,el)):C("v-if",!0),z(" "+x(e.i18n.comment),1)]),I("ul",tl,[(f(!0),h(w,null,b(e.sortByItems,(t=>(f(),h("li",{key:t.key,class:R([t.key===e.sortBy?"active":""]),onClick:n=>e.onSortByChange(t.key)},x(e.i18n[t.name]),11,nl)))),128))])]),I("div",ll,[(f(!0),h(w,null,b(e.data,(t=>(f(),k(i,{key:t.objectId,"root-id":t.objectId,comment:t,reply:e.reply,onReply:e.onReply,onSubmit:e.onSubmit,onStatus:e.onStatusChange,onDelete:e.onDelete,onSticky:e.onSticky,onLike:e.onLike},null,8,["root-id","comment","reply","onReply","onSubmit","onStatus","onDelete","onSticky","onLike"])))),128))]),"error"===e.status?(f(),h("div",ol,[I("button",{type:"button",class:"wl-btn",onClick:t[0]||(t[0]=(...t)=>e.refresh&&e.refresh(...t)),textContent:x(e.i18n.refresh)},null,8,al)])):(f(),h(w,{key:2},["loading"===e.status?(f(),h("div",rl,[j(s,{size:30})])):e.data.length?e.page<e.totalPages?(f(),h(w,{key:2},[C(" Load more button "),I("div",sl,[I("button",{type:"button",class:"wl-btn",onClick:t[1]||(t[1]=(...t)=>e.loadMore&&e.loadMore(...t)),textContent:x(e.i18n.more)},null,8,cl)])],2112)):C("v-if",!0):(f(),h("div",{key:1,class:"wl-empty",textContent:x(e.i18n.sofa)},null,8,il))],64)),C(" Copyright Information "),e.config.copyright?(f(),h("div",ul,[ml,dl,z(" v"+x(e.version),1)])):C("v-if",!0)])}],["__file","Waline.vue"]]);const vl=(e,t)=>{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},gl=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:l=!0,lang:o="zh-CN"})=>{const a=new AbortController,r=Array.from(document.querySelectorAll(n)),i=e=>{const n=$t(e);return null!==n&&t!==n},s=n=>vt({serverURL:nt(e),paths:n.map((e=>$t(e)||t)),lang:o,signal:a.signal}).then((e=>vl(e,n))).catch(ut);if(l){const n=r.filter((e=>!i(e))),l=r.filter(i);gt({serverURL:nt(e),path:t,lang:o}).then((e=>vl(new Array(n.length).fill(e),n))),l.length&&s(l)}else s(r);return a.abort.bind(a)},fl=({el:e="#waline",path:t=window.location.pathname,comment:n=!1,pageview:l=!1,...o})=>{const a=e?ft(e):null;if(e&&!a)throw new Error("Option 'el' do not match any domElement!");if(!o.serverURL)throw new Error("Option 'serverURL' is missing!");const r=L({...o}),i=L({comment:n,pageview:l,path:t}),s=a?P((()=>d(pl,{path:i.path,...r}))):null;s&&s.mount(a);const c=T((()=>{i.comment&&Rt({serverURL:r.serverURL,path:i.path,selector:"string"==typeof i.comment?i.comment:void 0})})),u=T((()=>{i.pageview&&gl({serverURL:r.serverURL,path:i.path,selector:"string"==typeof i.pageview?i.pageview:void 0})}));return{el:a,update:({comment:e,pageview:t,path:n=window.location.pathname,...l}={})=>{Object.entries(l).forEach((([e,t])=>{r[e]=t})),i.path=n,void 0!==e&&(i.comment=e),void 0!==t&&(i.pageview=t)},destroy:()=>{s?.unmount(),c(),u()}}},hl="2.7.1",yl=({el:e,serverURL:t,count:n,lang:l="zh-CN"})=>{const o=St(),a=ft(e),r=new AbortController;return(({serverURL:e,lang:t,count:n,signal:l,token:o})=>{const a={};return o&&(a.Authorization=`Bearer ${o}`),fetch(`${e}/comment?type=recent&count=${n}&lang=${t}`,{signal:l,headers:a}).then((e=>e.json())).then((e=>dt(e,"recent comment")))})({serverURL:t,count:n,lang:l,signal:r.signal,token:o.value?.token}).then((e=>a&&e.length?(a.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:()=>{r.abort(),a.innerHTML=""}}):{comments:e,destroy:()=>r.abort()}))};export{yl as RecentComments,Rt as commentCount,le as defaultLocales,fl as init,gl as pageviewCount,hl as version};
2
2
  //# sourceMappingURL=shim.esm.js.map