@citolab/qti-components 6.6.1-1 → 6.6.1-11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs ADDED
@@ -0,0 +1,720 @@
1
+ var Me=Object.defineProperty,As=Object.defineProperties,Er=Object.getOwnPropertyDescriptor,qs=Object.getOwnPropertyDescriptors,$s=Object.getOwnPropertyNames,yr=Object.getOwnPropertySymbols;var _r=Object.prototype.hasOwnProperty,ws=Object.prototype.propertyIsEnumerable;var xr=(i,t,e)=>t in i?Me(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,x=(i,t)=>{for(var e in t||(t={}))_r.call(t,e)&&xr(i,e,t[e]);if(yr)for(var e of yr(t))ws.call(t,e)&&xr(i,e,t[e]);return i},k=(i,t)=>As(i,qs(t));var Ss=(i,t)=>{for(var e in t)Me(i,e,{get:t[e],enumerable:!0})},ks=(i,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of $s(t))!_r.call(i,s)&&s!==e&&Me(i,s,{get:()=>t[s],enumerable:!(r=Er(t,s))||r.enumerable});return i};var Rs=i=>ks(Me({},"__esModule",{value:!0}),i),l=(i,t,e,r)=>{for(var s=r>1?void 0:r?Er(t,e):t,n=i.length-1,o;n>=0;n--)(o=i[n])&&(s=(r?o(t,e,s):o(s))||s);return r&&s&&Me(t,e,s),s};var li={};Ss(li,{Interaction:()=>$,QtPrintedVariable:()=>Se,QtiAnd:()=>tt,QtiAssessmentItem:()=>M,QtiAssociableHotspot:()=>mt,QtiAssociateInteraction:()=>ke,QtiBaseValue:()=>rt,QtiChoice:()=>R,QtiChoiceInteraction:()=>he,QtiCompanionMaterialsInfo:()=>je,QtiConditionExpression:()=>H,QtiContains:()=>Ot,QtiContentBody:()=>Ye,QtiCorrect:()=>Ut,QtiEndAttemptInteraction:()=>ge,QtiEqual:()=>it,QtiEqualRounded:()=>st,QtiExpression:()=>v,QtiExtendedTextInteraction:()=>F,QtiFeedbackBlock:()=>We,QtiFeedbackInline:()=>Je,QtiGap:()=>ft,QtiGapImg:()=>bt,QtiGapMatchInteraction:()=>at,QtiGapText:()=>gt,QtiGraphicAssociateInteraction:()=>j,QtiGraphicGapMatchInteraction:()=>lt,QtiGraphicOrderInteraction:()=>ct,QtiGt:()=>It,QtiGte:()=>Ft,QtiHotspotChoice:()=>Te,QtiHotspotInteraction:()=>pt,QtiHottext:()=>vt,QtiHottextInteraction:()=>Vt,QtiInlineChoice:()=>or,QtiInlineChoiceInteraction:()=>se,QtiIsNull:()=>Bt,QtiLookupOutcomeValue:()=>et,QtiLt:()=>Xt,QtiLte:()=>zt,QtiMapResponse:()=>ot,QtiMapping:()=>me,QtiMatch:()=>jt,QtiMatchInteraction:()=>fe,QtiMediaInteraction:()=>dt,QtiMember:()=>Yt,QtiModalFeedback:()=>Ge,QtiMultiple:()=>Kt,QtiNot:()=>Wt,QtiOr:()=>Jt,QtiOrderInteraction:()=>be,QtiOrdered:()=>Gt,QtiOutcomeDeclaration:()=>J,QtiPortableCustomInteraction:()=>tr,QtiPositionObjectStage:()=>ht,QtiProduct:()=>Zt,QtiPrompt:()=>ze,QtiResponseCondition:()=>Ht,QtiResponseDeclaration:()=>G,QtiResponseElse:()=>$e,QtiResponseElseIf:()=>Dt,QtiResponseIf:()=>we,QtiResponseProcessing:()=>ie,QtiRubricBlock:()=>U,QtiRule:()=>B,QtiSPositionObjectInteraction:()=>ut,QtiSelectPointInteraction:()=>oe,QtiSetOutcomeValue:()=>Nt,QtiSimpleAssociableChoice:()=>ir,QtiSimpleChoice:()=>Le,QtiSliderInteraction:()=>L,QtiStringMatch:()=>nt,QtiStylesheet:()=>Rt,QtiSum:()=>Qt,QtiTextEntryInteraction:()=>V,QtiVariable:()=>er,itemContext:()=>W,qtiAndMixin:()=>fs,qtiTransformItem:()=>ri,qtiTransformTest:()=>si});module.exports=Rs(li);var ee=class extends Event{constructor(t,e,r){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.callback=e,this.subscribe=r!=null?r:!1}};var ye=class{constructor(t,e,r,s){var n;if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(o,a)=>{this.unsubscribe&&(this.unsubscribe!==a&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=o,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(o,a)),this.unsubscribe=a},this.host=t,e.context!==void 0){let o=e;this.context=o.context,this.callback=o.callback,this.subscribe=(n=o.subscribe)!=null?n:!1}else this.context=e,this.callback=r,this.subscribe=s!=null?s:!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new ee(this.context,this.t,this.subscribe))}};var xt=class{get value(){return this.o}set value(t){this.setValue(t)}setValue(t,e=!1){let r=e||!Object.is(t,this.o);this.o=t,r&&this.updateObservers()}constructor(t){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:r}]of this.subscriptions)e(this.o,r)},t!==void 0&&(this.value=t)}addCallback(t,e,r){if(!r)return void t(this.value);this.subscriptions.has(t)||this.subscriptions.set(t,{disposer:()=>{this.subscriptions.delete(t)},consumerHost:e});let{disposer:s}=this.subscriptions.get(t);t(this.value,s)}clearCallbacks(){this.subscriptions.clear()}};var nr=class extends Event{constructor(t){super("context-provider",{bubbles:!0,composed:!0}),this.context=t}},xe=class extends xt{constructor(t,e,r){var s,n;super(e.context!==void 0?e.initialValue:r),this.onContextRequest=o=>{let a=o.composedPath()[0];o.context===this.context&&a!==this.host&&(o.stopPropagation(),this.addCallback(o.callback,a,o.subscribe))},this.onProviderRequest=o=>{let a=o.composedPath()[0];if(o.context!==this.context||a===this.host)return;let c=new Set;for(let[d,{consumerHost:h}]of this.subscriptions)c.has(d)||(c.add(d),h.dispatchEvent(new ee(this.context,d,!0)));o.stopPropagation()},this.host=t,e.context!==void 0?this.context=e.context:this.context=e,this.attachListeners(),(n=(s=this.host).addController)==null||n.call(s,this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new nr(this.context))}};function ar({context:i}){return(t,e)=>{let r=new WeakMap;if(typeof e=="object")return e.addInitializer(function(){r.set(this,new xe(this,{context:i}))}),{get(){return t.get.call(this)},set(s){var n;return(n=r.get(this))==null||n.setValue(s),t.set.call(this,s)},init(s){var n;return(n=r.get(this))==null||n.setValue(s),s}};{t.constructor.addInitializer(o=>{r.set(o,new xe(o,{context:i}))});let s=Object.getOwnPropertyDescriptor(t,e),n;if(s===void 0){let o=new WeakMap;n={get:function(){return o.get(this)},set:function(a){r.get(this).setValue(a),o.set(this,a)},configurable:!0,enumerable:!0}}else{let o=s.set;n=k(x({},s),{set:function(a){r.get(this).setValue(a),o==null||o.call(this,a)}})}return void Object.defineProperty(t,e,n)}}}function ne({context:i,subscribe:t}){return(e,r)=>{typeof r=="object"?r.addInitializer(function(){new ye(this,{context:i,callback:s=>{this[r.name]=s},subscribe:t})}):e.constructor.addInitializer(s=>{new ye(s,{context:i,callback:n=>{s[r]=n},subscribe:t})})}}var Cr=class{get shadowRoot(){return this.__host.__shadowRoot}constructor(t){this.ariaAtomic="",this.ariaAutoComplete="",this.ariaBraileLabel="",this.ariaBraileRoleDescription="",this.ariaBusy="",this.ariaChecked="",this.ariaColCount="",this.ariaColIndex="",this.ariaColSpan="",this.ariaCurrent="",this.ariaDescription="",this.ariaDisabled="",this.ariaExpanded="",this.ariaHasPopup="",this.ariaHidden="",this.ariaInvalid="",this.ariaKeyShortcuts="",this.ariaLabel="",this.ariaLevel="",this.ariaLive="",this.ariaModal="",this.ariaMultiLine="",this.ariaMultiSelectable="",this.ariaOrientation="",this.ariaPlaceholder="",this.ariaPosInSet="",this.ariaPressed="",this.ariaReadOnly="",this.ariaRequired="",this.ariaRoleDescription="",this.ariaRowCount="",this.ariaRowIndex="",this.ariaRowSpan="",this.ariaSelected="",this.ariaSetSize="",this.ariaSort="",this.ariaValueMax="",this.ariaValueMin="",this.ariaValueNow="",this.ariaValueText="",this.role="",this.form=null,this.labels=[],this.states=new Set,this.validationMessage="",this.validity={},this.willValidate=!0,this.__host=t}checkValidity(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),!0}reportValidity(){return!0}setFormValue(){}setValidity(){}};var Ar=new WeakMap,Pe=i=>{let t=Ar.get(i);return t===void 0&&Ar.set(i,t=new Map),t},Ls=class{constructor(){this.__shadowRootMode=null,this.__shadowRoot=null,this.__internals=null}get attributes(){return Array.from(Pe(this)).map(([t,e])=>({name:t,value:e}))}get shadowRoot(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}setAttribute(t,e){Pe(this).set(t,String(e))}removeAttribute(t){Pe(this).delete(t)}hasAttribute(t){return Pe(this).has(t)}attachShadow(t){let e={host:this};return this.__shadowRootMode=t.mode,t&&t.mode==="open"&&(this.__shadowRoot=e),e}attachInternals(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");let t=new Cr(this);return this.__internals=t,t}getAttribute(t){let e=Pe(this).get(t);return e!=null?e:null}};var Ms=class extends Ls{},qr=Ms;var Ps=class{constructor(){this.__definitions=new Map}define(t,e){var r;if(this.__definitions.has(t))throw new Error(`Failed to execute 'define' on 'CustomElementRegistry': the name "${t}" has already been used with this registry`);this.__definitions.set(t,{ctor:e,observedAttributes:(r=e.observedAttributes)!=null?r:[]})}get(t){let e=this.__definitions.get(t);return e==null?void 0:e.ctor}},Vs=Ps;var $r=new Vs;var Ve=globalThis,Et=Ve.ShadowRoot&&(Ve.ShadyCSS===void 0||Ve.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,lr=Symbol(),wr=new WeakMap,He=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==lr)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Et&&t===void 0){let r=e!==void 0&&e.length===1;r&&(t=wr.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&wr.set(e,t))}return t}toString(){return this.cssText}},Sr=i=>new He(typeof i=="string"?i:i+"",void 0,lr),b=(i,...t)=>{let e=i.length===1?i[0]:t.reduce((r,s,n)=>r+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+i[n+1],i[0]);return new He(e,i,lr)},cr=(i,t)=>{if(Et)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let r=document.createElement("style"),s=Ve.litNonce;s!==void 0&&r.setAttribute("nonce",s),r.textContent=e.cssText,i.appendChild(r)}},_t=Et||Ve.CSSStyleSheet===void 0?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(let r of t.cssRules)e+=r.cssText;return Sr(e)})(i):i;var{is:Hs,defineProperty:Ns,getOwnPropertyDescriptor:Ds,getOwnPropertyNames:Os,getOwnPropertySymbols:Us,getPrototypeOf:Is}=Object,O=globalThis,Tr;(Tr=O.customElements)!=null||(O.customElements=$r);var kr=O.trustedTypes,Fs=kr?kr.emptyScript:"",pr=O.reactiveElementPolyfillSupport,Ne=(i,t)=>i,De={toAttribute(i,t){switch(t){case Boolean:i=i?Fs:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch(r){e=null}}return e}},Ct=(i,t)=>!Hs(i,t),Rr={attribute:!0,type:String,converter:De,reflect:!1,hasChanged:Ct},Lr,Mr;(Lr=Symbol.metadata)!=null||(Symbol.metadata=Symbol("metadata")),(Mr=O.litPropertyMetadata)!=null||(O.litPropertyMetadata=new WeakMap);var Pr,Y=class extends((Pr=globalThis.HTMLElement)!=null?Pr:qr){static addInitializer(t){var e;this._$Ei(),((e=this.l)!=null?e:this.l=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=Rr){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){let r=Symbol(),s=this.getPropertyDescriptor(t,r,e);s!==void 0&&Ns(this.prototype,t,s)}}static getPropertyDescriptor(t,e,r){var o;let{get:s,set:n}=(o=Ds(this.prototype,t))!=null?o:{get(){return this[e]},set(a){this[e]=a}};return{get(){return s==null?void 0:s.call(this)},set(a){let c=s==null?void 0:s.call(this);n.call(this,a),this.requestUpdate(t,c,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){var e;return(e=this.elementProperties.get(t))!=null?e:Rr}static _$Ei(){if(this.hasOwnProperty(Ne("elementProperties")))return;let t=Is(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(Ne("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Ne("properties"))){let e=this.properties,r=[...Os(e),...Us(e)];for(let s of r)this.createProperty(s,e[s])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[r,s]of e)this.elementProperties.set(r,s)}this._$Eh=new Map;for(let[e,r]of this.elementProperties){let s=this._$Eu(e,r);s!==void 0&&this._$Eh.set(s,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let r=new Set(t.flat(1/0).reverse());for(let s of r)e.unshift(_t(s))}else t!==void 0&&e.push(_t(t));return e}static _$Eu(t,e){let r=e.attribute;return r===!1?void 0:typeof r=="string"?r:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var t;this._$Eg=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)==null||t.forEach(e=>e(this))}addController(t){var e,r;((e=this._$ES)!=null?e:this._$ES=[]).push(t),this.renderRoot!==void 0&&this.isConnected&&((r=t.hostConnected)==null||r.call(t))}removeController(t){var e;(e=this._$ES)==null||e.splice(this._$ES.indexOf(t)>>>0,1)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){var e;let t=(e=this.shadowRoot)!=null?e:this.attachShadow(this.constructor.shadowRootOptions);return cr(t,this.constructor.elementStyles),t}connectedCallback(){var t,e;(t=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$ES)==null||e.forEach(r=>{var s;return(s=r.hostConnected)==null?void 0:s.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$ES)==null||t.forEach(e=>{var r;return(r=e.hostDisconnected)==null?void 0:r.call(e)})}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EO(t,e){var n;let r=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,r);if(s!==void 0&&r.reflect===!0){let o=(((n=r.converter)==null?void 0:n.toAttribute)!==void 0?r.converter:De).toAttribute(e,r.type);this._$Em=t,o==null?this.removeAttribute(s):this.setAttribute(s,o),this._$Em=null}}_$AK(t,e){var n;let r=this.constructor,s=r._$Eh.get(t);if(s!==void 0&&this._$Em!==s){let o=r.getPropertyOptions(s),a=typeof o.converter=="function"?{fromAttribute:o.converter}:((n=o.converter)==null?void 0:n.fromAttribute)!==void 0?o.converter:De;this._$Em=s,this[s]=a.fromAttribute(e,o.type),this._$Em=null}}requestUpdate(t,e,r,s=!1,n){var o;if(t!==void 0){if(r!=null||(r=this.constructor.getPropertyOptions(t)),!((o=r.hasChanged)!=null?o:Ct)(s?n:this[t],e))return;this.C(t,e,r)}this.isUpdatePending===!1&&(this._$Eg=this._$EP())}C(t,e,r){var s;this._$AL.has(t)||this._$AL.set(t,e),r.reflect===!0&&this._$Em!==t&&((s=this._$Ej)!=null?s:this._$Ej=new Set).add(t)}async _$EP(){this.isUpdatePending=!0;try{await this._$Eg}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this._$Ep){for(let[n,o]of this._$Ep)this[n]=o;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[n,o]of s)o.wrapped!==!0||this._$AL.has(n)||this[n]===void 0||this.C(n,this[n],o)}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),(r=this._$ES)==null||r.forEach(s=>{var n;return(n=s.hostUpdate)==null?void 0:n.call(s)}),this.update(e)):this._$ET()}catch(s){throw t=!1,this._$ET(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){var e;(e=this._$ES)==null||e.forEach(r=>{var s;return(s=r.hostUpdated)==null?void 0:s.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$ET(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Eg}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EO(e,this[e]))),this._$ET()}updated(t){}firstUpdated(t){}},Vr;Y.elementStyles=[],Y.shadowRootOptions={mode:"open"},Y[Ne("elementProperties")]=new Map,Y[Ne("finalized")]=new Map,pr==null||pr({ReactiveElement:Y}),((Vr=O.reactiveElementVersions)!=null?Vr:O.reactiveElementVersions=[]).push("2.0.0");var Ee=globalThis,At=Ee.trustedTypes,Hr=At?At.createPolicy("lit-html",{createHTML:i=>i}):void 0,hr="$lit$",K=`lit$${(Math.random()+"").slice(9)}$`,mr="?"+K,Bs=`<${mr}>`,ce=Ee.document===void 0?{createTreeWalker:()=>({})}:document,Ue=()=>ce.createComment(""),Ie=i=>i===null||typeof i!="object"&&typeof i!="function",Br=Array.isArray,Xr=i=>Br(i)||typeof(i==null?void 0:i[Symbol.iterator])=="function",dr=`[
2
+ \f\r]`,Oe=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Nr=/-->/g,Dr=/>/g,ae=RegExp(`>|${dr}(?:([^\\s"'>=/]+)(${dr}*=${dr}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),Or=/'/g,Ur=/"/g,zr=/^(?:script|style|textarea|title)$/i,jr=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),u=jr(1),Be=jr(2),P=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),Ir=new WeakMap,le=ce.createTreeWalker(ce,129);function Yr(i,t){if(!Array.isArray(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return Hr!==void 0?Hr.createHTML(t):t}var Kr=(i,t)=>{let e=i.length-1,r=[],s,n=t===2?"<svg>":"",o=Oe;for(let a=0;a<e;a++){let c=i[a],d,h,m=-1,y=0;for(;y<c.length&&(o.lastIndex=y,h=o.exec(c),h!==null);)y=o.lastIndex,o===Oe?h[1]==="!--"?o=Nr:h[1]!==void 0?o=Dr:h[2]!==void 0?(zr.test(h[2])&&(s=RegExp("</"+h[2],"g")),o=ae):h[3]!==void 0&&(o=ae):o===ae?h[0]===">"?(o=s!=null?s:Oe,m=-1):h[1]===void 0?m=-2:(m=o.lastIndex-h[2].length,d=h[1],o=h[3]===void 0?ae:h[3]==='"'?Ur:Or):o===Ur||o===Or?o=ae:o===Nr||o===Dr?o=Oe:(o=ae,s=void 0);let g=o===ae&&i[a+1].startsWith("/>")?" ":"";n+=o===Oe?c+Bs:m>=0?(r.push(d),c.slice(0,m)+hr+c.slice(m)+K+g):c+K+(m===-2?a:g)}return[Yr(i,n+(i[e]||"<?>")+(t===2?"</svg>":"")),r]},Fe=class i{constructor({strings:t,_$litType$:e},r){let s;this.parts=[];let n=0,o=0,a=t.length-1,c=this.parts,[d,h]=Kr(t,e);if(this.el=i.createElement(d,r),le.currentNode=this.el.content,e===2){let m=this.el.content.firstChild;m.replaceWith(...m.childNodes)}for(;(s=le.nextNode())!==null&&c.length<a;){if(s.nodeType===1){if(s.hasAttributes())for(let m of s.getAttributeNames())if(m.endsWith(hr)){let y=h[o++],g=s.getAttribute(m).split(K),q=/([.?@])?(.*)/.exec(y);c.push({type:1,index:n,name:q[2],strings:g,ctor:q[1]==="."?$t:q[1]==="?"?wt:q[1]==="@"?St:de}),s.removeAttribute(m)}else m.startsWith(K)&&(c.push({type:6,index:n}),s.removeAttribute(m));if(zr.test(s.tagName)){let m=s.textContent.split(K),y=m.length-1;if(y>0){s.textContent=At?At.emptyScript:"";for(let g=0;g<y;g++)s.append(m[g],Ue()),le.nextNode(),c.push({type:2,index:++n});s.append(m[y],Ue())}}}else if(s.nodeType===8)if(s.data===mr)c.push({type:2,index:n});else{let m=-1;for(;(m=s.data.indexOf(K,m+1))!==-1;)c.push({type:7,index:n}),m+=K.length-1}n++}}static createElement(t,e){let r=ce.createElement("template");return r.innerHTML=t,r}};function pe(i,t,e=i,r){var o,a,c;if(t===P)return t;let s=r!==void 0?(o=e._$Co)==null?void 0:o[r]:e._$Cl,n=Ie(t)?void 0:t._$litDirective$;return(s==null?void 0:s.constructor)!==n&&((a=s==null?void 0:s._$AO)==null||a.call(s,!1),n===void 0?s=void 0:(s=new n(i),s._$AT(i,e,r)),r!==void 0?((c=e._$Co)!=null?c:e._$Co=[])[r]=s:e._$Cl=s),s!==void 0&&(t=pe(i,s._$AS(i,t.values),s,r)),t}var qt=class{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var d;let{el:{content:e},parts:r}=this._$AD,s=((d=t==null?void 0:t.creationScope)!=null?d:ce).importNode(e,!0);le.currentNode=s;let n=le.nextNode(),o=0,a=0,c=r[0];for(;c!==void 0;){if(o===c.index){let h;c.type===2?h=new _e(n,n.nextSibling,this,t):c.type===1?h=new c.ctor(n,c.name,c.strings,this,t):c.type===6&&(h=new kt(n,this,t)),this._$AV.push(h),c=r[++a]}o!==(c==null?void 0:c.index)&&(n=le.nextNode(),o++)}return le.currentNode=ce,s}p(t){let e=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}},_e=class i{get _$AU(){var t,e;return(e=(t=this._$AM)==null?void 0:t._$AU)!=null?e:this._$Cv}constructor(t,e,r,s){var n;this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=s,this._$Cv=(n=s==null?void 0:s.isConnected)!=null?n:!0}get parentNode(){let t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=pe(this,t,e),Ie(t)?t===E||t==null||t===""?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==P&&this._(t):t._$litType$!==void 0?this.g(t):t.nodeType!==void 0?this.$(t):Xr(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==E&&Ie(this._$AH)?this._$AA.nextSibling.data=t:this.$(ce.createTextNode(t)),this._$AH=t}g(t){var n;let{values:e,_$litType$:r}=t,s=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=Fe.createElement(Yr(r.h,r.h[0]),this.options)),r);if(((n=this._$AH)==null?void 0:n._$AD)===s)this._$AH.p(e);else{let o=new qt(s,this),a=o.u(this.options);o.p(e),this.$(a),this._$AH=o}}_$AC(t){let e=Ir.get(t.strings);return e===void 0&&Ir.set(t.strings,e=new Fe(t)),e}T(t){Br(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,r,s=0;for(let n of t)s===e.length?e.push(r=new i(this.k(Ue()),this.k(Ue()),this,this.options)):r=e[s],r._$AI(n),s++;s<e.length&&(this._$AR(r&&r._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,e);t&&t!==this._$AB;){let s=t.nextSibling;t.remove(),t=s}}setConnected(t){var e;this._$AM===void 0&&(this._$Cv=t,(e=this._$AP)==null||e.call(this,t))}},de=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,s,n){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=n,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=E}_$AI(t,e=this,r,s){let n=this.strings,o=!1;if(n===void 0)t=pe(this,t,e,0),o=!Ie(t)||t!==this._$AH&&t!==P,o&&(this._$AH=t);else{let a=t,c,d;for(t=n[0],c=0;c<n.length-1;c++)d=pe(this,a[r+c],e,c),d===P&&(d=this._$AH[c]),o||(o=!Ie(d)||d!==this._$AH[c]),d===E?t=E:t!==E&&(t+=(d!=null?d:"")+n[c+1]),this._$AH[c]=d}o&&!s&&this.O(t)}O(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!=null?t:"")}},$t=class extends de{constructor(){super(...arguments),this.type=3}O(t){this.element[this.name]=t===E?void 0:t}},wt=class extends de{constructor(){super(...arguments),this.type=4}O(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}},St=class extends de{constructor(t,e,r,s,n){super(t,e,r,s,n),this.type=5}_$AI(t,e=this){var o;if((t=(o=pe(this,t,e,0))!=null?o:E)===P)return;let r=this._$AH,s=t===E&&r!==E||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,n=t!==E&&(r===E||s);s&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,r;typeof this._$AH=="function"?this._$AH.call((r=(e=this.options)==null?void 0:e.host)!=null?r:this.element,t):this._$AH.handleEvent(t)}},kt=class{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){pe(this,t)}},Wr={j:hr,P:K,A:mr,C:1,M:Kr,L:qt,R:Xr,V:pe,D:_e,I:de,H:wt,N:St,U:$t,B:kt},ur=Ee.litHtmlPolyfillSupport,Fr;ur==null||ur(Fe,_e),((Fr=Ee.litHtmlVersions)!=null?Fr:Ee.litHtmlVersions=[]).push("3.1.0");var Jr=(i,t,e)=>{var n,o;let r=(n=e==null?void 0:e.renderBefore)!=null?n:t,s=r._$litPart$;if(s===void 0){let a=(o=e==null?void 0:e.renderBefore)!=null?o:null;r._$litPart$=s=new _e(t.insertBefore(Ue(),a),a,void 0,e!=null?e:{})}return s._$AI(i),s};var f=class extends Y{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,r;let t=super.createRenderRoot();return(r=(e=this.renderOptions).renderBefore)!=null||(e.renderBefore=t.firstChild),t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Jr(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this._$Do)==null||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._$Do)==null||t.setConnected(!1)}render(){return P}},Gr;f._$litElement$=!0,f.finalized=!0,(Gr=globalThis.litElementHydrateSupport)==null||Gr.call(globalThis,{LitElement:f});var fr=globalThis.litElementPolyfillSupport;fr==null||fr({LitElement:f});var Zr;((Zr=globalThis.litElementVersions)!=null?Zr:globalThis.litElementVersions=[]).push("4.0.0");var _=i=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(i,t)}):customElements.define(i,t)};var Xs={attribute:!0,type:String,converter:De,reflect:!1,hasChanged:Ct},zs=(i=Xs,t,e)=>{let{kind:r,metadata:s}=e,n=globalThis.litPropertyMetadata.get(s);if(n===void 0&&globalThis.litPropertyMetadata.set(s,n=new Map),n.set(e.name,i),r==="accessor"){let{name:o}=e;return{set(a){let c=t.get.call(this);t.set.call(this,a),this.requestUpdate(o,c,i)},init(a){return a!==void 0&&this.C(o,void 0,i),a}}}if(r==="setter"){let{name:o}=e;return function(a){let c=this[o];t.call(this,a),this.requestUpdate(o,c,i)}}throw Error("Unsupported decorator location: "+r)};function p(i){return(t,e)=>typeof e=="object"?zs(i,t,e):((r,s,n)=>{let o=s.hasOwnProperty(n);return s.constructor.createProperty(n,o?k(x({},r),{wrapped:!0}):r),o?Object.getOwnPropertyDescriptor(s,n):void 0})(i,t,e)}function C(i){return p(k(x({},i),{state:!0,attribute:!1}))}var te=(i,t,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(i,t,e),e);function Xe(i,t){return(e,r,s)=>{let n=o=>{var a,c;return(c=(a=o.renderRoot)==null?void 0:a.querySelector(i))!=null?c:null};if(t){let{get:o,set:a}=typeof r=="object"?e:s!=null?s:(()=>{let c=Symbol();return{get(){return this[c]},set(d){this[c]=d}}})();return te(e,r,{get(){if(t){let c=o.call(this);return c===void 0&&(c=n(this),a.call(this,c)),c}return n(this)}})}return te(e,r,{get(){return n(this)}})}}function Qr(i){return(t,e)=>{let{slot:r,selector:s}=i!=null?i:{},n="slot"+(r?`[name=${r}]`:":not([name])");return te(t,e,{get(){var c,d;let o=(c=this.renderRoot)==null?void 0:c.querySelector(n),a=(d=o==null?void 0:o.assignedElements(i))!=null?d:[];return s===void 0?a:a.filter(h=>h.matches(s))}})}}function w(i,t){let e=x({waitUntilFirstUpdate:!1},t);return(r,s)=>{let{update:n}=r,o=Array.isArray(i)?i:[i];r.update=function(a){o.forEach(c=>{let d=c;if(a.has(d)){let h=a.get(d),m=this[d];h!==m&&(!e.waitUntilFirstUpdate||this.hasUpdated)&&this[s](h,m)}}),n.call(this,a)}}}var W="item";var M=class extends f{constructor(){super();this.identifier="";this.adaptive="false";this.timeDependent="false";this._handleDisabledChange=(e,r)=>{this._interactionElements.forEach(s=>s.disabled=r)};this._handleReadonlyChange=(e,r)=>this._interactionElements.forEach(s=>s.readonly=r);this._context={identifier:this.getAttribute("identifier"),variables:[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}]};this._initialContext=k(x({},this._context),{variables:this._context.variables});this._feedbackElements=[];this._interactionElements=[];this.addEventListener("qti-register-variable",({detail:e})=>{this._context=k(x({},this._context),{variables:[...this._context.variables,e.variable]}),this._initialContext=this._context}),this.addEventListener("qti-register-feedback",e=>{e.stopPropagation();let r=e.detail;this._feedbackElements.push(r),r.checkShowFeedback(r.outcomeIdentifier)}),this.addEventListener("qti-register-interaction",e=>{e.stopPropagation(),this._interactionElements.push(e.target)}),this.addEventListener("end-attempt",e=>{let{responseIdentifier:r,countAttempt:s}=e.detail;this.updateResponseVariable(r,"true"),this.processResponse(s)}),this.addEventListener("qti-set-outcome-value",e=>{let{outcomeIdentifier:r,value:s}=e.detail;this.updateOutcomeVariable(r,s)}),this.addEventListener("qti-interaction-response",this.handleUpdateResponseVariable)}get variables(){return this._context.variables.map(e=>({identifier:e.identifier,value:e.value,type:e.type}))}set variables(e){if(!Array.isArray(e)||e.some(r=>!("identifier"in r))){console.warn("variables property should be an array of VariableDeclaration");return}this._context=k(x({},this._context),{variables:this._context.variables.map(r=>{let s=e.find(n=>n.identifier===r.identifier);return s?x(x({},r),s):r})}),this._context.variables.forEach(r=>{if(r.type==="response"){let s=this._interactionElements.find(n=>n.responseIdentifier===r.identifier);s&&(s.response=r.value)}r.type==="outcome"&&this._feedbackElements.forEach(s=>s.checkShowFeedback(r.identifier))})}firstUpdated(e){super.firstUpdated(e),this._emit("qti-assessment-item-first-updated",this)}disconnectedCallback(){super.disconnectedCallback(),this._emit("qti-item-disconnected")}set responses(e){if(e)for(let r of e){this.getResponse(r.responseIdentifier)&&this.updateResponseVariable(r.responseIdentifier,r.response);let n=this._interactionElements.find(o=>o.getAttribute("response-identifier")===r.responseIdentifier);n&&(n.response=r.response)}}render(){return u`<slot></slot>`}showCorrectResponse(e){let s=this._context.variables.filter(n=>"correctResponse"in n&&n.correctResponse).map(n=>({responseIdentifier:n.identifier,response:n.correctResponse}));for(let n of s){let o=this._interactionElements.find(a=>a.getAttribute("response-identifier")===n.responseIdentifier);o&&(o.correctResponse=e?n.response:"")}}processResponse(e=!0){var s;let r=this.querySelector("qti-response-processing");return r?r.process?(r.process(),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus()),e&&this.updateOutcomeVariable("numAttempts",(+((s=this._context.variables.find(n=>n.identifier==="numAttempts"))==null?void 0:s.value)+1).toString()),this._emit("qti-response-processed"),!0):(console.info("Client side response webcomponents not available"),!1):(console.info("Client side response processing template not available"),!1)}resetResponses(){this._context=this._initialContext}getResponse(e){return this.getVariable(e)}getOutcome(e){return this.getVariable(e)}getVariable(e){return this._context.variables.find(r=>r.identifier===e)||null}handleUpdateResponseVariable(e){let{responseIdentifier:r,response:s}=e.detail;this.updateResponseVariable(r,s)}updateResponseVariable(e,r){this._context=k(x({},this._context),{variables:this._context.variables.map(s=>s.identifier!==e?s:k(x({},s),{value:r}))}),this._emit("qti-interaction-changed",{item:this.identifier,responseIdentifier:e,response:r})}updateOutcomeVariable(e,r){var n;let s=this.getOutcome(e);if(!s){console.warn(`Can not set qti-outcome-identifier: ${e}, it is not available`);return}this._context=k(x({},this._context),{variables:this._context.variables.map(o=>o.identifier!==e?o:k(x({},o),{value:s.cardinality==="single"?r:[...o.value,r]}))}),this._feedbackElements.forEach(o=>o.checkShowFeedback(e)),this._emit("qti-outcome-changed",{item:this.identifier,outcomeIdentifier:e,value:(n=this._context.variables.find(o=>o.identifier===e))==null?void 0:n.value})}_getCompletionStatus(){return this._interactionElements.every(e=>e.validate())?"completed":this._interactionElements.some(e=>e.validate())?"incomplete":"not_attempted"}_emit(e,r=null){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:r}))}};l([p({type:String})],M.prototype,"title",2),l([p({type:String})],M.prototype,"identifier",2),l([p({type:String})],M.prototype,"adaptive",2),l([p({type:String})],M.prototype,"timeDependent",2),l([p({type:Boolean})],M.prototype,"disabled",2),l([w("disabled",{waitUntilFirstUpdate:!0})],M.prototype,"_handleDisabledChange",2),l([p({type:Boolean})],M.prototype,"readonly",2),l([w("readonly",{waitUntilFirstUpdate:!0})],M.prototype,"_handleReadonlyChange",2),l([ar({context:W}),p({attribute:!1})],M.prototype,"_context",2),M=l([_("qti-assessment-item")],M);var js=Symbol.for(""),Ys=i=>{if((i==null?void 0:i.r)===js)return i==null?void 0:i._$litStatic$};var es=new Map,ts=i=>(t,...e)=>{let r=e.length,s,n,o=[],a=[],c,d=0,h=!1;for(;d<r;){for(c=t[d];d<r&&(n=e[d],(s=Ys(n))!==void 0);)c+=s+t[++d],h=!0;d!==r&&a.push(n),o.push(c),d++}if(d===r&&o.push(t[r]),h){let m=o.join("$$lit$$");(t=es.get(m))===void 0&&(o.raw=o,es.set(m,t=o)),e=a}return i(t,...e)},rs=ts(u),an=ts(Be);var Ks={SPACE:32},R=class extends f{constructor(){super(...arguments);this.tabindex=0;this.disabled=!1;this.readonly=!1;this.checked=!1}handleDisabledChange(e,r){r?(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 Ks.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"),rs` <slot></slot> `}};l([p({type:String})],R.prototype,"identifier",2),l([p({type:Number,reflect:!0})],R.prototype,"tabindex",2),l([p({reflect:!0,type:Boolean,attribute:"aria-disabled",converter:{toAttribute:i=>i}})],R.prototype,"disabled",2),l([p({reflect:!0,type:Boolean,attribute:"aria-readonly",converter:{toAttribute:i=>i}})],R.prototype,"readonly",2),l([p({reflect:!0,type:Boolean,attribute:"aria-checked",converter:{toAttribute:i=>i}})],R.prototype,"checked",2),l([w("disabled",{waitUntilFirstUpdate:!0})],R.prototype,"handleDisabledChange",1);var ss=b`
4
+ :host {
5
+ display: block;
6
+ }
7
+ `;var Ce=class extends f{render(){return u`<slot name="qti-rubric-block"></slot><slot></slot>`}};Ce.styles=ss,Ce=l([_("qti-item-body")],Ce);var ze=class extends f{render(){return u`<slot></slot>`}connectedCallback(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}};ze=l([_("qti-prompt")],ze);var Rt=class extends f{constructor(){super()}firstUpdated(e){super.firstUpdated(e);let r=this.closest("qti-assessment-item"),s=this.getAttribute("href");if(s!==null){let n=document.createElement("link");n.rel="stylesheet",n.type="text/css",n.media="screen",n.href=s,r.appendChild(n),this.styleLink=n}if(this.textContent!==null){let n=document.createElement("style");n.media="screen",n.textContent=this.textContent,r.appendChild(n),this.styleLink=n}}disconnectedCallback(){let e=this.closest("qti-assessment-item");if(this.styleLink&&this.styleLink.parentElement===this)try{e.removeChild(this.styleLink)}catch(r){console.log("could not remove stylesheet")}}};customElements.define("qti-stylesheet",Rt);var ue=class extends f{render(){return u`<slot></slot>`}defaultValues(t){let e=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(e.length===0)return null;let r=e.map(s=>s.innerHTML);return r.length>1||t.cardinality==="multiple"||t.cardinality==="ordered"?r:r[0]}};customElements.define("qti-variabledeclaration",ue);var J=class extends ue{render(){var r,s;let e=(s=(r=this.itemContext)==null?void 0:r.variables.find(n=>n.identifier===this.identifier))==null?void 0:s.value;return u`${JSON.stringify(e,null,2)}`}get interpolationTable(){let e=this.querySelector("qti-interpolation-table");if(e){let r=new Map;for(let s of e.querySelectorAll("qti-interpolation-table-entry")){!s.getAttribute("source-value")&&s.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");let n=parseInt(s.getAttribute("source-value")),o=parseInt(s.getAttribute("target-value"));(isNaN(n)||isNaN(o))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),r.set(n,o)}return r}return null}connectedCallback(){super.connectedCallback();let e={identifier:this.identifier,cardinality:this.cardinality,baseType:this.baseType,type:"outcome",value:null,interpolationTable:this.interpolationTable};e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}};J.styles=[b`
8
+ :host {
9
+ display: none;
10
+ }
11
+ `],l([p({type:String,attribute:"base-type"})],J.prototype,"baseType",2),l([p({type:String})],J.prototype,"identifier",2),l([p({type:String})],J.prototype,"cardinality",2),l([ne({context:W,subscribe:!0}),C()],J.prototype,"itemContext",2);customElements.define("qti-outcome-declaration",J);var G=class extends ue{render(){var r,s;let e=(s=(r=this.itemContext)==null?void 0:r.variables.find(n=>n.identifier===this.identifier))==null?void 0:s.value;return u`${JSON.stringify(e,null,2)}`}connectedCallback(){super.connectedCallback();let e={baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||"single",mapping:this.mapping,value:null,type:"response",candidateResponse:null};e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}get correctResponse(){let e,r=this.querySelector("qti-correct-response");if(r){let s=r.querySelectorAll("qti-value");if(this.cardinality==="single"&&s.length>0)e=s[0].textContent,s[0].remove();else if(this.cardinality!=="single"){e=[];for(let n=0;n<s.length;n++)e.push(s[n].textContent),s[n].remove()}}return e}get mapping(){return this.querySelector("qti-mapping")}};G.styles=[b`
12
+ :host {
13
+ display: none;
14
+ }
15
+ `],l([p({type:String,attribute:"base-type"})],G.prototype,"baseType",2),l([p({type:String})],G.prototype,"identifier",2),l([p({type:String})],G.prototype,"cardinality",2),l([ne({context:W,subscribe:!0}),C()],G.prototype,"itemContext",2);customElements.define("qti-response-declaration",G);var je=class extends f{};je=l([_("qti-companion-materials-info")],je);var Ye=class extends f{render(){return u`<slot></slot>`}};Ye=l([_("qti-content-body")],Ye);var U=class extends f{handleclassNamesChange(e,r){this.classNames.split(" ").forEach(n=>{switch(n){case"qti-rubric-discretionary-placement":this.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":this.setAttribute("slot","");break;default:break}})}render(){return u`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-rubric-block")}};U.styles=b`
16
+ :host {
17
+ display: block;
18
+ }
19
+ `,l([p({type:String})],U.prototype,"id",2),l([p({type:String})],U.prototype,"use",2),l([p({type:String})],U.prototype,"view",2),l([p({type:String,attribute:"class"})],U.prototype,"classNames",2),l([w("classNames",{waitUntilFirstUpdate:!0})],U.prototype,"handleclassNamesChange",1),U=l([_("qti-rubric-block")],U);var Ws=()=>new Intl.NumberFormat().format(.1).replace(/\d/g,""),Ke=i=>{if(typeof i=="string")return i;let t=Ws();return t==="."?i.toLocaleString():i.toString().replace(".","").replace(t,".")};function br(i){return i==null}var N=class extends f{connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}checkShowFeedback(e){let r=this.closest("qti-assessment-item").getOutcome(e);if(this.outcomeIdentifier!==e||!r)return;let s=!1;Array.isArray(r.value)?s=r.value.includes(this.identifier):s=!br(this.identifier)&&!br(r==null?void 0:r.value)&&this.identifier===r.value||!1,this.showFeedback(s)}showFeedback(e){this.showStatus=e&&this.showHide==="show"||!e&&this.showHide==="hide"?"on":"off"}};l([p({type:String,attribute:"show-hide"})],N.prototype,"showHide",2),l([p({type:String,attribute:"outcome-identifier"})],N.prototype,"outcomeIdentifier",2),l([p({type:String})],N.prototype,"identifier",2),l([p({type:String,attribute:!1})],N.prototype,"showStatus",2);var We=class extends N{render(){return u` <slot part="feedback" class="feedback ${this.showStatus}"></slot> `}firstUpdated(t){this.checkShowFeedback(this.outcomeIdentifier)}};We.styles=b`
20
+ :host {
21
+ display: block;
22
+ }
23
+ .on {
24
+ display: block;
25
+ }
26
+ .off {
27
+ display: none;
28
+ }
29
+ `;customElements.define("qti-feedback-block",We);var Je=class extends N{constructor(){super(...arguments);this.render=()=>u` <slot part="feedback" class="${this.showStatus}"></slot> `}};Je.styles=b`
30
+ .on {
31
+ display: inline-block;
32
+ }
33
+ .off {
34
+ display: none;
35
+ }
36
+ `;customElements.define("qti-feedback-inline",Je);var Ge=class extends N{constructor(){super(...arguments);this.render=()=>u` <slot part="feedback" class="${this.showStatus}"></slot> `}};Ge.styles=b`
37
+ .on {
38
+ display: inline-block;
39
+ }
40
+ .off {
41
+ display: none;
42
+ }
43
+ `;customElements.define("qti-modal-feedback",Ge);var X=i=>i!=null?i:E;var $=class extends f{constructor(){super(...arguments);this.responseIdentifier="";this.disabled=!1;this.readonly=!1}set correctResponse(e){console.warn("correctResponse is not implemented")}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}}))}};l([p({attribute:"response-identifier"})],$.prototype,"responseIdentifier",2),l([p({reflect:!0,type:Boolean})],$.prototype,"disabled",2),l([p({reflect:!0,type:Boolean})],$.prototype,"readonly",2);var{D:Js}=Wr;var os=i=>i.strings===void 0,is=()=>document.createComment(""),Ae=(i,t,e)=>{var n;let r=i._$AA.parentNode,s=t===void 0?i._$AB:t._$AA;if(e===void 0){let o=r.insertBefore(is(),s),a=r.insertBefore(is(),s);e=new Js(o,a,i,i.options)}else{let o=e._$AB.nextSibling,a=e._$AM,c=a!==i;if(c){let d;(n=e._$AQ)==null||n.call(e,i),e._$AM=i,e._$AP!==void 0&&(d=i._$AU)!==a._$AU&&e._$AP(d)}if(o!==s||c){let d=e._$AA;for(;d!==o;){let h=d.nextSibling;r.insertBefore(d,s),d=h}}}return e},re=(i,t,e=i)=>(i._$AI(t,e),i),Gs={},ns=(i,t=Gs)=>i._$AH=t,as=i=>i._$AH,Tt=i=>{var r;(r=i._$AP)==null||r.call(i,!1,!0);let t=i._$AA,e=i._$AB.nextSibling;for(;t!==e;){let s=t.nextSibling;t.remove(),t=s}};var Z={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Q=i=>(...t)=>({_$litDirective$:i,values:t}),I=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this._$Ct=t,this._$AM=e,this._$Ci=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var Ze=(i,t)=>{var r;let e=i._$AN;if(e===void 0)return!1;for(let s of e)(r=s._$AO)==null||r.call(s,t,!1),Ze(s,t);return!0},Lt=i=>{let t,e;do{if((t=i._$AM)===void 0)break;e=t._$AN,e.delete(i),i=t}while((e==null?void 0:e.size)===0)},ls=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),ei(t)}};function Zs(i){this._$AN!==void 0?(Lt(this),this._$AM=i,ls(this)):this._$AM=i}function Qs(i,t=!1,e=0){let r=this._$AH,s=this._$AN;if(s!==void 0&&s.size!==0)if(t)if(Array.isArray(r))for(let n=e;n<r.length;n++)Ze(r[n],!1),Lt(r[n]);else r!=null&&(Ze(r,!1),Lt(r));else Ze(this,i)}var ei=i=>{var t,e;i.type==Z.CHILD&&((t=i._$AP)!=null||(i._$AP=Qs),(e=i._$AQ)!=null||(i._$AQ=Zs))},Mt=class extends I{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,r){super._$AT(t,e,r),ls(this),this.isConnected=t._$AU}_$AO(t,e=!0){var r,s;t!==this.isConnected&&(this.isConnected=t,t?(r=this.reconnected)==null||r.call(this):(s=this.disconnected)==null||s.call(this)),e&&(Ze(this,t),Lt(this))}setValue(t){if(os(this._$Ct))this._$Ct._$AI(t,this);else{let e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}};var Pt=()=>new vr,vr=class{},gr=new WeakMap,cs=Q(class extends Mt{render(i){return E}update(i,[t]){var r;let e=t!==this.G;return e&&this.G!==void 0&&this.ot(void 0),(e||this.rt!==this.lt)&&(this.G=t,this.ct=(r=i.options)==null?void 0:r.host,this.ot(this.lt=i.element)),E}ot(i){var t;if(typeof this.G=="function"){let e=(t=this.ct)!=null?t:globalThis,r=gr.get(e);r===void 0&&(r=new WeakMap,gr.set(e,r)),r.get(this.G)!==void 0&&this.G.call(this.ct,void 0),r.set(this.G,i),i!==void 0&&this.G.call(this.ct,i)}else this.G.value=i}get rt(){var i,t,e;return typeof this.G=="function"?(t=gr.get((i=this.ct)!=null?i:globalThis))==null?void 0:t.get(this.G):(e=this.G)==null?void 0:e.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});var F=class extends ${constructor(){super(...arguments);this.textareaRef=Pt();this._value=""}handleclassNamesChange(e,r){this.classNames.split(" ").forEach(n=>{if(n.startsWith("qti-height-lines")){let o=n.replace("qti-height-lines-","");this.textareaRef&&(this.textareaRef.value.rows=parseInt(o))}})}set response(e){this._value=e!==void 0?e:""}validate(){return this._value!==""}static get styles(){return[b`
44
+ /* PK: display host as block, else design will be collapsed */
45
+ :host {
46
+ display: block;
47
+ }
48
+ textarea {
49
+ box-sizing: border-box;
50
+ width: 100%;
51
+ height: 100%;
52
+ border: 0;
53
+ }
54
+ `]}render(){return u`<textarea
55
+ part="textarea"
56
+ ${cs(this.textareaRef)}
57
+ spellcheck="false"
58
+ autocomplete="off"
59
+ @keydown="${e=>e.stopImmediatePropagation()}"
60
+ @keyup="${this.textChanged}"
61
+ @change="${this.textChanged}"
62
+ placeholder="${X(this.placeholderText?this.placeholderText:void 0)}"
63
+ maxlength="${X(this.expectedLength?this.expectedLength:void 0)}"
64
+ pattern="${X(this.patternMask?this.patternMask:void 0)}"
65
+ ?disabled="${this.disabled}"
66
+ ?readonly="${this.readonly}"
67
+ .value=${this._value}
68
+ ></textarea>`}textChanged(e){if(this.disabled||this.readonly)return;let r=e.target;this.setEmptyAttribute(r.value),this._value!==r.value&&(this._value=r.value,this.saveResponse(r.value))}reset(){this._value=""}setEmptyAttribute(e){this.setAttribute("empty",e===""?"true":"false")}};l([p({type:Number,attribute:"expected-length"})],F.prototype,"expectedLength",2),l([p({type:String,attribute:"pattern-mask"})],F.prototype,"patternMask",2),l([p({type:String,attribute:"placeholder-text"})],F.prototype,"placeholderText",2),l([C()],F.prototype,"_value",2),l([p({type:String,attribute:"class"})],F.prototype,"classNames",2),l([w("classNames",{waitUntilFirstUpdate:!0})],F.prototype,"handleclassNamesChange",1),F=l([_("qti-extended-text-interaction")],F);function ps(i,t){let e,r=x({},t);return(s,n)=>{let{connectedCallback:o,disconnectedCallback:a}=s;s.connectedCallback=function(){var h;o.call(this);let c=m=>{let y=Array.from(this.querySelectorAll(i));for(let g of m){let q=Array.from(g.addedNodes).map(S=>S),A=Array.from(g.addedNodes).map(S=>S);g.type==="childList"&&q.find(S=>y.includes(S))&&this[n](q,A)}};e=new MutationObserver(c),e.observe(this,{childList:!0,subtree:!0});let d=(h=this.querySelectorAll(i))!=null?h:[];this[n](Array.from(d),[])},s.disconnectedCallback=function(){a.call(this),e.disconnect()}}}var V=class extends ${constructor(){super(...arguments);this._value="";this._correctValue="";this._size=5;this.inputRef=Pt()}handleclassNamesChange(e,r){r.split(" ").forEach(n=>{if(n.startsWith("qti-input-width")){let o=n.replace("qti-input-width-","");this._size=parseInt(o)}})}set response(e){this._value=e!==void 0?e:""}validate(){return this._value!==""}static get styles(){return[b`
69
+ :host {
70
+ display: inline-flex;
71
+ display: flex;
72
+ flex-direction: column;
73
+ align-items: center;
74
+ position: relative;
75
+ }
76
+ [part='correct'] {
77
+ position: absolute;
78
+ width: 100%;
79
+ }
80
+ `]}set correctResponse(e){this._correctValue=e}render(){return u`
81
+ <div part="correct">${this._correctValue}</div>
82
+ <input
83
+ part="input"
84
+ spellcheck="false"
85
+ autocomplete="off"
86
+ @keydown="${e=>e.stopImmediatePropagation()}"
87
+ @keyup="${this.textChanged}"
88
+ @change="${this.textChanged}"
89
+ type="${this.patternMask=="[0-9]*"?"number":"text"}"
90
+ placeholder="${X(this.placeholderText?this.placeholderText:void 0)}"
91
+ .value="${this._value}"
92
+ size="${this._size}"
93
+ pattern="${X(this.patternMask?this.patternMask:void 0)}"
94
+ ?disabled="${this.disabled}"
95
+ ?readonly="${this.readonly}"
96
+ />
97
+ `}textChanged(e){if(this.disabled||this.readonly)return;let r=e.target;this.setEmptyAttribute(r.value),this._value!==r.value&&(this._value=r.value,this.saveResponse(r.value))}reset(){this._value=""}setEmptyAttribute(e){this.setAttribute("empty",e===""?"true":"false")}};l([p({type:Number,attribute:"expected-length"})],V.prototype,"expectedLength",2),l([p({type:String,attribute:"pattern-mask"})],V.prototype,"patternMask",2),l([p({type:String,attribute:"placeholder-text"})],V.prototype,"placeholderText",2),l([C()],V.prototype,"_value",2),l([C()],V.prototype,"_correctValue",2),l([C()],V.prototype,"_size",2),l([p({type:String,attribute:"class"})],V.prototype,"classNames",2),l([w("classNames")],V.prototype,"handleclassNamesChange",1),V=l([_("qti-text-entry-interaction")],V);var T=class extends ${constructor(){super();this._choiceElements=[];this.minChoices=0;this.maxChoices=1;this._handleDisabledChange=(e,r)=>this._choiceElements.forEach(s=>s.disabled=r);this._handleReadonlyChange=(e,r)=>this._choiceElements.forEach(s=>s.readonly=r);this._handleMaxChoicesChange=()=>this._determineInputType();this.addEventListener("qti-register-choice",this._registerChoiceElement),this.addEventListener("qti-loose-choice",this._looseChoiceElement)}validate(){return this._choiceElements.reduce((r,s)=>r+(s.checked?1:0),0)>=this.minChoices}set response(e){let r=Array.isArray(e)?e:[e];this._choiceElements.forEach(s=>{s.checked=!!r.find(n=>n===s.identifier)})}set correctResponse(e){let r=Array.isArray(e)?e:[e];if(e==""){this._choiceElements.forEach(s=>{s.removeAttribute("data-correct-response")});return}this._choiceElements.forEach(s=>{s.setAttribute("data-correct-response",r.find(n=>n===s.identifier)?"true":"false")})}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 r=e.target;this._choiceElements.push(r),this._setInputType(r)}_looseChoiceElement(e){e.stopPropagation();let r=e.target;this._choiceElements.push(r),this._choiceElements=this._choiceElements.filter(s=>s!==r)}_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(r=>r.identifier!==e.detail.identifier).forEach(r=>{r.checked=!1}),this._choiceElementSelected()}_choiceElementSelected(){let e=this._choiceElements.filter(s=>s.checked).map(s=>s.identifier);this.maxChoices>1&&(this.maxChoices===e.length?this._choiceElements.forEach(s=>s.disabled=!s.checked):this._choiceElements.forEach(s=>s.disabled=!1));let r;this.maxChoices===1?r=e.length>0?e[0]:void 0:r=e,this.saveResponse(r)}};l([p({type:Number,attribute:"min-choices"})],T.prototype,"minChoices",2),l([p({type:Number,attribute:"max-choices"})],T.prototype,"maxChoices",2),l([w("disabled",{waitUntilFirstUpdate:!0})],T.prototype,"_handleDisabledChange",2),l([w("readonly",{waitUntilFirstUpdate:!0})],T.prototype,"_handleReadonlyChange",2),l([w("maxChoices",{waitUntilFirstUpdate:!0})],T.prototype,"_handleMaxChoicesChange",2);var Vt=class extends T{constructor(){super(...arguments);this.render=()=>u`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("qti-hottext-interaction","")}};customElements.define("qti-hottext-interaction",Vt);var Qe=class extends I{constructor(t){if(super(t),this.et=E,t.type!==Z.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===E||t==null)return this.vt=void 0,this.et=t;if(t===P)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.vt;this.et=t;let e=[t];return e.raw=e,this.vt={_$litType$:this.constructor.resultType,strings:e,values:[]}}};Qe.directiveName="unsafeHTML",Qe.resultType=1;var qe=Q(Qe);var se=class extends ${constructor(){super(...arguments);this.options=[];this.correctOption="";this.dataPrompt="select"}static get styles(){return[b`
98
+ :host {
99
+ display: inline-block;
100
+ }
101
+ `]}render(){return u`
102
+ <select part="select" @change="${this.choiceSelected}" ?disabled="${this.disabled}" ?readonly="${this.readonly}">
103
+ ${this.options.map(e=>u`
104
+ <option value="${e.value}" ?selected="${e.selected}">${qe(e.textContent)}</option>
105
+ `)}
106
+ </select>
107
+
108
+ ${qe(this.correctOption)}
109
+ `}connectedCallback(){super.connectedCallback(),this.addEventListener("on-dropdown-selected",this.choiceSelected);let e=Array.from(this.querySelectorAll("qti-inline-choice"));this.options=[{textContent:this.dataPrompt,value:"",selected:!1},...e.map(r=>({textContent:r.innerHTML,value:r.getAttribute("identifier"),selected:!1}))]}disconnectedCallback(){this.removeEventListener("on-dropdown-selected",this.choiceSelected)}validate(){let e=this.options.find(r=>r.selected);return e?e.value!=="":!1}reset(){this.options=this.options.map((e,r)=>k(x({},e),{selected:r===0}))}set response(e){this.options=this.options.map(r=>(e===r.value&&(r.selected=!0),r))}set correctResponse(e){if(e===""){this.correctOption="";return}this.correctOption=`<span part="correct-option">${this.options.find(r=>e===r.value).textContent}</span>`}choiceSelected(e){let r=e.target.value;this.options=this.options.map(s=>k(x({},s),{selected:s.value===r})),this.saveResponse(r)}};se.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"],l([C()],se.prototype,"options",2),l([C()],se.prototype,"correctOption",2),l([p({attribute:"data-prompt",type:String})],se.prototype,"dataPrompt",2);customElements.define("qti-inline-choice-interaction",se);var ds=b`
110
+ :host {
111
+ display: flex;
112
+ flex-direction: column;
113
+ // align-items: flex-start;
114
+ }
115
+ `;var he=class extends T{render(){return u` <slot name="prompt"></slot><slot part="slot"></slot>`}};he.styles=ds,l([p({type:String})],he.prototype,"orientation",2),he=l([_("qti-choice-interaction")],he);var us=`<qti-response-processing>
116
+ <qti-response-condition>
117
+ <qti-response-if>
118
+ <qti-match>
119
+ <qti-variable identifier="RESPONSE"></qti-variable>
120
+ <qti-correct identifier="RESPONSE"></qti-correct>
121
+ </qti-match>
122
+ <qti-set-outcome-value identifier="SCORE">
123
+ <qti-base-value base-type="float">1</qti-base-value>
124
+ </qti-set-outcome-value>
125
+ </qti-response-if>
126
+ <qti-response-else>
127
+ <qti-set-outcome-value identifier="SCORE">
128
+ <qti-base-value base-type="float">0</qti-base-value>
129
+ </qti-set-outcome-value>
130
+ </qti-response-else>
131
+ </qti-response-condition>
132
+ </qti-response-processing>`,hs=`<qti-response-processing>
133
+ <qti-response-condition>
134
+ <qti-response-if>
135
+ <qti-is-null>
136
+ <qti-variable identifier="RESPONSE"></qti-variable>
137
+ </qti-is-null>
138
+ <qti-set-outcome-value identifier="SCORE">
139
+ <qti-base-value base-type="float">0.0</qti-base-value>
140
+ </qti-set-outcome-value>
141
+ </qti-response-if>
142
+ <qti-response-else>
143
+ <qti-set-outcome-value identifier="SCORE">
144
+ <qti-map-response identifier="RESPONSE"> </qti-map-response>
145
+ </qti-set-outcome-value>
146
+ </qti-response-else>
147
+ </qti-response-condition>
148
+ </qti-response-processing>`,ms=`<qti-response-processing>
149
+ <qti-response-condition>
150
+ <qti-response-if>
151
+ <qti-is-null>
152
+ <qti-variable identifier="RESPONSE"></qti-variable>
153
+ </qti-is-null>
154
+ <qti-set-outcome-value identifier="SCORE">
155
+ <qti-base-value base-type="float">0</qti-base-value>
156
+ </qti-set-outcome-value>
157
+ </qti-response-if>
158
+ <qti-response-else>
159
+ <qti-set-outcome-value identifier="SCORE">
160
+ <qti-map-response-point identifier="RESPONSE"></qti-map-response-point>
161
+ </qti-set-outcome-value>
162
+ </qti-response-else>
163
+ </qti-response-condition>
164
+ </qti-response-processing>`;var ie=class extends f{render(){return u`<slot></slot>`}process(){let t=[...this.children];for(let e of t)e.process()}firstUpdated(t){if(this.getAttribute("template")){let e=this.getAttribute("template").split("/"),r=e[e.length-1].replace(".xml","");switch(this.innerHTML="",r){case"map_response":{this.appendChild(this.fragmentFromString(hs).firstElementChild.firstElementChild);break}case"map_response_point":{this.appendChild(this.fragmentFromString(ms).firstElementChild.firstElementChild);break}case"match_correct":this.appendChild(this.fragmentFromString(us).firstElementChild.firstElementChild);break}}}fragmentFromString(t){return document.createRange().createContextualFragment(t)}};ie.styles=[b`
165
+ :host {
166
+ display: none;
167
+ }
168
+ `],ie=l([_("qti-response-processing")],ie);var B=class extends f{render(){return u`<slot></slot>`}process(){throw new Error("Not implemented")}};B=l([_("qti-rule")],B);var et=class extends B{get childExpression(){return this.firstElementChild}process(){let e=this.getAttribute("identifier"),r=this.closest("qti-assessment-item").getVariable(e),s;return r.interpolationTable&&(s=r.interpolationTable.get(parseInt(this.childExpression.calculate()))),s==null?(console.warn("lookupOutcomeValue: value is null or undefined"),0):(this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:this.identifier,value:Ke(s)}})),s)}};l([p({type:String})],et.prototype,"identifier",2);customElements.define("qti-lookup-outcome-value",et);var Ht=class extends B{render(){return u`<slot></slot>`}process(){let t=[...this.children];for(let e=0;e<t.length;e++){let r=t[e];if(r.calculate()){r.process();return}}}};customElements.define("qti-response-condition",Ht);var Nt=class extends B{process(){let t=this.getAttribute("identifier"),e=this.firstElementChild,r=e?e.calculate():null;if(r==null){console.warn("setOutcomeValue: value is null or undefined");return}this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:t,value:Array.isArray(r)?r.map(s=>Ke(s)):Ke(r)}}))}};customElements.define("qti-set-outcome-value",Nt);var $e=class extends f{render(){return u`<slot></slot>`}calculate(){return!0}getSubRules(){return[...this.children]}process(){let t=this.getSubRules();for(let e=0;e<t.length;e++)t[e].process()}};customElements.define("qti-response-else",$e);var we=class extends $e{calculate(){return this.firstElementChild.calculate()}getSubRules(){let t=[];for(let e=1;e<this.children.length;e++)t.push(this.children[e]);return t}};customElements.define("qti-response-if",we);var Dt=class extends we{render(){return u`${super.render()}`}};customElements.define("qti-response-else-if",Dt);var v=class extends f{constructor(){super(...arguments);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 r=e.getAttribute("identifier")||"";return this.assessmentItem.getVariable(r)}case"qti-multiple":{let s=e.getResult();return s.length>0?{identifier:"",baseType:s[0].baseType,value:s.map(n=>n.value),cardinality:"multiple",type:"response"}:null}case"qti-correct":{let r=e.getAttribute("identifier")||"",s=this.assessmentItem.getResponse(r);return{baseType:s.baseType,value:s.correctResponse,cardinality:s.cardinality}}default:{try{return{baseType:"integer",value:e.getResult().toString(),cardinality:"single"}}catch(r){console.warn("default not sufficient")}return null}}}).filter(e=>e!==null)}render(){return u`<pre>${JSON.stringify(this.result,null,2)}</pre>
169
+ <slot></slot>`}calculate(){return this.result=this.getResult(),this.result}getResult(){throw new Error("Not implemented")}get assessmentItem(){return this.closest("qti-assessment-item")}};v.styles=b`
170
+ slot {
171
+ display: none;
172
+ }
173
+ `,l([C()],v.prototype,"result",2);var H=class extends v{calculate(){return this.result=this.getResult(),this.result}getResult(){throw new Error("Not implemented")}};var tt=class extends fs(H){calculate(){return this.calculateChildren(Array.from(this.children))}};function fs(i){return class extends i{calculateChildren(e){return e.map(s=>{let n=s;if(!n.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let o=n.calculate();if(typeof o=="string")if(o==="true")o=!0;else if(o==="false")o=!1;else return console.error("unexpected value in qti-and, expected boolean"),null;return o}).every(s=>typeof s=="boolean"&&s)}}}customElements.define("qti-and",tt);var rt=class extends v{constructor(){super(...arguments);this.baseType="string"}getResult(){return this.textContent}};l([p({type:String,attribute:"base-type"})],rt.prototype,"baseType",2);customElements.define("qti-base-value",rt);var Ot=class extends H{getResult(){let t=this.getVariables();if(this.children.length===2){let e=t[0],r=t[1];if(e.baseType==="directedPair"&&r.baseType==="directedPair"&&e.cardinality==="multiple"){let s=e.value,n=r.value;return s.filter(c=>n.includes(c)).length>0}else if(e.baseType==="directedPair"&&r.baseType==="directedPair"&&e.cardinality==="single"){let s=e.value;return r.value.includes(s)}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",Ot);var Ut=class extends v{get interpretation(){return this.getAttribute("interpretation")||""}getResult(){let t=this.getAttribute("identifier")||"",e=this.closest("qti-assessment-item").getResponse(t);return e.correctResponse,e.cardinality!=="single"?e.correctResponse.length>0?e.correctResponse[0]:"":e.correctResponse}};customElements.define("qti-correct",Ut);var st=class extends v{constructor(){super(...arguments);this.roundingMode="significantFigures"}get figures(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;let r=parseInt(this.getAttribute("figures")||"0");return isNaN(r)?(console.error("figures attribute is not a number"),null):r<0?(console.error("figures attribute is negative"),null):r<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):r}getResult(){if(this.children.length===2){let e=this.getVariables(),r=e[0],s=e[1];if(this.roundingMode===null)return null;if(r.cardinality!=="single"||s.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(s.value))return console.error("unexpected cardinality in qti equal"),!1;switch(e[0].baseType){case"integer":case"float":{let n=parseFloat(r.value),o=parseFloat(s.value);if(!isNaN(n)&&!isNaN(o))return this.roundingMode==="significantFigures"?n.toPrecision(this.figures)===o.toPrecision(this.figures):Math.round(n*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(o*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error(`value cannot be casted to numeric value in equalRounded operator: ${n}, ${o}`);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}};l([p({type:String})],st.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",st);var D=class{static compareSingleValues(t,e,r){switch(r){case"identifier":case"string":return t===e;case"integer":{let s=parseInt(t,10),n=parseInt(e,10);if(!isNaN(s)&&!isNaN(n))return s===n;console.error(`Cannot convert ${t} and/or ${e} to int.`);break}case"float":{let s=parseFloat(t),n=parseFloat(e);if(!isNaN(s)&&!isNaN(n))return s===n;console.error(`couldn't convert ${t} and/or ${e} to float.`);break}case"pair":case"directedPair":{let s=t.split(" ").sort(),n=e.split(" ").sort();if(s.length===2&&n.length===2)return r==="pair"&&(s.sort(),n.sort()),s.join(" ")===n.join(" ");console.error(`compared two pair but one of the values does not have 2 values: 1: ${t} 2: ${e}`);break}}return!1}};var it=class extends v{constructor(){super(...arguments);this.toleranceMode="exact"}getResult(){if(this.children.length===2){let e=this.getVariables(),r=e[0],s=e[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):r.cardinality!=="single"||s.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(s.value)?(console.error("unexpected cardinality in qti equal"),!1):D.compareSingleValues(r.value,s.value,r.baseType)}return console.error("unexpected number of children in qti-equal"),null}};l([p({type:String})],it.prototype,"toleranceMode",2);customElements.define("qti-equal",it);var It=class extends v{getResult(){if(this.children.length===2){let t=this.getVariables(),e=t[0],r=t[1];if(e.baseType===r.baseType&&(e.baseType==="integer"||e.baseType==="float"))return+e.value>+r.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}};customElements.define("qti-gt",It);var Ft=class extends H{getResult(){if(this.children.length===2){let t=this.getVariables(),e=t[0],r=t[1];return e.baseType===r.baseType&&(e.baseType==="integer"||e.baseType==="float")?+e.value>=+r.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",Ft);var Bt=class extends v{getResult(){if(this.children.length===1){let t=this.getVariables();if(!t)return!0;let e=t[0].value;return e==null||e==null||e===""}return console.error("unexpected number of children in qti Null"),null}};customElements.define("qti-is-null",Bt);var Xt=class extends v{getResult(){if(this.children.length===2){let t=this.getVariables(),e=t[0],r=t[1];if(e.baseType===r.baseType&&(e.baseType==="integer"||e.baseType==="float"))return+e.value<+r.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}};customElements.define("qti-lt",Xt);var zt=class extends H{getResult(){if(this.children.length===2){let t=this.getVariables(),e=t[0],r=t[1];return e.baseType===r.baseType&&(e.baseType==="integer"||e.baseType==="float")?+e.value<=+r.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",zt);var ot=class extends v{getResult(){let e=this.assessmentItem.getResponse(this.identifier);if(!e)return console.warn(`Response ${this.identifier} can not be found`),null;let r=e.mapping,s=Array.isArray(e.value)?e.value:[e.value],n=0;for(let o of s){let a=r.mapEntries.find(c=>D.compareSingleValues(c.mapKey,o,e.baseType));a==null||a.mappedValue==null?n+=r.defaultValue:n+=a.mappedValue}return r.lowerBound!=null&&(n=Math.max(r.lowerBound,n)),r.upperBound!=null&&(n=Math.min(r.upperBound,n)),n}};l([p({type:String})],ot.prototype,"identifier",2);customElements.define("qti-map-response",ot);var me=class extends f{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")}))}};l([p({attribute:"default-value",type:Number})],me.prototype,"defaultValue",2),l([p({attribute:"lower-bound",type:Number})],me.prototype,"lowerBound",2),l([p({attribute:"upper-bound",type:Number})],me.prototype,"upperBound",2);customElements.define("qti-mapping",me);var jt=class i extends v{getResult(){if(this.children.length===2){let t=this.getVariables(),e=t[0],r=t[1];return i.match(e,r)}return console.error("unexpected number of children in match"),null}static match(t,e){var r;if(e.cardinality==="single")return t.value===null?!1:Array.isArray(t.value)||Array.isArray(e.value)?(console.error("unexpected cardinality in qti match"),!1):D.compareSingleValues((r=t.value)==null?void 0:r.toString(),e.value.toString(),e.baseType);{if(!Array.isArray(t.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(t.value.length!==e.value.length)return!1;let s=0;for(let n of e.value){if(e.cardinality==="ordered"){let o=t[s];if(!D.compareSingleValues(n,o,e.baseType))return!1}else{let o=null;for(let a of t.value)if(D.compareSingleValues(n,a,e.baseType)){o=a;break}if(o!==null)t.value.splice(t.value.indexOf(o),1);else return!1}s++}return!0}}};customElements.define("qti-match",jt);var Yt=class extends v{getResult(){let t=this.getVariables();this.children.length!==2&&console.warn("The member operator takes two sub-expressions");let[e,r]=t;if(e.baseType!==r.baseType&&console.warn("Which must both have the same base-type"),r.cardinality==="multiple"||r.cardinality==="ordered"||console.warn("and the second must be a multiple or ordered container"),(e.baseType==="float"||r.baseType==="float")&&console.warn("The member operator should not be used on sub-expressions with a base-type of float"),(e.baseType==="duration"||r.baseType==="duration")&&console.warn("It must not be used on sub-expressions with a base-type of duration"),e.value===null||r.value===null)return null;let s=e.value;return r.value.includes(s)}};customElements.define("qti-member",Yt);var Kt=class extends v{getResult(){let t=this.getVariables();if(t.length===0)return console.error("unexpected number of children in qti multiple"),null;for(let e of t)if(e.cardinality!=="multiple"&&e.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[];return t}};customElements.define("qti-multiple",Kt);var Wt=class extends v{render(){return u`${super.render()}`}getResult(){return!this.firstElementChild.calculate()}};customElements.define("qti-not",Wt);var Jt=class extends H{getResult(){return Array.from(this.children).map(e=>{let r=e;if(!r.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let s=r.calculate();if(typeof s=="string")if(s==="true")s=!0;else if(s==="false")s=!1;else return console.error("unexpected value in qti-or, expected boolean"),null;return s}).some(e=>typeof e=="boolean"&&e)}};customElements.define("qti-or",Jt);var Gt=class extends v{getResult(){let t=this.getVariables();if(t.length===0)return console.error("unexpected number of children in qti multiple"),null;for(let e of t)if(e.cardinality!=="ordered"&&e.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[];return t}};customElements.define("qti-ordered",Gt);var Se=class extends f{render(){var r,s;let e=(s=(r=this.itemContext)==null?void 0:r.variables.find(n=>n.identifier===this.identifier))==null?void 0:s.value;return u`${JSON.stringify(e,null,2)}`}calculate(){let e=this.closest("qti-assessment-item"),r=this.identifier;return e.getVariable(r).value}};l([p({type:String})],Se.prototype,"identifier",2),l([ne({context:W,subscribe:!0}),C()],Se.prototype,"itemContext",2);customElements.define("qti-printed-variable",Se);var Zt=class extends v{getResult(){return this.getVariables().reduce((r,s)=>{if(s.baseType=="float"||s.baseType=="integer")try{return r*parseInt(s.value.toString())}catch(n){console.warn("can not convert to number")}else console.warn(`has another baseType ${s.baseType}`);return r},1)}};customElements.define("qti-product",Zt);var nt=class extends v{constructor(){super(...arguments);this.caseSensitive="true"}getResult(){if(this.children.length===2){let e=this.getVariables(),r=e[0],s=e[1];if(r.cardinality!=="single"||s.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(s.value))return console.error("unexpected cardinality in qti string-match"),!1;let n=this.caseSensitive==="true"?r.value:r.value.toLowerCase(),o=this.caseSensitive==="true"?s.value:s.value.toLowerCase();return D.compareSingleValues(n,o,r.baseType)}return console.error("unexpected number of children in qti-string-match"),null}};l([p({type:String,attribute:"case-sensitive"})],nt.prototype,"caseSensitive",2);customElements.define("qti-string-match",nt);var Qt=class extends v{getResult(){return Array.from(this.children).map(e=>{let r=e;if(!r.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let s=r.calculate();return Number.isNaN(s)?(console.error("unexpected value in qti-sum, expected number"),null):Number(s)}).reduce((e,r)=>e+r,0)}};customElements.define("qti-sum",Qt);var er=class extends v{getResult(){let t=this.getAttribute("identifier");return this.closest("qti-assessment-item").getVariable(t).value}};customElements.define("qti-variable",er);var tr=class extends f{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 r=e.querySelectorAll("properties"),s={},n=a=>{let c={},d=a.getAttribute("key");if(d){let h=Array.from(a.children),m=h.map(g=>g.getAttribute("key"));m.length>0&&!m.find(g=>!Number.isInteger(+g))?c[d]=h.map(g=>o(g)):c[d]=a.textContent}return c},o=a=>{if(a){let c={};for(let d of a.children)c=x(x({},c),n(d));return c}};for(let a of r)return a.getAttribute("key")||(s=x(x({},s),o(a))),s;console.log("Can not find qti-custom-interaction config")}register(e){let r=this.parentElement.tagName==="QTI-CUSTOM-INTERACTION"?"TAO":"IMS",s=r=="IMS"?this.querySelector("qti-interaction-markup"):this.querySelector("markup");s.classList.add("qti-customInteraction"),r=="TAO"&&this.querySelector("properties")&&(this.querySelector("properties").style.display="none");let n=r=="IMS"?{properties:this.dataset}:this.getTAOConfig(this);r=="IMS"?e.getInstance(s,n,void 0):e.initialize(this.customInteractionTypeIdentifier,s.firstElementChild,n),r=="TAO"&&Array.from(this.querySelectorAll("link")).map(a=>a.getAttribute("href")).forEach(a=>{let c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.media="screen",c.href=a,s.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"],s=>{!s.defined("qtiCustomInteractionContext")&&define("qtiCustomInteractionContext",()=>({register:o=>{this.register(o)},notifyReady:()=>{}}));let n=s.defined(this.module);s([this.module],o=>{n&&this.register(o)},o=>{this._errorMessage=o})},s=>{this._errorMessage=s})}render(){return u`<slot></slot>${this._errorMessage&&u`<div style="color:red">
174
+ <h1>Error</h1>
175
+ ${this._errorMessage}
176
+ </div>`}`}};customElements.define("qti-portable-custom-interaction",tr);var rr=class i{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(t,e){this.data[t]=e},getData:function(t){return this.data[t]},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=(t,e)=>{if(this._dragCopy===null&&this._dragRunning){this._dragSrc.style.opacity=this._COPYOPACITY,this._dragCopy=this._dragSrc.cloneNode(!0);let r=window.getComputedStyle(this._dragSrc);if(this._dragCopy.style="",this._dragCopy.setAttribute("dragclone",""),this.copyStylesDragClone)for(let s of r)this._dragCopy.style[s]=r.getPropertyValue(s);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 r=this;requestAnimationFrame(function(){r._touchEndCalled||r._dragCopy===null||(r._dragCopy.style.top=e.clientY-r._copyOffset.y+"px",r._dragCopy.style.left=e.clientX-r._copyOffset.x+"px")});let s=this._findDroppable(t);s!=this._lastTarget&&(this._dispatchEvent(s,"dragenter"),this._dispatchEvent(this._lastTarget,"dragleave"),this._lastTarget=s),this._currentDropContainer=s,this._currentDropContainer&&this._dispatchEvent(s,"dragover")}};return i._instance?i._instance:(i._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(t){t.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(t){this._touchBegin=Date.now();let{x:e,y:r}=this._getPoint(t);if(this._touchDown={x:e,y:r},this._dragSrc=t.currentTarget,this._canDrag=!0,this.dragOnClick){let s={clientX:e,clientY:r};this._dragRunning=!0,this._createDragCopy(t,s)}t.preventDefault()}_touchMove(t){if(this._canDrag&&this._dragSrc){let{x:e,y:r}=this._getPoint(t),s={clientX:e,clientY:r};this._getDelta(s)>=this._DRAGDELTA&&(this._dragRunning=!0),this._createDragCopy(t,s),t.preventDefault()}}_touchEnd(t){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 r=new CustomEvent("dragend",{bubbles:!0,cancelable:!0});r.dataTransfer={dropEffect:"none"},(e=this._dragSrc)==null||e.dispatchEvent(r)}this._reset()}_touchCancel(t){this._reset()}_findDroppable(t){let e=this._getPoint(t);return this.elementFromPoint(e.x,e.y)}elementFromPoint(t,e){let r=document.elementFromPoint(t,e);if(r){for(;r.shadowRoot;){let s=r.shadowRoot.elementFromPoint(t,e);if(s===null||s===r)break;r=s}return r}return null}_getPoint(t,e){return t&&t.touches&&(t=t.touches[0]),{x:e?t.pageX:t.clientX,y:e?t.pageY:t.clientY}}_calculateDragCopyPosition(t){let e=this._dragSrc.getBoundingClientRect();this._copyOffset.x=t.clientX-e.left,this._copyOffset.y=t.clientY-e.top}_getDelta(t){let e=Math.abs(t.clientX-this._touchDown.x),r=Math.abs(t.clientY-this._touchDown.y);return e+r}_dispatchEvent(t,e,r=!0){if(!t)return!1;let s=new CustomEvent(e,{bubbles:r,cancelable:!0});return s.dataTransfer=this._dataTransfer,t.dispatchEvent(s),s.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(t,e){this.data[t]=e},getData:function(t){return this.data[t]},effectAllowed:"move"},this._copyOffset={x:0,y:0},this._lastTarget=null,this._currentDropContainer=null,this._handleClick=!0}};var bs=(i,t,e)=>{class r extends i{constructor(){super(...arguments);this.disabled=!1}firstUpdated(o){if(this.classList.contains("qti-match-tabular"))return;super.firstUpdated(o);let a=Array.from(t?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),a.forEach(c=>{c.setAttribute("dropzone","move"),c.addEventListener("dragleave",this.dragleaveHandler),this.attachHandler(c)});for(let c of a)this.observer=new MutationObserver(d=>{d.forEach(h=>{if(h.type==="attributes")switch(h.attributeName){case"disabled":{c.hasAttribute("disabled")?this.removeHandler(c):this.attachHandler(c);break}}})}),this.observer.observe(c,{attributes:!0})}attachHandler(o){o.addEventListener("dragover",this.dragoverHandler),o.addEventListener("dragenter",this.dragenterHandler),o.addEventListener("drop",this.dropHandler)}removeHandler(o){o.removeEventListener("dragover",this.dragoverHandler),o.removeEventListener("dragenter",this.dragenterHandler),o.removeEventListener("drop",this.dropHandler)}disconnectedCallback(){var o;this.classList.contains("qti-match-tabular")||(super.disconnectedCallback(),(o=this.observer)==null||o.disconnect())}dragenterHandler(o){o.preventDefault()}dragoverHandler(o){return o.preventDefault(),o.currentTarget.setAttribute("active",""),o.dataTransfer.dropEffect="move",!1}dropHandler(o){o.preventDefault();let a=o.currentTarget,c=this.querySelector(`[identifier=${o.dataTransfer.getData("text")}`),d=c||this.shadowRoot.querySelector(`[identifier=${o.dataTransfer.getData("text")}`);return a?d.parentElement.getAttribute("identifier")!==a.getAttribute("identifier")&&a.appendChild(d):console.error(`cannot find droppable, target: ${o.target?JSON.stringify(o.target):"null"}`),a.removeAttribute("active"),!1}dragleaveHandler(o){return o.preventDefault(),o.currentTarget.removeAttribute("active"),o.dataTransfer.dropEffect="none",!1}}return l([p({type:Boolean,reflect:!0})],r.prototype,"disabled",2),r};var gs=(i,t,e)=>{class r extends i{}return r};var z=(i,t,e,r)=>{class s extends gs(bs(i,e,r),r,t){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(a,c){if(this.classList.contains("qti-match-tabular"))return;a.filter(h=>!this.draggables||!this.draggables.get(h)).length>0&&(this.dragDropApi.addDraggables(a),a.forEach(h=>{this.draggables.set(h,{parent:h.parentElement,index:Array.from(h.parentNode.children).indexOf(h)}),h.setAttribute("qti-draggable","true"),h.addEventListener("dragstart",m=>{m.dataTransfer.setData("text",m.currentTarget.getAttribute("identifier")),h.setAttribute("dragging","")}),h.addEventListener("dragend",m=>{if(m.preventDefault(),h.removeAttribute("over"),h.removeAttribute("dragging"),(m.dataTransfer.dropEffect==="none"||m.dataTransfer.dropEffect===void 0)&&this.configuration.dragCanBePlacedBack){let y=m.currentTarget,g=this.draggables.get(y),q=g.index<g.parent.children.length?g.index:g.parent.children.length-1,A=g.parent,S=g.parent.children[q];A.insertBefore(y,S),this.saveResponse(),this.checkMaxMatchAssociations()}m.dataTransfer.dropEffect==="move"&&(this.saveResponse(),this.checkMaxMatchAssociations())})}))}handleDragOptionsChanged(a,c){this.dragDropApi.copyStylesDragClone=c.copyStylesDragClone,this.dragDropApi.dragOnClick=c.dragOnClick}handleDisabledChange(a,c){this.draggables.forEach((d,h)=>{c?h.setAttribute("disabled",""):h.removeAttribute("disabled"),c?h.removeAttribute("qti-draggable"):h.setAttribute("qti-draggable","true")})}handleReadonlyChange(a,c){this.draggables.forEach((d,h)=>{c?h.setAttribute("readonly",""):h.removeAttribute("readonly"),c?h.removeAttribute("qti-draggable"):h.setAttribute("qti-draggable","true")})}firstUpdated(a){super.firstUpdated(a),this.droppables=Array.from(e?this.shadowRoot.querySelectorAll(r):this.querySelectorAll(r))}connectedCallback(){super.connectedCallback(),this.dragDropApi=new rr,this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,detail:this}))}reset(a=!0){this.draggables.forEach((c,d)=>{let h=c.parent.children,m=c.index<h.length?c.index:h.length;c.parent.insertBefore(d,h[m])}),a&&this.saveResponse()}checkMaxMatchAssociations(){this.droppables.forEach(a=>{let d=+(a.getAttribute("match-max")||1)<=(a.children.length||0);d?a.setAttribute("disabled",""):a.removeAttribute("disabled"),d?a.removeAttribute("dropzone"):a.setAttribute("dropzone","move")})}set response(a){this.classList.contains("qti-match-tabular")||(this.reset(!1),a!==null&&Array.isArray(a)&&a.forEach(c=>{let[d,...h]=c.split(" ").reverse();if(d){let m=this.droppables.find(y=>y.getAttribute("identifier")===d);h.forEach(y=>{let g=this.querySelector(`[identifier=${y}]`);m?g?(m.appendChild(g),this.checkMaxMatchAssociations()):console.error(`cannot find draggable with identifier: ${y}`):console.error(`cannot find droppable with identifier: ${d}`)})}}))}validate(){let c=(e?Array.from(this.shadowRoot.querySelectorAll(r)):Array.from(this.querySelectorAll(r))).filter(d=>d.childElementCount>0).length;return this.minAssociations<=0||this.minAssociations<=c}saveResponse(){let a=this.droppables.map(c=>{var h;let d="";return((h=c.children)==null?void 0:h.length)>0&&(d+=Array.from(c.children).map(m=>m.getAttribute("identifier")).join(" ")+" "),d+=c.getAttribute("identifier"),d});this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:a}}))}}return l([ps(t)],s.prototype,"reInitDragAndDrop",1),l([p({type:String,attribute:"response-identifier"})],s.prototype,"responseIdentifier",2),l([p({attribute:!1,type:Object})],s.prototype,"configuration",2),l([w("configuration")],s.prototype,"handleDragOptionsChanged",1),l([p({type:Boolean,reflect:!0})],s.prototype,"disabled",2),l([w("disabled",{waitUntilFirstUpdate:!0})],s.prototype,"handleDisabledChange",1),l([p({type:Boolean,reflect:!0})],s.prototype,"readonly",2),l([w("readonly",{waitUntilFirstUpdate:!0})],s.prototype,"handleReadonlyChange",1),l([p({type:Number,reflect:!0,attribute:"min-associations"})],s.prototype,"minAssociations",2),l([p({type:Number,reflect:!0,attribute:"max-associations"})],s.prototype,"maxAssociations",2),s};var ke=class extends z(f,"qti-simple-associable-choice",!0,".dl"){render(){return u` <slot name="prompt"></slot>
177
+ <slot name="qti-simple-associable-choice"></slot>
178
+ ${this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map((e,r)=>u`<div part="associables-container">
179
+ <div name="left${r}" part="drop-list" class="dl" identifier="droplist${r}_left"></div>
180
+ <div name="right${r}" part="drop-list" class="dl" identifier="droplist${r}_right"></div>
181
+ </div>`)}`}connectedCallback(){super.connectedCallback(),this._childrenMap=Array.from(this.querySelectorAll("qti-simple-associable-choice"))}};ke.styles=b`
182
+ :host {
183
+ display: block; /* necessary to calculate scaling position */
184
+ }
185
+ slot[name='qti-simple-associable-choice'] {
186
+ display: flex;
187
+ flex-wrap: wrap;
188
+ gap: 0.5rem;
189
+ }
190
+ `,l([C()],ke.prototype,"_childrenMap",2);customElements.define("qti-associate-interaction",ke);var at=class extends z(f,"qti-gap-text",!1,"qti-gap"){render(){return u` <slot part="drags" name="qti-gap-text"></slot>
191
+ <slot part="drops"></slot>`}};at.styles=[b`
192
+ :host {
193
+ display: flex;
194
+ align-items: flex-start;
195
+ gap: 0.5rem;
196
+ }
197
+ :host(.qti-choices-top) {
198
+ flex-direction: column;
199
+ }
200
+ :host(.qti-choices-bottom) {
201
+ flex-direction: column-reverse;
202
+ }
203
+ :host(.qti-choices-left) {
204
+ flex-direction: row;
205
+ }
206
+ :host(.qti-choices-right) {
207
+ flex-direction: row-reverse;
208
+ }
209
+ [part='drags'] {
210
+ display: flex;
211
+ align-items: flex-start;
212
+ flex: 1;
213
+ }
214
+ `];customElements.define("qti-gap-match-interaction",at);function Re(i,t,e,r){switch(i){case"circle":{let[s,n,o]=t,a=s/e.width*100,c=n/e.height*100,d=o/e.width*100;r.style.left=a-d+"%",r.style.top=c-d+"%",r.style.width=r.style.height=4*d+"px",r.style.borderRadius="9999px"}break;case"rect":{let[s,n,o,a]=t,c=s/e.width*100,d=n/e.height*100,h=o/e.width*100,m=a/e.height*100;r.style.left=c+"%",r.style.top=d+"%",r.style.width=h-c+"%",r.style.height=m-d+"%"}break;case"poly":{let s=t.reduce((A,S,ve,yt)=>{if(ve%2===1){let Cs=A.pop();A[A.length]={x:Cs,y:yt[ve]}}else A.push(S);return A},[]),n=Math.min(...s.map(A=>A.x)),o=Math.max(...s.map(A=>A.x)),a=Math.min(...s.map(A=>A.y)),c=Math.max(...s.map(A=>A.y)),d=n/e.width*100,h=a/e.height*100,m=o/e.width*100,y=c/e.height*100;r.style.left=n/e.width*100+"%",r.style.top=a/e.height*100+"%",r.style.width=m-d+"%",r.style.height=y-h+"%";let q=s.map(A=>({x:(A.x-n)/(o-n)*100,y:(A.y-a)/(c-a)*100})).map(A=>Math.round(A.x)+"% "+Math.round(A.y)+"%").join(",");r.style.clipPath=`polygon(${q})`}break;default:break}}var vs=(i,t,e)=>{let r=new Map;for(let s=t;s<=e;s++)r.set(i[s],s);return r},sr=Q(class extends I{constructor(i){if(super(i),i.type!==Z.CHILD)throw Error("repeat() can only be used in text expressions")}ht(i,t,e){let r;e===void 0?e=t:t!==void 0&&(r=t);let s=[],n=[],o=0;for(let a of i)s[o]=r?r(a,o):o,n[o]=e(a,o),o++;return{values:n,keys:s}}render(i,t,e){return this.ht(i,t,e).values}update(i,[t,e,r]){var A;let s=as(i),{values:n,keys:o}=this.ht(t,e,r);if(!Array.isArray(s))return this.dt=o,n;let a=(A=this.dt)!=null?A:this.dt=[],c=[],d,h,m=0,y=s.length-1,g=0,q=n.length-1;for(;m<=y&&g<=q;)if(s[m]===null)m++;else if(s[y]===null)y--;else if(a[m]===o[g])c[g]=re(s[m],n[g]),m++,g++;else if(a[y]===o[q])c[q]=re(s[y],n[q]),y--,q--;else if(a[m]===o[q])c[q]=re(s[m],n[q]),Ae(i,c[q+1],s[m]),m++,q--;else if(a[y]===o[g])c[g]=re(s[y],n[g]),Ae(i,s[m],s[y]),y--,g++;else if(d===void 0&&(d=vs(o,g,q),h=vs(a,m,y)),d.has(a[m]))if(d.has(a[y])){let S=h.get(o[g]),ve=S!==void 0?s[S]:null;if(ve===null){let yt=Ae(i,s[m]);re(yt,n[g]),c[g]=yt}else c[g]=re(ve,n[g]),Ae(i,s[m],ve),s[S]=null;g++}else Tt(s[y]),y--;else Tt(s[m]),m++;for(;g<=q;){let S=Ae(i,c[q+1]);re(S,n[g]),c[g++]=S}for(;m<=y;){let S=s[m++];S!==null&&Tt(S)}return this.dt=o,ns(i,c),P}});var j=class extends ${constructor(){super();this.startPoint=null;this.endPoint=null;this._lines=[];this.addEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}reset(){this._lines=[]}validate(){return this._lines.length>0}set response(e){Array.isArray(e)&&(this._lines=e)}render(){var e,r,s,n;return u`<slot name="prompt"></slot>
215
+ <line-container>
216
+ <svg
217
+ width=${X((e=this.grImage[0])==null?void 0:e.width)}
218
+ height=${X((r=this.grImage[0])==null?void 0:r.height)}
219
+ viewbox="0 0 ${(s=this.grImage[0])==null?void 0:s.width} ${(n=this.grImage[0])==null?void 0:n.height}"
220
+ >
221
+ ${sr(this._lines,o=>o,(o,a)=>Be`
222
+ <line
223
+ part="line"
224
+ x1=${parseInt(this.querySelector("[identifier="+o.split(" ")[0]+"]").style.left)}
225
+ y1=${parseInt(this.querySelector("[identifier="+o.split(" ")[0]+"]").style.top)}
226
+ x2=${parseInt(this.querySelector("[identifier="+o.split(" ")[1]+"]").style.left)}
227
+ y2=${parseInt(this.querySelector("[identifier="+o.split(" ")[1]+"]").style.top)}
228
+ stroke="red"
229
+ stroke-width="3"
230
+ @click=${c=>{c.stopPropagation(),this._lines=this._lines.filter((d,h)=>h!==a),this.saveResponse(this._lines)}}
231
+ />
232
+ `)}
233
+ ${this.startPoint&&Be`<line
234
+ part="point"
235
+ x1=${this.startCoord.x}
236
+ y1=${this.startCoord.y}
237
+ x2=${this.mouseCoord.x}
238
+ y2=${this.mouseCoord.y}
239
+ stroke="red"
240
+ stroke-width="3"
241
+ />`}
242
+ </svg>
243
+ <slot></slot>
244
+ </line-container>`}positionHotspotOnRegister(e){let r=this.querySelector("img"),s=e.target,n=s.getAttribute("coords"),o=s.getAttribute("shape"),a=n.split(",").map(c=>parseInt(c));Re(o,a,r,s)}firstUpdated(e){super.firstUpdated(e),this.hotspots=document.querySelectorAll("qti-associable-hotspot"),document.addEventListener("mousemove",r=>{this.mouseCoord={x:r.clientX-this.grImage[0].getBoundingClientRect().left,y:r.clientY-this.grImage[0].getBoundingClientRect().top}}),this.hotspots.forEach(r=>{r.style.left=r.getAttribute("coords").split(",")[0]+"px",r.style.top=r.getAttribute("coords").split(",")[1]+"px",r.addEventListener("click",s=>{this.startPoint?this.endPoint||(this.endPoint=s.target,this._lines=[...this._lines,this.startPoint.getAttribute("identifier")+" "+this.endPoint.getAttribute("identifier")],this.saveResponse(this._lines),this.startPoint=null,this.endPoint=null):(this.startPoint=s.target,this.startCoord={x:this.startPoint.getAttribute("coords").split(",")[0],y:this.startPoint.getAttribute("coords").split(",")[1]})})})}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}};j.styles=[b`
245
+ slot:not([name='prompt']) {
246
+ // position: relative; /* qti-hotspot-choice relative to the slot */
247
+ display: block;
248
+ width: fit-content; /* hotspots not stretching further if image is at max size */
249
+ }
250
+ ::slotted(img) {
251
+ /* image not selectable anymore */
252
+ pointer-events: none;
253
+ user-select: none;
254
+ }
255
+ ::slotted(qti-associable-hotspot) {
256
+ transform: translate(-50%, -50%);
257
+ }
258
+ line-container {
259
+ display: block;
260
+ position: relative;
261
+ }
262
+ svg {
263
+ position: absolute;
264
+ top: 0px;
265
+ left: 0px;
266
+ }
267
+ `],l([C()],j.prototype,"_lines",2),l([C()],j.prototype,"startCoord",2),l([C()],j.prototype,"mouseCoord",2),l([Xe("svg")],j.prototype,"svgContainer",2),l([Qr({selector:"img"})],j.prototype,"grImage",2);customElements.define("qti-graphic-associate-interaction",j);var lt=class extends z(f,"qti-gap-img",!1,"qti-associable-hotspot"){render(){return u` <slot></slot>
268
+ <slot name="qti-gap-img"></slot>`}positionHotspotOnRegister(t){let e=this.querySelector("img"),r=t.target,s=r.getAttribute("coords"),n=r.getAttribute("shape"),o=s.split(",").map(a=>parseInt(a));switch(n){case"circle":{let[a,c,d]=o;r.style.left=a-d+"px",r.style.top=c-d+"px",r.style.width=r.style.height=2*d+"px"}break;case"rect":{let[a,c,d,h]=o;r.style.left=a+"px",r.style.top=c+"px",r.style.width=d-a+"px",r.style.height=h-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)}};lt.styles=b`
269
+ :host {
270
+ display: inline-block;
271
+ position: relative;
272
+ }
273
+ slot[name='qti-gap-img'] {
274
+ display: flex;
275
+ gap: 1rem;
276
+ }
277
+ `;customElements.define("qti-graphic-gap-match-interaction",lt);var ct=class extends T{render(){return u`
278
+ <slot name="prompt"></slot>
279
+ <!-- slot for the prompt -->
280
+ <slot></slot>
281
+ <!-- slot for the image and hotspots -->
282
+ `}setHotspotOrder(e){let{identifier:r}=e.detail,s=this._choiceElements.find(o=>o.getAttribute("identifier")===r),n=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,s.order==null){if(this._choiceElements.filter(o=>o.order>0).length>=n){this.choiceOrdering=!1;return}s.order=this._choiceElements.filter(o=>!!o.order).length+1,this.choiceOrdering=!1;return}else this._choiceElements.forEach(o=>(o.order>o.order&&o.order--,o)),s.order=null;this.choiceOrdering=!1}}positionHotspotOnRegister(e){let r=this.querySelector("img"),s=e.target,n=s.getAttribute("coords"),o=s.getAttribute("shape"),a=n.split(",").map(c=>parseInt(c));Re(o,a,r,s)}connectedCallback(){super.connectedCallback(),this.addEventListener("qti-choice-element-selected",this.setHotspotOrder),this.addEventListener("qti-register-choice",this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("qti-choice-element-selected",this.setHotspotOrder),this.removeEventListener("qti-register-choice",this.positionHotspotOnRegister)}};ct.styles=[b`
283
+ slot:not([name='prompt']) {
284
+ position: relative; /* qti-hotspot-choice relative to the slot */
285
+ display: block;
286
+ width: fit-content; /* hotspots not stretching further if image is at max size */
287
+ }
288
+ ::slotted(img) {
289
+ /* image not selectable anymore */
290
+ pointer-events: none;
291
+ user-select: none;
292
+ }
293
+ `];customElements.define("qti-graphic-order-interaction",ct);var pt=class extends T{render(){return u`
294
+ <slot name="prompt"></slot>
295
+ <!-- slot for the prompt -->
296
+ <slot></slot>
297
+ <!-- slot for the image and hotspots -->
298
+ `}positionHotspotOnRegister(t){let e=this.querySelector("img"),r=t.target,s=r.getAttribute("coords"),n=r.getAttribute("shape"),o=s.split(",").map(a=>parseInt(a));Re(n,o,e,r)}connectedCallback(){super.connectedCallback(),this.addEventListener("qti-register-choice",this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("qti-register-choice",this.positionHotspotOnRegister)}};pt.styles=[b`
299
+ slot:not([name='prompt']) {
300
+ position: relative; /* qti-hotspot-choice relative to the slot */
301
+ display: block;
302
+ width: fit-content; /* hotspots not stretching further if image is at max size */
303
+ }
304
+ ::slotted(img) {
305
+ /* image not selectable anymore */
306
+ pointer-events: none;
307
+ user-select: none;
308
+ /* width:100%; */
309
+ }
310
+ `];customElements.define("qti-hotspot-interaction",pt);var ir=class extends f{connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}render(){return u`
311
+ <slot></slot>
312
+ <slot name="qti-simple-associable-choice"></slot>
313
+ `}};customElements.define("qti-simple-associable-choice",ir);var fe=class extends z(f,"qti-simple-match-set:first-of-type qti-simple-associable-choice",!1,"qti-simple-match-set:last-of-type qti-simple-associable-choice"){constructor(){super(...arguments);this.response=[];this.responseIdentifier=""}connectedCallback(){super.connectedCallback(),this.rows=Array.from(this.querySelectorAll("qti-simple-match-set:first-of-type qti-simple-associable-choice")),this.cols=Array.from(this.querySelectorAll("qti-simple-match-set:last-of-type qti-simple-associable-choice")),this.response=[]}render(){return this.classList.contains("qti-match-tabular")?u`
314
+ <slot name="prompt"></slot>
315
+ <table>
316
+ <tr>
317
+ <td></td>
318
+ ${this.cols.map((e,r)=>u`<th part="r-header">${qe(e.innerHTML)}</th>`)}
319
+ </tr>
320
+ ${this.rows.map((e,r)=>u`<tr>
321
+ <td part="c-header">${qe(e.innerHTML)}</td>
322
+ ${this.cols.map((s,n)=>{let o=`${e.getAttribute("identifier")} ${s.getAttribute("identifier")}`;return u`<td>
323
+ <input
324
+ type="checkbox"
325
+ value=${s.getAttribute("identifier")}
326
+ .checked=${this.response.includes(o)}
327
+ @change=${a=>{a.target.checked?this.response.push(o):this.response=this.response.filter(d=>d!==o),this.requestUpdate(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:this.response}}))}}
328
+ />
329
+ </td>`})}
330
+ </tr>`)}
331
+ </table>
332
+ `:u`<slot name="prompt"></slot> <slot></slot>`}};fe.styles=[],l([C()],fe.prototype,"response",2),l([p({type:String,attribute:"response-identifier"})],fe.prototype,"responseIdentifier",2);customElements.define("qti-match-interaction",fe);var dt=class extends ${constructor(){super();this.value=0}reset(){}validate(){return!0}set response(e){}static get properties(){return k(x({},$.properties),{step:{type:Number,attribute:"step",default:10}})}render(){return u` <slot name="prompt"></slot>
333
+ <slot></slot>`}connectedCallback(){super.connectedCallback();let e=this.querySelector("audio")||this.querySelector("video")||this.querySelector("object");e&&e.addEventListener("ended",()=>{this.value++,this.saveResponse(this.value.toString())})}};dt.styles=[b``];customElements.define("qti-media-interaction",dt);var be=class extends z(f,"qti-simple-choice",!0,"drop-list"){render(){return u` <slot name="prompt"> </slot>
334
+ <div part="container">
335
+ <slot part="drags"> </slot>
336
+ <div part="drops">
337
+ ${Array.from(this.querySelectorAll("qti-simple-choice")).map((e,r)=>u`<drop-list part="drop-list" identifier="droplist${r}"></drop-list>`)}
338
+ </div>
339
+ </div>`}connectedCallback(){super.connectedCallback(),this.childrenMap=Array.from(this.querySelectorAll("qti-simple-choice")),this.childrenMap.forEach(e=>e.setAttribute("part","qti-simple-choice"))}};be.layoutClass=["qti-choices-top","qti-choices-bottom","qti-choices-left","qti-choices-right"],be.styles=[b`
340
+ [part='drags'] {
341
+ display: flex;
342
+ align-items: flex-start;
343
+ flex: 1;
344
+ }
345
+
346
+ [part='drops'] {
347
+ flex: 1;
348
+ display: grid;
349
+ grid-auto-flow: column;
350
+ grid-auto-columns: 1fr;
351
+ }
352
+
353
+ :host([orientation='horizontal']) [part='drags'] {
354
+ flex-direction: row;
355
+ }
356
+ :host([orientation='horizontal']) [part='drops'] {
357
+ grid-auto-flow: column;
358
+ }
359
+ :host([orientation='vertical']) [part='drags'] {
360
+ flex-direction: column;
361
+ }
362
+ :host([orientation='vertical']) [part='drops'] {
363
+ grid-auto-flow: row;
364
+ }
365
+
366
+ [part='drop-list'] {
367
+ display: block;
368
+ flex: 1;
369
+ }
370
+
371
+ [part='container'] {
372
+ display: flex;
373
+ gap: 0.5rem;
374
+ }
375
+ :host(.qti-choices-top) [part='container'] {
376
+ flex-direction: column;
377
+ }
378
+ :host(.qti-choices-bottom) [part='container'] {
379
+ flex-direction: column-reverse;
380
+ }
381
+ :host(.qti-choices-left) [part='container'] {
382
+ flex-direction: row;
383
+ }
384
+ :host(.qti-choices-right) [part='container'] {
385
+ flex-direction: row-reverse;
386
+ }
387
+ `],l([p({type:String})],be.prototype,"orientation",2);customElements.define("qti-order-interaction",be);var ut=class extends f{render(){return u`<slot></slot>`}};ut.styles=[b`
388
+ :host {
389
+ display: block;
390
+ }
391
+ ::slotted(img) {
392
+ position: absolute;
393
+ cursor: move;
394
+ user-select: none;
395
+ left: 50%;
396
+ transform: translateX(-50%);
397
+ }
398
+ `];customElements.define("qti-position-object-interaction",ut);var ht=class extends f{constructor(){super();this.removeMoveListener=this.removeMoveListener.bind(this),this.dragElementHandler=this.dragElementHandler.bind(this)}render(){return u`<slot></slot>`}dragElementHandler(e){e.preventDefault();let r=e.clientX-this.startX,s=e.clientY-this.startY;this.dragElement.style.left=this.dragElement.offsetLeft+r+"px",this.dragElement.style.top=this.dragElement.offsetTop+s+"px",this.startX=e.clientX,this.startY=e.clientY}firstUpdated(e){super.firstUpdated(e),this.dragElement=this.querySelector("qti-position-object-interaction>img"),this.startX=0,this.startY=0,this.dragElement.addEventListener("mousedown",r=>{this.startX=r.clientX,this.startY=r.clientY,document.addEventListener("mousemove",this.dragElementHandler,!0)}),document.addEventListener("mouseup",this.removeMoveListener)}removeMoveListener(e){document.removeEventListener("mousemove",this.dragElementHandler,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousemove",this.dragElementHandler),document.removeEventListener("mouseup",this.removeMoveListener)}};ht.styles=[b`
399
+ :host {
400
+ display: inline-block;
401
+ position: relative;
402
+ }
403
+ `];customElements.define("qti-position-object-stage",ht);var ys="important",ti=" !"+ys,xs=Q(class extends I{constructor(i){var t;if(super(i),i.type!==Z.ATTRIBUTE||i.name!=="style"||((t=i.strings)==null?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(i){return Object.keys(i).reduce((t,e)=>{let r=i[e];return r==null?t:t+`${e=e.includes("-")?e:e.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`},"")}update(i,[t]){let{style:e}=i.element;if(this.ut===void 0)return this.ut=new Set(Object.keys(t)),this.render(t);for(let r of this.ut)t[r]==null&&(this.ut.delete(r),r.includes("-")?e.removeProperty(r):e[r]=null);for(let r in t){let s=t[r];if(s!=null){this.ut.add(r);let n=typeof s=="string"&&s.endsWith(ti);r.includes("-")||n?e.setProperty(r,n?s.slice(0,-11):s,n?ys:""):e[r]=s}}return P}});var oe=class extends ${constructor(){super(...arguments);this.maxChoices=0;this.minChoices=0;this._points=[]}render(){return u` <slot name="prompt"></slot>
404
+ <point-container>
405
+ ${sr(this._points,e=>e,(e,r)=>u`
406
+ <button
407
+ part="point"
408
+ style=${xs({position:"absolute",transform:"translate(-50%, -50%)",left:`${e.split(" ")[0]}px`,top:`${e.split(" ")[1]}px`})}
409
+ aria-label="Remove point at ${e}"
410
+ @click=${s=>{s.stopPropagation(),this._points=this._points.filter((n,o)=>o!==r),this.saveResponse(this._points)}}
411
+ ></button>
412
+ `)}
413
+ <slot></slot>
414
+ </point-container>`}reset(){this._points=[]}validate(){return this._points.length>=this.minChoices&&this._points.length<=this.maxChoices}set response(e){this._points=Array.isArray(e)?e:[e]}connectedCallback(){super.connectedCallback(),this.querySelector("img").addEventListener("click",r=>{let s=r.offsetX,n=r.offsetY;this._points=[...this._points,s+" "+n],this.saveResponse(this._points)})}disconnectedCallback(){super.disconnectedCallback()}};oe.styles=[b`
415
+ :host {
416
+ display: block;
417
+ }
418
+ point-container {
419
+ display: block;
420
+ position: relative;
421
+ }
422
+ `],l([p({type:Number,attribute:"max-choices"})],oe.prototype,"maxChoices",2),l([p({type:Number,attribute:"min-choices"})],oe.prototype,"minChoices",2),l([C()],oe.prototype,"_points",2);customElements.define("qti-select-point-interaction",oe);var L=class extends ${constructor(){super();this.stepLabel=!1;this.reverse=!1;this._handleDisabledChange=(e,r)=>{};this._handleReadonlyChange=(e,r)=>{};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 r=parseInt(e);if(Number.isNaN(r)){console.error("QtiSliderInteraction: response is not a number");return}this.value=r}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()),u`<slot name="prompt"></slot>
423
+ <div id="slider" part="slider">
424
+ ${this.csLive.getPropertyValue("--show-bounds")=="true"?u`<div id="bounds" part="bounds">
425
+ <div>${this._min}</div>
426
+ <div>${this._max}</div>
427
+ </div>`:E}
428
+ ${this.csLive.getPropertyValue("--show-ticks")=="true"?u`<div id="ticks" part="ticks"></div>`:E}
429
+ <div id="rail" part="rail" @mousedown=${this._onMouseDown} @touchstart=${this._onTouchMove}>
430
+ <div id="knob" part="knob">
431
+ ${this.csLive.getPropertyValue("--show-value")=="true"?u`<div id="value" part="value">${this.value}</div>`:E}
432
+ </div>
433
+ </div>
434
+ </div>`}connectedCallback(){super.connectedCallback(),this.step=1,this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}_onTouchMove(e){let r=a=>{let{x:c}=this.getPositionFromEvent(a),d=c-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(d),a.stopPropagation()},s=()=>{document.removeEventListener("touchmove",r),document.removeEventListener("touchend",s),this.saveResponse(this.value.toString())};document.addEventListener("touchmove",r),document.addEventListener("touchend",s);let{x:n}=this.getPositionFromEvent(e),o=n-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(o),e.stopPropagation()}_onMouseDown(e){let r=o=>{let a=o.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(a),o.preventDefault(),o.stopPropagation()},s=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",s),this.saveResponse(this.value.toString())};document.addEventListener("mousemove",r),document.addEventListener("mouseup",s);let n=e.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(n),e.preventDefault(),e.stopPropagation()}calculateValue(e){let r=this.min+(this.max-this.min)*e/this._rail.getBoundingClientRect().width,s=this.min+Math.round((r-this.min)/this._step)*this._step;this.value=s}getPositionFromEvent(e){let r;if(e.type=="touchstart"||e.type=="touchmove"||e.type=="touchend"||e.type=="touchcancel"){let s=typeof e.originalEvent=="undefined"?e:e.originalEvent,n=s.touches[0]||s.changedTouches[0];r={x:n.pageX,y:n.pageY}}else(e.type=="mousedown"||e.type=="mouseup"||e.type=="mousemove"||e.type=="mouseover"||e.type=="mouseout"||e.type=="mouseenter"||e.type=="mouseleave")&&(r={x:e.clientX,y:e.clientY});return r}};L.styles=[b``],l([Xe("#knob")],L.prototype,"_knob",2),l([Xe("#rail")],L.prototype,"_rail",2),l([p({type:Number})],L.prototype,"value",2),l([p({type:Boolean,attribute:"step-label"})],L.prototype,"stepLabel",2),l([p({type:Boolean})],L.prototype,"reverse",2),l([p({type:Number,attribute:"lower-bound"})],L.prototype,"min",1),l([p({type:Number,attribute:"upper-bound"})],L.prototype,"max",1),l([p({type:Number,attribute:"step"})],L.prototype,"step",1),l([w("disabled",{waitUntilFirstUpdate:!0})],L.prototype,"_handleDisabledChange",2),l([w("readonly",{waitUntilFirstUpdate:!0})],L.prototype,"_handleReadonlyChange",2);customElements.define("qti-slider-interaction",L);var ge=class extends ${constructor(){super(...arguments);this.countAttempt="true"}validate(){return!0}set response(e){}render(){return u`<button ?disabled=${this.disabled} part="button" @click=${this.endAttempt}>${this.title}</button>`}endAttempt(e){this.dispatchEvent(new CustomEvent("end-attempt",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,countAttempt:this.countAttempt==="true"}}))}};l([p({type:String,attribute:"count-attempt"})],ge.prototype,"countAttempt",2),l([p({type:String})],ge.prototype,"title",2),ge=l([_("qti-end-attempt-interaction")],ge);var mt=class extends f{connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,cancelable:!1,composed:!0}))}render(){return u` <slot name="qti-gap-img"></slot> `}};mt.styles=b`
435
+ :host {
436
+ position: absolute;
437
+ }
438
+ `;customElements.define("qti-associable-hotspot",mt);var ft=class extends f{constructor(){super(...arguments);this.tabindex=0}render(){return u` <slot name="qti-gap-text"></slot>`}};l([p({type:Number,reflect:!0})],ft.prototype,"tabindex",2);customElements.define("qti-gap",ft);var bt=class extends f{constructor(){super(...arguments);this.tabindex=0}connectedCallback(){this.setAttribute("slot","qti-gap-img")}};l([p({type:Number,reflect:!0})],bt.prototype,"tabindex",2);customElements.define("qti-gap-img",bt);var gt=class extends f{constructor(){super(...arguments);this.tabindex=0}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-gap-text")}render(){return u`<slot></slot>`}};l([p({type:Number,reflect:!0})],gt.prototype,"tabindex",2);customElements.define("qti-gap-text",gt);var Te=class extends R{};Te.styles=b`
439
+ :host {
440
+ position: absolute;
441
+ }
442
+ `,l([p({attribute:"aria-ordervalue",type:Number,reflect:!0})],Te.prototype,"order",2);customElements.define("qti-hotspot-choice",Te);var vt=class extends R{render(){return u`<div part="ch"><div part="cha"></div></div>
443
+ <slot></slot> `}};vt=l([_("qti-hottext")],vt);var or=class extends f{};customElements.define("qti-inline-choice",or);var Le=class extends R{render(){return u`<div part="ch"><div part="cha"></div></div>
444
+ <slot part="slot"></slot> `}};Le.styles=b`
445
+ :host {
446
+ display: flex;
447
+ }
448
+ slot {
449
+ width: 100%;
450
+ display: block;
451
+ }
452
+ `,Le=l([_("qti-simple-choice")],Le);var ri=()=>{let i,t={async load(e){return new Promise((r,s)=>{Es(e).then(n=>(i=n,r(t)))})},parse(e){return i=ni(e),t},path:e=>(ai(i,e),t),html(){return _s(i)},xml(){return new XMLSerializer().serializeToString(i)}};return t},si=()=>{let i,t={async load(e){return new Promise((r,s)=>{Es(e).then(n=>(i=n,r(t)))})},items(){return oi(i)},html(){return _s(i)},xml(){return new XMLSerializer().serializeToString(i)}};return t},ii=`
453
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
454
+ <xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />
455
+ <xsl:template match="@*|node()">
456
+ <xsl:copy>
457
+ <xsl:apply-templates select="@*|node()"/>
458
+ </xsl:copy>
459
+ </xsl:template>
460
+
461
+ <!-- convert CDATA to comments -->
462
+ <xsl:template match="text()[contains(., 'CDATA')]">
463
+ <strong>
464
+ <xsl:comment>
465
+ <xsl:value-of select="."/>
466
+ </xsl:comment>
467
+ <strong>
468
+ </xsl:template>
469
+
470
+ <!-- remove xml comments -->
471
+ <xsl:template match="comment()" />
472
+
473
+ <!-- remove existing namespaces -->
474
+ <xsl:template match="*">
475
+ <!-- remove element prefix -->
476
+ <xsl:element name="{local-name()}">
477
+ <!-- process attributes -->
478
+ <xsl:for-each select="@*">
479
+ <!-- remove attribute prefix -->
480
+ <xsl:attribute name="{local-name()}">
481
+ <xsl:value-of select="."/>
482
+ </xsl:attribute>
483
+ </xsl:for-each>
484
+ <xsl:apply-templates/>
485
+ </xsl:element>
486
+ </xsl:template>
487
+ </xsl:stylesheet>`;function oi(i){let t=[];return i.querySelectorAll("qti-assessment-item-ref").forEach(e=>{let r=e.getAttribute("identifier"),s=e.getAttribute("href"),n=e.getAttribute("category");t.push({identifier:r,href:s,category:n})}),t}function Es(i){return new Promise((t,e)=>{let r=new XMLHttpRequest;r.open("GET",i,!0),r.responseType="document",r.onload=()=>r.status>=200&&r.status<300?t(r.responseXML):(e(r.statusText),null),r.onerror=function(){e(r.statusText)},r.send()})}function ni(i){return new DOMParser().parseFromString(i,"text/xml")}function _s(i){let t=new XSLTProcessor,e=new DOMParser().parseFromString(ii,"text/xml");t.importStylesheet(e);let r=t.transformToFragment(i,document);return new XMLSerializer().serializeToString(r)}function ai(i,t){i.querySelectorAll("[src],[href]").forEach(e=>{var n;let r="";e.getAttribute("src")&&(r="src"),e.getAttribute("href")&&(r="href");let s=(n=e.getAttribute(r))==null?void 0:n.trim();if(!s.startsWith("data:")&&!s.startsWith("http")){let o=t+encodeURI(s);e.setAttribute(r,o)}})}0&&(module.exports={Interaction,QtPrintedVariable,QtiAnd,QtiAssessmentItem,QtiAssociableHotspot,QtiAssociateInteraction,QtiBaseValue,QtiChoice,QtiChoiceInteraction,QtiCompanionMaterialsInfo,QtiConditionExpression,QtiContains,QtiContentBody,QtiCorrect,QtiEndAttemptInteraction,QtiEqual,QtiEqualRounded,QtiExpression,QtiExtendedTextInteraction,QtiFeedbackBlock,QtiFeedbackInline,QtiGap,QtiGapImg,QtiGapMatchInteraction,QtiGapText,QtiGraphicAssociateInteraction,QtiGraphicGapMatchInteraction,QtiGraphicOrderInteraction,QtiGt,QtiGte,QtiHotspotChoice,QtiHotspotInteraction,QtiHottext,QtiHottextInteraction,QtiInlineChoice,QtiInlineChoiceInteraction,QtiIsNull,QtiLookupOutcomeValue,QtiLt,QtiLte,QtiMapResponse,QtiMapping,QtiMatch,QtiMatchInteraction,QtiMediaInteraction,QtiMember,QtiModalFeedback,QtiMultiple,QtiNot,QtiOr,QtiOrderInteraction,QtiOrdered,QtiOutcomeDeclaration,QtiPortableCustomInteraction,QtiPositionObjectStage,QtiProduct,QtiPrompt,QtiResponseCondition,QtiResponseDeclaration,QtiResponseElse,QtiResponseElseIf,QtiResponseIf,QtiResponseProcessing,QtiRubricBlock,QtiRule,QtiSPositionObjectInteraction,QtiSelectPointInteraction,QtiSetOutcomeValue,QtiSimpleAssociableChoice,QtiSimpleChoice,QtiSliderInteraction,QtiStringMatch,QtiStylesheet,QtiSum,QtiTextEntryInteraction,QtiVariable,itemContext,qtiAndMixin,qtiTransformItem,qtiTransformTest});
488
+ /*! Bundled license information:
489
+
490
+ @lit/context/lib/context-request-event.js:
491
+ (**
492
+ * @license
493
+ * Copyright 2021 Google LLC
494
+ * SPDX-License-Identifier: BSD-3-Clause
495
+ *)
496
+
497
+ @lit/context/lib/create-context.js:
498
+ (**
499
+ * @license
500
+ * Copyright 2021 Google LLC
501
+ * SPDX-License-Identifier: BSD-3-Clause
502
+ *)
503
+
504
+ @lit/context/lib/controllers/context-consumer.js:
505
+ (**
506
+ * @license
507
+ * Copyright 2021 Google LLC
508
+ * SPDX-License-Identifier: BSD-3-Clause
509
+ *)
510
+
511
+ @lit/context/lib/value-notifier.js:
512
+ (**
513
+ * @license
514
+ * Copyright 2021 Google LLC
515
+ * SPDX-License-Identifier: BSD-3-Clause
516
+ *)
517
+
518
+ @lit/context/lib/controllers/context-provider.js:
519
+ (**
520
+ * @license
521
+ * Copyright 2021 Google LLC
522
+ * SPDX-License-Identifier: BSD-3-Clause
523
+ *)
524
+
525
+ @lit/context/lib/context-root.js:
526
+ (**
527
+ * @license
528
+ * Copyright 2021 Google LLC
529
+ * SPDX-License-Identifier: BSD-3-Clause
530
+ *)
531
+
532
+ @lit/context/lib/decorators/provide.js:
533
+ (**
534
+ * @license
535
+ * Copyright 2017 Google LLC
536
+ * SPDX-License-Identifier: BSD-3-Clause
537
+ *)
538
+
539
+ @lit/context/lib/decorators/consume.js:
540
+ (**
541
+ * @license
542
+ * Copyright 2022 Google LLC
543
+ * SPDX-License-Identifier: BSD-3-Clause
544
+ *)
545
+
546
+ @lit-labs/ssr-dom-shim/lib/element-internals.js:
547
+ (**
548
+ * @license
549
+ * Copyright 2023 Google LLC
550
+ * SPDX-License-Identifier: BSD-3-Clause
551
+ *)
552
+
553
+ @lit-labs/ssr-dom-shim/index.js:
554
+ (**
555
+ * @license
556
+ * Copyright 2019 Google LLC
557
+ * SPDX-License-Identifier: BSD-3-Clause
558
+ *)
559
+
560
+ @lit/reactive-element/node/css-tag.js:
561
+ (**
562
+ * @license
563
+ * Copyright 2019 Google LLC
564
+ * SPDX-License-Identifier: BSD-3-Clause
565
+ *)
566
+
567
+ lit-html/node/lit-html.js:
568
+ (**
569
+ * @license
570
+ * Copyright 2017 Google LLC
571
+ * SPDX-License-Identifier: BSD-3-Clause
572
+ *)
573
+
574
+ lit-element/lit-element.js:
575
+ (**
576
+ * @license
577
+ * Copyright 2017 Google LLC
578
+ * SPDX-License-Identifier: BSD-3-Clause
579
+ *)
580
+
581
+ lit-html/node/is-server.js:
582
+ (**
583
+ * @license
584
+ * Copyright 2022 Google LLC
585
+ * SPDX-License-Identifier: BSD-3-Clause
586
+ *)
587
+
588
+ @lit/reactive-element/node/decorators/custom-element.js:
589
+ (**
590
+ * @license
591
+ * Copyright 2017 Google LLC
592
+ * SPDX-License-Identifier: BSD-3-Clause
593
+ *)
594
+
595
+ @lit/reactive-element/node/decorators/property.js:
596
+ (**
597
+ * @license
598
+ * Copyright 2017 Google LLC
599
+ * SPDX-License-Identifier: BSD-3-Clause
600
+ *)
601
+
602
+ @lit/reactive-element/node/decorators/state.js:
603
+ (**
604
+ * @license
605
+ * Copyright 2017 Google LLC
606
+ * SPDX-License-Identifier: BSD-3-Clause
607
+ *)
608
+
609
+ @lit/reactive-element/node/decorators/event-options.js:
610
+ (**
611
+ * @license
612
+ * Copyright 2017 Google LLC
613
+ * SPDX-License-Identifier: BSD-3-Clause
614
+ *)
615
+
616
+ @lit/reactive-element/node/decorators/base.js:
617
+ (**
618
+ * @license
619
+ * Copyright 2017 Google LLC
620
+ * SPDX-License-Identifier: BSD-3-Clause
621
+ *)
622
+
623
+ @lit/reactive-element/node/decorators/query.js:
624
+ (**
625
+ * @license
626
+ * Copyright 2017 Google LLC
627
+ * SPDX-License-Identifier: BSD-3-Clause
628
+ *)
629
+
630
+ @lit/reactive-element/node/decorators/query-all.js:
631
+ (**
632
+ * @license
633
+ * Copyright 2017 Google LLC
634
+ * SPDX-License-Identifier: BSD-3-Clause
635
+ *)
636
+
637
+ @lit/reactive-element/node/decorators/query-async.js:
638
+ (**
639
+ * @license
640
+ * Copyright 2017 Google LLC
641
+ * SPDX-License-Identifier: BSD-3-Clause
642
+ *)
643
+
644
+ @lit/reactive-element/node/decorators/query-assigned-elements.js:
645
+ (**
646
+ * @license
647
+ * Copyright 2021 Google LLC
648
+ * SPDX-License-Identifier: BSD-3-Clause
649
+ *)
650
+
651
+ @lit/reactive-element/node/decorators/query-assigned-nodes.js:
652
+ (**
653
+ * @license
654
+ * Copyright 2017 Google LLC
655
+ * SPDX-License-Identifier: BSD-3-Clause
656
+ *)
657
+
658
+ lit-html/node/static.js:
659
+ (**
660
+ * @license
661
+ * Copyright 2020 Google LLC
662
+ * SPDX-License-Identifier: BSD-3-Clause
663
+ *)
664
+
665
+ lit-html/node/directives/if-defined.js:
666
+ (**
667
+ * @license
668
+ * Copyright 2018 Google LLC
669
+ * SPDX-License-Identifier: BSD-3-Clause
670
+ *)
671
+
672
+ lit-html/node/directive-helpers.js:
673
+ (**
674
+ * @license
675
+ * Copyright 2020 Google LLC
676
+ * SPDX-License-Identifier: BSD-3-Clause
677
+ *)
678
+
679
+ lit-html/node/directive.js:
680
+ (**
681
+ * @license
682
+ * Copyright 2017 Google LLC
683
+ * SPDX-License-Identifier: BSD-3-Clause
684
+ *)
685
+
686
+ lit-html/node/async-directive.js:
687
+ (**
688
+ * @license
689
+ * Copyright 2017 Google LLC
690
+ * SPDX-License-Identifier: BSD-3-Clause
691
+ *)
692
+
693
+ lit-html/node/directives/ref.js:
694
+ (**
695
+ * @license
696
+ * Copyright 2020 Google LLC
697
+ * SPDX-License-Identifier: BSD-3-Clause
698
+ *)
699
+
700
+ lit-html/node/directives/unsafe-html.js:
701
+ (**
702
+ * @license
703
+ * Copyright 2017 Google LLC
704
+ * SPDX-License-Identifier: BSD-3-Clause
705
+ *)
706
+
707
+ lit-html/node/directives/repeat.js:
708
+ (**
709
+ * @license
710
+ * Copyright 2017 Google LLC
711
+ * SPDX-License-Identifier: BSD-3-Clause
712
+ *)
713
+
714
+ lit-html/node/directives/style-map.js:
715
+ (**
716
+ * @license
717
+ * Copyright 2018 Google LLC
718
+ * SPDX-License-Identifier: BSD-3-Clause
719
+ *)
720
+ */