@citolab/qti-components 6.9.1-beta.37 → 6.9.1-beta.39

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.
@@ -0,0 +1,24 @@
1
+ var f=String.raw,b=()=>{let e,n={async load(t,s=!1){return new Promise((r,o)=>{u(t,s).then(i=>(e=i,r(n)))})},parse(t){return e=p(t),n},path:t=>(y(e,t),n),fn(t){return t(e),n},pciHooks(t){let s=["hook","module"],r=t.substring(0,t.lastIndexOf("/"));for(let o of s)e.querySelectorAll("["+o+"]").forEach(a=>{let m=a.getAttribute(o);!m.startsWith("data:")&&!m.startsWith("http")&&(a.setAttribute("base-url",t),a.setAttribute("module",r+"/"+encodeURI(m+(m.endsWith(".js")?"":".js"))))});return n},customTypes:(t="type")=>{let s=(r,o)=>{let i=document.createElement(o);return[...r.attributes].forEach(a=>i.setAttribute(a.name,a.value)),i.append(...r.childNodes),i};return e.querySelectorAll("*").forEach(r=>{[...r.classList].filter(o=>o.startsWith(`${t}:`)).forEach(o=>{let i=`${r.nodeName}-${o.slice(t.length).toUpperCase()}`;r.replaceWith(s(r,i))})}),n},customInteraction(t,s){let r=e.querySelector("qti-custom-interaction"),o=r.querySelector("object");return r.setAttribute("data-base-ref",t),r.setAttribute("data-base-item",t+s),r.setAttribute("data",o.getAttribute("data")),r.setAttribute("width",o.getAttribute("width")),r.setAttribute("height",o.getAttribute("height")),r.removeChild(o),n},convertCDATAtoComment(){return d(e),n},stripStyleSheets(){return x(e),n},html(){return new XMLSerializer().serializeToString(c(e))},xml(){return new XMLSerializer().serializeToString(e)},htmldoc(){return c(e)},xmldoc(){return e}};return n},A=()=>{let e,n={async load(t){return new Promise((s,r)=>{u(t).then(o=>(e=o,s(n)))})},parse(t){e=p(t)},assessmentTest(){let t=e.querySelector('resource[type="imsqti_test_xmlv3p0"]');return{href:t.getAttribute("href"),identifier:t.getAttribute("identifier")}}};return n},T=()=>{let e,n={async load(t){return new Promise((s,r)=>{u(t).then(o=>(e=o,s(n)))})},parse(t){return e=p(t),n},fn(t){return t(e),n},items(){return h(e)},html(){return new XMLSerializer().serializeToString(c(e))},xml(){return new XMLSerializer().serializeToString(e)},htmldoc(){return c(e)},xmldoc(){return e}};return n},g=f`<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2
+ <xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />
3
+ <xsl:template match="@*|node()">
4
+ <xsl:copy>
5
+ <xsl:apply-templates select="@*|node()"/>
6
+ </xsl:copy>
7
+ </xsl:template>
8
+
9
+ <!-- remove existing namespaces -->
10
+ <xsl:template match="*">
11
+ <!-- remove element prefix -->
12
+ <xsl:element name="{local-name()}">
13
+ <!-- process attributes -->
14
+ <xsl:for-each select="@*">
15
+ <!-- remove attribute prefix -->
16
+ <xsl:attribute name="{local-name()}">
17
+ <xsl:value-of select="."/>
18
+ </xsl:attribute>
19
+ </xsl:for-each>
20
+ <xsl:apply-templates/>
21
+ </xsl:element>
22
+ </xsl:template>
23
+ </xsl:stylesheet>`;function h(e){let n=[];return e.querySelectorAll("qti-assessment-item-ref").forEach(t=>{let s=t.getAttribute("identifier"),r=t.getAttribute("href"),o=t.getAttribute("category");n.push({identifier:s,href:r,category:o})}),n}var l=null;function u(e,n=!0){return n&&l!==null&&l.abort(),new Promise((t,s)=>{let r=new XMLHttpRequest;l=r,r.open("GET",e,!0),r.responseType="document",r.onload=()=>{r.status>=200&&r.status<300?t(r.responseXML):s(r.statusText)},r.onerror=()=>{s(r.statusText)},r.send()})}function p(e){return new DOMParser().parseFromString(e,"text/xml")}function c(e){let n=new XSLTProcessor,t=new DOMParser().parseFromString(g,"text/xml");return n.importStylesheet(t),n.transformToFragment(e,document)}function y(e,n){n.endsWith("/")||(n+="/"),e.querySelectorAll("[src],[href],[primary-path]").forEach(t=>{var o;let s="";t.getAttribute("src")&&(s="src"),t.getAttribute("href")&&(s="href"),t.getAttribute("primary-path")&&(s="primary-path");let r=(o=t.getAttribute(s))==null?void 0:o.trim();if(!r.startsWith("data:")&&!r.startsWith("http")){let i=n+encodeURI(r);t.setAttribute(s,i)}})}function d(e){e.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(t=>{let s=document.createComment(t.textContent);t.replaceChild(s,t.firstChild)})}function x(e){e.querySelectorAll("qti-stylesheet").forEach(n=>n.remove())}export{b as a,A as b,T as c};
24
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xpYi9xdGktdHJhbnNmb3JtZXJzL3F0aS10cmFuc2Zvcm1lcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IHhtbCA9IFN0cmluZy5yYXc7XG5cbi8qKlxuICogQnJvd3NlciBiYXNlZCBRVEktWE1MIHRvIEhUTUwgdHJhbnNmb3JtZXIuXG4gKiBSZXR1cm5zIGFuIG9iamVjdCB3aXRoIG1ldGhvZHMgdG8gbG9hZCwgcGFyc2UsIHRyYW5zZm9ybSBhbmQgc2VyaWFsaXplIFFUSSBYTUwgaXRlbXMuXG4gKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBtZXRob2RzIHRvIGxvYWQsIHBhcnNlLCB0cmFuc2Zvcm0gYW5kIHNlcmlhbGl6ZSBRVEkgWE1MIGl0ZW1zLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHF0aVRyYW5zZm9ybWVyID0gcXRpVHJhbnNmb3JtSXRlbSgpO1xuICogYXdhaXQgcXRpVHJhbnNmb3JtZXIubG9hZCgncGF0aC90by94bWwvZmlsZS54bWwnKTtcbiAqIHF0aVRyYW5zZm9ybWVyLnBhdGgoJy9hc3Nlc3NtZW50SXRlbS9pdGVtQm9keScpO1xuICogY29uc3QgaHRtbCA9IHF0aVRyYW5zZm9ybWVyLmh0bWwoKTtcbiAqIGNvbnN0IHhtbCA9IHF0aVRyYW5zZm9ybWVyLnhtbCgpO1xuICogY29uc3QgaHRtbGRvYyA9IHF0aVRyYW5zZm9ybWVyLmh0bWxkb2MoKTtcbiAqIGNvbnN0IHhtbGRvYyA9IHF0aVRyYW5zZm9ybWVyLnhtbGRvYygpO1xuICpcbiAqIHF0aVRyYW5zZm9ybUl0ZW0oKS5wYXJzZShzdG9yeVhNTCkuaHRtbCgpXG4gKi9cblxuZXhwb3J0IGNvbnN0IHF0aVRyYW5zZm9ybUl0ZW0gPSAoKToge1xuICBsb2FkOiAodXJpOiBzdHJpbmcsIGNhbmNlbFByZXZpb3VzUmVxdWVzdD86IGJvb2xlYW4pID0+IFByb21pc2U8dHlwZW9mIGFwaT47XG4gIHBhcnNlOiAoeG1sU3RyaW5nOiBzdHJpbmcpID0+IHR5cGVvZiBhcGk7XG4gIHBhdGg6IChsb2NhdGlvbjogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBmbjogKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSA9PiB0eXBlb2YgYXBpO1xuICBwY2lIb29rczogKHVyaTogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBjdXN0b21UeXBlczogKHBhcmFtOiBzdHJpbmcpID0+IHR5cGVvZiBhcGk7XG4gIGN1c3RvbUludGVyYWN0aW9uOiAoYmFzZVJlZjogc3RyaW5nLCBiYXNlSXRlbTogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBjb252ZXJ0Q0RBVEF0b0NvbW1lbnQ6ICgpID0+IHR5cGVvZiBhcGk7XG4gIHN0cmlwU3R5bGVTaGVldHM6ICgpID0+IHR5cGVvZiBhcGk7XG4gIGh0bWw6ICgpID0+IHN0cmluZztcbiAgeG1sOiAoKSA9PiBzdHJpbmc7XG4gIGh0bWxkb2M6ICgpID0+IERvY3VtZW50RnJhZ21lbnQ7XG4gIHhtbGRvYzogKCkgPT4gWE1MRG9jdW1lbnQ7XG59ID0+IHtcbiAgbGV0IHhtbEZyYWdtZW50OiBYTUxEb2N1bWVudDtcblxuICBjb25zdCBhcGkgPSB7XG4gICAgYXN5bmMgbG9hZCh1cmk6IHN0cmluZywgY2FuY2VsUHJldmlvdXNSZXF1ZXN0ID0gZmFsc2UpOlByb21pc2U8dHlwZW9mIGFwaT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHR5cGVvZiBhcGk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgbG9hZFhNTCh1cmksIGNhbmNlbFByZXZpb3VzUmVxdWVzdCkudGhlbih4bWwgPT4ge1xuICAgICAgICAgIHhtbEZyYWdtZW50ID0geG1sO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGFwaSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBwYXJzZSh4bWxTdHJpbmc6IHN0cmluZyk6IHR5cGVvZiBhcGkge1xuICAgICAgeG1sRnJhZ21lbnQgPSBwYXJzZVhNTCh4bWxTdHJpbmcpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIHBhdGg6IChsb2NhdGlvbjogc3RyaW5nKTogdHlwZW9mIGFwaSA9PiB7XG4gICAgICBzZXRMb2NhdGlvbih4bWxGcmFnbWVudCwgbG9jYXRpb24pO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGZuKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKTogdHlwZW9mIGFwaSB7XG4gICAgICBmbih4bWxGcmFnbWVudCk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgcGNpSG9va3ModXJpOiBzdHJpbmcpOiB0eXBlb2YgYXBpIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBbJ2hvb2snLCAnbW9kdWxlJ107XG4gICAgICBjb25zdCBkb2N1bWVudFBhdGggPSB1cmkuc3Vic3RyaW5nKDAsIHVyaS5sYXN0SW5kZXhPZignLycpKTtcbiAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgY29uc3Qgc3JjQXR0cmlidXRlcyA9IHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1snICsgYXR0cmlidXRlICsgJ10nKTtcbiAgICAgICAgc3JjQXR0cmlidXRlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgIGNvbnN0IHNyY1ZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSE7XG4gICAgICAgICAgaWYgKCFzcmNWYWx1ZS5zdGFydHNXaXRoKCdkYXRhOicpICYmICFzcmNWYWx1ZS5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgICAgICAgIC8vIEp1c3QgcGFzdGUgdGhlIHJlbGF0aXZlIHBhdGggb2YgdGhlIHNyYyBsb2NhdGlvbiBhZnRlciB0aGUgZG9jdW1lbnRyb290UGF0aFxuICAgICAgICAgICAgLy8gb2xkIHBjaXMgY2FuIGhhdmUgYSAuanMsIG5ldyBwY2kncyBkb24ndFxuICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2Jhc2UtdXJsJywgdXJpKTtcbiAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAnbW9kdWxlJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRQYXRoICsgJy8nICsgZW5jb2RlVVJJKHNyY1ZhbHVlICsgKHNyY1ZhbHVlLmVuZHNXaXRoKCcuanMnKSA/ICcnIDogJy5qcycpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGN1c3RvbVR5cGVzOiAocGFyYW06IHN0cmluZyA9ICd0eXBlJyk6IHR5cGVvZiBhcGkgPT4ge1xuICAgICAgY29uc3QgY3JlYXRlRWxlbWVudFdpdGhOZXdUYWdOYW1lID0gKGVsZW1lbnQsIG5ld1RhZ05hbWUpID0+IHtcbiAgICAgICAgY29uc3QgbmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobmV3VGFnTmFtZSk7XG4gICAgICAgIFsuLi5lbGVtZW50LmF0dHJpYnV0ZXNdLmZvckVhY2goYXR0ciA9PiBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpKTtcbiAgICAgICAgbmV3RWxlbWVudC5hcHBlbmQoLi4uZWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICAgICAgcmV0dXJuIG5ld0VsZW1lbnQ7XG4gICAgICB9O1xuXG4gICAgICB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcqJykuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgWy4uLmVsZW1lbnQuY2xhc3NMaXN0XVxuICAgICAgICAgIC5maWx0ZXIoY2xzID0+IGNscy5zdGFydHNXaXRoKGAke3BhcmFtfTpgKSlcbiAgICAgICAgICAuZm9yRWFjaChjbHMgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3VGFnTmFtZSA9IGAke2VsZW1lbnQubm9kZU5hbWV9LSR7Y2xzLnNsaWNlKHBhcmFtLmxlbmd0aCkudG9VcHBlckNhc2UoKX1gO1xuICAgICAgICAgICAgZWxlbWVudC5yZXBsYWNlV2l0aChjcmVhdGVFbGVtZW50V2l0aE5ld1RhZ05hbWUoZWxlbWVudCwgbmV3VGFnTmFtZSkpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgY3VzdG9tSW50ZXJhY3Rpb24oYmFzZVJlZjogc3RyaW5nLCBiYXNlSXRlbTogc3RyaW5nKTogdHlwZW9mIGFwaSB7XG4gICAgICBjb25zdCBxdGlDdXN0b21JbnRlcmFjdGlvbiA9IHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3IoJ3F0aS1jdXN0b20taW50ZXJhY3Rpb24nKTtcbiAgICAgIGNvbnN0IHF0aUN1c3RvbUludGVyYWN0aW9uT2JqZWN0ID0gcXRpQ3VzdG9tSW50ZXJhY3Rpb24ucXVlcnlTZWxlY3Rvcignb2JqZWN0Jyk7XG5cbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1iYXNlLXJlZicsIGJhc2VSZWYpO1xuICAgICAgcXRpQ3VzdG9tSW50ZXJhY3Rpb24uc2V0QXR0cmlidXRlKCdkYXRhLWJhc2UtaXRlbScsIGJhc2VSZWYgKyBiYXNlSXRlbSk7XG4gICAgICBxdGlDdXN0b21JbnRlcmFjdGlvbi5zZXRBdHRyaWJ1dGUoJ2RhdGEnLCBxdGlDdXN0b21JbnRlcmFjdGlvbk9iamVjdC5nZXRBdHRyaWJ1dGUoJ2RhdGEnKSk7XG4gICAgICBxdGlDdXN0b21JbnRlcmFjdGlvbi5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgcXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QuZ2V0QXR0cmlidXRlKCd3aWR0aCcpKTtcbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgcXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSk7XG5cbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnJlbW92ZUNoaWxkKHF0aUN1c3RvbUludGVyYWN0aW9uT2JqZWN0KTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBjb252ZXJ0Q0RBVEF0b0NvbW1lbnQoKTogdHlwZW9mIGFwaSB7XG4gICAgICBjb252ZXJ0Q0RBVEF0b0NvbW1lbnQoeG1sRnJhZ21lbnQpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIHN0cmlwU3R5bGVTaGVldHMoKTogdHlwZW9mIGFwaSB7XG4gICAgICBzdHJpcFN0eWxlU2hlZXRzKHhtbEZyYWdtZW50KTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBodG1sKCkge1xuICAgICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcodG9IVE1MKHhtbEZyYWdtZW50KSk7XG4gICAgfSxcbiAgICB4bWwoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIGh0bWxkb2MoKSB7XG4gICAgICByZXR1cm4gdG9IVE1MKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIHhtbGRvYygpOiBYTUxEb2N1bWVudCB7XG4gICAgICByZXR1cm4geG1sRnJhZ21lbnQ7IC8vIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoeG1sRnJhZ21lbnQpO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGFwaTtcbn07XG5cbmV4cG9ydCBjb25zdCBxdGlUcmFuc2Zvcm1NYW5pZmVzdCA9ICgpOiB7XG4gIGxvYWQ6ICh1cmk6IHN0cmluZykgPT4gUHJvbWlzZTx0eXBlb2YgYXBpPjtcbiAgYXNzZXNzbWVudFRlc3Q6ICgpID0+IHsgaHJlZjogc3RyaW5nOyBpZGVudGlmaWVyOiBzdHJpbmcgfTtcbn0gPT4ge1xuICBsZXQgeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50O1xuXG4gIGNvbnN0IGFwaSA9IHtcbiAgICBhc3luYyBsb2FkKHVyaSkge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHR5cGVvZiBhcGk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgbG9hZFhNTCh1cmkpLnRoZW4oeG1sID0+IHtcbiAgICAgICAgICB4bWxGcmFnbWVudCA9IHhtbDtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZShhcGkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcGFyc2UoeG1sU3RyaW5nOiBzdHJpbmcpIHtcbiAgICAgIHhtbEZyYWdtZW50ID0gcGFyc2VYTUwoeG1sU3RyaW5nKTtcbiAgICB9LFxuICAgIGFzc2Vzc21lbnRUZXN0KCkge1xuICAgICAgY29uc3QgZWwgPSB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yKCdyZXNvdXJjZVt0eXBlPVwiaW1zcXRpX3Rlc3RfeG1sdjNwMFwiXScpO1xuICAgICAgcmV0dXJuIHsgaHJlZjogZWwuZ2V0QXR0cmlidXRlKCdocmVmJyksIGlkZW50aWZpZXI6IGVsLmdldEF0dHJpYnV0ZSgnaWRlbnRpZmllcicpIH07XG4gICAgfVxuICB9O1xuICByZXR1cm4gYXBpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIG9iamVjdCB3aXRoIG1ldGhvZHMgdG8gbG9hZCwgcGFyc2UgYW5kIHRyYW5zZm9ybSBRVEkgdGVzdHMuXG4gKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBtZXRob2RzIHRvIGxvYWQsIHBhcnNlIGFuZCB0cmFuc2Zvcm0gUVRJIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHF0aVRyYW5zZm9ybWVyID0gcXRpVHJhbnNmb3JtVGVzdCgpO1xuICogYXdhaXQgcXRpVHJhbnNmb3JtZXIubG9hZCgnaHR0cHM6Ly9leGFtcGxlLmNvbS90ZXN0LnhtbCcpO1xuICogY29uc3QgaXRlbXMgPSBxdGlUcmFuc2Zvcm1lci5pdGVtcygpO1xuICogY29uc3QgaHRtbCA9IHF0aVRyYW5zZm9ybWVyLmh0bWwoKTtcbiAqIGNvbnN0IHhtbCA9IHF0aVRyYW5zZm9ybWVyLnhtbCgpO1xuICovXG5leHBvcnQgY29uc3QgcXRpVHJhbnNmb3JtVGVzdCA9ICgpOiB7XG4gIGxvYWQ6ICh1cmk6IHN0cmluZykgPT4gUHJvbWlzZTx0eXBlb2YgYXBpPjtcbiAgcGFyc2U6ICh4bWxTdHJpbmc6IHN0cmluZykgPT4gdHlwZW9mIGFwaTtcbiAgZm46IChmbjogKHhtbEZyYWdtZW50OiBYTUxEb2N1bWVudCkgPT4gdm9pZCkgPT4gdHlwZW9mIGFwaTtcbiAgaXRlbXM6ICgpID0+IHsgaWRlbnRpZmllcjogc3RyaW5nOyBocmVmOiBzdHJpbmc7IGNhdGVnb3J5OiBzdHJpbmcgfVtdO1xuICBodG1sOiAoKSA9PiBzdHJpbmc7XG4gIHhtbDogKCkgPT4gc3RyaW5nO1xuICBodG1sZG9jOiAoKSA9PiBEb2N1bWVudEZyYWdtZW50O1xuICB4bWxkb2M6ICgpID0+IFhNTERvY3VtZW50O1xufSA9PiB7XG4gIGxldCB4bWxGcmFnbWVudDogWE1MRG9jdW1lbnQ7XG5cbiAgY29uc3QgYXBpID0ge1xuICAgIGFzeW5jIGxvYWQodXJpKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dHlwZW9mIGFwaT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBsb2FkWE1MKHVyaSkudGhlbih4bWwgPT4ge1xuICAgICAgICAgIHhtbEZyYWdtZW50ID0geG1sO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGFwaSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBwYXJzZSh4bWxTdHJpbmc6IHN0cmluZykge1xuICAgICAgeG1sRnJhZ21lbnQgPSBwYXJzZVhNTCh4bWxTdHJpbmcpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGZuKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSB7XG4gICAgICBmbih4bWxGcmFnbWVudCk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgaXRlbXMoKSB7XG4gICAgICByZXR1cm4gaXRlbXNGcm9tVGVzdCh4bWxGcmFnbWVudCk7XG4gICAgfSxcbiAgICBodG1sKCkge1xuICAgICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcodG9IVE1MKHhtbEZyYWdtZW50KSk7XG4gICAgfSxcbiAgICB4bWwoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIGh0bWxkb2MoKSB7XG4gICAgICByZXR1cm4gdG9IVE1MKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIHhtbGRvYygpOiBYTUxEb2N1bWVudCB7XG4gICAgICByZXR1cm4geG1sRnJhZ21lbnQ7XG4gICAgfVxuICB9O1xuICByZXR1cm4gYXBpO1xufTtcblxuLyogICA8IS0tIGNvbnZlcnQgQ0RBVEEgdG8gY29tbWVudHMgLS0+XG4gIDx4c2w6dGVtcGxhdGUgbWF0Y2g9XCJ0ZXh0KClbY29udGFpbnMoLiwgJ0NEQVRBJyldXCI+XG4gIDx4c2w6Y29tbWVudD5cbiAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD1cIi5cIi8+XG4gIDwveHNsOmNvbW1lbnQ+XG48L3hzbDp0ZW1wbGF0ZT5cbiovXG5cbi8qXG4gIDwhLS0gcmVtb3ZlIHhtbCBjb21tZW50cyAtLT5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cImNvbW1lbnQoKVwiIC8+XG4gICovXG5cbmNvbnN0IHhtbFRvSFRNTCA9IHhtbGA8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj1cIjEuMFwiIHhtbG5zOnhzbD1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybVwiPlxuPHhzbDpvdXRwdXQgbWV0aG9kPVwiaHRtbFwiIHZlcnNpb249XCI1LjBcIiBlbmNvZGluZz1cIlVURi04XCIgaW5kZW50PVwieWVzXCIgLz5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cIkAqfG5vZGUoKVwiPlxuICAgIDx4c2w6Y29weT5cbiAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD1cIkAqfG5vZGUoKVwiLz5cbiAgICA8L3hzbDpjb3B5PlxuICA8L3hzbDp0ZW1wbGF0ZT5cblxuICA8IS0tIHJlbW92ZSBleGlzdGluZyBuYW1lc3BhY2VzIC0tPlxuICA8eHNsOnRlbXBsYXRlIG1hdGNoPVwiKlwiPlxuICAgIDwhLS0gcmVtb3ZlIGVsZW1lbnQgcHJlZml4IC0tPlxuICAgIDx4c2w6ZWxlbWVudCBuYW1lPVwie2xvY2FsLW5hbWUoKX1cIj5cbiAgICAgIDwhLS0gcHJvY2VzcyBhdHRyaWJ1dGVzIC0tPlxuICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9XCJAKlwiPlxuICAgICAgICA8IS0tIHJlbW92ZSBhdHRyaWJ1dGUgcHJlZml4IC0tPlxuICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPVwie2xvY2FsLW5hbWUoKX1cIj5cbiAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD1cIi5cIi8+XG4gICAgICAgIDwveHNsOmF0dHJpYnV0ZT5cbiAgICAgIDwveHNsOmZvci1lYWNoPlxuICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz5cbiAgPC94c2w6ZWxlbWVudD5cbjwveHNsOnRlbXBsYXRlPlxuPC94c2w6c3R5bGVzaGVldD5gO1xuXG5mdW5jdGlvbiBpdGVtc0Zyb21UZXN0KHhtbEZyYWdtZW50OiBEb2N1bWVudEZyYWdtZW50KSB7XG4gIGNvbnN0IGl0ZW1zOiB7IGlkZW50aWZpZXI6IHN0cmluZzsgaHJlZjogc3RyaW5nOyBjYXRlZ29yeTogc3RyaW5nIH1bXSA9IFtdO1xuICB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdxdGktYXNzZXNzbWVudC1pdGVtLXJlZicpLmZvckVhY2goZWwgPT4ge1xuICAgIGNvbnN0IGlkZW50aWZpZXIgPSBlbC5nZXRBdHRyaWJ1dGUoJ2lkZW50aWZpZXInKTtcbiAgICBjb25zdCBocmVmID0gZWwuZ2V0QXR0cmlidXRlKCdocmVmJyk7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBlbC5nZXRBdHRyaWJ1dGUoJ2NhdGVnb3J5Jyk7XG4gICAgaXRlbXMucHVzaCh7IGlkZW50aWZpZXIsIGhyZWYsIGNhdGVnb3J5IH0pO1xuICB9KTtcbiAgcmV0dXJuIGl0ZW1zO1xufVxuXG5sZXQgY3VycmVudFJlcXVlc3Q6IFhNTEh0dHBSZXF1ZXN0IHwgbnVsbCA9IG51bGw7XG5cbmZ1bmN0aW9uIGxvYWRYTUwodXJsLCBjYW5jZWxQcmV2aW91c1JlcXVlc3QgPSB0cnVlKSB7XG4gIGlmIChjYW5jZWxQcmV2aW91c1JlcXVlc3QgJiYgY3VycmVudFJlcXVlc3QgIT09IG51bGwpIHtcbiAgICBjdXJyZW50UmVxdWVzdC5hYm9ydCgpOyAvLyBBYm9ydCB0aGUgb25nb2luZyByZXF1ZXN0IGlmIHRoZXJlIGlzIG9uZVxuICB9XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPFhNTERvY3VtZW50IHwgbnVsbD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGN1cnJlbnRSZXF1ZXN0ID0geGhyOyAvLyBTdG9yZSB0aGUgY3VycmVudCByZXF1ZXN0XG5cbiAgICB4aHIub3BlbignR0VUJywgdXJsLCB0cnVlKTtcbiAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2RvY3VtZW50JztcblxuICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBpZiAoeGhyLnN0YXR1cyA+PSAyMDAgJiYgeGhyLnN0YXR1cyA8IDMwMCkge1xuICAgICAgICByZXNvbHZlKHhoci5yZXNwb25zZVhNTCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWplY3QoeGhyLnN0YXR1c1RleHQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB4aHIub25lcnJvciA9ICgpID0+IHtcbiAgICAgIHJlamVjdCh4aHIuc3RhdHVzVGV4dCk7XG4gICAgfTtcblxuICAgIHhoci5zZW5kKCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwYXJzZVhNTCh4bWxEb2N1bWVudDogc3RyaW5nKSB7XG4gIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcbiAgY29uc3QgeG1sRnJhZ21lbnQgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHhtbERvY3VtZW50LCAndGV4dC94bWwnKTtcbiAgcmV0dXJuIHhtbEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiB0b0hUTUwoeG1sRnJhZ21lbnQ6IERvY3VtZW50KTogRG9jdW1lbnRGcmFnbWVudCB7XG4gIGNvbnN0IHByb2Nlc3NvciA9IG5ldyBYU0xUUHJvY2Vzc29yKCk7XG4gIGNvbnN0IHhzbHREb2N1bWVudCA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoeG1sVG9IVE1MLCAndGV4dC94bWwnKTtcbiAgcHJvY2Vzc29yLmltcG9ydFN0eWxlc2hlZXQoeHNsdERvY3VtZW50KTtcbiAgY29uc3QgaXRlbUhUTUxGcmFnbWVudCA9IHByb2Nlc3Nvci50cmFuc2Zvcm1Ub0ZyYWdtZW50KHhtbEZyYWdtZW50LCBkb2N1bWVudCk7XG4gIHJldHVybiBpdGVtSFRNTEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiBzZXRMb2NhdGlvbih4bWxGcmFnbWVudDogRG9jdW1lbnRGcmFnbWVudCwgbG9jYXRpb246IHN0cmluZykge1xuICBpZiAoIWxvY2F0aW9uLmVuZHNXaXRoKCcvJykpIHtcbiAgICBsb2NhdGlvbiArPSAnLyc7XG4gIH1cblxuICB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbc3JjXSxbaHJlZl0sW3ByaW1hcnktcGF0aF0nKS5mb3JFYWNoKGVsV2l0aFNyYyA9PiB7XG4gICAgbGV0IGF0dHI6ICdzcmMnIHwgJ2hyZWYnIHwgJ3ByaW1hcnktcGF0aCcgfCAnJyA9ICcnO1xuXG4gICAgaWYgKGVsV2l0aFNyYy5nZXRBdHRyaWJ1dGUoJ3NyYycpKSB7XG4gICAgICBhdHRyID0gJ3NyYyc7XG4gICAgfVxuICAgIGlmIChlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKCdocmVmJykpIHtcbiAgICAgIGF0dHIgPSAnaHJlZic7XG4gICAgfVxuICAgIGlmIChlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKCdwcmltYXJ5LXBhdGgnKSkge1xuICAgICAgYXR0ciA9ICdwcmltYXJ5LXBhdGgnO1xuICAgIH1cbiAgICBjb25zdCBhdHRyVmFsdWUgPSBlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKGF0dHIpPy50cmltKCk7XG5cbiAgICBpZiAoIWF0dHJWYWx1ZS5zdGFydHNXaXRoKCdkYXRhOicpICYmICFhdHRyVmFsdWUuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICBjb25zdCBuZXdTcmNWYWx1ZSA9IGxvY2F0aW9uICsgZW5jb2RlVVJJKGF0dHJWYWx1ZSk7XG4gICAgICBlbFdpdGhTcmMuc2V0QXR0cmlidXRlKGF0dHIsIG5ld1NyY1ZhbHVlKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0Q0RBVEF0b0NvbW1lbnQoeG1sRnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQpIHtcbiAgY29uc3QgY2RhdGFFbGVtZW50cyA9IHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3F0aS1jdXN0b20tb3BlcmF0b3JbY2xhc3M9XCJqcy5vcmdcIl0gPiBxdGktYmFzZS12YWx1ZScpO1xuICBjZGF0YUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29tbWVudFRleHQgPSBkb2N1bWVudC5jcmVhdGVDb21tZW50KGVsZW1lbnQudGV4dENvbnRlbnQpO1xuICAgIGVsZW1lbnQucmVwbGFjZUNoaWxkKGNvbW1lbnRUZXh0LCBlbGVtZW50LmZpcnN0Q2hpbGQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gc3RyaXBTdHlsZVNoZWV0cyh4bWxGcmFnbWVudDogRG9jdW1lbnRGcmFnbWVudCkge1xuICAvLyByZW1vdmUgcXRpLXN0eWxlc2hlZXQgdGFnXG4gIHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3F0aS1zdHlsZXNoZWV0JykuZm9yRWFjaChzdHlsZXNoZWV0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QUFRLGFBQWErQixFQUFhL0IsRUFBUSxVQUFVLENBQ3RELENBQUMsQ0FDSCxDQUVBLFNBQVNVLEVBQWlCN0IsRUFBK0IsQ0FFdkRBLEVBQVksaUJBQWlCLGdCQUFnQixFQUFFLFFBQVFtRCxHQUFjQSxFQUFXLE9BQU8sQ0FBQyxDQUMxRiIsCiAgIm5hbWVzIjogWyJ4bWwiLCAicXRpVHJhbnNmb3JtSXRlbSIsICJ4bWxGcmFnbWVudCIsICJhcGkiLCAidXJpIiwgImNhbmNlbFByZXZpb3VzUmVxdWVzdCIsICJyZXNvbHZlIiwgInJlamVjdCIsICJsb2FkWE1MIiwgInhtbFN0cmluZyIsICJwYXJzZVhNTCIsICJsb2NhdGlvbiIsICJzZXRMb2NhdGlvbiIsICJmbiIsICJhdHRyaWJ1dGVzIiwgImRvY3VtZW50UGF0aCIsICJhdHRyaWJ1dGUiLCAibm9kZSIsICJzcmNWYWx1ZSIsICJwYXJhbSIsICJjcmVhdGVFbGVtZW50V2l0aE5ld1RhZ05hbWUiLCAiZWxlbWVudCIsICJuZXdUYWdOYW1lIiwgIm5ld0VsZW1lbnQiLCAiYXR0ciIsICJjbHMiLCAiYmFzZVJlZiIsICJiYXNlSXRlbSIsICJxdGlDdXN0b21JbnRlcmFjdGlvbiIsICJxdGlDdXN0b21JbnRlcmFjdGlvbk9iamVjdCIsICJjb252ZXJ0Q0RBVEF0b0NvbW1lbnQiLCAic3RyaXBTdHlsZVNoZWV0cyIsICJ0b0hUTUwiLCAicXRpVHJhbnNmb3JtTWFuaWZlc3QiLCAiZWwiLCAicXRpVHJhbnNmb3JtVGVzdCIsICJpdGVtc0Zyb21UZXN0IiwgInhtbFRvSFRNTCIsICJpdGVtcyIsICJpZGVudGlmaWVyIiwgImhyZWYiLCAiY2F0ZWdvcnkiLCAiY3VycmVudFJlcXVlc3QiLCAidXJsIiwgInhociIsICJ4bWxEb2N1bWVudCIsICJwcm9jZXNzb3IiLCAieHNsdERvY3VtZW50IiwgImVsV2l0aFNyYyIsICJfYSIsICJhdHRyVmFsdWUiLCAibmV3U3JjVmFsdWUiLCAiY29tbWVudFRleHQiLCAic3R5bGVzaGVldCJdCn0K
@@ -96,6 +96,161 @@
96
96
  }
