@citolab/qti-components 7.1.5 → 7.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ import{b as h,c as u}from"./chunk-PJ2ZZ5Y3.js";import{a as d}from"./chunk-IKDNYCM7.js";import{b as a}from"./chunk-5MY26RWE.js";import{a as m,b as s}from"./chunk-PT6SVREH.js";import{a as p,d as c,i as l}from"./chunk-SCPSWPAG.js";import{a as e}from"./chunk-IAP2CEE7.js";var t=class extends l{constructor(){super(...arguments);this.shown=!1;this.disabled=!1;this.showCorrectText="Show correct response";this.hideCorrectText="Hide correct response";this.noCorrectResponseText="No correct response specified"}willUpdate(b){let i=this.computedContext?.testParts.flatMap(r=>r.sections.flatMap(n=>n.items)).find(r=>r.active);if(this._previousActiveItem!==i&&(this.shown=!1,this._previousActiveItem=i),i){let r=!!i?.variables?.some(o=>o.correctResponse),n=!!i?.variables?.some(o=>o.mapping?.mapEntries?.length>0||o.areaMapping?.areaMapEntries?.length>0);this.disabled=!r&&!n}else this.disabled=!0}_toggleState(){this.disabled||(this.shown=!this.shown,this.dispatchEvent(new CustomEvent("test-show-correct-response",{detail:this.shown,bubbles:!0})))}_getDisplayedText(){return this.disabled?this.noCorrectResponseText:this.shown?this.hideCorrectText:this.showCorrectText}render(){return c` <div @click="${this._toggleState}">${this._getDisplayedText()}</div> `}};t.styles=p`
2
+ :host {
3
+ ${h};
4
+ }
5
+ :host([disabled]) {
6
+ ${u};
7
+ }
8
+ `,e([a({context:d,subscribe:!0})],t.prototype,"computedContext",2),e([s({type:Boolean,reflect:!0})],t.prototype,"shown",2),e([s({type:Boolean,reflect:!0})],t.prototype,"disabled",2),e([s({type:String})],t.prototype,"showCorrectText",2),e([s({type:String})],t.prototype,"hideCorrectText",2),e([s({type:String})],t.prototype,"noCorrectResponseText",2),t=e([m("test-show-correct-response")],t);export{t as a};
package/cdn/index.js CHANGED
@@ -1 +1 @@
1
- import{a as Mo,b as No,c as Oo,d as Po,e as Qo,f as Ro}from"./chunks/chunk-7ZNR6KCO.js";import{a as tr}from"./chunks/chunk-FU744CIH.js";import{a as fr}from"./chunks/chunk-WRAB6IVU.js";import{a as pr}from"./chunks/chunk-BIM3W7YS.js";import{a as mr}from"./chunks/chunk-WVKGTJ6Z.js";import"./chunks/chunk-OYSFFUSF.js";import"./chunks/chunk-WXFIEBQR.js";import{a as $o}from"./chunks/chunk-MRSYMSBR.js";import{a as or}from"./chunks/chunk-KSHMPO7W.js";import{a as rr}from"./chunks/chunk-NSV3UPD3.js";import{a as Yo}from"./chunks/chunk-VFRAPL7M.js";import{a as Vo}from"./chunks/chunk-EHNVSOBF.js";import{a as _o}from"./chunks/chunk-VCATS6AD.js";import{a as Xo}from"./chunks/chunk-TVLVSHCJ.js";import{a as Wo}from"./chunks/chunk-OLFQTQS5.js";import{a as So}from"./chunks/chunk-TPD64QVP.js";import{a as To}from"./chunks/chunk-QJD7NS36.js";import{a as Zo}from"./chunks/chunk-AEUVXXDR.js";import"./chunks/chunk-I7QUAG4I.js";import{a as Uo}from"./chunks/chunk-H6YAD4B2.js";import"./chunks/chunk-7EZDW75F.js";import{a as er}from"./chunks/chunk-S2FJV4MP.js";import"./chunks/chunk-7RINQSWP.js";import"./chunks/chunk-PJ2ZZ5Y3.js";import"./chunks/chunk-CZDMOYYF.js";import{a as Ko,b as Lo}from"./chunks/chunk-QQR6POPY.js";import{$ as eo,A as D,Aa as Eo,B as E,Ba as Fo,C as F,Ca as Go,D as G,Da as Ho,E as H,Ea as Io,F as I,Fa as Jo,G as J,H as K,I as L,J as M,K as N,L as O,M as P,N as Q,O as R,P as S,Q as T,R as U,S as V,T as W,U as X,V as Y,W as Z,X as _,Y as $,Z as oo,_ as ro,a as o,aa as fo,b as m,ba as mo,c as p,ca as po,d as t,da as to,e as x,ea as xo,f as a,fa as ao,g as b,ga as bo,h as c,ha as co,i as d,ia as go,j as g,ja as ho,k as h,ka as io,l as i,la as jo,m as j,ma as ko,n as k,na as lo,o as l,oa as no,p as n,pa as qo,q,qa as so,r as s,ra as uo,s as u,sa as vo,t as v,ta as wo,u as w,ua as yo,v as y,va as zo,w as z,wa as Ao,x as A,xa as Bo,y as B,ya as Co,z as C,za as Do}from"./chunks/chunk-24FGNKCD.js";import"./chunks/chunk-EHK76KRT.js";import"./chunks/chunk-APAMHETB.js";import"./chunks/chunk-XUJ7TXHW.js";import"./chunks/chunk-JNSK3BI7.js";import"./chunks/chunk-DF2NIZO5.js";import"./chunks/chunk-QQCGUVEV.js";import{a as xr,b as ar}from"./chunks/chunk-V6VPFEQB.js";import{a as r,b as e,c as f}from"./chunks/chunk-J4CI5WG7.js";import"./chunks/chunk-TCHROQU3.js";import"./chunks/chunk-IKDNYCM7.js";import"./chunks/chunk-5MY26RWE.js";import"./chunks/chunk-5NHCLY54.js";import"./chunks/chunk-PT6SVREH.js";import"./chunks/chunk-SCPSWPAG.js";import"./chunks/chunk-KWPDTFYH.js";import"./chunks/chunk-IAP2CEE7.js";export{Ko as INITIAL_TEST_CONTEXT,fr as ItemContainer,pr as ItemShowCorrectResponse,mr as PrintItemVariables,oo as QtiAnd,o as QtiAssessmentItem,No as QtiAssessmentItemRef,Oo as QtiAssessmentSection,m as QtiAssessmentStimulusRef,Po as QtiAssessmentTest,c as QtiAssociableHotspot,d as QtiAssociateInteraction,eo as QtiBaseValue,g as QtiChoiceInteraction,p as QtiCompanionMaterialsInfo,fo as QtiContains,Fo as QtiContentBody,mo as QtiCorrect,h as QtiCustomInteraction,t as QtiCustomOperator,Eo as QtiDelete,i as QtiEndAttemptInteraction,to as QtiEqual,po as QtiEqualRounded,j as QtiExtendedTextInteraction,x as QtiFeedbackBlock,a as QtiFeedbackInline,q as QtiGap,k as QtiGapImg,l as QtiGapMatchInteraction,n as QtiGapText,s as QtiGraphicAssociateInteraction,u as QtiGraphicGapMatchInteraction,v as QtiGraphicOrderInteraction,xo as QtiGt,ao as QtiGte,w as QtiHotspotChoice,y as QtiHotspotInteraction,A as QtiHottext,z as QtiHottextInteraction,C as QtiInlineChoice,B as QtiInlineChoiceInteraction,bo as QtiIsNull,tr as QtiItem,P as QtiItemBody,V as QtiLookupOutcomeValue,co as QtiLt,go as QtiLte,ho as QtiMapResponse,io as QtiMapResponsePoint,jo as QtiMatch,E as QtiMatchInteraction,F as QtiMediaInteraction,ko as QtiMember,b as QtiModalFeedback,lo as QtiMultiple,no as QtiNot,qo as QtiOr,G as QtiOrderInteraction,so as QtiOrdered,Io as QtiOutcomeDeclaration,Q as QtiOutcomeProcessing,R as QtiOutcomeProcessingProcessor,H as QtiPortableCustomInteraction,I as QtiPositionObjectInteraction,J as QtiPositionObjectStage,uo as QtiPrintedVariable,vo as QtiProduct,S as QtiPrompt,Do as QtiRandom,W as QtiResponseCondition,Jo as QtiResponseDeclaration,Z as QtiResponseElse,$ as QtiResponseElseIf,_ as QtiResponseIf,T as QtiResponseProcessing,Go as QtiRubricBlock,U as QtiRule,K as QtiSelectPointInteraction,X as QtiSetOutcomeValue,Y as QtiSetOutcomeValueRule,D as QtiSimpleAssociableChoice,L as QtiSimpleChoice,M as QtiSliderInteraction,zo as QtiStringMatch,Ho as QtiStylesheet,wo as QtiSubtract,Ao as QtiSum,Bo as QtiSumExpression,Mo as QtiTest,Ro as QtiTestFeedback,Qo as QtiTestPart,N as QtiTextEntryInteraction,O as QtiUploadInteraction,Co as QtiVariable,_o as TestContainer,Xo as TestEndAttempt,Wo as TestItemLink,So as TestNavigation,To as TestNext,Zo as TestPagingButtonsStamp,Uo as TestPrev,er as TestPrintContext,$o as TestPrintVariables,or as TestSectionButtonsStamp,rr as TestSectionLink,Yo as TestShowCorrectResponse,Vo as TestView,ar as getItemByUri,xr as getManifestInfo,ro as qtiAndMixin,yo as qtiSubtractMixin,r as qtiTransformItem,e as qtiTransformManifest,f as qtiTransformTest,Lo as testContext};
1
+ import{a as Mo,b as No,c as Oo,d as Po,e as Qo,f as Ro}from"./chunks/chunk-7ZNR6KCO.js";import{a as tr}from"./chunks/chunk-FU744CIH.js";import{a as fr}from"./chunks/chunk-WRAB6IVU.js";import{a as pr}from"./chunks/chunk-BIM3W7YS.js";import{a as mr}from"./chunks/chunk-WVKGTJ6Z.js";import"./chunks/chunk-OYSFFUSF.js";import"./chunks/chunk-WXFIEBQR.js";import{a as $o}from"./chunks/chunk-MRSYMSBR.js";import{a as or}from"./chunks/chunk-KSHMPO7W.js";import{a as rr}from"./chunks/chunk-NSV3UPD3.js";import{a as Yo}from"./chunks/chunk-D3C4N6YO.js";import{a as Vo}from"./chunks/chunk-EHNVSOBF.js";import{a as _o}from"./chunks/chunk-VCATS6AD.js";import{a as Xo}from"./chunks/chunk-TVLVSHCJ.js";import{a as Wo}from"./chunks/chunk-OLFQTQS5.js";import{a as So}from"./chunks/chunk-TPD64QVP.js";import{a as To}from"./chunks/chunk-QJD7NS36.js";import{a as Zo}from"./chunks/chunk-AEUVXXDR.js";import"./chunks/chunk-I7QUAG4I.js";import{a as Uo}from"./chunks/chunk-H6YAD4B2.js";import"./chunks/chunk-7EZDW75F.js";import{a as er}from"./chunks/chunk-S2FJV4MP.js";import"./chunks/chunk-7RINQSWP.js";import"./chunks/chunk-PJ2ZZ5Y3.js";import"./chunks/chunk-CZDMOYYF.js";import{a as Ko,b as Lo}from"./chunks/chunk-QQR6POPY.js";import{$ as eo,A as D,Aa as Eo,B as E,Ba as Fo,C as F,Ca as Go,D as G,Da as Ho,E as H,Ea as Io,F as I,Fa as Jo,G as J,H as K,I as L,J as M,K as N,L as O,M as P,N as Q,O as R,P as S,Q as T,R as U,S as V,T as W,U as X,V as Y,W as Z,X as _,Y as $,Z as oo,_ as ro,a as o,aa as fo,b as m,ba as mo,c as p,ca as po,d as t,da as to,e as x,ea as xo,f as a,fa as ao,g as b,ga as bo,h as c,ha as co,i as d,ia as go,j as g,ja as ho,k as h,ka as io,l as i,la as jo,m as j,ma as ko,n as k,na as lo,o as l,oa as no,p as n,pa as qo,q,qa as so,r as s,ra as uo,s as u,sa as vo,t as v,ta as wo,u as w,ua as yo,v as y,va as zo,w as z,wa as Ao,x as A,xa as Bo,y as B,ya as Co,z as C,za as Do}from"./chunks/chunk-24FGNKCD.js";import"./chunks/chunk-EHK76KRT.js";import"./chunks/chunk-APAMHETB.js";import"./chunks/chunk-XUJ7TXHW.js";import"./chunks/chunk-JNSK3BI7.js";import"./chunks/chunk-DF2NIZO5.js";import"./chunks/chunk-QQCGUVEV.js";import{a as xr,b as ar}from"./chunks/chunk-V6VPFEQB.js";import{a as r,b as e,c as f}from"./chunks/chunk-J4CI5WG7.js";import"./chunks/chunk-TCHROQU3.js";import"./chunks/chunk-IKDNYCM7.js";import"./chunks/chunk-5MY26RWE.js";import"./chunks/chunk-5NHCLY54.js";import"./chunks/chunk-PT6SVREH.js";import"./chunks/chunk-SCPSWPAG.js";import"./chunks/chunk-KWPDTFYH.js";import"./chunks/chunk-IAP2CEE7.js";export{Ko as INITIAL_TEST_CONTEXT,fr as ItemContainer,pr as ItemShowCorrectResponse,mr as PrintItemVariables,oo as QtiAnd,o as QtiAssessmentItem,No as QtiAssessmentItemRef,Oo as QtiAssessmentSection,m as QtiAssessmentStimulusRef,Po as QtiAssessmentTest,c as QtiAssociableHotspot,d as QtiAssociateInteraction,eo as QtiBaseValue,g as QtiChoiceInteraction,p as QtiCompanionMaterialsInfo,fo as QtiContains,Fo as QtiContentBody,mo as QtiCorrect,h as QtiCustomInteraction,t as QtiCustomOperator,Eo as QtiDelete,i as QtiEndAttemptInteraction,to as QtiEqual,po as QtiEqualRounded,j as QtiExtendedTextInteraction,x as QtiFeedbackBlock,a as QtiFeedbackInline,q as QtiGap,k as QtiGapImg,l as QtiGapMatchInteraction,n as QtiGapText,s as QtiGraphicAssociateInteraction,u as QtiGraphicGapMatchInteraction,v as QtiGraphicOrderInteraction,xo as QtiGt,ao as QtiGte,w as QtiHotspotChoice,y as QtiHotspotInteraction,A as QtiHottext,z as QtiHottextInteraction,C as QtiInlineChoice,B as QtiInlineChoiceInteraction,bo as QtiIsNull,tr as QtiItem,P as QtiItemBody,V as QtiLookupOutcomeValue,co as QtiLt,go as QtiLte,ho as QtiMapResponse,io as QtiMapResponsePoint,jo as QtiMatch,E as QtiMatchInteraction,F as QtiMediaInteraction,ko as QtiMember,b as QtiModalFeedback,lo as QtiMultiple,no as QtiNot,qo as QtiOr,G as QtiOrderInteraction,so as QtiOrdered,Io as QtiOutcomeDeclaration,Q as QtiOutcomeProcessing,R as QtiOutcomeProcessingProcessor,H as QtiPortableCustomInteraction,I as QtiPositionObjectInteraction,J as QtiPositionObjectStage,uo as QtiPrintedVariable,vo as QtiProduct,S as QtiPrompt,Do as QtiRandom,W as QtiResponseCondition,Jo as QtiResponseDeclaration,Z as QtiResponseElse,$ as QtiResponseElseIf,_ as QtiResponseIf,T as QtiResponseProcessing,Go as QtiRubricBlock,U as QtiRule,K as QtiSelectPointInteraction,X as QtiSetOutcomeValue,Y as QtiSetOutcomeValueRule,D as QtiSimpleAssociableChoice,L as QtiSimpleChoice,M as QtiSliderInteraction,zo as QtiStringMatch,Ho as QtiStylesheet,wo as QtiSubtract,Ao as QtiSum,Bo as QtiSumExpression,Mo as QtiTest,Ro as QtiTestFeedback,Qo as QtiTestPart,N as QtiTextEntryInteraction,O as QtiUploadInteraction,Co as QtiVariable,_o as TestContainer,Xo as TestEndAttempt,Wo as TestItemLink,So as TestNavigation,To as TestNext,Zo as TestPagingButtonsStamp,Uo as TestPrev,er as TestPrintContext,$o as TestPrintVariables,or as TestSectionButtonsStamp,rr as TestSectionLink,Yo as TestShowCorrectResponse,Vo as TestView,ar as getItemByUri,xr as getManifestInfo,ro as qtiAndMixin,yo as qtiSubtractMixin,r as qtiTransformItem,e as qtiTransformManifest,f as qtiTransformTest,Lo as testContext};
@@ -1 +1 @@
1
- import"../../chunks/chunk-WXFIEBQR.js";import{a as j}from"../../chunks/chunk-MRSYMSBR.js";import{a as k}from"../../chunks/chunk-KSHMPO7W.js";import{a as l}from"../../chunks/chunk-NSV3UPD3.js";import{a as g}from"../../chunks/chunk-VFRAPL7M.js";import{a as d}from"../../chunks/chunk-EHNVSOBF.js";import{a as i}from"../../chunks/chunk-VCATS6AD.js";import{a as f}from"../../chunks/chunk-TVLVSHCJ.js";import{a as e}from"../../chunks/chunk-OLFQTQS5.js";import{a}from"../../chunks/chunk-TPD64QVP.js";import{a as b}from"../../chunks/chunk-QJD7NS36.js";import{a as h}from"../../chunks/chunk-AEUVXXDR.js";import"../../chunks/chunk-I7QUAG4I.js";import{a as c}from"../../chunks/chunk-H6YAD4B2.js";import"../../chunks/chunk-7EZDW75F.js";import{a as m}from"../../chunks/chunk-S2FJV4MP.js";import"../../chunks/chunk-7RINQSWP.js";import"../../chunks/chunk-PJ2ZZ5Y3.js";import"../../chunks/chunk-CZDMOYYF.js";import"../../chunks/chunk-QQR6POPY.js";import"../../chunks/chunk-EHK76KRT.js";import"../../chunks/chunk-APAMHETB.js";import"../../chunks/chunk-XUJ7TXHW.js";import"../../chunks/chunk-J4CI5WG7.js";import"../../chunks/chunk-IKDNYCM7.js";import"../../chunks/chunk-5MY26RWE.js";import"../../chunks/chunk-PT6SVREH.js";import"../../chunks/chunk-SCPSWPAG.js";import"../../chunks/chunk-IAP2CEE7.js";export{i as TestContainer,f as TestEndAttempt,e as TestItemLink,a as TestNavigation,b as TestNext,h as TestPagingButtonsStamp,c as TestPrev,m as TestPrintContext,j as TestPrintVariables,k as TestSectionButtonsStamp,l as TestSectionLink,g as TestShowCorrectResponse,d as TestView};
1
+ import"../../chunks/chunk-WXFIEBQR.js";import{a as j}from"../../chunks/chunk-MRSYMSBR.js";import{a as k}from"../../chunks/chunk-KSHMPO7W.js";import{a as l}from"../../chunks/chunk-NSV3UPD3.js";import{a as g}from"../../chunks/chunk-D3C4N6YO.js";import{a as d}from"../../chunks/chunk-EHNVSOBF.js";import{a as i}from"../../chunks/chunk-VCATS6AD.js";import{a as f}from"../../chunks/chunk-TVLVSHCJ.js";import{a as e}from"../../chunks/chunk-OLFQTQS5.js";import{a}from"../../chunks/chunk-TPD64QVP.js";import{a as b}from"../../chunks/chunk-QJD7NS36.js";import{a as h}from"../../chunks/chunk-AEUVXXDR.js";import"../../chunks/chunk-I7QUAG4I.js";import{a as c}from"../../chunks/chunk-H6YAD4B2.js";import"../../chunks/chunk-7EZDW75F.js";import{a as m}from"../../chunks/chunk-S2FJV4MP.js";import"../../chunks/chunk-7RINQSWP.js";import"../../chunks/chunk-PJ2ZZ5Y3.js";import"../../chunks/chunk-CZDMOYYF.js";import"../../chunks/chunk-QQR6POPY.js";import"../../chunks/chunk-EHK76KRT.js";import"../../chunks/chunk-APAMHETB.js";import"../../chunks/chunk-XUJ7TXHW.js";import"../../chunks/chunk-J4CI5WG7.js";import"../../chunks/chunk-IKDNYCM7.js";import"../../chunks/chunk-5MY26RWE.js";import"../../chunks/chunk-PT6SVREH.js";import"../../chunks/chunk-SCPSWPAG.js";import"../../chunks/chunk-IAP2CEE7.js";export{i as TestContainer,f as TestEndAttempt,e as TestItemLink,a as TestNavigation,b as TestNext,h as TestPagingButtonsStamp,c as TestPrev,m as TestPrintContext,j as TestPrintVariables,k as TestSectionButtonsStamp,l as TestSectionLink,g as TestShowCorrectResponse,d as TestView};
@@ -1 +1 @@
1
- import{a}from"../../chunks/chunk-VFRAPL7M.js";import"../../chunks/chunk-PJ2ZZ5Y3.js";import"../../chunks/chunk-IKDNYCM7.js";import"../../chunks/chunk-5MY26RWE.js";import"../../chunks/chunk-PT6SVREH.js";import"../../chunks/chunk-SCPSWPAG.js";import"../../chunks/chunk-IAP2CEE7.js";export{a as TestShowCorrectResponse};
1
+ import{a}from"../../chunks/chunk-D3C4N6YO.js";import"../../chunks/chunk-PJ2ZZ5Y3.js";import"../../chunks/chunk-IKDNYCM7.js";import"../../chunks/chunk-5MY26RWE.js";import"../../chunks/chunk-PT6SVREH.js";import"../../chunks/chunk-SCPSWPAG.js";import"../../chunks/chunk-IAP2CEE7.js";export{a as TestShowCorrectResponse};
@@ -0,0 +1,92 @@
1
+ import {
2
+ btn,
3
+ dis
4
+ } from "./chunk-5ZHHNEDA.js";
5
+ import {
6
+ computedContext
7
+ } from "./chunk-6Z5YR5U2.js";
8
+ import {
9
+ __decorateClass
10
+ } from "./chunk-H2JE6IVU.js";
11
+
12
+ // src/lib/qti-test/components/test-show-correct-response.ts
13
+ import { css, html, LitElement } from "lit";
14
+ import { customElement, property } from "lit/decorators.js";
15
+ import { consume } from "@lit/context";
16
+ var TestShowCorrectResponse = class extends LitElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.shown = false;
20
+ this.disabled = false;
21
+ this.showCorrectText = "Show correct response";
22
+ this.hideCorrectText = "Hide correct response";
23
+ this.noCorrectResponseText = "No correct response specified";
24
+ }
25
+ // Store previous active item reference
26
+ willUpdate(_changedProperties) {
27
+ const activeItem = this.computedContext?.testParts.flatMap((testPart) => testPart.sections.flatMap((section) => section.items)).find((item) => item.active);
28
+ if (this._previousActiveItem !== activeItem) {
29
+ this.shown = false;
30
+ this._previousActiveItem = activeItem;
31
+ }
32
+ if (activeItem) {
33
+ const containsCorrectResponse = !!activeItem?.variables?.some((v) => v["correctResponse"]);
34
+ const containsMapping = !!activeItem?.variables?.some((v) => {
35
+ return v["mapping"]?.mapEntries?.length > 0 || v["areaMapping"]?.areaMapEntries?.length > 0;
36
+ });
37
+ this.disabled = !containsCorrectResponse && !containsMapping;
38
+ } else {
39
+ this.disabled = true;
40
+ }
41
+ }
42
+ _toggleState() {
43
+ if (this.disabled) return;
44
+ this.shown = !this.shown;
45
+ this.dispatchEvent(
46
+ new CustomEvent("test-show-correct-response", {
47
+ detail: this.shown,
48
+ bubbles: true
49
+ })
50
+ );
51
+ }
52
+ _getDisplayedText() {
53
+ return this.disabled ? this.noCorrectResponseText : this.shown ? this.hideCorrectText : this.showCorrectText;
54
+ }
55
+ render() {
56
+ return html` <div @click="${this._toggleState}">${this._getDisplayedText()}</div> `;
57
+ }
58
+ };
59
+ TestShowCorrectResponse.styles = css`
60
+ :host {
61
+ ${btn};
62
+ }
63
+ :host([disabled]) {
64
+ ${dis};
65
+ }
66
+ `;
67
+ __decorateClass([
68
+ consume({ context: computedContext, subscribe: true })
69
+ ], TestShowCorrectResponse.prototype, "computedContext", 2);
70
+ __decorateClass([
71
+ property({ type: Boolean, reflect: true })
72
+ ], TestShowCorrectResponse.prototype, "shown", 2);
73
+ __decorateClass([
74
+ property({ type: Boolean, reflect: true })
75
+ ], TestShowCorrectResponse.prototype, "disabled", 2);
76
+ __decorateClass([
77
+ property({ type: String })
78
+ ], TestShowCorrectResponse.prototype, "showCorrectText", 2);
79
+ __decorateClass([
80
+ property({ type: String })
81
+ ], TestShowCorrectResponse.prototype, "hideCorrectText", 2);
82
+ __decorateClass([
83
+ property({ type: String })
84
+ ], TestShowCorrectResponse.prototype, "noCorrectResponseText", 2);
85
+ TestShowCorrectResponse = __decorateClass([
86
+ customElement("test-show-correct-response")
87
+ ], TestShowCorrectResponse);
88
+
89
+ export {
90
+ TestShowCorrectResponse
91
+ };
92
+ //# sourceMappingURL=chunk-A5W753FL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/qti-test/components/test-show-correct-response.ts"],"sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { consume } from '@lit/context';\n\nimport * as styles from './styles';\nimport { computedContext } from '../../exports/computed.context';\n\nimport type { ComputedContext } from '../../exports/computed.context';\n\n@customElement('test-show-correct-response')\nexport class TestShowCorrectResponse extends LitElement {\n @consume({ context: computedContext, subscribe: true })\n public computedContext?: ComputedContext;\n\n static styles = css`\n :host {\n ${styles.btn};\n }\n :host([disabled]) {\n ${styles.dis};\n }\n `;\n\n @property({ type: Boolean, reflect: true }) shown = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: String }) showCorrectText = 'Show correct response';\n @property({ type: String }) hideCorrectText = 'Hide correct response';\n @property({ type: String }) noCorrectResponseText = 'No correct response specified';\n\n private _previousActiveItem?: unknown; // Store previous active item reference\n\n willUpdate(_changedProperties: Map<string | number | symbol, unknown>) {\n const activeItem = this.computedContext?.testParts\n .flatMap(testPart => testPart.sections.flatMap(section => section.items))\n .find(item => item.active);\n\n // If active item changed, reset shown before the update\n if (this._previousActiveItem !== activeItem) {\n this.shown = false;\n this._previousActiveItem = activeItem; // Update previous active item\n }\n\n if (activeItem) {\n const containsCorrectResponse = !!activeItem?.variables?.some(v => v['correctResponse']);\n const containsMapping = !!activeItem?.variables?.some(v => {\n return v['mapping']?.mapEntries?.length > 0 || v['areaMapping']?.areaMapEntries?.length > 0;\n });\n this.disabled = !containsCorrectResponse && !containsMapping;\n } else {\n this.disabled = true;\n }\n }\n private _toggleState() {\n if (this.disabled) return;\n this.shown = !this.shown;\n\n this.dispatchEvent(\n new CustomEvent('test-show-correct-response', {\n detail: this.shown,\n bubbles: true\n })\n );\n }\n\n private _getDisplayedText(): string {\n return this.disabled ? this.noCorrectResponseText : this.shown ? this.hideCorrectText : this.showCorrectText;\n }\n\n render() {\n return html` <div @click=\"${this._toggleState}\">${this._getDisplayedText()}</div> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'test-show-correct-response': TestShowCorrectResponse;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,KAAK,MAAM,kBAAkB;AACtC,SAAS,eAAe,gBAAgB;AACxC,SAAS,eAAe;AAQjB,IAAM,0BAAN,cAAsC,WAAW;AAAA,EAAjD;AAAA;AAauC,iBAAQ;AACR,oBAAW;AAC3B,2BAAkB;AAClB,2BAAkB;AAClB,iCAAwB;AAAA;AAAA;AAAA,EAIpD,WAAW,oBAA4D;AACrE,UAAM,aAAa,KAAK,iBAAiB,UACtC,QAAQ,cAAY,SAAS,SAAS,QAAQ,aAAW,QAAQ,KAAK,CAAC,EACvE,KAAK,UAAQ,KAAK,MAAM;AAG3B,QAAI,KAAK,wBAAwB,YAAY;AAC3C,WAAK,QAAQ;AACb,WAAK,sBAAsB;AAAA,IAC7B;AAEA,QAAI,YAAY;AACd,YAAM,0BAA0B,CAAC,CAAC,YAAY,WAAW,KAAK,OAAK,EAAE,iBAAiB,CAAC;AACvF,YAAM,kBAAkB,CAAC,CAAC,YAAY,WAAW,KAAK,OAAK;AACzD,eAAO,EAAE,SAAS,GAAG,YAAY,SAAS,KAAK,EAAE,aAAa,GAAG,gBAAgB,SAAS;AAAA,MAC5F,CAAC;AACD,WAAK,WAAW,CAAC,2BAA2B,CAAC;AAAA,IAC/C,OAAO;AACL,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACQ,eAAe;AACrB,QAAI,KAAK,SAAU;AACnB,SAAK,QAAQ,CAAC,KAAK;AAEnB,SAAK;AAAA,MACH,IAAI,YAAY,8BAA8B;AAAA,QAC5C,QAAQ,KAAK;AAAA,QACb,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEQ,oBAA4B;AAClC,WAAO,KAAK,WAAW,KAAK,wBAAwB,KAAK,QAAQ,KAAK,kBAAkB,KAAK;AAAA,EAC/F;AAAA,EAEA,SAAS;AACP,WAAO,qBAAqB,KAAK,YAAY,KAAK,KAAK,kBAAkB,CAAC;AAAA,EAC5E;AACF;AA7Da,wBAIJ,SAAS;AAAA;AAAA,QAEH,GAAG;AAAA;AAAA;AAAA,QAGH,GAAG;AAAA;AAAA;AAPT;AAAA,EADN,QAAQ,EAAE,SAAS,iBAAiB,WAAW,KAAK,CAAC;AAAA,GAD3C,wBAEJ;AAWqC;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GAb/B,wBAaiC;AACA;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GAd/B,wBAciC;AAChB;AAAA,EAA3B,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAff,wBAeiB;AACA;AAAA,EAA3B,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAhBf,wBAgBiB;AACA;AAAA,EAA3B,SAAS,EAAE,MAAM,OAAO,CAAC;AAAA,GAjBf,wBAiBiB;AAjBjB,0BAAN;AAAA,EADN,cAAc,4BAA4B;AAAA,GAC9B;","names":[]}
package/dist/index.js CHANGED
@@ -1,11 +1,3 @@
1
- import {
2
- QtiAssessmentItemRef,
3
- QtiAssessmentSection,
4
- QtiAssessmentTest,
5
- QtiTest,
6
- QtiTestFeedback,
7
- QtiTestPart
8
- } from "./chunks/chunk-334SZRIZ.js";
9
1
  import {
10
2
  QtiItem
11
3
  } from "./chunks/chunk-DPPA3O5U.js";
