spec-up-t 1.1.33 → 1.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/compiled/body.js +7 -8
- package/assets/compiled/head.css +6 -6
- package/assets/css/adjust-font-size.css +21 -0
- package/assets/css/create-alphabet-index.css +3 -3
- package/assets/css/header-navbar.css +4 -0
- package/assets/css/index.css +197 -1
- package/assets/css/modal.css +3 -3
- package/assets/css/terms-and-definitions.css +2 -3
- package/assets/css/theme-vars.css +9 -0
- package/assets/js/add-href-to-snapshot-link.js +1 -1
- package/assets/js/collapse-definitions.js +1 -1
- package/assets/js/edit-term-buttons.js +1 -1
- package/assets/js/modal.js +3 -3
- package/assets/js/search.js +13 -4
- package/assets/js/show-commit-hashes.js +5 -5
- package/assets/js/token-input.js +1 -6
- package/package.json +1 -1
- package/readme.md +1 -1
- package/src/asset-map.json +0 -1
- package/src/collect-external-references.js +1 -1
- package/src/collectExternalReferences/checkRateLimit.js +2 -2
- package/src/install-from-boilerplate/boilerplate/README.md +1 -1
- package/src/install-from-boilerplate/boilerplate/spec/spec-head.md +1 -1
- package/src/install-from-boilerplate/help.txt +1 -1
- package/src/install-from-boilerplate/menu.sh +5 -5
- package/templates/template.html +33 -10
- package/assets/js/help-buttons.js +0 -37
package/assets/compiled/body.js
CHANGED
|
@@ -94,9 +94,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
94
94
|
* @license MIT
|
|
95
95
|
* @since 2024-06-09
|
|
96
96
|
*/
|
|
97
|
-
function editTermButtons(){const t=((e=specConfig.spec_directory).startsWith("./")?e=e.substring(2):e.startsWith("/")&&(e=e.substring(1)),e.endsWith("/")&&(e=e.slice(0,-1)),e);var e;document.querySelectorAll('dt:has(> span[id^="term:"])').forEach(e=>{const n=function(t){let e=t;for(;e.querySelector('span[id^="term:"]');)e=e.querySelector('span[id^="term:"]');return e}(e),s=n.getAttribute("id").split(":")[1];n.innerHTML+=`<span class="edit-term-buttons"><a title="Link to the term file in the Github repo in a new tab" target="_blank" rel="noopener" href="https://github.com/${specConfig.source.account}/${specConfig.source.repo}/blob/main/${t}/${specConfig.spec_terms_directory}/${s}.md" class="edit-term-button btn">🖊️</a><a title="Link to a GitHub page that shows a history of the edits in a new tab" target="_blank" rel="noopener" href="https://github.com/${specConfig.source.account}/${specConfig.source.repo}/commits/main/${t}/${specConfig.spec_terms_directory}/${s}.md" class="history-term-button btn">📅</a></span>`})}document.addEventListener("DOMContentLoaded",(function(){editTermButtons()}));
|
|
97
|
+
function editTermButtons(){const t=((e=specConfig.spec_directory).startsWith("./")?e=e.substring(2):e.startsWith("/")&&(e=e.substring(1)),e.endsWith("/")&&(e=e.slice(0,-1)),e);var e;document.querySelectorAll('dt:has(> span[id^="term:"])').forEach(e=>{const n=function(t){let e=t;for(;e.querySelector('span[id^="term:"]');)e=e.querySelector('span[id^="term:"]');return e}(e),s=n.getAttribute("id").split(":")[1];n.innerHTML+=`<span class="edit-term-buttons"><a title="Link to the term file in the Github repo in a new tab" target="_blank" rel="noopener" href="https://github.com/${specConfig.source.account}/${specConfig.source.repo}/blob/main/${t}/${specConfig.spec_terms_directory}/${s}.md" class="p-1 edit-term-button btn">🖊️</a><a title="Link to a GitHub page that shows a history of the edits in a new tab" target="_blank" rel="noopener" href="https://github.com/${specConfig.source.account}/${specConfig.source.repo}/commits/main/${t}/${specConfig.spec_terms_directory}/${s}.md" class="p-1 history-term-button btn">📅</a></span>`})}document.addEventListener("DOMContentLoaded",(function(){editTermButtons()}));
|
|
98
98
|
function createAlphabetIndex(){const e=document.getElementById("terminology-section-utility-container"),t=document.querySelector(".terms-and-definitions-list").querySelectorAll("dt"),n={};t.forEach(e=>{const t=e.querySelector("span");if(t&&t.id){const e=t.id,o=e.charAt(e.indexOf("term:")+5).toUpperCase();n[o]||(n[o]=t.id)}});const o=document.createElement("div");o.className="alphabet-index-container";const c=document.createElement("p");c.className="number-of-terms",c.textContent=`– There are ${t.length} terms –`,e.appendChild(c),Object.keys(n).sort().forEach(e=>{const t=document.createElement("a");t.href="#"+n[e],t.textContent=e,o.appendChild(t)}),e.appendChild(o)}document.addEventListener("DOMContentLoaded",(function(){createAlphabetIndex()}));
|
|
99
|
-
function inPageSearch(){const t=document.getElementById("terminology-section-utility-container"),e=specConfig.searchHighlightStyle||"ssi",n="search-h7vc6omi2hr2880",i=document.querySelector(".terms-and-definitions-list"),o=document.createElement("div");o.setAttribute("id","container-"+n),o.classList.add("input-group","mb-3","d-flex","align-items-center"),o.setAttribute("role","search"),t.appendChild(o);const
|
|
99
|
+
function inPageSearch(){const t=document.getElementById("terminology-section-utility-container"),e=specConfig.searchHighlightStyle||"ssi",n="search-h7vc6omi2hr2880",i=document.querySelector(".terms-and-definitions-list"),o=document.createElement("div");o.setAttribute("id","container-"+n),o.classList.add("input-group","mb-3","d-flex","align-items-center"),o.setAttribute("role","search"),t.appendChild(o);const s=document.createElement("input");s.setAttribute("type","text"),s.setAttribute("id",n),s.classList.add("form-control"),s.setAttribute("placeholder","🔍"),s.setAttribute("aria-label","Search terms"),s.setAttribute("autocomplete","off"),o.appendChild(s);const c=document.createElement("div");c.classList.add("input-group-append");const a=document.createElement("button");a.setAttribute("id","one-match-backward-"+n),a.classList.add("btn","btn-outline-secondary"),a.setAttribute("type","button"),a.setAttribute("disabled","true"),a.setAttribute("title","Go to previous match (Left Arrow)"),a.setAttribute("aria-label","Go to previous match"),a.innerHTML='<span aria-hidden="true">▲</span>',c.appendChild(a);const r=document.createElement("button");r.setAttribute("id","one-match-forward-"+n),r.classList.add("btn","btn-outline-secondary"),r.setAttribute("type","button"),r.setAttribute("disabled","true"),r.setAttribute("title","Go to next match (Right Arrow)"),r.setAttribute("aria-label","Go to next match"),r.innerHTML='<span aria-hidden="true">▼</span>',c.appendChild(r);const d=document.createElement("span");d.setAttribute("id","total-matches-"+n),d.classList.add("input-group-text"),d.innerHTML="0 matches",d.setAttribute("aria-live","polite"),d.setAttribute("role","status"),o.appendChild(d),o.appendChild(c),s.addEventListener("input",(function(){f(s.value)})),document.addEventListener("click",t=>{t.target.classList.contains("collapse-all-defs-button")&&f(s.value)});const l="highlight-matches-"+n,u={dif:"highlight-matches-DIF-search-h7vc6omi2hr2880",toip:"highlight-matches-ToIP-search-h7vc6omi2hr2880",btc:"highlight-matches-BTC-search-h7vc6omi2hr2880",keri:"highlight-matches-KERI-search-h7vc6omi2hr2880",ssi:"highlight-matches-SSI-search-h7vc6omi2hr2880",gleif:"highlight-matches-GLEIF-search-h7vc6omi2hr2880"}[e.toLowerCase()];let h=0,m=-1;function p(t){t.scrollIntoView({behavior:"smooth",block:"start"});const e=t.getBoundingClientRect(),n=e.top+window.pageYOffset-(window.innerHeight-e.height)/2;window.scrollTo({top:n,behavior:"smooth"})}function b(){m<=0?document.getElementById("one-match-backward-"+n).setAttribute("disabled","disabled"):document.getElementById("one-match-backward-"+n).removeAttribute("disabled"),m>=h-1?document.getElementById("one-match-forward-"+n).setAttribute("disabled","disabled"):document.getElementById("one-match-forward-"+n).removeAttribute("disabled")}function g(){d.innerHTML=h+" matches"}const f=function(t,e){let n;return function(){const i=this,o=arguments;clearTimeout(n),n=setTimeout(()=>t.apply(i,o),e)}}((function(t){void document.querySelectorAll("span."+l).forEach(t=>{Array.from(t.childNodes).forEach(e=>{e.nodeType===Node.ELEMENT_NODE&&t.removeChild(e)}),t.classList.contains(l)&&(t.outerHTML=t.innerHTML)}),h=0,m=-1,t.length>=2&&('"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1])&&(t=t.substring(1,t.length-1));if(""===t)return void g();let e=0;!function i(o){if(3!==o.nodeType||function(t){for(;t;){if(t.classList&&t.classList.contains("hidden"))return!0;t=t.parentNode}return!1}(o))1===o.nodeType&&Array.from(o.childNodes).forEach(i);else{const i=function(i){const o=i.nodeValue,s=new RegExp(t,"gi");let c,a=0,r=document.createDocumentFragment();for(;null!==(c=s.exec(o));){r.appendChild(document.createTextNode(o.substring(a,c.index)));const t=document.createElement("span");t.textContent=c[0],t.classList.add(l),t.classList.add(u),t.setAttribute("id",n+"-"+e),r.appendChild(t),h=e+1,e++,a=c.index+c[0].length}return r.appendChild(document.createTextNode(o.substring(a))),r}(o);i.childNodes.length>1&&o.parentNode.replaceChild(i,o)}}(i);let o=document.querySelector("."+u);null!==o&&p(o);g(),b(),m=-1}),600);a.addEventListener("click",(function(){m--;const t=document.querySelector("#"+n+"-"+m);t&&p(t),t.classList.add("active"),setTimeout(()=>{t.classList.remove("active")},3e3),b()})),r.addEventListener("click",(function(){m++;const t=document.querySelector("#"+n+"-"+m);t&&p(t),t.classList.add("active"),setTimeout(()=>{t.classList.remove("active")},3e3),b()})),document.addEventListener("keyup",t=>{switch(t.key){case"ArrowRight":r.click();break;case"ArrowLeft":a.click()}})}document.addEventListener("DOMContentLoaded",(function(){inPageSearch()}));
|
|
100
100
|
function highlightMenuItems(){let t=null;function e(t){document.querySelectorAll("#toc_list a").forEach(t=>{t.classList.remove("highlight-cfib41dyhcd99sm")});const e=document.querySelector(`#toc_list a[href="#${t.id}"]`);e&&(e.classList.add("highlight-cfib41dyhcd99sm"),e.scrollIntoView({behavior:"smooth",block:"center"}))}const o=new IntersectionObserver((o,n)=>{const c=o.filter(t=>t.isIntersecting).map(t=>t.target);c.length>0?(t=c[0],e(t)):t&&e(t)},{root:null,rootMargin:"0px",threshold:.1});document.querySelectorAll("h2, h3, h4, h5, h6").forEach(t=>o.observe(t))}document.addEventListener("DOMContentLoaded",(function(){highlightMenuItems()}));
|
|
101
101
|
function backToTop(){const n=document.createElement("a");n.id="back-to-top-a1zncgtqfpzsig8",n.href="#content",n.innerHTML="↑",document.body.appendChild(n);const t=function(n,t){let e;return function(){const o=this,c=arguments;clearTimeout(e),e=setTimeout(()=>n.apply(o,c),t)}}((function(){window.scrollY>300?n.style.display="flex":n.style.display="none"}),600);window.addEventListener("scroll",(function(){t()}))}document.addEventListener("DOMContentLoaded",(function(){backToTop()}));
|
|
102
102
|
/**
|
|
@@ -125,15 +125,14 @@ function backToTop(){const n=document.createElement("a");n.id="back-to-top-a1znc
|
|
|
125
125
|
* @license MIT
|
|
126
126
|
* @since 2024-06-09
|
|
127
127
|
*/
|
|
128
|
-
var md=window.markdownit();function fetchCommitHashes(){async function e(e,
|
|
128
|
+
var md=window.markdownit();function fetchCommitHashes(){async function e(e,r){const i=document.createElement("div");i.classList.add("fetched-xref-term"),i.classList.add("transcluded-xref-term"),i.innerHTML="<p class='loadertext'>Loading external reference</p><div class='loader'></div>",r.parentNode.insertBefore(i,r.nextSibling);const s=async function(e,t){const r={};e&&e.length>0&&(r.Authorization="token "+e);try{const e=await fetch("https://api.github.com/repos/"+t.owner+"/"+t.repo+"/contents/"+t.terms_dir+"/"+t.term.replace(/ /g,"-").toLowerCase()+".md",{headers:r});if(403===e.status&&"0"===e.headers.get("X-RateLimit-Remaining")){const t=new Date(1e3*e.headers.get("X-RateLimit-Reset"));return console.error(`❌ Github API rate limit exceeded. Try again after ${t}. See https://blockchainbird.github.io/spec-up-t-website/docs/getting-started/github-token for more info.`),o(),!0}console.log(`ℹ️ Github API rate limit: ${e.headers.get("X-RateLimit-Remaining")} requests remaining. See https://blockchainbird.github.io/spec-up-t-website/docs/getting-started/github-token for more info.`);const s=await e.json(),a=atob(s.content);return i=(i=a).replace(/\[\[def: ([^\]]+)\]\]/g,""),n.render(i)}catch(e){console.error("Error fetching content:",e)}var i}(t,e),a=new Promise(e=>setTimeout(e,2e3)),[c]=await Promise.all([s,a]),d=Date.now(),l=new Date(d).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"});i.innerHTML="<p class='transclusion-heading'>Current definition</p><small>"+l+"</small>"+c}if("undefined"==typeof allXTrefs||null===allXTrefs)return void console.log("allXTrefs is not defined or does not exist. We will continue without it.");const t=localStorage.getItem("githubToken"),n=window.markdownit().use(window.markdownitDeflist);const o=function(e,t){let n;return function(...o){clearTimeout(n),n=setTimeout(()=>e.apply(this,o),t)}}(()=>{notyf.error('GitHub API rate limit exceeded. See <a target="_blank" rel="noopener" href="https://blockchainbird.github.io/spec-up-t-website/docs/getting-started/github-token">documentation</a> for more info.')},3e3);document.querySelectorAll(".x-term-reference").forEach(r=>{const i=r.getAttribute("data-local-href").split(":");allXTrefs.xtrefs.forEach(s=>{if(s.externalSpec===i[1]&&s.term.toLowerCase()===i[2].toLowerCase()){if(!s.commitHash){const e=document.createElement("span");return e.classList.add("no-xref-found-message"),e.innerHTML="No xref found.",void r.parentNode.insertBefore(e,r.nextSibling)}s.commitHash&&s.commitHash&&s.commitHash.substring(0,7);const i=document.createElement("a");i.href="https://github.com/"+s.owner+"/"+s.repo+"/compare/"+s.commitHash+"../main",i.target="_blank",i.rel="noopener noreferrer",i.classList.add("diff","xref-info-links","btn"),i.innerHTML='<svg icon><use xlink:href="#svg-github"></use></svg> Xref < > <svg icon><use xlink:href="#svg-github"></use></svg> Now',i.title="A Diff between the current commit hash of the definition and the commit hash referenced when the link was created.",r.parentNode.insertBefore(i,r.nextSibling);const a=document.createElement("a");a.href="https://github.com/"+s.owner+"/"+s.repo+"/blob/main/"+s.terms_dir+"/"+s.term.replace(/ /g,"-").toLowerCase()+".md",a.target="_blank",a.rel="noopener noreferrer",a.classList.add("latest-version","xref-info-links","btn"),a.innerHTML='<svg icon><use xlink:href="#svg-github"></use></svg> Now',a.title="Go to the repo page of the definition‘s latest version.",i.parentNode.insertBefore(a,r.nextSibling);const c=document.createElement("a");c.href="https://github.com/"+s.owner+"/"+s.repo+"/blob/"+s.commitHash+"/"+s.terms_dir+"/"+s.term.replace(/ /g,"-").toLowerCase()+".md",c.target="_blank",c.rel="noopener noreferrer",c.classList.add("exact-commit-hash","xref-info-links","btn"),c.innerHTML='<svg icon><use xlink:href="#svg-github"></use></svg> Xref',c.title="Go to the repo page of the definition‘s version referenced when the link was created.",a.parentNode.insertBefore(c,r.nextSibling);const d=document.createElement("button");d.classList.add("show-diff-modal","xref-info-links","btn"),d.innerHTML='Xref < > <svg icon><use xlink:href="#svg-github"></use></svg> Now',d.title="Show diff between the latest version and the referenced version",a.parentNode.insertBefore(d,r.nextSibling),d.addEventListener("click",(function(e){e.preventDefault(),function(e,t){const n={};e&&e.length>0&&(n.Authorization="token "+e),fetch("https://api.github.com/repos/"+t.owner+"/"+t.repo+"/contents/"+t.terms_dir+"/"+t.term.replace(/ /g,"-").toLowerCase()+".md",{headers:n}).then(e=>{if(403===e.status&&"0"===e.headers.get("X-RateLimit-Remaining")){const t=new Date(1e3*e.headers.get("X-RateLimit-Reset"));return console.error(`❌ Github API rate limit exceeded. Try again after ${t}. See https://blockchainbird.github.io/spec-up-t-website/docs/getting-started/github-token for more info.`),o(),!0}return console.log(`ℹ️ Github API rate limit: ${e.headers.get("X-RateLimit-Remaining")} requests remaining. See https://blockchainbird.github.io/spec-up-t-website/docs/getting-started/github-token for more info.`),e.json()}).then(e=>{const n=atob(e.content),o=Diff.diffChars(t.content,n),r=document.createDocumentFragment();o.forEach(e=>{const t=e.added?"green":e.removed?"red":"grey",n=e.added||e.removed?"#ddd":"white";span=document.createElement("span"),span.style.color=t,span.style.backgroundColor=n,span.appendChild(document.createTextNode(e.value)),r.appendChild(span)});const i=document.createElement("div");i.innerHTML="<h1>Diff xref (local snapshot) and latest version</h1>",i.appendChild(r),i.innerHTML=i.innerHTML.replace(/\n/g,"<br>"),showModal(i.innerHTML)}).catch(e=>{console.error("Error fetching content:",e)})}(t,s)}));const l=document.createElement("button");l.classList.add("show-diff-modal","xref-info-links","btn"),l.innerHTML="Xref",l.title="Show the stored version of the term-file",d.parentNode.insertBefore(l,r.nextSibling);const h=/\[\[def: ([^\]]+)\]\]/g;s.content=s.content.replace(h,"");const m=n.render(s.content);l.addEventListener("click",(function(e){e.preventDefault(),showModal(`\n <h1>Term definition (local snapshot)</h1>\n <table>\n <tr>\n <th>Commit hash</th>\n <td>${s.commitHash}</td>\n </tr>\n <tr>\n <th>Content</th>\n <td>${m}</td>\n </tr>\n </table>\n `)}));const f=document.createElement("div");f.classList.add("local-snapshot-xref-term"),f.classList.add("transcluded-xref-term"),f.innerHTML=`<p class='transclusion-heading'>Snapshot</p><p>Commit Hash: ${s.commitHash}</p> ${m}`,r.parentNode.insertBefore(f,r.nextSibling),e(s,r)}})})}document.addEventListener("DOMContentLoaded",(function(){fetchCommitHashes()}));
|
|
129
129
|
function addAnchorsToTerms(){document.querySelectorAll('dt:has(> span[id^="term:"])').forEach(e=>{const t=function(e){let t=e;for(;t.querySelector('span[id^="term:"]');)t=t.querySelector('span[id^="term:"]');return t}(e),r=t.getAttribute("id"),n=document.createElement("a");n.setAttribute("href","#"+r),n.setAttribute("class","toc-anchor"),n.innerHTML="# ",t.parentNode.insertBefore(n,t)})}document.addEventListener("DOMContentLoaded",(function(){addAnchorsToTerms()}));
|
|
130
130
|
function copyAnchorToCliboard(){document.addEventListener("click",(function(o){if(o.target.classList.contains("toc-anchor")){const c=o.target.href;navigator.clipboard.writeText(c).then(()=>{console.log("Anchor copied to clipboard"),notyf.success("Anchor copied to clipboard: "+c)}).catch(o=>{console.error("Failed to copy anchor to clipboard",o)})}}))}document.addEventListener("DOMContentLoaded",(function(){copyAnchorToCliboard()}));
|
|
131
131
|
var Notyf=function(){"use strict";var t,i=function(){return(i=Object.assign||function(t){for(var i,e=1,n=arguments.length;e<n;e++)for(var o in i=arguments[e])Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o]);return t}).apply(this,arguments)},e=(n.prototype.on=function(t,i){var e=this.listeners[t]||[];this.listeners[t]=e.concat([i])},n.prototype.triggerEvent=function(t,i){var e=this;(this.listeners[t]||[]).forEach((function(t){return t({target:e,event:i})}))},n);function n(t){this.options=t,this.listeners={}}(s=t=t||{})[s.Add=0]="Add",s[s.Remove=1]="Remove";var o,s,a=(r.prototype.push=function(i){this.notifications.push(i),this.updateFn(i,t.Add,this.notifications)},r.prototype.splice=function(i,e){return e=this.notifications.splice(i,e)[0],this.updateFn(e,t.Remove,this.notifications),e},r.prototype.indexOf=function(t){return this.notifications.indexOf(t)},r.prototype.onUpdate=function(t){this.updateFn=t},r);function r(){this.notifications=[]}(s=o=o||{}).Dismiss="dismiss";var c={types:[{type:"success",className:"notyf__toast--success",backgroundColor:"#3dc763",icon:{className:"notyf__icon--success",tagName:"i"}},{type:"error",className:"notyf__toast--error",backgroundColor:"#ed3d3d",icon:{className:"notyf__icon--error",tagName:"i"}}],duration:2e3,ripple:!0,position:{x:"right",y:"bottom"},dismissible:!(s.Click="click")},p=(d.prototype.on=function(t,e){var n;this.events=i(i({},this.events),((n={})[t]=e,n))},d.prototype.update=function(i,e){e===t.Add?this.addNotification(i):e===t.Remove&&this.removeNotification(i)},d.prototype.removeNotification=function(t){var i,e,n=this;(t=this._popRenderedNotification(t))&&((e=t.node).classList.add("notyf__toast--disappear"),e.addEventListener(this.animationEndEventName,i=function(t){t.target===e&&(e.removeEventListener(n.animationEndEventName,i),n.container.removeChild(e))}))},d.prototype.addNotification=function(t){var i=this._renderNotification(t);this.notifications.push({notification:t,node:i}),this._announce(t.options.message||"Notification")},d.prototype._renderNotification=function(t){var i=this._buildNotificationCard(t),e=t.options.className;return e&&(t=i.classList).add.apply(t,e.split(" ")),this.container.appendChild(i),i},d.prototype._popRenderedNotification=function(t){for(var i=-1,e=0;e<this.notifications.length&&i<0;e++)this.notifications[e].notification===t&&(i=e);if(-1!==i)return this.notifications.splice(i,1)[0]},d.prototype.getXPosition=function(t){return(null===(t=null==t?void 0:t.position)||void 0===t?void 0:t.x)||"right"},d.prototype.getYPosition=function(t){return(null===(t=null==t?void 0:t.position)||void 0===t?void 0:t.y)||"bottom"},d.prototype.adjustContainerAlignment=function(t){var i=this.X_POSITION_FLEX_MAP[this.getXPosition(t)],e=this.Y_POSITION_FLEX_MAP[this.getYPosition(t)];(t=this.container.style).setProperty("justify-content",e),t.setProperty("align-items",i)},d.prototype._buildNotificationCard=function(t){var i=this,e=t.options,n=e.icon;this.adjustContainerAlignment(e);var s=this._createHTMLElement({tagName:"div",className:"notyf__toast"}),a=this._createHTMLElement({tagName:"div",className:"notyf__ripple"}),r=this._createHTMLElement({tagName:"div",className:"notyf__wrapper"}),c=this._createHTMLElement({tagName:"div",className:"notyf__message"});c.innerHTML=e.message||"";var p,d,l,u,f=e.background||e.backgroundColor;return n&&(p=this._createHTMLElement({tagName:"div",className:"notyf__icon"}),("string"==typeof n||n instanceof String)&&(p.innerHTML=new String(n).valueOf()),"object"==typeof n&&(d=n.tagName,l=n.className,u=n.text,n=void 0===(n=n.color)?f:n,u=this._createHTMLElement({tagName:void 0===d?"i":d,className:l,text:u}),n&&(u.style.color=n),p.appendChild(u)),r.appendChild(p)),r.appendChild(c),s.appendChild(r),f&&(e.ripple?(a.style.background=f,s.appendChild(a)):s.style.background=f),e.dismissible&&(a=this._createHTMLElement({tagName:"div",className:"notyf__dismiss"}),f=this._createHTMLElement({tagName:"button",className:"notyf__dismiss-btn"}),a.appendChild(f),r.appendChild(a),s.classList.add("notyf__toast--dismissible"),f.addEventListener("click",(function(e){var n,s;null!==(s=(n=i.events)[o.Dismiss])&&void 0!==s&&s.call(n,{target:t,event:e}),e.stopPropagation()}))),s.addEventListener("click",(function(e){var n,s;return null===(s=(n=i.events)[o.Click])||void 0===s?void 0:s.call(n,{target:t,event:e})})),e="top"===this.getYPosition(e)?"upper":"lower",s.classList.add("notyf__toast--"+e),s},d.prototype._createHTMLElement=function(t){var i=t.tagName,e=t.className;t=t.text,i=document.createElement(i);return e&&(i.className=e),i.textContent=t||null,i},d.prototype._createA11yContainer=function(){var t=this._createHTMLElement({tagName:"div",className:"notyf-announcer"});t.setAttribute("aria-atomic","true"),t.setAttribute("aria-live","polite"),t.style.border="0",t.style.clip="rect(0 0 0 0)",t.style.height="1px",t.style.margin="-1px",t.style.overflow="hidden",t.style.padding="0",t.style.position="absolute",t.style.width="1px",t.style.outline="0",document.body.appendChild(t),this.a11yContainer=t},d.prototype._announce=function(t){var i=this;this.a11yContainer.textContent="",setTimeout((function(){i.a11yContainer.textContent=t}),100)},d.prototype._getAnimationEndEventName=function(){var t,i=document.createElement("_fake"),e={MozTransition:"animationend",OTransition:"oAnimationEnd",WebkitTransition:"webkitAnimationEnd",transition:"animationend"};for(t in e)if(void 0!==i.style[t])return e[t];return"animationend"},d);function d(){this.notifications=[],this.events={},this.X_POSITION_FLEX_MAP={left:"flex-start",center:"center",right:"flex-end"},this.Y_POSITION_FLEX_MAP={top:"flex-start",center:"center",bottom:"flex-end"};var t=document.createDocumentFragment(),i=this._createHTMLElement({tagName:"div",className:"notyf"});t.appendChild(i),document.body.appendChild(t),this.container=i,this.animationEndEventName=this._getAnimationEndEventName(),this._createA11yContainer()}function l(t){var e=this;this.dismiss=this._removeNotification,this.notifications=new a,this.view=new p;var n=this.registerTypes(t);this.options=i(i({},c),t),this.options.types=n,this.notifications.onUpdate((function(t,i){return e.view.update(t,i)})),this.view.on(o.Dismiss,(function(t){var i=t.target;t=t.event;e._removeNotification(i),i.triggerEvent(o.Dismiss,t)})),this.view.on(o.Click,(function(t){var i=t.target;t=t.event;return i.triggerEvent(o.Click,t)}))}return l.prototype.error=function(t){return t=this.normalizeOptions("error",t),this.open(t)},l.prototype.success=function(t){return t=this.normalizeOptions("success",t),this.open(t)},l.prototype.open=function(t){var n=this.options.types.find((function(i){return i.type===t.type}))||{};n=i(i({},n),t);return this.assignProps(["ripple","position","dismissible"],n),n=new e(n),this._pushNotification(n),n},l.prototype.dismissAll=function(){for(;this.notifications.splice(0,1););},l.prototype.assignProps=function(t,i){var e=this;t.forEach((function(t){i[t]=(null==i[t]?e.options:i)[t]}))},l.prototype._pushNotification=function(t){var i=this;this.notifications.push(t);var e=(void 0!==t.options.duration?t:this).options.duration;e&&setTimeout((function(){return i._removeNotification(t)}),e)},l.prototype._removeNotification=function(t){-1!==(t=this.notifications.indexOf(t))&&this.notifications.splice(t,1)},l.prototype.normalizeOptions=function(t,e){return t={type:t},"string"==typeof e?t.message=e:"object"==typeof e&&(t=i(i({},t),e)),t},l.prototype.registerTypes=function(t){var e=(t&&t.types||[]).slice();return c.types.map((function(t){var n=-1;e.forEach((function(i,e){i.type===t.type&&(n=e)}));var o=-1!==n?e.splice(n,1)[0]:{};return i(i({},t),o)})).concat(e)},l}(),notyf=new Notyf({types:[{type:"success",background:"#1D6DAE",duration:3e3},{type:"error",background:"orange",duration:1e7,dismissible:!0}]});
|
|
132
|
-
function showModal(e){const n=document.createElement("div");n.className="modal-overlay";const
|
|
133
|
-
function tokenInput(){
|
|
132
|
+
function showModal(e){const n=document.createElement("div");n.className="spec-up-t-modal-overlay";const c=document.createElement("div");c.className="spec-up-t-modal";const t=document.createElement("button");function o(){document.body.removeChild(n)}t.className="spec-up-t-modal-close",t.innerHTML="×",t.onclick=o,c.innerHTML=e,c.appendChild(t),n.appendChild(c),document.body.appendChild(n),n.onclick=function(e){e.target===n&&o()},document.addEventListener("keydown",(function(e){"Escape"===e.key&&o()}),{once:!0})}
|
|
133
|
+
function tokenInput(){document.querySelector(".button-token-input").addEventListener("click",()=>{const t=prompt("Please enter your GitHub token:");t?(localStorage.setItem("githubToken",t),console.log("GitHub token is set.")):alert("GitHub token is not set.")})}document.addEventListener("DOMContentLoaded",(function(){tokenInput()}));
|
|
134
134
|
function pdfDownload(){fetch("index.pdf",{method:"HEAD"}).then(e=>{if(e.ok){let e=document.createElement("a");e.classList.add("button-pdf-download"),e.classList.add("btn"),e.target="_blank",e.rel="noopener noreferrer",e.href="index.pdf",e.title="Download this page as a PDF",e.innerHTML="PDF",document.querySelector("#container-search-h7vc6omi2hr2880").appendChild(e)}else console.log("PDF file does not exist. No PDF download button will be added.")}).catch(e=>{console.error("Error checking PDF file:",e)})}document.addEventListener("DOMContentLoaded",(function(){pdfDownload()}));
|
|
135
|
-
function
|
|
136
|
-
function collapseDefinitions(){const t=document.querySelectorAll("#content dl.terms-and-definitions-list > dd"),e=document.querySelectorAll("#content dl.terms-and-definitions-list > dt"),n=document.querySelectorAll(".collapse-all-defs-button");e.forEach(t=>{const e=document.createElement("button");e.classList.add("collapse-all-defs-button","btn"),e.innerHTML="▲",e.setAttribute("id","toggleButton"),t.appendChild(e)}),document.addEventListener("click",e=>{e.target.classList.contains("collapse-all-defs-button")&&(!function(){const e=t[0].classList.contains("hidden");t.forEach(t=>{t.classList.toggle("hidden",!e),t.classList.toggle("visible",e)}),n.forEach(t=>{t.innerHTML=e?"▲":"▼",t.title=e?"Collapse all definitions":"Expand all definitions"})}(),e.target.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"}),setTimeout(()=>{window.scrollBy({top:-100,behavior:"smooth"})},500))})}document.addEventListener("DOMContentLoaded",(function(){collapseDefinitions()}));
|
|
135
|
+
function collapseDefinitions(){const t=document.querySelectorAll("#content dl.terms-and-definitions-list > dd"),e=document.querySelectorAll("#content dl.terms-and-definitions-list > dt"),n=document.querySelectorAll(".collapse-all-defs-button");e.forEach(t=>{const e=document.createElement("button");e.classList.add("collapse-all-defs-button","btn","p-0","fs-5","d-flex","align-items-center","justify-content-center"),e.innerHTML="▲",e.setAttribute("id","toggleButton"),t.appendChild(e)}),document.addEventListener("click",e=>{e.target.classList.contains("collapse-all-defs-button")&&(!function(){const e=t[0].classList.contains("hidden");t.forEach(t=>{t.classList.toggle("hidden",!e),t.classList.toggle("visible",e)}),n.forEach(t=>{t.innerHTML=e?"▲":"▼",t.title=e?"Collapse all definitions":"Expand all definitions"})}(),e.target.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"}),setTimeout(()=>{window.scrollBy({top:-100,behavior:"smooth"})},500))})}document.addEventListener("DOMContentLoaded",(function(){collapseDefinitions()}));
|
|
137
136
|
function createToggleButton(t){const e=document.createElement("button");e.classList.add("meta-info-toggle-button","btn"),e.textContent="ℹ️",e.title="Meta info",e.addEventListener("click",(function(){t.classList.toggle("collapsed"),t.classList.contains("collapsed"),this.textContent="ℹ️"}));let n=t.previousElementSibling;for(;n&&"DT"!==n.tagName;)n=n.previousElementSibling;n?n.appendChild(e):t.insertBefore(e,t.firstChild)}document.addEventListener("DOMContentLoaded",(function(){document.querySelectorAll("dl > dd:has(table)").forEach((function(t){const e=document.createElement("div");for(e.classList.add("meta-info-content-wrapper");t.firstChild&&t.firstChild!==t.querySelector(".meta-info-toggle-button");)e.appendChild(t.firstChild);t.querySelector(".meta-info-toggle-button")||createToggleButton(t),t.appendChild(e),t.classList.add("collapsed")}))}));
|
|
138
137
|
/**
|
|
139
138
|
* @file This file adds an href attribute to the snapshot link on the page via client side JS DOM manipulation.
|
|
@@ -142,7 +141,7 @@ function createToggleButton(t){const e=document.createElement("button");e.classL
|
|
|
142
141
|
* @license MIT
|
|
143
142
|
* @since 2024-09-25
|
|
144
143
|
*/
|
|
145
|
-
function addHrefToSnapshotLink(){const e=document.querySelector("
|
|
144
|
+
function addHrefToSnapshotLink(){const e=document.querySelector("#snapshotLink"),t=window.location.href,n=t.match(/^(https?:\/\/[^\/]+(?:\/[^\/]+)*)\/versions\/(?:[^\/]+\/)?/);let o;if(n)o=n[1]+"/versions/";else{o=t.split("#")[0].replace(/\/index\.html$/,"").replace(/\/$/,"")+"/versions/"}e&&e.setAttribute("href",o)}document.addEventListener("DOMContentLoaded",(function(){addHrefToSnapshotLink()}));
|
|
146
145
|
function adjustFontSize(){const e=document.body,t=parseFloat(window.getComputedStyle(e).fontSize);function n(t){let n=parseFloat(window.getComputedStyle(e).fontSize)+t;n>=10&&n<=50&&(e.style.fontSize=n+"px")}document.getElementById("decreaseBtn").addEventListener("click",()=>n(-2)),document.getElementById("increaseBtn").addEventListener("click",()=>n(2)),document.getElementById("resetBtn").addEventListener("click",(function(){document.body.style.fontSize=t+"px"}))}document.addEventListener("DOMContentLoaded",(function(){adjustFontSize()}));
|
|
147
146
|
function closeOffCanvasMenu(){document.querySelectorAll("#sidebarMenu a").forEach(e=>{e.addEventListener("click",(function(){const e=document.querySelector("#sidebarMenu");bootstrap.Offcanvas.getOrCreateInstance(e).hide()}))})}document.addEventListener("DOMContentLoaded",(function(){closeOffCanvasMenu()}));
|
|
148
147
|
!function(){var e=window.markdownit();let t=specConfig.source;t&&"github"===t.host&&fetch(`https://api.github.com/repos/${t.account+"/"+t.repo}/issues`).then(e=>e.json()).then(t=>{let n=t.length;document.querySelectorAll("[issue-count]").forEach(e=>{e.setAttribute("issue-count",n)}),repo_issue_list.innerHTML=t.map(t=>`<li class="repo-issue">\n <detail-box>\n <section>${e.render(t.body||"")}</section>\n <header class="repo-issue-title">\n <span class="repo-issue-number">${t.number}</span>\n <span class="repo-issue-link">\n <a href="${t.html_url}" target="_blank">${t.title}</a>\n </span>\n <span detail-box-toggle></span>\n </header>\n </detail-box>\n </li>`).join(""),Prism.highlightAllUnder(repo_issue_list)}),mermaid.initialize({startOnLoad:!0,theme:"neutral"}),document.querySelectorAll(".chartjs").forEach(e=>{new Chart(e,JSON.parse(e.textContent))});let n=new WeakMap;delegateEvent("pointerover",".term-reference, .spec-reference",(e,t)=>{const r=t.getAttribute("data-local-href")||t.getAttribute("href")||"";let s=document.getElementById(r.replace("#",""));if(!s||n.has(t))return;let i=s.closest("dt, td:first-child");if(!i)return;let l={allowHTML:!0,inlinePositioning:!0};switch(i.tagName){case"DT":l.content=i.nextElementSibling.textContent;break;case"TD":let e=i.closest("table"),t=Array.from(i.closest("tr").children);if(t.shift(),e){let n=Array.from(e.querySelectorAll("thead th"));n.shift(),n.length&&(l.content=`\n <header>${i.textContent}</header>\n <table>\n ${n.map((e,n)=>`<tr><td>${e.textContent}:</td><td>${t[n]?t[n].textContent:""}</td></tr>`).join("")}\n </table>`)}}l.content&&n.set(t,tippy(t,l))},{passive:!0})}();
|