97
97
  ]
98
98
  },
99
+ {
100
+ "kind": "javascript-module",
101
+ "path": "src/lib/qti-item/index.ts",
102
+ "declarations": [],
103
+ "exports": [
104
+ {
105
+ "kind": "js",
106
+ "name": "*",
107
+ "declaration": {
108
+ "name": "*",
109
+ "package": "./qti-item"
110
+ }
111
+ },
112
+ {
113
+ "kind": "js",
114
+ "name": "*",
115
+ "declaration": {
116
+ "name": "*",
117
+ "package": "./qti-item.mixin"
118
+ }
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "kind": "javascript-module",
124
+ "path": "src/lib/qti-item/qti-item.mixin.ts",
125
+ "declarations": [
126
+ {
127
+ "kind": "mixin",
128
+ "description": "",
129
+ "name": "QtiItemMixin",
130
+ "members": [],
131
+ "events": [
132
+ {
133
+ "name": "qti-item-connected",
134
+ "type": {
135
+ "text": "CustomEvent"
136
+ }
137
+ }
138
+ ],
139
+ "attributes": [
140
+ {
141
+ "name": "identifier",
142
+ "type": {
143
+ "text": "string | undefined"
144
+ },
145
+ "fieldName": "identifier"
146
+ },
147
+ {
148
+ "name": "href",
149
+ "type": {
150
+ "text": "string | undefined"
151
+ },
152
+ "fieldName": "href"
153
+ }
154
+ ],
155
+ "parameters": [
156
+ {
157
+ "name": "Base",
158
+ "type": {
159
+ "text": "T"
160
+ }
161
+ }
162
+ ]
163
+ }
164
+ ],
165
+ "exports": [
166
+ {
167
+ "kind": "js",
168
+ "name": "QtiItemMixin",
169
+ "declaration": {
170
+ "name": "QtiItemMixin",
171
+ "module": "src/lib/qti-item/qti-item.mixin.ts"
172
+ }
173
+ }
174
+ ]
175
+ },
176
+ {
177
+ "kind": "javascript-module",
178
+ "path": "src/lib/qti-item/qti-item.ts",
179
+ "declarations": [
180
+ {
181
+ "kind": "class",
182
+ "description": "",
183
+ "name": "QtiItem",
184
+ "mixins": [
185
+ {
186
+ "name": "QtiItemMixin",
187
+ "module": "/src/lib/qti-item/qti-item.mixin"
188
+ }
189
+ ],
190
+ "superclass": {
191
+ "name": "LitElement",
192
+ "package": "lit"
193
+ },
194
+ "tagName": "qti-item",
195
+ "customElement": true,
196
+ "attributes": [
197
+ {
198
+ "name": "identifier",
199
+ "type": {
200
+ "text": "string | undefined"
201
+ },
202
+ "fieldName": "identifier",
203
+ "inheritedFrom": {
204
+ "name": "QtiItemMixin",
205
+ "module": "src/lib/qti-item/qti-item.mixin.ts"
206
+ }
207
+ },
208
+ {
209
+ "name": "href",
210
+ "type": {
211
+ "text": "string | undefined"
212
+ },
213
+ "fieldName": "href",
214
+ "inheritedFrom": {
215
+ "name": "QtiItemMixin",
216
+ "module": "src/lib/qti-item/qti-item.mixin.ts"
217
+ }
218
+ }
219
+ ],
220
+ "members": [],
221
+ "events": [
222
+ {
223
+ "name": "qti-item-connected",
224
+ "type": {
225
+ "text": "CustomEvent"
226
+ },
227
+ "inheritedFrom": {
228
+ "name": "QtiItemMixin",
229
+ "module": "src/lib/qti-item/qti-item.mixin.ts"
230
+ }
231
+ }
232
+ ]
233
+ }
234
+ ],
235
+ "exports": [
236
+ {
237
+ "kind": "js",
238
+ "name": "QtiItem",
239
+ "declaration": {
240
+ "name": "QtiItem",
241
+ "module": "src/lib/qti-item/qti-item.ts"
242
+ }
243
+ },
244
+ {
245
+ "kind": "custom-element-definition",
246
+ "name": "qti-item",
247
+ "declaration": {
248
+ "name": "QtiItem",
249
+ "module": "src/lib/qti-item/qti-item.ts"
250
+ }
251
+ }
252
+ ]
253
+ },
99
254
  {
100
255
  "kind": "javascript-module",
101
256
  "path": "src/lib/qti-components/index.ts",
@@ -527,161 +682,6 @@
527
682
  }
528
683
  ]
529
684
  },
