var Selectors;(e=>{e.stacked="tabled--stacked",e.table="tabled__table",e.columnLarge="tabled__column--large",e.columnSmall="tabled__column--small",e.wrapper="tabled__wrapper",e.container="tabled",e.fadeLeft="tabled--fade-left",e.fadeRight="tabled--fade-right",e.navigation="tabled__navigation",e.previous="tabled__previous",e.next="tabled__next",e.caption="tabled__caption"})(Selectors=Selectors||{});let ALLOWED_INLINE_TAGS=new Set(["A","ABBR","B","BR","CITE","CODE","EM","I","IMG","Q","SMALL","SPAN","STRONG","SUB","SUP","SVG","TIME","U","CIRCLE","DEFS","ELLIPSE","G","LINE","PATH","POLYGON","POLYLINE","RECT","TEXT","TSPAN","USE"]);function sanitizeHTML(e,t=ALLOWED_INLINE_TAGS){e=(new DOMParser).parseFromString(e,"text/html");return e.body.querySelectorAll("*").forEach(e=>{t.has(e.tagName.toUpperCase())||e.replaceWith(...e.childNodes)}),e.body.innerHTML}class Tabled{constructor(e){if(e.index||(e.index=Math.floor(1e4*Math.random())),this.checkConditions(e.table)){e.table.classList.add(Selectors.table),this.wrap(e.table);var t=this.getWrapper(e.table);t.setAttribute("id","tabled-n"+e.index),this.adjustColumnsWidth(e),this.addTableControls(e),this.applyFade(e.table),t.addEventListener("scroll",()=>{this.applyFade(e.table)}),new ResizeObserver(()=>{this.applyFade(e.table)}).observe(t)}else if(e.table.classList.contains(Selectors.stacked)){let a=Array.from(e.table.querySelectorAll("thead th"));Array.from(e.table.querySelectorAll("tbody tr")).forEach(e=>{Array.from(e.querySelectorAll("td, th")).forEach((e,t)=>{t=a[t];t&&e.setAttribute("data-label",t.innerText+": ")})})}else e.failClass&&e.table.classList.add(e.failClass)}getWrapper(e){return e.parentNode}getContainer(e){return e.parentNode?e.parentNode.parentNode:null}adjustColumnsWidth(e){let t,a,l=/|<\/?(?:p|div|li|ul|ol|blockquote|h[1-6])\b[^>]*>/gi,r=/<[^>]*>/g,s=null!=(t=e.characterThresholdLarge)?t:30,i=null!=(a=e.characterThresholdSmall)?a:10;for(var o of e.table.rows)Array.from(o.cells).forEach(e=>{var t=e.innerHTML.split(l).map(e=>e.replace(r,"").trim()).filter(e=>0e.length>s),t=t.every(e=>e.length<=i);a?e.classList.add(Selectors.columnLarge):t&&e.classList.add(Selectors.columnSmall)})}wrap(e){var t=document.createElement("div"),e=(t.classList.add(Selectors.wrapper),t.setAttribute("tabindex","0"),e.parentNode.insertBefore(t,e),t.appendChild(e),document.createElement("div"));e.classList.add(Selectors.container),t.parentNode.insertBefore(e,t),e.appendChild(t)}applyFade(e){var e=this.getWrapper(e),t=e.parentNode,a=t.getElementsByClassName(Selectors.previous)[0],l=t.getElementsByClassName(Selectors.next)[0],a=(1{var t=document.createElement("button");t.classList.add("tabled__"+e),t.setAttribute("aria-label",e+" table column"),t.setAttribute("aria-controls",this.getWrapper(a).getAttribute("id")),t.setAttribute("disabled","disabled"),t.setAttribute("type","button"),t.addEventListener("click",()=>{this.move(a,e)}),l.appendChild(t)});var t,r=this.getContainer(a),r=(r&&r.prepend(l),a.querySelector("caption"));r&&(r.classList.add("visually-hidden"),!r.classList.contains("hide-caption"))&&((t=document.createElement("div")).classList.add(Selectors.caption),"bottom"===e.captionSide&&t.classList.add("tabled__caption--bottom"),t.innerHTML=sanitizeHTML(r.innerHTML),t.setAttribute("aria-hidden","true"),r=this.getContainer(a))&&("bottom"===e.captionSide?r.appendChild(t):r.prepend(t))}checkConditions(e){return!(e.classList.contains(Selectors.stacked)||e.querySelector("table")||!e.querySelector("table > tbody")||document.evaluate("ancestor::table",e,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue)}}