@citolab/qti-components 6.3.4 → 6.3.7
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/dist/chunk-GKMV5OHL.cjs +1195 -0
- package/dist/chunk-KDPWLV2I.js +1195 -0
- package/dist/{chunk-LNHTXQXY.js → chunk-Q5WLROU6.js} +394 -2
- package/dist/{chunk-LWL4UHCJ.cjs → chunk-WEDIB3NH.cjs} +394 -2
- package/dist/custom-elements.json +870 -811
- package/dist/index.cjs +1721 -264
- package/dist/index.css +392 -0
- package/dist/index.d.cts +33 -15
- package/dist/index.d.ts +33 -15
- package/dist/index.js +1721 -264
- package/dist/qti-components/index.cjs +2 -2
- package/dist/qti-components/index.d.cts +2 -2
- package/dist/qti-components/index.d.ts +2 -2
- package/dist/qti-components/index.js +2 -2
- package/dist/qti-item/index.cjs +1 -1
- package/dist/qti-item/index.d.cts +1 -1
- package/dist/qti-item/index.d.ts +1 -1
- package/dist/qti-item/index.js +1 -1
- package/dist/qti-item-react/index.cjs +1 -1
- package/dist/qti-item-react/index.d.cts +2 -2
- package/dist/qti-item-react/index.d.ts +2 -2
- package/dist/qti-item-react/index.js +1 -1
- package/dist/{qti-simple-choice-5902cb37.d.ts → qti-simple-choice-1e52645f.d.ts} +1 -1
- package/dist/qti-test/index.cjs +1 -79
- package/dist/qti-test/index.d.cts +5 -16
- package/dist/qti-test/index.d.ts +5 -16
- package/dist/qti-test/index.js +1 -79
- package/dist/qti-test-39419b1a.d.ts +63 -0
- package/dist/qti-test-f4fd5ff3.d.ts +63 -0
- package/dist/qti-test-react/index.cjs +1 -1
- package/dist/qti-test-react/index.d.cts +24 -13
- package/dist/qti-test-react/index.d.ts +24 -13
- package/dist/qti-test-react/index.js +1 -1
- package/package.json +8 -8
- package/dist/chunk-43RGQFGW.cjs +0 -1
- package/dist/chunk-KESARAC5.js +0 -1
- package/dist/qti-assessment-test-15ffab61.d.ts +0 -34
- package/dist/qti-assessment-test-a1f2cb91.d.ts +0 -34
package/dist/qti-test/index.d.ts
CHANGED
|
@@ -1,29 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { T as TestContext } from '../qti-test-f4fd5ff3.js';
|
|
2
|
+
export { b as QtiAssessmentItemRef, a as QtiAssessmentTest, Q as QtiTest, t as testContext } from '../qti-test-f4fd5ff3.js';
|
|
3
3
|
import * as lit_html from 'lit-html';
|
|
4
4
|
import { LitElement } from 'lit';
|
|
5
|
-
import '../qti-simple-choice-
|
|
5
|
+
import '../qti-simple-choice-1e52645f.js';
|
|
6
6
|
import 'lit-html/directives/ref';
|
|
7
7
|
import '../qti-item/index.js';
|
|
8
8
|
import '../context/index.js';
|
|
9
9
|
|
|
10
10
|
declare class QtiTestPart extends LitElement {
|
|
11
|
+
loading: boolean;
|
|
11
12
|
private _navigationMode;
|
|
12
13
|
render(): lit_html.TemplateResult<1>;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
declare class QtiTest extends LitElement {
|
|
16
|
-
private _navigationMode;
|
|
17
|
-
private assessmentTestURI;
|
|
18
|
-
loadedItems: any[];
|
|
19
|
-
itemRefEls: {
|
|
20
|
-
current: Map<string, QtiAssessmentItemRef>;
|
|
21
|
-
};
|
|
22
|
-
controller: AbortController;
|
|
23
|
-
requestItem(identifier: string): void;
|
|
24
|
-
render(): lit_html.TemplateResult<1>;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
16
|
declare class TestNext extends LitElement {
|
|
28
17
|
_testContext?: TestContext;
|
|
29
18
|
_requestItem(index: any): void;
|
|
@@ -91,4 +80,4 @@ declare class QtiTestPrintScore extends LitElement {
|
|
|
91
80
|
render(): lit_html.TemplateResult<1>;
|
|
92
81
|
}
|
|
93
82
|
|
|
94
|
-
export {
|
|
83
|
+
export { QtiPrintVariables, QtiTestPagingButtons, QtiTestPagingRadio, QtiTestPart, QtiTestPrintScore, QtiTestProgress, QtiTestShowCorrect, QtiTestSlider, TestContext, TestNext, TestPrev, TestScript, TestShowIndex };
|
package/dist/qti-test/index.js
CHANGED
|
@@ -1,79 +1 @@
|
|
|
1
|
-
import"../chunk-MTPOYN4D.js";import
|
|
2
|
-
<slot name="qti-item"></slot>
|
|
3
|
-
<slot> </slot>
|
|
4
|
-
`}};e([j({type:String,attribute:"navigation-mode"})],d.prototype,"_navigationMode",2),d=e([X("qti-test-part")],d);import{useRef as D}from"haunted";import{html as R,LitElement as H}from"lit";import{customElement as J,property as M}from"lit/decorators.js";var u=class extends H{constructor(){super(...arguments);this._navigationMode="linear";this.loadedItems=[];this.itemRefEls=D(new Map);this.controller=new AbortController}requestItem(t){let r=async()=>{for(let m of this.itemRefEls.current.values())m.xml="";let s=this.itemRefEls.current.get(t),i=new AbortController().signal;try{let l=await(await fetch(`${this.assessmentTestURI}/items/${s.href}`,{signal:i})).text();s.xml=l}catch(m){m.name==="AbortError"?console.log("Fetch aborted"):console.error(m)}};this.controller&&this.controller.abort(),r()}render(){return R`
|
|
5
|
-
<qti-assessment-test
|
|
6
|
-
@register-item-ref=${t=>{this.itemRefEls.current.set(t.target.identifier,t.target),t.target.itemLocation=`${this.assessmentTestURI}/items/${t.target.href}`}}
|
|
7
|
-
@on-test-set-item=${({detail:t})=>this.requestItem(t)}
|
|
8
|
-
>
|
|
9
|
-
<test-show-index></test-show-index>
|
|
10
|
-
<qti-test-part identifier="part1" navigation-mode="nonlinear" submission-mode="individual">
|
|
11
|
-
<qti-assessment-section identifier="section-1" title="Section 1" visible="true" required="true">
|
|
12
|
-
${this.loadedItems.map(t=>R`<qti-assessment-item-ref identifier="${t.identifier}" href="${t.href}">
|
|
13
|
-
</qti-assessment-item-ref>`)}
|
|
14
|
-
</qti-assessment-section>
|
|
15
|
-
</qti-test-part>
|
|
16
|
-
<test-next>NEXT</test-next>
|
|
17
|
-
|
|
18
|
-
<test-prev>PREV</test-prev>
|
|
19
|
-
<test-progress></test-progress>
|
|
20
|
-
<test-paging-buttons></test-paging-buttons>
|
|
21
|
-
<test-paging-radio></test-paging-radio>
|
|
22
|
-
<test-slider></test-slider>
|
|
23
|
-
<test-show-correct>correct</test-show-correct>
|
|
24
|
-
<test-print-variables></test-print-variables>
|
|
25
|
-
</qti-assessment-test>
|
|
26
|
-
`}};e([M({type:String,attribute:"navigation-mode"})],u.prototype,"_navigationMode",2),e([M({type:String,attribute:"assessment-test-uri"})],u.prototype,"assessmentTestURI",2),u=e([J("qti-test")],u);import{html as z,LitElement as G}from"lit";import{customElement as K,state as W}from"lit/decorators.js";import{consume as Y}from"@lit/context";var f=class extends G{_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-request-item",{composed:!0,bubbles:!0,detail:t}))}render(){let{items:t,itemIndex:r}=this._testContext,s=Math.min(r+1,t.length-1);return z`
|
|
27
|
-
<button part="button" @click=${n=>this._requestItem(s)} id="${t[s].identifier}">
|
|
28
|
-
<slot></slot>
|
|
29
|
-
</button>
|
|
30
|
-
`}};e([Y({context:o,subscribe:!0}),W()],f.prototype,"_testContext",2),f=e([K("test-next")],f);import{html as Z,LitElement as S}from"lit";import{customElement as V,state as B}from"lit/decorators.js";import{consume as P}from"@lit/context";var x=class extends S{_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-request-item",{composed:!0,bubbles:!0,detail:t}))}render(){let{items:t,itemIndex:r}=this._testContext,s=Math.max(r-1,0);return Z`
|
|
31
|
-
<button part="button" @click=${n=>this._requestItem(s)} id="${t[s].identifier}">
|
|
32
|
-
<slot></slot>
|
|
33
|
-
</button>
|
|
34
|
-
`}};e([P({context:o,subscribe:!0}),B()],x.prototype,"_testContext",2),x=e([V("test-prev")],x);import{consume as T}from"@lit/context";import{LitElement as Q,html as tt}from"lit";import{customElement as et,state as rt}from"lit/decorators.js";var h=class extends Q{render(){let{items:t,itemIndex:r}=this._testProvider;return tt`
|
|
35
|
-
<progress part="progress" id="file" max=${t.length-1} value=${r}>
|
|
36
|
-
${r/(t.length-1)}%
|
|
37
|
-
</progress>
|
|
38
|
-
`}};e([T({context:o,subscribe:!0}),rt()],h.prototype,"_testProvider",2),h=e([et("test-progress")],h);import{consume as st}from"@lit/context";import{LitElement as ot,html as nt}from"lit";import{customElement as it,state as mt}from"lit/decorators.js";var b=class extends ot{_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-request-item",{composed:!0,bubbles:!0,detail:t}))}render(){let{items:t,itemIndex:r}=this._testProvider;return nt`
|
|
39
|
-
<input
|
|
40
|
-
part="input"
|
|
41
|
-
type="range"
|
|
42
|
-
value=${r}
|
|
43
|
-
class="absolute w-full appearance-none bg-transparent"
|
|
44
|
-
max=${t.length-1}
|
|
45
|
-
@input=${s=>this._requestItem(+s.target.value)}
|
|
46
|
-
/>
|
|
47
|
-
`}};e([st({context:o,subscribe:!0}),mt()],b.prototype,"_testProvider",2),b=e([it("test-slider")],b);import{consume as pt}from"@lit/context";import{LitElement as ct,html as F}from"lit";import{customElement as lt,state as at}from"lit/decorators.js";var v=class extends ct{createRenderRoot(){return this}_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-request-item",{composed:!0,bubbles:!0,detail:t}))}render(){let{items:t,itemIndex:r}=this._testProvider;return F`
|
|
48
|
-
${t.map((s,n)=>{var i;return F` <label>
|
|
49
|
-
<input
|
|
50
|
-
type="radio"
|
|
51
|
-
part="input"
|
|
52
|
-
name="item"
|
|
53
|
-
value="${n}"
|
|
54
|
-
?checked=${n===r}
|
|
55
|
-
@change=${m=>this._requestItem(n)}
|
|
56
|
-
data-completion-status=${(i=s.variables.find(m=>m.identifier==="completionStatus"))==null?void 0:i.value}
|
|
57
|
-
id="${s.identifier}"
|
|
58
|
-
/>
|
|
59
|
-
${n+1}
|
|
60
|
-
</label>`})}
|
|
61
|
-
`}};e([pt({context:o,subscribe:!0}),at()],v.prototype,"_testProvider",2),v=e([lt("test-paging-radio")],v);import{consume as ut}from"@lit/context";import{LitElement as dt,html as k}from"lit";import{customElement as ft,state as xt}from"lit/decorators.js";var E=class extends dt{createRenderRoot(){return this}_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-request-item",{composed:!0,bubbles:!0,detail:t}))}render(){let{items:t,itemIndex:r}=this._testProvider;return k`
|
|
62
|
-
${t.map((s,n)=>{var i;return k` <button
|
|
63
|
-
part="button"
|
|
64
|
-
data-completion-status=${(i=s.variables.find(m=>m.identifier==="completionStatus"))==null?void 0:i.value}
|
|
65
|
-
data-active-item=${n===r}
|
|
66
|
-
@click=${m=>this._requestItem(n)}
|
|
67
|
-
id="${s.identifier}"
|
|
68
|
-
>
|
|
69
|
-
${n+1}
|
|
70
|
-
</button>`})}
|
|
71
|
-
`}};e([ut({context:o,subscribe:!0}),xt()],E.prototype,"_testProvider",2),E=e([ft("test-paging-buttons")],E);import{consume as ht}from"@lit/context";import{LitElement as bt,html as A}from"lit";import{customElement as vt,state as Et}from"lit/decorators.js";var C=class extends bt{render(){var n,i,m;let{items:t,itemIndex:r}=this._testProvider;if(r==null)return A``;let s=(m=(i=this.closest("qti-assessment-test"))==null?void 0:i.itemRefEls.get((n=t[r])==null?void 0:n.identifier))==null?void 0:m.assessmentItem;return A`
|
|
72
|
-
<button part="button" @click=${l=>s.showCorrectResponse()}>
|
|
73
|
-
<slot></slot>
|
|
74
|
-
</button>
|
|
75
|
-
`}};e([ht({context:o,subscribe:!0}),Et()],C.prototype,"_testProvider",2),C=e([vt("test-show-correct")],C);import{ContextConsumer as Ct}from"@lit/context";import{html as _t,LitElement as $t}from"lit";import{customElement as qt,state as gt}from"lit/decorators.js";var _=class extends $t{constructor(){super(...arguments);this._printed=""}render(){return _t`${this._printed}<slot @slotchange=${this.handleSlotChange}></slot>`}handleSlotChange(t){var s,n;let r=Array.from((s=this.childNodes)!=null?s:[]).find(i=>i.nodeType===Node.COMMENT_NODE);try{this.operatorFunction=new Function("context","item",(n=r.textContent)!=null?n:"")}catch(i){console.error("custom-operator contains invalid javascript code",i)}this._context=new Ct(this,o,i=>{this._printed=this.operatorFunction(i,this.closest("qti-assessment-item"))},!0)}};e([gt()],_.prototype,"_printed",2),_=e([qt("test-script")],_);import{html as It,LitElement as yt}from"lit";import{customElement as wt,state as Lt}from"lit/decorators.js";import{consume as Rt}from"@lit/context";var $=class extends yt{_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-request-item",{composed:!0,bubbles:!0,detail:t}))}render(){let{items:t,itemIndex:r}=this._testContext,s=t[r-1];return It` ${r+1}/${t.length} `}};e([Rt({context:o,subscribe:!0}),Lt()],$.prototype,"_testContext",2),$=e([wt("test-show-index")],$);import{consume as Mt}from"@lit/context";import{LitElement as Ft,html as kt}from"lit";import{customElement as At,state as Ot}from"lit/decorators.js";var q=class extends Ft{render(){return kt`
|
|
76
|
-
<pre>
|
|
77
|
-
${JSON.stringify(y(I({},this._testProvider),{items:this._testProvider.items.map(t=>y(I({},t),{itemEl:null}))}),null,2)}</pre
|
|
78
|
-
>
|
|
79
|
-
`}};e([Mt({context:o,subscribe:!0}),Ot()],q.prototype,"_testProvider",2),q=e([At("test-print-variables")],q);import{consume as Nt}from"@lit/context";import{LitElement as Ut,html as Xt}from"lit";import{customElement as jt,state as Dt}from"lit/decorators.js";var g=class extends Ut{_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-request-item",{composed:!0,bubbles:!0,detail:t}))}render(){let{items:t}=this._testContext,r=t.reduce((n,i)=>{let m=i.variables.find(l=>l.identifier==="SCORE");return n+(m?+m.value:0)},0),s=t.reduce((n,i)=>{let m=i.variables.find(l=>l.identifier==="MAXSCORE");return n+(m?+m.value:0)},0);return Xt` ${r}/${s}`}};e([Nt({context:o,subscribe:!0}),Dt()],g.prototype,"_testContext",2),g=e([jt("test-print-score")],g);export{a as QtiAssessmentItemRef,Ht as QtiAssessmentTest,q as QtiPrintVariables,u as QtiTest,E as QtiTestPagingButtons,v as QtiTestPagingRadio,d as QtiTestPart,g as QtiTestPrintScore,h as QtiTestProgress,C as QtiTestShowCorrect,b as QtiTestSlider,f as TestNext,x as TestPrev,_ as TestScript,$ as TestShowIndex};
|
|
1
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q}from"../chunk-KDPWLV2I.js";import"../chunk-MTPOYN4D.js";import"../chunk-Q5WLROU6.js";import"../chunk-DPSTDDQZ.js";import"../chunk-AWSFYZS5.js";import"../chunk-343LZK3D.js";export{a as QtiAssessmentItemRef,d as QtiAssessmentTest,p as QtiPrintVariables,f as QtiTest,l as QtiTestPagingButtons,k as QtiTestPagingRadio,e as QtiTestPart,q as QtiTestPrintScore,i as QtiTestProgress,m as QtiTestShowCorrect,j as QtiTestSlider,b as TestContext,g as TestNext,h as TestPrev,n as TestScript,o as TestShowIndex,c as testContext};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as lit_html from 'lit-html';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
import { a as ItemContext, Q as QtiAssessmentItem } from './qti-simple-choice-1e52645f.js';
|
|
4
|
+
import { QtiItem } from './qti-item/index.cjs';
|
|
5
|
+
|
|
6
|
+
declare class QtiAssessmentItemRef extends QtiItem {
|
|
7
|
+
identifier: string;
|
|
8
|
+
href: string;
|
|
9
|
+
connectedCallback(): void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare class TestContext {
|
|
13
|
+
itemIndex: number | null;
|
|
14
|
+
items: ItemContext[];
|
|
15
|
+
}
|
|
16
|
+
declare const testContext: {
|
|
17
|
+
__context__: TestContext;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
declare class QtiAssessmentTest extends LitElement {
|
|
21
|
+
private _initialValue;
|
|
22
|
+
identifier: string;
|
|
23
|
+
private _context;
|
|
24
|
+
get context(): TestContext;
|
|
25
|
+
set context(value: TestContext);
|
|
26
|
+
itemRefEls: Map<string, QtiAssessmentItemRef>;
|
|
27
|
+
private copyItemVariables;
|
|
28
|
+
restoreContext: (contextToRestore: TestContext) => void;
|
|
29
|
+
getAssessmentItem(identifier: string): QtiAssessmentItem;
|
|
30
|
+
private onItemRefRegistered;
|
|
31
|
+
private onTestRequestItem;
|
|
32
|
+
firstUpdated(a: any): void;
|
|
33
|
+
updated(changedProperties: Map<string, any>): void;
|
|
34
|
+
constructor();
|
|
35
|
+
private itemConnected;
|
|
36
|
+
private _requestItem;
|
|
37
|
+
private _emit;
|
|
38
|
+
render(): lit_html.TemplateResult<1>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare class QtiTest extends LitElement {
|
|
42
|
+
_qtiTestPart: any;
|
|
43
|
+
private content;
|
|
44
|
+
private _items;
|
|
45
|
+
private _itemRefEls;
|
|
46
|
+
private _controller;
|
|
47
|
+
packageURI: string;
|
|
48
|
+
private _itemLocation;
|
|
49
|
+
private _assessmentTestEl;
|
|
50
|
+
set context(value: any);
|
|
51
|
+
get context(): any;
|
|
52
|
+
updated(changedProperties: Map<string, any>): void;
|
|
53
|
+
private static _testFromImsmanifest;
|
|
54
|
+
private static _itemsFromAssessmentTest;
|
|
55
|
+
fetchData: () => Promise<void>;
|
|
56
|
+
connectedCallback(): void;
|
|
57
|
+
getAssessmentTest(): QtiAssessmentTest;
|
|
58
|
+
set css(val: string);
|
|
59
|
+
requestItem(identifier: string, oldIdentifier: string): Promise<void>;
|
|
60
|
+
render(): lit_html.TemplateResult<1>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { QtiTest as Q, TestContext as T, QtiAssessmentTest as a, QtiAssessmentItemRef as b, testContext as t };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as lit_html from 'lit-html';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
import { a as ItemContext, Q as QtiAssessmentItem } from './qti-simple-choice-1e52645f.js';
|
|
4
|
+
import { QtiItem } from './qti-item/index.js';
|
|
5
|
+
|
|
6
|
+
declare class QtiAssessmentItemRef extends QtiItem {
|
|
7
|
+
identifier: string;
|
|
8
|
+
href: string;
|
|
9
|
+
connectedCallback(): void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare class TestContext {
|
|
13
|
+
itemIndex: number | null;
|
|
14
|
+
items: ItemContext[];
|
|
15
|
+
}
|
|
16
|
+
declare const testContext: {
|
|
17
|
+
__context__: TestContext;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
declare class QtiAssessmentTest extends LitElement {
|
|
21
|
+
private _initialValue;
|
|
22
|
+
identifier: string;
|
|
23
|
+
private _context;
|
|
24
|
+
get context(): TestContext;
|
|
25
|
+
set context(value: TestContext);
|
|
26
|
+
itemRefEls: Map<string, QtiAssessmentItemRef>;
|
|
27
|
+
private copyItemVariables;
|
|
28
|
+
restoreContext: (contextToRestore: TestContext) => void;
|
|
29
|
+
getAssessmentItem(identifier: string): QtiAssessmentItem;
|
|
30
|
+
private onItemRefRegistered;
|
|
31
|
+
private onTestRequestItem;
|
|
32
|
+
firstUpdated(a: any): void;
|
|
33
|
+
updated(changedProperties: Map<string, any>): void;
|
|
34
|
+
constructor();
|
|
35
|
+
private itemConnected;
|
|
36
|
+
private _requestItem;
|
|
37
|
+
private _emit;
|
|
38
|
+
render(): lit_html.TemplateResult<1>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare class QtiTest extends LitElement {
|
|
42
|
+
_qtiTestPart: any;
|
|
43
|
+
private content;
|
|
44
|
+
private _items;
|
|
45
|
+
private _itemRefEls;
|
|
46
|
+
private _controller;
|
|
47
|
+
packageURI: string;
|
|
48
|
+
private _itemLocation;
|
|
49
|
+
private _assessmentTestEl;
|
|
50
|
+
set context(value: any);
|
|
51
|
+
get context(): any;
|
|
52
|
+
updated(changedProperties: Map<string, any>): void;
|
|
53
|
+
private static _testFromImsmanifest;
|
|
54
|
+
private static _itemsFromAssessmentTest;
|
|
55
|
+
fetchData: () => Promise<void>;
|
|
56
|
+
connectedCallback(): void;
|
|
57
|
+
getAssessmentTest(): QtiAssessmentTest;
|
|
58
|
+
set css(val: string);
|
|
59
|
+
requestItem(identifier: string, oldIdentifier: string): Promise<void>;
|
|
60
|
+
render(): lit_html.TemplateResult<1>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { QtiTest as Q, TestContext as T, QtiAssessmentTest as a, QtiAssessmentItemRef as b, testContext as t };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkGKMV5OHLcjs = require('../chunk-GKMV5OHL.cjs');require('../chunk-TEMU6PXC.cjs');require('../chunk-WEDIB3NH.cjs');require('../chunk-BKBZWUX6.cjs');require('../chunk-CCQXZDO6.cjs');require('../chunk-6G76D2MI.cjs');var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _react3 = require('@lit/react');var p=_react3.createComponent.call(void 0, {tagName:"qti-test",react:_react2.default,elementClass:_chunkGKMV5OHLcjs.f,events:{onOutcomeChanged:"qti-outcome-changed",onInteractionChanged:"qti-interaction-changed",onTestFirstUpdated:"qti-assessment-first-updated"}});var Q=_react3.createComponent.call(void 0, {tagName:"qti-assessment-test",react:_react2.default,elementClass:_chunkGKMV5OHLcjs.d,events:{onOutcomeChanged:"qti-outcome-changed",onInteractionChanged:"qti-interaction-changed",onItemFirstUpdated:"qti-item-first-updated",onTestRequestItem:"on-test-set-item",onTestFirstUpdated:"qti-assessment-first-updated"}});exports.QtiAssessmentTest = Q; exports.QtiTest = p;
|
|
@@ -1,29 +1,40 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
import { O as OutcomeChangedDetails, I as InteractionChangedDetails, Q as QtiAssessmentItem } from '../qti-simple-choice-
|
|
3
|
-
import { T as TestContext, Q as QtiAssessmentTest } from '../qti-
|
|
1
|
+
import React, { Ref } from 'react';
|
|
2
|
+
import { O as OutcomeChangedDetails, I as InteractionChangedDetails, Q as QtiAssessmentItem } from '../qti-simple-choice-1e52645f.js';
|
|
3
|
+
import { T as TestContext, Q as QtiTest$1, a as QtiAssessmentTest$1 } from '../qti-test-39419b1a.js';
|
|
4
4
|
import 'lit-html';
|
|
5
5
|
import 'lit';
|
|
6
6
|
import 'lit-html/directives/ref';
|
|
7
7
|
import '../qti-item/index.cjs';
|
|
8
8
|
import '../context/index.cjs';
|
|
9
9
|
|
|
10
|
+
interface QtiTestProps {
|
|
11
|
+
children?: any;
|
|
12
|
+
className?: string;
|
|
13
|
+
context?: TestContext;
|
|
14
|
+
ref?: Ref<QtiTest$1 | undefined>;
|
|
15
|
+
onOutcomeChanged?: (e: CustomEvent<OutcomeChangedDetails>) => void;
|
|
16
|
+
onInteractionChanged?: (e: CustomEvent<InteractionChangedDetails>) => void;
|
|
17
|
+
onTestFirstUpdated?: (e: CustomEvent<QtiAssessmentTest$1>) => void;
|
|
18
|
+
}
|
|
19
|
+
declare const QtiTest: React.ForwardRefExoticComponent<QtiTestProps>;
|
|
20
|
+
|
|
10
21
|
interface OutcomeChangedDetailsExtended extends OutcomeChangedDetails {
|
|
11
22
|
identifier: string;
|
|
12
23
|
}
|
|
13
24
|
interface QtiAssessmentTestProps {
|
|
14
|
-
children?:
|
|
25
|
+
children?: any;
|
|
15
26
|
className?: string;
|
|
16
|
-
context
|
|
17
|
-
ref?: Ref<QtiAssessmentTest | undefined>;
|
|
27
|
+
context?: TestContext;
|
|
28
|
+
ref?: Ref<QtiAssessmentTest$1 | undefined>;
|
|
18
29
|
onOutcomeChanged?: (e: CustomEvent<OutcomeChangedDetails>) => void;
|
|
19
30
|
onInteractionChanged?: (e: CustomEvent<InteractionChangedDetails>) => void;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
31
|
+
onTestRequestItem?: (e: CustomEvent<{
|
|
32
|
+
old: string;
|
|
33
|
+
new: string;
|
|
23
34
|
}>) => void;
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
onTestFirstUpdated?: (e: CustomEvent<QtiAssessmentTest$1>) => void;
|
|
36
|
+
onItemFirstUpdated?: (e: CustomEvent<QtiAssessmentItem>) => void;
|
|
26
37
|
}
|
|
27
|
-
declare const
|
|
38
|
+
declare const QtiAssessmentTest: React.ForwardRefExoticComponent<QtiAssessmentTestProps>;
|
|
28
39
|
|
|
29
|
-
export { OutcomeChangedDetailsExtended, QtiTest };
|
|
40
|
+
export { OutcomeChangedDetailsExtended, QtiAssessmentTest, QtiTest };
|
|
@@ -1,29 +1,40 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
import { O as OutcomeChangedDetails, I as InteractionChangedDetails, Q as QtiAssessmentItem } from '../qti-simple-choice-
|
|
3
|
-
import { T as TestContext, Q as QtiAssessmentTest } from '../qti-
|
|
1
|
+
import React, { Ref } from 'react';
|
|
2
|
+
import { O as OutcomeChangedDetails, I as InteractionChangedDetails, Q as QtiAssessmentItem } from '../qti-simple-choice-1e52645f.js';
|
|
3
|
+
import { T as TestContext, Q as QtiTest$1, a as QtiAssessmentTest$1 } from '../qti-test-f4fd5ff3.js';
|
|
4
4
|
import 'lit-html';
|
|
5
5
|
import 'lit';
|
|
6
6
|
import 'lit-html/directives/ref';
|
|
7
7
|
import '../qti-item/index.js';
|
|
8
8
|
import '../context/index.js';
|
|
9
9
|
|
|
10
|
+
interface QtiTestProps {
|
|
11
|
+
children?: any;
|
|
12
|
+
className?: string;
|
|
13
|
+
context?: TestContext;
|
|
14
|
+
ref?: Ref<QtiTest$1 | undefined>;
|
|
15
|
+
onOutcomeChanged?: (e: CustomEvent<OutcomeChangedDetails>) => void;
|
|
16
|
+
onInteractionChanged?: (e: CustomEvent<InteractionChangedDetails>) => void;
|
|
17
|
+
onTestFirstUpdated?: (e: CustomEvent<QtiAssessmentTest$1>) => void;
|
|
18
|
+
}
|
|
19
|
+
declare const QtiTest: React.ForwardRefExoticComponent<QtiTestProps>;
|
|
20
|
+
|
|
10
21
|
interface OutcomeChangedDetailsExtended extends OutcomeChangedDetails {
|
|
11
22
|
identifier: string;
|
|
12
23
|
}
|
|
13
24
|
interface QtiAssessmentTestProps {
|
|
14
|
-
children?:
|
|
25
|
+
children?: any;
|
|
15
26
|
className?: string;
|
|
16
|
-
context
|
|
17
|
-
ref?: Ref<QtiAssessmentTest | undefined>;
|
|
27
|
+
context?: TestContext;
|
|
28
|
+
ref?: Ref<QtiAssessmentTest$1 | undefined>;
|
|
18
29
|
onOutcomeChanged?: (e: CustomEvent<OutcomeChangedDetails>) => void;
|
|
19
30
|
onInteractionChanged?: (e: CustomEvent<InteractionChangedDetails>) => void;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
31
|
+
onTestRequestItem?: (e: CustomEvent<{
|
|
32
|
+
old: string;
|
|
33
|
+
new: string;
|
|
23
34
|
}>) => void;
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
onTestFirstUpdated?: (e: CustomEvent<QtiAssessmentTest$1>) => void;
|
|
36
|
+
onItemFirstUpdated?: (e: CustomEvent<QtiAssessmentItem>) => void;
|
|
26
37
|
}
|
|
27
|
-
declare const
|
|
38
|
+
declare const QtiAssessmentTest: React.ForwardRefExoticComponent<QtiAssessmentTestProps>;
|
|
28
39
|
|
|
29
|
-
export { OutcomeChangedDetailsExtended, QtiTest };
|
|
40
|
+
export { OutcomeChangedDetailsExtended, QtiAssessmentTest, QtiTest };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{d as t,f as e}from"../chunk-KDPWLV2I.js";import"../chunk-MTPOYN4D.js";import"../chunk-Q5WLROU6.js";import"../chunk-DPSTDDQZ.js";import"../chunk-AWSFYZS5.js";import"../chunk-343LZK3D.js";import s from"react";import{createComponent as n}from"@lit/react";var p=n({tagName:"qti-test",react:s,elementClass:e,events:{onOutcomeChanged:"qti-outcome-changed",onInteractionChanged:"qti-interaction-changed",onTestFirstUpdated:"qti-assessment-first-updated"}});import o from"react";import{createComponent as i}from"@lit/react";var Q=i({tagName:"qti-assessment-test",react:o,elementClass:t,events:{onOutcomeChanged:"qti-outcome-changed",onInteractionChanged:"qti-interaction-changed",onItemFirstUpdated:"qti-item-first-updated",onTestRequestItem:"on-test-set-item",onTestFirstUpdated:"qti-assessment-first-updated"}});export{Q as QtiAssessmentTest,p as QtiTest};
|
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"engines": {
|
|
13
13
|
"node": ">=16.0.0"
|
|
14
14
|
},
|
|
15
|
-
"version": "6.3.
|
|
15
|
+
"version": "6.3.7",
|
|
16
16
|
"type": "module",
|
|
17
17
|
"main": "dist/index.js",
|
|
18
18
|
"exports": {
|
|
@@ -119,16 +119,12 @@
|
|
|
119
119
|
"dependencies": {
|
|
120
120
|
"@lit/context": "^1.0.0",
|
|
121
121
|
"@lit/react": "^1.0.0",
|
|
122
|
-
"@tailwindcss/nesting": "^0.0.0-insiders.565cd3e",
|
|
123
122
|
"cheerio": "^1.0.0-rc.12",
|
|
124
|
-
"
|
|
125
|
-
"lit": "^3.0.0",
|
|
126
|
-
"lit-xml": "^0.6.0",
|
|
127
|
-
"remark-gfm": "^4.0.0"
|
|
123
|
+
"lit": "^3.0.0"
|
|
128
124
|
},
|
|
129
125
|
"peerdependencies": {
|
|
130
|
-
"@lit/context": "
|
|
131
|
-
"@lit/react": "
|
|
126
|
+
"@lit/context": ">= 1.0",
|
|
127
|
+
"@lit/react": ">= 1.0",
|
|
132
128
|
"lit": ">= 3 < 4",
|
|
133
129
|
"react": "> 18"
|
|
134
130
|
},
|
|
@@ -148,6 +144,7 @@
|
|
|
148
144
|
"@storybook/testing-library": "^0.2.2",
|
|
149
145
|
"@storybook/web-components": "^7.5.0",
|
|
150
146
|
"@storybook/web-components-vite": "^7.5.0",
|
|
147
|
+
"@tailwindcss/nesting": "^0.0.0-insiders.565cd3e",
|
|
151
148
|
"@tailwindcss/typography": "^0.5.10",
|
|
152
149
|
"@types/node": "^20.8.7",
|
|
153
150
|
"@typescript-eslint/eslint-plugin": "^6.8.0",
|
|
@@ -161,7 +158,9 @@
|
|
|
161
158
|
"eslint-plugin-sort-imports-es6-autofix": "^0.6.0",
|
|
162
159
|
"eslint-plugin-storybook": "^0.6.15",
|
|
163
160
|
"eslint-plugin-wc": "^2.0.4",
|
|
161
|
+
"haunted": "^5.0.0",
|
|
164
162
|
"jest-environment-jsdom": "^29.7.0",
|
|
163
|
+
"lit-xml": "^0.6.0",
|
|
165
164
|
"nodemon": "^3.0.1",
|
|
166
165
|
"np": "^8.0.4",
|
|
167
166
|
"path-browserify": "^1.0.1",
|
|
@@ -172,6 +171,7 @@
|
|
|
172
171
|
"prettier-plugin-tailwindcss": "^0.5.6",
|
|
173
172
|
"react": "^18.2.0",
|
|
174
173
|
"react-dom": "^18.2.0",
|
|
174
|
+
"remark-gfm": "^4.0.0",
|
|
175
175
|
"storybook": "^7.5.0",
|
|
176
176
|
"tailwindcss": "^3.3.2",
|
|
177
177
|
"ts-jest": "^29.1.1",
|
package/dist/chunk-43RGQFGW.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6G76D2MIcjs = require('./chunk-6G76D2MI.cjs');var _lit = require('lit');var _decoratorsjs = require('lit/decorators.js');var _context = require('@lit/context');var a=_context.createContext.call(void 0, "test");var r=class extends _lit.LitElement{constructor(){super();this.context={itemIndex:null,items:[]};this.itemRefEls=new Map;this.itemConnected=t=>{let e=this.context.items.findIndex(i=>i.identifier===t.identifier);this.context=_chunk6G76D2MIcjs.b.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},this.context),{itemIndex:e});let o=this.context.items.find(i=>(i==null?void 0:i.identifier)===(t==null?void 0:t.identifier));o.variables.length===1?this.copyItemVariables(t.identifier):t.variables=[...o.variables]};this.addEventListener("register-item-ref",this.onItemRefRegistered),this.addEventListener("on-test-request-item",this.onTestRequestItem),this.addEventListener("qti-item-connected",t=>this.itemConnected(t.detail)),this.addEventListener("qti-interaction-changed",t=>this.copyItemVariables(t.detail.item)),this.addEventListener("qti-outcome-changed",t=>this.copyItemVariables(t.detail.item))}copyItemVariables(t){this.context=_chunk6G76D2MIcjs.b.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},this.context),{items:this.context.items.map(e=>e.identifier==t?_chunk6G76D2MIcjs.b.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},e),{variables:this.getAssessmentItem(t).context.variables}):e)})}getAssessmentItem(t){return this.querySelector(`qti-assessment-item-ref[identifier="${t}"]`).assessmentItem}onItemRefRegistered(t){this.itemRefEls.set(t.detail.identifier,t.target);let{href:e,identifier:o}=t.detail;this.context.items=[...this.context.items,{href:e,identifier:o,variables:[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"not_attempted",type:"outcome"}]}]}onTestRequestItem(t){t.stopImmediatePropagation(),t.detail!==this.context.itemIndex&&(this.context=_chunk6G76D2MIcjs.b.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},this.context),{itemIndex:null}),this._requestItem(this.context.items[t.detail].identifier))}firstUpdated(t){super.firstUpdated(t),this._requestItem(this.context.items[0].identifier)}_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-set-item",{bubbles:!0,composed:!0,detail:t}))}render(){return _lit.html`<slot></slot>`}};_chunk6G76D2MIcjs.c.call(void 0, [_context.provide.call(void 0, {context:a}),_decoratorsjs.property.call(void 0, {attribute:!1})],r.prototype,"context",2),r= exports.b =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-assessment-test")],r);exports.a = a; exports.b = r;
|
package/dist/chunk-KESARAC5.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as s,b as n,c as m}from"./chunk-343LZK3D.js";import{html as c,LitElement as f}from"lit";import{customElement as l,property as h}from"lit/decorators.js";import{provide as p}from"@lit/context";import{createContext as d}from"@lit/context";var a=d("test");var r=class extends f{constructor(){super();this.context={itemIndex:null,items:[]};this.itemRefEls=new Map;this.itemConnected=t=>{let e=this.context.items.findIndex(i=>i.identifier===t.identifier);this.context=n(s({},this.context),{itemIndex:e});let o=this.context.items.find(i=>(i==null?void 0:i.identifier)===(t==null?void 0:t.identifier));o.variables.length===1?this.copyItemVariables(t.identifier):t.variables=[...o.variables]};this.addEventListener("register-item-ref",this.onItemRefRegistered),this.addEventListener("on-test-request-item",this.onTestRequestItem),this.addEventListener("qti-item-connected",t=>this.itemConnected(t.detail)),this.addEventListener("qti-interaction-changed",t=>this.copyItemVariables(t.detail.item)),this.addEventListener("qti-outcome-changed",t=>this.copyItemVariables(t.detail.item))}copyItemVariables(t){this.context=n(s({},this.context),{items:this.context.items.map(e=>e.identifier==t?n(s({},e),{variables:this.getAssessmentItem(t).context.variables}):e)})}getAssessmentItem(t){return this.querySelector(`qti-assessment-item-ref[identifier="${t}"]`).assessmentItem}onItemRefRegistered(t){this.itemRefEls.set(t.detail.identifier,t.target);let{href:e,identifier:o}=t.detail;this.context.items=[...this.context.items,{href:e,identifier:o,variables:[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"not_attempted",type:"outcome"}]}]}onTestRequestItem(t){t.stopImmediatePropagation(),t.detail!==this.context.itemIndex&&(this.context=n(s({},this.context),{itemIndex:null}),this._requestItem(this.context.items[t.detail].identifier))}firstUpdated(t){super.firstUpdated(t),this._requestItem(this.context.items[0].identifier)}_requestItem(t){this.dispatchEvent(new CustomEvent("on-test-set-item",{bubbles:!0,composed:!0,detail:t}))}render(){return c`<slot></slot>`}};m([p({context:a}),h({attribute:!1})],r.prototype,"context",2),r=m([l("qti-assessment-test")],r);export{a,r as b};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as lit_html from 'lit-html';
|
|
2
|
-
import { LitElement } from 'lit';
|
|
3
|
-
import { a as ItemContext, Q as QtiAssessmentItem } from './qti-simple-choice-5902cb37.js';
|
|
4
|
-
import { QtiItem } from './qti-item/index.cjs';
|
|
5
|
-
|
|
6
|
-
declare class QtiAssessmentItemRef extends QtiItem {
|
|
7
|
-
identifier: string;
|
|
8
|
-
href: string;
|
|
9
|
-
connectedCallback(): void;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface ItemInfo {
|
|
13
|
-
href: string;
|
|
14
|
-
}
|
|
15
|
-
declare class TestContext {
|
|
16
|
-
itemIndex: number | null;
|
|
17
|
-
items: (ItemContext & ItemInfo)[];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
declare class QtiAssessmentTest extends LitElement {
|
|
21
|
-
context: TestContext;
|
|
22
|
-
itemRefEls: Map<string, QtiAssessmentItemRef>;
|
|
23
|
-
private copyItemVariables;
|
|
24
|
-
getAssessmentItem(identifier: string): QtiAssessmentItem;
|
|
25
|
-
private onItemRefRegistered;
|
|
26
|
-
private onTestRequestItem;
|
|
27
|
-
firstUpdated(a: any): void;
|
|
28
|
-
constructor();
|
|
29
|
-
private itemConnected;
|
|
30
|
-
private _requestItem;
|
|
31
|
-
render(): lit_html.TemplateResult<1>;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export { QtiAssessmentTest as Q, TestContext as T, QtiAssessmentItemRef as a };
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import * as lit_html from 'lit-html';
|
|
2
|
-
import { LitElement } from 'lit';
|
|
3
|
-
import { a as ItemContext, Q as QtiAssessmentItem } from './qti-simple-choice-5902cb37.js';
|
|
4
|
-
import { QtiItem } from './qti-item/index.js';
|
|
5
|
-
|
|
6
|
-
declare class QtiAssessmentItemRef extends QtiItem {
|
|
7
|
-
identifier: string;
|
|
8
|
-
href: string;
|
|
9
|
-
connectedCallback(): void;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface ItemInfo {
|
|
13
|
-
href: string;
|
|
14
|
-
}
|
|
15
|
-
declare class TestContext {
|
|
16
|
-
itemIndex: number | null;
|
|
17
|
-
items: (ItemContext & ItemInfo)[];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
declare class QtiAssessmentTest extends LitElement {
|
|
21
|
-
context: TestContext;
|
|
22
|
-
itemRefEls: Map<string, QtiAssessmentItemRef>;
|
|
23
|
-
private copyItemVariables;
|
|
24
|
-
getAssessmentItem(identifier: string): QtiAssessmentItem;
|
|
25
|
-
private onItemRefRegistered;
|
|
26
|
-
private onTestRequestItem;
|
|
27
|
-
firstUpdated(a: any): void;
|
|
28
|
-
constructor();
|
|
29
|
-
private itemConnected;
|
|
30
|
-
private _requestItem;
|
|
31
|
-
render(): lit_html.TemplateResult<1>;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export { QtiAssessmentTest as Q, TestContext as T, QtiAssessmentItemRef as a };
|