@citolab/qti-components 7.0.6-beta.2 → 7.0.6-beta.4

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.
Files changed (123) hide show
  1. package/cdn/chunks/{chunk-MJMONWKB.js → chunk-4ILXLVT5.js} +8 -2
  2. package/cdn/chunks/chunk-4PEUIMDK.js +8 -0
  3. package/cdn/chunks/chunk-H2V2RXUW.js +11 -0
  4. package/cdn/chunks/chunk-IQZ7AOCQ.js +8 -0
  5. package/cdn/chunks/chunk-J3JSSCM6.js +5 -0
  6. package/cdn/chunks/chunk-LARBLB7K.js +8 -0
  7. package/cdn/chunks/chunk-PPWEIKLT.js +1 -0
  8. package/cdn/chunks/{chunk-4WXQYE2P.js → chunk-PT523RSK.js} +2 -2
  9. package/cdn/chunks/chunk-QTK4CPHP.js +8 -0
  10. package/cdn/chunks/{chunk-7XYBFL7U.js → chunk-SXM25YH3.js} +89 -89
  11. package/cdn/chunks/chunk-UJP4TGD3.js +1 -0
  12. package/cdn/chunks/{chunk-6S4CDN3T.js → chunk-YHWMZAZD.js} +2 -2
  13. package/cdn/chunks/{chunk-TQBDBMWL.js → chunk-YWH4TGMA.js} +1 -1
  14. package/cdn/exports/interaction.js +1 -1
  15. package/cdn/index.global.js +1 -1
  16. package/cdn/index.js +1 -1
  17. package/cdn/qti-components/index.js +1 -1
  18. package/cdn/qti-item/core/index.js +1 -1
  19. package/cdn/qti-test/components/index.js +1 -1
  20. package/cdn/qti-test/components/test-component.abstract.js +1 -1
  21. package/cdn/qti-test/components/test-end-attempt.js +1 -0
  22. package/cdn/qti-test/components/test-item-link.js +1 -1
  23. package/cdn/qti-test/components/test-next.js +1 -1
  24. package/cdn/qti-test/components/test-paging-buttons-stamp.js +1 -1
  25. package/cdn/qti-test/components/test-prev.js +1 -1
  26. package/cdn/qti-test/components/test-show-correct-response.js +1 -0
  27. package/cdn/qti-test/components/test-view.js +1 -1
  28. package/cdn/qti-test/core/index.js +1 -1
  29. package/dist/chunks/{chunk-GSWZT6N2.js → chunk-4MQV5IRV.js} +12 -3
  30. package/dist/chunks/chunk-4MQV5IRV.js.map +1 -0
  31. package/dist/chunks/{chunk-6JXR63MH.js → chunk-5RTLOB3Q.js} +12 -3
  32. package/dist/chunks/chunk-5RTLOB3Q.js.map +1 -0
  33. package/dist/chunks/{chunk-UFYWCLXF.js → chunk-AUWATZ65.js} +1 -1
  34. package/dist/chunks/{chunk-UFYWCLXF.js.map → chunk-AUWATZ65.js.map} +1 -1
  35. package/dist/chunks/{chunk-7QMCKYDR.js → chunk-CEXAR7BF.js} +13 -4
  36. package/dist/chunks/chunk-CEXAR7BF.js.map +1 -0
  37. package/dist/chunks/chunk-DNHDFXTV.js +59 -0
  38. package/dist/chunks/chunk-DNHDFXTV.js.map +1 -0
  39. package/dist/chunks/chunk-GQ5P3NWC.js +46 -0
  40. package/dist/chunks/chunk-GQ5P3NWC.js.map +1 -0
  41. package/dist/chunks/chunk-HOTNM5DT.js +1 -0
  42. package/dist/chunks/{chunk-K6ATVWMP.js → chunk-MEQM6M67.js} +96 -124
  43. package/dist/chunks/chunk-MEQM6M67.js.map +1 -0
  44. package/dist/chunks/{chunk-3EU75IUF.js → chunk-MLT7V47R.js} +3 -21
  45. package/dist/chunks/chunk-MLT7V47R.js.map +1 -0
  46. package/dist/chunks/chunk-NHA53UTY.js +52 -0
  47. package/dist/chunks/chunk-NHA53UTY.js.map +1 -0
  48. package/dist/chunks/{chunk-J2SHENRN.js → chunk-NZQKGIJP.js} +9 -3
  49. package/dist/chunks/{chunk-J2SHENRN.js.map → chunk-NZQKGIJP.js.map} +1 -1
  50. package/dist/chunks/{chunk-ZPNJ2HP5.js → chunk-OIRWOI3E.js} +2 -1
  51. package/dist/chunks/chunk-OIRWOI3E.js.map +1 -0
  52. package/dist/chunks/chunk-RX3BRYYI.js +59 -0
  53. package/dist/chunks/chunk-RX3BRYYI.js.map +1 -0
  54. package/dist/chunks/chunk-VAPB5TN4.js +46 -0
  55. package/dist/chunks/chunk-VAPB5TN4.js.map +1 -0
  56. package/dist/chunks/chunk-W4272Q5U.js +46 -0
  57. package/dist/chunks/chunk-W4272Q5U.js.map +1 -0
  58. package/dist/chunks/{chunk-A24F75DB.js → chunk-WWN5AD6V.js} +11 -2
  59. package/dist/chunks/chunk-WWN5AD6V.js.map +1 -0
  60. package/dist/chunks/{chunk-HHVRU3AJ.js → chunk-XCHS3RTZ.js} +2 -2
  61. package/dist/chunks/{chunk-KYAIMBP5.js → chunk-YQB6YLNW.js} +3 -3
  62. package/dist/chunks/chunk-YQB6YLNW.js.map +1 -0
  63. package/dist/chunks/chunk-Z5THRO6Z.js +46 -0
  64. package/dist/chunks/chunk-Z5THRO6Z.js.map +1 -0
  65. package/dist/chunks/{chunk-4GNVYCBN.js → chunk-ZQXZ6PK7.js} +92 -70
  66. package/dist/chunks/chunk-ZQXZ6PK7.js.map +1 -0
  67. package/dist/exports/interaction.js +1 -1
  68. package/dist/index.d.ts +4 -2
  69. package/dist/index.js +21 -13
  70. package/dist/item.css +8 -2
  71. package/dist/qti-components/index.d.ts +2 -2
  72. package/dist/qti-components/index.js +2 -2
  73. package/dist/qti-components-jsx.d.ts +62 -46
  74. package/dist/qti-item/core/index.js +2 -2
  75. package/dist/qti-loader/index.d.ts +1 -1
  76. package/dist/{qti-response-declaration-DAeBp8HH.d.ts → qti-response-declaration-Di9CsqiJ.d.ts} +4 -0
  77. package/dist/qti-test/components/index.d.ts +4 -2
  78. package/dist/qti-test/components/index.js +16 -8
  79. package/dist/qti-test/components/test-component.abstract.d.ts +2 -4
  80. package/dist/qti-test/components/test-component.abstract.js +2 -2
  81. package/dist/qti-test/components/test-end-attempt.d.ts +26 -0
  82. package/dist/qti-test/components/test-end-attempt.js +13 -0
  83. package/dist/qti-test/components/test-end-attempt.js.map +1 -0
  84. package/dist/qti-test/components/test-item-link.d.ts +3 -2
  85. package/dist/qti-test/components/test-item-link.js +3 -3
  86. package/dist/qti-test/components/test-next.d.ts +3 -2
  87. package/dist/qti-test/components/test-next.js +3 -3
  88. package/dist/qti-test/components/test-paging-buttons-stamp.d.ts +2 -2
  89. package/dist/qti-test/components/test-paging-buttons-stamp.js +3 -3
  90. package/dist/qti-test/components/test-prev.d.ts +3 -2
  91. package/dist/qti-test/components/test-prev.js +3 -3
  92. package/dist/qti-test/components/test-show-correct-response.d.ts +26 -0
  93. package/dist/qti-test/components/test-show-correct-response.js +13 -0
  94. package/dist/qti-test/components/test-show-correct-response.js.map +1 -0
  95. package/dist/qti-test/components/test-view.d.ts +3 -2
  96. package/dist/qti-test/components/test-view.js +3 -3
  97. package/dist/qti-test/core/index.d.ts +6 -6
  98. package/dist/qti-test/core/index.js +3 -3
  99. package/dist/{test.context-CaENAJNk.d.ts → test.context-CmsDQ8k2.d.ts} +3 -5
  100. package/dist/vscode.html-custom-data.json +36 -17
  101. package/package.json +1 -1
  102. package/cdn/chunks/chunk-3V6LA7B3.js +0 -8
  103. package/cdn/chunks/chunk-5P7CTN7Q.js +0 -11
  104. package/cdn/chunks/chunk-DZCKF45D.js +0 -5
  105. package/cdn/chunks/chunk-IMJOPCFR.js +0 -1
  106. package/cdn/chunks/chunk-N5OHGRGG.js +0 -8
  107. package/cdn/chunks/chunk-NDHSIO2G.js +0 -8
  108. package/cdn/chunks/chunk-PKT2SJQD.js +0 -8
  109. package/cdn/chunks/chunk-QV6I5NVQ.js +0 -8
  110. package/cdn/chunks/chunk-R33OODNX.js +0 -1
  111. package/dist/chunks/chunk-3EU75IUF.js.map +0 -1
  112. package/dist/chunks/chunk-4GNVYCBN.js.map +0 -1
  113. package/dist/chunks/chunk-6JXR63MH.js.map +0 -1
  114. package/dist/chunks/chunk-7QMCKYDR.js.map +0 -1
  115. package/dist/chunks/chunk-A24F75DB.js.map +0 -1
  116. package/dist/chunks/chunk-GSWZT6N2.js.map +0 -1
  117. package/dist/chunks/chunk-K6ATVWMP.js.map +0 -1
  118. package/dist/chunks/chunk-KYAIMBP5.js.map +0 -1
  119. package/dist/chunks/chunk-UN2IFSGC.js +0 -1
  120. package/dist/chunks/chunk-ZPNJ2HP5.js.map +0 -1
  121. /package/cdn/chunks/{chunk-3GO57DNP.js → chunk-6PW2L463.js} +0 -0
  122. /package/dist/chunks/{chunk-UN2IFSGC.js.map → chunk-HOTNM5DT.js.map} +0 -0
  123. /package/dist/chunks/{chunk-HHVRU3AJ.js.map → chunk-XCHS3RTZ.js.map} +0 -0
