@citolab/qti-components 6.0.28 → 6.0.29

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 (35) hide show
  1. package/dist/{chunk-C4C24R3I.cjs → chunk-M4CYU6DC.cjs} +1 -1
  2. package/dist/{chunk-5U4R2HMK.cjs → chunk-PNQIHQ4E.cjs} +3 -3
  3. package/dist/{chunk-2K77UHFA.js → chunk-QFISTKXH.js} +2 -2
  4. package/dist/{chunk-BVYXUE3V.js → chunk-QROD4MVT.js} +1 -1
  5. package/dist/context/index.cjs +1 -1
  6. package/dist/context/index.d.cts +8 -1
  7. package/dist/context/index.d.ts +8 -1
  8. package/dist/context/index.js +1 -1
  9. package/dist/custom-elements.json +287 -287
  10. package/dist/decorators/index.cjs +1 -1
  11. package/dist/decorators/index.js +1 -1
  12. package/dist/index.cjs +58 -58
  13. package/dist/index.d.cts +0 -1
  14. package/dist/index.d.ts +0 -1
  15. package/dist/index.js +59 -59
  16. package/dist/qti-components/index.cjs +22 -22
  17. package/dist/qti-components/index.d.cts +3 -4
  18. package/dist/qti-components/index.d.ts +3 -4
  19. package/dist/qti-components/index.js +20 -20
  20. package/dist/qti-item/index.cjs +1 -1
  21. package/dist/qti-item/index.d.cts +19 -3
  22. package/dist/qti-item/index.d.ts +19 -3
  23. package/dist/qti-item/index.js +1 -1
  24. package/dist/qti-item-react/index.cjs +1 -1
  25. package/dist/qti-item-react/index.d.cts +2 -2
  26. package/dist/qti-item-react/index.d.ts +2 -2
  27. package/dist/qti-item-react/index.js +1 -1
  28. package/dist/{qti-simple-choice-86f433b6.d.ts → qti-simple-choice-9a8c789b.d.ts} +1 -1
  29. package/dist/qti-transform/index.cjs +1 -1
  30. package/dist/qti-transform/index.js +1 -1
  31. package/package.json +19 -18
  32. package/dist/audience-context-444478f4.d.ts +0 -8
  33. package/dist/qti-item-395a9535.d.ts +0 -19
  34. /package/dist/{chunk-NMCIOGD2.js → chunk-343LZK3D.js} +0 -0
  35. /package/dist/{chunk-HOQW4KDA.cjs → chunk-6G76D2MI.cjs} +0 -0
@@ -1,12 +1,12 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkC4C24R3Icjs = require('../chunk-C4C24R3I.cjs');var _chunkGGEPFBR7cjs = require('../chunk-GGEPFBR7.cjs');var _chunkHOQW4KDAcjs = require('../chunk-HOQW4KDA.cjs');var vt={};var yt={};var xt={};var Et={};var qt={};var Ct={};var _t={};var kt={};var At={};var Rt={ON_OUTCOME_CHANGED:"qti-outcome-changed",ON_INTERACTION_CHANGED:"on-interaction-changed",ON_REGISTER_VARIABLE:"on-register-variable",ON_REGISTER_FEEDBACK:"on-register-feedback",ON_REGISTER_INTERACTION:"on-register-interaction",ON_REGISTER_CHOICE:"on-register-choice",ON_REGISTER_HOTSPOT:"on-register-hotspot",ON_LOOSE_CHOICE:"on-loose-choice",ON_INTERACTION_RESPONSE:"on-interaction-response",ON_DROPDOWN_SELECTED:"on-dropdown-selected",ON_CHOICE_ELEMENT_SELECTED:"choice-element-selected"};var H=class{constructor(){this.value=null}},N= exports.ResponseVariable =class{constructor(){this.value=null;this.candidateResponse=null;this.correctResponse=null}};var _decoratorsjs = require('lit/decorators.js');var _lit = require('lit');var A=class extends _lit.LitElement{constructor(){super();this.variables=[];this.feedbackElements=[];this.interactionElements=[];this._numAttempts=0;this._handleDisabledChange=(e,t)=>{this.interactionElements.forEach(r=>r.disabled=t)};this._handleReadonlyChange=(e,t)=>this.interactionElements.forEach(r=>r.readonly=t);this.addEventListener("qti-register-variable",this._registerVariable),this.addEventListener("qti-register-feedback",this.registerFeedbackElement),this.addEventListener("qti-register-interaction",this.registerInteractionElement),this.addEventListener("qti-outcome-changed",this.outcomeChanged),this.addEventListener("qti-interaction-response",this.interactionResponse)}render(){return _lit.html`<slot></slot>`}firstUpdated(e){super.firstUpdated(e),this.dispatchEvent(new CustomEvent("qti-item-connected",{bubbles:!0,composed:!0,detail:this}))}disconnectedCallback(){this.removeEventListener("qti-register-variable",this._registerVariable),this.removeEventListener("qti-register-feedback",this.registerFeedbackElement),this.removeEventListener("qti-register-interaction",this.registerInteractionElement),this.removeEventListener("qti-outcome-changed",this.outcomeChanged),this.removeEventListener("qti-interaction-response",this.interactionResponse)}_registerVariable(e){this.variables.push(e.detail.variable)}showCorrectResponse(){let e=this.variables.filter(t=>"correctResponse"in t&&t.correctResponse);this.responses=e.map(t=>({responseIdentifier:t.identifier,response:t.correctResponse}))}processResponse(){let e=this.querySelector("qti-response-processing");return e?e.process?(e.process(),this._numAttempts++,this.dispatchEvent(new CustomEvent("qti-response-processing")),!0):(console.info("Client side response webcomponents not available"),!1):(console.info("Client side response processing template not available"),!1)}set responses(e){if(e)for(let t of e){let r=this.interactionElements.find(n=>n.getAttribute("response-identifier")===t.responseIdentifier),o=this.getResponse(t.responseIdentifier);o&&(o.value=t.response),r&&(r.response=t.response)}}resetInteractions(){this.interactionElements.forEach(e=>e.reset())}validateResponses(){let e=!0;return this.interactionElements.forEach(t=>{t.validate()||(e=!1)}),e}getVariable(e){switch(e){case"numAttempts":return{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:this._numAttempts.toString()};default:{let t=this.variables.find(r=>r.identifier===e);return t||(console.warn(`Variable with identifier ${e} was not found`),null)}break}}getResponse(e){let t=this.variables.find(o=>o.identifier===e);return t instanceof N?t:null}getOutcome(e){let t=this.variables.find(r=>r.identifier===e);return t instanceof H?t:null}registerFeedbackElement(e){e.stopPropagation(),this.feedbackElements.push(e.detail)}registerInteractionElement(e){e.stopPropagation(),this.interactionElements.push(e.target)}interactionResponse(e){let t=e.detail,r=this.getResponse(t.responseIdentifier);r&&(r.value=t.response),e.stopImmediatePropagation();let o=this.getAttribute("identifier");o||console.warn("qti-assessment-item has no identifier specified"),this.dispatchEvent(new CustomEvent("qti-interaction-changed",{bubbles:!0,composed:!0,detail:{item:o,responseIdentifier:t.responseIdentifier,response:t.response}}))}outcomeChanged(e){this.showFeedback(e)}showFeedback(e){this.feedbackElements.forEach(t=>{t.checkShowFeedback(e.detail.outcomeIdentifier)})}setOutcomeValue(e,t){let r;switch(e){case"completionStatus":r={identifier:"completionStatus",cardinality:"single",baseType:"string",value:t};break;default:{if(r=this.getOutcome(e),!r){console.warn(`Can not set qti-outcome-identifier: ${e}, it is not available`);return}r.cardinality==="single"?r.value=t:r.value.push(t)}break}this.dispatchEvent(new CustomEvent("qti-outcome-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:e,value:r.value}}))}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean})],A.prototype,"disabled",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean})],A.prototype,"readonly",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],A.prototype,"title",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],A.prototype,"identifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],A.prototype,"_handleDisabledChange",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "readonly",{waitUntilFirstUpdate:!0})],A.prototype,"_handleReadonlyChange",2),A= exports.QtiAssessmentItem =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-assessment-item")],A);var De=class extends _lit.LitElement{constructor(){super()}connectedCallback(){super.connectedCallback();let e=this.closest("qti-assessment-item"),t=this.getAttribute("href");if(t!==null){let r=document.createElement("link");r.rel="stylesheet",r.type="text/css",r.media="screen",r.href=t,e.appendChild(r),this.styleLink=r}if(this.textContent!==null){let r=document.createElement("style");r.media="screen",r.textContent=this.textContent,e.appendChild(r),this.styleLink=r}}disconnectedCallback(){let e=this.closest("qti-assessment-item");if(this.styleLink&&this.styleLink.parentElement===this)try{e.removeChild(this.styleLink)}catch(t){console.log("could not remove stylesheet")}}};customElements.define("qti-stylesheet",De);var Tt=_lit.css`
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkM4CYU6DCcjs = require('../chunk-M4CYU6DC.cjs');var _chunkGGEPFBR7cjs = require('../chunk-GGEPFBR7.cjs');var _chunk6G76D2MIcjs = require('../chunk-6G76D2MI.cjs');var vt={};var yt={};var xt={};var Et={};var qt={};var Ct={};var _t={};var kt={};var At={};var Tt={ON_OUTCOME_CHANGED:"qti-outcome-changed",ON_INTERACTION_CHANGED:"on-interaction-changed",ON_REGISTER_VARIABLE:"on-register-variable",ON_REGISTER_FEEDBACK:"on-register-feedback",ON_REGISTER_INTERACTION:"on-register-interaction",ON_REGISTER_CHOICE:"on-register-choice",ON_REGISTER_HOTSPOT:"on-register-hotspot",ON_LOOSE_CHOICE:"on-loose-choice",ON_INTERACTION_RESPONSE:"on-interaction-response",ON_DROPDOWN_SELECTED:"on-dropdown-selected",ON_CHOICE_ELEMENT_SELECTED:"choice-element-selected"};var H=class{constructor(){this.value=null}},N= exports.ResponseVariable =class{constructor(){this.value=null;this.candidateResponse=null;this.correctResponse=null}};var _decoratorsjs = require('lit/decorators.js');var _lit = require('lit');var A=class extends _lit.LitElement{constructor(){super();this.variables=[];this.feedbackElements=[];this.interactionElements=[];this._numAttempts=0;this._handleDisabledChange=(e,t)=>{this.interactionElements.forEach(r=>r.disabled=t)};this._handleReadonlyChange=(e,t)=>this.interactionElements.forEach(r=>r.readonly=t);this.addEventListener("qti-register-variable",this._registerVariable),this.addEventListener("qti-register-feedback",this.registerFeedbackElement),this.addEventListener("qti-register-interaction",this.registerInteractionElement),this.addEventListener("qti-outcome-changed",this.outcomeChanged),this.addEventListener("qti-interaction-response",this.interactionResponse)}render(){return _lit.html`<slot></slot>`}firstUpdated(e){super.firstUpdated(e),this.dispatchEvent(new CustomEvent("qti-item-connected",{bubbles:!0,composed:!0,detail:this}))}disconnectedCallback(){this.removeEventListener("qti-register-variable",this._registerVariable),this.removeEventListener("qti-register-feedback",this.registerFeedbackElement),this.removeEventListener("qti-register-interaction",this.registerInteractionElement),this.removeEventListener("qti-outcome-changed",this.outcomeChanged),this.removeEventListener("qti-interaction-response",this.interactionResponse)}_registerVariable(e){this.variables.push(e.detail.variable)}showCorrectResponse(){let e=this.variables.filter(t=>"correctResponse"in t&&t.correctResponse);this.responses=e.map(t=>({responseIdentifier:t.identifier,response:t.correctResponse}))}processResponse(){let e=this.querySelector("qti-response-processing");return e?e.process?(e.process(),this._numAttempts++,this.dispatchEvent(new CustomEvent("qti-response-processing")),!0):(console.info("Client side response webcomponents not available"),!1):(console.info("Client side response processing template not available"),!1)}set responses(e){if(e)for(let t of e){let r=this.interactionElements.find(n=>n.getAttribute("response-identifier")===t.responseIdentifier),o=this.getResponse(t.responseIdentifier);o&&(o.value=t.response),r&&(r.response=t.response)}}resetInteractions(){this.interactionElements.forEach(e=>e.reset())}validateResponses(){let e=!0;return this.interactionElements.forEach(t=>{t.validate()||(e=!1)}),e}getVariable(e){switch(e){case"numAttempts":return{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:this._numAttempts.toString()};default:{let t=this.variables.find(r=>r.identifier===e);return t||(console.warn(`Variable with identifier ${e} was not found`),null)}break}}getResponse(e){let t=this.variables.find(o=>o.identifier===e);return t instanceof N?t:null}getOutcome(e){let t=this.variables.find(r=>r.identifier===e);return t instanceof H?t:null}registerFeedbackElement(e){e.stopPropagation(),this.feedbackElements.push(e.detail)}registerInteractionElement(e){e.stopPropagation(),this.interactionElements.push(e.target)}interactionResponse(e){let t=e.detail,r=this.getResponse(t.responseIdentifier);r&&(r.value=t.response),e.stopImmediatePropagation();let o=this.getAttribute("identifier");o||console.warn("qti-assessment-item has no identifier specified"),this.dispatchEvent(new CustomEvent("qti-interaction-changed",{bubbles:!0,composed:!0,detail:{item:o,responseIdentifier:t.responseIdentifier,response:t.response}}))}outcomeChanged(e){this.showFeedback(e)}showFeedback(e){this.feedbackElements.forEach(t=>{t.checkShowFeedback(e.detail.outcomeIdentifier)})}setOutcomeValue(e,t){let r;switch(e){case"completionStatus":r={identifier:"completionStatus",cardinality:"single",baseType:"string",value:t};break;default:{if(r=this.getOutcome(e),!r){console.warn(`Can not set qti-outcome-identifier: ${e}, it is not available`);return}r.cardinality==="single"?r.value=t:r.value.push(t)}break}this.dispatchEvent(new CustomEvent("qti-outcome-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:e,value:r.value}}))}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean})],A.prototype,"disabled",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean})],A.prototype,"readonly",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],A.prototype,"title",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],A.prototype,"identifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],A.prototype,"_handleDisabledChange",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "readonly",{waitUntilFirstUpdate:!0})],A.prototype,"_handleReadonlyChange",2),A= exports.QtiAssessmentItem =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-assessment-item")],A);var De=class extends _lit.LitElement{constructor(){super()}connectedCallback(){super.connectedCallback();let e=this.closest("qti-assessment-item"),t=this.getAttribute("href");if(t!==null){let r=document.createElement("link");r.rel="stylesheet",r.type="text/css",r.media="screen",r.href=t,e.appendChild(r),this.styleLink=r}if(this.textContent!==null){let r=document.createElement("style");r.media="screen",r.textContent=this.textContent,e.appendChild(r),this.styleLink=r}}disconnectedCallback(){let e=this.closest("qti-assessment-item");if(this.styleLink&&this.styleLink.parentElement===this)try{e.removeChild(this.styleLink)}catch(t){console.log("could not remove stylesheet")}}};customElements.define("qti-stylesheet",De);var wt=_lit.css`
2
2
  :host {
3
3
  display: block;
4
4
  }
