@citolab/qti-components 6.7.1-6 → 6.7.1-61

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.
@@ -1,4 +1,5 @@
1
1
  /**
2
+ * Browser based QTI-XML to HTML transformer.
2
3
  * Returns an object with methods to load, parse, transform and serialize QTI XML items.
3
4
  * @returns An object with methods to load, parse, transform and serialize QTI XML items.
4
5
  * @example
@@ -7,19 +8,68 @@
7
8
  * qtiTransformer.path('/assessmentItem/itemBody');
8
9
  * const html = qtiTransformer.html();
9
10
  * const xml = qtiTransformer.xml();
11
+ * const htmldoc = qtiTransformer.htmldoc();
12
+ * const xmldoc = qtiTransformer.xmldoc();
10
13
  *
11
14
  * qtiTransformItem().parse(storyXML).html()
12
15
  */
13
- /**
14
- * This module exports a function that returns an object with methods to load, parse, transform and serialize QTI XML items.
15
- * @returns An object with methods to load, parse, transform and serialize QTI XML items.
16
- */
17
16
  declare const qtiTransformItem: () => {
18
- load(uri: any): Promise<any>;
19
- parse(xmlString: any): any;
20
- path: (location: string) => any;
21
- html(): string;
22
- xml(): string;
17
+ load: (uri: string, cancelPreviousRequest?: boolean) => Promise<{
18
+ load(uri: string, cancelPreviousRequest?: boolean): Promise<any>;
19
+ parse(xmlString: string): any;
20
+ path: (location: string) => any;
21
+ fn(fn: (xmlFragment: XMLDocument) => void): any;
22
+ pciHooks(uri: string): any;
23
+ convertCDATAtoComment(): any;
24
+ stripStyleSheets(): any;
25
+ html(): string;
26
+ xml(): string;
27
+ htmldoc(): DocumentFragment;
28
+ xmldoc(): XMLDocument;
29
+ }>;
30
+ parse: (xmlString: string) => {
31
+ load(uri: string, cancelPreviousRequest?: boolean): Promise<any>;
32
+ parse(xmlString: string): any;
33
+ path: (location: string) => any;
34
+ fn(fn: (xmlFragment: XMLDocument) => void): any;
35
+ pciHooks(uri: string): any;
36
+ convertCDATAtoComment(): any;
37
+ stripStyleSheets(): any;
38
+ html(): string;
39
+ xml(): string;
40
+ htmldoc(): DocumentFragment;
41
+ xmldoc(): XMLDocument;
42
+ };
43
+ path: (location: string) => {
44
+ load(uri: string, cancelPreviousRequest?: boolean): Promise<any>;
45
+ parse(xmlString: string): any;
46
+ path: (location: string) => any;
47
+ fn(fn: (xmlFragment: XMLDocument) => void): any;
48
+ pciHooks(uri: string): any;
49
+ convertCDATAtoComment(): any;
50
+ stripStyleSheets(): any;
51
+ html(): string;
52
+ xml(): string;
53
+ htmldoc(): DocumentFragment;
54
+ xmldoc(): XMLDocument;
55
+ };
56
+ fn: (fn: (xmlFragment: XMLDocument) => void) => {
57
+ load(uri: string, cancelPreviousRequest?: boolean): Promise<any>;
58
+ parse(xmlString: string): any;
59
+ path: (location: string) => any;
60
+ fn(fn: (xmlFragment: XMLDocument) => void): any;
61
+ pciHooks(uri: string): any;
62
+ convertCDATAtoComment(): any;
63
+ stripStyleSheets(): any;
64
+ html(): string;
65
+ xml(): string;
66
+ htmldoc(): DocumentFragment;
67
+ xmldoc(): XMLDocument;
68
+ };
69
+ html: () => string;
70
+ xml: () => string;
71
+ htmldoc: () => DocumentFragment;
72
+ xmldoc: () => XMLDocument;
23
73
  };
24
74
  /**
25
75
  * Returns an object with methods to load, parse and transform QTI tests.
@@ -32,14 +82,57 @@ declare const qtiTransformItem: () => {
32
82
  * const xml = qtiTransformer.xml();
33
83
  */