@@ -19,7 +11,18 @@ import {
19
11
  PrintItemVariables
20
12
  } from "./chunks/chunk-MOQDHNO5.js";
21
13
  import "./chunks/chunk-DZAMXOSC.js";
14
+ import {
15
+ QtiAssessmentItemRef,
16
+ QtiAssessmentSection,
17
+ QtiAssessmentTest,
18
+ QtiTest,
19
+ QtiTestFeedback,
20
+ QtiTestPart
21
+ } from "./chunks/chunk-334SZRIZ.js";
22
22
  import "./chunks/chunk-UEX52I7G.js";
23
+ import {
24
+ TestPrintContext
25
+ } from "./chunks/chunk-WPUMEBSF.js";
23
26
  import {
24
27
  TestPrintVariables
25
28
  } from "./chunks/chunk-MQS7RZFR.js";
@@ -31,7 +34,7 @@ import {
31
34
  } from "./chunks/chunk-BLBSZDQ4.js";
32
35
  import {
33
36
  TestShowCorrectResponse
34
- } from "./chunks/chunk-ULOWFD7T.js";
37
+ } from "./chunks/chunk-A5W753FL.js";
35
38
  import {
36
39
  TestView
37
40
  } from "./chunks/chunk-HXGGGOV2.js";
@@ -57,11 +60,8 @@ import {
57
60
  TestPrev
58
61
  } from "./chunks/chunk-3AKMYTDK.js";