5
- `;var $=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}};$.styles=Tt,$=_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-item-body")],$);var He=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}connectedCallback(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}};customElements.define("qti-prompt",He);var _statichtmljs = require('lit/static-html.js');var pr={SPACE:32},y= exports.QtiChoice =class extends _lit.LitElement{constructor(){super(...arguments);this.tabindex=0;this.disabled=!1;this.readonly=!1;this.checked=!1}handleDisabledChange(e,t){t?(this.tabindex=void 0,this.blur()):this.tabIndex=0}connectedCallback(){super.connectedCallback(),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("qti-register-choice",{bubbles:!0,cancelable:!1,composed:!0}))}disconnectedCallback(){this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("qti-loose-choice",{bubbles:!0,cancelable:!1,composed:!0}))}reset(){this.checked=!1,this.disabled=!1}_onKeyUp(e){if(!e.altKey)switch(e.keyCode){case pr.SPACE:e.preventDefault(),this._toggleChecked();break;default:}}_onClick(){this._toggleChecked()}_toggleChecked(){this.disabled||this.readonly||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent("qti-choice-element-selected",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier,checked:this.checked}})))}validateAllProps(){return!!this.getAttribute("identifier")}render(){return this.validateAllProps()||console.warn(`Invalid props for ${this.outerHTML}`,"missing identifier"),_statichtmljs.html` <slot></slot> `}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],y.prototype,"identifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0})],y.prototype,"tabindex",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean,attribute:"aria-disabled",converter:{toAttribute:a=>a}})],y.prototype,"disabled",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean,attribute:"aria-readonly",converter:{toAttribute:a=>a}})],y.prototype,"readonly",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean,attribute:"aria-checked",converter:{toAttribute:a=>a}})],y.prototype,"checked",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],y.prototype,"handleDisabledChange",1);var V=class extends _lit.LitElement{render(){return _lit.html``}defaultValues(i){let e=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(e.length===0)return null;let t=e.map(r=>r.innerHTML);return t.length>1||i.cardinality==="multiple"||i.cardinality==="ordered"?t:t[0]}};customElements.define("qti-variabledeclaration",V);var O=class extends V{connectedCallback(){super.connectedCallback();let e=new N;e.baseType=this.baseType,e.identifier=this.identifier,e.correctResponse=this.correctResponse,e.cardinality=this.cardinality||"single",e.mapping=this.mapping,e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}get correctResponse(){let e,t=this.querySelector("qti-correct-response");if(t){let r=t.querySelectorAll("qti-value");if(this.cardinality==="single"&&r.length>0)e=r[0].textContent,r[0].remove();else if(this.cardinality!=="single"){e=[];for(let o=0;o<r.length;o++)e.push(r[o].textContent),r[o].remove()}}return e}get mapping(){return this.querySelector("qti-mapping")}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"base-type"})],O.prototype,"baseType",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],O.prototype,"identifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],O.prototype,"cardinality",2);customElements.define("qti-response-declaration",O);var P=class extends V{get interpolationTable(){let e=this.querySelector("qti-interpolation-table");if(e){let t=new Map;for(let r of e.querySelectorAll("qti-interpolation-table-entry")){!r.getAttribute("source-value")&&r.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");let o=parseInt(r.getAttribute("source-value")),n=parseInt(r.getAttribute("target-value"));(isNaN(o)||isNaN(n))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),t.set(o,n)}}return null}connectedCallback(){super.connectedCallback();let e=new H;e.identifier=this.identifier,e.cardinality=this.cardinality,e.baseType=this.baseType,e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"base-type"})],P.prototype,"baseType",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],P.prototype,"identifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],P.prototype,"cardinality",2);customElements.define("qti-outcome-declaration",P);var ne=class extends _lit.LitElement{};ne= exports.QtiCompanionMaterialsInfo =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-companion-materials-info")],ne);var _context = require('@lit-labs/context');var R=class extends _lit.LitElement{constructor(){super(...arguments);this.logger=new (0, _context.ContextConsumer)(this,_chunkGGEPFBR7cjs.a,e=>this.style.display=this.view===e.view?"block":"none",!0)}handleclassNamesChange(e,t){this.classNames.split(" ").forEach(o=>{switch(o){case"qti-rubric-discretionary-placement":this.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":this.setAttribute("slot","");break;default:break}})}render(){return _lit.html`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-rubric-block")}};R.styles=_lit.css`
5
+ `;var $=class extends _lit.LitElement{render(){return _lit.html`<slot name="qti-rubric-block"></slot><slot></slot>`}};$.styles=wt,$=_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-item-body")],$);var He=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}connectedCallback(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}};customElements.define("qti-prompt",He);var _statichtmljs = require('lit/static-html.js');var pr={SPACE:32},y= exports.QtiChoice =class extends _lit.LitElement{constructor(){super(...arguments);this.tabindex=0;this.disabled=!1;this.readonly=!1;this.checked=!1}handleDisabledChange(e,t){t?(this.tabindex=void 0,this.blur()):this.tabIndex=0}connectedCallback(){super.connectedCallback(),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("qti-register-choice",{bubbles:!0,cancelable:!1,composed:!0}))}disconnectedCallback(){this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("qti-loose-choice",{bubbles:!0,cancelable:!1,composed:!0}))}reset(){this.checked=!1,this.disabled=!1}_onKeyUp(e){if(!e.altKey)switch(e.keyCode){case pr.SPACE:e.preventDefault(),this._toggleChecked();break;default:}}_onClick(){this._toggleChecked()}_toggleChecked(){this.disabled||this.readonly||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent("qti-choice-element-selected",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier,checked:this.checked}})))}validateAllProps(){return!!this.getAttribute("identifier")}render(){return this.validateAllProps()||console.warn(`Invalid props for ${this.outerHTML}`,"missing identifier"),_statichtmljs.html` <slot></slot> `}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],y.prototype,"identifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0})],y.prototype,"tabindex",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean,attribute:"aria-disabled",converter:{toAttribute:a=>a}})],y.prototype,"disabled",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean,attribute:"aria-readonly",converter:{toAttribute:a=>a}})],y.prototype,"readonly",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean,attribute:"aria-checked",converter:{toAttribute:a=>a}})],y.prototype,"checked",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],y.prototype,"handleDisabledChange",1);var V=class extends _lit.LitElement{render(){return _lit.html``}defaultValues(i){let e=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(e.length===0)return null;let t=e.map(r=>r.innerHTML);return t.length>1||i.cardinality==="multiple"||i.cardinality==="ordered"?t:t[0]}};customElements.define("qti-variabledeclaration",V);var O=class extends V{connectedCallback(){super.connectedCallback();let e=new N;e.baseType=this.baseType,e.identifier=this.identifier,e.correctResponse=this.correctResponse,e.cardinality=this.cardinality||"single",e.mapping=this.mapping,e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}get correctResponse(){let e,t=this.querySelector("qti-correct-response");if(t){let r=t.querySelectorAll("qti-value");if(this.cardinality==="single"&&r.length>0)e=r[0].textContent,r[0].remove();else if(this.cardinality!=="single"){e=[];for(let o=0;o<r.length;o++)e.push(r[o].textContent),r[o].remove()}}return e}get mapping(){return this.querySelector("qti-mapping")}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"base-type"})],O.prototype,"baseType",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],O.prototype,"identifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],O.prototype,"cardinality",2);customElements.define("qti-response-declaration",O);var P=class extends V{get interpolationTable(){let e=this.querySelector("qti-interpolation-table");if(e){let t=new Map;for(let r of e.querySelectorAll("qti-interpolation-table-entry")){!r.getAttribute("source-value")&&r.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");let o=parseInt(r.getAttribute("source-value")),n=parseInt(r.getAttribute("target-value"));(isNaN(o)||isNaN(n))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),t.set(o,n)}}return null}connectedCallback(){super.connectedCallback();let e=new H;e.identifier=this.identifier,e.cardinality=this.cardinality,e.baseType=this.baseType,e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"base-type"})],P.prototype,"baseType",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],P.prototype,"identifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],P.prototype,"cardinality",2);customElements.define("qti-outcome-declaration",P);var ne=class extends _lit.LitElement{};ne= exports.QtiCompanionMaterialsInfo =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-companion-materials-info")],ne);var _context = require('@lit-labs/context');var T=class extends _lit.LitElement{constructor(){super(...arguments);this.logger=new (0, _context.ContextConsumer)(this,_chunkGGEPFBR7cjs.a,e=>this.style.display=this.view===e.view?"block":"none",!0)}handleclassNamesChange(e,t){this.classNames.split(" ").forEach(o=>{switch(o){case"qti-rubric-discretionary-placement":this.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":this.setAttribute("slot","");break;default:break}})}render(){return _lit.html`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-rubric-block")}};T.styles=_lit.css`
6
6
  :host {
7
7
  display: block;
8
8
  }
9
- `,_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],R.prototype,"id",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],R.prototype,"use",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],R.prototype,"view",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"class"})],R.prototype,"classNames",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "classNames",{waitUntilFirstUpdate:!0})],R.prototype,"handleclassNamesChange",1),R= exports.qtiRubricBlock =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-rubric-block")],R);var le=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}};le= exports.qtiContentBody =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-content-body")],le);var E=class extends _lit.LitElement{constructor(){super();this.showHide="show",this.showFeedback(this.showHide==="hide")}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}checkShowFeedback(e){let t=this.closest("qti-assessment-item").getOutcome(e);if(this.outcomeIdentifier!==e||!t)return;let r=!1;Array.isArray(t.value)?r=t.baseType=="float"||t.baseType=="integer"?t.value.includes(this.identifier):t.value.includes(this.identifier):r=t.baseType=="float"||t.baseType=="integer"?this.identifier===t.value:this.identifier===t.value,this.showFeedback(r)}showFeedback(e){this.showStatus=e?"on":"off"}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"show-hide"})],E.prototype,"showHide",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"outcome-identifier"})],E.prototype,"outcomeIdentifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],E.prototype,"identifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:!1})],E.prototype,"showStatus",2);var pe=class extends E{constructor(){super(...arguments);this.render=()=>_lit.html` <slot class="${this.showStatus}"></slot> `}};pe.styles=_lit.css`
9
+ `,_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],T.prototype,"id",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],T.prototype,"use",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],T.prototype,"view",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"class"})],T.prototype,"classNames",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "classNames",{waitUntilFirstUpdate:!0})],T.prototype,"handleclassNamesChange",1),T= exports.qtiRubricBlock =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-rubric-block")],T);var le=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}};le= exports.qtiContentBody =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-content-body")],le);var E=class extends _lit.LitElement{constructor(){super();this.showHide="show",this.showFeedback(this.showHide==="hide")}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}checkShowFeedback(e){let t=this.closest("qti-assessment-item").getOutcome(e);if(this.outcomeIdentifier!==e||!t)return;let r=!1;Array.isArray(t.value)?r=t.baseType=="float"||t.baseType=="integer"?t.value.includes(this.identifier):t.value.includes(this.identifier):r=t.baseType=="float"||t.baseType=="integer"?this.identifier===t.value:this.identifier===t.value,this.showFeedback(r)}showFeedback(e){this.showStatus=e?"on":"off"}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"show-hide"})],E.prototype,"showHide",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"outcome-identifier"})],E.prototype,"outcomeIdentifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],E.prototype,"identifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:!1})],E.prototype,"showStatus",2);var pe=class extends E{constructor(){super(...arguments);this.render=()=>_lit.html` <slot class="${this.showStatus}"></slot> `}};pe.styles=_lit.css`
10
10
  .on {
11
11
  display: inline-block;
12
12
  }
@@ -40,7 +40,7 @@
40
40
  <div class="feedback ${this.showStatus}">
41
41
  <slot></slot>
42
42
  </div>
43
- `}firstUpdated(i){this.checkShowFeedback(this.outcomeIdentifier)}};customElements.define("qti-feedback-block",Pe);var _ifdefinedjs = require('lit/directives/if-defined.js');var f=class extends _lit.LitElement{constructor(){super(...arguments);this.responseIdentifier="";this.disabled=!1;this.readonly=!1}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,cancelable:!1,composed:!0}))}saveResponse(e){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,cancelable:!1,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:e}}))}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"response-identifier"})],f.prototype,"responseIdentifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean})],f.prototype,"disabled",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean})],f.prototype,"readonly",2);var _refjs = require('lit/directives/ref.js');var _=class extends f{constructor(){super(...arguments);this._value="";this._size=5;this.inputRef=_refjs.createRef.call(void 0, )}handleclassNamesChange(e,t){t.split(" ").forEach(o=>{if(o.startsWith("qti-input-width")){let n=o.replace("qti-input-width-","");this._size=parseInt(n)}})}set response(e){this._value=e!==void 0?e:""}validate(){return this._value!==""}static get styles(){return[_lit.css`
43
+ `}firstUpdated(i){this.checkShowFeedback(this.outcomeIdentifier)}};customElements.define("qti-feedback-block",Pe);var _ifdefinedjs = require('lit/directives/if-defined.js');var f=class extends _lit.LitElement{constructor(){super(...arguments);this.responseIdentifier="";this.disabled=!1;this.readonly=!1}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,cancelable:!1,composed:!0}))}saveResponse(e){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,cancelable:!1,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:e}}))}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"response-identifier"})],f.prototype,"responseIdentifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean})],f.prototype,"disabled",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {reflect:!0,type:Boolean})],f.prototype,"readonly",2);var _refjs = require('lit/directives/ref.js');var _=class extends f{constructor(){super(...arguments);this._value="";this._size=5;this.inputRef=_refjs.createRef.call(void 0, )}handleclassNamesChange(e,t){t.split(" ").forEach(o=>{if(o.startsWith("qti-input-width")){let n=o.replace("qti-input-width-","");this._size=parseInt(n)}})}set response(e){this._value=e!==void 0?e:""}validate(){return this._value!==""}static get styles(){return[_lit.css`
44
44
  :host {
45
45
  display: inline-flex;
46
46
  }
@@ -58,7 +58,7 @@
58
58
  pattern="${_ifdefinedjs.ifDefined.call(void 0, this.patternMask?this.patternMask:void 0)}"
59
59
  ?disabled="${this.disabled}"
60
60
  ?readonly="${this.readonly}"
61
- />`}textChanged(e){if(this.disabled||this.readonly)return;let t=e.target;this.setEmptyAttribute(t.value),this._value!==t.value&&(this._value=t.value,this.saveResponse(t.value))}reset(){this._value=""}setEmptyAttribute(e){this.setAttribute("empty",e===""?"true":"false")}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"expected-length"})],_.prototype,"expectedLength",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"pattern-mask"})],_.prototype,"patternMask",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"placeholder-text"})],_.prototype,"placeholderText",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],_.prototype,"_value",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],_.prototype,"_size",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"class"})],_.prototype,"classNames",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "classNames")],_.prototype,"handleclassNamesChange",1),_= exports.QtiTextEntryInteraction =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-text-entry-interaction")],_);var T=class extends f{constructor(){super(...arguments);this.textareaRef=_refjs.createRef.call(void 0, );this._value=""}handleclassNamesChange(e,t){this.classNames.split(" ").forEach(o=>{if(o.startsWith("qti-height-lines")){let n=o.replace("qti-height-lines-","");this.textareaRef&&(this.textareaRef.value.rows=parseInt(n))}})}set response(e){this._value=e!==void 0?e:""}validate(){return this._value!==""}static get styles(){return[_lit.css`
61
+ />`}textChanged(e){if(this.disabled||this.readonly)return;let t=e.target;this.setEmptyAttribute(t.value),this._value!==t.value&&(this._value=t.value,this.saveResponse(t.value))}reset(){this._value=""}setEmptyAttribute(e){this.setAttribute("empty",e===""?"true":"false")}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"expected-length"})],_.prototype,"expectedLength",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"pattern-mask"})],_.prototype,"patternMask",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"placeholder-text"})],_.prototype,"placeholderText",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],_.prototype,"_value",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],_.prototype,"_size",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"class"})],_.prototype,"classNames",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "classNames")],_.prototype,"handleclassNamesChange",1),_= exports.QtiTextEntryInteraction =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-text-entry-interaction")],_);var w=class extends f{constructor(){super(...arguments);this.textareaRef=_refjs.createRef.call(void 0, );this._value=""}handleclassNamesChange(e,t){this.classNames.split(" ").forEach(o=>{if(o.startsWith("qti-height-lines")){let n=o.replace("qti-height-lines-","");this.textareaRef&&(this.textareaRef.value.rows=parseInt(n))}})}set response(e){this._value=e!==void 0?e:""}validate(){return this._value!==""}static get styles(){return[_lit.css`
62
62
  /* PK: display host as block, else design will be collapsed */