34
84
  declare const qtiTransformTest: () => {
35
- load(uri: any): Promise<any>;
36
- items(): {
85
+ load: (uri: string) => Promise<{
86
+ load(uri: any): Promise<any>;
87
+ parse(xmlString: string): any;
88
+ fn(fn: (xmlFragment: XMLDocument) => void): any;
89
+ items(): {
90
+ identifier: string;
91
+ href: string;
92
+ category: string;
93
+ }[];
94
+ html(): string;
95
+ xml(): string;
96
+ htmldoc(): DocumentFragment;
97
+ xmldoc(): XMLDocument;
98
+ }>;
99
+ parse: (xmlString: string) => {
100
+ load(uri: any): Promise<any>;
101
+ parse(xmlString: string): any;
102
+ fn(fn: (xmlFragment: XMLDocument) => void): any;
103
+ items(): {
104
+ identifier: string;
105
+ href: string;
106
+ category: string;
107
+ }[];
108
+ html(): string;
109
+ xml(): string;
110
+ htmldoc(): DocumentFragment;
111
+ xmldoc(): XMLDocument;
112
+ };
113
+ fn: (fn: (xmlFragment: XMLDocument) => void) => {
114
+ load(uri: any): Promise<any>;
115
+ parse(xmlString: string): any;
116
+ fn(fn: (xmlFragment: XMLDocument) => void): any;
117
+ items(): {
118
+ identifier: string;
119
+ href: string;
120
+ category: string;
121
+ }[];
122
+ html(): string;
123
+ xml(): string;
124
+ htmldoc(): DocumentFragment;
125
+ xmldoc(): XMLDocument;
126
+ };
127
+ items: () => {
37
128
  identifier: string;
38
129
  href: string;
39
130
  category: string;
40
131
  }[];
41
- html(): string;
42
- xml(): string;
132
+ html: () => string;
133
+ xml: () => string;
134
+ htmldoc: () => DocumentFragment;
135
+ xmldoc: () => XMLDocument;
43
136
  };
44
137
 
45
138
  export { qtiTransformItem, qtiTransformTest };
@@ -1,37 +1,2 @@
1
- import"../chunk-JILF7TI5.js";var p=()=>{let r,n={async load(e){return new Promise((t,s)=>{m(e).then(o=>(r=o,t(n)))})},parse(e){return r=u(e),n},path:e=>(x(r,e),n),html(){return a(r)},xml(){return new XMLSerializer().serializeToString(r)}};return n},g=()=>{let r,n={async load(e){return new Promise((t,s)=>{m(e).then(o=>(r=o,t(n)))})},items(){return c(r)},html(){return a(r)},xml(){return new XMLSerializer().serializeToString(r)}};return n},i=`
2
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
- <xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />
4
- <xsl:template match="@*|node()">
5
- <xsl:copy>
6
- <xsl:apply-templates select="@*|node()"/>
7
- </xsl:copy>
8
- </xsl:template>
9
-
10
- <!-- convert CDATA to comments -->
11
- <xsl:template match="text()[contains(., 'CDATA')]">
12
- <strong>
13
- <xsl:comment>
14
- <xsl:value-of select="."/>
15
- </xsl:comment>
16
- <strong>
17
- </xsl:template>
18
-
19
- <!-- remove xml comments -->
20
- <xsl:template match="comment()" />
21
-
22
- <!-- remove existing namespaces -->
23
- <xsl:template match="*">
24
- <!-- remove element prefix -->
25
- <xsl:element name="{local-name()}">
26
- <!-- process attributes -->
27
- <xsl:for-each select="@*">
28
- <!-- remove attribute prefix -->
29
- <xsl:attribute name="{local-name()}">
30
- <xsl:value-of select="."/>
31
- </xsl:attribute>
32
- </xsl:for-each>
33
- <xsl:apply-templates/>
34
- </xsl:element>
35
- </xsl:template>
36
- </xsl:stylesheet>`;function c(r){let n=[];return r.querySelectorAll("qti-assessment-item-ref").forEach(e=>{let t=e.getAttribute("identifier"),s=e.getAttribute("href"),o=e.getAttribute("category");n.push({identifier:t,href:s,category:o})}),n}function m(r){return new Promise((n,e)=>{let t=new XMLHttpRequest;t.open("GET",r,!0),t.responseType="document",t.onload=()=>t.status>=200&&t.status<300?n(t.responseXML):(e(t.statusText),null),t.onerror=function(){e(t.statusText)},t.send()})}function u(r){return new DOMParser().parseFromString(r,"text/xml")}function a(r){let n=new XSLTProcessor,e=new DOMParser().parseFromString(i,"text/xml");n.importStylesheet(e);let t=n.transformToFragment(r,document);return new XMLSerializer().serializeToString(t)}function x(r,n){r.querySelectorAll("[src],[href]").forEach(e=>{var o;let t="";e.getAttribute("src")&&(t="src"),e.getAttribute("href")&&(t="href");let s=(o=e.getAttribute(t))==null?void 0:o.trim();if(!s.startsWith("data:")&&!s.startsWith("http")){let l=n+encodeURI(s);e.setAttribute(t,l)}})}export{p as qtiTransformItem,g as qtiTransformTest};
37
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2xpYi9xdGktdHJhbnNmb3JtZXJzL3F0aS10cmFuc2Zvcm1lcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogUmV0dXJucyBhbiBvYmplY3Qgd2l0aCBtZXRob2RzIHRvIGxvYWQsIHBhcnNlLCB0cmFuc2Zvcm0gYW5kIHNlcmlhbGl6ZSBRVEkgWE1MIGl0ZW1zLlxuICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggbWV0aG9kcyB0byBsb2FkLCBwYXJzZSwgdHJhbnNmb3JtIGFuZCBzZXJpYWxpemUgUVRJIFhNTCBpdGVtcy5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBxdGlUcmFuc2Zvcm1lciA9IHF0aVRyYW5zZm9ybUl0ZW0oKTtcbiAqIGF3YWl0IHF0aVRyYW5zZm9ybWVyLmxvYWQoJ3BhdGgvdG8veG1sL2ZpbGUueG1sJyk7XG4gKiBxdGlUcmFuc2Zvcm1lci5wYXRoKCcvYXNzZXNzbWVudEl0ZW0vaXRlbUJvZHknKTtcbiAqIGNvbnN0IGh0bWwgPSBxdGlUcmFuc2Zvcm1lci5odG1sKCk7XG4gKiBjb25zdCB4bWwgPSBxdGlUcmFuc2Zvcm1lci54bWwoKTtcbiAqXG4gKiBxdGlUcmFuc2Zvcm1JdGVtKCkucGFyc2Uoc3RvcnlYTUwpLmh0bWwoKVxuICovXG4vKipcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gb2JqZWN0IHdpdGggbWV0aG9kcyB0byBsb2FkLCBwYXJzZSwgdHJhbnNmb3JtIGFuZCBzZXJpYWxpemUgUVRJIFhNTCBpdGVtcy5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIG1ldGhvZHMgdG8gbG9hZCwgcGFyc2UsIHRyYW5zZm9ybSBhbmQgc2VyaWFsaXplIFFUSSBYTUwgaXRlbXMuXG4gKi9cbmV4cG9ydCBjb25zdCBxdGlUcmFuc2Zvcm1JdGVtID0gKCkgPT4ge1xuICBsZXQgeG1sRnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQ7XG5cbiAgY29uc3QgYXBpID0ge1xuICAgIGFzeW5jIGxvYWQodXJpKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dHlwZW9mIGFwaT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBsb2FkWE1MKHVyaSkudGhlbih4bWwgPT4ge1xuICAgICAgICAgIHhtbEZyYWdtZW50ID0geG1sO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGFwaSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBwYXJzZSh4bWxTdHJpbmcpIHtcbiAgICAgIHhtbEZyYWdtZW50ID0gcGFyc2VYTUwoeG1sU3RyaW5nKTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBwYXRoOiAobG9jYXRpb246IHN0cmluZykgPT4ge1xuICAgICAgc2V0TG9jYXRpb24oeG1sRnJhZ21lbnQsIGxvY2F0aW9uKTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBodG1sKCkge1xuICAgICAgcmV0dXJuIHRvSFRNTCh4bWxGcmFnbWVudCk7XG4gICAgfSxcbiAgICB4bWwoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHhtbEZyYWdtZW50KTtcbiAgICB9XG4gIH07XG4gIHJldHVybiBhcGk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgYW4gb2JqZWN0IHdpdGggbWV0aG9kcyB0byBsb2FkLCBwYXJzZSBhbmQgdHJhbnNmb3JtIFFUSSB0ZXN0cy5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIG1ldGhvZHMgdG8gbG9hZCwgcGFyc2UgYW5kIHRyYW5zZm9ybSBRVEkgdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcXRpVHJhbnNmb3JtZXIgPSBxdGlUcmFuc2Zvcm1UZXN0KCk7XG4gKiBhd2FpdCBxdGlUcmFuc2Zvcm1lci5sb2FkKCdodHRwczovL2V4YW1wbGUuY29tL3Rlc3QueG1sJyk7XG4gKiBjb25zdCBpdGVtcyA9IHF0aVRyYW5zZm9ybWVyLml0ZW1zKCk7XG4gKiBjb25zdCBodG1sID0gcXRpVHJhbnNmb3JtZXIuaHRtbCgpO1xuICogY29uc3QgeG1sID0gcXRpVHJhbnNmb3JtZXIueG1sKCk7XG4gKi9cbmV4cG9ydCBjb25zdCBxdGlUcmFuc2Zvcm1UZXN0ID0gKCkgPT4ge1xuICBsZXQgeG1sRnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQ7XG5cbiAgY29uc3QgYXBpID0ge1xuICAgIGFzeW5jIGxvYWQodXJpKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dHlwZW9mIGFwaT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBsb2FkWE1MKHVyaSkudGhlbih4bWwgPT4ge1xuICAgICAgICAgIHhtbEZyYWdtZW50ID0geG1sO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGFwaSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBpdGVtcygpIHtcbiAgICAgIHJldHVybiBpdGVtc0Zyb21UZXN0KHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIGh0bWwoKSB7XG4gICAgICByZXR1cm4gdG9IVE1MKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIHhtbCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoeG1sRnJhZ21lbnQpO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGFwaTtcbn07XG5cbmNvbnN0IHhtbFRvSFRNTCA9IGBcbjx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPVwiMS4wXCIgeG1sbnM6eHNsPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtXCI+XG48eHNsOm91dHB1dCBtZXRob2Q9XCJodG1sXCIgdmVyc2lvbj1cIjUuMFwiIGVuY29kaW5nPVwiVVRGLThcIiBpbmRlbnQ9XCJ5ZXNcIiAvPlxuICA8eHNsOnRlbXBsYXRlIG1hdGNoPVwiQCp8bm9kZSgpXCI+XG4gICAgPHhzbDpjb3B5PlxuICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PVwiQCp8bm9kZSgpXCIvPlxuICAgIDwveHNsOmNvcHk+XG4gIDwveHNsOnRlbXBsYXRlPlxuXG4gIDwhLS0gY29udmVydCBDREFUQSB0byBjb21tZW50cyAtLT5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cInRleHQoKVtjb250YWlucyguLCAnQ0RBVEEnKV1cIj5cbiAgICA8c3Ryb25nPlxuICAgICAgPHhzbDpjb21tZW50PlxuICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD1cIi5cIi8+XG4gICAgICA8L3hzbDpjb21tZW50PlxuICAgIDxzdHJvbmc+XG4gIDwveHNsOnRlbXBsYXRlPlxuXG4gIDwhLS0gcmVtb3ZlIHhtbCBjb21tZW50cyAtLT5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cImNvbW1lbnQoKVwiIC8+XG5cbiAgPCEtLSByZW1vdmUgZXhpc3RpbmcgbmFtZXNwYWNlcyAtLT5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cIipcIj5cbiAgICA8IS0tIHJlbW92ZSBlbGVtZW50IHByZWZpeCAtLT5cbiAgICA8eHNsOmVsZW1lbnQgbmFtZT1cIntsb2NhbC1uYW1lKCl9XCI+XG4gICAgICA8IS0tIHByb2Nlc3MgYXR0cmlidXRlcyAtLT5cbiAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PVwiQCpcIj5cbiAgICAgICAgPCEtLSByZW1vdmUgYXR0cmlidXRlIHByZWZpeCAtLT5cbiAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT1cIntsb2NhbC1uYW1lKCl9XCI+XG4gICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9XCIuXCIvPlxuICAgICAgICA8L3hzbDphdHRyaWJ1dGU+XG4gICAgICA8L3hzbDpmb3ItZWFjaD5cbiAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+XG4gIDwveHNsOmVsZW1lbnQ+XG48L3hzbDp0ZW1wbGF0ZT5cbjwveHNsOnN0eWxlc2hlZXQ+YDtcblxuZnVuY3Rpb24gaXRlbXNGcm9tVGVzdCh4bWxGcmFnbWVudDogRG9jdW1lbnRGcmFnbWVudCkge1xuICBjb25zdCBpdGVtczogeyBpZGVudGlmaWVyOiBzdHJpbmc7IGhyZWY6IHN0cmluZzsgY2F0ZWdvcnk6IHN0cmluZyB9W10gPSBbXTtcbiAgeG1sRnJhZ21lbnQucXVlcnlTZWxlY3RvckFsbCgncXRpLWFzc2Vzc21lbnQtaXRlbS1yZWYnKS5mb3JFYWNoKGVsID0+IHtcbiAgICBjb25zdCBpZGVudGlmaWVyID0gZWwuZ2V0QXR0cmlidXRlKCdpZGVudGlmaWVyJyk7XG4gICAgY29uc3QgaHJlZiA9IGVsLmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICAgIGNvbnN0IGNhdGVnb3J5ID0gZWwuZ2V0QXR0cmlidXRlKCdjYXRlZ29yeScpO1xuICAgIGl0ZW1zLnB1c2goeyBpZGVudGlmaWVyLCBocmVmLCBjYXRlZ29yeSB9KTtcbiAgfSk7XG4gIHJldHVybiBpdGVtcztcbn1cblxuZnVuY3Rpb24gbG9hZFhNTCh1cmwpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPERvY3VtZW50RnJhZ21lbnQgfCBudWxsPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSk7XG4gICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdkb2N1bWVudCc7XG5cbiAgICB4aHIub25sb2FkID0gKCkgPT4ge1xuICAgICAgaWYgKHhoci5zdGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDApIHtcbiAgICAgICAgLy8gY29uc3QgZG9jRnJhZ21lbnQgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgIC8vIGRvY0ZyYWdtZW50LmFwcGVuZENoaWxkKHhoci5yZXNwb25zZVhNTCk7XG4gICAgICAgIHJldHVybiByZXNvbHZlKHhoci5yZXNwb25zZVhNTCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWplY3QoeGhyLnN0YXR1c1RleHQpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgeGhyLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZWplY3QoeGhyLnN0YXR1c1RleHQpO1xuICAgIH07XG5cbiAgICB4aHIuc2VuZCgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFyc2VYTUwoeG1sRG9jdW1lbnQ6IHN0cmluZykge1xuICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG4gIGNvbnN0IHhtbEZyYWdtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyh4bWxEb2N1bWVudCwgJ3RleHQveG1sJyk7XG4gIHJldHVybiB4bWxGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gdG9IVE1MKHhtbEZyYWdtZW50OiBEb2N1bWVudEZyYWdtZW50KSB7XG4gIGNvbnN0IHByb2Nlc3NvciA9IG5ldyBYU0xUUHJvY2Vzc29yKCk7XG4gIGNvbnN0IHhzbHREb2N1bWVudCA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoeG1sVG9IVE1MLCAndGV4dC94bWwnKTtcbiAgcHJvY2Vzc29yLmltcG9ydFN0eWxlc2hlZXQoeHNsdERvY3VtZW50KTtcbiAgY29uc3QgaXRlbUhUTUxGcmFnbWVudCA9IHByb2Nlc3Nvci50cmFuc2Zvcm1Ub0ZyYWdtZW50KHhtbEZyYWdtZW50LCBkb2N1bWVudCk7XG4gIGNvbnN0IGl0ZW1IVE1MID0gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyhpdGVtSFRNTEZyYWdtZW50KTtcbiAgcmV0dXJuIGl0ZW1IVE1MO1xufVxuXG5mdW5jdGlvbiBzZXRMb2NhdGlvbih4bWxGcmFnbWVudDogRG9jdW1lbnRGcmFnbWVudCwgbG9jYXRpb246IHN0cmluZykge1xuICB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbc3JjXSxbaHJlZl0nKS5mb3JFYWNoKGVsV2l0aFNyYyA9PiB7XG4gICAgbGV0IGF0dHI6ICdzcmMnIHwgJ2hyZWYnIHwgJycgPSAnJztcblxuICAgIGlmIChlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKCdzcmMnKSkge1xuICAgICAgYXR0ciA9ICdzcmMnO1xuICAgIH1cbiAgICBpZiAoZWxXaXRoU3JjLmdldEF0dHJpYnV0ZSgnaHJlZicpKSB7XG4gICAgICBhdHRyID0gJ2hyZWYnO1xuICAgIH1cbiAgICBjb25zdCBhdHRyVmFsdWUgPSBlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKGF0dHIpPy50cmltKCk7XG5cbiAgICBpZiAoIWF0dHJWYWx1ZS5zdGFydHNXaXRoKCdkYXRhOicpICYmICFhdHRyVmFsdWUuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICBjb25zdCBuZXdTcmNWYWx1ZSA9IGxvY2F0aW9uICsgZW5jb2RlVVJJKGF0dHJWYWx1ZSk7XG4gICAgICBlbFdpdGhTcmMuc2V0QXR0cmlidXRlKGF0dHIsIG5ld1NyY1ZhbHVlKTtcbiAgICB9XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjZCQWdCTyxJQUFNQSxFQUFtQixJQUFNLENBQ3BDLElBQUlDLEVBRUVDLEVBQU0sQ0FDVixNQUFNLEtBQUtDLEVBQUssQ0FDZCxPQUFPLElBQUksUUFBb0IsQ0FBQ0MsRUFBU0MsSUFBVyxDQUNsREMsRUFBUUgsQ0FBRyxFQUFFLEtBQUtJLElBQ2hCTixFQUFjTSxFQUNQSCxFQUFRRixDQUFHLEVBQ25CLENBQ0gsQ0FBQyxDQUNILEVBQ0EsTUFBTU0sRUFBVyxDQUNmLE9BQUFQLEVBQWNRLEVBQVNELENBQVMsRUFDekJOLENBQ1QsRUFDQSxLQUFPUSxJQUNMQyxFQUFZVixFQUFhUyxDQUFRLEVBQzFCUixHQUVULE1BQU8sQ0FDTCxPQUFPVSxFQUFPWCxDQUFXLENBQzNCLEVBQ0EsS0FBYyxDQUNaLE9BQU8sSUFBSSxjQUFjLEVBQUUsa0JBQWtCQSxDQUFXLENBQzFELENBQ0YsRUFDQSxPQUFPQyxDQUNULEVBWWFXLEVBQW1CLElBQU0sQ0FDcEMsSUFBSVosRUFFRUMsRUFBTSxDQUNWLE1BQU0sS0FBS0MsRUFBSyxDQUNkLE9BQU8sSUFBSSxRQUFvQixDQUFDQyxFQUFTQyxJQUFXLENBQ2xEQyxFQUFRSCxDQUFHLEVBQUUsS0FBS0ksSUFDaEJOLEVBQWNNLEVBQ1BILEVBQVFGLENBQUcsRUFDbkIsQ0FDSCxDQUFDLENBQ0gsRUFDQSxPQUFRLENBQ04sT0FBT1ksRUFBY2IsQ0FBVyxDQUNsQyxFQUNBLE1BQU8sQ0FDTCxPQUFPVyxFQUFPWCxDQUFXLENBQzNCLEVBQ0EsS0FBYyxDQUNaLE9BQU8sSUFBSSxjQUFjLEVBQUUsa0JBQWtCQSxDQUFXLENBQzFELENBQ0YsRUFDQSxPQUFPQyxDQUNULEVBRU1hLEVBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQXFDbEIsU0FBU0QsRUFBY2IsRUFBK0IsQ0FDcEQsSUFBTWUsRUFBa0UsQ0FBQyxFQUN6RSxPQUFBZixFQUFZLGlCQUFpQix5QkFBeUIsRUFBRSxRQUFRZ0IsR0FBTSxDQUNwRSxJQUFNQyxFQUFhRCxFQUFHLGFBQWEsWUFBWSxFQUN6Q0UsRUFBT0YsRUFBRyxhQUFhLE1BQU0sRUFDN0JHLEVBQVdILEVBQUcsYUFBYSxVQUFVLEVBQzNDRCxFQUFNLEtBQUssQ0FBRSxXQUFBRSxFQUFZLEtBQUFDLEVBQU0sU0FBQUMsQ0FBUyxDQUFDLENBQzNDLENBQUMsRUFDTUosQ0FDVCxDQUVBLFNBQVNWLEVBQVFlLEVBQUssQ0FDcEIsT0FBTyxJQUFJLFFBQWlDLENBQUNqQixFQUFTQyxJQUFXLENBQy9ELElBQU1pQixFQUFNLElBQUksZUFDaEJBLEVBQUksS0FBSyxNQUFPRCxFQUFLLEVBQUksRUFDekJDLEVBQUksYUFBZSxXQUVuQkEsRUFBSSxPQUFTLElBQ1BBLEVBQUksUUFBVSxLQUFPQSxFQUFJLE9BQVMsSUFHN0JsQixFQUFRa0IsRUFBSSxXQUFXLEdBRTlCakIsRUFBT2lCLEVBQUksVUFBVSxFQUNkLE1BSVhBLEVBQUksUUFBVSxVQUFZLENBQ3hCakIsRUFBT2lCLEVBQUksVUFBVSxDQUN2QixFQUVBQSxFQUFJLEtBQUssQ0FDWCxDQUFDLENBQ0gsQ0FFQSxTQUFTYixFQUFTYyxFQUFxQixDQUdyQyxPQUZlLElBQUksVUFBVSxFQUNGLGdCQUFnQkEsRUFBYSxVQUFVLENBRXBFLENBRUEsU0FBU1gsRUFBT1gsRUFBK0IsQ0FDN0MsSUFBTXVCLEVBQVksSUFBSSxjQUNoQkMsRUFBZSxJQUFJLFVBQVUsRUFBRSxnQkFBZ0JWLEVBQVcsVUFBVSxFQUMxRVMsRUFBVSxpQkFBaUJDLENBQVksRUFDdkMsSUFBTUMsRUFBbUJGLEVBQVUsb0JBQW9CdkIsRUFBYSxRQUFRLEVBRTVFLE9BRGlCLElBQUksY0FBYyxFQUFFLGtCQUFrQnlCLENBQWdCLENBRXpFLENBRUEsU0FBU2YsRUFBWVYsRUFBK0JTLEVBQWtCLENBQ3BFVCxFQUFZLGlCQUFpQixjQUFjLEVBQUUsUUFBUTBCLEdBQWEsQ0ExS3BFLElBQUFDLEVBMktJLElBQUlDLEVBQTRCLEdBRTVCRixFQUFVLGFBQWEsS0FBSyxJQUM5QkUsRUFBTyxPQUVMRixFQUFVLGFBQWEsTUFBTSxJQUMvQkUsRUFBTyxRQUVULElBQU1DLEdBQVlGLEVBQUFELEVBQVUsYUFBYUUsQ0FBSSxJQUEzQixZQUFBRCxFQUE4QixPQUVoRCxHQUFJLENBQUNFLEVBQVUsV0FBVyxPQUFPLEdBQUssQ0FBQ0EsRUFBVSxXQUFXLE1BQU0sRUFBRyxDQUNuRSxJQUFNQyxFQUFjckIsRUFBVyxVQUFVb0IsQ0FBUyxFQUNsREgsRUFBVSxhQUFhRSxFQUFNRSxDQUFXLENBQzFDLENBQ0YsQ0FBQyxDQUNIIiwKICAibmFtZXMiOiBbInF0aVRyYW5zZm9ybUl0ZW0iLCAieG1sRnJhZ21lbnQiLCAiYXBpIiwgInVyaSIsICJyZXNvbHZlIiwgInJlamVjdCIsICJsb2FkWE1MIiwgInhtbCIsICJ4bWxTdHJpbmciLCAicGFyc2VYTUwiLCAibG9jYXRpb24iLCAic2V0TG9jYXRpb24iLCAidG9IVE1MIiwgInF0aVRyYW5zZm9ybVRlc3QiLCAiaXRlbXNGcm9tVGVzdCIsICJ4bWxUb0hUTUwiLCAiaXRlbXMiLCAiZWwiLCAiaWRlbnRpZmllciIsICJocmVmIiwgImNhdGVnb3J5IiwgInVybCIsICJ4aHIiLCAieG1sRG9jdW1lbnQiLCAicHJvY2Vzc29yIiwgInhzbHREb2N1bWVudCIsICJpdGVtSFRNTEZyYWdtZW50IiwgImVsV2l0aFNyYyIsICJfYSIsICJhdHRyIiwgImF0dHJWYWx1ZSIsICJuZXdTcmNWYWx1ZSJdCn0K
1
+ import{d as a,e as b}from"../chunk-DBZBAD4I.js";export{a as qtiTransformItem,b as qtiTransformTest};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
package/package.json CHANGED
@@ -10,15 +10,14 @@
10
10
  "license": "GPLv3",
11
11
  "private": false,
12
12
  "engines": {
13
- "node": ">=16.0.0"
13
+ "node": ">=20.0.0"
14
14
  },
15
- "version": "6.7.1-6",
15
+ "version": "6.7.1-61",
16
16
  "type": "module",
17
17
  "exports": {
18
18
  "./qti-components": "./dist/qti-components/index.js",
19
19
  "./qti-transformers": "./dist/qti-transformers/index.js",
20
- "./item.css": "./dist/item.css",
21
- "./item.minimal.css": "./dist/item.minimal.css"
20
+ "./item.css": "./dist/item.css"
22
21
  },
23
22
  "types": "./dist/qti-components/index.d.ts",
24
23
  "typesVersions": {
@@ -34,91 +33,96 @@
34
33
  "files": [
35
34
  "dist",
36
35
  "types",
37
- "./dist/item.css",
38
- "./dist/item.minimal.css"
36
+ "./dist/item.css"
39
37
  ],
40
38
  "scripts": {
41
- "test": "jest",
42
- "test:output": "jest --json --outputFile=.jest-test-results.json",
43
- "test:watch-output": "jest --watch --json --outputFile=.jest-test-results.json || true",
39
+ "test": "vitest",
44
40
  "dev": "vite",
45
- "build-app": "tsc && vite build",
41
+ "build": "wireit",
46
42
  "build-lib": "tsx scripts/build.ts",
47
43
  "watch-lib": "nodemon --watch \"src/**\" --ext \"ts,json,css\" --ignore \"src/**/*.spec.ts\" --exec \"tsx scripts/build.ts\" watch",
48
- "deploy": "firebase deploy --only hosting:qti-components",
49
44
  "storybook": "storybook dev -p 6006",
50
45
  "storybook:build": "storybook build",
51
46
  "storybook:test": "test-storybook",
52
- "npm publish": "np",
53
47
  "cem": "cem analyze --watch",
54
48
  "lint": "eslint src/lib/**",
55
- "kill 6006": "sudo lsof -i :6006 | grep LISTEN | awk '{print $2}' | xargs kill",
56
- "list-outdated-dependencies": "npx npm-check-updates --format repo --peer",
57
- "update-dependencies": "npx npm-check-updates --peer -u && npm install",
58
- "arethetypeswrong": "npm run build-lib && attw --pack",
59
- "----hooks----": "",
49
+ "arethetypeswrong": "wireit",
50
+ "----hooks----": "-",
60
51
  "prepublishOnly": "echo 'calling prepublishOnly as npm lifecycle hook to build-lib!' && npm run build-lib",
61
- "postpublish": "echo 'posthook for prosperity, does nothing for now!'"
52
+ "postpublish": "echo 'posthook for prosperity, does nothing for now!'",
53
+ "test:browser": "vitest --workspace=vitest.workspace.ts"
54
+ },
55
+ "wireit": {
56
+ "build": {
57
+ "command": "tsc"
58
+ },
59
+ "arethetypeswrong": {
60
+ "command": "attw --pack",
61
+ "dependencies": [
62
+ "build-lib"
63
+ ]
64
+ }
62
65
  },
63
66
  "peerDependencies": {
64
67
  "@lit/context": "^1.1.0",
65
- "lit": "^3.1.0"
68
+ "lit": "^3.1.1"
66
69
  },
67
70
  "devDependencies": {
68
- "@lit/context": "^1.1.0",
69
- "lit": "^3.1.0",
70
- "@arethetypeswrong/cli": "^0.13.2",
71
- "@custom-elements-manifest/analyzer": "^0.9.0",
72
- "@jest/globals": "^29.7.0",
73
- "@storybook/addon-a11y": "^7.6.4",
74
- "@storybook/addon-essentials": "^7.6.4",
75
- "@storybook/addon-interactions": "^7.6.4",
76
- "@storybook/addon-jest": "^7.6.4",
77
- "@storybook/addon-links": "^7.6.4",
78
- "@storybook/blocks": "^7.6.4",
79
- "@storybook/jest": "^0.2.3",
80
- "@storybook/preview-api": "^7.6.4",
81
- "@storybook/test-runner": "^0.16.0",
82
- "@storybook/testing-library": "^0.2.2",
83
- "@storybook/web-components": "^7.6.4",
84
- "@storybook/web-components-vite": "^7.6.4",
85
- "@tailwindcss/nesting": "^0.0.0-insiders.565cd3e",
86
- "@tailwindcss/typography": "^0.5.10",
87
- "@types/node": "^20.9.2",
88
- "@typescript-eslint/eslint-plugin": "^6.11.0",
89
- "autoprefixer": "^10.4.16",
90
- "custom-element-vs-code-integration": "^1.2.1",
91
- "eslint": "^8.54.0",
92
- "eslint-plugin-import": "^2.29.0",
93
- "eslint-plugin-jest": "^27.6.0",
94
- "eslint-plugin-lit": "^1.10.1",
95
- "eslint-plugin-lit-a11y": "^4.1.1",
71
+ "@arethetypeswrong/cli": "^0.15.3",
72
+ "@chromatic-com/storybook": "^1.6.1",
73
+ "@custom-elements-manifest/analyzer": "^0.10.3",
74
+ "@lit/context": "^1.1.2",
75
+ "@storybook/addon-a11y": "^8.2.4",
76
+ "@storybook/addon-essentials": "^8.2.4",
77
+ "@storybook/addon-interactions": "^8.2.4",
78
+ "@storybook/addon-links": "^8.2.4",
79
+ "@storybook/blocks": "^8.2.4",
80
+ "@storybook/preview-api": "^8.2.4",
81
+ "@storybook/test": "^8.2.4",
82
+ "@storybook/test-runner": "^0.19.1",
83
+ "@storybook/web-components": "^8.2.4",
84
+ "@storybook/web-components-vite": "^8.2.4",
85
+ "@testing-library/dom": "^10.3.2",
86
+ "@types/node": "^20.14.11",
87
+ "@typescript-eslint/eslint-plugin": "^7.16.1",
88
+ "@unocss/postcss": "^0.61.5",
89
+ "@unocss/preset-typography": "^0.61.5",
90
+ "@unocss/preset-wind": "^0.61.5",
91
+ "@unocss/reset": "^0.61.5",
92
+ "@unocss/transformer-directives": "^0.61.5",
93
+ "@vitest/browser": "^2.0.3",
94
+ "@wdio/cli": "^8.39.1",
95
+ "autoprefixer": "^10.4.19",
96
+ "custom-element-vs-code-integration": "^1.3.0",
97
+ "eslint": "^8.57.0",
98
+ "eslint-plugin-import": "^2.29.1",
99
+ "eslint-plugin-lit": "^1.14.0",
100
+ "eslint-plugin-lit-a11y": "^4.1.4",
96
101
  "eslint-plugin-sort-imports-es6-autofix": "^0.6.0",
97
- "eslint-plugin-storybook": "^0.6.15",
98
- "eslint-plugin-wc": "^2.0.4",
99
- "jest-environment-jsdom": "^29.7.0",
100
- "lit-xml": "^0.6.0",
101
- "nodemon": "^3.0.1",
102
- "np": "^8.0.4",
102
+ "eslint-plugin-storybook": "^0.8.0",
103
+ "eslint-plugin-wc": "^2.1.0",
104
+ "lit": "^3.1.4",
105
+ "nodemon": "^3.1.4",
106
+ "np": "^10.0.7",
103
107
  "path-browserify": "^1.0.1",
104
- "playwright": "^1.40.0",
105
- "postcss": "^8.4.31",
106
- "postcss-import": "^15.1.0",
107
- "postcss-nesting": "^12.0.1",
108
- "prettier": "3.1.0",
109
- "prettier-plugin-tailwindcss": "^0.5.7",
110
- "react": "^18.2.0",
111
- "react-dom": "^18.2.0",
108
+ "playwright": "^1.45.2",
109
+ "postcss": "^8.4.39",
110
+ "postcss-import": "^16.1.0",
111
+ "postcss-nesting": "^12.1.5",
112
+ "prettier": "3.3.3",
112
113
  "remark-gfm": "^4.0.0",
113
- "storybook": "^7.6.4",
114
- "tailwindcss": "^3.3.2",
115
- "ts-jest": "^29.1.1",
116
- "ts-node": "^10.9.1",
117
- "tsup": "^8.0.0",
118
- "tsx": "^4.6.2",
119
- "typescript": "^5.2.2",
120
- "vite": "^5.0.7",
121
- "vite-tsconfig-paths": "^4.2.1"
114
+ "storybook": "^8.2.4",
115
+ "tsup": "^8.1.1",
116
+ "tsx": "^4.16.2",
117
+ "typescript": "^5.5.3",
118
+ "unocss": "^0.61.5",
119
+ "vite": "^5.3.4",
120
+ "vite-tsconfig-paths": "^4.3.2",
121
+ "vitest": "^2.0.3",
122
+ "wireit": "^0.14.5"
123
+ },
124
+ "optionalDependencies": {
125
+ "@rollup/rollup-linux-x64-gnu": "^4.18.1"
122
126
  },
123
127
  "customElements": "custom-elements.json"
124
128
  }
@@ -1,2 +0,0 @@
1
- var j=Object.defineProperty,k=Object.defineProperties,l=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;var i=(c,a,b)=>a in c?j(c,a,{enumerable:!0,configurable:!0,writable:!0,value:b}):c[a]=b,p=(c,a)=>{for(var b in a||(a={}))n.call(a,b)&&i(c,b,a[b]);if(h)for(var b of h(a))o.call(a,b)&&i(c,b,a[b]);return c},q=(c,a)=>k(c,m(a));var r=(c,a,b,e)=>{for(var d=e>1?void 0:e?l(a,b):a,f=c.length-1,g;f>=0;f--)(g=c[f])&&(d=(e?g(a,b,d):g(d))||d);return e&&d&&j(a,b,d),d};export{p as a,q as b,r as c};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K