markon-core 0.15.13

markon core - Mark it on.
1
"use strict";(()=>{var K=t=>{if(!t)return null;try{return`markon:diff:viewed:${new URL(t,window.location.origin).pathname}`}catch{return`markon:diff:viewed:${t}`}},R=t=>{let i=K(t);if(!i)return new Set;try{let a=window.localStorage.getItem(i);if(!a)return new Set;let s=JSON.parse(a);return Array.isArray(s)?new Set(s.filter(p=>typeof p=="string")):new Set}catch{return new Set}};var F=t=>{if(!t)return null;try{return`markon:diff:showviewed:${new URL(t,window.location.origin).pathname}`}catch{return`markon:diff:showviewed:${t}`}},P=t=>{let i=F(t);if(!i)return!1;try{let a=window.localStorage.getItem(i);return a===null?!1:a!=="0"}catch{return!1}},O=(t,i)=>{let a=F(t);if(a)try{window.localStorage.setItem(a,i?"1":"0")}catch{}},U="markon:diff-viewed-changed",B="markon:diff-showviewed";function q(t,i){let a=t.get(i);return typeof a=="string"?a:""}function j(t){if(!t||typeof t!="object")return null;let i=t,a={};return Array.isArray(i.base)&&(a.base=i.base),Array.isArray(i.compare)&&(a.compare=i.compare),a}function Z(){let t=document.querySelector("[data-diff-filter]"),i=Array.from(document.querySelectorAll("[data-diff-nav-entry]")),a=document.querySelector("[data-diff-more-toggle]"),s=document.querySelector("[data-diff-more-menu]"),p=document.querySelector("[data-diff-filter-toggle]"),S=document.querySelector("[data-diff-filter-menu]"),L=document.querySelector("[data-diff-show-viewed]"),E=document.querySelector("[data-diff-shell]")?.getAttribute("data-diff-data-url")||"",l=R(E),w=P(E),C=new Set(i.filter(n=>n.getAttribute("data-diff-kind")==="file").map(n=>n.getAttribute("data-diff-path")||"")),y=document.querySelector("[data-diff-viewed-count]"),k=document.querySelector("[data-diff-viewed-count-text]"),V=()=>{if(!y||!k)return;let n=C.size;if(!n){y.hidden=!0;return}let o=0;C.forEach(u=>{l.has(u)&&(o+=1)}),k.textContent=`${o} / ${n} viewed`,y.hidden=!1,y.classList.toggle("is-complete",o===n)},A=new Set,D=n=>{for(let o of A)if(n!==o&&n.startsWith(o+"/"))return!0;return!1},I=(n,o)=>!(!w&&l.has(n)||o&&!n.toLowerCase().includes(o)),T=()=>{let n=(t&&t.value||"").trim().toLowerCase(),o=!!n||!w,u=i.filter(g=>g.getAttribute("data-diff-kind")==="file"&&I(g.getAttribute("data-diff-path")||"",n));i.forEach(g=>{let M=g.getAttribute("data-diff-kind"),h=g.getAttribute("data-diff-path")||"",v;M==="file"?v=I(h,n):v=!o||u.some(e=>(e.getAttribute("data-diff-path")||"").startsWith(h+"/")),v&&!n&&D(h)&&(v=!1),g.style.display=v?"":"none"}),p&&p.classList.toggle("is-active",!w)};t&&t.addEventListener("input",T);let H=document.querySelector("[data-diff-file-list]"),_=n=>{let u=n.closest("[data-diff-nav-entry]")?.getAttribute("data-diff-path")||"";u&&(A.has(u)?A.delete(u):A.add(u),n.setAttribute("aria-expanded",A.has(u)?"false":"true"),T())};H&&(H.addEventListener("click",n=>{let o=n.target;if(o.closest(".git-nav-add"))return;let u=o.closest("[data-diff-dir-toggle]");u&&_(u)}),H.addEventListener("keydown",n=>{if(n.key!=="Enter"&&n.key!==" ")return;let o=n.target.closest("[data-diff-dir-toggle]");o&&(n.preventDefault(),_(o))})),L&&(L.checked=!w,L.addEventListener("change",()=>{w=!L.checked,O(E,w),T(),document.dispatchEvent(new CustomEvent(B,{detail:{showViewed:w}}))})),document.addEventListener(U,n=>{let o=n.detail;l=Array.isArray(o?.viewed)?new Set(o.viewed.filter(u=>typeof u=="string")):R(E),T(),V()});let $=document.querySelector("[data-diff-shell]"),N=[],x=(n,o,u)=>{if(!n||!o)return;let g=M=>{if(M&&N.forEach(h=>{h!==g&&h(!1)}),o.hidden=!M,n.setAttribute("aria-expanded",M?"true":"false"),M){let h=e=>{!o.contains(e.target)&&!n.contains(e.target)&&g(!1)},v=e=>{e.key==="Escape"&&g(!1)};o.__cleanup=()=>{document.removeEventListener("mousedown",h,!0),document.removeEventListener("keydown",v,!0)},document.addEventListener("mousedown",h,!0),document.addEventListener("keydown",v,!0)}else o.__cleanup&&(o.__cleanup(),o.__cleanup=null)};N.push(g),n.addEventListener("click",()=>{u&&!u()||g(!!o.hidden)})};x(a,s,()=>$?.getAttribute("data-current-diff-view")==="raw"),x(p,S),T(),V()}function G(){let t=document.querySelector("[data-diff-shell]");if(!t)return;let i=document.querySelector('meta[name="workspace-id"]')?.getAttribute("content")||"",a=i?`markon:diff:sidebar:${i}`:"markon:diff:sidebar",s=(p,S=!0)=>{if(p?t.setAttribute("data-sidebar-collapsed",""):t.removeAttribute("data-sidebar-collapsed"),S)try{window.localStorage.setItem(a,p?"collapsed":"open")}catch{}};try{window.localStorage.getItem(a)==="collapsed"&&s(!0,!1)}catch{}document.querySelector("[data-sidebar-toggle]")?.addEventListener("click",()=>s(!0)),document.querySelector("[data-sidebar-reopen]")?.addEventListener("click",()=>s(!1))}function J(){let t=document.querySelector("[data-diff-layout-seg]"),i=document.querySelector("[data-virtual-diff]");if(!t||!i)return;let a=Array.from(t.querySelectorAll("[data-layout]")),s=document.querySelector('meta[name="workspace-id"]')?.getAttribute("content")||"",p=s?`markon:diff:rawlayout:${s}`:"markon:diff:rawlayout",S=(()=>{try{return window.localStorage.getItem(p)==="unified"?"unified":"split"}catch{return"split"}})();i.dataset.rawLayout=S;let L=E=>{a.forEach(l=>l.setAttribute("aria-checked",l.getAttribute("data-layout")===E?"true":"false"))};L(S),a.forEach(E=>{E.addEventListener("click",()=>{let l=E.getAttribute("data-layout")==="unified"?"unified":"split";try{window.localStorage.setItem(p,l)}catch{}L(l),window.markonSourceDiff?.setLayout?.(l)})})}function Y(){let t=document.querySelector("[data-diff-shell]");if(!t)return;let i=document.querySelector("[data-diff-view-input]"),a=Array.from(document.querySelectorAll("[data-diff-view-seg] [data-view]")),s=document.querySelector("[data-compare-form]"),p=document.querySelector('meta[name="workspace-id"]')?.getAttribute("content")||"",S=p?`markon:diff:view:${p}`:"markon:diff:view",L=()=>{try{let e=window.localStorage.getItem(S);return e==="raw"||e==="rendered"?e:null}catch{return null}},E=e=>{try{window.localStorage.setItem(S,e)}catch{}},l=e=>e==="rendered"?"rendered":"raw",w=()=>window.location.pathname+window.location.search+window.location.hash,C=()=>{try{return l(new URL(window.location.href).searchParams.get("view"))}catch{return"raw"}},y=()=>{try{let e=window.location.hash||"";return e?decodeURIComponent(e.slice(1)):""}catch{return""}},k=()=>t.getAttribute("data-default-diff-path")||"",V=e=>y()||(l(e)==="rendered"?k():""),A=e=>encodeURIComponent(String(e||"")).replace(/%2F/gi,"/"),D=(e,r,d)=>{try{let f=new URL(e||window.location.href,window.location.origin);return f.searchParams.set("view",l(r)),f.searchParams.delete("f"),f.hash=d?A(d):"",f.pathname+f.search+f.hash}catch{return e||w()}},I=e=>{let r=e==="rendered"?t.getAttribute("data-markdown-url"):t.getAttribute("data-source-url");return D(r,e,V(e))},T=e=>{document.querySelectorAll("[data-diff-scroll-path]").forEach(r=>{let d=!!e&&r.getAttribute("data-diff-scroll-path")===e;r.classList.toggle("is-active",d),r.setAttribute("aria-pressed",d?"true":"false")})},H=e=>{e=e||"",!e&&l(t.getAttribute("data-current-diff-view"))==="rendered"&&(e=k()),T(e),l(t.getAttribute("data-current-diff-view"))==="rendered"?window.markonMarkdownDiff?.selectPath?.(e||null):window.markonSourceDiff?.selectPath?.(e||null)},_=e=>{let r=l(t.getAttribute("data-current-diff-view"));!e&&r==="rendered"&&(e=k());let d=D(window.location.href,r,e||"");d!==w()&&history.pushState({markonDiffView:r,markonDiffPath:e||null},"",d)},$=(e,r)=>{e=e||"",r&&e&&y()===e&&(e=""),r&&_(e),H(e)},N=e=>e==="rendered"?window.markonMarkdownDiff:window.markonSourceDiff,x=(e,r)=>{e=l(e);let d=l(t.getAttribute("data-current-diff-view")),f=null;if(d!==e){let m=N(d);if(m?.topAnchor)try{f=m.topAnchor()}catch{}}t.setAttribute("data-current-diff-view",e),document.querySelectorAll("[data-diff-view-panel]").forEach(m=>{let W=m.getAttribute("data-diff-view-panel")===e;m.hidden=!W}),a.forEach(m=>{m.setAttribute("aria-pressed",m.getAttribute("data-view")===e?"true":"false")}),i&&(i.value=e,i.disabled=!1);let b=I(e);r&&b&&b!==w()?history.pushState({markonDiffView:e},"",b):!r&&e==="rendered"&&!y()&&k()&&history.replaceState({markonDiffView:e,markonDiffPath:k()},"",b),H(V(e));let c=N(e);c&&(f&&c.anchorTo&&c.anchorTo(f),c.load&&c.load()),document.dispatchEvent(new CustomEvent("markon:diff-view-change",{detail:{view:e}}))};document.querySelectorAll("[data-diff-scroll-path]").forEach(e=>{e.addEventListener("click",r=>{r.preventDefault(),r.stopImmediatePropagation(),$(e.getAttribute("data-diff-scroll-path")||"",!0)})}),a.forEach(e=>{e.addEventListener("click",()=>{let r=l(e.getAttribute("data-view"));r!==l(t.getAttribute("data-current-diff-view"))&&(E(r),x(r,!0))})});let n=e=>(e||"").split("/").map(encodeURIComponent).join("/"),o=()=>{if(!s)return;let e=new FormData(s),r=q(e,"base"),d=q(e,"compare"),f=s.getAttribute("data-compare-path-base")||"";if(!r||!d||!f)return;let b=l(t.getAttribute("data-current-diff-view")),c=D(f+"/"+n(r)+"..."+n(d),b,y());c!==w()&&(window.location.href=c)},u=(e,r)=>{if(!s||!Array.isArray(r))return;let d=s.querySelector('select[name="'+e+'"]');if(!d)return;let f=d.value,b=new Map;r.forEach(c=>{c&&typeof c.value=="string"&&b.set(c.value,!!c.disabled)}),Array.prototype.forEach.call(d.options,c=>{if(c.value===f){c.disabled=!1;return}let m=b.get(c.value);m!==void 0&&(c.disabled=m)})},g=()=>{if(!s||!window.fetch)return;let e=s.getAttribute("data-compare-options-status-url");if(!e)return;let r=new FormData(s),d=q(r,"base"),f=q(r,"compare");if(!d||!f)return;let b=e+"?base="+encodeURIComponent(d)+"&compare="+encodeURIComponent(f);fetch(b,{headers:{Accept:"application/json"}}).then(c=>c.ok?c.json():null).then(c=>{let m=j(c);m&&(u("base",m.base??[]),u("compare",m.compare??[]))}).catch(()=>{})};s&&(s.addEventListener("submit",e=>{e.preventDefault(),o()}),s.querySelectorAll("select").forEach(e=>{e.addEventListener("change",o)}),g()),window.addEventListener("popstate",()=>{x(C(),!1)}),window.addEventListener("hashchange",()=>{H(y())});let M=l(t.getAttribute("data-current-diff-view")||C()),h=L(),v=h||M;if(h&&h!==C()){let e=I(v);e&&e!==w()&&history.replaceState({markonDiffView:v},"",e)}x(v,!1)}Z();Y();G();J();})();