63
63
  :host {
64
64
  display: block;
@@ -83,7 +83,7 @@
83
83
  ?disabled="${this.disabled}"
84
84
  ?readonly="${this.readonly}"
85
85
  .value=${this._value}
86
- ></textarea>`}textChanged(e){if(this.disabled||this.readonly)return;let t=e.target;this.setEmptyAttribute(t.value),this._value!==t.value&&(this._value=t.value,this.saveResponse(t.value))}reset(){this._value=""}setEmptyAttribute(e){this.setAttribute("empty",e===""?"true":"false")}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"expected-length"})],T.prototype,"expectedLength",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"pattern-mask"})],T.prototype,"patternMask",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"placeholder-text"})],T.prototype,"placeholderText",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],T.prototype,"_value",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"class"})],T.prototype,"classNames",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "classNames",{waitUntilFirstUpdate:!0})],T.prototype,"handleclassNamesChange",1),T= exports.QtiExtendedTextInteraction =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-extended-text-interaction")],T);var v=class extends f{constructor(){super();this._choiceElements=[];this.minChoices=0;this.maxChoices=1;this._handleDisabledChange=(e,t)=>this._choiceElements.forEach(r=>r.disabled=t);this._handleReadonlyChange=(e,t)=>this._choiceElements.forEach(r=>r.readonly=t);this._handleMaxChoicesChange=()=>this._determineInputType();this.addEventListener("qti-register-choice",this._registerChoiceElement),this.addEventListener("qti-loose-choice",this._looseChoiceElement)}reset(){this._choiceElements.forEach(e=>{e.reset()})}validate(){return this._choiceElements.reduce((t,r)=>t+(r.checked?1:0),0)>=this.minChoices}set response(e){this._choiceElements.forEach(r=>{r.checked=!1}),(Array.isArray(e)?e:[e]).forEach(r=>{let o=this.querySelector(`[identifier='${r}']`);o&&(o.checked=!0)})}connectedCallback(){super.connectedCallback(),this.addEventListener("qti-choice-element-selected",this._choiceElementSelectedHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("qti-choice-element-selected",this._choiceElementSelectedHandler),this.removeEventListener("qti-register-choice",this._registerChoiceElement)}_registerChoiceElement(e){e.stopPropagation();let t=e.target;this._choiceElements.push(t),this._setInputType(t)}_looseChoiceElement(e){e.stopPropagation();let t=e.target;this._choiceElements.push(t),this._choiceElements=this._choiceElements.filter(r=>r!==t)}_determineInputType(){this._choiceElements.forEach(e=>{this._setInputType(e)})}_setInputType(e){this.maxChoices===1?e.setAttribute("role","radio"):e.setAttribute("role","checkbox")}_choiceElementSelectedHandler(e){this.maxChoices===1&&this._choiceElements.filter(t=>t.identifier!==e.detail.identifier).forEach(t=>{t.checked=!1}),this._choiceElementSelected()}_choiceElementSelected(){let e=this._choiceElements.filter(r=>r.checked).map(r=>r.identifier);this.maxChoices>1&&(this.maxChoices===e.length?this._choiceElements.forEach(r=>r.disabled=!r.checked):this._choiceElements.forEach(r=>r.disabled=!1));let t;this.maxChoices===1?t=e.length>0?e[0]:void 0:t=e,this.saveResponse(t)}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"min-choices"})],v.prototype,"minChoices",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"max-choices"})],v.prototype,"maxChoices",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],v.prototype,"_handleDisabledChange",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "readonly",{waitUntilFirstUpdate:!0})],v.prototype,"_handleReadonlyChange",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "maxChoices",{waitUntilFirstUpdate:!0})],v.prototype,"_handleMaxChoicesChange",2);var Ue=class extends v{constructor(){super(...arguments);this.render=()=>_lit.html`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("qti-hottext-interaction","")}};customElements.define("qti-hottext-interaction",Ue);var I=class extends f{constructor(){super(...arguments);this.options=[];this.dataPrompt="select"}static get styles(){return[_lit.css`
86
+ ></textarea>`}textChanged(e){if(this.disabled||this.readonly)return;let t=e.target;this.setEmptyAttribute(t.value),this._value!==t.value&&(this._value=t.value,this.saveResponse(t.value))}reset(){this._value=""}setEmptyAttribute(e){this.setAttribute("empty",e===""?"true":"false")}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"expected-length"})],w.prototype,"expectedLength",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"pattern-mask"})],w.prototype,"patternMask",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"placeholder-text"})],w.prototype,"placeholderText",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],w.prototype,"_value",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"class"})],w.prototype,"classNames",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "classNames",{waitUntilFirstUpdate:!0})],w.prototype,"handleclassNamesChange",1),w= exports.QtiExtendedTextInteraction =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-extended-text-interaction")],w);var v=class extends f{constructor(){super();this._choiceElements=[];this.minChoices=0;this.maxChoices=1;this._handleDisabledChange=(e,t)=>this._choiceElements.forEach(r=>r.disabled=t);this._handleReadonlyChange=(e,t)=>this._choiceElements.forEach(r=>r.readonly=t);this._handleMaxChoicesChange=()=>this._determineInputType();this.addEventListener("qti-register-choice",this._registerChoiceElement),this.addEventListener("qti-loose-choice",this._looseChoiceElement)}reset(){this._choiceElements.forEach(e=>{e.reset()})}validate(){return this._choiceElements.reduce((t,r)=>t+(r.checked?1:0),0)>=this.minChoices}set response(e){this._choiceElements.forEach(r=>{r.checked=!1}),(Array.isArray(e)?e:[e]).forEach(r=>{let o=this.querySelector(`[identifier='${r}']`);o&&(o.checked=!0)})}connectedCallback(){super.connectedCallback(),this.addEventListener("qti-choice-element-selected",this._choiceElementSelectedHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("qti-choice-element-selected",this._choiceElementSelectedHandler),this.removeEventListener("qti-register-choice",this._registerChoiceElement)}_registerChoiceElement(e){e.stopPropagation();let t=e.target;this._choiceElements.push(t),this._setInputType(t)}_looseChoiceElement(e){e.stopPropagation();let t=e.target;this._choiceElements.push(t),this._choiceElements=this._choiceElements.filter(r=>r!==t)}_determineInputType(){this._choiceElements.forEach(e=>{this._setInputType(e)})}_setInputType(e){this.maxChoices===1?e.setAttribute("role","radio"):e.setAttribute("role","checkbox")}_choiceElementSelectedHandler(e){this.maxChoices===1&&this._choiceElements.filter(t=>t.identifier!==e.detail.identifier).forEach(t=>{t.checked=!1}),this._choiceElementSelected()}_choiceElementSelected(){let e=this._choiceElements.filter(r=>r.checked).map(r=>r.identifier);this.maxChoices>1&&(this.maxChoices===e.length?this._choiceElements.forEach(r=>r.disabled=!r.checked):this._choiceElements.forEach(r=>r.disabled=!1));let t;this.maxChoices===1?t=e.length>0?e[0]:void 0:t=e,this.saveResponse(t)}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"min-choices"})],v.prototype,"minChoices",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"max-choices"})],v.prototype,"maxChoices",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],v.prototype,"_handleDisabledChange",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "readonly",{waitUntilFirstUpdate:!0})],v.prototype,"_handleReadonlyChange",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "maxChoices",{waitUntilFirstUpdate:!0})],v.prototype,"_handleMaxChoicesChange",2);var Ue=class extends v{constructor(){super(...arguments);this.render=()=>_lit.html`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("qti-hottext-interaction","")}};customElements.define("qti-hottext-interaction",Ue);var I=class extends f{constructor(){super(...arguments);this.options=[];this.dataPrompt="select"}static get styles(){return[_lit.css`
87
87
  :host {
88
88
  display: inline-block;
89
89
  }
@@ -94,13 +94,13 @@
94
94
  ?readonly="${this.readonly}"
95
95
  >
96
96
  ${this.options.map(e=>_lit.html` <option value="${e.value}" ?selected="${e.selected}">${e.textContent}</option> `)}
97
- </select>`}firstUpdated(e){super.firstUpdated(e),this.addEventListener(Rt.ON_DROPDOWN_SELECTED,this.choiceSelected);let t=Array.from(this.querySelectorAll("qti-inline-choice"));this.options=[{textContent:this.dataPrompt,value:"",selected:!1},...t.map(r=>({textContent:r.innerHTML,value:r.getAttribute("identifier"),selected:!1}))]}validate(){let e=this.options.find(t=>t.selected);return e?e.value!=="":!1}reset(){this.options=this.options.map((e,t)=>_chunkHOQW4KDAcjs.b.call(void 0, _chunkHOQW4KDAcjs.a.call(void 0, {},e),{selected:t===0}))}set response(e){this.options=this.options.map(t=>(e===t.value&&(t.selected=!0),t))}choiceSelected(e){let t=e.target.value;this.options=this.options.map(r=>_chunkHOQW4KDAcjs.b.call(void 0, _chunkHOQW4KDAcjs.a.call(void 0, {},r),{selected:r.value===t})),this.saveResponse(t)}};I.inputWidthClass=["","qti-input-width-2","qti-input-width-1","qti-input-width-3","qti-input-width-4","qti-input-width-6","qti-input-width-10","qti-input-width-15","qti-input-width-20","qti-input-width-72"],_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],I.prototype,"options",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"data-prompt",type:String})],I.prototype,"dataPrompt",2);customElements.define("qti-inline-choice-interaction",I);var Vt=_lit.css`
97
+ </select>`}firstUpdated(e){super.firstUpdated(e),this.addEventListener(Tt.ON_DROPDOWN_SELECTED,this.choiceSelected);let t=Array.from(this.querySelectorAll("qti-inline-choice"));this.options=[{textContent:this.dataPrompt,value:"",selected:!1},...t.map(r=>({textContent:r.innerHTML,value:r.getAttribute("identifier"),selected:!1}))]}validate(){let e=this.options.find(t=>t.selected);return e?e.value!=="":!1}reset(){this.options=this.options.map((e,t)=>_chunk6G76D2MIcjs.b.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},e),{selected:t===0}))}set response(e){this.options=this.options.map(t=>(e===t.value&&(t.selected=!0),t))}choiceSelected(e){let t=e.target.value;this.options=this.options.map(r=>_chunk6G76D2MIcjs.b.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},r),{selected:r.value===t})),this.saveResponse(t)}};I.inputWidthClass=["","qti-input-width-2","qti-input-width-1","qti-input-width-3","qti-input-width-4","qti-input-width-6","qti-input-width-10","qti-input-width-15","qti-input-width-20","qti-input-width-72"],_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],I.prototype,"options",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"data-prompt",type:String})],I.prototype,"dataPrompt",2);customElements.define("qti-inline-choice-interaction",I);var Vt=_lit.css`
98
98
  :host {
99
99
  display: flex;
100
100
  flex-direction: column;
101
101
  // align-items: flex-start;
102
102
  }
103
- `;var F=class extends v{constructor(){super(...arguments);this.render=()=>_lit.html` <slot name="prompt"></slot><slot></slot>`}};F.styles=Vt,_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],F.prototype,"orientation",2),F= exports.QtiChoiceInteraction =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-choice-interaction")],F);var Dt=`<qti-response-processing>
103
+ `;var F=class extends v{constructor(){super(...arguments);this.render=()=>_lit.html` <slot name="prompt"></slot><slot></slot>`}};F.styles=Vt,_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],F.prototype,"orientation",2),F= exports.QtiChoiceInteraction =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-choice-interaction")],F);var Dt=`<qti-response-processing>
104
104
  <qti-response-condition>
105
105
  <qti-response-if>
106
106
  <qti-match>
@@ -149,7 +149,7 @@
149
149
  </qti-set-outcome-value>
150
150
  </qti-response-else>
151
151
  </qti-response-condition>
152
- </qti-response-processing>`;var U=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}static get observedAttributes(){return["identifier"]}process(){if(this.getAttribute("template")){let e=this.getAttribute("template").split("/"),t=e[e.length-1].replace(".xml","");switch(this.innerHTML="",t){case"map_response":{this.appendChild(this.fragmentFromString(Ht));break}case"map_response_point":{this.appendChild(this.fragmentFromString(Nt));break}case"match_correct":this.appendChild(this.fragmentFromString(Dt));break}}let i=[...this.children];for(let e of i)e.process()}fragmentFromString(i){return document.createRange().createContextualFragment(i)}};U= exports.QtiResponseProcessing =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-response-processing")],U);var S=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}process(){throw new Error("Not implemented")}};S= exports.QtiRule =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-rule")],S);var Xe=class extends S{render(){return _lit.html`<slot></slot>`}process(){let i=[...this.children];for(let e=0;e<i.length;e++){let t=i[e];if(t.calculate()){t.process();return}}}};customElements.define("qti-response-condition",Xe);var Ye=class extends S{process(){let i=this.getAttribute("identifier"),e=this.firstElementChild,t=e?e.calculate():null;if(t==null){console.warn("setOutcomeValue: value is null or undefined");return}this.closest("qti-assessment-item").setOutcomeValue(i,t)}};customElements.define("qti-set-outcome-value",Ye);var J=class extends _lit.LitElement{static get properties(){return{debugCalculateResult:{type:Object}}}render(){return _lit.html` <slot></slot>`}calculate(){return!0}getSubRules(){return[...this.children]}process(){let i=this.getSubRules();for(let e=0;e<i.length;e++)i[e].process()}};customElements.define("qti-response-else",J);var Z=class extends J{render(){return _lit.html`${super.render()}`}calculate(){return this.firstElementChild.calculate()}getSubRules(){let i=[];for(let e=1;e<this.children.length;e++)i.push(this.children[e]);return i}};customElements.define("qti-response-if",Z);var Be=class extends Z{render(){return _lit.html`${super.render()}`}};customElements.define("qti-response-else-if",Be);var u=class extends _lit.LitElement{constructor(){super(...arguments);this._error=[];this._debug=!1;this.getVariables=()=>Array.from(this.children).map(e=>{switch(e.tagName.toLowerCase()){case"qti-base-value":return{baseType:e.getAttribute("base-type"),value:e.textContent,cardinality:"single"};case"qti-variable":{let t=e.getAttribute("identifier")||"";return this.assessmentItem.getVariable(t)}case"qti-multiple":{let r=e.calculate();return r.length>0?{baseType:r[0].baseType,value:r.map(o=>o.value),cardinality:"multiple"}:null}case"qti-correct":{let t=e.getAttribute("identifier")||"",r=this.assessmentItem.getResponse(t);return{baseType:r.baseType,value:r.correctResponse,cardinality:r.cardinality}}default:{try{return{baseType:"integer",value:e.calculate().toString(),cardinality:"single"}}catch(t){console.warn("default not sufficient")}return null}}}).filter(e=>e!==null)}set error(e){let t=this._error;this._error.push(e),this.requestUpdate("error",t)}render(){return _lit.html`${this._debug?_lit.html`${this._error.map(e=>_lit.html`<div role="alert">${e}</div>`)}`:_lit.nothing}
152
+ </qti-response-processing>`;var U=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}static get observedAttributes(){return["identifier"]}process(){if(this.getAttribute("template")){let e=this.getAttribute("template").split("/"),t=e[e.length-1].replace(".xml","");switch(this.innerHTML="",t){case"map_response":{this.appendChild(this.fragmentFromString(Ht));break}case"map_response_point":{this.appendChild(this.fragmentFromString(Nt));break}case"match_correct":this.appendChild(this.fragmentFromString(Dt));break}}let i=[...this.children];for(let e of i)e.process()}fragmentFromString(i){return document.createRange().createContextualFragment(i)}};U= exports.QtiResponseProcessing =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-response-processing")],U);var S=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}process(){throw new Error("Not implemented")}};S= exports.QtiRule =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-rule")],S);var Xe=class extends S{render(){return _lit.html`<slot></slot>`}process(){let i=[...this.children];for(let e=0;e<i.length;e++){let t=i[e];if(t.calculate()){t.process();return}}}};customElements.define("qti-response-condition",Xe);var Ye=class extends S{process(){let i=this.getAttribute("identifier"),e=this.firstElementChild,t=e?e.calculate():null;if(t==null){console.warn("setOutcomeValue: value is null or undefined");return}this.closest("qti-assessment-item").setOutcomeValue(i,t)}};customElements.define("qti-set-outcome-value",Ye);var J=class extends _lit.LitElement{static get properties(){return{debugCalculateResult:{type:Object}}}render(){return _lit.html` <slot></slot>`}calculate(){return!0}getSubRules(){return[...this.children]}process(){let i=this.getSubRules();for(let e=0;e<i.length;e++)i[e].process()}};customElements.define("qti-response-else",J);var Z=class extends J{render(){return _lit.html`${super.render()}`}calculate(){return this.firstElementChild.calculate()}getSubRules(){let i=[];for(let e=1;e<this.children.length;e++)i.push(this.children[e]);return i}};customElements.define("qti-response-if",Z);var Be=class extends Z{render(){return _lit.html`${super.render()}`}};customElements.define("qti-response-else-if",Be);var u=class extends _lit.LitElement{constructor(){super(...arguments);this._error=[];this._debug=!1;this.getVariables=()=>Array.from(this.children).map(e=>{switch(e.tagName.toLowerCase()){case"qti-base-value":return{baseType:e.getAttribute("base-type"),value:e.textContent,cardinality:"single"};case"qti-variable":{let t=e.getAttribute("identifier")||"";return this.assessmentItem.getVariable(t)}case"qti-multiple":{let r=e.calculate();return r.length>0?{baseType:r[0].baseType,value:r.map(o=>o.value),cardinality:"multiple"}:null}case"qti-correct":{let t=e.getAttribute("identifier")||"",r=this.assessmentItem.getResponse(t);return{baseType:r.baseType,value:r.correctResponse,cardinality:r.cardinality}}default:{try{return{baseType:"integer",value:e.calculate().toString(),cardinality:"single"}}catch(t){console.warn("default not sufficient")}return null}}}).filter(e=>e!==null)}set error(e){let t=this._error;this._error.push(e),this.requestUpdate("error",t)}render(){return _lit.html`${this._debug?_lit.html`${this._error.map(e=>_lit.html`<div role="alert">${e}</div>`)}`:_lit.nothing}
153
153
  ${this._debug?_lit.html`${JSON.stringify(this._result)}`:_lit.nothing} ${this._debug?_lit.html`<slot></slot>`:_lit.nothing}`}calculate(){throw new Error("Not implemented")}get assessmentItem(){return this.closest("qti-assessment-item")}};u.styles=_lit.css`