59
62
  import "./chunks/chunk-K6EUKFNW.js";
60
- import {
61
- TestPrintContext
62
- } from "./chunks/chunk-WPUMEBSF.js";
63
- import "./chunks/chunk-NQPY5GBW.js";
64
63
  import "./chunks/chunk-5ZHHNEDA.js";
64
+ import "./chunks/chunk-NQPY5GBW.js";
65
65
  import "./chunks/chunk-UZ4QB5IO.js";
66
66
  import {
67
67
  INITIAL_TEST_CONTEXT,
@@ -759,6 +759,8 @@ export type ItemContainerProps = {
759
759
  itemXML?: string;
760
760
  };
761
761
 
762
+ export type PrintItemVariablesProps = {};
763
+
762
764
  export type ItemShowCorrectResponseProps = {
763
765
  /** */
764
766
  shown?: boolean;
@@ -776,8 +778,6 @@ export type ItemShowCorrectResponseProps = {
776
778
  "onitem-show-correct-response"?: (e: CustomEvent<CustomEvent>) => void;
777
779
  };
778
780
 
779
- export type PrintItemVariablesProps = {};
780
-
781
781
  export type QtiItemProps = {
782
782
  /** */
783
783
  computedContext?: ComputedItemContext;
@@ -1733,18 +1733,18 @@ export type CustomElements = {
1733
1733
  *
1734
1734
  * ---
1735
1735
  *
1736
- *
1737
- * ### **Events:**
1738
- * - **item-show-correct-response**
1739
1736
  */
1740
- "item-show-correct-response": Partial<ItemShowCorrectResponseProps & BaseProps & BaseEvents>;
1737
+ "print-item-variables": Partial<PrintItemVariablesProps & BaseProps & BaseEvents>;
1741
1738
 
1742
1739
  /**
1743
1740
  *
1744
1741
  * ---
1745
1742
  *
1743
+ *
1744
+ * ### **Events:**
1745
+ * - **item-show-correct-response**
1746
1746
  */
1747
- "print-item-variables": Partial<PrintItemVariablesProps & BaseProps & BaseEvents>;
1747
+ "item-show-correct-response": Partial<ItemShowCorrectResponseProps & BaseProps & BaseEvents>;
1748
1748
 
1749
1749
  /**
1750
1750
  * `<qti-item>` is a custom element designed for rendering a single `qti-assessment-item`.
@@ -1,4 +1,7 @@
1
1
  import "../../chunks/chunk-UEX52I7G.js";
2
+ import {
3
+ TestPrintContext
4
+ } from "../../chunks/chunk-WPUMEBSF.js";
2
5
  import {
3
6
  TestPrintVariables
4
7
  } from "../../chunks/chunk-MQS7RZFR.js";
@@ -10,7 +13,7 @@ import {
10
13
  } from "../../chunks/chunk-BLBSZDQ4.js";
11
14
  import {
12
15
  TestShowCorrectResponse
13
- } from "../../chunks/chunk-ULOWFD7T.js";
16
+ } from "../../chunks/chunk-A5W753FL.js";
14
17
  import {
15
18
  TestView
16
19
  } from "../../chunks/chunk-HXGGGOV2.js";
@@ -36,11 +39,8 @@ import {
36
39
  TestPrev
37
40
  } from "../../chunks/chunk-3AKMYTDK.js";
38
41
  import "../../chunks/chunk-K6EUKFNW.js";
39
- import {
40
- TestPrintContext
41
- } from "../../chunks/chunk-WPUMEBSF.js";
42
- import "../../chunks/chunk-NQPY5GBW.js";
43
42
  import "../../chunks/chunk-5ZHHNEDA.js";
43
+ import "../../chunks/chunk-NQPY5GBW.js";
44
44
  import "../../chunks/chunk-UZ4QB5IO.js";
45
45
  import "../../chunks/chunk-CJADUWEC.js";
46
46
  import "../../chunks/chunk-D3RGDWKP.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TestShowCorrectResponse
3
- } from "../../chunks/chunk-ULOWFD7T.js";
3
+ } from "../../chunks/chunk-A5W753FL.js";
4
4
  import "../../chunks/chunk-5ZHHNEDA.js";
5
5
  import "../../chunks/chunk-6Z5YR5U2.js";
6
6
  import "../../chunks/chunk-H2JE6IVU.js";
@@ -727,6 +727,12 @@
727
727
  ],
728
728
  "references": []
729
729
  },
730
+ {
731
+ "name": "print-item-variables",
732
+ "description": "\n---\n",
733
+ "attributes": [],
734
+ "references": []
735
+ },
730
736
  {
731
737
  "name": "item-show-correct-response",
732
738
  "description": "\n---\n\n\n### **Events:**\n - **item-show-correct-response**",
@@ -739,12 +745,6 @@
739
745
  ],
740
746
  "references": []
741
747
  },
742
- {
743
- "name": "print-item-variables",
744
- "description": "\n---\n",
745
- "attributes": [],
746
- "references": []
747
- },
748
748
  {
749
749
  "name": "qti-item",
750
750
  "description": "`<qti-item>` is a custom element designed for rendering a single `qti-assessment-item`.\nIt can also host some functionalities to interact with the item like scoring, showing feedback, etc.\nPlacing a mandatory `<item-container>` inside '<qti-item>' will load or parse the item and render it.\nSee `<item-container>` for more details.\n\n```html\n<qti-item>\n <item-container class=\"m-4 bg-white\" item-url=\"./path/to/item.xml\"></item-container>\n</qti-item>\n```\n---\n",
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "engines": {
22
22
  "node": ">=20.0.0"
23
23
  },
24
- "version": "7.1.5",
24
+ "version": "7.1.6",
25
25
  "type": "module",
26
26
  "main": "dist/index.js",
27
27
  "exports": {