@@ -2620,6 +2620,14 @@ qti-response-declaration {
2620
2620
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2621
2621
  }
2622
2622
 
2623
+ &:state(correct-response),
2624
+ &[data-correct-response='true'] {
2625
+ &::after {
2626
+ content: '\\02714';
2627
+ color: #16a34a; /* text-green-600 */
2628
+ }
2629
+ }
2630
+
2623
2631
  gap: 0.5rem;
2624
2632
 
2625
2633
  border-radius: var(--qti-border-radius);
@@ -2631,8 +2639,6 @@ qti-response-declaration {
2631
2639
  cursor: pointer
2632
2640
  }
2633
2641
 
2634
- /* } */
2635
-
2636
2642
  &.qti-input-control-hidden {
2637
2643
  qti-hottext {
2638
2644
  /* --qti-padding-md: 0.1rem;
@@ -0,0 +1,8 @@
1
+ import{a as l}from"./chunk-PPWEIKLT.js";import{b as m,c as o}from"./chunk-L4CUWIE6.js";import{a as r}from"./chunk-5GCSZ3CH.js";import{a as i,d as n}from"./chunk-LZZB4VGC.js";import{a as s}from"./chunk-IAP2CEE7.js";var e=class extends l{constructor(){super(),this._internals.role="button",this._internals.ariaLabel="Next item",this.addEventListener("click",t=>{t.preventDefault(),this.disabled||this._requestItem(this.items[this.itemIndex+1].identifier)})}willUpdate(t){super.willUpdate(t),t.has("_testContext")&&(this.disabled=!this._testElement||this.itemIndex<0||this.itemIndex>=this.items.length-1)}_requestItem(t){this.dispatchEvent(new CustomEvent("qti-request-test-item",{composed:!0,bubbles:!0,detail:t}))}render(){return n`<slot></slot>`}};e.styles=i`
2
+ :host {
3
+ ${m};
4
+ }
5
+ :host([disabled]) {
6
+ ${o};
7
+ }
8
+ `,e=s([r("test-next")],e);export{e as a};
@@ -0,0 +1,11 @@
1
+ import{a as l}from"./chunk-PPWEIKLT.js";import{a as p}from"./chunk-XUJ7TXHW.js";import{a,b as s,c as r}from"./chunk-5GCSZ3CH.js";import{d as n}from"./chunk-LZZB4VGC.js";import{a as i}from"./chunk-IAP2CEE7.js";var t=class extends l{constructor(){super(...arguments);this.label="view";this._handleViewOptionsChange=()=>{this.updateViewOptions()};this._viewOptions=t.DEFAULT_VIEW_OPTIONS}connectedCallback(){super.connectedCallback(),this.updateViewOptions()}updateViewOptions(){if(this.viewOptions){let e=this.viewOptions.split(",").map(o=>o.trim());this._viewOptions=e.filter(o=>t.DEFAULT_VIEW_OPTIONS.includes(o))}else this._viewOptions=t.DEFAULT_VIEW_OPTIONS}_switchView(e){this.dispatchEvent(new CustomEvent("on-test-switch-view",{composed:!0,bubbles:!0,detail:e}))}render(){return n`
2
+ <label part="label" for="viewSelect">${this.label}</label>
3
+ <select
4
+ part="select"
5
+ id="viewSelect"
6
+ .disabled=${this.disabled}
7
+ @change=${e=>{let o=e.target;this._switchView(o.value)}}
8
+ >
9
+ ${this._viewOptions.map(e=>n`<option value="${e}" ?selected=${e===this.view}>${e}</option>`)}
10
+ </select>
11
+ `}};t.DEFAULT_VIEW_OPTIONS=["author","candidate","proctor","scorer","testConstructor","tutor"],i([s({type:String})],t.prototype,"label",2),i([s({type:String,attribute:"view-options"})],t.prototype,"viewOptions",2),i([p("viewOptions",{waitUntilFirstUpdate:!0})],t.prototype,"_handleViewOptionsChange",2),i([r()],t.prototype,"_viewOptions",2),t=i([a("test-view")],t);export{t as a};
@@ -0,0 +1,8 @@
1
+ import{a as o}from"./chunk-PPWEIKLT.js";import{b as i,c as n}from"./chunk-L4CUWIE6.js";import{a as r}from"./chunk-5GCSZ3CH.js";import{a as s,d as m}from"./chunk-LZZB4VGC.js";import{a as e}from"./chunk-IAP2CEE7.js";var t=class extends o{_processResponse(){this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this._testContext.navItemId}"]`).assessmentItem.showCorrectResponse(!0)}constructor(){super(),this.addEventListener("click",()=>this._processResponse())}render(){return m` <slot></slot> `}};t.styles=s`
2
+ :host {
3
+ ${i};
4
+ }
5
+ :host([disabled]) {
6
+ ${n};
7
+ }
8
+ `,t=e([r("test-show-correct-response")],t);export{t as a};
@@ -0,0 +1,5 @@
1
+ import{a as S,b as M}from"./chunk-4ILXLVT5.js";import{a as V,c as I}from"./chunk-5FCXUJAG.js";import{a as b,b as R}from"./chunk-6MCYE7P5.js";import{a as w}from"./chunk-XUJ7TXHW.js";import{a as g,b as r,c as C}from"./chunk-5GCSZ3CH.js";import{d as l,i as c}from"./chunk-LZZB4VGC.js";import{a as T,b as v}from"./chunk-FRS2J3OS.js";import{a as s}from"./chunk-IAP2CEE7.js";var h=class extends c{constructor(){super(...arguments);this.testURL=null;this.testDoc=null;this.testXML=null;this.templateContent=null}async handleTestURLChange(){if(this.testURL)try{let n=await I().load(this.testURL);this.testDoc=n.htmlDoc()}catch(n){console.error("Error loading or parsing XML:",n)}}handleTestXMLChange(){if(this.testXML)try{this.testDoc=I().parse(this.testXML).htmlDoc()}catch(n){console.error("Error parsing XML:",n)}}async connectedCallback(){super.connectedCallback(),this.initializeTemplateContent(),this.applyStyles(),this.testURL&&this.handleTestURLChange(),this.testXML&&this.handleTestXMLChange()}initializeTemplateContent(){let n=this.querySelector("template");this.templateContent=n?n.content:l``}applyStyles(){let n=new CSSStyleSheet;n.replaceSync(M),this.shadowRoot.adoptedStyleSheets=[n]}render(){return l`
2
+ ${this.templateContent}
3
+ <slot></slot>
4
+ ${S(this.testDoc,l`<span>Loading...</span>`)}
5
+ `}};s([r({type:String,attribute:"test-url"})],h.prototype,"testURL",2),s([C()],h.prototype,"testDoc",2),s([C()],h.prototype,"testXML",2),s([w("testURL",{waitUntilFirstUpdate:!0})],h.prototype,"handleTestURLChange",1),s([w("testXML",{waitUntilFirstUpdate:!0})],h.prototype,"handleTestXMLChange",1),h=s([g("test-container")],h);var O=(o,m)=>sessionStorage.setItem(o,JSON.stringify(m)),U=o=>sessionStorage.getItem(o)?JSON.parse(sessionStorage.getItem(o)):null,D=o=>{class m extends o{constructor(...e){super(...e);this.autoScoreItems=!1;this.autoStoreRestoreContext=!1;this.addEventListener("qti-test-connected",()=>{this.autoStoreRestoreContext&&(this.context=U("testcontext"))}),this.addEventListener("qti-load-item-request",({detail:i})=>{i.promise=(async()=>(await V().load(`${i.href}`,i.cancelPreviousRequest)).htmlDoc())()}),this.addEventListener("qti-interaction-changed",i=>{if(this.autoScoreItems){let f=this.testElement.querySelector(`qti-assessment-item-ref[identifier="${this.context.navItemId}"]`).assessmentItem;f.variables.find(E=>E.identifier==="SCORE").externalScored===null&&f.adaptive==="false"&&(f.processResponse(),this.autoStoreRestoreContext&&O("testcontext",this.context))}else this.autoStoreRestoreContext&&O("testcontext",this.context)})}}return s([r({type:Boolean,attribute:"auto-score-items"})],m.prototype,"autoScoreItems",2),s([r({type:Boolean,attribute:"auto-store-restore"})],m.prototype,"autoStoreRestoreContext",2),m};var k=o=>{class m extends o{constructor(...t){super(...t),this.addEventListener("qti-request-test-item",({detail:e})=>{if(!e)return;this._clearLoadedItems();let i=this.testElement.querySelector(`qti-assessment-item-ref[identifier="${e}"]`),a=this._loadItemRequest(i.href,!1),f=i.closest("qti-test-part").identifier,_=i.closest("qti-assessment-section").identifier;this._testContext={...this._testContext,navPartId:f,navSectionId:_,navItemId:e,navItemLoading:!0},a?a.then(E=>{i.xmlDoc=E,requestAnimationFrame(()=>this.dispatchEvent(new CustomEvent("qti-item-connected",{bubbles:!0,composed:!0}))),this._testContext={...this._testContext,navItemLoading:!1}}).catch(E=>console.error("Failed to load item:",E)):console.info("Load item request was not handled:",i.href)}),this.addEventListener("qti-assessment-test-connected",()=>{let e=this._testContext.navItemId;e||(e=this.testElement.querySelector("qti-assessment-item-ref").identifier),this.dispatchEvent(new CustomEvent("qti-request-test-item",{detail:e,bubbles:!0,composed:!0}))})}_clearLoadedItems(){let t=this.testElement.querySelectorAll("qti-assessment-test qti-assessment-item-ref");Array.from(t).forEach(e=>{e.xmlDoc=null})}_loadItemRequest(t,e=!0){let i=new CustomEvent("qti-load-item-request",{bubbles:!0,composed:!0,detail:{href:t,promise:null,cancelPreviousRequest:e}});return this.dispatchEvent(i),i.detail.promise}}return m};var B=o=>{class m extends o{constructor(...t){super(...t),this._testContext={...this._testContext,view:"candidate"},this.addEventListener("on-test-switch-view",e=>{this._testContext={...this._testContext,view:e.detail},this._updateElementView()}),this.addEventListener("qti-assessment-test-connected",()=>{this._updateElementView()}),this.addEventListener("qti-assessment-item-connected",e=>{this._updateElementView(),this._setCorrectResponseVisibility(e.detail)})}willUpdate(t){super.willUpdate(t),t.has("_testContext")&&this._updateElementView()}_updateElementView(){if(this.testElement&&this.testElement){Array.from(this.testElement.querySelectorAll("[view]")).forEach(i=>{i.classList.toggle("show",i.getAttribute("view")===this._testContext.view)});let e=this.testElement.querySelector(`qti-assessment-item[identifier="${this._testContext.navItemId}"]`);e&&e.showCorrectResponse(this._testContext.view==="scorer")}}_setCorrectResponseVisibility(t){t.showCorrectResponse(this._testContext.view==="scorer")}}return m};var y=class extends c{constructor(){super();this._testContext={items:[],testOutcomeVariables:[]};this.testElement=null;this._updateItemInTestContext=n=>{let{identifier:t,variables:e}=n,i=this._testContext.items.find(a=>a?.identifier===t);if(!i){console.warn(`Item IDs between assessment.xml and item.xml should match: ${t} is not found!`);return}i.variables?.length===1?this._updateItemVariablesInTestContext(t,e):n.variables=[...i.variables||[]]};this.addEventListener("qti-assessment-test-connected",n=>{let t=n.detail;this.testElement=t;let e=Array.from(t.querySelectorAll("qti-assessment-item-ref")).map(i=>{let a=this._testContext.items.find(f=>f.identifier===i.identifier);return{...a,href:a?.href||i.href,identifier:a?.identifier||i.identifier,category:a?.category||i.category,variables:a?.variables||[{identifier:"completionStatus",value:"not_attempted",type:"outcome"}]}});this._testContext={...this._testContext,items:e}}),this.addEventListener("qti-assessment-item-connected",n=>{this._updateItemInTestContext(n.detail)}),this.addEventListener("qti-outcome-changed",n=>{let t=n.composedPath()[0];this._updateItemVariablesInTestContext(t.identifier,t.variables)})}get context(){return this._testContext}set context(n){n!=null&&(this._testContext={...n},n.items?.forEach(t=>{let e=this._testContext.items.find(i=>i.identifier===t.identifier);e?e.variables=t.variables:this._testContext.items.push(t)}))}_updateItemVariablesInTestContext(n,t){this._testContext={...this._testContext,items:this._testContext.items.map(e=>e.identifier!==n?e:{...e,variables:t.map(i=>{let a=e.variables.find(f=>f.identifier===i.identifier);return a?{...a,...i}:i})})}}};s([C(),T({context:b})],y.prototype,"_testContext",2),s([C(),T({context:R})],y.prototype,"testElement",2);var P=o=>{class m extends o{constructor(...t){super(...t),this.addEventListener("qti-register-variable",e=>{this._testContext={...this._testContext,testOutcomeVariables:[...this._testContext.testOutcomeVariables,e.detail.variable]},e.stopPropagation()}),this.addEventListener("qti-set-outcome-value",e=>{let{outcomeIdentifier:i,value:a}=e.detail;this.updateOutcomeVariable(i,a),e.stopPropagation()})}outcomeProcessing(){let t=this.querySelector("qti-outcome-processing");return t?(t?.process(),!0):!1}updateOutcomeVariable(t,e){let i=this.getOutcome(t);if(!i){console.warn(`Can not set qti-outcome-identifier: ${t}, it is not available`);return}this._testContext={...this._testContext,testOutcomeVariables:this._testContext.testOutcomeVariables.map(a=>a.identifier!==t?a:{...a,value:i.cardinality==="single"?e:[...a.value,e]})}}getOutcome(t){return this.getVariable(t)}getVariable(t){return this._testContext.testOutcomeVariables.find(e=>e.identifier===t)||null}}return m};var q=class extends D(P(k(B(y)))){async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}))}render(){return l`<slot></slot>`}};q=s([g("qti-test")],q);var N={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},u=class extends c{constructor(){super(...arguments);this.weigths=new Map}createRenderRoot(){return this}get assessmentItem(){return this.renderRoot?.querySelector("qti-assessment-item")}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-item-ref-connected",{bubbles:!0,composed:!0,detail:{identifier:this.identifier,href:this.href,category:this.category}}))}render(){return l`${this.xmlDoc}`}};s([r({type:String})],u.prototype,"category",2),s([r({type:String})],u.prototype,"identifier",2),s([r({type:Boolean,converter:N})],u.prototype,"required",2),s([r({type:Boolean,converter:N})],u.prototype,"fixed",2),s([r({type:String})],u.prototype,"href",2),s([v({context:b,subscribe:!0})],u.prototype,"_testContext",2),s([r({type:Object,attribute:!1})],u.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",u);var L={fromAttribute(o){return o==="true"},toAttribute(o){return o?"true":"false"}},p=class extends c{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}))}render(){return l`<slot name="qti-rubric-block"></slot><slot></slot>`}};s([r({type:String})],p.prototype,"identifier",2),s([r({type:String})],p.prototype,"required",2),s([r({type:Boolean,converter:L})],p.prototype,"fixed",2),s([r({type:String})],p.prototype,"title",2),s([r({type:Boolean,converter:L})],p.prototype,"visible",2),s([r({type:Boolean,converter:L,attribute:"keep-together"})],p.prototype,"keepTogether",2),s([v({context:b,subscribe:!0})],p.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",p);var x=class extends c{async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([r({type:String})],x.prototype,"identifier",2),s([r({type:String})],x.prototype,"title",2),s([v({context:b,subscribe:!0})],x.prototype,"_testContext",2),x=s([g("qti-assessment-test")],x);var d=class extends c{constructor(){super(...arguments);this.identifier="";this.title="";this.class="";this.NavigationMode="nonlinear";this.submissionMode="individual"}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}))}render(){return l` <slot></slot>`}};s([r({type:String})],d.prototype,"identifier",2),s([r({type:String})],d.prototype,"title",2),s([r({type:String})],d.prototype,"class",2),s([r({type:String,attribute:"navigation-mode"})],d.prototype,"NavigationMode",2),s([r({type:String,attribute:"submission-mode"})],d.prototype,"submissionMode",2),d=s([g("qti-test-part")],d);customElements.get("qti-test-part")||customElements.define("qti-test-part",d);export{h as a,q as b,u as c,p as d,x as e,d as f};
@@ -0,0 +1,8 @@
1
+ import{a as r}from"./chunk-PPWEIKLT.js";import{b as i,c as n}from"./chunk-L4CUWIE6.js";import{a as m}from"./chunk-5GCSZ3CH.js";import{a as t,d as o}from"./chunk-LZZB4VGC.js";import{a as s}from"./chunk-IAP2CEE7.js";var e=class extends r{_processResponse(){this._testElement.querySelector(`qti-assessment-item-ref[identifier="${this._testContext.navItemId}"]`).assessmentItem.processResponse()}constructor(){super(),this.addEventListener("click",()=>this._processResponse())}render(){return o` <slot></slot> `}};e.styles=t`
2
+ :host {
3
+ ${i};
4
+ }
5
+ :host([disabled]) {
6
+ ${n};
7
+ }
8
+ `,e=s([m("test-end-attempt")],e);export{e as a};
@@ -0,0 +1 @@
1
+ import{a as h,b as u}from"./chunk-6MCYE7P5.js";import{a as f}from"./chunk-XUJ7TXHW.js";import{b as d,c}from"./chunk-5GCSZ3CH.js";import{i as p}from"./chunk-LZZB4VGC.js";import{b as m}from"./chunk-FRS2J3OS.js";import{a as n}from"./chunk-IAP2CEE7.js";function x(a){return(l,t)=>{d(a)(l,t);let e=`__${t}`;Object.defineProperty(l,t,{get(){return this[e]},set(r){let o=this[e];if(this[e]=r,o!==r){if(this._internals?.states){let s=t.toLowerCase();r?this._internals.states.add(`--${s}`):this._internals.states.delete(`--${s}`)}if(a.aria&&this._internals){let s=a.aria;r?this._internals[s]="true":this._internals[s]=null}this.requestUpdate(t,o)}},configurable:!0,enumerable:!0})}}var i=class extends p{constructor(){super();this.disabled=!0;this._internals=this.attachInternals()}_handleTestElementChange(t,e){e&&(this.disabled=!1)}willUpdate(t){if(t.has("_testContext")){let{items:e=[],navItemId:r}=this._testContext??{};this.itemIndex=e.findIndex(o=>o.identifier===r),this.items=e,this.view=this._testContext?.view}}};n([x({type:Boolean,reflect:!0,aria:"ariaDisabled"})],i.prototype,"disabled",2),n([c(),m({context:h,subscribe:!0})],i.prototype,"_testContext",2),n([c(),m({context:u,subscribe:!0})],i.prototype,"_testElement",2),n([f("_testElement")],i.prototype,"_handleTestElementChange",1);export{i as a};
@@ -1,8 +1,8 @@
1
- import{a as l}from"./chunk-IMJOPCFR.js";import{b as m,c as a}from"./chunk-L4CUWIE6.js";import{a as i,b as o}from"./chunk-5GCSZ3CH.js";import{a as s,d as r}from"./chunk-LZZB4VGC.js";import{a as e}from"./chunk-IAP2CEE7.js";var t=class extends l{constructor(){super();this.itemId=null;this.addEventListener("click",()=>this._requestItem(this.itemId))}render(){return r` <slot></slot> `}};t.styles=s`
1
+ import{a as l}from"./chunk-PPWEIKLT.js";import{b as m,c as n}from"./chunk-L4CUWIE6.js";import{a as i,b as o}from"./chunk-5GCSZ3CH.js";import{a as s,d as r}from"./chunk-LZZB4VGC.js";import{a as e}from"./chunk-IAP2CEE7.js";var t=class extends l{constructor(){super();this.itemId=null;this.addEventListener("click",()=>this._requestItem(this.itemId))}_requestItem(d){this.dispatchEvent(new CustomEvent("qti-request-test-item",{composed:!0,bubbles:!0,detail:d}))}render(){return r` <slot></slot> `}};t.styles=s`
2
2
  :host {
3
3
  ${m};
4
4
  }
5
5
  :host([disabled]) {
6
- ${a};
6
+ ${n};
7
7
  }
8
8
  `,e([o({type:String,attribute:"item-id"})],t.prototype,"itemId",2),t=e([i("test-item-link")],t);export{t as a};
@@ -0,0 +1,8 @@
1
+ import{a as l}from"./chunk-PPWEIKLT.js";import{b as o,c as m}from"./chunk-L4CUWIE6.js";import{a as r}from"./chunk-5GCSZ3CH.js";import{a as i,d as n}from"./chunk-LZZB4VGC.js";import{a as s}from"./chunk-IAP2CEE7.js";var e=class extends l{constructor(){super(),this._internals.role="button",this._internals.ariaLabel="Next item",this.addEventListener("click",t=>{t.preventDefault(),this.disabled||this._requestItem(this.items[this.itemIndex-1].identifier)})}_requestItem(t){this.dispatchEvent(new CustomEvent("qti-request-test-item",{composed:!0,bubbles:!0,detail:t}))}willUpdate(t){super.willUpdate(t),t.has("_testContext")&&(this.disabled=!this._testElement||this.itemIndex===0||this.itemIndex===-1)}render(){return n`<slot></slot>`}};e.styles=i`
2
+ :host {
3
+ ${o};
4
+ }
5
+ :host([disabled]) {
6
+ ${m};
7
+ }
8
+ `,e=s([r("test-prev")],e);export{e as a};