154
154
  :host {
155
155
  display: inline;
@@ -163,10 +163,10 @@
163
163
  border-radius: 5px;
164
164
  margin-bottom: 3px;
165
165
  }
166
- `,_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],u.prototype,"_result",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],u.prototype,"error",1);var q=class extends u{calculate(){throw new Error("Not implemented")}};var je=class extends q{calculate(){return Array.from(this.children).map(e=>{let t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let r=t.calculate();if(typeof r=="string")if(r==="true")r=!0;else if(r==="false")r=!1;else return console.error("unexpected value in qti-and, expected boolean"),null;return r}).every(e=>typeof e=="boolean"&&e)}};customElements.define("qti-and",je);var me=class extends u{constructor(){super(...arguments);this.baseType="string"}calculate(){return this.textContent}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"base-type"})],me.prototype,"baseType",2);customElements.define("qti-base-value",me);var Ke=class extends q{calculate(){let i=this.getVariables();if(this.children.length===2){let e=i[0],t=i[1];if(e.baseType==="directedPair"&&t.baseType==="directedPair"&&e.cardinality==="multiple"){let r=e.value,o=t.value;return r.filter(c=>o.includes(c)).length>0}else if(e.baseType==="directedPair"&&t.baseType==="directedPair"&&e.cardinality==="single"){let r=e.value;return t.value.includes(r)}else console.error("unsupported baseType or cardinality in qti contains, only baseType: directedPair and cardinality: multiple is supported")}else console.error("unexpected number of children in qti contains");return!1}};customElements.define("qti-contains",Ke);var We=class extends u{get interpretation(){return this.getAttribute("interpretation")||""}calculate(){let i=this.getAttribute("identifier")||"",e=this.closest("qti-assessment-item").getResponse(i);return e.correctResponse,e.cardinality!=="single"?e.correctResponse.length>0?e.correctResponse[0]:"":e.correctResponse}};customElements.define("qti-correct",We);var w=class{static compareSingleValues(i,e,t){switch(t){case"identifier":case"string":return i===e;case"integer":{let r=parseInt(i,10),o=parseInt(e,10);if(!isNaN(r)&&!isNaN(o))return r===o;console.error(`Cannot convert ${i} and/or ${e} to int.`);break}case"float":{let r=parseFloat(i),o=parseFloat(e);if(!isNaN(r)&&!isNaN(o))return r===o;console.error(`couldn't convert ${i} and/or ${e} to float.`);break}case"pair":case"directedPair":{let r=i.split(" ").sort(),o=e.split(" ").sort();if(r.length===2&&o.length===2)return t==="pair"&&(r.sort(),o.sort()),r.join(" ")===o.join(" ");console.error(`compared two pair but one of the values does not have 2 values: 1: ${i} 2: ${e}`);break}}return!1}};var he=class extends u{constructor(){super(...arguments);this.toleranceMode="exact"}calculate(){if(this.children.length===2){let e=this.getVariables(),t=e[0],r=e[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):t.cardinality!=="single"||r.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(r.value)?(console.error("unexpected cardinality in qti equal"),!1):w.compareSingleValues(t.value,r.value,t.baseType)}return console.error("unexpected number of children in qti-equal"),null}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],he.prototype,"toleranceMode",2);customElements.define("qti-equal",he);var fe=class extends u{constructor(){super(...arguments);this.roundingMode="significantFigures"}get figures(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;let t=parseInt(this.getAttribute("figures")||"0");return isNaN(t)?(console.error("figures attribute is not a number"),null):t<0?(console.error("figures attribute is negative"),null):t<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):t}calculate(){if(this.children.length===2){let e=this.getVariables(),t=e[0],r=e[1];if(this.roundingMode===null)return null;if(t.cardinality!=="single"||r.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(r.value))return console.error("unexpected cardinality in qti equal"),!1;switch(e[0].baseType){case"integer":case"float":{let o=parseFloat(t.value),n=parseFloat(r.value);if(!isNaN(o)&&!isNaN(n))return this.roundingMode==="significantFigures"?o.toPrecision(this.figures)===n.toPrecision(this.figures):Math.round(o*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(n*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error(`value cannot be casted to numeric value in equalRounded operator: ${o}, ${n}`);break}default:{console.error("values other than float and int cannot be used in equalRounded operator.");break}}return!1}return console.error("unexpected number of children in qti-equal-rounded"),null}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],fe.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",fe);var Ge=class extends u{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];if(e.baseType===t.baseType&&(e.baseType==="integer"||e.baseType==="float"))return+e.value>+t.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}};customElements.define("qti-gt",Ge);var Je=class extends q{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];return e.baseType===t.baseType&&(e.baseType==="integer"||e.baseType==="float")?+e.value>=+t.value:(console.error("unexpected baseType or cardinality in qti gte"),null)}return console.log("unexpected number of children in qte"),null}};customElements.define("qti-gte",Je);var Ze=class extends u{calculate(){if(this.children.length===1){let i=this.getVariables();if(!i)return!0;let e=i[0].value;return e==null||e==null||e===""}return console.error("unexpected number of children in qti Null"),null}};customElements.define("qti-is-null",Ze);var Qe=class extends u{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];if(e.baseType===t.baseType&&(e.baseType==="integer"||e.baseType==="float"))return+e.value<+t.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}};customElements.define("qti-lt",Qe);var et=class extends q{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];return e.baseType===t.baseType&&(e.baseType==="integer"||e.baseType==="float")?+e.value<=+t.value:(console.error("unexpected baseType or cardinality in qti lte"),null)}return console.log("unexpected number of children in lte"),null}};customElements.define("qti-lte",et);var X=class extends _lit.LitElement{constructor(){super(...arguments);this.defaultValue=0}get mapEntries(){return Array.from(this.querySelectorAll("qti-map-entry")).map(e=>({mapKey:e.getAttribute("map-key"),mappedValue:+e.getAttribute("mapped-value")}))}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"default-value",type:Number})],X.prototype,"defaultValue",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"lower-bound",type:Number})],X.prototype,"lowerBound",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"upper-bound",type:Number})],X.prototype,"upperBound",2);customElements.define("qti-mapping",X);var be=class extends u{calculate(){let e=this.assessmentItem.getResponse(this.identifier);if(!e)return console.warn(`Response ${this.identifier} can not be found`),null;let t=e.mapping,r=Array.isArray(e.value)?e.value:[e.value],o=0;for(let n of r){let l=t.mapEntries.find(c=>w.compareSingleValues(c.mapKey,n,e.baseType));l==null||l.mappedValue==null?o+=t.defaultValue:o+=l.mappedValue}return t.lowerBound!=null&&(o=Math.max(t.lowerBound,o)),t.upperBound!=null&&(o=Math.min(t.upperBound,o)),o}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],be.prototype,"identifier",2);customElements.define("qti-map-response",be);var rt=class a extends u{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];return this._result=a.match(e,t),this._result}return console.error("unexpected number of children in match"),null}static match(i,e){if(e.cardinality==="single")return Array.isArray(i.value)||Array.isArray(e.value)?(console.error("unexpected cardinality in qti match"),!1):w.compareSingleValues(i.value.toString(),e.value.toString(),e.baseType);{if(!Array.isArray(i.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(i.value.length!==e.value.length)return!1;let t=0;for(let r of e.value){if(e.cardinality==="ordered"){let o=i[t];if(!w.compareSingleValues(r,o,e.baseType))return!1}else{let o=null;for(let n of i.value)if(w.compareSingleValues(r,n,e.baseType)){o=n;break}if(o!==null)i.value.splice(i.value.indexOf(o),1);else return!1}t++}return!0}}};customElements.define("qti-match",rt);var it=class extends u{calculate(){let i=this.getVariables();this.children.length!==2&&(this.error="The member operator takes two sub-expressions");let[e,t]=i;if(e.baseType!==t.baseType&&(this.error="Which must both have the same base-type"),t.cardinality==="multiple"||t.cardinality==="ordered"||(this.error="and the second must be a multiple or ordered container"),(e.baseType==="float"||t.baseType==="float")&&(this.error="The member operator should not be used on sub-expressions with a base-type of float"),(e.baseType==="duration"||t.baseType==="duration")&&(this.error="It must not be used on sub-expressions with a base-type of duration"),e.value===null||t.value===null)return null;let r=e.value;return t.value.includes(r)}};customElements.define("qti-member",it);var st=class extends u{calculate(){let i=this.getVariables();if(i.length===0)return console.error("unexpected number of children in qti multiple"),null;for(let e of i)if(e.cardinality!=="multiple"&&e.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[];return i}};customElements.define("qti-multiple",st);var ot=class extends u{render(){return _lit.html`${super.render()}`}calculate(){return!this.firstElementChild.calculate()}};customElements.define("qti-not",ot);var nt=class extends q{render(){return _lit.html``}calculate(){return Array.from(this.children).map(e=>{let t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let r=t.calculate();if(typeof r=="string")if(r==="true")r=!0;else if(r==="false")r=!1;else return console.error("unexpected value in qti-and, expected boolean"),null;return r}).some(e=>typeof e=="boolean"&&e)}};customElements.define("qti-or",nt);var at=class extends u{calculate(){let i=this.getVariables();if(i.length===0)return console.error("unexpected number of children in qti multiple"),null;for(let e of i)if(e.cardinality!=="ordered"&&e.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[];return i}};customElements.define("qti-ordered",at);var ee=class extends _lit.LitElement{constructor(){super();this.value="";this.closest("qti-assessment-item").addEventListener("qti-response-processing",()=>{this.value=this.calculate()})}render(){return _lit.html`${Array.isArray(this.value)?this.value.map(e=>_lit.html`${e}`):this.value}`}calculate(){let e=this.closest("qti-assessment-item"),t=this.identifier;return e.getVariable(t).value}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],ee.prototype,"identifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],ee.prototype,"value",2);customElements.define("qti-printed-variable",ee);var lt=class extends u{calculate(){return this.getVariables().reduce((t,r)=>{if(r.baseType=="float"||r.baseType=="integer")try{return t*parseInt(r.value.toString())}catch(o){console.warn("can not convert to number")}else console.warn(`has another baseType ${r.baseType}`);return t},1)}};customElements.define("qti-product",lt);var ct=class extends u{calculate(){let i=this.getAttribute("identifier");return this.closest("qti-assessment-item").getVariable(i).value}};customElements.define("qti-variable",ct);var pt=class extends _lit.LitElement{constructor(){super(...arguments);this._errorMessage=null}static get properties(){return{responseIdentifier:{type:String,attribute:"response-identifier"},module:{type:String,attribute:"module"},customInteractionTypeIdentifier:{type:String,attribute:"custom-interaction-type-identifier"},baseUrl:{type:String,attribute:"base-url"},_errorMessage:{type:String,state:!0}}}getTAOConfig(e){let t=e.querySelectorAll("properties"),r={},o=l=>{let c={},p=l.getAttribute("key");if(p){let d=Array.from(l.children),m=d.map(g=>g.getAttribute("key"));m.length>0&&!m.find(g=>!Number.isInteger(+g))?c[p]=d.map(g=>n(g)):c[p]=l.textContent}return c},n=l=>{if(l){let c={};for(let p of l.children)c=_chunkHOQW4KDAcjs.a.call(void 0, _chunkHOQW4KDAcjs.a.call(void 0, {},c),o(p));return c}};for(let l of t)return l.getAttribute("key")||(r=_chunkHOQW4KDAcjs.a.call(void 0, _chunkHOQW4KDAcjs.a.call(void 0, {},r),n(l))),r;console.log("Can not find qti-custom-interaction config")}register(e){let t=this.parentElement.tagName==="QTI-CUSTOM-INTERACTION"?"TAO":"IMS",r=t=="IMS"?this.querySelector("qti-interaction-markup"):this.querySelector("markup");r.classList.add("qti-customInteraction"),t=="TAO"&&this.querySelector("properties")&&(this.querySelector("properties").style.display="none");let o=t=="IMS"?{properties:this.dataset}:this.getTAOConfig(this);t=="IMS"?e.getInstance(r,o,void 0):e.initialize(this.customInteractionTypeIdentifier,r.firstElementChild,o),t=="TAO"&&Array.from(this.querySelectorAll("link")).map(l=>l.getAttribute("href")).forEach(l=>{let c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.media="screen",c.href=l,r.appendChild(c)})}connectedCallback(){super.connectedCallback();let e={context:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl,catchError:!0};if(window.requirePaths&&window.requireShim&&(e.paths=window.requirePaths,e.shim=window.requireShim),!globalThis.require){this._errorMessage="requirejs not found, load with cdn: https://cdnjs.com/libraries/require.js";return}requirejs.config(e)(["require"],r=>{define("qtiCustomInteractionContext",()=>({register:o=>{this.register(o)},notifyReady:()=>{}})),r([this.module],()=>{},o=>{this._errorMessage=o})},r=>{this._errorMessage=r})}render(){return _lit.html`<slot></slot>${this._errorMessage&&_lit.html`<div style="color:red">
166
+ `,_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],u.prototype,"_result",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],u.prototype,"error",1);var q=class extends u{calculate(){throw new Error("Not implemented")}};var je=class extends q{calculate(){return Array.from(this.children).map(e=>{let t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let r=t.calculate();if(typeof r=="string")if(r==="true")r=!0;else if(r==="false")r=!1;else return console.error("unexpected value in qti-and, expected boolean"),null;return r}).every(e=>typeof e=="boolean"&&e)}};customElements.define("qti-and",je);var me=class extends u{constructor(){super(...arguments);this.baseType="string"}calculate(){return this.textContent}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"base-type"})],me.prototype,"baseType",2);customElements.define("qti-base-value",me);var Ke=class extends q{calculate(){let i=this.getVariables();if(this.children.length===2){let e=i[0],t=i[1];if(e.baseType==="directedPair"&&t.baseType==="directedPair"&&e.cardinality==="multiple"){let r=e.value,o=t.value;return r.filter(c=>o.includes(c)).length>0}else if(e.baseType==="directedPair"&&t.baseType==="directedPair"&&e.cardinality==="single"){let r=e.value;return t.value.includes(r)}else console.error("unsupported baseType or cardinality in qti contains, only baseType: directedPair and cardinality: multiple is supported")}else console.error("unexpected number of children in qti contains");return!1}};customElements.define("qti-contains",Ke);var We=class extends u{get interpretation(){return this.getAttribute("interpretation")||""}calculate(){let i=this.getAttribute("identifier")||"",e=this.closest("qti-assessment-item").getResponse(i);return e.correctResponse,e.cardinality!=="single"?e.correctResponse.length>0?e.correctResponse[0]:"":e.correctResponse}};customElements.define("qti-correct",We);var R=class{static compareSingleValues(i,e,t){switch(t){case"identifier":case"string":return i===e;case"integer":{let r=parseInt(i,10),o=parseInt(e,10);if(!isNaN(r)&&!isNaN(o))return r===o;console.error(`Cannot convert ${i} and/or ${e} to int.`);break}case"float":{let r=parseFloat(i),o=parseFloat(e);if(!isNaN(r)&&!isNaN(o))return r===o;console.error(`couldn't convert ${i} and/or ${e} to float.`);break}case"pair":case"directedPair":{let r=i.split(" ").sort(),o=e.split(" ").sort();if(r.length===2&&o.length===2)return t==="pair"&&(r.sort(),o.sort()),r.join(" ")===o.join(" ");console.error(`compared two pair but one of the values does not have 2 values: 1: ${i} 2: ${e}`);break}}return!1}};var he=class extends u{constructor(){super(...arguments);this.toleranceMode="exact"}calculate(){if(this.children.length===2){let e=this.getVariables(),t=e[0],r=e[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):t.cardinality!=="single"||r.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(r.value)?(console.error("unexpected cardinality in qti equal"),!1):R.compareSingleValues(t.value,r.value,t.baseType)}return console.error("unexpected number of children in qti-equal"),null}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],he.prototype,"toleranceMode",2);customElements.define("qti-equal",he);var fe=class extends u{constructor(){super(...arguments);this.roundingMode="significantFigures"}get figures(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;let t=parseInt(this.getAttribute("figures")||"0");return isNaN(t)?(console.error("figures attribute is not a number"),null):t<0?(console.error("figures attribute is negative"),null):t<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):t}calculate(){if(this.children.length===2){let e=this.getVariables(),t=e[0],r=e[1];if(this.roundingMode===null)return null;if(t.cardinality!=="single"||r.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(r.value))return console.error("unexpected cardinality in qti equal"),!1;switch(e[0].baseType){case"integer":case"float":{let o=parseFloat(t.value),n=parseFloat(r.value);if(!isNaN(o)&&!isNaN(n))return this.roundingMode==="significantFigures"?o.toPrecision(this.figures)===n.toPrecision(this.figures):Math.round(o*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(n*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error(`value cannot be casted to numeric value in equalRounded operator: ${o}, ${n}`);break}default:{console.error("values other than float and int cannot be used in equalRounded operator.");break}}return!1}return console.error("unexpected number of children in qti-equal-rounded"),null}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],fe.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",fe);var Ge=class extends u{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];if(e.baseType===t.baseType&&(e.baseType==="integer"||e.baseType==="float"))return+e.value>+t.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}};customElements.define("qti-gt",Ge);var Je=class extends q{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];return e.baseType===t.baseType&&(e.baseType==="integer"||e.baseType==="float")?+e.value>=+t.value:(console.error("unexpected baseType or cardinality in qti gte"),null)}return console.log("unexpected number of children in qte"),null}};customElements.define("qti-gte",Je);var Ze=class extends u{calculate(){if(this.children.length===1){let i=this.getVariables();if(!i)return!0;let e=i[0].value;return e==null||e==null||e===""}return console.error("unexpected number of children in qti Null"),null}};customElements.define("qti-is-null",Ze);var Qe=class extends u{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];if(e.baseType===t.baseType&&(e.baseType==="integer"||e.baseType==="float"))return+e.value<+t.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}};customElements.define("qti-lt",Qe);var et=class extends q{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];return e.baseType===t.baseType&&(e.baseType==="integer"||e.baseType==="float")?+e.value<=+t.value:(console.error("unexpected baseType or cardinality in qti lte"),null)}return console.log("unexpected number of children in lte"),null}};customElements.define("qti-lte",et);var X=class extends _lit.LitElement{constructor(){super(...arguments);this.defaultValue=0}get mapEntries(){return Array.from(this.querySelectorAll("qti-map-entry")).map(e=>({mapKey:e.getAttribute("map-key"),mappedValue:+e.getAttribute("mapped-value")}))}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"default-value",type:Number})],X.prototype,"defaultValue",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"lower-bound",type:Number})],X.prototype,"lowerBound",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"upper-bound",type:Number})],X.prototype,"upperBound",2);customElements.define("qti-mapping",X);var be=class extends u{calculate(){let e=this.assessmentItem.getResponse(this.identifier);if(!e)return console.warn(`Response ${this.identifier} can not be found`),null;let t=e.mapping,r=Array.isArray(e.value)?e.value:[e.value],o=0;for(let n of r){let l=t.mapEntries.find(c=>R.compareSingleValues(c.mapKey,n,e.baseType));l==null||l.mappedValue==null?o+=t.defaultValue:o+=l.mappedValue}return t.lowerBound!=null&&(o=Math.max(t.lowerBound,o)),t.upperBound!=null&&(o=Math.min(t.upperBound,o)),o}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],be.prototype,"identifier",2);customElements.define("qti-map-response",be);var rt=class a extends u{calculate(){if(this.children.length===2){let i=this.getVariables(),e=i[0],t=i[1];return this._result=a.match(e,t),this._result}return console.error("unexpected number of children in match"),null}static match(i,e){if(e.cardinality==="single")return Array.isArray(i.value)||Array.isArray(e.value)?(console.error("unexpected cardinality in qti match"),!1):R.compareSingleValues(i.value.toString(),e.value.toString(),e.baseType);{if(!Array.isArray(i.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(i.value.length!==e.value.length)return!1;let t=0;for(let r of e.value){if(e.cardinality==="ordered"){let o=i[t];if(!R.compareSingleValues(r,o,e.baseType))return!1}else{let o=null;for(let n of i.value)if(R.compareSingleValues(r,n,e.baseType)){o=n;break}if(o!==null)i.value.splice(i.value.indexOf(o),1);else return!1}t++}return!0}}};customElements.define("qti-match",rt);var it=class extends u{calculate(){let i=this.getVariables();this.children.length!==2&&(this.error="The member operator takes two sub-expressions");let[e,t]=i;if(e.baseType!==t.baseType&&(this.error="Which must both have the same base-type"),t.cardinality==="multiple"||t.cardinality==="ordered"||(this.error="and the second must be a multiple or ordered container"),(e.baseType==="float"||t.baseType==="float")&&(this.error="The member operator should not be used on sub-expressions with a base-type of float"),(e.baseType==="duration"||t.baseType==="duration")&&(this.error="It must not be used on sub-expressions with a base-type of duration"),e.value===null||t.value===null)return null;let r=e.value;return t.value.includes(r)}};customElements.define("qti-member",it);var st=class extends u{calculate(){let i=this.getVariables();if(i.length===0)return console.error("unexpected number of children in qti multiple"),null;for(let e of i)if(e.cardinality!=="multiple"&&e.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[];return i}};customElements.define("qti-multiple",st);var ot=class extends u{render(){return _lit.html`${super.render()}`}calculate(){return!this.firstElementChild.calculate()}};customElements.define("qti-not",ot);var nt=class extends q{render(){return _lit.html``}calculate(){return Array.from(this.children).map(e=>{let t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let r=t.calculate();if(typeof r=="string")if(r==="true")r=!0;else if(r==="false")r=!1;else return console.error("unexpected value in qti-and, expected boolean"),null;return r}).some(e=>typeof e=="boolean"&&e)}};customElements.define("qti-or",nt);var at=class extends u{calculate(){let i=this.getVariables();if(i.length===0)return console.error("unexpected number of children in qti multiple"),null;for(let e of i)if(e.cardinality!=="ordered"&&e.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[];return i}};customElements.define("qti-ordered",at);var ee=class extends _lit.LitElement{constructor(){super();this.value="";this.closest("qti-assessment-item").addEventListener("qti-response-processing",()=>{this.value=this.calculate()})}render(){return _lit.html`${Array.isArray(this.value)?this.value.map(e=>_lit.html`${e}`):this.value}`}calculate(){let e=this.closest("qti-assessment-item"),t=this.identifier;return e.getVariable(t).value}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],ee.prototype,"identifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],ee.prototype,"value",2);customElements.define("qti-printed-variable",ee);var lt=class extends u{calculate(){return this.getVariables().reduce((t,r)=>{if(r.baseType=="float"||r.baseType=="integer")try{return t*parseInt(r.value.toString())}catch(o){console.warn("can not convert to number")}else console.warn(`has another baseType ${r.baseType}`);return t},1)}};customElements.define("qti-product",lt);var ct=class extends u{calculate(){let i=this.getAttribute("identifier");return this.closest("qti-assessment-item").getVariable(i).value}};customElements.define("qti-variable",ct);var pt=class extends _lit.LitElement{constructor(){super(...arguments);this._errorMessage=null}static get properties(){return{responseIdentifier:{type:String,attribute:"response-identifier"},module:{type:String,attribute:"module"},customInteractionTypeIdentifier:{type:String,attribute:"custom-interaction-type-identifier"},baseUrl:{type:String,attribute:"base-url"},_errorMessage:{type:String,state:!0}}}getTAOConfig(e){let t=e.querySelectorAll("properties"),r={},o=l=>{let c={},p=l.getAttribute("key");if(p){let d=Array.from(l.children),m=d.map(g=>g.getAttribute("key"));m.length>0&&!m.find(g=>!Number.isInteger(+g))?c[p]=d.map(g=>n(g)):c[p]=l.textContent}return c},n=l=>{if(l){let c={};for(let p of l.children)c=_chunk6G76D2MIcjs.a.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},c),o(p));return c}};for(let l of t)return l.getAttribute("key")||(r=_chunk6G76D2MIcjs.a.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},r),n(l))),r;console.log("Can not find qti-custom-interaction config")}register(e){let t=this.parentElement.tagName==="QTI-CUSTOM-INTERACTION"?"TAO":"IMS",r=t=="IMS"?this.querySelector("qti-interaction-markup"):this.querySelector("markup");r.classList.add("qti-customInteraction"),t=="TAO"&&this.querySelector("properties")&&(this.querySelector("properties").style.display="none");let o=t=="IMS"?{properties:this.dataset}:this.getTAOConfig(this);t=="IMS"?e.getInstance(r,o,void 0):e.initialize(this.customInteractionTypeIdentifier,r.firstElementChild,o),t=="TAO"&&Array.from(this.querySelectorAll("link")).map(l=>l.getAttribute("href")).forEach(l=>{let c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.media="screen",c.href=l,r.appendChild(c)})}connectedCallback(){super.connectedCallback();let e={context:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl,catchError:!0};if(window.requirePaths&&window.requireShim&&(e.paths=window.requirePaths,e.shim=window.requireShim),!globalThis.require){this._errorMessage="requirejs not found, load with cdn: https://cdnjs.com/libraries/require.js";return}requirejs.config(e)(["require"],r=>{define("qtiCustomInteractionContext",()=>({register:o=>{this.register(o)},notifyReady:()=>{}})),r([this.module],()=>{},o=>{this._errorMessage=o})},r=>{this._errorMessage=r})}render(){return _lit.html`<slot></slot>${this._errorMessage&&_lit.html`<div style="color:red">
167
167
  <h1>Error</h1>
