UNPKG

@miyagi/core

Version:

miyagi is a component development tool for JavaScript template engines.

2 lines (1 loc) 4.54 kB
if("undefined"!=typeof io){io.connect(window.location.origin).on("fileChanged",(function(e){setTimeout((()=>{e?parent.window.location.reload():window.location.reload()}),500)}))}const e=document.querySelector(".MiyagiComponentView-iframe");function t(e){var t=document.createElement("div");return t.appendChild(document.createTextNode(e)),t.innerHTML}function n(e){const t=Array.from(e.querySelectorAll(".Results-summary"));t.forEach((e=>{e.addEventListener("click",(e=>{t.forEach((t=>{const n=t.closest("details");e.target.closest("details")!==n&&n.open&&t.click()}))}))}))}function i(e,t,n=""){return`<div class="Result-wrapper"><dt class="Result-attr">${e}</dt> <dd class="Result-value ${n}">${t}</dd></div>`}var o=o=>{if(document.getElementById("MiyagiComponent")){const a=parent.document.querySelector(".Test--a11y"),s=parent.document.querySelector(".Test--html");a&&(window.validations.accessibility?function(e){const o=["passes","inapplicable","violations","incomplete"];n(e),window.addEventListener("axe:done",(({detail:n})=>{const{err:a,results:s}=n;if(a)throw a;o.forEach((n=>{const o=e.querySelector(`.Results--${n} .Results-value`);let a="";o.innerText=s[n].length,"violations"!==n&&"incomplete"!==n||o.classList.toggle("has-positiveValue",s[n].length),s[n].length?(a+="<ul>",s[n].forEach((e=>{if(a+='<li class="Result">',a+='<dl class="Result-data">',e.description&&(a+=i("Description",t(e.description))),e.help&&(a+=i("Help",t(e.help))),e.helpUrl&&(a+=i("Link",`<a href="${e.helpUrl}" target="_blank" rel="noopener">${e.helpUrl}</a>`)),e.impact){let t;switch(e.impact){case"serious":t="Results-value--negative";break;case"moderate":t="Results-value--warning"}a+=i("Impact",e.impact,t)}a+="</dl>",a+="</li>"})),a+="</ul>"):a+='<p><i class="Results-empty">Nothing to report.</i></p>',e.querySelector(`.Results--${n} .Results-details`).innerHTML=a})),e.removeAttribute("hidden")}))}(a):a.remove()),s&&(window.validations.html?function(o){const a=["error","warning"];n(o),fetch(e.src).then((e=>{e.ok&&e.text().then((e=>{const n=new FormData;n.append("out","json"),n.append("content",e),fetch("https://validator.w3.org/nu/",{method:"post",headers:{Accept:"application/json"},body:n}).then((function(e){e.ok?e.json().then((e=>{a.forEach((n=>{const a=e.messages.filter((e=>e.type===n)),s=o.querySelector(`.Results--${n} .Results-value`);let l="";s.innerText=a.length,a.length?(s.classList.add("has-positiveValue"),l+="<ul>",a.forEach((e=>{if(l+='<li class="Result">',l+='<dl class="Result-data">',e.message&&(l+=i("Message",e.message)),e.extract){const n=`${t(e.extract.slice(0,e.hiliteStart))}<mark>${t(e.extract.slice(e.hiliteStart,e.hiliteStart+e.hiliteLength))}</mark>${t(e.extract.slice(e.hiliteStart+e.hiliteLength))}`;l+=i("Extract",`<code class="Result-extract">${n.replace(/\n/g,"↩")}</code>`)}l+=i("From",`Line: ${e[e.firstLine?"firstLine":"lastLine"]}, Column: ${e.firstColumn}`),l+=i("To",`Line: ${e.lastLine}, Column: ${e.lastColumn}`),l+="</dl>",l+="</li>"})),l+="</ul>"):(s.classList.remove("has-positiveValue"),l+='<p><i class="Results-empty">Nothing to report.</i></p>'),o.querySelector(`.Results--${n} .Results-details`).innerHTML=l})),o.removeAttribute("hidden")})):console.warn("HTML validation failed. Most likely something went wrong with https://validator.w3.org/nu/. Maybe you also ran into rate limiting.")}))}))}))}(s):s.remove()),(window.validations.accessibility||window.validations.html)&&o.removeAttribute("hidden")}else o.setAttribute("hidden",!0)};function a(e){return["INPUT","SELECT","TEXTAREA"].includes(e)}location.href.indexOf("/component?")>=0&&location.href.indexOf("&embedded=true")>=0&&window.self===window.top&&(window.location=location.href.replace("&embedded=true","")),document.addEventListener("DOMContentLoaded",(function(){const e=Array.from(document.querySelectorAll(".MiyagiComponent-file")),t=parent.document.querySelector(".Tests"),n=document.querySelector(".MiyagiStyleguide");t&&o(t),e.length>0&&import("./_iframe-links-3327cb90.js").then((t=>{t.default(e)})),document.querySelector(".Miyagi-code")&&import("./_prism-f0f6542f.js"),n&&import("./index-3870dc17.js").then((e=>new e.default(n))),document.querySelector(".js-openMockData")&&import("./_mock-data-d6001cea.js")})),document.addEventListener("keyup",(e=>{const{path:t,originalTarget:n,target:i,key:o}=e,s=t?t[0]:n||i;((e,t)=>!a(e.tagName)&&"f"===t)(s,o)?parent.window.dispatchEvent(new CustomEvent("searchTriggered")):((e,t)=>!a(e.tagName)&&"g"===t)(s,o)&&parent.window.dispatchEvent(new CustomEvent("gotoTriggered"))}));