530
- {
531
- "kind": "javascript-module",
532
- "path": "src/lib/qti-item/index.ts",
533
- "declarations": [],
534
- "exports": [
535
- {
536
- "kind": "js",
537
- "name": "*",
538
- "declaration": {
539
- "name": "*",
540
- "package": "./qti-item"
541
- }
542
- },
543
- {
544
- "kind": "js",
545
- "name": "*",
546
- "declaration": {
547
- "name": "*",
548
- "package": "./qti-item.mixin"
549
- }
550
- }
551
- ]
552
- },
553
- {
554
- "kind": "javascript-module",
555
- "path": "src/lib/qti-item/qti-item.mixin.ts",
556
- "declarations": [
557
- {
558
- "kind": "mixin",
559
- "description": "",
560
- "name": "QtiItemMixin",
561
- "members": [],
562
- "events": [
563
- {
564
- "name": "qti-item-connected",
565
- "type": {
566
- "text": "CustomEvent"
567
- }
568
- }
569
- ],
570
- "attributes": [
571
- {
572
- "name": "identifier",
573
- "type": {
574
- "text": "string | undefined"
575
- },
576
- "fieldName": "identifier"
577
- },
578
- {
579
- "name": "href",
580
- "type": {
581
- "text": "string | undefined"
582
- },
583
- "fieldName": "href"
584
- }
585
- ],
586
- "parameters": [
587
- {
588
- "name": "Base",
589
- "type": {
590
- "text": "T"
591
- }
592
- }
593
- ]
594
- }
595
- ],
596
- "exports": [
597
- {
598
- "kind": "js",
599
- "name": "QtiItemMixin",
600
- "declaration": {
601
- "name": "QtiItemMixin",
602
- "module": "src/lib/qti-item/qti-item.mixin.ts"
603
- }
604
- }
605
- ]
606
- },
607
- {
608
- "kind": "javascript-module",
609
- "path": "src/lib/qti-item/qti-item.ts",
610
- "declarations": [
611
- {
612
- "kind": "class",
613
- "description": "",
614
- "name": "QtiItem",
615
- "mixins": [
616
- {
617
- "name": "QtiItemMixin",
618
- "module": "/src/lib/qti-item/qti-item.mixin"
619
- }
620
- ],
621
- "superclass": {
622
- "name": "LitElement",
623
- "package": "lit"
624
- },
625
- "tagName": "qti-item",
626
- "customElement": true,
627
- "attributes": [
628
- {
629
- "name": "identifier",
630
- "type": {
631
- "text": "string | undefined"
632
- },
633
- "fieldName": "identifier",
634
- "inheritedFrom": {
635
- "name": "QtiItemMixin",
636
- "module": "src/lib/qti-item/qti-item.mixin.ts"
637
- }
638
- },
639
- {
640
- "name": "href",
641
- "type": {
642
- "text": "string | undefined"
643
- },
644
- "fieldName": "href",
645
- "inheritedFrom": {
646
- "name": "QtiItemMixin",
647
- "module": "src/lib/qti-item/qti-item.mixin.ts"
648
- }
649
- }
650
- ],
651
- "members": [],
652
- "events": [
653
- {
654
- "name": "qti-item-connected",
655
- "type": {
656
- "text": "CustomEvent"
657
- },
658
- "inheritedFrom": {
659
- "name": "QtiItemMixin",
660
- "module": "src/lib/qti-item/qti-item.mixin.ts"
661
- }
662
- }
663
- ]
664
- }
665
- ],
666
- "exports": [
667
- {
668
- "kind": "js",
669
- "name": "QtiItem",
670
- "declaration": {
671
- "name": "QtiItem",
672
- "module": "src/lib/qti-item/qti-item.ts"
673
- }
674
- },
675
- {
676
- "kind": "custom-element-definition",
677
- "name": "qti-item",
678
- "declaration": {
679
- "name": "QtiItem",
680
- "module": "src/lib/qti-item/qti-item.ts"
681
- }
682
- }
683
- ]
684
- },
685
685
  {
686
686
  "kind": "javascript-module",
687
687
  "path": "src/lib/qti-loader/index.ts",