168
168
  ${this._errorMessage}
169
- </div>`}`}};customElements.define("qti-portable-custom-interaction",pt);var ge=class a{constructor(){this._touchBegin=0;this._touchDown=null;this._lastClick=0;this._canDrag=!1;this._dragSrc=null;this._dragCopy=null;this._touchEndCalled=!1;this._dragRunning=!1;this._dataTransfer={data:{},setData:function(i,e){this.data[i]=e},getData:function(i){return this.data[i]},effectAllowed:"move"};this._copyOffset={x:0,y:0};this._lastTarget=null;this._currentDropContainer=null;this._handleClick=!0;this._DBLCLICKDELAY=500;this._CONTEXTMENUDELAY=1e3;this._DRAGDELTA=5;this._COPYOPACITY=.7;this.copyStylesDragClone=!0;this.dragOnClick=!1;this._createDragCopy=(i,e)=>{if(this._dragCopy===null&&this._dragRunning){this._dragSrc.style.opacity=this._COPYOPACITY,this._dragCopy=this._dragSrc.cloneNode(!0);let t=window.getComputedStyle(this._dragSrc);if(this._dragCopy.style="",this._dragCopy.setAttribute("dragclone",""),this.copyStylesDragClone)for(let r of t)this._dragCopy.style[r]=t.getPropertyValue(r);this._calculateDragCopyPosition(e),this._dragCopy.style.top=e.clientY-this._copyOffset.y+"px",this._dragCopy.style.left=e.clientX-this._copyOffset.x+"px",this._dragCopy.style.position="fixed",this._dragCopy.style.pointerEvents="none",this._dragCopy.style.zIndex="999999",this._dragCopy=document.body.appendChild(this._dragCopy),this._dispatchEvent(this._dragSrc,"dragstart")}if(this._dragRunning){let t=this;requestAnimationFrame(function(){t._touchEndCalled||t._dragCopy===null||(t._dragCopy.style.top=e.clientY-t._copyOffset.y+"px",t._dragCopy.style.left=e.clientX-t._copyOffset.x+"px")});let r=this._findDroppable(i);r!=this._lastTarget&&(this._dispatchEvent(r,"dragenter"),this._dispatchEvent(this._lastTarget,"dragleave"),this._lastTarget=r),this._currentDropContainer=r,this._currentDropContainer&&this._dispatchEvent(r,"dragover")}};return a._instance?a._instance:(a._instance=this,document.addEventListener("touchmove",this._touchMove.bind(this),{passive:!1,capture:!1}),document.addEventListener("mousemove",this._touchMove.bind(this),{passive:!1,capture:!1}),document.addEventListener("touchend",this._touchEnd.bind(this),{passive:!1,capture:!1}),document.addEventListener("mouseup",this._touchEnd.bind(this),{passive:!1,capture:!1}),document.addEventListener("touchcancel",this._touchCancel.bind(this),{passive:!1,capture:!1}),this)}addDraggables(i){i.forEach(e=>{e.addEventListener("touchstart",this._touchStart.bind(this),{passive:!1,capture:!1}),e.addEventListener("mousedown",this._touchStart.bind(this),{passive:!1,capture:!1})})}_touchStart(i){this._touchBegin=Date.now();let{x:e,y:t}=this._getPoint(i);if(this._touchDown={x:e,y:t},this._dragSrc=i.currentTarget,this._canDrag=!0,this.dragOnClick){let r={clientX:e,clientY:t};this._dragRunning=!0,this._createDragCopy(i,r)}i.preventDefault()}_touchMove(i){if(this._canDrag&&this._dragSrc){let{x:e,y:t}=this._getPoint(i),r={clientX:e,clientY:t};this._getDelta(r)>=this._DRAGDELTA&&(this._dragRunning=!0),this._createDragCopy(i,r),i.preventDefault()}}_touchEnd(i){var e;if(this._touchEndCalled=!0,this._canDrag=!1,this._currentDropContainer)this._dispatchEvent(this._currentDropContainer,"drop"),this._dispatchEvent(this._dragSrc,"dragend");else if(this._dragRunning){let t=new CustomEvent("dragend",{bubbles:!0,cancelable:!0});t.dataTransfer={dropEffect:"none"},(e=this._dragSrc)==null||e.dispatchEvent(t)}this._reset()}_touchCancel(i){this._reset()}_findDroppable(i){let e=this._getPoint(i);return this.elementFromPoint(e.x,e.y)}elementFromPoint(i,e){let t=document.elementFromPoint(i,e);if(t){for(;t.shadowRoot;){let r=t.shadowRoot.elementFromPoint(i,e);if(r===null||r===t)break;t=r}return t}return null}_getPoint(i,e){return i&&i.touches&&(i=i.touches[0]),{x:e?i.pageX:i.clientX,y:e?i.pageY:i.clientY}}_calculateDragCopyPosition(i){let e=this._dragSrc.getBoundingClientRect();this._copyOffset.x=i.clientX-e.left,this._copyOffset.y=i.clientY-e.top}_getDelta(i){let e=Math.abs(i.clientX-this._touchDown.x),t=Math.abs(i.clientY-this._touchDown.y);return e+t}_dispatchEvent(i,e,t=!0){if(!i)return!1;let r=new CustomEvent(e,{bubbles:t,cancelable:!0});return r.dataTransfer=this._dataTransfer,i.dispatchEvent(r),r.defaultPrevented}_reset(){this._dragRunning&&(this._dragSrc.style.opacity="1.0",this._dragCopy.parentElement.removeChild(this._dragCopy)),this._dragRunning=!1,this._dragSrc=null,this._dragCopy=null,this._canDrag=!1,this._touchBegin=0,this._touchDown=null,this._lastClick=0,this._touchEndCalled=!1,this._dataTransfer={data:{},setData:function(i,e){this.data[i]=e},getData:function(i){return this.data[i]},effectAllowed:"move"},this._copyOffset={x:0,y:0},this._lastTarget=null,this._currentDropContainer=null,this._handleClick=!0}};var It=(a,i,e)=>{class t extends a{constructor(){super(...arguments);this.disabled=!1}firstUpdated(n){if(this.classList.contains("qti-match-tabular"))return;super.firstUpdated(n);let l=Array.from(i?this.shadowRoot.querySelectorAll(e):this.querySelectorAll(e));this.dragoverHandler=this.dragoverHandler.bind(this),this.dragleaveHandler=this.dragleaveHandler.bind(this),this.dragenterHandler=this.dragenterHandler.bind(this),this.dropHandler=this.dropHandler.bind(this),l.forEach(c=>{c.setAttribute("dropzone","move"),c.addEventListener("dragleave",this.dragleaveHandler),this.attachHandler(c)});for(let c of l)this.observer=new MutationObserver(p=>{p.forEach(d=>{if(d.type==="attributes")switch(d.attributeName){case"disabled":{c.hasAttribute("disabled")?this.removeHandler(c):this.attachHandler(c);break}}})}),this.observer.observe(c,{attributes:!0})}attachHandler(n){n.addEventListener("dragover",this.dragoverHandler),n.addEventListener("dragenter",this.dragenterHandler),n.addEventListener("drop",this.dropHandler)}removeHandler(n){n.removeEventListener("dragover",this.dragoverHandler),n.removeEventListener("dragenter",this.dragenterHandler),n.removeEventListener("drop",this.dropHandler)}disconnectedCallback(){var n;this.classList.contains("qti-match-tabular")||(super.disconnectedCallback(),(n=this.observer)==null||n.disconnect())}dragenterHandler(n){n.preventDefault()}dragoverHandler(n){return n.preventDefault(),n.currentTarget.setAttribute("active",""),n.dataTransfer.dropEffect="move",!1}dropHandler(n){n.preventDefault();let l=n.currentTarget,c=this.querySelector(`[identifier=${n.dataTransfer.getData("text")}`),p=c||this.shadowRoot.querySelector(`[identifier=${n.dataTransfer.getData("text")}`);return l?p.parentElement.getAttribute("identifier")!==l.getAttribute("identifier")&&l.appendChild(p):console.error(`cannot find droppable, target: ${n.target?JSON.stringify(n.target):"null"}`),l.removeAttribute("active"),!1}dragleaveHandler(n){return n.preventDefault(),n.currentTarget.removeAttribute("active"),n.dataTransfer.dropEffect="none",!1}}return _chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean,reflect:!0})],t.prototype,"disabled",2),t};var Ft=(a,i,e)=>{class t extends a{}return t};var L=(a,i,e,t)=>{class r extends Ft(It(a,e,t),t,i){constructor(){super(...arguments);this.draggables=new Map;this.responseIdentifier="";this.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};this.disabled=!1;this.readonly=!1;this.minAssociations=1;this.maxAssociations=1}reInitDragAndDrop(l,c){if(this.classList.contains("qti-match-tabular"))return;l.filter(d=>!this.draggables||!this.draggables.get(d)).length>0&&(this.dragDropApi.addDraggables(l),l.forEach(d=>{this.draggables.set(d,{parent:d.parentElement,index:Array.from(d.parentNode.children).indexOf(d)}),d.setAttribute("qti-draggable","true"),d.addEventListener("dragstart",m=>{m.dataTransfer.setData("text",m.currentTarget.getAttribute("identifier")),d.setAttribute("dragging","")}),d.addEventListener("dragend",m=>{if(m.preventDefault(),d.removeAttribute("over"),d.removeAttribute("dragging"),(m.dataTransfer.dropEffect==="none"||m.dataTransfer.dropEffect===void 0)&&this.configuration.dragCanBePlacedBack){let C=m.currentTarget,g=this.draggables.get(C),Me=g.index<g.parent.children.length?g.index:g.parent.children.length-1,b=g.parent,Ve=g.parent.children[Me];b.insertBefore(C,Ve),this.saveResponse(),this.checkMaxMatchAssociations()}m.dataTransfer.dropEffect==="move"&&(this.saveResponse(),this.checkMaxMatchAssociations())})}))}handleDragOptionsChanged(l,c){this.dragDropApi.copyStylesDragClone=c.copyStylesDragClone,this.dragDropApi.dragOnClick=c.dragOnClick}handleDisabledChange(l,c){this.draggables.forEach((p,d)=>{c?d.setAttribute("disabled",""):d.removeAttribute("disabled"),c?d.removeAttribute("qti-draggable"):d.setAttribute("qti-draggable","true")})}handleReadonlyChange(l,c){this.draggables.forEach((p,d)=>{c?d.setAttribute("readonly",""):d.removeAttribute("readonly"),c?d.removeAttribute("qti-draggable"):d.setAttribute("qti-draggable","true")})}firstUpdated(l){super.firstUpdated(l),this.droppables=Array.from(e?this.shadowRoot.querySelectorAll(t):this.querySelectorAll(t))}connectedCallback(){super.connectedCallback(),this.dragDropApi=new ge,this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,detail:this}))}reset(l=!0){this.draggables.forEach((c,p)=>{let d=c.parent.children,m=c.index<d.length?c.index:d.length;c.parent.insertBefore(p,d[m])}),l&&this.saveResponse()}checkMaxMatchAssociations(){this.droppables.forEach(l=>{let p=+(l.getAttribute("match-max")||1)<=(l.children.length||0);p?l.setAttribute("disabled",""):l.removeAttribute("disabled"),p?l.removeAttribute("dropzone"):l.setAttribute("dropzone","move")})}set response(l){this.classList.contains("qti-match-tabular")||(this.reset(!1),l!==null&&Array.isArray(l)&&l.forEach(c=>{let[p,...d]=c.split(" ").reverse();if(p){let m=this.droppables.find(C=>C.getAttribute("identifier")===p);d.forEach(C=>{let g=this.querySelector(`[identifier=${C}]`);m?g?(m.appendChild(g),this.checkMaxMatchAssociations()):console.error(`cannot find draggable with identifier: ${C}`):console.error(`cannot find droppable with identifier: ${p}`)})}}))}validate(){let c=(e?Array.from(this.shadowRoot.querySelectorAll(t)):Array.from(this.querySelectorAll(t))).filter(p=>p.childElementCount>0).length;return this.minAssociations<=0||this.minAssociations<=c}saveResponse(){let l=this.droppables.map(c=>{var d;let p="";return((d=c.children)==null?void 0:d.length)>0&&(p+=Array.from(c.children).map(m=>m.getAttribute("identifier")).join(" ")+" "),p+=c.getAttribute("identifier"),p});this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:l}}))}}return _chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.a.call(void 0, i)],r.prototype,"reInitDragAndDrop",1),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"response-identifier"})],r.prototype,"responseIdentifier",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:!1,type:Object})],r.prototype,"configuration",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "configuration")],r.prototype,"handleDragOptionsChanged",1),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean,reflect:!0})],r.prototype,"disabled",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],r.prototype,"handleDisabledChange",1),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean,reflect:!0})],r.prototype,"readonly",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "readonly",{waitUntilFirstUpdate:!0})],r.prototype,"handleReadonlyChange",1),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0,attribute:"min-associations"})],r.prototype,"minAssociations",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0,attribute:"max-associations"})],r.prototype,"maxAssociations",2),r};var te=class extends L(_lit.LitElement,"qti-simple-associable-choice",!0,".dl"){render(){return _lit.html` <slot name="prompt"></slot>
169
+ </div>`}`}};customElements.define("qti-portable-custom-interaction",pt);var ge=class a{constructor(){this._touchBegin=0;this._touchDown=null;this._lastClick=0;this._canDrag=!1;this._dragSrc=null;this._dragCopy=null;this._touchEndCalled=!1;this._dragRunning=!1;this._dataTransfer={data:{},setData:function(i,e){this.data[i]=e},getData:function(i){return this.data[i]},effectAllowed:"move"};this._copyOffset={x:0,y:0};this._lastTarget=null;this._currentDropContainer=null;this._handleClick=!0;this._DBLCLICKDELAY=500;this._CONTEXTMENUDELAY=1e3;this._DRAGDELTA=5;this._COPYOPACITY=.7;this.copyStylesDragClone=!0;this.dragOnClick=!1;this._createDragCopy=(i,e)=>{if(this._dragCopy===null&&this._dragRunning){this._dragSrc.style.opacity=this._COPYOPACITY,this._dragCopy=this._dragSrc.cloneNode(!0);let t=window.getComputedStyle(this._dragSrc);if(this._dragCopy.style="",this._dragCopy.setAttribute("dragclone",""),this.copyStylesDragClone)for(let r of t)this._dragCopy.style[r]=t.getPropertyValue(r);this._calculateDragCopyPosition(e),this._dragCopy.style.top=e.clientY-this._copyOffset.y+"px",this._dragCopy.style.left=e.clientX-this._copyOffset.x+"px",this._dragCopy.style.position="fixed",this._dragCopy.style.pointerEvents="none",this._dragCopy.style.zIndex="999999",this._dragCopy=document.body.appendChild(this._dragCopy),this._dispatchEvent(this._dragSrc,"dragstart")}if(this._dragRunning){let t=this;requestAnimationFrame(function(){t._touchEndCalled||t._dragCopy===null||(t._dragCopy.style.top=e.clientY-t._copyOffset.y+"px",t._dragCopy.style.left=e.clientX-t._copyOffset.x+"px")});let r=this._findDroppable(i);r!=this._lastTarget&&(this._dispatchEvent(r,"dragenter"),this._dispatchEvent(this._lastTarget,"dragleave"),this._lastTarget=r),this._currentDropContainer=r,this._currentDropContainer&&this._dispatchEvent(r,"dragover")}};return a._instance?a._instance:(a._instance=this,document.addEventListener("touchmove",this._touchMove.bind(this),{passive:!1,capture:!1}),document.addEventListener("mousemove",this._touchMove.bind(this),{passive:!1,capture:!1}),document.addEventListener("touchend",this._touchEnd.bind(this),{passive:!1,capture:!1}),document.addEventListener("mouseup",this._touchEnd.bind(this),{passive:!1,capture:!1}),document.addEventListener("touchcancel",this._touchCancel.bind(this),{passive:!1,capture:!1}),this)}addDraggables(i){i.forEach(e=>{e.addEventListener("touchstart",this._touchStart.bind(this),{passive:!1,capture:!1}),e.addEventListener("mousedown",this._touchStart.bind(this),{passive:!1,capture:!1})})}_touchStart(i){this._touchBegin=Date.now();let{x:e,y:t}=this._getPoint(i);if(this._touchDown={x:e,y:t},this._dragSrc=i.currentTarget,this._canDrag=!0,this.dragOnClick){let r={clientX:e,clientY:t};this._dragRunning=!0,this._createDragCopy(i,r)}i.preventDefault()}_touchMove(i){if(this._canDrag&&this._dragSrc){let{x:e,y:t}=this._getPoint(i),r={clientX:e,clientY:t};this._getDelta(r)>=this._DRAGDELTA&&(this._dragRunning=!0),this._createDragCopy(i,r),i.preventDefault()}}_touchEnd(i){var e;if(this._touchEndCalled=!0,this._canDrag=!1,this._currentDropContainer)this._dispatchEvent(this._currentDropContainer,"drop"),this._dispatchEvent(this._dragSrc,"dragend");else if(this._dragRunning){let t=new CustomEvent("dragend",{bubbles:!0,cancelable:!0});t.dataTransfer={dropEffect:"none"},(e=this._dragSrc)==null||e.dispatchEvent(t)}this._reset()}_touchCancel(i){this._reset()}_findDroppable(i){let e=this._getPoint(i);return this.elementFromPoint(e.x,e.y)}elementFromPoint(i,e){let t=document.elementFromPoint(i,e);if(t){for(;t.shadowRoot;){let r=t.shadowRoot.elementFromPoint(i,e);if(r===null||r===t)break;t=r}return t}return null}_getPoint(i,e){return i&&i.touches&&(i=i.touches[0]),{x:e?i.pageX:i.clientX,y:e?i.pageY:i.clientY}}_calculateDragCopyPosition(i){let e=this._dragSrc.getBoundingClientRect();this._copyOffset.x=i.clientX-e.left,this._copyOffset.y=i.clientY-e.top}_getDelta(i){let e=Math.abs(i.clientX-this._touchDown.x),t=Math.abs(i.clientY-this._touchDown.y);return e+t}_dispatchEvent(i,e,t=!0){if(!i)return!1;let r=new CustomEvent(e,{bubbles:t,cancelable:!0});return r.dataTransfer=this._dataTransfer,i.dispatchEvent(r),r.defaultPrevented}_reset(){this._dragRunning&&(this._dragSrc.style.opacity="1.0",this._dragCopy.parentElement.removeChild(this._dragCopy)),this._dragRunning=!1,this._dragSrc=null,this._dragCopy=null,this._canDrag=!1,this._touchBegin=0,this._touchDown=null,this._lastClick=0,this._touchEndCalled=!1,this._dataTransfer={data:{},setData:function(i,e){this.data[i]=e},getData:function(i){return this.data[i]},effectAllowed:"move"},this._copyOffset={x:0,y:0},this._lastTarget=null,this._currentDropContainer=null,this._handleClick=!0}};var It=(a,i,e)=>{class t extends a{constructor(){super(...arguments);this.disabled=!1}firstUpdated(n){if(this.classList.contains("qti-match-tabular"))return;super.firstUpdated(n);let l=Array.from(i?this.shadowRoot.querySelectorAll(e):this.querySelectorAll(e));this.dragoverHandler=this.dragoverHandler.bind(this),this.dragleaveHandler=this.dragleaveHandler.bind(this),this.dragenterHandler=this.dragenterHandler.bind(this),this.dropHandler=this.dropHandler.bind(this),l.forEach(c=>{c.setAttribute("dropzone","move"),c.addEventListener("dragleave",this.dragleaveHandler),this.attachHandler(c)});for(let c of l)this.observer=new MutationObserver(p=>{p.forEach(d=>{if(d.type==="attributes")switch(d.attributeName){case"disabled":{c.hasAttribute("disabled")?this.removeHandler(c):this.attachHandler(c);break}}})}),this.observer.observe(c,{attributes:!0})}attachHandler(n){n.addEventListener("dragover",this.dragoverHandler),n.addEventListener("dragenter",this.dragenterHandler),n.addEventListener("drop",this.dropHandler)}removeHandler(n){n.removeEventListener("dragover",this.dragoverHandler),n.removeEventListener("dragenter",this.dragenterHandler),n.removeEventListener("drop",this.dropHandler)}disconnectedCallback(){var n;this.classList.contains("qti-match-tabular")||(super.disconnectedCallback(),(n=this.observer)==null||n.disconnect())}dragenterHandler(n){n.preventDefault()}dragoverHandler(n){return n.preventDefault(),n.currentTarget.setAttribute("active",""),n.dataTransfer.dropEffect="move",!1}dropHandler(n){n.preventDefault();let l=n.currentTarget,c=this.querySelector(`[identifier=${n.dataTransfer.getData("text")}`),p=c||this.shadowRoot.querySelector(`[identifier=${n.dataTransfer.getData("text")}`);return l?p.parentElement.getAttribute("identifier")!==l.getAttribute("identifier")&&l.appendChild(p):console.error(`cannot find droppable, target: ${n.target?JSON.stringify(n.target):"null"}`),l.removeAttribute("active"),!1}dragleaveHandler(n){return n.preventDefault(),n.currentTarget.removeAttribute("active"),n.dataTransfer.dropEffect="none",!1}}return _chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean,reflect:!0})],t.prototype,"disabled",2),t};var Ft=(a,i,e)=>{class t extends a{}return t};var L=(a,i,e,t)=>{class r extends Ft(It(a,e,t),t,i){constructor(){super(...arguments);this.draggables=new Map;this.responseIdentifier="";this.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};this.disabled=!1;this.readonly=!1;this.minAssociations=1;this.maxAssociations=1}reInitDragAndDrop(l,c){if(this.classList.contains("qti-match-tabular"))return;l.filter(d=>!this.draggables||!this.draggables.get(d)).length>0&&(this.dragDropApi.addDraggables(l),l.forEach(d=>{this.draggables.set(d,{parent:d.parentElement,index:Array.from(d.parentNode.children).indexOf(d)}),d.setAttribute("qti-draggable","true"),d.addEventListener("dragstart",m=>{m.dataTransfer.setData("text",m.currentTarget.getAttribute("identifier")),d.setAttribute("dragging","")}),d.addEventListener("dragend",m=>{if(m.preventDefault(),d.removeAttribute("over"),d.removeAttribute("dragging"),(m.dataTransfer.dropEffect==="none"||m.dataTransfer.dropEffect===void 0)&&this.configuration.dragCanBePlacedBack){let C=m.currentTarget,g=this.draggables.get(C),Me=g.index<g.parent.children.length?g.index:g.parent.children.length-1,b=g.parent,Ve=g.parent.children[Me];b.insertBefore(C,Ve),this.saveResponse(),this.checkMaxMatchAssociations()}m.dataTransfer.dropEffect==="move"&&(this.saveResponse(),this.checkMaxMatchAssociations())})}))}handleDragOptionsChanged(l,c){this.dragDropApi.copyStylesDragClone=c.copyStylesDragClone,this.dragDropApi.dragOnClick=c.dragOnClick}handleDisabledChange(l,c){this.draggables.forEach((p,d)=>{c?d.setAttribute("disabled",""):d.removeAttribute("disabled"),c?d.removeAttribute("qti-draggable"):d.setAttribute("qti-draggable","true")})}handleReadonlyChange(l,c){this.draggables.forEach((p,d)=>{c?d.setAttribute("readonly",""):d.removeAttribute("readonly"),c?d.removeAttribute("qti-draggable"):d.setAttribute("qti-draggable","true")})}firstUpdated(l){super.firstUpdated(l),this.droppables=Array.from(e?this.shadowRoot.querySelectorAll(t):this.querySelectorAll(t))}connectedCallback(){super.connectedCallback(),this.dragDropApi=new ge,this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,detail:this}))}reset(l=!0){this.draggables.forEach((c,p)=>{let d=c.parent.children,m=c.index<d.length?c.index:d.length;c.parent.insertBefore(p,d[m])}),l&&this.saveResponse()}checkMaxMatchAssociations(){this.droppables.forEach(l=>{let p=+(l.getAttribute("match-max")||1)<=(l.children.length||0);p?l.setAttribute("disabled",""):l.removeAttribute("disabled"),p?l.removeAttribute("dropzone"):l.setAttribute("dropzone","move")})}set response(l){this.classList.contains("qti-match-tabular")||(this.reset(!1),l!==null&&Array.isArray(l)&&l.forEach(c=>{let[p,...d]=c.split(" ").reverse();if(p){let m=this.droppables.find(C=>C.getAttribute("identifier")===p);d.forEach(C=>{let g=this.querySelector(`[identifier=${C}]`);m?g?(m.appendChild(g),this.checkMaxMatchAssociations()):console.error(`cannot find draggable with identifier: ${C}`):console.error(`cannot find droppable with identifier: ${p}`)})}}))}validate(){let c=(e?Array.from(this.shadowRoot.querySelectorAll(t)):Array.from(this.querySelectorAll(t))).filter(p=>p.childElementCount>0).length;return this.minAssociations<=0||this.minAssociations<=c}saveResponse(){let l=this.droppables.map(c=>{var d;let p="";return((d=c.children)==null?void 0:d.length)>0&&(p+=Array.from(c.children).map(m=>m.getAttribute("identifier")).join(" ")+" "),p+=c.getAttribute("identifier"),p});this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:l}}))}}return _chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.a.call(void 0, i)],r.prototype,"reInitDragAndDrop",1),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"response-identifier"})],r.prototype,"responseIdentifier",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:!1,type:Object})],r.prototype,"configuration",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "configuration")],r.prototype,"handleDragOptionsChanged",1),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean,reflect:!0})],r.prototype,"disabled",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],r.prototype,"handleDisabledChange",1),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean,reflect:!0})],r.prototype,"readonly",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "readonly",{waitUntilFirstUpdate:!0})],r.prototype,"handleReadonlyChange",1),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0,attribute:"min-associations"})],r.prototype,"minAssociations",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0,attribute:"max-associations"})],r.prototype,"maxAssociations",2),r};var te=class extends L(_lit.LitElement,"qti-simple-associable-choice",!0,".dl"){render(){return _lit.html` <slot name="prompt"></slot>
170
170
  <slot name="qti-simple-associable-choice"></slot>
171
171
  ${this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map((e,t)=>_lit.html`<div part="associables-container">
172
172
  <div name="left${t}" part="drop-list" class="dl" identifier="droplist${t}_left"></div>
@@ -180,7 +180,7 @@
180
180
  flex-wrap: wrap;
181
181
  gap: 0.5rem;
182
182
  }
183
- `,_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],te.prototype,"_childrenMap",2);customElements.define("qti-associate-interaction",te);var ve=class extends L(_lit.LitElement,"qti-gap-text",!1,"qti-gap"){render(){return _lit.html` <slot part="drags" name="qti-gap-text"></slot>
183
+ `,_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],te.prototype,"_childrenMap",2);customElements.define("qti-associate-interaction",te);var ve=class extends L(_lit.LitElement,"qti-gap-text",!1,"qti-gap"){render(){return _lit.html` <slot part="drags" name="qti-gap-text"></slot>
184
184
  <slot part="drops"></slot>`}};ve.styles=[_lit.css`
185
185
  :host {
186
186
  display: flex;
@@ -257,7 +257,7 @@
257
257
  top: 0px;
258
258
  left: 0px;
259
259
  }
260
- `],_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],M.prototype,"_lines",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],M.prototype,"startCoord",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],M.prototype,"mouseCoord",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.query.call(void 0, "svg")],M.prototype,"svgContainer",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.queryAssignedElements.call(void 0, {selector:"img"})],M.prototype,"grImage",2);customElements.define("qti-graphic-associate-interaction",M);var ye=class extends L(_lit.LitElement,"qti-gap-img",!1,"qti-associable-hotspot"){render(){return _lit.html` <slot></slot>
260
+ `],_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],M.prototype,"_lines",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],M.prototype,"startCoord",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],M.prototype,"mouseCoord",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.query.call(void 0, "svg")],M.prototype,"svgContainer",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.queryAssignedElements.call(void 0, {selector:"img"})],M.prototype,"grImage",2);customElements.define("qti-graphic-associate-interaction",M);var ye=class extends L(_lit.LitElement,"qti-gap-img",!1,"qti-associable-hotspot"){render(){return _lit.html` <slot></slot>
261
261
  <slot name="qti-gap-img"></slot>`}positionHotspotOnRegister(i){let e=this.querySelector("img"),t=i.target,r=t.getAttribute("coords"),o=t.getAttribute("shape"),n=r.split(",").map(l=>parseInt(l));switch(o){case"circle":{let[l,c,p]=n;t.style.left=l-p+"px",t.style.top=c-p+"px",t.style.width=t.style.height=2*p+"px"}break;case"rect":{let[l,c,p,d]=n;t.style.left=l+"px",t.style.top=c+"px",t.style.width=p-l+"px",t.style.height=d-c+"px"}break;default:break}}connectedCallback(){super.connectedCallback(),this.addEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}};ye.styles=_lit.css`
262
262
  :host {
263
263
  display: inline-block;
@@ -317,12 +317,12 @@
317
317
  type="checkbox"
318
318
  value=${r.getAttribute("identifier")}
319
319
  .checked=${this.response.includes(n)}
320
- @change=${l=>{l.target.checked?this.response.push(n):this.response=this.response.filter(p=>p!==n),this.requestUpdate(),this.saveResponse()}}
320
+ @change=${l=>{l.target.checked?this.response.push(n):this.response=this.response.filter(p=>p!==n),this.requestUpdate(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:this.response}}))}}
321
321
  />
322
322
  </td>`})}
