@citolab/qti-components 7.3.23 → 7.4.1
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/cdn/index.global.js +1 -1
- package/cdn/index.js +5485 -1
- package/custom-elements.json +29837 -0
- package/dist/chunks/chunk-4BDOB6KY.js +365 -0
- package/dist/chunks/chunk-4BDOB6KY.js.map +1 -0
- package/dist/chunks/{chunk-LF6SO3JU.js → chunk-7RW7LCEJ.js} +459 -587
- package/dist/chunks/chunk-7RW7LCEJ.js.map +1 -0
- package/dist/chunks/chunk-APBAIN6D.js +2237 -0
- package/dist/chunks/chunk-APBAIN6D.js.map +1 -0
- package/dist/chunks/{chunk-22IRJWWY.js → chunk-C5RLRG3L.js} +1 -1
- package/dist/chunks/chunk-C5RLRG3L.js.map +1 -0
- package/dist/chunks/{chunk-AZIKAG7K.js → chunk-DVQQ7I6Y.js} +1 -1
- package/dist/chunks/chunk-DVQQ7I6Y.js.map +1 -0
- package/dist/chunks/{chunk-QCB6P7DH.js → chunk-GAAFN7QF.js} +1 -1
- package/dist/chunks/{chunk-QCB6P7DH.js.map → chunk-GAAFN7QF.js.map} +1 -1
- package/dist/chunks/chunk-K47QFOQX.js +175 -0
- package/dist/chunks/chunk-K47QFOQX.js.map +1 -0
- package/dist/chunks/{chunk-FL72PF4D.js → chunk-SV4K25ZI.js} +2 -2
- package/dist/custom-elements.json +29837 -0
- package/dist/exports/computed-item.context.d.ts +1 -7
- package/dist/exports/computed.context.d.ts +2 -10
- package/dist/exports/computed.context.js +1 -1
- package/dist/exports/interaction.d.ts +45 -7
- package/dist/exports/item.context.d.ts +10 -7
- package/dist/exports/qti-assessment-item.context.d.ts +2 -7
- package/dist/exports/qti-condition-expression.d.ts +4 -5
- package/dist/exports/qti-condition-expression.js +2 -2
- package/dist/exports/qti-expression.d.ts +22 -7
- package/dist/exports/qti-expression.js +1 -1
- package/dist/exports/qti-test.d.ts +10 -38
- package/dist/exports/session.context.d.ts +2 -13
- package/dist/exports/session.context.js +1 -1
- package/dist/exports/test.context.d.ts +2 -7
- package/dist/exports/variables.d.ts +1 -7
- package/dist/index.d.ts +12 -31
- package/dist/index.js +38 -95
- package/{cdn/chunks/chunk-5TDBMEY5.js → dist/item.css} +7 -24
- package/dist/qti-assessment-item-l-mN3teH.d.ts +105 -0
- package/dist/qti-components/index.d.ts +1173 -16
- package/dist/qti-components/index.js +6 -5
- package/dist/qti-components-jsx.d.ts +4463 -0
- package/dist/qti-item/index.d.ts +114 -0
- package/dist/qti-item/index.js +19 -0
- package/dist/qti-loader/index.d.ts +2 -5
- package/dist/qti-loader/index.js +24 -4
- package/dist/qti-loader/index.js.map +1 -1
- package/dist/qti-modal-feedback-PKbhO-3w.d.ts +30 -0
- package/dist/qti-test/index.d.ts +480 -0
- package/dist/qti-test/index.js +69 -0
- package/dist/{qti-test-feedback-CZsbp6z4.d.ts → qti-test-BwvOhz_-.d.ts} +45 -18
- package/dist/variables-BCkyLoXK.d.ts +55 -0
- package/dist/vscode.css-custom-data.json +11 -0
- package/dist/vscode.html-custom-data.json +1135 -0
- package/package.json +74 -116
- package/cdn/chunks/chunk-2BSPQRNR.js +0 -6
- package/cdn/chunks/chunk-3CVBBZDT.js +0 -17
- package/cdn/chunks/chunk-3IBGLVHA.js +0 -1
- package/cdn/chunks/chunk-3YQMAZEO.js +0 -29
- package/cdn/chunks/chunk-5UQLGV7F.js +0 -5
- package/cdn/chunks/chunk-5WLHU3FH.js +0 -8
- package/cdn/chunks/chunk-6SGFGN34.js +0 -8
- package/cdn/chunks/chunk-6XVY32RS.js +0 -1
- package/cdn/chunks/chunk-7ME56ODO.js +0 -1
- package/cdn/chunks/chunk-CZDMOYYF.js +0 -1
- package/cdn/chunks/chunk-DNBBQ7LY.js +0 -1
- package/cdn/chunks/chunk-DP5FVJRS.js +0 -21
- package/cdn/chunks/chunk-E6IOJ4MV.js +0 -23
- package/cdn/chunks/chunk-G76Y52EL.js +0 -1471
- package/cdn/chunks/chunk-HCXHHI6V.js +0 -18
- package/cdn/chunks/chunk-HDMF4QZO.js +0 -48
- package/cdn/chunks/chunk-HKWYQB5Z.js +0 -37
- package/cdn/chunks/chunk-J5P2GBPV.js +0 -1
- package/cdn/chunks/chunk-KWPDTFYH.js +0 -1
- package/cdn/chunks/chunk-LIUOA3YV.js +0 -1
- package/cdn/chunks/chunk-LO2NM3CE.js +0 -1
- package/cdn/chunks/chunk-MD33BNWM.js +0 -1
- package/cdn/chunks/chunk-MRQ46JRY.js +0 -8
- package/cdn/chunks/chunk-NJP4VZB3.js +0 -8
- package/cdn/chunks/chunk-O4RAJ3LM.js +0 -25
- package/cdn/chunks/chunk-OSLUHYFD.js +0 -8
- package/cdn/chunks/chunk-P6SSTAJ2.js +0 -1
- package/cdn/chunks/chunk-PP62N3C4.js +0 -8
- package/cdn/chunks/chunk-PU7OABT3.js +0 -1
- package/cdn/chunks/chunk-PUI3LIFH.js +0 -0
- package/cdn/chunks/chunk-QBAXWCYQ.js +0 -5
- package/cdn/chunks/chunk-QEFO63QX.js +0 -8
- package/cdn/chunks/chunk-QQCGUVEV.js +0 -1
- package/cdn/chunks/chunk-QQR6POPY.js +0 -1
- package/cdn/chunks/chunk-RGNFAPWY.js +0 -2
- package/cdn/chunks/chunk-S5QDLZ6J.js +0 -1
- package/cdn/chunks/chunk-SEM2PEP6.js +0 -5
- package/cdn/chunks/chunk-SVVO2SFS.js +0 -1
- package/cdn/chunks/chunk-TCHROQU3.js +0 -1
- package/cdn/chunks/chunk-UMDZKG6K.js +0 -1
- package/cdn/chunks/chunk-VEG7LKS3.js +0 -48
- package/cdn/chunks/chunk-WCCTDLQ4.js +0 -8
- package/cdn/chunks/chunk-X4FA36TC.js +0 -1
- package/cdn/chunks/chunk-XJ2CFTZP.js +0 -1
- package/cdn/chunks/chunk-XUJ7TXHW.js +0 -1
- package/cdn/chunks/chunk-YCBNF5QU.js +0 -17
- package/cdn/chunks/chunk-YHLQ2JQ2.js +0 -1
- package/cdn/chunks/chunk-ZPCQH3EY.js +0 -10
- package/cdn/exports/computed-item.context.js +0 -1
- package/cdn/exports/computed.context.js +0 -1
- package/cdn/exports/config.context.js +0 -1
- package/cdn/exports/expression-result.js +0 -0
- package/cdn/exports/interaction.interface.js +0 -0
- package/cdn/exports/interaction.js +0 -1
- package/cdn/exports/item.context.js +0 -1
- package/cdn/exports/qti-assessment-item.context.js +0 -1
- package/cdn/exports/qti-condition-expression.js +0 -1
- package/cdn/exports/qti-expression.js +0 -1
- package/cdn/exports/qti-test.js +0 -0
- package/cdn/exports/qti.context.js +0 -1
- package/cdn/exports/session.context.js +0 -1
- package/cdn/exports/test.context.js +0 -1
- package/cdn/exports/variables.js +0 -0
- package/cdn/qti-components/index.js +0 -1
- package/cdn/qti-item/components/item-container.js +0 -1
- package/cdn/qti-item/components/item-correct-response-mode.js +0 -10
- package/cdn/qti-item/components/item-show-candidate-correction.js +0 -8
- package/cdn/qti-item/components/item-show-correct-response.js +0 -1
- package/cdn/qti-item/components/print-item-variables.js +0 -1
- package/cdn/qti-item/components/styles.js +0 -1
- package/cdn/qti-item/core/index.js +0 -1
- package/cdn/qti-loader/index.js +0 -1
- package/cdn/qti-test/components/index.js +0 -1
- package/cdn/qti-test/components/styles.js +0 -1
- package/cdn/qti-test/components/test-check-item.js +0 -1
- package/cdn/qti-test/components/test-container.js +0 -1
- package/cdn/qti-test/components/test-end-attempt.js +0 -1
- package/cdn/qti-test/components/test-item-link.js +0 -1
- package/cdn/qti-test/components/test-navigation.js +0 -1
- package/cdn/qti-test/components/test-next.js +0 -1
- package/cdn/qti-test/components/test-paging-buttons-stamp.js +0 -1
- package/cdn/qti-test/components/test-prev.js +0 -1
- package/cdn/qti-test/components/test-print-context.js +0 -1
- package/cdn/qti-test/components/test-print-item-variables.js +0 -1
- package/cdn/qti-test/components/test-scoring-buttons.js +0 -1
- package/cdn/qti-test/components/test-scoring-feedback.js +0 -1
- package/cdn/qti-test/components/test-section-buttons-stamp.js +0 -1
- package/cdn/qti-test/components/test-section-link.js +0 -1
- package/cdn/qti-test/components/test-show-correct-response.js +0 -1
- package/cdn/qti-test/components/test-stamp.js +0 -1
- package/cdn/qti-test/components/test-view-toggle.js +0 -1
- package/cdn/qti-test/components/test-view.js +0 -1
- package/cdn/qti-test/core/index.js +0 -1
- package/cdn/qti-transformers/index.js +0 -1
- package/dist/chunks/chunk-22IRJWWY.js.map +0 -1
- package/dist/chunks/chunk-36G5MQKR.js +0 -85
- package/dist/chunks/chunk-36G5MQKR.js.map +0 -1
- package/dist/chunks/chunk-5KCXO2RP.js +0 -36
- package/dist/chunks/chunk-5KCXO2RP.js.map +0 -1
- package/dist/chunks/chunk-5ZHHNEDA.js +0 -30
- package/dist/chunks/chunk-5ZHHNEDA.js.map +0 -1
- package/dist/chunks/chunk-7K44TDQO.js +0 -91
- package/dist/chunks/chunk-7K44TDQO.js.map +0 -1
- package/dist/chunks/chunk-7OMJMXHK.js +0 -50
- package/dist/chunks/chunk-7OMJMXHK.js.map +0 -1
- package/dist/chunks/chunk-AZIKAG7K.js.map +0 -1
- package/dist/chunks/chunk-BLBSZDQ4.js +0 -52
- package/dist/chunks/chunk-BLBSZDQ4.js.map +0 -1
- package/dist/chunks/chunk-CP34TICQ.js +0 -45
- package/dist/chunks/chunk-CP34TICQ.js.map +0 -1
- package/dist/chunks/chunk-CTESMSQO.js +0 -56
- package/dist/chunks/chunk-CTESMSQO.js.map +0 -1
- package/dist/chunks/chunk-DZAMXOSC.js +0 -30
- package/dist/chunks/chunk-DZAMXOSC.js.map +0 -1
- package/dist/chunks/chunk-E6V3JHVT.js +0 -31
- package/dist/chunks/chunk-E6V3JHVT.js.map +0 -1
- package/dist/chunks/chunk-EJZQSOHU.js +0 -85
- package/dist/chunks/chunk-EJZQSOHU.js.map +0 -1
- package/dist/chunks/chunk-EMVOKXSA.js +0 -84
- package/dist/chunks/chunk-EMVOKXSA.js.map +0 -1
- package/dist/chunks/chunk-ETLOKJAG.js +0 -94
- package/dist/chunks/chunk-ETLOKJAG.js.map +0 -1
- package/dist/chunks/chunk-GAHXUFMQ.js +0 -93
- package/dist/chunks/chunk-GAHXUFMQ.js.map +0 -1
- package/dist/chunks/chunk-KG5Z2CKO.js +0 -86
- package/dist/chunks/chunk-KG5Z2CKO.js.map +0 -1
- package/dist/chunks/chunk-KSXNC564.js +0 -43
- package/dist/chunks/chunk-KSXNC564.js.map +0 -1
- package/dist/chunks/chunk-LF6SO3JU.js.map +0 -1
- package/dist/chunks/chunk-ODHS7HDB.js +0 -94
- package/dist/chunks/chunk-ODHS7HDB.js.map +0 -1
- package/dist/chunks/chunk-QU7KR7VX.js +0 -367
- package/dist/chunks/chunk-QU7KR7VX.js.map +0 -1
- package/dist/chunks/chunk-TU6COU44.js +0 -82
- package/dist/chunks/chunk-TU6COU44.js.map +0 -1
- package/dist/chunks/chunk-TUKEQ36K.js +0 -60
- package/dist/chunks/chunk-TUKEQ36K.js.map +0 -1
- package/dist/chunks/chunk-TWYN56XO.js +0 -92
- package/dist/chunks/chunk-TWYN56XO.js.map +0 -1
- package/dist/chunks/chunk-UHQVQBCL.js +0 -89
- package/dist/chunks/chunk-UHQVQBCL.js.map +0 -1
- package/dist/chunks/chunk-WFFIUFJJ.js +0 -28
- package/dist/chunks/chunk-WFFIUFJJ.js.map +0 -1
- package/dist/chunks/chunk-WN6TJQI2.js +0 -103
- package/dist/chunks/chunk-WN6TJQI2.js.map +0 -1
- package/dist/chunks/chunk-WPEFNKMC.js +0 -923
- package/dist/chunks/chunk-WPEFNKMC.js.map +0 -1
- package/dist/chunks/chunk-YPMZLHGG.js +0 -52
- package/dist/chunks/chunk-YPMZLHGG.js.map +0 -1
- package/dist/chunks/chunk-YWEWSQJR.js +0 -40
- package/dist/chunks/chunk-YWEWSQJR.js.map +0 -1
- package/dist/chunks/chunk-ZGSNDSK3.js +0 -1
- package/dist/chunks/chunk-ZGSNDSK3.js.map +0 -1
- package/dist/qti-item/components/item-container.d.ts +0 -40
- package/dist/qti-item/components/item-container.js +0 -11
- package/dist/qti-item/components/item-container.js.map +0 -1
- package/dist/qti-item/components/item-correct-response-mode.d.ts +0 -17
- package/dist/qti-item/components/item-correct-response-mode.js +0 -62
- package/dist/qti-item/components/item-correct-response-mode.js.map +0 -1
- package/dist/qti-item/components/item-show-candidate-correction.d.ts +0 -34
- package/dist/qti-item/components/item-show-candidate-correction.js +0 -88
- package/dist/qti-item/components/item-show-candidate-correction.js.map +0 -1
- package/dist/qti-item/components/item-show-correct-response.d.ts +0 -33
- package/dist/qti-item/components/item-show-correct-response.js +0 -10
- package/dist/qti-item/components/item-show-correct-response.js.map +0 -1
- package/dist/qti-item/components/print-item-variables.d.ts +0 -23
- package/dist/qti-item/components/print-item-variables.js +0 -9
- package/dist/qti-item/components/print-item-variables.js.map +0 -1
- package/dist/qti-item/components/styles.d.ts +0 -8
- package/dist/qti-item/components/styles.js +0 -14
- package/dist/qti-item/components/styles.js.map +0 -1
- package/dist/qti-item/core/index.d.ts +0 -51
- package/dist/qti-item/core/index.js +0 -26
- package/dist/qti-response-declaration-DKr08ANy.d.ts +0 -1397
- package/dist/qti-test/components/index.d.ts +0 -33
- package/dist/qti-test/components/index.js +0 -87
- package/dist/qti-test/components/styles.d.ts +0 -8
- package/dist/qti-test/components/styles.js +0 -14
- package/dist/qti-test/components/styles.js.map +0 -1
- package/dist/qti-test/components/test-check-item.d.ts +0 -16
- package/dist/qti-test/components/test-check-item.js +0 -9
- package/dist/qti-test/components/test-check-item.js.map +0 -1
- package/dist/qti-test/components/test-container.d.ts +0 -39
- package/dist/qti-test/components/test-container.js +0 -11
- package/dist/qti-test/components/test-container.js.map +0 -1
- package/dist/qti-test/components/test-end-attempt.d.ts +0 -16
- package/dist/qti-test/components/test-end-attempt.js +0 -9
- package/dist/qti-test/components/test-end-attempt.js.map +0 -1
- package/dist/qti-test/components/test-item-link.d.ts +0 -18
- package/dist/qti-test/components/test-item-link.js +0 -9
- package/dist/qti-test/components/test-item-link.js.map +0 -1
- package/dist/qti-test/components/test-navigation.d.ts +0 -73
- package/dist/qti-test/components/test-navigation.js +0 -13
- package/dist/qti-test/components/test-navigation.js.map +0 -1
- package/dist/qti-test/components/test-next.d.ts +0 -48
- package/dist/qti-test/components/test-next.js +0 -12
- package/dist/qti-test/components/test-next.js.map +0 -1
- package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +0 -23
- package/dist/qti-test/components/test-paging-buttons-stamp.js +0 -9
- package/dist/qti-test/components/test-paging-buttons-stamp.js.map +0 -1
- package/dist/qti-test/components/test-prev.d.ts +0 -46
- package/dist/qti-test/components/test-prev.js +0 -12
- package/dist/qti-test/components/test-prev.js.map +0 -1
- package/dist/qti-test/components/test-print-context.d.ts +0 -25
- package/dist/qti-test/components/test-print-context.js +0 -9
- package/dist/qti-test/components/test-print-context.js.map +0 -1
- package/dist/qti-test/components/test-print-item-variables.d.ts +0 -27
- package/dist/qti-test/components/test-print-item-variables.js +0 -9
- package/dist/qti-test/components/test-print-item-variables.js.map +0 -1
- package/dist/qti-test/components/test-scoring-buttons.d.ts +0 -32
- package/dist/qti-test/components/test-scoring-buttons.js +0 -9
- package/dist/qti-test/components/test-scoring-buttons.js.map +0 -1
- package/dist/qti-test/components/test-scoring-feedback.d.ts +0 -27
- package/dist/qti-test/components/test-scoring-feedback.js +0 -9
- package/dist/qti-test/components/test-scoring-feedback.js.map +0 -1
- package/dist/qti-test/components/test-section-buttons-stamp.d.ts +0 -23
- package/dist/qti-test/components/test-section-buttons-stamp.js +0 -9
- package/dist/qti-test/components/test-section-buttons-stamp.js.map +0 -1
- package/dist/qti-test/components/test-section-link.d.ts +0 -18
- package/dist/qti-test/components/test-section-link.js +0 -9
- package/dist/qti-test/components/test-section-link.js.map +0 -1
- package/dist/qti-test/components/test-show-correct-response.d.ts +0 -39
- package/dist/qti-test/components/test-show-correct-response.js +0 -10
- package/dist/qti-test/components/test-show-correct-response.js.map +0 -1
- package/dist/qti-test/components/test-stamp.d.ts +0 -31
- package/dist/qti-test/components/test-stamp.js +0 -9
- package/dist/qti-test/components/test-stamp.js.map +0 -1
- package/dist/qti-test/components/test-view-toggle.d.ts +0 -19
- package/dist/qti-test/components/test-view-toggle.js +0 -9
- package/dist/qti-test/components/test-view-toggle.js.map +0 -1
- package/dist/qti-test/components/test-view.d.ts +0 -24
- package/dist/qti-test/components/test-view.js +0 -10
- package/dist/qti-test/components/test-view.js.map +0 -1
- package/dist/qti-test/core/index.d.ts +0 -105
- package/dist/qti-test/core/index.js +0 -36
- package/dist/qti-test/core/index.js.map +0 -1
- /package/dist/chunks/{chunk-FL72PF4D.js.map → chunk-SV4K25ZI.js.map} +0 -0
- /package/dist/qti-item/{core/index.js.map → index.js.map} +0 -0
- /package/dist/qti-test/{components/index.js.map → index.js.map} +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as lit_html from 'lit-html';
|
|
2
|
+
import * as lit from 'lit';
|
|
3
|
+
import { LitElement } from 'lit';
|
|
4
|
+
import { ComputedItemContext } from '../exports/computed-item.context.js';
|
|
5
|
+
import { ConfigContext } from '../exports/config.context.js';
|
|
6
|
+
import '../variables-BCkyLoXK.js';
|
|
7
|
+
import '../exports/expression-result.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* `<item-container>` is a custom element designed for hosting the qti-assessment-item.
|
|
11
|
+
* The `qti-assessment-item` will be placed inside the shadow DOM of this element.
|
|
12
|
+
* The element loads the item from the provided URL and renders it inside the shadow DOM.
|
|
13
|
+
*
|
|
14
|
+
* ### Styling
|
|
15
|
+
* Add a class to the element for styling.
|
|
16
|
+
*
|
|
17
|
+
* ```html
|
|
18
|
+
* <qti-item>
|
|
19
|
+
* <item-container class="m-4 bg-white" item-url="./path/to/item.xml"></item-container>
|
|
20
|
+
* </qti-item>
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
declare class ItemContainer extends LitElement {
|
|
24
|
+
/** URL of the item to load */
|
|
25
|
+
itemURL: string;
|
|
26
|
+
/** A parsed HTML document */
|
|
27
|
+
itemDoc: DocumentFragment;
|
|
28
|
+
/** The raw XML string */
|
|
29
|
+
itemXML: string;
|
|
30
|
+
/** Template content if provided */
|
|
31
|
+
private templateContent;
|
|
32
|
+
protected handleItemURLChange(): Promise<void>;
|
|
33
|
+
protected handleItemXMLChange(): void;
|
|
34
|
+
connectedCallback(): Promise<void>;
|
|
35
|
+
private initializeTemplateContent;
|
|
36
|
+
private applyStyles;
|
|
37
|
+
render(): lit_html.TemplateResult<1>;
|
|
38
|
+
}
|
|
39
|
+
declare global {
|
|
40
|
+
interface HTMLElementTagNameMap {
|
|
41
|
+
'item-container': ItemContainer;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
declare class PrintItemVariables extends LitElement {
|
|
46
|
+
protected computedContext?: ComputedItemContext;
|
|
47
|
+
static styles: lit.CSSResult;
|
|
48
|
+
render(): lit_html.TemplateResult<1>;
|
|
49
|
+
}
|
|
50
|
+
declare global {
|
|
51
|
+
interface HTMLElementTagNameMap {
|
|
52
|
+
'print-item-variables': PrintItemVariables;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
declare class ItemShowCorrectResponse extends LitElement {
|
|
57
|
+
computedContext?: ComputedItemContext;
|
|
58
|
+
static styles: lit.CSSResult;
|
|
59
|
+
shown: boolean;
|
|
60
|
+
disabled: boolean;
|
|
61
|
+
showCorrectText: string;
|
|
62
|
+
hideCorrectText: string;
|
|
63
|
+
noCorrectResponseText: string;
|
|
64
|
+
private _hasCorrectResponse;
|
|
65
|
+
private _previousActiveItem;
|
|
66
|
+
updated(): void;
|
|
67
|
+
private _toggleState;
|
|
68
|
+
private _getDisplayedText;
|
|
69
|
+
render(): lit_html.TemplateResult<1>;
|
|
70
|
+
}
|
|
71
|
+
declare global {
|
|
72
|
+
interface HTMLElementTagNameMap {
|
|
73
|
+
'item-show-correct-response': ItemShowCorrectResponse;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* `<qti-item>` is a custom element designed for rendering a single `qti-assessment-item`.
|
|
79
|
+
* It can also host some functionalities to interact with the item like scoring, showing feedback, etc.
|
|
80
|
+
* Placing a mandatory `<item-container>` inside '<qti-item>' will load or parse the item and render it.
|
|
81
|
+
* See `<item-container>` for more details.
|
|
82
|
+
*
|
|
83
|
+
* ```html
|
|
84
|
+
* <qti-item>
|
|
85
|
+
* <item-container class="m-4 bg-white" item-url="./path/to/item.xml"></item-container>
|
|
86
|
+
* </qti-item>
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
declare class QtiItem extends LitElement {
|
|
90
|
+
computedContext: ComputedItemContext;
|
|
91
|
+
private _qtiAssessmentItem?;
|
|
92
|
+
configContext: ConfigContext;
|
|
93
|
+
private _onItemContextChanged;
|
|
94
|
+
private _onAssessmentItemConnected;
|
|
95
|
+
private _onHandleShowCorrectResponse;
|
|
96
|
+
private _onHandleShowCandidateCorrection;
|
|
97
|
+
private _onHandleSwitchCorrectResponseMode;
|
|
98
|
+
constructor();
|
|
99
|
+
private _handleItemContextChanged;
|
|
100
|
+
private _handleAssessmentItemConnected;
|
|
101
|
+
private _handleShowCorrectResponse;
|
|
102
|
+
private _handleShowCandidateCorrection;
|
|
103
|
+
private _handleSwitchCorrectResponseMode;
|
|
104
|
+
private _updateItemVariablesInTestContext;
|
|
105
|
+
render(): lit_html.TemplateResult<1>;
|
|
106
|
+
disconnectedCallback(): void;
|
|
107
|
+
}
|
|
108
|
+
declare global {
|
|
109
|
+
interface HTMLElementTagNameMap {
|
|
110
|
+
'qti-item': QtiItem;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export { ItemContainer, ItemShowCorrectResponse, PrintItemVariables, QtiItem };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ItemContainer,
|
|
3
|
+
ItemShowCorrectResponse,
|
|
4
|
+
PrintItemVariables,
|
|
5
|
+
QtiItem
|
|
6
|
+
} from "../chunks/chunk-4BDOB6KY.js";
|
|
7
|
+
import "../chunks/chunk-LSEB52SP.js";
|
|
8
|
+
import "../chunks/chunk-ELDMXTUQ.js";
|
|
9
|
+
import "../chunks/chunk-WFUXZ4UT.js";
|
|
10
|
+
import "../chunks/chunk-4OGJBG35.js";
|
|
11
|
+
import "../chunks/chunk-ERYHQVOT.js";
|
|
12
|
+
import "../chunks/chunk-H2JE6IVU.js";
|
|
13
|
+
export {
|
|
14
|
+
ItemContainer,
|
|
15
|
+
ItemShowCorrectResponse,
|
|
16
|
+
PrintItemVariables,
|
|
17
|
+
QtiItem
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { Q as QtiAssessmentItem } from '../qti-
|
|
1
|
+
import { Q as QtiAssessmentItem } from '../qti-assessment-item-l-mN3teH.js';
|
|
2
2
|
import 'lit-html';
|
|
3
3
|
import 'lit';
|
|
4
4
|
import '../exports/expression-result.js';
|
|
5
|
-
import '../
|
|
6
|
-
import '../exports/config.context.js';
|
|
7
|
-
import 'lit-html/directives/ref.js';
|
|
8
|
-
import '../exports/qti.context.js';
|
|
5
|
+
import '../variables-BCkyLoXK.js';
|
|
9
6
|
|
|
10
7
|
type ManifestInfo = {
|
|
11
8
|
testIdentifier: string;
|
package/dist/qti-loader/index.js
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
qtiTransformItem,
|
|
3
|
+
qtiTransformManifest,
|
|
4
|
+
qtiTransformTest
|
|
5
|
+
} from "../chunks/chunk-WFUXZ4UT.js";
|
|
6
6
|
import "../chunks/chunk-H2JE6IVU.js";
|
|
7
|
+
|
|
8
|
+
// src/lib/qti-loader/qti-loader.ts
|
|
9
|
+
var getManifestInfo = async (manifestURL) => {
|
|
10
|
+
const baseURI = manifestURL.substring(0, manifestURL.lastIndexOf("/"));
|
|
11
|
+
const test = await qtiTransformManifest().load(`${manifestURL}`).then((api) => api.assessmentTest());
|
|
12
|
+
const testHTMLDoc = await qtiTransformTest().load(`${baseURI}/${test.href}`).then((api) => api.htmlDoc());
|
|
13
|
+
const items = await qtiTransformTest().load(`${baseURI}/${test.href}`).then((api) => api.items());
|
|
14
|
+
const testURL = `${baseURI}/${test.href}`;
|
|
15
|
+
const testURI = `${baseURI}/${test.href.substring(0, test.href.lastIndexOf("/"))}`;
|
|
16
|
+
return {
|
|
17
|
+
testHTMLDoc,
|
|
18
|
+
testURI,
|
|
19
|
+
testURL,
|
|
20
|
+
items,
|
|
21
|
+
testIdentifier: test.identifier
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
var getItemByUri = async (itemUri) => {
|
|
25
|
+
return qtiTransformItem().load(itemUri).promise.then((api) => api.htmlDoc().firstElementChild);
|
|
26
|
+
};
|
|
7
27
|
export {
|
|
8
28
|
getItemByUri,
|
|
9
29
|
getManifestInfo
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/qti-loader/qti-loader.ts"],"sourcesContent":["import { qtiTransformItem, qtiTransformTest } from '../qti-transformers';\nimport { qtiTransformManifest } from '../qti-transformers/qti-transform-manifest';\n\nimport type { QtiAssessmentItem } from '../qti-components/qti-assessment-item/qti-assessment-item';\n\nexport type ManifestInfo = {\n testIdentifier: string;\n testHTMLDoc: DocumentFragment;\n testURI: string;\n testURL: string;\n items: {\n identifier: string;\n href: string;\n category: string;\n }[];\n};\n\n// Utility function to ensure package URIs end with a '/'\n// const normalizeUri = (uri: string) => (uri.endsWith('/') ? uri : `${uri}/`);\n\n// Fetches assessment data from the manifest\nexport const getManifestInfo = async (manifestURL: string): Promise<ManifestInfo> => {\n const baseURI = manifestURL.substring(0, manifestURL.lastIndexOf('/'));\n\n const test = await qtiTransformManifest()\n .load(`${manifestURL}`)\n .then(api => api.assessmentTest());\n\n const testHTMLDoc = await qtiTransformTest()\n .load(`${baseURI}/${test.href}`)\n .then(api => api.htmlDoc());\n\n const items = await qtiTransformTest()\n .load(`${baseURI}/${test.href}`)\n .then(api => api.items());\n\n const testURL = `${baseURI}/${test.href}`;\n const testURI = `${baseURI}/${test.href.substring(0, test.href.lastIndexOf('/'))}`;\n\n return {\n testHTMLDoc,\n testURI,\n testURL,\n items,\n testIdentifier: test.identifier\n };\n};\n\n// Fetches a single item by URI\nexport const getItemByUri = async (itemUri: string): Promise<QtiAssessmentItem> => {\n return qtiTransformItem()\n .load(itemUri)\n .promise.then(api => api.htmlDoc().firstElementChild as QtiAssessmentItem);\n};\n"],"mappings":";;;;;;;;AAqBO,IAAM,kBAAkB,OAAO,gBAA+C;AACnF,QAAM,UAAU,YAAY,UAAU,GAAG,YAAY,YAAY,GAAG,CAAC;AAErE,QAAM,OAAO,MAAM,qBAAqB,EACrC,KAAK,GAAG,WAAW,EAAE,EACrB,KAAK,SAAO,IAAI,eAAe,CAAC;AAEnC,QAAM,cAAc,MAAM,iBAAiB,EACxC,KAAK,GAAG,OAAO,IAAI,KAAK,IAAI,EAAE,EAC9B,KAAK,SAAO,IAAI,QAAQ,CAAC;AAE5B,QAAM,QAAQ,MAAM,iBAAiB,EAClC,KAAK,GAAG,OAAO,IAAI,KAAK,IAAI,EAAE,EAC9B,KAAK,SAAO,IAAI,MAAM,CAAC;AAE1B,QAAM,UAAU,GAAG,OAAO,IAAI,KAAK,IAAI;AACvC,QAAM,UAAU,GAAG,OAAO,IAAI,KAAK,KAAK,UAAU,GAAG,KAAK,KAAK,YAAY,GAAG,CAAC,CAAC;AAEhF,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,KAAK;AAAA,EACvB;AACF;AAGO,IAAM,eAAe,OAAO,YAAgD;AACjF,SAAO,iBAAiB,EACrB,KAAK,OAAO,EACZ,QAAQ,KAAK,SAAO,IAAI,QAAQ,EAAE,iBAAsC;AAC7E;","names":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as lit_html from 'lit-html';
|
|
2
|
+
import * as lit from 'lit';
|
|
3
|
+
import { LitElement } from 'lit';
|
|
4
|
+
|
|
5
|
+
declare abstract class QtiFeedback extends LitElement {
|
|
6
|
+
protected showHide: string;
|
|
7
|
+
outcomeIdentifier: string;
|
|
8
|
+
protected identifier: string;
|
|
9
|
+
showStatus: string;
|
|
10
|
+
private _context?;
|
|
11
|
+
connectedCallback(): void;
|
|
12
|
+
checkShowFeedback(outcomeIdentifier: string): void;
|
|
13
|
+
private showFeedback;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare class QtiModalFeedback extends QtiFeedback {
|
|
17
|
+
static styles: lit.CSSResult;
|
|
18
|
+
render(): lit_html.TemplateResult<1>;
|
|
19
|
+
openFeedback(): void;
|
|
20
|
+
closeFeedback(): void;
|
|
21
|
+
connectedCallback(): void;
|
|
22
|
+
protected updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
23
|
+
}
|
|
24
|
+
declare global {
|
|
25
|
+
interface HTMLElementTagNameMap {
|
|
26
|
+
'qti-modal-feedback': QtiModalFeedback;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { QtiModalFeedback as Q, QtiFeedback as a };
|
|
@@ -0,0 +1,480 @@
|
|
|
1
|
+
import * as lit_html from 'lit-html';
|
|
2
|
+
import { e as VariableValue, O as OutcomeVariable, V as VariableDeclaration } from '../variables-BCkyLoXK.js';
|
|
3
|
+
import * as lit from 'lit';
|
|
4
|
+
import { LitElement, PropertyValues, nothing } from 'lit';
|
|
5
|
+
import { SessionContext } from '../exports/session.context.js';
|
|
6
|
+
import { b as QtiAssessmentTest, I as IQtiTest } from '../qti-test-BwvOhz_-.js';
|
|
7
|
+
export { Q as QtiAssessmentItemRef, a as QtiAssessmentSection, d as QtiTestFeedback, c as QtiTestPart } from '../qti-test-BwvOhz_-.js';
|
|
8
|
+
import { TestContext } from '../exports/test.context.js';
|
|
9
|
+
export { INITIAL_TEST_CONTEXT, testContext } from '../exports/test.context.js';
|
|
10
|
+
import { QtiContext } from '../exports/qti.context.js';
|
|
11
|
+
import { ComputedContext, ComputedItem } from '../exports/computed.context.js';
|
|
12
|
+
import { ConfigContext } from '../exports/config.context.js';
|
|
13
|
+
import { TemplateFunction } from '@heximal/templates';
|
|
14
|
+
import { ViewMode } from 'storybook/internal/types';
|
|
15
|
+
import '../exports/expression-result.js';
|
|
16
|
+
import '../qti-transform-item-C9WtMeDR.js';
|
|
17
|
+
import '../qti-assessment-item-l-mN3teH.js';
|
|
18
|
+
import '../qti-modal-feedback-PKbhO-3w.js';
|
|
19
|
+
import '../exports/item.context.js';
|
|
20
|
+
import '../exports/computed-item.context.js';
|
|
21
|
+
|
|
22
|
+
declare abstract class TestBase extends LitElement {
|
|
23
|
+
testContext: Readonly<TestContext>;
|
|
24
|
+
sessionContext: Readonly<SessionContext>;
|
|
25
|
+
protected _testElement: QtiAssessmentTest;
|
|
26
|
+
updateItemVariables(itemRefID: string, variables: VariableValue<string | string[] | null>[]): void;
|
|
27
|
+
constructor();
|
|
28
|
+
private _updateItemVariablesInTestContext;
|
|
29
|
+
/**
|
|
30
|
+
* Updates the variables of an assessment item in the test context.
|
|
31
|
+
* - Matches the assessment item with the corresponding test context item.
|
|
32
|
+
* - If the item is not found, logs a warning.
|
|
33
|
+
* - Updates variables in the test context if exactly one variable exists.
|
|
34
|
+
* - Otherwise, syncs the assessment item's variables with the test context.
|
|
35
|
+
*
|
|
36
|
+
* @param assessmentItem - The assessment item to update.
|
|
37
|
+
*/
|
|
38
|
+
private _updateItemInTestContext;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare const QtiTest_base: (abstract new (...args: any[]) => {}) & (abstract new (...args: any[]) => {}) & (abstract new (...args: any[]) => {
|
|
42
|
+
updateOutcomeVariable(identifier: string, value: string | string[] | undefined): void;
|
|
43
|
+
getOutcome(identifier: string): Readonly<OutcomeVariable>;
|
|
44
|
+
getVariable(identifier: string): Readonly<VariableDeclaration<string | string[] | null>>;
|
|
45
|
+
outcomeProcessing(): boolean;
|
|
46
|
+
}) & typeof TestBase;
|
|
47
|
+
/**
|
|
48
|
+
* `<qti-test>` is a custom element designed for rendering and interacting with QTI (Question and Test Interoperability) tests.
|
|
49
|
+
*
|
|
50
|
+
* This component leverages several mixins to provide functionality for loading, navigating, processing, and displaying QTI test assessments.
|
|
51
|
+
*
|
|
52
|
+
* ### Example Usage
|
|
53
|
+
*
|
|
54
|
+
* Minimal example including navigation:
|
|
55
|
+
*
|
|
56
|
+
* ```html
|
|
57
|
+
* <qti-test>
|
|
58
|
+
* <test-navigation>
|
|
59
|
+
* <test-container test-url="./path/to/assessment.xml"></test-container>
|
|
60
|
+
* <nav class="flex">
|
|
61
|
+
* <test-prev></test-prev>
|
|
62
|
+
* <test-next></test-next>
|
|
63
|
+
* </nav>
|
|
64
|
+
* </test-navigation>
|
|
65
|
+
* </qti-test>
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* Use the following file structure
|
|
69
|
+
* A qti-test loads a QTI3.0 assessmenttest.xml file from a package folder.
|
|
70
|
+
*
|
|
71
|
+
* ```plaintext
|
|
72
|
+
* Root/
|
|
73
|
+
* ├── index.html
|
|
74
|
+
* └── /assets/api/examples/
|
|
75
|
+
* ├── assessmenttest.xml
|
|
76
|
+
* └── imsmanifest.xml
|
|
77
|
+
*
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* ### Test components
|
|
81
|
+
*
|
|
82
|
+
* Use test components inside the qti-test component for added functionality.
|
|
83
|
+
* ### Test next
|
|
84
|
+
* `<test-next> | TestNext`
|
|
85
|
+
*
|
|
86
|
+
* ### Test prev
|
|
87
|
+
*
|
|
88
|
+
* `<test-prev> | TestPrev`
|
|
89
|
+
* ### Test components
|
|
90
|
+
*
|
|
91
|
+
* You can use normal class names to style the elements.
|
|
92
|
+
* And you can use the `test-prev` and `test-next` elements to navigate through the test.
|
|
93
|
+
*
|
|
94
|
+
*/
|
|
95
|
+
declare class QtiTest extends QtiTest_base implements IQtiTest {
|
|
96
|
+
/**
|
|
97
|
+
* Renders the component's template.
|
|
98
|
+
* Provides a default `<slot>` for content projection.
|
|
99
|
+
*/
|
|
100
|
+
connectedCallback(): Promise<void>;
|
|
101
|
+
render(): lit_html.TemplateResult<1>;
|
|
102
|
+
}
|
|
103
|
+
declare global {
|
|
104
|
+
interface HTMLElementTagNameMap {
|
|
105
|
+
'qti-test': QtiTest;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
type CustomEventMap = {
|
|
110
|
+
'test-end-attempt': CustomEvent;
|
|
111
|
+
'test-show-correct-response': CustomEvent<{
|
|
112
|
+
value: boolean;
|
|
113
|
+
}>;
|
|
114
|
+
};
|
|
115
|
+
declare global {
|
|
116
|
+
interface GlobalEventHandlersEventMap extends CustomEventMap {
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
declare class TestNavigation extends LitElement {
|
|
120
|
+
identifier: any;
|
|
121
|
+
initContext: {
|
|
122
|
+
identifier: string;
|
|
123
|
+
[key: string]: any;
|
|
124
|
+
}[];
|
|
125
|
+
qtiContext: QtiContext;
|
|
126
|
+
configContext: ConfigContext;
|
|
127
|
+
protected _testContext?: TestContext;
|
|
128
|
+
protected _sessionContext?: SessionContext;
|
|
129
|
+
protected computedContext: ComputedContext;
|
|
130
|
+
autoScoreItems: boolean;
|
|
131
|
+
private _testElement;
|
|
132
|
+
constructor();
|
|
133
|
+
/**
|
|
134
|
+
* Handles the 'test-end-attempt' event.
|
|
135
|
+
* @private
|
|
136
|
+
* @listens TestNavigation#test-end-attempt
|
|
137
|
+
* @param {CustomEvent} event - The custom event object.
|
|
138
|
+
*/
|
|
139
|
+
private _handleTestEndAttempt;
|
|
140
|
+
/**
|
|
141
|
+
* Handles the 'test-show-correct-response' event.
|
|
142
|
+
* @private
|
|
143
|
+
* @listens TestNavigation#test-show-correct-response
|
|
144
|
+
* @param {CustomEvent} event - The custom event object.
|
|
145
|
+
*/
|
|
146
|
+
private _handleTestShowCorrectResponse;
|
|
147
|
+
/**
|
|
148
|
+
* Handles the 'test-show-candidate-correction' event.
|
|
149
|
+
* @private
|
|
150
|
+
* @listens TestNavigation#test-show-candidate-correction
|
|
151
|
+
* @param {CustomEvent} event - The custom event object.
|
|
152
|
+
*/
|
|
153
|
+
private _handleTestShowCandidateCorrection;
|
|
154
|
+
private _handleTestUpdateOutcomeVariable;
|
|
155
|
+
private _handleInteractionChanged;
|
|
156
|
+
render(): lit_html.TemplateResult<1>;
|
|
157
|
+
private _handleTestConnected;
|
|
158
|
+
/**
|
|
159
|
+
* Extract default values from a qti-context-declaration element
|
|
160
|
+
*/
|
|
161
|
+
private _extractDefaultValues;
|
|
162
|
+
private _handleItemConnected;
|
|
163
|
+
protected willUpdate(_changedProperties: PropertyValues): void;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Represents a custom element for navigating to the next test item.
|
|
168
|
+
*
|
|
169
|
+
* @remarks
|
|
170
|
+
* This element provides functionality for navigating to the next test item.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```html
|
|
174
|
+
* <test-next></test-next>
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
declare class TestNext extends LitElement {
|
|
178
|
+
_internalDisabled: boolean;
|
|
179
|
+
protected computedContext: ComputedContext;
|
|
180
|
+
sectionItems: ComputedItem[];
|
|
181
|
+
itemIndex: number;
|
|
182
|
+
_handleTestElementChange(_oldValue: ComputedContext, newValue: ComputedContext): void;
|
|
183
|
+
static styles: lit.CSSResult;
|
|
184
|
+
private _internals;
|
|
185
|
+
constructor();
|
|
186
|
+
connectedCallback(): void;
|
|
187
|
+
willUpdate(_changedProperties: Map<string | number | symbol, unknown>): void;
|
|
188
|
+
checkDisabled(): void;
|
|
189
|
+
protected _requestItem(identifier: string): void;
|
|
190
|
+
render(): lit_html.TemplateResult<1>;
|
|
191
|
+
}
|
|
192
|
+
declare global {
|
|
193
|
+
interface HTMLElementTagNameMap {
|
|
194
|
+
'test-next': TestNext;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Represents a custom element for navigating to the previous test item.
|
|
200
|
+
*
|
|
201
|
+
* @remarks
|
|
202
|
+
* This element provides functionality for navigating to the previous test item.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```html
|
|
206
|
+
* <test-prev></test-prev>
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
declare class TestPrev extends LitElement {
|
|
210
|
+
_internalDisabled: boolean;
|
|
211
|
+
private computedContext;
|
|
212
|
+
sectionItems: ComputedItem[];
|
|
213
|
+
itemIndex: number;
|
|
214
|
+
_handleTestElementChange(_oldValue: ComputedContext, newValue: ComputedContext): void;
|
|
215
|
+
static styles: lit.CSSResult;
|
|
216
|
+
constructor();
|
|
217
|
+
willUpdate(_changedProperties: Map<string | number | symbol, unknown>): void;
|
|
218
|
+
checkDisabled(): void;
|
|
219
|
+
protected _requestItem(identifier: string): void;
|
|
220
|
+
render(): lit_html.TemplateResult<1>;
|
|
221
|
+
}
|
|
222
|
+
declare global {
|
|
223
|
+
interface HTMLElementTagNameMap {
|
|
224
|
+
'test-previous': TestPrev;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
declare class TestView extends LitElement {
|
|
229
|
+
static DEFAULT_VIEW_OPTIONS: string[];
|
|
230
|
+
private sessionContext;
|
|
231
|
+
/** label accompanying the select view dropdown */
|
|
232
|
+
label: string;
|
|
233
|
+
/** The options to display in the dropdown, default: ['author', 'candidate', 'proctor', 'scorer', 'testConstructor', 'tutor'] */
|
|
234
|
+
viewOptions: any;
|
|
235
|
+
protected _handleViewOptionsChange: () => void;
|
|
236
|
+
connectedCallback(): void;
|
|
237
|
+
private _viewOptions;
|
|
238
|
+
private updateViewOptions;
|
|
239
|
+
protected _switchView(view: string): void;
|
|
240
|
+
render(): lit_html.TemplateResult<1>;
|
|
241
|
+
}
|
|
242
|
+
declare global {
|
|
243
|
+
interface HTMLElementTagNameMap {
|
|
244
|
+
'test-view': TestView;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
declare class TestItemLink extends LitElement {
|
|
249
|
+
static styles: lit.CSSResult;
|
|
250
|
+
private itemId;
|
|
251
|
+
constructor();
|
|
252
|
+
protected _requestItem(identifier: string): void;
|
|
253
|
+
render(): lit_html.TemplateResult<1>;
|
|
254
|
+
}
|
|
255
|
+
declare global {
|
|
256
|
+
interface HTMLElementTagNameMap {
|
|
257
|
+
'test-item-link': TestItemLink;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
declare class TestEndAttempt extends LitElement {
|
|
262
|
+
static styles: lit.CSSResult;
|
|
263
|
+
constructor();
|
|
264
|
+
render(): lit_html.TemplateResult<1>;
|
|
265
|
+
}
|
|
266
|
+
declare global {
|
|
267
|
+
interface HTMLElementTagNameMap {
|
|
268
|
+
'test-end-attempt': TestEndAttempt;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* @deprecated test-show-correct-response is deprecated and will be removed in the future.
|
|
274
|
+
*/
|
|
275
|
+
declare class TestShowCorrectResponse extends LitElement {
|
|
276
|
+
computedContext?: ComputedContext;
|
|
277
|
+
static styles: lit.CSSResult;
|
|
278
|
+
shown: boolean;
|
|
279
|
+
disabled: boolean;
|
|
280
|
+
showCorrectText: string;
|
|
281
|
+
hideCorrectText: string;
|
|
282
|
+
noCorrectResponseText: string;
|
|
283
|
+
private _previousActiveItem?;
|
|
284
|
+
willUpdate(_changedProperties: Map<string | number | symbol, unknown>): void;
|
|
285
|
+
private _toggleState;
|
|
286
|
+
private _getDisplayedText;
|
|
287
|
+
render(): lit_html.TemplateResult<1>;
|
|
288
|
+
}
|
|
289
|
+
declare global {
|
|
290
|
+
interface HTMLElementTagNameMap {
|
|
291
|
+
'test-show-correct-response': TestShowCorrectResponse;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* @deprecated test-paging-buttons-stamp is deprecated and will be removed in the future.
|
|
297
|
+
*/
|
|
298
|
+
declare class TestPagingButtonsStamp extends LitElement {
|
|
299
|
+
private computedContext;
|
|
300
|
+
myTemplate: TemplateFunction;
|
|
301
|
+
private _internals;
|
|
302
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
303
|
+
constructor();
|
|
304
|
+
connectedCallback(): void;
|
|
305
|
+
render(): lit_html.TemplateResult<1>;
|
|
306
|
+
}
|
|
307
|
+
declare global {
|
|
308
|
+
interface HTMLElementTagNameMap {
|
|
309
|
+
'test-paging-buttons-stamp': TestPagingButtonsStamp;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* `<test-container>` is a custom element designed for hosting the qti-assessment-item.
|
|
315
|
+
* The `qti-assessment-test` will be placed inside the shadow DOM of this element.
|
|
316
|
+
* The element loads the test from the provided URL and renders it inside the shadow DOM.
|
|
317
|
+
*
|
|
318
|
+
* ```html
|
|
319
|
+
* <qti-test>
|
|
320
|
+
* <test-navigation>
|
|
321
|
+
* <test-container class="m-4 bg-white" test-url="./path/to/assessmenttest.xml"></test-container>
|
|
322
|
+
* </test-navigation>
|
|
323
|
+
* </qti-test>
|
|
324
|
+
* ```
|
|
325
|
+
*/
|
|
326
|
+
declare class TestContainer extends LitElement {
|
|
327
|
+
/** URL of the item to load */
|
|
328
|
+
testURL: string;
|
|
329
|
+
/** A parsed HTML document */
|
|
330
|
+
testDoc: DocumentFragment;
|
|
331
|
+
/** The raw XML string */
|
|
332
|
+
testXML: string;
|
|
333
|
+
/** Template content if provided */
|
|
334
|
+
private templateContent;
|
|
335
|
+
protected handleTestURLChange(): Promise<void>;
|
|
336
|
+
protected handleTestXMLChange(): void;
|
|
337
|
+
connectedCallback(): Promise<void>;
|
|
338
|
+
private initializeTemplateContent;
|
|
339
|
+
private applyStyles;
|
|
340
|
+
render(): lit_html.TemplateResult<1>;
|
|
341
|
+
}
|
|
342
|
+
declare global {
|
|
343
|
+
interface HTMLElementTagNameMap {
|
|
344
|
+
'test-container': TestContainer;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
declare class TestPrintVariables extends LitElement {
|
|
349
|
+
computedContext?: ComputedContext;
|
|
350
|
+
static styles: lit.CSSResult;
|
|
351
|
+
render(): lit_html.TemplateResult<1>;
|
|
352
|
+
}
|
|
353
|
+
declare global {
|
|
354
|
+
interface HTMLElementTagNameMap {
|
|
355
|
+
'test-print-item-variables': TestPrintVariables;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* @deprecated test-section-buttons-stamp is deprecated and will be removed in the future.
|
|
361
|
+
*/
|
|
362
|
+
declare class TestSectionButtonsStamp extends LitElement {
|
|
363
|
+
private computedContext;
|
|
364
|
+
myTemplate: TemplateFunction;
|
|
365
|
+
private _internals;
|
|
366
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
367
|
+
constructor();
|
|
368
|
+
connectedCallback(): void;
|
|
369
|
+
render(): lit_html.TemplateResult<1>;
|
|
370
|
+
}
|
|
371
|
+
declare global {
|
|
372
|
+
interface HTMLElementTagNameMap {
|
|
373
|
+
'test-section-buttons-stamp': TestSectionButtonsStamp;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
declare class TestSectionLink extends LitElement {
|
|
378
|
+
static styles: lit.CSSResult;
|
|
379
|
+
private sectionId;
|
|
380
|
+
private _requestItem;
|
|
381
|
+
constructor();
|
|
382
|
+
render(): lit_html.TemplateResult<1>;
|
|
383
|
+
}
|
|
384
|
+
declare global {
|
|
385
|
+
interface HTMLElementTagNameMap {
|
|
386
|
+
'test-section-link': TestSectionLink;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
declare class TestPrintContext extends LitElement {
|
|
391
|
+
computedContext?: ComputedContext;
|
|
392
|
+
render(): lit_html.TemplateResult<1>;
|
|
393
|
+
}
|
|
394
|
+
declare global {
|
|
395
|
+
interface HTMLElementTagNameMap {
|
|
396
|
+
'test-print-context': TestPrintContext;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* A custom web component that renders a test stamp using the Lit framework.
|
|
402
|
+
* This component is deprecated and will be removed in the future.
|
|
403
|
+
* @customElement
|
|
404
|
+
* @extends {LitElement}
|
|
405
|
+
*/
|
|
406
|
+
declare class TestStamp extends LitElement {
|
|
407
|
+
/**
|
|
408
|
+
* Indicates whether the component is in debug mode.
|
|
409
|
+
* When set to `true`, the available objects and properties (i.e.: stampContext) is displayed.
|
|
410
|
+
*/
|
|
411
|
+
debug: boolean;
|
|
412
|
+
private computedContext;
|
|
413
|
+
private stampContext;
|
|
414
|
+
myTemplate: TemplateFunction;
|
|
415
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
416
|
+
connectedCallback(): void;
|
|
417
|
+
protected willUpdate(_changedProperties: PropertyValues): void;
|
|
418
|
+
render(): lit_html.TemplateResult<1>;
|
|
419
|
+
}
|
|
420
|
+
declare global {
|
|
421
|
+
interface HTMLElementTagNameMap {
|
|
422
|
+
'test-stamp': TestStamp;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
declare class TestScoringButtons extends LitElement {
|
|
427
|
+
view: string;
|
|
428
|
+
disabled: boolean;
|
|
429
|
+
myTemplate: TemplateFunction | null;
|
|
430
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
431
|
+
connectedCallback(): void;
|
|
432
|
+
protected computedContext?: ComputedContext;
|
|
433
|
+
private _changeOutcomeScore;
|
|
434
|
+
render(): lit_html.TemplateResult<1> | typeof nothing;
|
|
435
|
+
constructor();
|
|
436
|
+
}
|
|
437
|
+
declare global {
|
|
438
|
+
interface HTMLElementTagNameMap {
|
|
439
|
+
'test-scoring-buttons': TestScoringButtons;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
declare class TestViewToggle extends LitElement {
|
|
444
|
+
myTemplate: any;
|
|
445
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
446
|
+
private sessionContext;
|
|
447
|
+
connectedCallback(): void;
|
|
448
|
+
_switchView(view: string): void;
|
|
449
|
+
protected firstUpdated(_changedProperties: PropertyValues): void;
|
|
450
|
+
render(): lit_html.TemplateResult<1>;
|
|
451
|
+
}
|
|
452
|
+
declare global {
|
|
453
|
+
interface HTMLElementTagNameMap {
|
|
454
|
+
'test-view-toggle': TestViewToggle;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
declare class TestScoringFeedback extends LitElement {
|
|
459
|
+
protected computedContext?: ComputedContext;
|
|
460
|
+
view: ViewMode;
|
|
461
|
+
render(): lit_html.TemplateResult<1>;
|
|
462
|
+
}
|
|
463
|
+
declare global {
|
|
464
|
+
interface HTMLElementTagNameMap {
|
|
465
|
+
'test-scoring-feedback': TestScoringFeedback;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
declare class TestCheckItem extends LitElement {
|
|
470
|
+
static styles: lit.CSSResult;
|
|
471
|
+
constructor();
|
|
472
|
+
render(): lit_html.TemplateResult<1>;
|
|
473
|
+
}
|
|
474
|
+
declare global {
|
|
475
|
+
interface HTMLElementTagNameMap {
|
|
476
|
+
'test-check-item': TestCheckItem;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
export { QtiAssessmentTest, QtiTest, TestCheckItem, TestContainer, TestContext, TestEndAttempt, TestItemLink, TestNavigation, TestNext, TestPagingButtonsStamp, TestPrev, TestPrintContext, TestPrintVariables, TestScoringButtons, TestScoringFeedback, TestSectionButtonsStamp, TestSectionLink, TestShowCorrectResponse, TestStamp, TestView, TestViewToggle };
|