323
323
  </tr>`)}
324
324
  </table>
325
- `:_lit.html`<slot name="prompt"></slot> <slot></slot>`}saveResponse(){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:this.response}}))}};z.styles=[],_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],z.prototype,"response",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"response-identifier"})],z.prototype,"responseIdentifier",2);customElements.define("qti-match-interaction",z);var qe=class extends f{constructor(){super()}reset(){}validate(){return!0}set response(e){}static get properties(){return _chunkHOQW4KDAcjs.b.call(void 0, _chunkHOQW4KDAcjs.a.call(void 0, {},f.properties),{step:{type:Number,attribute:"step",default:10}})}render(){return _lit.html` <slot name="prompt"></slot>
325
+ `:_lit.html`<slot name="prompt"></slot> <slot></slot>`}};z.styles=[],_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],z.prototype,"response",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String,attribute:"response-identifier"})],z.prototype,"responseIdentifier",2);customElements.define("qti-match-interaction",z);var qe=class extends f{constructor(){super()}reset(){}validate(){return!0}set response(e){}static get properties(){return _chunk6G76D2MIcjs.b.call(void 0, _chunk6G76D2MIcjs.a.call(void 0, {},f.properties),{step:{type:Number,attribute:"step",default:10}})}render(){return _lit.html` <slot name="prompt"></slot>
326
326
  <slot></slot>`}connectedCallback(){super.connectedCallback()}};qe.styles=[_lit.css``];customElements.define("qti-media-interaction",qe);var j=class extends L(_lit.LitElement,"qti-simple-choice",!0,"drop-list"){render(){return _lit.html` <slot name="prompt"> </slot>
327
327
  <div part="container">
328
328
  <slot part="drags"> </slot>
@@ -377,7 +377,7 @@
377
377
  :host(.qti-choices-right) [part='container'] {
378
378
  flex-direction: row-reverse;
379
379
  }
380
- `],_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],j.prototype,"orientation",2);customElements.define("qti-order-interaction",j);var Ce=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}};Ce.styles=[_lit.css`
380
+ `],_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],j.prototype,"orientation",2);customElements.define("qti-order-interaction",j);var Ce=class extends _lit.LitElement{render(){return _lit.html`<slot></slot>`}};Ce.styles=[_lit.css`
381
381
  :host {
382
382
  display: block;
383
383
  }
@@ -411,7 +411,7 @@
411
411
  display: block;
412
412
  position: relative;
413
413
  }
414
- `],_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"max-choices"})],D.prototype,"maxChoices",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"min-choices"})],D.prototype,"minChoices",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],D.prototype,"_points",2);customElements.define("qti-select-point-interaction",D);var x=class extends f{constructor(){super();this.stepLabel=!1;this.reverse=!1;this._handleDisabledChange=(e,t)=>{};this._handleReadonlyChange=(e,t)=>{};this.csLive=getComputedStyle(this)}set min(e){this._min=e,this.value=e,this.style.setProperty("--min",`${this._min}`)}get min(){return this._min}set max(e){this._max=e,this.style.setProperty("--max",`${this._max}`)}get max(){return this._max}set step(e){this._step=e,this.style.setProperty("--step",`${this._step}`)}get step(){return this._step}reset(){}validate(){return!0}set response(e){if(Array.isArray(e)){console.error("QtiSliderInteraction: response is an array, but should be a single value");return}let t=parseInt(e);if(Number.isNaN(t)){console.error("QtiSliderInteraction: response is not a number");return}this.value=t}render(){this.value<this.min&&(this.value=this.min),this.value>this.max&&(this.value=this.max);let e=(this.value-this.min)/(this.max-this.min)*100;return this.style.setProperty("--value-percentage",`${e}%`),this.setAttribute("aria-valuenow",this.value.toString()),_lit.html`<slot name="prompt"></slot>
414
+ `],_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"max-choices"})],D.prototype,"maxChoices",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"min-choices"})],D.prototype,"minChoices",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.state.call(void 0, )],D.prototype,"_points",2);customElements.define("qti-select-point-interaction",D);var x=class extends f{constructor(){super();this.stepLabel=!1;this.reverse=!1;this._handleDisabledChange=(e,t)=>{};this._handleReadonlyChange=(e,t)=>{};this.csLive=getComputedStyle(this)}set min(e){this._min=e,this.value=e,this.style.setProperty("--min",`${this._min}`)}get min(){return this._min}set max(e){this._max=e,this.style.setProperty("--max",`${this._max}`)}get max(){return this._max}set step(e){this._step=e,this.style.setProperty("--step",`${this._step}`)}get step(){return this._step}reset(){}validate(){return!0}set response(e){if(Array.isArray(e)){console.error("QtiSliderInteraction: response is an array, but should be a single value");return}let t=parseInt(e);if(Number.isNaN(t)){console.error("QtiSliderInteraction: response is not a number");return}this.value=t}render(){this.value<this.min&&(this.value=this.min),this.value>this.max&&(this.value=this.max);let e=(this.value-this.min)/(this.max-this.min)*100;return this.style.setProperty("--value-percentage",`${e}%`),this.setAttribute("aria-valuenow",this.value.toString()),_lit.html`<slot name="prompt"></slot>
415
415
  <div id="slider" part="slider">
416
416
  ${this.csLive.getPropertyValue("--show-bounds")=="true"?_lit.html`<div id="bounds" part="bounds">
417
417
  <div>${this._min}</div>
@@ -423,16 +423,16 @@
423
423
  ${this.csLive.getPropertyValue("--show-value")=="true"?_lit.html`<div id="value" part="value">${this.value}</div>`:_lit.nothing}
424
424
  </div>
425
425
  </div>
426
- </div>`}connectedCallback(){super.connectedCallback(),this.step=1,this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}_onTouchMove(e){let t=l=>{let{x:c}=this.getPositionFromEvent(l),p=c-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(p),l.stopPropagation()},r=()=>{document.removeEventListener("touchmove",t),document.removeEventListener("touchend",r),this.saveResponse(this.value.toString())};document.addEventListener("touchmove",t),document.addEventListener("touchend",r);let{x:o}=this.getPositionFromEvent(e),n=o-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(n),e.stopPropagation()}_onMouseDown(e){let t=n=>{let l=n.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(l),n.preventDefault(),n.stopPropagation()},r=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r),this.saveResponse(this.value.toString())};document.addEventListener("mousemove",t),document.addEventListener("mouseup",r);let o=e.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(o),e.preventDefault(),e.stopPropagation()}calculateValue(e){let t=this.min+(this.max-this.min)*e/this._rail.getBoundingClientRect().width,r=this.min+Math.round((t-this.min)/this._step)*this._step;this.value=r}getPositionFromEvent(e){let t;if(e.type=="touchstart"||e.type=="touchmove"||e.type=="touchend"||e.type=="touchcancel"){let r=typeof e.originalEvent=="undefined"?e:e.originalEvent,o=r.touches[0]||r.changedTouches[0];t={x:o.pageX,y:o.pageY}}else(e.type=="mousedown"||e.type=="mouseup"||e.type=="mousemove"||e.type=="mouseover"||e.type=="mouseout"||e.type=="mouseenter"||e.type=="mouseleave")&&(t={x:e.clientX,y:e.clientY});return t}};x.styles=[_lit.css``],_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.query.call(void 0, "#knob")],x.prototype,"_knob",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.query.call(void 0, "#rail")],x.prototype,"_rail",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number})],x.prototype,"value",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean,attribute:"step-label"})],x.prototype,"stepLabel",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean})],x.prototype,"reverse",2),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"lower-bound"})],x.prototype,"min",1),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"upper-bound"})],x.prototype,"max",1),_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"step"})],x.prototype,"step",1),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],x.prototype,"_handleDisabledChange",2),_chunkHOQW4KDAcjs.c.call(void 0, [_chunkC4C24R3Icjs.b.call(void 0, "readonly",{waitUntilFirstUpdate:!0})],x.prototype,"_handleReadonlyChange",2);customElements.define("qti-slider-interaction",x);var Ae=class extends _lit.LitElement{render(){return _lit.html`<button @click=${this.endAttempt}>${this.title}</button>`}endAttempt(e){this.closest("qti-assessment-item").processResponse()}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],Ae.prototype,"title",2);customElements.define("qti-end-attempt-interaction",Ae);var Re=class extends _lit.LitElement{connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,cancelable:!1,composed:!0}))}render(){return _lit.html` <slot name="qti-gap-img"></slot> `}};Re.styles=_lit.css`
426
+ </div>`}connectedCallback(){super.connectedCallback(),this.step=1,this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}_onTouchMove(e){let t=l=>{let{x:c}=this.getPositionFromEvent(l),p=c-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(p),l.stopPropagation()},r=()=>{document.removeEventListener("touchmove",t),document.removeEventListener("touchend",r),this.saveResponse(this.value.toString())};document.addEventListener("touchmove",t),document.addEventListener("touchend",r);let{x:o}=this.getPositionFromEvent(e),n=o-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(n),e.stopPropagation()}_onMouseDown(e){let t=n=>{let l=n.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(l),n.preventDefault(),n.stopPropagation()},r=()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r),this.saveResponse(this.value.toString())};document.addEventListener("mousemove",t),document.addEventListener("mouseup",r);let o=e.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(o),e.preventDefault(),e.stopPropagation()}calculateValue(e){let t=this.min+(this.max-this.min)*e/this._rail.getBoundingClientRect().width,r=this.min+Math.round((t-this.min)/this._step)*this._step;this.value=r}getPositionFromEvent(e){let t;if(e.type=="touchstart"||e.type=="touchmove"||e.type=="touchend"||e.type=="touchcancel"){let r=typeof e.originalEvent=="undefined"?e:e.originalEvent,o=r.touches[0]||r.changedTouches[0];t={x:o.pageX,y:o.pageY}}else(e.type=="mousedown"||e.type=="mouseup"||e.type=="mousemove"||e.type=="mouseover"||e.type=="mouseout"||e.type=="mouseenter"||e.type=="mouseleave")&&(t={x:e.clientX,y:e.clientY});return t}};x.styles=[_lit.css``],_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.query.call(void 0, "#knob")],x.prototype,"_knob",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.query.call(void 0, "#rail")],x.prototype,"_rail",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number})],x.prototype,"value",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean,attribute:"step-label"})],x.prototype,"stepLabel",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Boolean})],x.prototype,"reverse",2),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"lower-bound"})],x.prototype,"min",1),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"upper-bound"})],x.prototype,"max",1),_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,attribute:"step"})],x.prototype,"step",1),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "disabled",{waitUntilFirstUpdate:!0})],x.prototype,"_handleDisabledChange",2),_chunk6G76D2MIcjs.c.call(void 0, [_chunkM4CYU6DCcjs.b.call(void 0, "readonly",{waitUntilFirstUpdate:!0})],x.prototype,"_handleReadonlyChange",2);customElements.define("qti-slider-interaction",x);var Ae=class extends _lit.LitElement{render(){return _lit.html`<button @click=${this.endAttempt}>${this.title}</button>`}endAttempt(e){this.closest("qti-assessment-item").processResponse()}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:String})],Ae.prototype,"title",2);customElements.define("qti-end-attempt-interaction",Ae);var Te=class extends _lit.LitElement{connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,cancelable:!1,composed:!0}))}render(){return _lit.html` <slot name="qti-gap-img"></slot> `}};Te.styles=_lit.css`
427
427
  :host {
428
428
  position: absolute;
429
429
  }
430
- `;customElements.define("qti-associable-hotspot",Re);var Te=class extends _lit.LitElement{constructor(){super(...arguments);this.tabindex=0}connectedCallback(){this.setAttribute("slot","qti-gap-img")}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0})],Te.prototype,"tabindex",2);customElements.define("qti-gap-img",Te);var we=class extends _lit.LitElement{constructor(){super(...arguments);this.tabindex=0}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-gap-text")}render(){return _lit.html`<slot></slot>`}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0})],we.prototype,"tabindex",2);customElements.define("qti-gap-text",we);var Le=class extends _lit.LitElement{constructor(){super(...arguments);this.tabindex=0}render(){return _lit.html` <slot name="qti-gap-text"></slot>`}};_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0})],Le.prototype,"tabindex",2);customElements.define("qti-gap",Le);var ie=class extends y{};ie.styles=_lit.css`
430
+ `;customElements.define("qti-associable-hotspot",Te);var we=class extends _lit.LitElement{constructor(){super(...arguments);this.tabindex=0}connectedCallback(){this.setAttribute("slot","qti-gap-img")}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0})],we.prototype,"tabindex",2);customElements.define("qti-gap-img",we);var Re=class extends _lit.LitElement{constructor(){super(...arguments);this.tabindex=0}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-gap-text")}render(){return _lit.html`<slot></slot>`}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0})],Re.prototype,"tabindex",2);customElements.define("qti-gap-text",Re);var Le=class extends _lit.LitElement{constructor(){super(...arguments);this.tabindex=0}render(){return _lit.html` <slot name="qti-gap-text"></slot>`}};_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {type:Number,reflect:!0})],Le.prototype,"tabindex",2);customElements.define("qti-gap",Le);var ie=class extends y{};ie.styles=_lit.css`
431
431
  :host {
432
432
  position: absolute;
433
433
  }
434
- `,_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"aria-ordervalue",type:Number,reflect:!0})],ie.prototype,"order",2);customElements.define("qti-hotspot-choice",ie);var Se=class extends y{render(){return _lit.html`<div part="ch"><div part="cha"></div></div>
435
- <slot></slot> `}};Se= exports.QtiHottext =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-hottext")],Se);var ht=class extends _lit.LitElement{};customElements.define("qti-inline-choice",ht);var se=class extends y{render(){return _lit.html`<div part="ch"><div part="cha"></div></div>
434
+ `,_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.property.call(void 0, {attribute:"aria-ordervalue",type:Number,reflect:!0})],ie.prototype,"order",2);customElements.define("qti-hotspot-choice",ie);var Se=class extends y{render(){return _lit.html`<div part="ch"><div part="cha"></div></div>
435
+ <slot></slot> `}};Se= exports.QtiHottext =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-hottext")],Se);var ht=class extends _lit.LitElement{};customElements.define("qti-inline-choice",ht);var se=class extends y{render(){return _lit.html`<div part="ch"><div part="cha"></div></div>
436
436
  <slot></slot> `}};se.styles=_lit.css`
437
437
  :host {
438
438
  display: flex;
@@ -441,4 +441,4 @@
441
441
  width: 100%;
442
442
  display: block;
443
443
  }
444
- `,se= exports.QtiSimpleChoice =_chunkHOQW4KDAcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-simple-choice")],se);exports.Events = Rt; exports.OutcomeVariable = H; exports.QtPrintedVariable = ee; exports.QtiAnd = je; exports.QtiAssessmentItem = A; exports.QtiAssociableHotspot = Re; exports.QtiAssociateInteraction = te; exports.QtiBaseValue = me; exports.QtiChoice = y; exports.QtiChoiceElementSelected = At; exports.QtiChoiceInteraction = F; exports.QtiCompanionMaterialsInfo = ne; exports.QtiConditionExpression = q; exports.QtiContains = Ke; exports.QtiCorrect = We; exports.QtiEndAttemptInteraction = Ae; exports.QtiEqual = he; exports.QtiEqualRounded = fe; exports.QtiExpression = u; exports.QtiExtendedTextInteraction = T; exports.QtiFeedbackBlock = Pe; exports.QtiFeedbackInline = pe; exports.QtiGap = Le; exports.QtiGapImg = Te; exports.QtiGapMatchInteraction = ve; exports.QtiGapText = we; exports.QtiGraphicAssociateInteraction = M; exports.QtiGraphicGapMatchInteraction = ye; exports.QtiGraphicOrderInteraction = xe; exports.QtiGt = Ge; exports.QtiGte = Je; exports.QtiHotspotChoice = ie; exports.QtiHotspotInteraction = Ee; exports.QtiHottext = Se; exports.QtiHottextInteraction = Ue; exports.QtiInlineChoice = ht; exports.QtiInlineChoiceInteraction = I; exports.QtiInteractionChanged = yt; exports.QtiInteractionResponse = kt; exports.QtiIsNull = Ze; exports.QtiLooseChoice = _t; exports.QtiLt = Qe; exports.QtiLte = et; exports.QtiMapResponse = be; exports.QtiMapping = X; exports.QtiMatch = rt; exports.QtiMatchInteraction = z; exports.QtiMediaInteraction = qe; exports.QtiMember = it; exports.QtiModalFeedback = Oe; exports.QtiMultiple = st; exports.QtiNot = ot; exports.QtiOr = nt; exports.QtiOrderInteraction = j; exports.QtiOrdered = at; exports.QtiOutcomeChanged = vt; exports.QtiOutcomeDeclaration = P; exports.QtiPortableCustomInteraction = pt; exports.QtiPositionObjectStage = _e; exports.QtiProduct = lt; exports.QtiPrompt = He; exports.QtiRegisterChoice = qt; exports.QtiRegisterHotspot = Ct; exports.QtiRegisterInteraction = Et; exports.QtiRegisterVariable = xt; exports.QtiResponseCondition = Xe; exports.QtiResponseDeclaration = O; exports.QtiResponseElse = J; exports.QtiResponseElseIf = Be; exports.QtiResponseIf = Z; exports.QtiResponseProcessing = U; exports.QtiRule = S; exports.QtiSPositionObjectInteraction = Ce; exports.QtiSelectPointInteraction = D; exports.QtiSetOutcomeValue = Ye; exports.QtiSimpleAssociableChoice = ut; exports.QtiSimpleChoice = se; exports.QtiSliderInteraction = x; exports.QtiStylesheet = De; exports.QtiTextEntryInteraction = _; exports.QtiVariable = ct; exports.ResponseVariable = N; exports.qtiContentBody = le; exports.qtiRubricBlock = R;
444
+ `,se= exports.QtiSimpleChoice =_chunk6G76D2MIcjs.c.call(void 0, [_decoratorsjs.customElement.call(void 0, "qti-simple-choice")],se);exports.Events = Tt; exports.OutcomeVariable = H; exports.QtPrintedVariable = ee; exports.QtiAnd = je; exports.QtiAssessmentItem = A; exports.QtiAssociableHotspot = Te; exports.QtiAssociateInteraction = te; exports.QtiBaseValue = me; exports.QtiChoice = y; exports.QtiChoiceElementSelected = At; exports.QtiChoiceInteraction = F; exports.QtiCompanionMaterialsInfo = ne; exports.QtiConditionExpression = q; exports.QtiContains = Ke; exports.QtiCorrect = We; exports.QtiEndAttemptInteraction = Ae; exports.QtiEqual = he; exports.QtiEqualRounded = fe; exports.QtiExpression = u; exports.QtiExtendedTextInteraction = w; exports.QtiFeedbackBlock = Pe; exports.QtiFeedbackInline = pe; exports.QtiGap = Le; exports.QtiGapImg = we; exports.QtiGapMatchInteraction = ve; exports.QtiGapText = Re; exports.QtiGraphicAssociateInteraction = M; exports.QtiGraphicGapMatchInteraction = ye; exports.QtiGraphicOrderInteraction = xe; exports.QtiGt = Ge; exports.QtiGte = Je; exports.QtiHotspotChoice = ie; exports.QtiHotspotInteraction = Ee; exports.QtiHottext = Se; exports.QtiHottextInteraction = Ue; exports.QtiInlineChoice = ht; exports.QtiInlineChoiceInteraction = I; exports.QtiInteractionChanged = yt; exports.QtiInteractionResponse = kt; exports.QtiIsNull = Ze; exports.QtiLooseChoice = _t; exports.QtiLt = Qe; exports.QtiLte = et; exports.QtiMapResponse = be; exports.QtiMapping = X; exports.QtiMatch = rt; exports.QtiMatchInteraction = z; exports.QtiMediaInteraction = qe; exports.QtiMember = it; exports.QtiModalFeedback = Oe; exports.QtiMultiple = st; exports.QtiNot = ot; exports.QtiOr = nt; exports.QtiOrderInteraction = j; exports.QtiOrdered = at; exports.QtiOutcomeChanged = vt; exports.QtiOutcomeDeclaration = P; exports.QtiPortableCustomInteraction = pt; exports.QtiPositionObjectStage = _e; exports.QtiProduct = lt; exports.QtiPrompt = He; exports.QtiRegisterChoice = qt; exports.QtiRegisterHotspot = Ct; exports.QtiRegisterInteraction = Et; exports.QtiRegisterVariable = xt; exports.QtiResponseCondition = Xe; exports.QtiResponseDeclaration = O; exports.QtiResponseElse = J; exports.QtiResponseElseIf = Be; exports.QtiResponseIf = Z; exports.QtiResponseProcessing = U; exports.QtiRule = S; exports.QtiSPositionObjectInteraction = Ce; exports.QtiSelectPointInteraction = D; exports.QtiSetOutcomeValue = Ye; exports.QtiSimpleAssociableChoice = ut; exports.QtiSimpleChoice = se; exports.QtiSliderInteraction = x; exports.QtiStylesheet = De; exports.QtiTextEntryInteraction = _; exports.QtiVariable = ct; exports.ResponseVariable = N; exports.qtiContentBody = le; exports.qtiRubricBlock = T;
@@ -1,9 +1,9 @@
1
- import { V as VariableDeclaration, B as BaseType, C as Cardinality, a as Choices, I as Interaction, Q as QtiRule, b as QtiAssessmentItem, R as ResponseVariable, c as QtiChoice } from '../qti-simple-choice-86f433b6.js';
2
- export { f as Calculate, j as InteractionChangedDetails, M as Multiple, O as Ordered, h as OutcomeChangedDetails, u as OutcomeVariable, s as QtiChoiceElementSelected, x as QtiChoiceInteraction, w as QtiExtendedTextInteraction, A as QtiHottext, k as QtiInteractionChanged, r as QtiInteractionResponse, p as QtiLooseChoice, z as QtiMapping, q as QtiOutcomeChanged, n as QtiRegisterChoice, o as QtiRegisterHotspot, m as QtiRegisterInteraction, l as QtiRegisterVariable, y as QtiResponseProcessing, D as QtiSimpleChoice, v as QtiTextEntryInteraction, e as ResponseInteraction, t as ResultVariable, d as directedPair, g as float, i as integer } from '../qti-simple-choice-86f433b6.js';
1
+ import { V as VariableDeclaration, B as BaseType, C as Cardinality, a as Choices, b as Interaction, c as QtiRule, Q as QtiAssessmentItem, R as ResponseVariable, d as QtiChoice } from '../qti-simple-choice-9a8c789b.js';
2
+ export { g as Calculate, I as InteractionChangedDetails, M as Multiple, j as Ordered, O as OutcomeChangedDetails, u as OutcomeVariable, s as QtiChoiceElementSelected, x as QtiChoiceInteraction, w as QtiExtendedTextInteraction, A as QtiHottext, k as QtiInteractionChanged, r as QtiInteractionResponse, p as QtiLooseChoice, z as QtiMapping, q as QtiOutcomeChanged, n as QtiRegisterChoice, o as QtiRegisterHotspot, m as QtiRegisterInteraction, l as QtiRegisterVariable, y as QtiResponseProcessing, D as QtiSimpleChoice, v as QtiTextEntryInteraction, f as ResponseInteraction, t as ResultVariable, e as directedPair, h as float, i as integer } from '../qti-simple-choice-9a8c789b.js';
3
3
  import * as lit from 'lit';
4
4
  import { LitElement, PropertyValueMap } from 'lit';
5
5
  import * as lit_html from 'lit-html';
6
- import { A as Audience } from '../audience-context-444478f4.js';
6
+ import { Audience } from '../context/index.cjs';
7
7
  import { ContextConsumer } from '@lit-labs/context';
8
8
  import 'lit-html/directives/ref';
9
9
 
@@ -393,7 +393,6 @@ declare class QtiMatchInteraction extends QtiMatchInteraction_base {
393
393
  responseIdentifier: string;
394
394
  connectedCallback(): void;
395
395
  render(): lit_html.TemplateResult<1>;
396
- protected saveResponse(): void;
397
396
  }
398
397
 
399
398
  declare class QtiMediaInteraction extends Interaction {
@@ -1,9 +1,9 @@
1
- import { V as VariableDeclaration, B as BaseType, C as Cardinality, a as Choices, I as Interaction, Q as QtiRule, b as QtiAssessmentItem, R as ResponseVariable, c as QtiChoice } from '../qti-simple-choice-86f433b6.js';
2
- export { f as Calculate, j as InteractionChangedDetails, M as Multiple, O as Ordered, h as OutcomeChangedDetails, u as OutcomeVariable, s as QtiChoiceElementSelected, x as QtiChoiceInteraction, w as QtiExtendedTextInteraction, A as QtiHottext, k as QtiInteractionChanged, r as QtiInteractionResponse, p as QtiLooseChoice, z as QtiMapping, q as QtiOutcomeChanged, n as QtiRegisterChoice, o as QtiRegisterHotspot, m as QtiRegisterInteraction, l as QtiRegisterVariable, y as QtiResponseProcessing, D as QtiSimpleChoice, v as QtiTextEntryInteraction, e as ResponseInteraction, t as ResultVariable, d as directedPair, g as float, i as integer } from '../qti-simple-choice-86f433b6.js';
1
+ import { V as VariableDeclaration, B as BaseType, C as Cardinality, a as Choices, b as Interaction, c as QtiRule, Q as QtiAssessmentItem, R as ResponseVariable, d as QtiChoice } from '../qti-simple-choice-9a8c789b.js';
2
+ export { g as Calculate, I as InteractionChangedDetails, M as Multiple, j as Ordered, O as OutcomeChangedDetails, u as OutcomeVariable, s as QtiChoiceElementSelected, x as QtiChoiceInteraction, w as QtiExtendedTextInteraction, A as QtiHottext, k as QtiInteractionChanged, r as QtiInteractionResponse, p as QtiLooseChoice, z as QtiMapping, q as QtiOutcomeChanged, n as QtiRegisterChoice, o as QtiRegisterHotspot, m as QtiRegisterInteraction, l as QtiRegisterVariable, y as QtiResponseProcessing, D as QtiSimpleChoice, v as QtiTextEntryInteraction, f as ResponseInteraction, t as ResultVariable, e as directedPair, h as float, i as integer } from '../qti-simple-choice-9a8c789b.js';
3
3
  import * as lit from 'lit';
4
4
  import { LitElement, PropertyValueMap } from 'lit';
5
5
  import * as lit_html from 'lit-html';
6
- import { A as Audience } from '../audience-context-444478f4.js';
6
+ import { Audience } from '../context/index.js';
7
7
  import { ContextConsumer } from '@lit-labs/context';
8
8
  import 'lit-html/directives/ref';
9
9
 
@@ -393,7 +393,6 @@ declare class QtiMatchInteraction extends QtiMatchInteraction_base {
393
393
  responseIdentifier: string;
394
394
  connectedCallback(): void;
395
395
  render(): lit_html.TemplateResult<1>;
396
- protected saveResponse(): void;
397
396
  }
398
397
 
399
398
  declare class QtiMediaInteraction extends Interaction {