@citolab/qti-components 6.9.1-beta.10 → 6.9.1-beta.12
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/custom-elements.json +409 -317
- package/dist/index.js +2298 -603
- package/dist/item.css +2067 -421
- package/dist/qti-components/index.d.ts +2 -2
- package/dist/qti-components/index.js +185 -136
- package/dist/qti-item/index.d.ts +1 -1
- package/dist/qti-item/index.js +2070 -424
- package/dist/{qti-simple-choice-CafJuhnH.d.ts → qti-simple-choice-bOvnZAEz.d.ts} +33 -50
- package/package.json +6 -2
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnPropertyDescriptor,Wi=Object.getOwnPropertyDescriptors;var Fr=Object.getOwnPropertySymbols;var Ki=Object.prototype.hasOwnProperty,Ji=Object.prototype.propertyIsEnumerable;var Xr=s=>{throw TypeError(s)};var Br=(s,t,e)=>t in s?jr(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t)=>{for(var e in t||(t={}))Ki.call(t,e)&&Br(s,e,t[e]);if(Fr)for(var e of Fr(t))Ji.call(t,e)&&Br(s,e,t[e]);return s},S=(s,t)=>Xi(s,Wi(t));var l=(s,t,e,r)=>{for(var i=r>1?void 0:r?Yi(t,e):t,o=s.length-1,n;o>=0;o--)(n=s[o])&&(i=(r?n(t,e,i):n(i))||i);return r&&i&&jr(t,e,i),i};var Yr=(s,t,e)=>t.has(s)||Xr("Cannot "+e);var R=(s,t,e)=>(Yr(s,t,"read from private field"),e?e.call(s):t.get(s)),qt=(s,t,e)=>t.has(s)?Xr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(s):t.set(s,e),Wr=(s,t,e,r)=>(Yr(s,t,"write to private field"),r?r.call(s,e):t.set(s,e),e);var ie=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 we=class{constructor(t,e,r,i){var o;if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(n,a)=>{this.unsubscribe&&(this.unsubscribe!==a&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=n,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(n,a)),this.unsubscribe=a},this.host=t,e.context!==void 0){let n=e;this.context=n.context,this.callback=n.callback,this.subscribe=(o=n.subscribe)!=null?o:!1}else this.context=e,this.callback=r,this.subscribe=i!=null?i:!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new ie(this.context,this.t,this.subscribe))}};var Et=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:i}=this.subscriptions.get(t);t(this.value,i)}clearCallbacks(){this.subscriptions.clear()}};var er=class extends Event{constructor(t){super("context-provider",{bubbles:!0,composed:!0}),this.context=t}},Ce=class extends Et{constructor(t,e,r){var i,o;super(e.context!==void 0?e.initialValue:r),this.onContextRequest=n=>{let a=n.composedPath()[0];n.context===this.context&&a!==this.host&&(n.stopPropagation(),this.addCallback(n.callback,a,n.subscribe))},this.onProviderRequest=n=>{let a=n.composedPath()[0];if(n.context!==this.context||a===this.host)return;let c=new Set;for(let[p,{consumerHost:h}]of this.subscriptions)c.has(p)||(c.add(p),h.dispatchEvent(new ie(this.context,p,!0)));n.stopPropagation()},this.host=t,e.context!==void 0?this.context=e.context:this.context=e,this.attachListeners(),(o=(i=this.host).addController)==null||o.call(i,this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new er(this.context))}};function tr({context:s}){return(t,e)=>{let r=new WeakMap;if(typeof e=="object")return e.addInitializer(function(){r.set(this,new Ce(this,{context:s}))}),{get(){return t.get.call(this)},set(i){var o;return(o=r.get(this))==null||o.setValue(i),t.set.call(this,i)},init(i){var o;return(o=r.get(this))==null||o.setValue(i),i}};{t.constructor.addInitializer(n=>{r.set(n,new Ce(n,{context:s}))});let i=Object.getOwnPropertyDescriptor(t,e),o;if(i===void 0){let n=new WeakMap;o={get(){return n.get(this)},set(a){r.get(this).setValue(a),n.set(this,a)},configurable:!0,enumerable:!0}}else{let n=i.set;o=S(C({},i),{set(a){r.get(this).setValue(a),n==null||n.call(this,a)}})}return void Object.defineProperty(t,e,o)}}}function Z({context:s,subscribe:t}){return(e,r)=>{typeof r=="object"?r.addInitializer(function(){new we(this,{context:s,callback:i=>{e.set.call(this,i)},subscribe:t})}):e.constructor.addInitializer(i=>{new we(i,{context:s,callback:o=>{i[r]=o},subscribe:t})})}}var Kr=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 Jr=new WeakMap,Ie=s=>{let t=Jr.get(s);return t===void 0&&Jr.set(s,t=new Map),t},Gi=class{constructor(){this.__shadowRootMode=null,this.__shadowRoot=null,this.__internals=null}get attributes(){return Array.from(Ie(this)).map(([t,e])=>({name:t,value:e}))}get shadowRoot(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}setAttribute(t,e){Ie(this).set(t,String(e))}removeAttribute(t){Ie(this).delete(t)}toggleAttribute(t,e){if(this.hasAttribute(t)){if(e===void 0||!e)return this.removeAttribute(t),!1}else return e===void 0||e?(this.setAttribute(t,""),!0):!1;return!0}hasAttribute(t){return Ie(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 Kr(this);return this.__internals=t,t}getAttribute(t){let e=Ie(this).get(t);return e!=null?e:null}};var Qi=class extends Gi{},Zr=Qi;var es=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}},ts=es;var Gr=new ts;var Ue=globalThis,wt=Ue.ShadowRoot&&(Ue.ShadyCSS===void 0||Ue.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,rr=Symbol(),Qr=new WeakMap,ze=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==rr)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(wt&&t===void 0){let r=e!==void 0&&e.length===1;r&&(t=Qr.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&Qr.set(e,t))}return t}toString(){return this.cssText}},ei=s=>new ze(typeof s=="string"?s:s+"",void 0,rr),b=(s,...t)=>{let e=s.length===1?s[0]:t.reduce((r,i,o)=>r+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+s[o+1],s[0]);return new ze(e,s,rr)},ir=(s,t)=>{if(wt)s.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let r=document.createElement("style"),i=Ue.litNonce;i!==void 0&&r.setAttribute("nonce",i),r.textContent=e.cssText,s.appendChild(r)}},Ct=wt||Ue.CSSStyleSheet===void 0?s=>s:s=>s instanceof CSSStyleSheet?(t=>{let e="";for(let r of t.cssRules)e+=r.cssText;return ei(e)})(s):s;var{is:rs,defineProperty:is,getOwnPropertyDescriptor:ss,getOwnPropertyNames:os,getOwnPropertySymbols:ns,getPrototypeOf:as}=Object,I=globalThis,ii;(ii=I.customElements)!=null||(I.customElements=Gr);var ti=I.trustedTypes,ls=ti?ti.emptyScript:"",sr=I.reactiveElementPolyfillSupport,Fe=(s,t)=>s,Be={toAttribute(s,t){switch(t){case Boolean:s=s?ls:null;break;case Object:case Array:s=s==null?s:JSON.stringify(s)}return s},fromAttribute(s,t){let e=s;switch(t){case Boolean:e=s!==null;break;case Number:e=s===null?null:Number(s);break;case Object:case Array:try{e=JSON.parse(s)}catch(r){e=null}}return e}},kt=(s,t)=>!rs(s,t),ri={attribute:!0,type:String,converter:Be,reflect:!1,hasChanged:kt},si,oi;(si=Symbol.metadata)!=null||(Symbol.metadata=Symbol("metadata")),(oi=I.litPropertyMetadata)!=null||(I.litPropertyMetadata=new WeakMap);var ni,G=class extends((ni=globalThis.HTMLElement)!=null?ni:Zr){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=ri){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){let r=Symbol(),i=this.getPropertyDescriptor(t,r,e);i!==void 0&&is(this.prototype,t,i)}}static getPropertyDescriptor(t,e,r){var n;let{get:i,set:o}=(n=ss(this.prototype,t))!=null?n:{get(){return this[e]},set(a){this[e]=a}};return{get(){return i==null?void 0:i.call(this)},set(a){let c=i==null?void 0:i.call(this);o.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:ri}static _$Ei(){if(this.hasOwnProperty(Fe("elementProperties")))return;let t=as(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(Fe("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Fe("properties"))){let e=this.properties,r=[...os(e),...ns(e)];for(let i of r)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[r,i]of e)this.elementProperties.set(r,i)}this._$Eh=new Map;for(let[e,r]of this.elementProperties){let i=this._$Eu(e,r);i!==void 0&&this._$Eh.set(i,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 i of r)e.unshift(Ct(i))}else t!==void 0&&e.push(Ct(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._$ES=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._$EO)!=null?e:this._$EO=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&((r=t.hostConnected)==null||r.call(t))}removeController(t){var e;(e=this._$EO)==null||e.delete(t)}_$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 ir(t,this.constructor.elementStyles),t}connectedCallback(){var t,e;(t=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(r=>{var i;return(i=r.hostConnected)==null?void 0:i.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$EO)==null||t.forEach(e=>{var r;return(r=e.hostDisconnected)==null?void 0:r.call(e)})}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EC(t,e){var o;let r=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,r);if(i!==void 0&&r.reflect===!0){let n=(((o=r.converter)==null?void 0:o.toAttribute)!==void 0?r.converter:Be).toAttribute(e,r.type);this._$Em=t,n==null?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(t,e){var o;let r=this.constructor,i=r._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let n=r.getPropertyOptions(i),a=typeof n.converter=="function"?{fromAttribute:n.converter}:((o=n.converter)==null?void 0:o.fromAttribute)!==void 0?n.converter:Be;this._$Em=i,this[i]=a.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,r){var i;if(t!==void 0){if(r!=null||(r=this.constructor.getPropertyOptions(t)),!((i=r.hasChanged)!=null?i:kt)(this[t],e))return;this.P(t,e,r)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,r){var i;this._$AL.has(t)||this._$AL.set(t,e),r.reflect===!0&&this._$Em!==t&&((i=this._$Ej)!=null?i:this._$Ej=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r,i;if(!this.isUpdatePending)return;if(!this.hasUpdated){if((r=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[n,a]of this._$Ep)this[n]=a;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[n,a]of o)a.wrapped!==!0||this._$AL.has(n)||this[n]===void 0||this.P(n,this[n],a)}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),(i=this._$EO)==null||i.forEach(o=>{var n;return(n=o.hostUpdate)==null?void 0:n.call(o)}),this.update(e)):this._$EU()}catch(o){throw t=!1,this._$EU(),o}t&&this._$AE(e)}willUpdate(t){}_$AE(t){var e;(e=this._$EO)==null||e.forEach(r=>{var i;return(i=r.hostUpdated)==null?void 0:i.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(t){}firstUpdated(t){}},ai;G.elementStyles=[],G.shadowRootOptions={mode:"open"},G[Fe("elementProperties")]=new Map,G[Fe("finalized")]=new Map,sr==null||sr({ReactiveElement:G}),((ai=I.reactiveElementVersions)!=null?ai:I.reactiveElementVersions=[]).push("2.0.4");var ke=globalThis,_t=ke.trustedTypes,li=_t?_t.createPolicy("lit-html",{createHTML:s=>s}):void 0,ar="$lit$",Q=`lit$${Math.random().toFixed(9).slice(2)}$`,lr="?"+Q,cs=`<${lr}>`,be=ke.document===void 0?{createTreeWalker:()=>({})}:document,Xe=()=>be.createComment(""),Ye=s=>s===null||typeof s!="object"&&typeof s!="function",cr=Array.isArray,fi=s=>cr(s)||typeof(s==null?void 0:s[Symbol.iterator])=="function",or=`[
|
|
2
|
-
\f\r]`,je=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ci=/-->/g,di=/>/g,
|
|
3
|
-
\f\r"'\`<>=]|("|')|))|$)`,"g"),pi=/'/g,ui=/"/g,gi=/^(?:script|style|textarea|title)$/i,dr=s=>(t,...e)=>({_$litType$:s,strings:t,values:e}),u=dr(1),pr=dr(2),_o=dr(3),L=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),hi=new WeakMap,ge=be.createTreeWalker(be,129);function bi(s,t){if(!cr(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return li!==void 0?li.createHTML(t):t}var vi=(s,t)=>{let e=s.length-1,r=[],i,o=t===2?"<svg>":t===3?"<math>":"",n=je;for(let a=0;a<e;a++){let c=s[a],p,h,g=-1,y=0;for(;y<c.length&&(n.lastIndex=y,h=n.exec(c),h!==null);)y=n.lastIndex,n===je?h[1]==="!--"?n=ci:h[1]!==void 0?n=di:h[2]!==void 0?(gi.test(h[2])&&(i=RegExp("</"+h[2],"g")),n=fe):h[3]!==void 0&&(n=fe):n===fe?h[0]===">"?(n=i!=null?i:je,g=-1):h[1]===void 0?g=-2:(g=n.lastIndex-h[2].length,p=h[1],n=h[3]===void 0?fe:h[3]==='"'?ui:pi):n===ui||n===pi?n=fe:n===ci||n===di?n=je:(n=fe,i=void 0);let v=n===fe&&s[a+1].startsWith("/>")?" ":"";o+=n===je?c+cs:g>=0?(r.push(p),c.slice(0,g)+ar+c.slice(g)+Q+v):c+Q+(g===-2?a:v)}return[bi(s,o+(s[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]},We=class s{constructor({strings:t,_$litType$:e},r){let i;this.parts=[];let o=0,n=0,a=t.length-1,c=this.parts,[p,h]=vi(t,e);if(this.el=s.createElement(p,r),ge.currentNode=this.el.content,e===2||e===3){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(i=ge.nextNode())!==null&&c.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(let g of i.getAttributeNames())if(g.endsWith(ar)){let y=h[n++],v=i.getAttribute(g).split(Q),w=/([.?@])?(.*)/.exec(y);c.push({type:1,index:o,name:w[2],strings:v,ctor:w[1]==="."?St:w[1]==="?"?Tt:w[1]==="@"?Rt:ye}),i.removeAttribute(g)}else g.startsWith(Q)&&(c.push({type:6,index:o}),i.removeAttribute(g));if(gi.test(i.tagName)){let g=i.textContent.split(Q),y=g.length-1;if(y>0){i.textContent=_t?_t.emptyScript:"";for(let v=0;v<y;v++)i.append(g[v],Xe()),ge.nextNode(),c.push({type:2,index:++o});i.append(g[y],Xe())}}}else if(i.nodeType===8)if(i.data===lr)c.push({type:2,index:o});else{let g=-1;for(;(g=i.data.indexOf(Q,g+1))!==-1;)c.push({type:7,index:o}),g+=Q.length-1}o++}}static createElement(t,e){let r=be.createElement("template");return r.innerHTML=t,r}};function ve(s,t,e=s,r){var n,a,c;if(t===L)return t;let i=r!==void 0?(n=e.o)==null?void 0:n[r]:e.l,o=Ye(t)?void 0:t._$litDirective$;return(i==null?void 0:i.constructor)!==o&&((a=i==null?void 0:i._$AO)==null||a.call(i,!1),o===void 0?i=void 0:(i=new o(s),i._$AT(s,e,r)),r!==void 0?((c=e.o)!=null?c:e.o=[])[r]=i:e.l=i),i!==void 0&&(t=ve(s,i._$AS(s,t.values),i,r)),t}var At=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 p;let{el:{content:e},parts:r}=this._$AD,i=((p=t==null?void 0:t.creationScope)!=null?p:be).importNode(e,!0);ge.currentNode=i;let o=ge.nextNode(),n=0,a=0,c=r[0];for(;c!==void 0;){if(n===c.index){let h;c.type===2?h=new _e(o,o.nextSibling,this,t):c.type===1?h=new c.ctor(o,c.name,c.strings,this,t):c.type===6&&(h=new $t(o,this,t)),this._$AV.push(h),c=r[++a]}n!==(c==null?void 0:c.index)&&(o=ge.nextNode(),n++)}return ge.currentNode=be,i}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 s{get _$AU(){var t,e;return(e=(t=this._$AM)==null?void 0:t._$AU)!=null?e:this.v}constructor(t,e,r,i){var o;this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=i,this.v=(o=i==null?void 0:i.isConnected)!=null?o:!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=ve(this,t,e),Ye(t)?t===E||t==null||t===""?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==L&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):fi(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&Ye(this._$AH)?this._$AA.nextSibling.data=t:this.T(be.createTextNode(t)),this._$AH=t}$(t){var o;let{values:e,_$litType$:r}=t,i=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=We.createElement(bi(r.h,r.h[0]),this.options)),r);if(((o=this._$AH)==null?void 0:o._$AD)===i)this._$AH.p(e);else{let n=new At(i,this),a=n.u(this.options);n.p(e),this.T(a),this._$AH=n}}_$AC(t){let e=hi.get(t.strings);return e===void 0&&hi.set(t.strings,e=new We(t)),e}k(t){cr(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,r,i=0;for(let o of t)i===e.length?e.push(r=new s(this.O(Xe()),this.O(Xe()),this,this.options)):r=e[i],r._$AI(o),i++;i<e.length&&(this._$AR(r&&r._$AB.nextSibling,i),e.length=i)}_$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 i=t.nextSibling;t.remove(),t=i}}setConnected(t){var e;this._$AM===void 0&&(this.v=t,(e=this._$AP)==null||e.call(this,t))}},ye=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,i,o){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=o,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,i){let o=this.strings,n=!1;if(o===void 0)t=ve(this,t,e,0),n=!Ye(t)||t!==this._$AH&&t!==L,n&&(this._$AH=t);else{let a=t,c,p;for(t=o[0],c=0;c<o.length-1;c++)p=ve(this,a[r+c],e,c),p===L&&(p=this._$AH[c]),n||(n=!Ye(p)||p!==this._$AH[c]),p===E?t=E:t!==E&&(t+=(p!=null?p:"")+o[c+1]),this._$AH[c]=p}n&&!i&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!=null?t:"")}},St=class extends ye{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}},Tt=class extends ye{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}},Rt=class extends ye{constructor(t,e,r,i,o){super(t,e,r,i,o),this.type=5}_$AI(t,e=this){var n;if((t=(n=ve(this,t,e,0))!=null?n:E)===L)return;let r=this._$AH,i=t===E&&r!==E||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==E&&(r===E||i);i&&this.element.removeEventListener(this.name,this,r),o&&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)}},$t=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){ve(this,t)}},yi={M:ar,P:Q,A:lr,C:1,L:vi,R:At,D:fi,V:ve,I:_e,H:ye,N:Tt,U:Rt,B:St,F:$t},nr=ke.litHtmlPolyfillSupport,mi;nr==null||nr(We,_e),((mi=ke.litHtmlVersions)!=null?mi:ke.litHtmlVersions=[]).push("3.2.0");var xi=(s,t,e)=>{var o,n;let r=(o=e==null?void 0:e.renderBefore)!=null?o:t,i=r._$litPart$;if(i===void 0){let a=(n=e==null?void 0:e.renderBefore)!=null?n:null;r._$litPart$=i=new _e(t.insertBefore(Xe(),a),a,void 0,e!=null?e:{})}return i._$AI(s),i};var f=class extends G{constructor(){super(...arguments),this.renderOptions={host:this},this.o=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.o=xi(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this.o)==null||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this.o)==null||t.setConnected(!1)}render(){return L}},qi;f._$litElement$=!0,f.finalized=!0,(qi=globalThis.litElementHydrateSupport)==null||qi.call(globalThis,{LitElement:f});var ur=globalThis.litElementPolyfillSupport;ur==null||ur({LitElement:f});var Ei;((Ei=globalThis.litElementVersions)!=null?Ei:globalThis.litElementVersions=[]).push("4.1.0");var m=s=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(s,t)}):customElements.define(s,t)};var ds={attribute:!0,type:String,converter:Be,reflect:!1,hasChanged:kt},ps=(s=ds,t,e)=>{let{kind:r,metadata:i}=e,o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),o.set(e.name,s),r==="accessor"){let{name:n}=e;return{set(a){let c=t.get.call(this);t.set.call(this,a),this.requestUpdate(n,c,s)},init(a){return a!==void 0&&this.P(n,void 0,s),a}}}if(r==="setter"){let{name:n}=e;return function(a){let c=this[n];t.call(this,a),this.requestUpdate(n,c,s)}}throw Error("Unsupported decorator location: "+r)};function d(s){return(t,e)=>typeof e=="object"?ps(s,t,e):((r,i,o)=>{let n=i.hasOwnProperty(o);return i.constructor.createProperty(o,n?S(C({},r),{wrapped:!0}):r),n?Object.getOwnPropertyDescriptor(i,o):void 0})(s,t,e)}function q(s){return d(S(C({},s),{state:!0,attribute:!1}))}var se=(s,t,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(s,t,e),e);function Ke(s,t){return(e,r,i)=>{let o=n=>{var a,c;return(c=(a=n.renderRoot)==null?void 0:a.querySelector(s))!=null?c:null};if(t){let{get:n,set:a}=typeof r=="object"?e:i!=null?i:(()=>{let c=Symbol();return{get(){return this[c]},set(p){this[c]=p}}})();return se(e,r,{get(){let c=n.call(this);return c===void 0&&(c=o(this),(c!==null||this.hasUpdated)&&a.call(this,c)),c}})}return se(e,r,{get(){return o(this)}})}}function wi(s){return(t,e)=>{let{slot:r,selector:i}=s!=null?s:{},o="slot"+(r?`[name=${r}]`:":not([name])");return se(t,e,{get(){var c,p;let n=(c=this.renderRoot)==null?void 0:c.querySelector(o),a=(p=n==null?void 0:n.assignedElements(s))!=null?p:[];return i===void 0?a:a.filter(h=>h.matches(i))}})}}function A(s,t){let e=C({waitUntilFirstUpdate:!1},t);return(r,i)=>{let{update:o}=r,n=Array.isArray(s)?s:[s];r.update=function(a){n.forEach(c=>{let p=c;if(a.has(p)){let h=a.get(p),g=this[p];h!==g&&(!e.waitUntilFirstUpdate||this.hasUpdated)&&this[i](h,g)}}),o.call(this,a)}}}var Ci=[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}],U="item";var H=class extends f{constructor(){super();this.identifier="";this.adaptive="false";this.timeDependent=null;this._handleDisabledChange=(e,r)=>{this._interactionElements.forEach(i=>i.disabled=r)};this._handleReadonlyChange=(e,r)=>this._interactionElements.forEach(i=>i.readonly=r);this._context={identifier:this.getAttribute("identifier"),variables:Ci};this._initialContext=S(C({},this._context),{variables:this._context.variables});this._feedbackElements=[];this._interactionElements=[];this.addEventListener("qti-register-variable",e=>{this._context=S(C({},this._context),{variables:[...this._context.variables,e.detail.variable]}),this._initialContext=this._context,e.stopPropagation()}),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:i}=e.detail;this.updateResponseVariable(r,"true"),this.processResponse(i)}),this.addEventListener("qti-set-outcome-value",e=>{let{outcomeIdentifier:r,value:i}=e.detail;this.updateOutcomeVariable(r,i),e.stopPropagation()}),this.addEventListener("qti-interaction-response",this.handleUpdateResponseVariable)}get variables(){return this._context.variables.map(e=>C({identifier:e.identifier,value:e.value,type:e.type},e.type==="outcome"&&e.identifier==="SCORE"?{externalScored:e.externalScored}:{}))}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=S(C({},this._context),{variables:this._context.variables.map(r=>{let i=e.find(o=>o.identifier===r.identifier);return i?C(C({},r),i):r})}),this._context.variables.forEach(r=>{if(r.type==="response"){let i=this._interactionElements.find(o=>o.responseIdentifier===r.identifier);i&&(i.response=r.value)}r.type==="outcome"&&this._feedbackElements.forEach(i=>i.checkShowFeedback(r.identifier))})}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this._emit("qti-assessment-item-connected",this)}set responses(e){if(e)for(let r of e){this.getResponse(r.responseIdentifier)&&this.updateResponseVariable(r.responseIdentifier,r.response);let o=this._interactionElements.find(n=>n.getAttribute("response-identifier")===r.responseIdentifier);o&&(o.response=r.response)}}render(){return u`<slot></slot>`}showCorrectResponse(e){let i=this._context.variables.filter(o=>"correctResponse"in o&&o.correctResponse).map(o=>({responseIdentifier:o.identifier,response:o.correctResponse}));for(let o of i){let n=this._interactionElements.find(a=>a.getAttribute("response-identifier")===o.responseIdentifier);n&&(n.correctResponse=e?o.response:"")}}processResponse(e=!0){var i;let r=this.querySelector("qti-response-processing");return!r||!r.process?!1:(r.process(),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus()),e&&this.updateOutcomeVariable("numAttempts",(+((i=this._context.variables.find(o=>o.identifier==="numAttempts"))==null?void 0:i.value)+1).toString()),this._emit("qti-response-processed"),!0)}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:i}=e.detail;this.updateResponseVariable(r,i)}updateResponseVariable(e,r){this._context=S(C({},this._context),{variables:this._context.variables.map(i=>i.identifier!==e?i:S(C({},i),{value:r}))}),this._emit("qti-interaction-changed",{item:this.identifier,responseIdentifier:e,response:Array.isArray(r)?[...r]:r}),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus())}updateOutcomeVariable(e,r){var o;let i=this.getOutcome(e);if(!i){console.warn(`Can not set qti-outcome-identifier: ${e}, it is not available`);return}this._context=S(C({},this._context),{variables:this._context.variables.map(n=>n.identifier!==e?n:S(C({},n),{value:i.cardinality==="single"?r:[...n.value,r]}))}),this._feedbackElements.forEach(n=>n.checkShowFeedback(e)),this._emit("qti-outcome-changed",{item:this.identifier,outcomeIdentifier:e,value:(o=this._context.variables.find(n=>n.identifier===e))==null?void 0:o.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([d({type:String})],H.prototype,"title",2),l([d({type:String})],H.prototype,"identifier",2),l([d({type:String})],H.prototype,"adaptive",2),l([d({type:String})],H.prototype,"timeDependent",2),l([d({type:Boolean})],H.prototype,"disabled",2),l([A("disabled",{waitUntilFirstUpdate:!0})],H.prototype,"_handleDisabledChange",2),l([d({type:Boolean})],H.prototype,"readonly",2),l([A("readonly",{waitUntilFirstUpdate:!0})],H.prototype,"_handleReadonlyChange",2),l([tr({context:U})],H.prototype,"_context",2),H=l([m("qti-assessment-item")],H);var us=String.raw,Je=()=>{let s,t={async load(e,r=!1){return new Promise((i,o)=>{fr(e,r).then(n=>(s=n,i(t)))})},parse(e){return s=gr(e),t},path:e=>(fs(s,e),t),fn(e){return e(s),t},pciHooks(e){let r=["hook","module"],i=e.substring(0,e.lastIndexOf("/"));for(let o of r)s.querySelectorAll("["+o+"]").forEach(a=>{let c=a.getAttribute(o);!c.startsWith("data:")&&!c.startsWith("http")&&(a.setAttribute("base-url",e),a.setAttribute("module",i+"/"+encodeURIComponent(c+(c.endsWith(".js")?"":".js"))))});return t},customInteraction(e,r){let i=s.querySelector("qti-custom-interaction"),o=i.querySelector("object");return i.setAttribute("data-base-ref",e),i.setAttribute("data-base-item",e+r),i.setAttribute("data",o.getAttribute("data")),i.setAttribute("width",o.getAttribute("width")),i.setAttribute("height",o.getAttribute("height")),i.removeChild(o),t},convertCDATAtoComment(){return gs(s),t},stripStyleSheets(){return bs(s),t},html(){return new XMLSerializer().serializeToString(Mt(s))},xml(){return new XMLSerializer().serializeToString(s)},htmldoc(){return Mt(s)},xmldoc(){return s}};return t},mr=()=>{let s,t={async load(e){return new Promise((r,i)=>{fr(e).then(o=>(s=o,r(t)))})},parse(e){s=gr(e)},assessmentTest(){let e=s.querySelector('resource[type="imsqti_test_xmlv3p0"]');return{href:e.getAttribute("href"),identifier:e.getAttribute("identifier")}}};return t},Lt=()=>{let s,t={async load(e){return new Promise((r,i)=>{fr(e).then(o=>(s=o,r(t)))})},parse(e){return s=gr(e),t},fn(e){return e(s),t},items(){return ms(s)},html(){return new XMLSerializer().serializeToString(Mt(s))},xml(){return new XMLSerializer().serializeToString(s)},htmldoc(){return Mt(s)},xmldoc(){return s}};return t},hs=us`<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
1
|
+
var jr=Object.defineProperty,Ki=Object.defineProperties,Zi=Object.getOwnPropertyDescriptor,Ji=Object.getOwnPropertyDescriptors;var Fr=Object.getOwnPropertySymbols;var Gi=Object.prototype.hasOwnProperty,Qi=Object.prototype.propertyIsEnumerable;var Xr=s=>{throw TypeError(s)};var Br=(s,t,e)=>t in s?jr(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,C=(s,t)=>{for(var e in t||(t={}))Gi.call(t,e)&&Br(s,e,t[e]);if(Fr)for(var e of Fr(t))Qi.call(t,e)&&Br(s,e,t[e]);return s},_=(s,t)=>Ki(s,Ji(t));var l=(s,t,e,r)=>{for(var i=r>1?void 0:r?Zi(t,e):t,o=s.length-1,n;o>=0;o--)(n=s[o])&&(i=(r?n(t,e,i):n(i))||i);return r&&i&&jr(t,e,i),i};var Yr=(s,t,e)=>t.has(s)||Xr("Cannot "+e);var R=(s,t,e)=>(Yr(s,t,"read from private field"),e?e.call(s):t.get(s)),qt=(s,t,e)=>t.has(s)?Xr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(s):t.set(s,e),Wr=(s,t,e,r)=>(Yr(s,t,"write to private field"),r?r.call(s,e):t.set(s,e),e);var ie=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 Ee=class{constructor(t,e,r,i){var o;if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(n,a)=>{this.unsubscribe&&(this.unsubscribe!==a&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=n,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(n,a)),this.unsubscribe=a},this.host=t,e.context!==void 0){let n=e;this.context=n.context,this.callback=n.callback,this.subscribe=(o=n.subscribe)!=null?o:!1}else this.context=e,this.callback=r,this.subscribe=i!=null?i:!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new ie(this.context,this.t,this.subscribe))}};var wt=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:i}=this.subscriptions.get(t);t(this.value,i)}clearCallbacks(){this.subscriptions.clear()}};var er=class extends Event{constructor(t){super("context-provider",{bubbles:!0,composed:!0}),this.context=t}},Ce=class extends wt{constructor(t,e,r){var i,o;super(e.context!==void 0?e.initialValue:r),this.onContextRequest=n=>{let a=n.composedPath()[0];n.context===this.context&&a!==this.host&&(n.stopPropagation(),this.addCallback(n.callback,a,n.subscribe))},this.onProviderRequest=n=>{let a=n.composedPath()[0];if(n.context!==this.context||a===this.host)return;let c=new Set;for(let[p,{consumerHost:f}]of this.subscriptions)c.has(p)||(c.add(p),f.dispatchEvent(new ie(this.context,p,!0)));n.stopPropagation()},this.host=t,e.context!==void 0?this.context=e.context:this.context=e,this.attachListeners(),(o=(i=this.host).addController)==null||o.call(i,this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new er(this.context))}};function tr({context:s}){return(t,e)=>{let r=new WeakMap;if(typeof e=="object")return e.addInitializer(function(){r.set(this,new Ce(this,{context:s}))}),{get(){return t.get.call(this)},set(i){var o;return(o=r.get(this))==null||o.setValue(i),t.set.call(this,i)},init(i){var o;return(o=r.get(this))==null||o.setValue(i),i}};{t.constructor.addInitializer(n=>{r.set(n,new Ce(n,{context:s}))});let i=Object.getOwnPropertyDescriptor(t,e),o;if(i===void 0){let n=new WeakMap;o={get(){return n.get(this)},set(a){r.get(this).setValue(a),n.set(this,a)},configurable:!0,enumerable:!0}}else{let n=i.set;o=_(C({},i),{set(a){r.get(this).setValue(a),n==null||n.call(this,a)}})}return void Object.defineProperty(t,e,o)}}}function J({context:s,subscribe:t}){return(e,r)=>{typeof r=="object"?r.addInitializer(function(){new Ee(this,{context:s,callback:i=>{e.set.call(this,i)},subscribe:t})}):e.constructor.addInitializer(i=>{new Ee(i,{context:s,callback:o=>{i[r]=o},subscribe:t})})}}var Kr=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 Zr=new WeakMap,Oe=s=>{let t=Zr.get(s);return t===void 0&&Zr.set(s,t=new Map),t},ts=class{constructor(){this.__shadowRootMode=null,this.__shadowRoot=null,this.__internals=null}get attributes(){return Array.from(Oe(this)).map(([t,e])=>({name:t,value:e}))}get shadowRoot(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}setAttribute(t,e){Oe(this).set(t,String(e))}removeAttribute(t){Oe(this).delete(t)}toggleAttribute(t,e){if(this.hasAttribute(t)){if(e===void 0||!e)return this.removeAttribute(t),!1}else return e===void 0||e?(this.setAttribute(t,""),!0):!1;return!0}hasAttribute(t){return Oe(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 Kr(this);return this.__internals=t,t}getAttribute(t){let e=Oe(this).get(t);return e!=null?e:null}};var rs=class extends ts{},Jr=rs;var is=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}},ss=is;var Gr=new ss;var Ue=globalThis,Et=Ue.ShadowRoot&&(Ue.ShadyCSS===void 0||Ue.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,rr=Symbol(),Qr=new WeakMap,ze=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==rr)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=Qr.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&Qr.set(e,t))}return t}toString(){return this.cssText}},ei=s=>new ze(typeof s=="string"?s:s+"",void 0,rr),b=(s,...t)=>{let e=s.length===1?s[0]:t.reduce((r,i,o)=>r+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+s[o+1],s[0]);return new ze(e,s,rr)},ir=(s,t)=>{if(Et)s.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let r=document.createElement("style"),i=Ue.litNonce;i!==void 0&&r.setAttribute("nonce",i),r.textContent=e.cssText,s.appendChild(r)}},Ct=Et||Ue.CSSStyleSheet===void 0?s=>s:s=>s instanceof CSSStyleSheet?(t=>{let e="";for(let r of t.cssRules)e+=r.cssText;return ei(e)})(s):s;var{is:os,defineProperty:ns,getOwnPropertyDescriptor:as,getOwnPropertyNames:ls,getOwnPropertySymbols:cs,getPrototypeOf:ds}=Object,I=globalThis,ii;(ii=I.customElements)!=null||(I.customElements=Gr);var ti=I.trustedTypes,ps=ti?ti.emptyScript:"",sr=I.reactiveElementPolyfillSupport,Fe=(s,t)=>s,Be={toAttribute(s,t){switch(t){case Boolean:s=s?ps:null;break;case Object:case Array:s=s==null?s:JSON.stringify(s)}return s},fromAttribute(s,t){let e=s;switch(t){case Boolean:e=s!==null;break;case Number:e=s===null?null:Number(s);break;case Object:case Array:try{e=JSON.parse(s)}catch(r){e=null}}return e}},kt=(s,t)=>!os(s,t),ri={attribute:!0,type:String,converter:Be,reflect:!1,hasChanged:kt},si,oi;(si=Symbol.metadata)!=null||(Symbol.metadata=Symbol("metadata")),(oi=I.litPropertyMetadata)!=null||(I.litPropertyMetadata=new WeakMap);var ni,G=class extends((ni=globalThis.HTMLElement)!=null?ni:Jr){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=ri){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){let r=Symbol(),i=this.getPropertyDescriptor(t,r,e);i!==void 0&&ns(this.prototype,t,i)}}static getPropertyDescriptor(t,e,r){var n;let{get:i,set:o}=(n=as(this.prototype,t))!=null?n:{get(){return this[e]},set(a){this[e]=a}};return{get(){return i==null?void 0:i.call(this)},set(a){let c=i==null?void 0:i.call(this);o.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:ri}static _$Ei(){if(this.hasOwnProperty(Fe("elementProperties")))return;let t=ds(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(Fe("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Fe("properties"))){let e=this.properties,r=[...ls(e),...cs(e)];for(let i of r)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[r,i]of e)this.elementProperties.set(r,i)}this._$Eh=new Map;for(let[e,r]of this.elementProperties){let i=this._$Eu(e,r);i!==void 0&&this._$Eh.set(i,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 i of r)e.unshift(Ct(i))}else t!==void 0&&e.push(Ct(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._$ES=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._$EO)!=null?e:this._$EO=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&((r=t.hostConnected)==null||r.call(t))}removeController(t){var e;(e=this._$EO)==null||e.delete(t)}_$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 ir(t,this.constructor.elementStyles),t}connectedCallback(){var t,e;(t=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(r=>{var i;return(i=r.hostConnected)==null?void 0:i.call(r)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$EO)==null||t.forEach(e=>{var r;return(r=e.hostDisconnected)==null?void 0:r.call(e)})}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EC(t,e){var o;let r=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,r);if(i!==void 0&&r.reflect===!0){let n=(((o=r.converter)==null?void 0:o.toAttribute)!==void 0?r.converter:Be).toAttribute(e,r.type);this._$Em=t,n==null?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(t,e){var o;let r=this.constructor,i=r._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let n=r.getPropertyOptions(i),a=typeof n.converter=="function"?{fromAttribute:n.converter}:((o=n.converter)==null?void 0:o.fromAttribute)!==void 0?n.converter:Be;this._$Em=i,this[i]=a.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,r){var i;if(t!==void 0){if(r!=null||(r=this.constructor.getPropertyOptions(t)),!((i=r.hasChanged)!=null?i:kt)(this[t],e))return;this.P(t,e,r)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,r){var i;this._$AL.has(t)||this._$AL.set(t,e),r.reflect===!0&&this._$Em!==t&&((i=this._$Ej)!=null?i:this._$Ej=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r,i;if(!this.isUpdatePending)return;if(!this.hasUpdated){if((r=this.renderRoot)!=null||(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[n,a]of this._$Ep)this[n]=a;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[n,a]of o)a.wrapped!==!0||this._$AL.has(n)||this[n]===void 0||this.P(n,this[n],a)}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),(i=this._$EO)==null||i.forEach(o=>{var n;return(n=o.hostUpdate)==null?void 0:n.call(o)}),this.update(e)):this._$EU()}catch(o){throw t=!1,this._$EU(),o}t&&this._$AE(e)}willUpdate(t){}_$AE(t){var e;(e=this._$EO)==null||e.forEach(r=>{var i;return(i=r.hostUpdated)==null?void 0:i.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(t){}firstUpdated(t){}},ai;G.elementStyles=[],G.shadowRootOptions={mode:"open"},G[Fe("elementProperties")]=new Map,G[Fe("finalized")]=new Map,sr==null||sr({ReactiveElement:G}),((ai=I.reactiveElementVersions)!=null?ai:I.reactiveElementVersions=[]).push("2.0.4");var ke=globalThis,Tt=ke.trustedTypes,li=Tt?Tt.createPolicy("lit-html",{createHTML:s=>s}):void 0,ar="$lit$",Q=`lit$${Math.random().toFixed(9).slice(2)}$`,lr="?"+Q,hs=`<${lr}>`,be=ke.document===void 0?{createTreeWalker:()=>({})}:document,Xe=()=>be.createComment(""),Ye=s=>s===null||typeof s!="object"&&typeof s!="function",cr=Array.isArray,gi=s=>cr(s)||typeof(s==null?void 0:s[Symbol.iterator])=="function",or=`[
|
|
2
|
+
\f\r]`,je=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ci=/-->/g,di=/>/g,ge=RegExp(`>|${or}(?:([^\\s"'>=/]+)(${or}*=${or}*(?:[^
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),pi=/'/g,hi=/"/g,fi=/^(?:script|style|textarea|title)$/i,dr=s=>(t,...e)=>({_$litType$:s,strings:t,values:e}),h=dr(1),pr=dr(2),_o=dr(3),L=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),mi=new WeakMap,fe=be.createTreeWalker(be,129);function bi(s,t){if(!cr(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return li!==void 0?li.createHTML(t):t}var vi=(s,t)=>{let e=s.length-1,r=[],i,o=t===2?"<svg>":t===3?"<math>":"",n=je;for(let a=0;a<e;a++){let c=s[a],p,f,g=-1,y=0;for(;y<c.length&&(n.lastIndex=y,f=n.exec(c),f!==null);)y=n.lastIndex,n===je?f[1]==="!--"?n=ci:f[1]!==void 0?n=di:f[2]!==void 0?(fi.test(f[2])&&(i=RegExp("</"+f[2],"g")),n=ge):f[3]!==void 0&&(n=ge):n===ge?f[0]===">"?(n=i!=null?i:je,g=-1):f[1]===void 0?g=-2:(g=n.lastIndex-f[2].length,p=f[1],n=f[3]===void 0?ge:f[3]==='"'?hi:pi):n===hi||n===pi?n=ge:n===ci||n===di?n=je:(n=ge,i=void 0);let v=n===ge&&s[a+1].startsWith("/>")?" ":"";o+=n===je?c+hs:g>=0?(r.push(p),c.slice(0,g)+ar+c.slice(g)+Q+v):c+Q+(g===-2?a:v)}return[bi(s,o+(s[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]},We=class s{constructor({strings:t,_$litType$:e},r){let i;this.parts=[];let o=0,n=0,a=t.length-1,c=this.parts,[p,f]=vi(t,e);if(this.el=s.createElement(p,r),fe.currentNode=this.el.content,e===2||e===3){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(i=fe.nextNode())!==null&&c.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(let g of i.getAttributeNames())if(g.endsWith(ar)){let y=f[n++],v=i.getAttribute(g).split(Q),w=/([.?@])?(.*)/.exec(y);c.push({type:1,index:o,name:w[2],strings:v,ctor:w[1]==="."?_t:w[1]==="?"?St:w[1]==="@"?Rt:ye}),i.removeAttribute(g)}else g.startsWith(Q)&&(c.push({type:6,index:o}),i.removeAttribute(g));if(fi.test(i.tagName)){let g=i.textContent.split(Q),y=g.length-1;if(y>0){i.textContent=Tt?Tt.emptyScript:"";for(let v=0;v<y;v++)i.append(g[v],Xe()),fe.nextNode(),c.push({type:2,index:++o});i.append(g[y],Xe())}}}else if(i.nodeType===8)if(i.data===lr)c.push({type:2,index:o});else{let g=-1;for(;(g=i.data.indexOf(Q,g+1))!==-1;)c.push({type:7,index:o}),g+=Q.length-1}o++}}static createElement(t,e){let r=be.createElement("template");return r.innerHTML=t,r}};function ve(s,t,e=s,r){var n,a,c;if(t===L)return t;let i=r!==void 0?(n=e.o)==null?void 0:n[r]:e.l,o=Ye(t)?void 0:t._$litDirective$;return(i==null?void 0:i.constructor)!==o&&((a=i==null?void 0:i._$AO)==null||a.call(i,!1),o===void 0?i=void 0:(i=new o(s),i._$AT(s,e,r)),r!==void 0?((c=e.o)!=null?c:e.o=[])[r]=i:e.l=i),i!==void 0&&(t=ve(s,i._$AS(s,t.values),i,r)),t}var At=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 p;let{el:{content:e},parts:r}=this._$AD,i=((p=t==null?void 0:t.creationScope)!=null?p:be).importNode(e,!0);fe.currentNode=i;let o=fe.nextNode(),n=0,a=0,c=r[0];for(;c!==void 0;){if(n===c.index){let f;c.type===2?f=new Te(o,o.nextSibling,this,t):c.type===1?f=new c.ctor(o,c.name,c.strings,this,t):c.type===6&&(f=new Mt(o,this,t)),this._$AV.push(f),c=r[++a]}n!==(c==null?void 0:c.index)&&(o=fe.nextNode(),n++)}return fe.currentNode=be,i}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++}},Te=class s{get _$AU(){var t,e;return(e=(t=this._$AM)==null?void 0:t._$AU)!=null?e:this.v}constructor(t,e,r,i){var o;this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=i,this.v=(o=i==null?void 0:i.isConnected)!=null?o:!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=ve(this,t,e),Ye(t)?t===E||t==null||t===""?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==L&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):gi(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&Ye(this._$AH)?this._$AA.nextSibling.data=t:this.T(be.createTextNode(t)),this._$AH=t}$(t){var o;let{values:e,_$litType$:r}=t,i=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=We.createElement(bi(r.h,r.h[0]),this.options)),r);if(((o=this._$AH)==null?void 0:o._$AD)===i)this._$AH.p(e);else{let n=new At(i,this),a=n.u(this.options);n.p(e),this.T(a),this._$AH=n}}_$AC(t){let e=mi.get(t.strings);return e===void 0&&mi.set(t.strings,e=new We(t)),e}k(t){cr(this._$AH)||(this._$AH=[],this._$AR());let e=this._$AH,r,i=0;for(let o of t)i===e.length?e.push(r=new s(this.O(Xe()),this.O(Xe()),this,this.options)):r=e[i],r._$AI(o),i++;i<e.length&&(this._$AR(r&&r._$AB.nextSibling,i),e.length=i)}_$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 i=t.nextSibling;t.remove(),t=i}}setConnected(t){var e;this._$AM===void 0&&(this.v=t,(e=this._$AP)==null||e.call(this,t))}},ye=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,i,o){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=o,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,i){let o=this.strings,n=!1;if(o===void 0)t=ve(this,t,e,0),n=!Ye(t)||t!==this._$AH&&t!==L,n&&(this._$AH=t);else{let a=t,c,p;for(t=o[0],c=0;c<o.length-1;c++)p=ve(this,a[r+c],e,c),p===L&&(p=this._$AH[c]),n||(n=!Ye(p)||p!==this._$AH[c]),p===E?t=E:t!==E&&(t+=(p!=null?p:"")+o[c+1]),this._$AH[c]=p}n&&!i&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!=null?t:"")}},_t=class extends ye{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}},St=class extends ye{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}},Rt=class extends ye{constructor(t,e,r,i,o){super(t,e,r,i,o),this.type=5}_$AI(t,e=this){var n;if((t=(n=ve(this,t,e,0))!=null?n:E)===L)return;let r=this._$AH,i=t===E&&r!==E||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==E&&(r===E||i);i&&this.element.removeEventListener(this.name,this,r),o&&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)}},Mt=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){ve(this,t)}},yi={M:ar,P:Q,A:lr,C:1,L:vi,R:At,D:gi,V:ve,I:Te,H:ye,N:St,U:Rt,B:_t,F:Mt},nr=ke.litHtmlPolyfillSupport,ui;nr==null||nr(We,Te),((ui=ke.litHtmlVersions)!=null?ui:ke.litHtmlVersions=[]).push("3.2.0");var xi=(s,t,e)=>{var o,n;let r=(o=e==null?void 0:e.renderBefore)!=null?o:t,i=r._$litPart$;if(i===void 0){let a=(n=e==null?void 0:e.renderBefore)!=null?n:null;r._$litPart$=i=new Te(t.insertBefore(Xe(),a),a,void 0,e!=null?e:{})}return i._$AI(s),i};var u=class extends G{constructor(){super(...arguments),this.renderOptions={host:this},this.o=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.o=xi(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this.o)==null||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this.o)==null||t.setConnected(!1)}render(){return L}},qi;u._$litElement$=!0,u.finalized=!0,(qi=globalThis.litElementHydrateSupport)==null||qi.call(globalThis,{LitElement:u});var hr=globalThis.litElementPolyfillSupport;hr==null||hr({LitElement:u});var wi;((wi=globalThis.litElementVersions)!=null?wi:globalThis.litElementVersions=[]).push("4.1.0");var m=s=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(s,t)}):customElements.define(s,t)};var ms={attribute:!0,type:String,converter:Be,reflect:!1,hasChanged:kt},us=(s=ms,t,e)=>{let{kind:r,metadata:i}=e,o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),o.set(e.name,s),r==="accessor"){let{name:n}=e;return{set(a){let c=t.get.call(this);t.set.call(this,a),this.requestUpdate(n,c,s)},init(a){return a!==void 0&&this.P(n,void 0,s),a}}}if(r==="setter"){let{name:n}=e;return function(a){let c=this[n];t.call(this,a),this.requestUpdate(n,c,s)}}throw Error("Unsupported decorator location: "+r)};function d(s){return(t,e)=>typeof e=="object"?us(s,t,e):((r,i,o)=>{let n=i.hasOwnProperty(o);return i.constructor.createProperty(o,n?_(C({},r),{wrapped:!0}):r),n?Object.getOwnPropertyDescriptor(i,o):void 0})(s,t,e)}function q(s){return d(_(C({},s),{state:!0,attribute:!1}))}var se=(s,t,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(s,t,e),e);function Ke(s,t){return(e,r,i)=>{let o=n=>{var a,c;return(c=(a=n.renderRoot)==null?void 0:a.querySelector(s))!=null?c:null};if(t){let{get:n,set:a}=typeof r=="object"?e:i!=null?i:(()=>{let c=Symbol();return{get(){return this[c]},set(p){this[c]=p}}})();return se(e,r,{get(){let c=n.call(this);return c===void 0&&(c=o(this),(c!==null||this.hasUpdated)&&a.call(this,c)),c}})}return se(e,r,{get(){return o(this)}})}}function Ei(s){return(t,e)=>{let{slot:r,selector:i}=s!=null?s:{},o="slot"+(r?`[name=${r}]`:":not([name])");return se(t,e,{get(){var c,p;let n=(c=this.renderRoot)==null?void 0:c.querySelector(o),a=(p=n==null?void 0:n.assignedElements(s))!=null?p:[];return i===void 0?a:a.filter(f=>f.matches(i))}})}}function S(s,t){let e=C({waitUntilFirstUpdate:!1},t);return(r,i)=>{let{update:o}=r,n=Array.isArray(s)?s:[s];r.update=function(a){n.forEach(c=>{let p=c;if(a.has(p)){let f=a.get(p),g=this[p];f!==g&&(!e.waitUntilFirstUpdate||this.hasUpdated)&&this[i](f,g)}}),o.call(this,a)}}}var Ci=[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}],O="item";var $=class extends u{constructor(){super();this.identifier="";this.adaptive="false";this.timeDependent=null;this._handleDisabledChange=(e,r)=>{this._interactionElements.forEach(i=>i.disabled=r)};this._handleReadonlyChange=(e,r)=>this._interactionElements.forEach(i=>i.readonly=r);this._context={identifier:this.getAttribute("identifier"),variables:Ci};this._initialContext=_(C({},this._context),{variables:this._context.variables});this._feedbackElements=[];this._interactionElements=[];this.addEventListener("qti-register-variable",e=>{this._context=_(C({},this._context),{variables:[...this._context.variables,e.detail.variable]}),this._initialContext=this._context,e.stopPropagation()}),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:i}=e.detail;this.updateResponseVariable(r,"true"),this.processResponse(i)}),this.addEventListener("qti-set-outcome-value",e=>{let{outcomeIdentifier:r,value:i}=e.detail;this.updateOutcomeVariable(r,i),e.stopPropagation()}),this.addEventListener("qti-interaction-response",this.handleUpdateResponseVariable)}get variables(){return this._context.variables.map(e=>C({identifier:e.identifier,value:e.value,type:e.type},e.type==="outcome"&&e.identifier==="SCORE"?{externalScored:e.externalScored}:{}))}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=_(C({},this._context),{variables:this._context.variables.map(r=>{let i=e.find(o=>o.identifier===r.identifier);return i?C(C({},r),i):r})}),this._context.variables.forEach(r=>{if(r.type==="response"){let i=this._interactionElements.find(o=>o.responseIdentifier===r.identifier);i&&(i.response=r.value)}r.type==="outcome"&&this._feedbackElements.forEach(i=>i.checkShowFeedback(r.identifier))})}async connectedCallback(){super.connectedCallback(),await this.updateComplete,this._emit("qti-assessment-item-connected",this)}set responses(e){if(e)for(let r of e){this.getResponse(r.responseIdentifier)&&this.updateResponseVariable(r.responseIdentifier,r.response);let o=this._interactionElements.find(n=>n.getAttribute("response-identifier")===r.responseIdentifier);o&&(o.response=r.response)}}render(){return h`<slot></slot>`}showCorrectResponse(e){let i=this._context.variables.filter(o=>"correctResponse"in o&&o.correctResponse).map(o=>({responseIdentifier:o.identifier,response:o.correctResponse}));for(let o of i){let n=this._interactionElements.find(a=>a.getAttribute("response-identifier")===o.responseIdentifier);n&&(n.correctResponse=e?o.response:"")}}processResponse(e=!0){var i;let r=this.querySelector("qti-response-processing");return!r||!r.process?!1:(r.process(),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus()),e&&this.updateOutcomeVariable("numAttempts",(+((i=this._context.variables.find(o=>o.identifier==="numAttempts"))==null?void 0:i.value)+1).toString()),this._emit("qti-response-processed"),!0)}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:i}=e.detail;this.updateResponseVariable(r,i)}updateResponseVariable(e,r){this._context=_(C({},this._context),{variables:this._context.variables.map(i=>i.identifier!==e?i:_(C({},i),{value:r}))}),this._emit("qti-interaction-changed",{item:this.identifier,responseIdentifier:e,response:Array.isArray(r)?[...r]:r}),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus())}updateOutcomeVariable(e,r){var o;let i=this.getOutcome(e);if(!i){console.warn(`Can not set qti-outcome-identifier: ${e}, it is not available`);return}this._context=_(C({},this._context),{variables:this._context.variables.map(n=>n.identifier!==e?n:_(C({},n),{value:i.cardinality==="single"?r:[...n.value,r]}))}),this._feedbackElements.forEach(n=>n.checkShowFeedback(e)),this._emit("qti-outcome-changed",{item:this.identifier,outcomeIdentifier:e,value:(o=this._context.variables.find(n=>n.identifier===e))==null?void 0:o.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([d({type:String})],$.prototype,"title",2),l([d({type:String})],$.prototype,"identifier",2),l([d({type:String})],$.prototype,"adaptive",2),l([d({type:String})],$.prototype,"timeDependent",2),l([d({type:Boolean})],$.prototype,"disabled",2),l([S("disabled",{waitUntilFirstUpdate:!0})],$.prototype,"_handleDisabledChange",2),l([d({type:Boolean})],$.prototype,"readonly",2),l([S("readonly",{waitUntilFirstUpdate:!0})],$.prototype,"_handleReadonlyChange",2),l([tr({context:O})],$.prototype,"_context",2),$=l([m("qti-assessment-item")],$);var gs=String.raw,Ze=()=>{let s,t={async load(e,r=!1){return new Promise((i,o)=>{gr(e,r).then(n=>(s=n,i(t)))})},parse(e){return s=fr(e),t},path:e=>(vs(s,e),t),fn(e){return e(s),t},pciHooks(e){let r=["hook","module"],i=e.substring(0,e.lastIndexOf("/"));for(let o of r)s.querySelectorAll("["+o+"]").forEach(a=>{let c=a.getAttribute(o);!c.startsWith("data:")&&!c.startsWith("http")&&(a.setAttribute("base-url",e),a.setAttribute("module",i+"/"+encodeURIComponent(c+(c.endsWith(".js")?"":".js"))))});return t},customInteraction(e,r){let i=s.querySelector("qti-custom-interaction"),o=i.querySelector("object");return i.setAttribute("data-base-ref",e),i.setAttribute("data-base-item",e+r),i.setAttribute("data",o.getAttribute("data")),i.setAttribute("width",o.getAttribute("width")),i.setAttribute("height",o.getAttribute("height")),i.removeChild(o),t},convertCDATAtoComment(){return ys(s),t},stripStyleSheets(){return xs(s),t},html(){return new XMLSerializer().serializeToString(Lt(s))},xml(){return new XMLSerializer().serializeToString(s)},htmldoc(){return Lt(s)},xmldoc(){return s}};return t},ur=()=>{let s,t={async load(e){return new Promise((r,i)=>{gr(e).then(o=>(s=o,r(t)))})},parse(e){s=fr(e)},assessmentTest(){let e=s.querySelector('resource[type="imsqti_test_xmlv3p0"]');return{href:e.getAttribute("href"),identifier:e.getAttribute("identifier")}}};return t},$t=()=>{let s,t={async load(e){return new Promise((r,i)=>{gr(e).then(o=>(s=o,r(t)))})},parse(e){return s=fr(e),t},fn(e){return e(s),t},items(){return bs(s)},html(){return new XMLSerializer().serializeToString(Lt(s))},xml(){return new XMLSerializer().serializeToString(s)},htmldoc(){return Lt(s)},xmldoc(){return s}};return t},fs=gs`<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
4
4
|
<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />
|
|
5
5
|
<xsl:template match="@*|node()">
|
|
6
6
|
<xsl:copy>
|
|
@@ -22,23 +22,23 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
22
22
|
<xsl:apply-templates/>
|
|
23
23
|
</xsl:element>
|
|
24
24
|
</xsl:template>
|
|
25
|
-
</xsl:stylesheet>`;function
|
|
25
|
+
</xsl:stylesheet>`;function bs(s){let t=[];return s.querySelectorAll("qti-assessment-item-ref").forEach(e=>{let r=e.getAttribute("identifier"),i=e.getAttribute("href"),o=e.getAttribute("category");t.push({identifier:r,href:i,category:o})}),t}var mr=null;function gr(s,t=!0){return t&&mr!==null&&mr.abort(),new Promise((e,r)=>{let i=new XMLHttpRequest;mr=i,i.open("GET",s,!0),i.responseType="document",i.onload=()=>{i.status>=200&&i.status<300?e(i.responseXML):r(i.statusText)},i.onerror=()=>{r(i.statusText)},i.send()})}function fr(s){return new DOMParser().parseFromString(s,"text/xml")}function Lt(s){let t=new XSLTProcessor,e=new DOMParser().parseFromString(fs,"text/xml");return t.importStylesheet(e),t.transformToFragment(s,document)}function vs(s,t){t.endsWith("/")||(t+="/"),s.querySelectorAll("[src],[href],[primary-path]").forEach(e=>{var o;let r="";e.getAttribute("src")&&(r="src"),e.getAttribute("href")&&(r="href"),e.getAttribute("primary-path")&&(r="primary-path");let i=(o=e.getAttribute(r))==null?void 0:o.trim();if(!i.startsWith("data:")&&!i.startsWith("http")){let n=t+encodeURI(i);e.setAttribute(r,n)}})}function ys(s){s.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(e=>{let r=document.createComment(e.textContent);e.replaceChild(r,e.firstChild)})}function xs(s){s.querySelectorAll("qti-stylesheet").forEach(t=>t.remove())}var Ae=class extends u{constructor(){super(...arguments);this.identifier="";this.href=""}async connectedCallback(){super.connectedCallback();let e=new Event("qti-assessment-stimulus-ref-connected",{cancelable:!0,bubbles:!0});if(this.dispatchEvent(e)){let o=this.closest("qti-assessment-item").querySelector(`[data-stimulus-idref=${this.identifier}]`);o?await this.loadAndAppendStimulus(o):console.warn(`Stimulus with data-stimulus-idref ${this.identifier} not found`)}}async loadAndAppendStimulus(e){var o;let r=this.href.substring(0,this.href.lastIndexOf("/")),i=await Ze().load(this.href).then(n=>n.path(r).htmldoc());if(i){let n=i.querySelectorAll("qti-stimulus-body, qti-stylesheet");e.append(...n),((o=i.querySelector("qti-assessment-stimulus"))==null?void 0:o.title).includes("(lijst)")&&e.classList.add("qti-stimulus-list")}}};l([d({type:String})],Ae.prototype,"identifier",2),l([d({type:String})],Ae.prototype,"href",2),Ae=l([m("qti-assessment-stimulus-ref")],Ae);var ki={toAttribute:s=>s?"true":"false",fromAttribute:s=>s==="true"};function U(s,t){class e extends s{constructor(...o){super(...o);this.identifier="";this.tabIndex=0;this.disabled=!1;this.readonly=!1;this._internals=this.attachInternals()}handleDisabledChange(o,n){this.tabIndex=n?-1:0,n&&this.blur()}setInternalState(o,n){n&&!this._internals.states.has(o)?this._internals.states.add(o):!n&&this._internals.states.has(o)&&this._internals.states.delete(o)}connectedCallback(){super.connectedCallback(),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent(`register-${t}`,{bubbles:!0,composed:!0}))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent(`unregister-${t}`,{bubbles:!0,composed:!0}))}_onKeyUp(o){o.altKey||o.code==="Space"&&(o.preventDefault(),this._activate())}_onClick(){this.disabled||this.readonly||(this.focus(),this._activate())}_activate(){this.disabled||this.readonly||this.dispatchEvent(new CustomEvent(`activate-${t}`,{bubbles:!0,composed:!0,detail:{identifier:this.identifier}}))}render(){return h`<slot></slot>`}}return l([d({type:String})],e.prototype,"identifier",2),l([d({type:Number,reflect:!0,attribute:"tabindex"})],e.prototype,"tabIndex",2),l([d({type:Boolean,reflect:!0,attribute:"aria-disabled",converter:ki})],e.prototype,"disabled",2),l([d({type:Boolean,reflect:!0,attribute:"aria-readonly",converter:ki})],e.prototype,"readonly",2),l([S("disabled",{waitUntilFirstUpdate:!0})],e.prototype,"handleDisabledChange",1),e}var Ti=b`
|
|
26
26
|
:host {
|
|
27
27
|
display: block;
|
|
28
28
|
}
|
|
29
|
-
`;var
|
|
29
|
+
`;var _e=class extends u{render(){return h`<slot name="qti-rubric-block"></slot><slot></slot>`}};_e.styles=Ti,_e=l([m("qti-item-body")],_e);var Dt=class extends u{render(){return h`<slot></slot>`}connectedCallback(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}};Dt=l([m("qti-prompt")],Dt);var Ht=class extends u{firstUpdated(t){super.firstUpdated(t);let e=this,r=this.getAttribute("href");if(r!==null){let i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.media="screen",i.href=r,e.appendChild(i),this.styleLink=i}if(this.textContent!==null){let i=document.createElement("style");i.media="screen",i.textContent=this.textContent,e.appendChild(i),this.styleLink=i}}disconnectedCallback(){if(this.styleLink)try{this.styleLink.remove()}catch(t){console.log("could not remove stylesheet")}}};Ht=l([m("qti-stylesheet")],Ht);var oe=class extends u{render(){return h`<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(i=>i.innerHTML);return r.length>1||t.cardinality==="multiple"||t.cardinality==="ordered"?r:r[0]}};oe=l([m("qti-variabledeclaration")],oe);var z=class extends oe{constructor(){super(...arguments);this.externalScored=null}render(){var r,i;let e=(i=(r=this.itemContext)==null?void 0:r.variables.find(o=>o.identifier===this.identifier))==null?void 0:i.value;return h`${JSON.stringify(e,null,2)}`}get interpolationTable(){let e=this.querySelector("qti-interpolation-table");if(e){let r=new Map;for(let i of e.querySelectorAll("qti-interpolation-table-entry")){!i.getAttribute("source-value")&&i.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");let o=parseInt(i.getAttribute("source-value")),n=parseInt(i.getAttribute("target-value"));(isNaN(o)||isNaN(n))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),r.set(o,n)}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,externalScored:this.externalScored};e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}};z.styles=[b`
|
|
30
30
|
:host {
|
|
31
31
|
display: none;
|
|
32
32
|
}
|
|
33
|
-
`],l([d({type:String,attribute:"base-type"})],z.prototype,"baseType",2),l([d({type:String,attribute:"external-scored"})],z.prototype,"externalScored",2),l([d({type:String})],z.prototype,"identifier",2),l([d({type:String})],z.prototype,"cardinality",2),l([
|
|
33
|
+
`],l([d({type:String,attribute:"base-type"})],z.prototype,"baseType",2),l([d({type:String,attribute:"external-scored"})],z.prototype,"externalScored",2),l([d({type:String})],z.prototype,"identifier",2),l([d({type:String})],z.prototype,"cardinality",2),l([J({context:O,subscribe:!0}),q()],z.prototype,"itemContext",2),z=l([m("qti-outcome-declaration")],z);var ee=class extends oe{render(){var e,r;let t=(r=(e=this.itemContext)==null?void 0:e.variables.find(i=>i.identifier===this.identifier))==null?void 0:r.value;return h`${JSON.stringify(t,null,2)}`}connectedCallback(){super.connectedCallback();let t={baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||"single",mapping:this.mapping,value:null,type:"response",candidateResponse:null};t.value=this.defaultValues(t),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:t}}))}get correctResponse(){let t,e=this.querySelector("qti-correct-response");if(e){let r=e.querySelectorAll("qti-value");if(this.cardinality==="single"&&r.length>0)t=r[0].textContent,r[0].remove();else if(this.cardinality!=="single"){t=[];for(let i=0;i<r.length;i++)t.push(r[i].textContent),r[i].remove()}}return t}get mapping(){return this.querySelector("qti-mapping")}};ee.styles=[b`
|
|
34
34
|
:host {
|
|
35
35
|
display: none;
|
|
36
36
|
}
|
|
37
|
-
`],l([d({type:String,attribute:"base-type"})],ee.prototype,"baseType",2),l([d({type:String})],ee.prototype,"identifier",2),l([d({type:String})],ee.prototype,"cardinality",2),l([
|
|
37
|
+
`],l([d({type:String,attribute:"base-type"})],ee.prototype,"baseType",2),l([d({type:String})],ee.prototype,"identifier",2),l([d({type:String})],ee.prototype,"cardinality",2),l([J({context:O,subscribe:!0}),q()],ee.prototype,"itemContext",2),ee=l([m("qti-response-declaration")],ee);var Pt=class extends u{};Pt=l([m("qti-companion-materials-info")],Pt);var Nt=class extends u{render(){return h`<slot></slot>`}};Nt=l([m("qti-content-body")],Nt);var F=class extends u{handleclassNamesChange(t,e){this.classNames.split(" ").forEach(i=>{switch(i){case"qti-rubric-discretionary-placement":this.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":this.setAttribute("slot","");break;default:break}})}render(){return h`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-rubric-block")}};F.styles=b`
|
|
38
38
|
:host {
|
|
39
39
|
display: block;
|
|
40
40
|
}
|
|
41
|
-
`,l([d({type:String})],F.prototype,"id",2),l([d({type:String})],F.prototype,"use",2),l([d({type:String})],F.prototype,"view",2),l([d({type:String,attribute:"class"})],F.prototype,"classNames",2),l([
|
|
41
|
+
`,l([d({type:String})],F.prototype,"id",2),l([d({type:String})],F.prototype,"use",2),l([d({type:String})],F.prototype,"view",2),l([d({type:String,attribute:"class"})],F.prototype,"classNames",2),l([S("classNames",{waitUntilFirstUpdate:!0})],F.prototype,"handleclassNamesChange",1),F=l([m("qti-rubric-block")],F);var qs=()=>new Intl.NumberFormat().format(.1).replace(/\d/g,""),Je=s=>{if(typeof s=="string")return s;let t=qs();return t==="."?s.toLocaleString():s.toString().replace(".","").replace(t,".")};function br(s){return s==null}function Ge(s){return s.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")}var D=class extends u{connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}checkShowFeedback(t){let e=this.closest("qti-assessment-item").getOutcome(t);if(this.outcomeIdentifier!==t||!e)return;let r=!1;Array.isArray(e.value)?r=e.value.includes(this.identifier):r=!br(this.identifier)&&!br(e==null?void 0:e.value)&&this.identifier===e.value||!1,this.showFeedback(r)}showFeedback(t){this.showStatus=t&&this.showHide==="show"||!t&&this.showHide==="hide"?"on":"off"}};l([d({type:String,attribute:"show-hide"})],D.prototype,"showHide",2),l([d({type:String,attribute:"outcome-identifier"})],D.prototype,"outcomeIdentifier",2),l([d({type:String})],D.prototype,"identifier",2),l([d({type:String,attribute:!1})],D.prototype,"showStatus",2);var Qe=class extends D{render(){return h` <slot part="feedback" class="feedback ${this.showStatus}"></slot> `}firstUpdated(t){this.checkShowFeedback(this.outcomeIdentifier)}};Qe.styles=b`
|
|
42
42
|
:host {
|
|
43
43
|
display: block;
|
|
44
44
|
}
|
|
@@ -48,21 +48,21 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
48
48
|
.off {
|
|
49
49
|
display: none;
|
|
50
50
|
}
|
|
51
|
-
`,Qe=l([m("qti-feedback-block")],Qe);var et=class extends
|
|
51
|
+
`,Qe=l([m("qti-feedback-block")],Qe);var et=class extends D{constructor(){super(...arguments);this.render=()=>h` <slot part="feedback" class="${this.showStatus}"></slot> `}};et.styles=b`
|
|
52
52
|
.on {
|
|
53
53
|
display: inline-block;
|
|
54
54
|
}
|
|
55
55
|
.off {
|
|
56
56
|
display: none;
|
|
57
57
|
}
|
|
58
|
-
`,et=l([m("qti-feedback-inline")],et);var tt=class extends
|
|
58
|
+
`,et=l([m("qti-feedback-inline")],et);var tt=class extends D{constructor(){super(...arguments);this.render=()=>h` <slot part="feedback" class="${this.showStatus}"></slot> `}};tt.styles=b`
|
|
59
59
|
.on {
|
|
60
60
|
display: inline-block;
|
|
61
61
|
}
|
|
62
62
|
.off {
|
|
63
63
|
display: none;
|
|
64
64
|
}
|
|
65
|
-
`,tt=l([m("qti-modal-feedback")],tt);var B=s=>s!=null?s:E;var
|
|
65
|
+
`,tt=l([m("qti-modal-feedback")],tt);var B=s=>s!=null?s:E;var T=class extends u{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:Array.isArray(e)?[...e]:e}}))}};l([d({attribute:"response-identifier"})],T.prototype,"responseIdentifier",2),l([d({reflect:!0,type:Boolean})],T.prototype,"disabled",2),l([d({reflect:!0,type:Boolean})],T.prototype,"readonly",2);var{I:ws}=yi;var _i=s=>s.strings===void 0,Ai=()=>document.createComment(""),Se=(s,t,e)=>{var o;let r=s._$AA.parentNode,i=t===void 0?s._$AB:t._$AA;if(e===void 0){let n=r.insertBefore(Ai(),i),a=r.insertBefore(Ai(),i);e=new ws(n,a,s,s.options)}else{let n=e._$AB.nextSibling,a=e._$AM,c=a!==s;if(c){let p;(o=e._$AQ)==null||o.call(e,s),e._$AM=s,e._$AP!==void 0&&(p=s._$AU)!==a._$AU&&e._$AP(p)}if(n!==i||c){let p=e._$AA;for(;p!==n;){let f=p.nextSibling;r.insertBefore(p,i),p=f}}}return e},ne=(s,t,e=s)=>(s._$AI(t,e),s),Es={},Si=(s,t=Es)=>s._$AH=t,Ri=s=>s._$AH,Vt=s=>{var r;(r=s._$AP)==null||r.call(s,!1,!0);let t=s._$AA,e=s._$AB.nextSibling;for(;t!==e;){let i=t.nextSibling;t.remove(),t=i}};var ae={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},te=s=>(...t)=>({_$litDirective$:s,values:t}),j=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this.t=t,this._$AM=e,this.i=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var rt=(s,t)=>{var r;let e=s._$AN;if(e===void 0)return!1;for(let i of e)(r=i._$AO)==null||r.call(i,t,!1),rt(i,t);return!0},It=s=>{let t,e;do{if((t=s._$AM)===void 0)break;e=t._$AN,e.delete(s),s=t}while((e==null?void 0:e.size)===0)},Mi=s=>{for(let t;t=s._$AM;s=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(s))break;e.add(s),Ts(t)}};function Cs(s){this._$AN!==void 0?(It(this),this._$AM=s,Mi(this)):this._$AM=s}function ks(s,t=!1,e=0){let r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(let o=e;o<r.length;o++)rt(r[o],!1),It(r[o]);else r!=null&&(rt(r,!1),It(r));else rt(this,s)}var Ts=s=>{var t,e;s.type==ae.CHILD&&((t=s._$AP)!=null||(s._$AP=ks),(e=s._$AQ)!=null||(s._$AQ=Cs))},Ot=class extends j{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,r){super._$AT(t,e,r),Mi(this),this.isConnected=t._$AU}_$AO(t,e=!0){var r,i;t!==this.isConnected&&(this.isConnected=t,t?(r=this.reconnected)==null||r.call(this):(i=this.disconnected)==null||i.call(this)),e&&(rt(this,t),It(this))}setValue(t){if(_i(this.t))this.t._$AI(t,this);else{let e=[...this.t._$AH];e[this.i]=t,this.t._$AI(e,this,0)}}disconnected(){}reconnected(){}};var Ut=()=>new yr,yr=class{},vr=new WeakMap,Li=te(class extends Ot{render(s){return E}update(s,[t]){var r;let e=t!==this.Y;return e&&this.Y!==void 0&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.Y=t,this.ht=(r=s.options)==null?void 0:r.host,this.rt(this.ct=s.element)),E}rt(s){var t;if(this.isConnected||(s=void 0),typeof this.Y=="function"){let e=(t=this.ht)!=null?t:globalThis,r=vr.get(e);r===void 0&&(r=new WeakMap,vr.set(e,r)),r.get(this.Y)!==void 0&&this.Y.call(this.ht,void 0),r.set(this.Y,s),s!==void 0&&this.Y.call(this.ht,s)}else this.Y.value=s}get lt(){var s,t,e;return typeof this.Y=="function"?(t=vr.get((s=this.ht)!=null?s:globalThis))==null?void 0:t.get(this.Y):(e=this.Y)==null?void 0:e.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var X=class extends T{constructor(){super(...arguments);this.textareaRef=Ut();this._value=""}handleclassNamesChange(e,r){this.classNames.split(" ").forEach(o=>{if(o.startsWith("qti-height-lines")){let n=o.replace("qti-height-lines-","");this.textareaRef&&(this.textareaRef.value.rows=parseInt(n))}})}set response(e){this._value=e!==void 0?e:""}validate(){return this._value!==""}static get styles(){return[b`
|
|
66
66
|
/* PK: display host as block, else design will be collapsed */
|
|
67
67
|
:host {
|
|
68
68
|
display: block;
|
|
@@ -73,10 +73,10 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
73
73
|
height: 100%;
|
|
74
74
|
border: 0;
|
|
75
75
|
}
|
|
76
|
-
`]}render(){return
|
|
76
|
+
`]}render(){return h`<slot name="prompt"></slot
|
|
77
77
|
><textarea
|
|
78
78
|
part="textarea"
|
|
79
|
-
${
|
|
79
|
+
${Li(this.textareaRef)}
|
|
80
80
|
spellcheck="false"
|
|
81
81
|
autocomplete="off"
|
|
82
82
|
@keydown="${e=>e.stopImmediatePropagation()}"
|
|
@@ -89,12 +89,12 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
89
89
|
?disabled="${this.disabled}"
|
|
90
90
|
?readonly="${this.readonly}"
|
|
91
91
|
.value=${this._value}
|
|
92
|
-
></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([d({type:Number,attribute:"expected-length"})],X.prototype,"expectedLength",2),l([d({type:String,attribute:"pattern-mask"})],X.prototype,"patternMask",2),l([d({type:String,attribute:"placeholder-text"})],X.prototype,"placeholderText",2),l([q()],X.prototype,"_value",2),l([d({type:String,attribute:"class"})],X.prototype,"classNames",2),l([
|
|
92
|
+
></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([d({type:Number,attribute:"expected-length"})],X.prototype,"expectedLength",2),l([d({type:String,attribute:"pattern-mask"})],X.prototype,"patternMask",2),l([d({type:String,attribute:"placeholder-text"})],X.prototype,"placeholderText",2),l([q()],X.prototype,"_value",2),l([d({type:String,attribute:"class"})],X.prototype,"classNames",2),l([S("classNames",{waitUntilFirstUpdate:!0})],X.prototype,"handleclassNamesChange",1),X=l([m("qti-extended-text-interaction")],X);function $i(s,t){let e,r=C({},t);return(i,o)=>{let{connectedCallback:n,disconnectedCallback:a}=i;i.connectedCallback=function(){var f;n.call(this);let c=g=>{let y=Array.from(this.querySelectorAll(s));for(let v of g){let w=Array.from(v.addedNodes).map(A=>A),k=Array.from(v.addedNodes).map(A=>A);v.type==="childList"&&w.find(A=>y.includes(A))&&this[o](w,k)}};e=new MutationObserver(c),e.observe(this,{childList:!0,subtree:!0});let p=(f=this.querySelectorAll(s))!=null?f:[];this[o](Array.from(p),[])},i.disconnectedCallback=function(){a.call(this),e.disconnect()}}}var H=class extends T{constructor(){super(...arguments);this._value="";this._correctValue="";this._size=5;this.inputRef=Ut()}handleclassNamesChange(e,r){r.split(" ").forEach(o=>{if(o.startsWith("qti-input-width")){let n=o.replace("qti-input-width-","");this._size=parseInt(n)}})}set response(e){this._value=e!==void 0?e:""}validate(){return this._value!==""}static get styles(){return[b`
|
|
93
93
|
[part='correct'] {
|
|
94
94
|
position: absolute;
|
|
95
95
|
width: 100%;
|
|
96
96
|
}
|
|
97
|
-
`]}set correctResponse(e){this._correctValue=e}render(){return
|
|
97
|
+
`]}set correctResponse(e){this._correctValue=e}render(){return h`
|
|
98
98
|
<input
|
|
99
99
|
part="input"
|
|
100
100
|
spellcheck="false"
|
|
@@ -112,7 +112,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
112
112
|
?readonly="${this.readonly}"
|
|
113
113
|
/>
|
|
114
114
|
<div part="correct">${this._correctValue}</div>
|
|
115
|
-
`}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([d({type:Number,attribute:"expected-length"})],
|
|
115
|
+
`}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([d({type:Number,attribute:"expected-length"})],H.prototype,"expectedLength",2),l([d({type:String,attribute:"pattern-mask"})],H.prototype,"patternMask",2),l([d({type:String,attribute:"placeholder-text"})],H.prototype,"placeholderText",2),l([q()],H.prototype,"_value",2),l([q()],H.prototype,"_correctValue",2),l([q()],H.prototype,"_size",2),l([d({type:String,attribute:"class"})],H.prototype,"classNames",2),l([S("classNames")],H.prototype,"handleclassNamesChange",1),H=l([m("qti-text-entry-interaction")],H);var le=(s,t)=>{class e extends s{constructor(...o){super(...o);this._choiceElements=[];this.responseIdentifier="";this.minChoices=0;this.maxChoices=1;this.disabled=!1;this._handleDisabledChange=(o,n)=>{this._choiceElements.forEach(a=>a.disabled=n)};this.readonly=!1;this._handleReadonlyChange=(o,n)=>{this._choiceElements.forEach(a=>a.readonly=n)}}_handleMaxChoicesChange(o,n){this._determineInputType()}validate(){let o=this._choiceElements.filter(n=>this._getChoiceChecked(n)).length;return this.maxChoices!==0&&o>this.maxChoices?!1:o>=this.minChoices}set response(o){let n=Array.isArray(o)?o:[o];this._choiceElements.forEach(a=>{this._setChoiceChecked(a,n.includes(a.identifier))})}set correctResponse(o){let n=Array.isArray(o)?o:[o];if(n.length===0){this._choiceElements.forEach(a=>{a.removeAttribute("data-correct-response")});return}this._choiceElements.forEach(a=>{a.setAttribute("data-correct-response",n.includes(a.identifier)?"true":"false")})}connectedCallback(){super.connectedCallback(),this.addEventListener(`register-${t}`,this._registerChoiceElement),this.addEventListener(`unregister-${t}`,this._unregisterChoiceElement),this.addEventListener(`activate-${t}`,this._choiceElementSelectedHandler),this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0}))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`register-${t}`,this._registerChoiceElement),this.removeEventListener(`unregister-${t}`,this._unregisterChoiceElement),this.removeEventListener(`activate-${t}`,this._choiceElementSelectedHandler)}_registerChoiceElement(o){o.stopPropagation();let n=o.target;n.disabled=this.disabled,this._choiceElements.push(n),this._setInputType(n)}_unregisterChoiceElement(o){o.stopPropagation();let n=o.target;this._choiceElements=this._choiceElements.filter(a=>a!==n)}_determineInputType(){this._choiceElements.forEach(o=>{this._setInputType(o)})}_setInputType(o){o.setAttribute("role",this.maxChoices===1?"radio":"checkbox")}_choiceElementSelectedHandler(o){this._toggleChoiceChecked(o.target),this.maxChoices===1&&this._choiceElements.forEach(n=>{n.identifier!==o.detail.identifier&&this._setChoiceChecked(n,!1)}),this._handleChoiceSelection()}_setChoiceChecked(o,n){o.setAttribute("aria-checked",n.toString())}_getChoiceChecked(o){return o.getAttribute("aria-checked")==="true"}_toggleChoiceChecked(o){let n=this._getChoiceChecked(o);this._setChoiceChecked(o,!n)}_handleChoiceSelection(){let o=this._choiceElements.filter(c=>this._getChoiceChecked(c)),n=o.map(c=>c.identifier);if(this.maxChoices>1&&this.maxChoices!==0){let c=o.length>=this.maxChoices;this._choiceElements.forEach(p=>{this._getChoiceChecked(p)||(p.disabled=c)})}let a=this.maxChoices===1?n[0]||void 0:n;this._saveResponse(a)}_saveResponse(o){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:o}}))}}return l([d({attribute:"response-identifier"})],e.prototype,"responseIdentifier",2),l([d({type:Number,attribute:"min-choices"})],e.prototype,"minChoices",2),l([d({type:Number,attribute:"max-choices"})],e.prototype,"maxChoices",2),l([S("maxChoices",{waitUntilFirstUpdate:!0})],e.prototype,"_handleMaxChoicesChange",1),l([d({reflect:!0,type:Boolean})],e.prototype,"disabled",2),l([S("disabled",{waitUntilFirstUpdate:!0})],e.prototype,"_handleDisabledChange",2),l([d({reflect:!0,type:Boolean})],e.prototype,"readonly",2),l([S("readonly",{waitUntilFirstUpdate:!0})],e.prototype,"_handleReadonlyChange",2),e};var zt=class extends le(u,"qti-hottext"){constructor(){super(...arguments);this.render=()=>h`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("qti-hottext-interaction","")}};zt=l([m("qti-hottext-interaction")],zt);var it=class extends j{constructor(t){if(super(t),this.it=E,t.type!==ae.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===E||t==null)return this._t=void 0,this.it=t;if(t===L)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};it.directiveName="unsafeHTML",it.resultType=1;var ce=te(it);var de=class extends T{constructor(){super(...arguments);this.options=[];this.correctOption="";this.dataPrompt="select"}static get styles(){return[b`
|
|
116
116
|
:host {
|
|
117
117
|
display: inline-block;
|
|
118
118
|
}
|
|
@@ -134,22 +134,55 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
134
134
|
/* position-anchor: --infobox; */
|
|
135
135
|
/* top: anchor(bottom); */
|
|
136
136
|
}
|
|
137
|
-
`]}render(){return
|
|
137
|
+
`]}render(){return h`
|
|
138
138
|
<select part="select" @change="${this.choiceSelected}" ?disabled="${this.disabled}" ?readonly="${this.readonly}">
|
|
139
|
-
${this.options.map(e=>
|
|
139
|
+
${this.options.map(e=>h`
|
|
140
140
|
<option value="${e.value}" ?selected="${e.selected}">${ce(e.textContent)}</option>
|
|
141
141
|
`)}
|
|
142
142
|
</select>
|
|
143
143
|
|
|
144
144
|
${ce(this.correctOption)}
|
|
145
|
-
`}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)=>
|
|
146
|
-
|
|
147
|
-
display: flex;
|
|
148
|
-
flex-direction: column;
|
|
149
|
-
gap: var(--qti-gap-size);
|
|
150
|
-
|
|
145
|
+
`}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)=>_(C({},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(i=>_(C({},i),{selected:i.value===r})),this.saveResponse(r)}};de.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([q()],de.prototype,"options",2),l([q()],de.prototype,"correctOption",2),l([d({attribute:"data-prompt",type:String})],de.prototype,"dataPrompt",2),de=l([m("qti-inline-choice-interaction")],de);var Ft=(s,t)=>{class e extends s{constructor(){super(...arguments);this._shuffle=!1}set shuffle(o){let n=this._shuffle;this._shuffle=o,o?this._shuffleChoices():this._resetShuffleChoices(),this.requestUpdate("shuffle",n)}get shuffle(){return this._shuffle}connectedCallback(){super.connectedCallback(),this.shuffle?this._shuffleChoices():this._resetShuffleChoices()}_shuffleChoices(){let o=Array.from(this.querySelectorAll(t)),n=[],a=[];o.forEach((y,v)=>{y.hasAttribute("fixed")?n.push({element:y,index:v}):a.push(y)}),a.length<=1&&console.warn("Shuffling is not possible with fewer than 2 non-fixed elements.");let c=!1,p=10,f=0;for(;!c&&f<p;){f++;for(let y=a.length-1;y>0;y--){let v=Math.floor(Math.random()*(y+1));[a[y],a[v]]=[a[v],a[y]]}if(c=a.some((y,v)=>o.indexOf(y)!==v),c)break}c||console.warn("Failed to shuffle the choices after multiple attempts.");let g=1;o.forEach((y,v)=>{y.hasAttribute("fixed")?y.style.setProperty("order",String(g++)):a.shift().style.setProperty("order",String(g++))})}_resetShuffleChoices(){Array.from(this.querySelectorAll("qti-simple-choice")).forEach((n,a)=>{n.style.setProperty("order","initial")})}}return l([d({type:String,reflect:!0,converter:As})],e.prototype,"shuffle",1),e},As={fromAttribute(s){return s==="true"},toAttribute(s){return s?"true":"false"}};var Di=(s,t)=>{class e extends s{constructor(){super(...arguments);this._classes=[];this._allLabels=["qti-labels-decimal","qti-labels-lower-alpha","qti-labels-upper-alpha"];this._allLabelSuffixes=["qti-labels-suffix-period","qti-labels-suffix-parenthesis"]}set class(o){o&&(this._classes=o.split(" "),this._addLabels())}get class(){var o;return((o=this._classes)==null?void 0:o.join(" "))||""}updated(o){super.updated(o),o.has("shuffle")&&this._addLabels()}_addLabels(){let o=this._classes.some(a=>this._allLabels.includes(a)||this._allLabelSuffixes.includes(a)),n=a=>!isNaN(+a);if(o){let c=Array.from(this.querySelectorAll("qti-simple-choice")).map(p=>p).map((p,f)=>({el:p,order:n(p.style.order)?+p.style.order:f+1})).sort((p,f)=>p.order-f.order).map(p=>p.el);for(let p=0;p<c.length;p++)c[p].marker=this._getLabel(p+1)}}_getLabel(o){let n=this._classes.filter(p=>this._allLabels.includes(p)).pop(),a=this._classes.filter(p=>this._allLabelSuffixes.includes(p)).pop();!n&&a&&(n="qti-labels-upper-alpha");let c="";switch(n){case"qti-labels-decimal":c=`${o}`;break;case"qti-labels-lower-alpha":c=`${String.fromCharCode(97+o-1)}`;break;case"qti-labels-upper-alpha":c=`${String.fromCharCode(65+o-1)}`;break}return a==="qti-labels-suffix-period"?c+=".":a==="qti-labels-suffix-parenthesis"&&(c+=")"),c}}return l([d({type:String,reflect:!0})],e.prototype,"class",1),e};var Hi=b`
|
|
146
|
+
[part='slot'] {
|
|
147
|
+
/* display: flex; */
|
|
148
|
+
/* flex-direction: column; */
|
|
149
|
+
/* gap: var(--qti-gap-size); */
|
|
150
|
+
--choice-interactions-stacking: 1;
|
|
151
|
+
display: grid; /* grid */
|
|
152
|
+
grid-template-columns: repeat(var(--choice-interactions-stacking), minmax(0, 1fr)); /* grid-cols-2 */
|
|
153
|
+
gap: var(--qti-gap-size); /* gap-4 */
|
|
154
|
+
/* qti-prompt {
|
|
155
|
+
grid-column: span var(--choice-interactions-stacking) / span var(--choice-interactions-stacking);
|
|
156
|
+
} */
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
:host(.qti-choices-stacking-1) [part='slot'] {
|
|
160
|
+
--choice-interactions-stacking: 1;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
:host(.qti-choices-stacking-2) [part='slot'] {
|
|
164
|
+
--choice-interactions-stacking: 2;
|
|
165
|
+
}
|
|
166
|
+
:host(.qti-choices-stacking-3) [part='slot'] {
|
|
167
|
+
--choice-interactions-stacking: 3;
|
|
168
|
+
}
|
|
169
|
+
:host(.qti-choices-stacking-4) [part='slot'] {
|
|
170
|
+
--choice-interactions-stacking: 4;
|
|
171
|
+
}
|
|
172
|
+
:host(.qti-choices-stacking-5) [part='slot'] {
|
|
173
|
+
--choice-interactions-stacking: 5;
|
|
174
|
+
}
|
|
175
|
+
:host()[part='slot'] {
|
|
176
|
+
&.qti-orientation-horizontal {
|
|
177
|
+
/* is the default layout */
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
:host()[part='slot'] {
|
|
181
|
+
&[orientation='horizontal'] {
|
|
182
|
+
flex-direction: row;
|
|
183
|
+
}
|
|
151
184
|
}
|
|
152
|
-
`;var Re=class extends
|
|
185
|
+
`;var Re=class extends Di(Ft(le(u,"qti-simple-choice"),"qti-simple-choice"),"qti-simple-choice"){render(){return h` <slot name="prompt"></slot><slot part="slot"></slot>`}};Re.styles=Hi,l([d({type:String})],Re.prototype,"orientation",2),Re=l([m("qti-choice-interaction")],Re);var st=class extends u{render(){return h`<slot></slot>`}process(){let t=new xr,e=[...this.children];t.process(e)}};st.styles=[b`
|
|
153
186
|
:host {
|
|
154
187
|
display: none;
|
|
155
188
|
}
|
|
@@ -202,35 +235,46 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
202
235
|
</qti-set-outcome-value>
|
|
203
236
|
</qti-response-else>
|
|
204
237
|
</qti-response-condition>
|
|
205
|
-
</qti-response-processing>`;var xe=class extends
|
|
238
|
+
</qti-response-processing>`;var xe=class extends u{render(){return h`<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(Ni).firstElementChild.firstElementChild);break}case"map_response_point":{this.appendChild(this.fragmentFromString(Vi).firstElementChild.firstElementChild);break}case"match_correct":this.appendChild(this.fragmentFromString(Pi).firstElementChild.firstElementChild);break}}}fragmentFromString(t){return document.createRange().createContextualFragment(t)}};xe.styles=[b`
|
|
206
239
|
:host {
|
|
207
240
|
display: none;
|
|
208
241
|
}
|
|
209
|
-
`],xe=l([m("qti-response-processing")],xe);var Y=class extends
|
|
242
|
+
`],xe=l([m("qti-response-processing")],xe);var Y=class extends u{render(){return h`<slot></slot>`}process(){throw new Error("Not implemented")}};Y=l([m("qti-rule")],Y);var Bt=class extends Y{get childExpression(){return this.firstElementChild}process(){let t=this.getAttribute("identifier"),e=this.closest("qti-assessment-item").getVariable(t),r;return e.interpolationTable&&(r=e.interpolationTable.get(parseInt(this.childExpression.calculate()))),r==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:Je(r)}})),r)}};l([d({type:String})],Bt.prototype,"identifier",2);customElements.define("qti-lookup-outcome-value",Bt);var qr=class extends Y{render(){return h`<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",qr);var wr=class extends Y{process(){let t=this.getAttribute("identifier"),e=this.firstElementChild,i=new Er(e).process();this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:t,value:Array.isArray(i)?i.map(o=>Je(o)):Je(i)}}))}},Er=class{constructor(t){this.expression=t}process(){let t=this.expression?this.expression.calculate():null;if(t==null){console.warn("setOutcomeValue: value is null or undefined");return}return t}};customElements.define("qti-set-outcome-value",wr);var ot=class extends u{render(){return h`<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",ot);var nt=class extends ot{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",nt);var Cr=class extends nt{render(){return h`${super.render()}`}};customElements.define("qti-response-else-if",Cr);var x=class extends u{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 i=e.getResult();return i.length>0?{identifier:"",baseType:i[0].baseType,value:i.map(o=>o.value),cardinality:"multiple",type:"response"}:null}case"qti-correct":{let r=e.getAttribute("identifier")||"",i=this.assessmentItem.getResponse(r);return{baseType:i.baseType,value:i.correctResponse,cardinality:i.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 h`<pre>${JSON.stringify(this.result,null,2)}</pre>
|
|
210
243
|
<slot></slot>`}calculate(){return this.result=this.getResult(),this.result}getResult(){throw new Error("Not implemented")}get assessmentItem(){return this.closest("qti-assessment-item")}};x.styles=b`
|
|
211
244
|
slot {
|
|
212
245
|
display: none;
|
|
213
246
|
}
|
|
214
|
-
`,l([q()],x.prototype,"result",2);var V=class extends x{calculate(){return this.result=this.getResult(),this.result}getResult(){throw new Error("Not implemented")}};var jt=class extends _s(V){calculate(){return this.calculateChildren(Array.from(this.children))}};function _s(s){return class extends s{calculateChildren(e){return e.map(i=>{let o=i;if(!o.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let n=o.calculate();if(typeof n=="string")if(n==="true")n=!0;else if(n==="false")n=!1;else return console.error("unexpected value in qti-and, expected boolean"),null;return n}).every(i=>typeof i=="boolean"&&i)}}}customElements.define("qti-and",jt);var Xt=class extends x{constructor(){super(...arguments);this.baseType="string"}getResult(){return this.textContent}};l([d({type:String,attribute:"base-type"})],Xt.prototype,"baseType",2);customElements.define("qti-base-value",Xt);var kr=class extends V{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 i=e.value,o=r.value;return i.filter(c=>o.includes(c)).length>0}else if(e.baseType==="directedPair"&&r.baseType==="directedPair"&&e.cardinality==="single"){let i=e.value;return r.value.includes(i)}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",kr);var _r=class extends x{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",_r);var Yt=class extends x{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],i=e[1];if(this.roundingMode===null)return null;if(r.cardinality!=="single"||i.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(i.value))return console.error("unexpected cardinality in qti equal"),!1;switch(e[0].baseType){case"integer":case"float":{let o=parseFloat(r.value),n=parseFloat(i.value);if(!isNaN(o)&&!isNaN(n))return this.roundingMode==="significantFigures"?o.toPrecision(this.figures)===n.toPrecision(this.figures):Math.round(o*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(n*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error(`value cannot be casted to numeric value in equalRounded operator: ${o}, ${n}`);break}default:{console.error("values other than float and int cannot be used in equalRounded operator.");break}}return!1}return console.error("unexpected number of children in qti-equal-rounded"),null}};l([d({type:String})],Yt.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",Yt);var D=class{static compareSingleValues(t,e,r){switch(r){case"identifier":case"string":return t===e;case"integer":{let i=parseInt(t,10),o=parseInt(e,10);if(!isNaN(i)&&!isNaN(o))return i===o;console.error(`Cannot convert ${t} and/or ${e} to int.`);break}case"float":{let i=parseFloat(t),o=parseFloat(e);if(!isNaN(i)&&!isNaN(o))return i===o;console.error(`couldn't convert ${t} and/or ${e} to float.`);break}case"pair":case"directedPair":{let i=t.split(" ").sort(),o=e.split(" ").sort();if(i.length===2&&o.length===2)return r==="pair"&&(i.sort(),o.sort()),i.join(" ")===o.join(" ");console.error(`compared two pair but one of the values does not have 2 values: 1: ${t} 2: ${e}`);break}}return!1}};var Wt=class extends x{constructor(){super(...arguments);this.toleranceMode="exact"}getResult(){if(this.children.length===2){let e=this.getVariables(),r=e[0],i=e[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):r.cardinality!=="single"||i.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(i.value)?(console.error("unexpected cardinality in qti equal"),!1):D.compareSingleValues(r.value,i.value,r.baseType)}return console.error("unexpected number of children in qti-equal"),null}};l([d({type:String})],Wt.prototype,"toleranceMode",2);customElements.define("qti-equal",Wt);var Ar=class extends x{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",Ar);var Sr=class extends V{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",Sr);var Tr=class extends x{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",Tr);var Rr=class extends x{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",Rr);var $r=class extends V{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",$r);var Kt=class extends x{getResult(){let t=this.assessmentItem.getResponse(this.identifier);if(!t)return console.warn(`Response ${this.identifier} can not be found`),null;let e=t.mapping,r=Array.isArray(t.value)?t.value:[t.value],i=0;for(let o of r){let n=e.mapEntries.find(a=>D.compareSingleValues(a.mapKey,o,t.baseType));n==null||n.mappedValue==null?i+=e.defaultValue:i+=n.mappedValue}return e.lowerBound!=null&&(i=Math.max(e.lowerBound,i)),e.upperBound!=null&&(i=Math.min(e.upperBound,i)),i}};l([d({type:String})],Kt.prototype,"identifier",2);customElements.define("qti-map-response",Kt);var $e=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([d({attribute:"default-value",type:Number})],$e.prototype,"defaultValue",2),l([d({attribute:"lower-bound",type:Number})],$e.prototype,"lowerBound",2),l([d({attribute:"upper-bound",type:Number})],$e.prototype,"upperBound",2);customElements.define("qti-mapping",$e);var Mr=class s extends x{getResult(){if(this.children.length===2){let t=this.getVariables(),e=t[0],r=t[1];return s.match(e,r)}return console.error("unexpected number of children in match"),null}static match(t,e){var r;switch(e.cardinality){case"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);case"ordered":{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;for(let i=0;i<t.value.length;i++)if(!D.compareSingleValues(e.value[i],t.value[i],e.baseType))return!1;return!0}case"multiple":{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 i=0;for(let o of e.value){let n=null,a=[...t.value];for(let c of a)if(D.compareSingleValues(o,c,e.baseType)){n=c;break}if(n!==null)a.splice(a.indexOf(n),1);else return!1;i++}return!0}default:return console.error("unexpected cardinality in qti match"),!1}}};customElements.define("qti-match",Mr);var Lr=class extends x{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 i=e.value;return r.value.includes(i)}};customElements.define("qti-member",Lr);var Hr=class extends x{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",Hr);var Pr=class extends x{render(){return u`${super.render()}`}getResult(){return!this.firstElementChild.calculate()}};customElements.define("qti-not",Pr);var Nr=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 i=r.calculate();if(typeof i=="string")if(i==="true")i=!0;else if(i==="false")i=!1;else return console.error("unexpected value in qti-or, expected boolean"),null;return i}).some(e=>typeof e=="boolean"&&e)}};customElements.define("qti-or",Nr);var Vr=class extends x{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",Vr);var at=class extends f{render(){var e,r;let t=(r=(e=this.itemContext)==null?void 0:e.variables.find(i=>i.identifier===this.identifier))==null?void 0:r.value;return u`${JSON.stringify(t,null,2)}`}calculate(){let t=this.closest("qti-assessment-item"),e=this.identifier;return t.getVariable(e).value}};l([d({type:String})],at.prototype,"identifier",2),l([Z({context:U,subscribe:!0}),q()],at.prototype,"itemContext",2);customElements.define("qti-printed-variable",at);var Dr=class extends x{getResult(){return this.getVariables().reduce((r,i)=>{if(i.baseType=="float"||i.baseType=="integer")try{return r*parseInt(i.value.toString())}catch(o){console.warn("can not convert to number")}else console.warn(`has another baseType ${i.baseType}`);return r},1)}};customElements.define("qti-product",Dr);var Jt=class extends x{constructor(){super(...arguments);this.caseSensitive="true"}getResult(){if(this.children.length===2){let e=this.getVariables(),r=e[0],i=e[1];if(r.cardinality!=="single"||i.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(i.value))return console.error("unexpected cardinality in qti string-match"),!1;let o=this.caseSensitive==="true"?r.value:r.value.toLowerCase(),n=this.caseSensitive==="true"?i.value:i.value.toLowerCase();return D.compareSingleValues(o,n,r.baseType)}return console.error("unexpected number of children in qti-string-match"),null}};l([d({type:String,attribute:"case-sensitive"})],Jt.prototype,"caseSensitive",2);customElements.define("qti-string-match",Jt);var Or=class extends x{constructor(){super(),this._expression=new Ir(Array.from(this.children))}getResult(){return this._expression.calculate()}},Ir=class{constructor(t){this.expressions=t}calculate(){return this.expressions.map(e=>{if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let r=e.calculate();return Number.isNaN(r)?(console.error("unexpected value in qti-sum, expected number"),null):Number(r)}).reduce((e,r)=>e+r,0)}};customElements.define("qti-sum",Or);var Ur=class extends x{getResult(){let t=this.getAttribute("identifier");return this.closest("qti-assessment-item").getVariable(t).value}};customElements.define("qti-variable",Ur);var pe=class extends k{constructor(){super(...arguments);this._errorMessage=null;this.loadConfig=async(e,r)=>{e=this.removeDoubleSlashes(e);try{let i=await fetch(e);if(i.ok){let n=await i.json();for(let a in n.paths)r&&(n.paths[a]=this.getResolvablePath(n.paths[a],r));return n}}catch(i){}return null};this.getResolvablePathString=(e,r)=>(e=e.replace(/\.js$/,""),e!=null&&e.toLocaleLowerCase().startsWith("http")||!r?e:this.removeDoubleSlashes(`${r}/${e}`));this.getResolvablePath=(e,r)=>Array.isArray(e)?e.map(i=>this.getResolvablePathString(i,r)):this.getResolvablePathString(e,r)}convertQtiVariableJSON(e){for(let r in e)if(e.hasOwnProperty(r)){let i=e[r];if(i){for(let o in i)if(i.hasOwnProperty(o)){let n=i[o];if(Array.isArray(n))return n.map(String);if(n!=null)return String(n)}}}return null}startChecking(){this.intervalId=setInterval(()=>{let e=this.pci.getResponse(),r=this.pci.getResponse(),i=JSON.stringify(e);if(i!==this.rawResponse){this.rawResponse=i;let o=this.convertQtiVariableJSON(r);this.response=o,this.saveResponse(o)}},200)}stopChecking(){this.intervalId!==void 0&&clearInterval(this.intervalId)}validate(){return!0}set response(e){}getTAOConfig(e){let r=e.querySelectorAll("properties"),i={},o=a=>{let c={},p=a.getAttribute("key");if(p){let h=Array.from(a.children),g=h.map(v=>v.getAttribute("key"));g.length>0&&!g.find(v=>!Number.isInteger(+v))?c[p]=h.map(v=>n(v)):c[p]=a.textContent}return c},n=a=>{if(a){let c={};for(let p of a.children)c=C(C({},c),o(p));return c}};for(let a of r)return a.getAttribute("key")||(i=C(C({},i),n(a))),i;return console.log("Can not find qti-custom-interaction config"),null}register(e){this.pci=e;let r=this.parentElement.tagName==="QTI-CUSTOM-INTERACTION"?"TAO":"IMS",i=r=="IMS"?this.querySelector("qti-interaction-markup"):this.querySelector("markup");i.classList.add("qti-customInteraction"),r=="TAO"&&this.querySelector("properties")&&(this.querySelector("properties").style.display="none");let o=r=="IMS"?{properties:this.dataset,onready:()=>{console.log("onready")}}:this.getTAOConfig(this);r=="IMS"?e.getInstance(i,o,void 0):e.initialize(this.customInteractionTypeIdentifier,i.firstElementChild,o),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,i.appendChild(c)}),this.startChecking()}connectedCallback(){super.connectedCallback(),define("qtiCustomInteractionContext",()=>({register:i=>{this.register(i)},notifyReady:()=>{}}));let e=this.buildRequireConfig();requirejs.config(e)(["require"],i=>{i([this.module])})}disconnectedCallback(){super.disconnectedCallback(),requirejs.undef(this.customInteractionTypeIdentifier);let e=requirejs.s.contexts;delete e[this.customInteractionTypeIdentifier],this.stopChecking()}buildRequireConfig(){let e={context:this.customInteractionTypeIdentifier,catchError:!0,paths:window.requirePaths||{},shim:window.requireShim||{}};if(!globalThis.require)return this._errorMessage="RequireJS not found. Please load it via CDN: https://cdnjs.com/libraries/require.js",null;let r=this.getAttribute("data-base-url"),i=this.querySelector("qti-interaction-modules");if(i){let o=i.querySelectorAll("qti-interaction-module");for(let n of o){let a=n.getAttribute("id"),c=n.getAttribute("primary-path"),p=n.getAttribute("fallback-path");if(a&&c){let h=p?this.combineRequireResolvePaths(this.getResolvablePath(c,r),this.getResolvablePath(p,r)):this.getResolvablePath(c,r),g=e.paths[a]||[];e.paths[a]=this.combineRequireResolvePaths(g,h)}}}return e}combineRequireResolvePaths(e,r){let i=Array.isArray(e)?e:[e],o=Array.isArray(r)?r:[r];return i.concat(o)}removeDoubleSlashes(e){return e.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")}render(){return u`<slot></slot>${this._errorMessage&&u`<div style="color:red">
|
|
247
|
+
`,l([q()],x.prototype,"result",2);var P=class extends x{calculate(){return this.result=this.getResult(),this.result}getResult(){throw new Error("Not implemented")}};var jt=class extends _s(P){calculate(){return this.calculateChildren(Array.from(this.children))}};function _s(s){return class extends s{calculateChildren(e){return e.map(i=>{let o=i;if(!o.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let n=o.calculate();if(typeof n=="string")if(n==="true")n=!0;else if(n==="false")n=!1;else return console.error("unexpected value in qti-and, expected boolean"),null;return n}).every(i=>typeof i=="boolean"&&i)}}}customElements.define("qti-and",jt);var Xt=class extends x{constructor(){super(...arguments);this.baseType="string"}getResult(){return this.textContent}};l([d({type:String,attribute:"base-type"})],Xt.prototype,"baseType",2);customElements.define("qti-base-value",Xt);var kr=class extends P{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 i=e.value,o=r.value;return i.filter(c=>o.includes(c)).length>0}else if(e.baseType==="directedPair"&&r.baseType==="directedPair"&&e.cardinality==="single"){let i=e.value;return r.value.includes(i)}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",kr);var Tr=class extends x{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",Tr);var Yt=class extends x{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],i=e[1];if(this.roundingMode===null)return null;if(r.cardinality!=="single"||i.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(i.value))return console.error("unexpected cardinality in qti equal"),!1;switch(e[0].baseType){case"integer":case"float":{let o=parseFloat(r.value),n=parseFloat(i.value);if(!isNaN(o)&&!isNaN(n))return this.roundingMode==="significantFigures"?o.toPrecision(this.figures)===n.toPrecision(this.figures):Math.round(o*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(n*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error(`value cannot be casted to numeric value in equalRounded operator: ${o}, ${n}`);break}default:{console.error("values other than float and int cannot be used in equalRounded operator.");break}}return!1}return console.error("unexpected number of children in qti-equal-rounded"),null}};l([d({type:String})],Yt.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",Yt);var N=class{static compareSingleValues(t,e,r){switch(r){case"identifier":case"string":return t===e;case"integer":{let i=parseInt(t,10),o=parseInt(e,10);if(!isNaN(i)&&!isNaN(o))return i===o;console.error(`Cannot convert ${t} and/or ${e} to int.`);break}case"float":{let i=parseFloat(t),o=parseFloat(e);if(!isNaN(i)&&!isNaN(o))return i===o;console.error(`couldn't convert ${t} and/or ${e} to float.`);break}case"pair":case"directedPair":{let i=t.split(" ").sort(),o=e.split(" ").sort();if(i.length===2&&o.length===2)return r==="pair"&&(i.sort(),o.sort()),i.join(" ")===o.join(" ");console.error(`compared two pair but one of the values does not have 2 values: 1: ${t} 2: ${e}`);break}}return!1}};var Wt=class extends x{constructor(){super(...arguments);this.toleranceMode="exact"}getResult(){if(this.children.length===2){let e=this.getVariables(),r=e[0],i=e[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):r.cardinality!=="single"||i.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(i.value)?(console.error("unexpected cardinality in qti equal"),!1):N.compareSingleValues(r.value,i.value,r.baseType)}return console.error("unexpected number of children in qti-equal"),null}};l([d({type:String})],Wt.prototype,"toleranceMode",2);customElements.define("qti-equal",Wt);var Ar=class extends x{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",Ar);var _r=class extends P{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",_r);var Sr=class extends x{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",Sr);var Rr=class extends x{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",Rr);var Mr=class extends P{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",Mr);var Kt=class extends x{getResult(){let t=this.assessmentItem.getResponse(this.identifier);if(!t)return console.warn(`Response ${this.identifier} can not be found`),null;let e=t.mapping,r=Array.isArray(t.value)?t.value:[t.value],i=0;for(let o of r){let n=e.mapEntries.find(a=>N.compareSingleValues(a.mapKey,o,t.baseType));n==null||n.mappedValue==null?i+=e.defaultValue:i+=n.mappedValue}return e.lowerBound!=null&&(i=Math.max(e.lowerBound,i)),e.upperBound!=null&&(i=Math.min(e.upperBound,i)),i}};l([d({type:String})],Kt.prototype,"identifier",2);customElements.define("qti-map-response",Kt);var Me=class extends u{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([d({attribute:"default-value",type:Number})],Me.prototype,"defaultValue",2),l([d({attribute:"lower-bound",type:Number})],Me.prototype,"lowerBound",2),l([d({attribute:"upper-bound",type:Number})],Me.prototype,"upperBound",2);customElements.define("qti-mapping",Me);var Lr=class s extends x{getResult(){if(this.children.length===2){let t=this.getVariables(),e=t[0],r=t[1];return s.match(e,r)}return console.error("unexpected number of children in match"),null}static match(t,e){var r;switch(e.cardinality){case"single":return t.value===null?!1:Array.isArray(t.value)||Array.isArray(e.value)?(console.error("unexpected cardinality in qti match"),!1):N.compareSingleValues((r=t.value)==null?void 0:r.toString(),e.value.toString(),e.baseType);case"ordered":{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;for(let i=0;i<t.value.length;i++)if(!N.compareSingleValues(e.value[i],t.value[i],e.baseType))return!1;return!0}case"multiple":{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 i=0;for(let o of e.value){let n=null,a=[...t.value];for(let c of a)if(N.compareSingleValues(o,c,e.baseType)){n=c;break}if(n!==null)a.splice(a.indexOf(n),1);else return!1;i++}return!0}default:return console.error("unexpected cardinality in qti match"),!1}}};customElements.define("qti-match",Lr);var $r=class extends x{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 i=e.value;return r.value.includes(i)}};customElements.define("qti-member",$r);var Dr=class extends x{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",Dr);var Hr=class extends x{render(){return h`${super.render()}`}getResult(){return!this.firstElementChild.calculate()}};customElements.define("qti-not",Hr);var Pr=class extends P{getResult(){return Array.from(this.children).map(e=>{let r=e;if(!r.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let i=r.calculate();if(typeof i=="string")if(i==="true")i=!0;else if(i==="false")i=!1;else return console.error("unexpected value in qti-or, expected boolean"),null;return i}).some(e=>typeof e=="boolean"&&e)}};customElements.define("qti-or",Pr);var Nr=class extends x{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",Nr);var at=class extends u{render(){var e,r;let t=(r=(e=this.itemContext)==null?void 0:e.variables.find(i=>i.identifier===this.identifier))==null?void 0:r.value;return h`${JSON.stringify(t,null,2)}`}calculate(){let t=this.closest("qti-assessment-item"),e=this.identifier;return t.getVariable(e).value}};l([d({type:String})],at.prototype,"identifier",2),l([J({context:O,subscribe:!0}),q()],at.prototype,"itemContext",2);customElements.define("qti-printed-variable",at);var Vr=class extends x{getResult(){return this.getVariables().reduce((r,i)=>{if(i.baseType=="float"||i.baseType=="integer")try{return r*parseInt(i.value.toString())}catch(o){console.warn("can not convert to number")}else console.warn(`has another baseType ${i.baseType}`);return r},1)}};customElements.define("qti-product",Vr);var Zt=class extends x{constructor(){super(...arguments);this.caseSensitive="true"}getResult(){if(this.children.length===2){let e=this.getVariables(),r=e[0],i=e[1];if(r.cardinality!=="single"||i.cardinality!=="single"||Array.isArray(r.value)||Array.isArray(i.value))return console.error("unexpected cardinality in qti string-match"),!1;let o=this.caseSensitive==="true"?r.value:r.value.toLowerCase(),n=this.caseSensitive==="true"?i.value:i.value.toLowerCase();return N.compareSingleValues(o,n,r.baseType)}return console.error("unexpected number of children in qti-string-match"),null}};l([d({type:String,attribute:"case-sensitive"})],Zt.prototype,"caseSensitive",2);customElements.define("qti-string-match",Zt);var Ir=class extends x{constructor(){super(),this._expression=new Or(Array.from(this.children))}getResult(){return this._expression.calculate()}},Or=class{constructor(t){this.expressions=t}calculate(){return this.expressions.map(e=>{if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;let r=e.calculate();return Number.isNaN(r)?(console.error("unexpected value in qti-sum, expected number"),null):Number(r)}).reduce((e,r)=>e+r,0)}};customElements.define("qti-sum",Ir);var Ur=class extends x{getResult(){let t=this.getAttribute("identifier");return this.closest("qti-assessment-item").getVariable(t).value}};customElements.define("qti-variable",Ur);var pe=class extends T{constructor(){super(...arguments);this._errorMessage=null;this.loadConfig=async(e,r)=>{e=this.removeDoubleSlashes(e);try{let i=await fetch(e);if(i.ok){let n=await i.json();for(let a in n.paths)r&&(n.paths[a]=this.getResolvablePath(n.paths[a],r));return n}}catch(i){}return null};this.getResolvablePathString=(e,r)=>(e=e.replace(/\.js$/,""),e!=null&&e.toLocaleLowerCase().startsWith("http")||!r?e:this.removeDoubleSlashes(`${r}/${e}`));this.getResolvablePath=(e,r)=>Array.isArray(e)?e.map(i=>this.getResolvablePathString(i,r)):this.getResolvablePathString(e,r)}convertQtiVariableJSON(e){for(let r in e)if(e.hasOwnProperty(r)){let i=e[r];if(i){for(let o in i)if(i.hasOwnProperty(o)){let n=i[o];if(Array.isArray(n))return n.map(String);if(n!=null)return String(n)}}}return null}startChecking(){this.intervalId=setInterval(()=>{let e=this.pci.getResponse(),r=this.pci.getResponse(),i=JSON.stringify(e);if(i!==this.rawResponse){this.rawResponse=i;let o=this.convertQtiVariableJSON(r);this.response=o,this.saveResponse(o)}},200)}stopChecking(){this.intervalId!==void 0&&clearInterval(this.intervalId)}validate(){return!0}set response(e){}getTAOConfig(e){let r=e.querySelectorAll("properties"),i={},o=a=>{let c={},p=a.getAttribute("key");if(p){let f=Array.from(a.children),g=f.map(v=>v.getAttribute("key"));g.length>0&&!g.find(v=>!Number.isInteger(+v))?c[p]=f.map(v=>n(v)):c[p]=a.textContent}return c},n=a=>{if(a){let c={};for(let p of a.children)c=C(C({},c),o(p));return c}};for(let a of r)return a.getAttribute("key")||(i=C(C({},i),n(a))),i;return console.log("Can not find qti-custom-interaction config"),null}register(e){this.pci=e;let r=this.parentElement.tagName==="QTI-CUSTOM-INTERACTION"?"TAO":"IMS",i=r=="IMS"?this.querySelector("qti-interaction-markup"):this.querySelector("markup");i.classList.add("qti-customInteraction"),r=="TAO"&&this.querySelector("properties")&&(this.querySelector("properties").style.display="none");let o=r=="IMS"?{properties:this.dataset,onready:()=>{console.log("onready")}}:this.getTAOConfig(this);r=="IMS"?e.getInstance(i,o,void 0):e.initialize(this.customInteractionTypeIdentifier,i.firstElementChild,o),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,i.appendChild(c)}),this.startChecking()}connectedCallback(){super.connectedCallback(),define("qtiCustomInteractionContext",()=>({register:i=>{this.register(i)},notifyReady:()=>{}}));let e=this.buildRequireConfig();requirejs.config(e)(["require"],i=>{i([this.module])})}disconnectedCallback(){super.disconnectedCallback(),requirejs.undef(this.customInteractionTypeIdentifier);let e=requirejs.s.contexts;delete e[this.customInteractionTypeIdentifier],this.stopChecking()}buildRequireConfig(){let e={context:this.customInteractionTypeIdentifier,catchError:!0,paths:window.requirePaths||{},shim:window.requireShim||{}};if(!globalThis.require)return this._errorMessage="RequireJS not found. Please load it via CDN: https://cdnjs.com/libraries/require.js",null;let r=this.getAttribute("data-base-url"),i=this.querySelector("qti-interaction-modules");if(i){let o=i.querySelectorAll("qti-interaction-module");for(let n of o){let a=n.getAttribute("id"),c=n.getAttribute("primary-path"),p=n.getAttribute("fallback-path");if(a&&c){let f=p?this.combineRequireResolvePaths(this.getResolvablePath(c,r),this.getResolvablePath(p,r)):this.getResolvablePath(c,r),g=e.paths[a]||[];e.paths[a]=this.combineRequireResolvePaths(g,f)}}}return e}combineRequireResolvePaths(e,r){let i=Array.isArray(e)?e:[e],o=Array.isArray(r)?r:[r];return i.concat(o)}removeDoubleSlashes(e){return e.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")}render(){return h`<slot></slot>${this._errorMessage&&h`<div style="color:red">
|
|
215
248
|
<h1>Error</h1>
|
|
216
249
|
${this._errorMessage}
|
|
217
|
-
</div>`}`}};l([d({type:String,attribute:"response-identifier"})],pe.prototype,"responseIdentifier",2),l([d({type:String,attribute:"module"})],pe.prototype,"module",2),l([d({type:String,attribute:"custom-interaction-type-identifier"})],pe.prototype,"customInteractionTypeIdentifier",2),l([q()],pe.prototype,"_errorMessage",2),pe=l([m("qti-portable-custom-interaction")],pe);var Zt=class s{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=1;this._ORGOPACITY=.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 i of r)this._dragCopy.style[i]=r.getPropertyValue(i);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 i=this._findDroppable(t);i!=this._lastTarget&&(this._dispatchEvent(i,"dragenter"),this._dispatchEvent(this._lastTarget,"dragleave"),this._lastTarget=i),this._currentDropContainer=i,this._currentDropContainer&&this._dispatchEvent(i,"dragover")}};return s._instance?s._instance:(s._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 i={clientX:e,clientY:r};this._dragRunning=!0,this._createDragCopy(t,i)}t.preventDefault()}_touchMove(t){if(this._canDrag&&this._dragSrc){let{x:e,y:r}=this._getPoint(t),i={clientX:e,clientY:r};this._getDelta(i)>=this._DRAGDELTA&&(this._dragRunning=!0),this._createDragCopy(t,i),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),r=new Set;return this.getElementWithDropzone(document,e.x,e.y,r)}getElementWithDropzone(t,e,r,i){let o=t.elementFromPoint(e,r);if(o){if(i.has(o))return null;if(i.add(o),o.hasAttribute("dropzone"))return o;if(o.shadowRoot){let n=this.getElementWithDropzone(o.shadowRoot,e,r,i);if(n)return n}return o}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 i=new CustomEvent(e,{bubbles:r,cancelable:!0});return i.dataTransfer=this._dataTransfer,t.dispatchEvent(i),i.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 Di=(s,t,e)=>{class r extends s{constructor(){super(...arguments);this.disabled=!1}firstUpdated(n){if(this.classList.contains("qti-match-tabular"))return;super.firstUpdated(n);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(p=>{p.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(n){n.addEventListener("dragover",this.dragoverHandler),n.addEventListener("dragenter",this.dragenterHandler),n.addEventListener("drop",this.dropHandler)}removeHandler(n){n.removeEventListener("dragover",this.dragoverHandler),n.removeEventListener("dragenter",this.dragenterHandler),n.removeEventListener("drop",this.dropHandler)}disconnectedCallback(){var n;this.classList.contains("qti-match-tabular")||(super.disconnectedCallback(),(n=this.observer)==null||n.disconnect())}dragenterHandler(n){n.preventDefault()}dragoverHandler(n){return n.preventDefault(),n.currentTarget.setAttribute("active",""),n.dataTransfer.dropEffect="move",!1}dropHandler(n){n.preventDefault();let a=n.currentTarget,c=this.querySelector(`[identifier=${n.dataTransfer.getData("text")}`),p=c||this.shadowRoot.querySelector(`[identifier=${n.dataTransfer.getData("text")}`);return a?p.parentElement.getAttribute("identifier")!==a.getAttribute("identifier")&&a.appendChild(p):console.error(`cannot find droppable, target: ${n.target?JSON.stringify(n.target):"null"}`),a.removeAttribute("active"),!1}dragleaveHandler(n){return n.preventDefault(),n.currentTarget.removeAttribute("active"),n.dataTransfer.dropEffect="none",!1}}return l([d({type:Boolean,reflect:!0})],r.prototype,"disabled",2),r};var Oi=(s,t,e)=>{class r extends s{}return r};var W=(s,t,e,r)=>{class i extends Oi(Di(s,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;this.handleDragStart=a=>{a.dataTransfer.setData("text",a.currentTarget.getAttribute("identifier")),a.currentTarget.setAttribute("dragging",""),this.droppables.forEach(c=>c.setAttribute("enabled",""))};this.handleDragEnd=a=>{a.preventDefault(),this.droppables.forEach(p=>p.removeAttribute("enabled"));let c=a.currentTarget;c.removeAttribute("over"),c.removeAttribute("dragging"),(a.dataTransfer.dropEffect==="none"||a.dataTransfer.dropEffect===void 0)&&this.configuration.dragCanBePlacedBack&&this.placeDraggableBack(c),a.dataTransfer.dropEffect==="move"&&(this.saveResponse(),this.checkMaxMatchAssociations())}}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",this.handleDragStart),h.addEventListener("dragend",this.handleDragEnd)}))}handleDragOptionsChanged(a,c){this.dragDropApi.copyStylesDragClone=c.copyStylesDragClone,this.dragDropApi.dragOnClick=c.dragOnClick}handleDisabledChange(a,c){this.draggables.forEach((p,h)=>{c?h.setAttribute("disabled",""):h.removeAttribute("disabled"),c?h.removeAttribute("qti-draggable"):h.setAttribute("qti-draggable","true")})}handleReadonlyChange(a,c){this.draggables.forEach((p,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 Zt,this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,detail:this}))}placeDraggableBack(a){let c=this.draggables.get(a),p=c.index<=c.parent.children.length?c.index:c.parent.children.length-1,h=c.parent,g=c.parent.children[p];h.insertBefore(a,g),this.saveResponse(),this.checkMaxMatchAssociations()}reset(a=!0){this.draggables.forEach((c,p)=>{let h=c.parent.children,g=c.index<h.length?c.index:h.length;c.parent.insertBefore(p,h[g])}),a&&this.saveResponse()}checkMaxMatchAssociations(){this.droppables.forEach(a=>{let p=+(a.getAttribute("match-max")||1)<=(a.querySelectorAll('[qti-draggable="true"]').length||0);p?a.setAttribute("disabled",""):a.removeAttribute("disabled"),p?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[p,...h]=c.split(" ").reverse();if(p){let g=this.droppables.find(y=>y.getAttribute("identifier")===p);h.forEach(y=>{let v=this.querySelector(`[identifier=${y}]`);g?v?(g.appendChild(v),this.checkMaxMatchAssociations()):console.error(`cannot find draggable with identifier: ${y}`):console.error(`cannot find droppable with identifier: ${p}`)})}}))}validate(){let c=(e?Array.from(this.shadowRoot.querySelectorAll(r)):Array.from(this.querySelectorAll(r))).filter(p=>p.childElementCount>0).length;return this.minAssociations<=0||this.minAssociations<=c}saveResponse(){let a;typeof this.getResponse=="function"?a=this.getResponse():a=this.droppables.map(c=>{let p=c.querySelectorAll('[qti-draggable="true"]'),h=Array.from(p).map(y=>y.getAttribute("identifier")),g=c.getAttribute("identifier");return[...h,g].join(" ")}),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:a}}))}}return l([Mi(t)],i.prototype,"reInitDragAndDrop",1),l([d({type:String,attribute:"response-identifier"})],i.prototype,"responseIdentifier",2),l([d({attribute:!1,type:Object})],i.prototype,"configuration",2),l([A("configuration")],i.prototype,"handleDragOptionsChanged",1),l([d({type:Boolean,reflect:!0})],i.prototype,"disabled",2),l([A("disabled",{waitUntilFirstUpdate:!0})],i.prototype,"handleDisabledChange",1),l([d({type:Boolean,reflect:!0})],i.prototype,"readonly",2),l([A("readonly",{waitUntilFirstUpdate:!0})],i.prototype,"handleReadonlyChange",1),l([d({type:Number,reflect:!0,attribute:"min-associations"})],i.prototype,"minAssociations",2),l([d({type:Number,reflect:!0,attribute:"max-associations"})],i.prototype,"maxAssociations",2),i};var Me=class extends W(f,"qti-simple-associable-choice",!0,".dl"){render(){return u` <slot name="prompt"></slot>
|
|
250
|
+
</div>`}`}};l([d({type:String,attribute:"response-identifier"})],pe.prototype,"responseIdentifier",2),l([d({type:String,attribute:"module"})],pe.prototype,"module",2),l([d({type:String,attribute:"custom-interaction-type-identifier"})],pe.prototype,"customInteractionTypeIdentifier",2),l([q()],pe.prototype,"_errorMessage",2),pe=l([m("qti-portable-custom-interaction")],pe);var Jt=class s{constructor(){this.touchStartTime=0;this.touchStartPoint=null;this.lastClickTime=0;this.isDraggable=!1;this.dragSource=null;this.dragClone=null;this.touchEndTriggered=!1;this.isDragging=!1;this.initialTransform="";this.hasDispatchedDragStart=!1;this.rootNode=null;this.focusedElement=null;this.focusableDropZones=[];this.currentDropZoneIndex=-1;this.dataTransfer={data:{},setData(t,e){this.data[t]=e},getData(t){return this.data[t]},effectAllowed:"move"};this.cloneOffset={x:0,y:0};this.lastTarget=null;this.currentDropTarget=null;this.allowClick=!0;this.copyStylesForDragClone=!0;this.dragOnClickEnabled=!1;this.useDragClone=!1;this.MIN_DRAG_DISTANCE=5;this.DRAG_CLONE_OPACITY=1;if(s.instance)return s.instance;s.instance=this,document.addEventListener("touchmove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("mousemove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("touchend",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("mouseup",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("touchcancel",this.handleTouchCancel.bind(this),{passive:!1}),document.addEventListener("keydown",this.handleKeyDown.bind(this)),document.addEventListener("keyup",this.handleKeyUp.bind(this))}addDraggableElements(t){t.forEach(e=>{e.setAttribute("tabindex","0"),e.addEventListener("focus",()=>this.focusedElement=e),e.addEventListener("blur",()=>this.focusedElement=null),e.addEventListener("touchstart",this.handleTouchStart.bind(this),{passive:!1}),e.addEventListener("mousedown",this.handleTouchStart.bind(this),{passive:!1})})}handleTouchStart(t){this.touchStartTime=Date.now();let{x:e,y:r}=this.getEventCoordinates(t);if(this.touchStartPoint={x:e,y:r},this.dragSource=t.currentTarget,this.isDraggable=!0,this.rootNode=this.dragSource.getRootNode(),this.dragOnClickEnabled&&(this.isDragging=!0,this.createDragClone(t,{clientX:e,clientY:r})),!this.useDragClone){let i=window.getComputedStyle(this.dragSource);this.initialTransform=i.transform==="none"?"":i.transform,this.initialTransition=i.transition||"",this.dragSource.style.transition="none";let o=this.dragSource.getBoundingClientRect();this.cloneOffset.x=e-o.left,this.cloneOffset.y=r-o.top,this.dragSource.style.zIndex="9999",this.dragSource.focus()}t.preventDefault()}handleTouchMove(t){if(this.isDraggable&&this.dragSource){let{x:e,y:r}=this.getEventCoordinates(t),i={clientX:e,clientY:r};this.calculateDragDistance(i)>=this.MIN_DRAG_DISTANCE&&(this.dragSource.style.pointerEvents="none",this.isDragging=!0),this.createDragClone(t,i),t.preventDefault()}}createDragClone(t,e){if(!this.isDragging)return;if(this.useDragClone){if(!this.dragClone){if(this.dragSource.style.opacity=this.DRAG_CLONE_OPACITY.toString(),this.dragClone=this.dragSource.cloneNode(!0),this.copyStylesForDragClone){let i=window.getComputedStyle(this.dragSource);for(let o of i)this.dragClone.style[o]=i.getPropertyValue(o)}this.rootNode instanceof ShadowRoot?this.rootNode.host.appendChild(this.dragClone):this.rootNode instanceof Document&&document.body.appendChild(this.dragClone),this.calculateClonePosition(e),this.setDragCloneStyles(e),this.dispatchCustomEvent(this.dragSource,"dragstart")}this.updateDragClonePosition(e)}else if(this.touchStartPoint){let i=e.clientX-this.touchStartPoint.x,o=e.clientY-this.touchStartPoint.y;this.dragSource.style.transform=`${this.initialTransform} translate(${i}px, ${o}px)`,this.hasDispatchedDragStart||(this.dispatchCustomEvent(this.dragSource,"dragstart"),this.hasDispatchedDragStart=!0)}let r=this.findDropTarget(t);r!==this.lastTarget&&(this.dispatchCustomEvent(r,"dragenter"),this.dispatchCustomEvent(this.lastTarget,"dragleave"),this.lastTarget=r),this.currentDropTarget=r,this.currentDropTarget&&this.dispatchCustomEvent(r,"dragover")}handleTouchEnd(t){var r;this.touchEndTriggered=!0,this.isDraggable=!1;let e=!1;if(this.currentDropTarget)this.dispatchCustomEvent(this.currentDropTarget,"drop"),this.dispatchCustomEvent(this.dragSource,"dragend"),e=!0;else if(this.isDragging){let i=new CustomEvent("dragend",{bubbles:!0,cancelable:!0});i.dataTransfer={dropEffect:"none"},(r=this.dragSource)==null||r.dispatchEvent(i)}this.resetDragState(e)}handleTouchCancel(t){this.resetDragState()}findDropTarget(t){let{x:e,y:r}=this.getEventCoordinates(t);return this.getDropTargetAtPoint(document,e,r)}getDropTargetAtPoint(t,e,r,i=0){if(i>2)return null;let n=t.elementFromPoint(e,r);if(!n)return null;if(n.hasAttribute("dropzone"))return n;let a=n.parentElement;for(;a;){if(a.hasAttribute("dropzone"))return a;a=a.parentElement}if(n.shadowRoot&&i<2){let c=this.getDropTargetAtPoint(n.shadowRoot,e,r,i+1);if(c)return c}return null}handleKeyDown(t){this.focusedElement&&(t.key===" "&&!this.isDragging?(t.preventDefault(),this.isDraggable=!0,this.dragSource=this.focusedElement,this.isDragging=!0,this.collectDropZones(),this.dispatchCustomEvent(this.dragSource,"dragstart")):t.key==="Tab"&&this.isDragging&&(t.preventDefault(),this.moveToNextDropZone()))}handleKeyUp(t){t.key===" "&&this.isDragging&&this.currentDropTarget&&(t.preventDefault(),this.dispatchCustomEvent(this.currentDropTarget,"drop"),this.dispatchCustomEvent(this.dragSource,"dragend"),this.resetDragState(!0))}collectDropZones(){this.focusableDropZones=Array.from(document.querySelectorAll("[dropzone]")),this.currentDropZoneIndex=-1}moveToNextDropZone(){if(this.focusableDropZones.length===0)return;this.currentDropZoneIndex=(this.currentDropZoneIndex+1)%this.focusableDropZones.length;let t=this.focusableDropZones[this.currentDropZoneIndex];t.focus(),this.currentDropTarget=t,this.dispatchCustomEvent(t,"dragenter")}getEventCoordinates(t,e=!1){let r=t.touches?t.touches[0]:t;return{x:e?r.pageX:r.clientX,y:e?r.pageY:r.clientY}}calculateClonePosition(t){let e=this.dragSource.getBoundingClientRect();this.cloneOffset.x=t.clientX-e.left,this.cloneOffset.y=t.clientY-e.top}setDragCloneStyles(t){this.dragClone.style.position="fixed",this.dragClone.style.top=`${t.clientY-this.cloneOffset.y}px`,this.dragClone.style.left=`${t.clientX-this.cloneOffset.x}px`,this.dragClone.style.pointerEvents="none",this.dragClone.style.zIndex="999999"}updateDragClonePosition(t){requestAnimationFrame(()=>{if(this.touchEndTriggered||!this.dragClone)return;let e=t.clientX-this.cloneOffset.x,r=t.clientY-this.cloneOffset.y,{newLeft:i,newTop:o}=this.applyBoundaries(e,r,this.dragClone);this.dragClone.style.left=`${i}px`,this.dragClone.style.top=`${o}px`})}applyTransformBoundaries(t,e){let r;this.rootNode instanceof ShadowRoot?r=this.rootNode.host.getBoundingClientRect():this.rootNode instanceof Document?r=document.documentElement.getBoundingClientRect():r=new DOMRect(0,0,window.innerWidth,window.innerHeight);let i=this.dragSource.getBoundingClientRect(),o=i.width,n=i.height,a=i.left+t,c=i.top+e,p=Math.max(r.left,Math.min(a,r.right-o)),f=Math.max(r.top,Math.min(c,r.bottom-n)),g=p-i.left,y=f-i.top;return{boundedDeltaX:g,boundedDeltaY:y}}applyBoundaries(t,e,r){let i;this.rootNode instanceof ShadowRoot?i=this.rootNode.host.getBoundingClientRect():this.rootNode instanceof Document?i=document.documentElement.getBoundingClientRect():i=new DOMRect(0,0,window.innerWidth,window.innerHeight);let o=r.getBoundingClientRect(),n=o.width,a=o.height,c=Math.max(i.left,Math.min(t,i.right-n)),p=Math.max(i.top,Math.min(e,i.bottom-a));return{newLeft:c,newTop:p}}calculateDragDistance(t){let e=Math.abs(t.clientX-this.touchStartPoint.x),r=Math.abs(t.clientY-this.touchStartPoint.y);return e+r}dispatchCustomEvent(t,e,r=!0){if(!t)return;let i=new CustomEvent(e,{bubbles:r,cancelable:!0});i.dataTransfer=this.dataTransfer,t.dispatchEvent(i)}resetDragState(t=!1){var e;this.isDragging&&(this.useDragClone?(this.dragSource.style.opacity="1.0",(e=this.dragClone)==null||e.parentElement.removeChild(this.dragClone)):(t||(this.dragSource.style.transform="translate(0, 0)"),this.dragSource.style.zIndex="",this.dragSource.style.pointerEvents="",this.dragSource.style.transition=this.initialTransition,this.initialTransition="")),this.isDragging=!1,this.dragSource=null,this.dragClone=null,this.isDraggable=!1,this.touchStartTime=0,this.touchStartPoint=null,this.touchEndTriggered=!1,this.dataTransfer={data:{},setData(r,i){this.data[r]=i},getData(r){return this.data[r]},effectAllowed:"move"},this.cloneOffset={x:0,y:0},this.lastTarget=null,this.currentDropTarget=null,this.allowClick=!0,this.initialTransform="",this.hasDispatchedDragStart=!1,this.rootNode=null}};var Ii=(s,t,e)=>{class r extends s{constructor(){super(...arguments);this.disabled=!1}firstUpdated(n){if(this.isMatchTabular())return;super.firstUpdated(n);let a=this.getDroppableElements();this.initializeEventHandlers(),a.forEach(c=>{this.prepareDroppable(c),this.observeDroppableAttributes(c)})}isMatchTabular(){return this.classList.contains("qti-match-tabular")}getDroppableElements(){return Array.from(t?this.shadowRoot.querySelectorAll(e):this.querySelectorAll(e))}initializeEventHandlers(){this.dragoverHandler=this.dragoverHandler.bind(this),this.dragleaveHandler=this.dragleaveHandler.bind(this),this.dragenterHandler=this.dragenterHandler.bind(this),this.dropHandler=this.dropHandler.bind(this)}prepareDroppable(n){n.setAttribute("dropzone","move"),n.addEventListener("dragleave",this.dragleaveHandler),this.attachEventListeners(n)}observeDroppableAttributes(n){this.observer=new MutationObserver(a=>{a.forEach(({attributeName:c})=>{c==="disabled"&&this.toggleDroppableHandlers(n)})}),this.observer.observe(n,{attributes:!0})}toggleDroppableHandlers(n){n.hasAttribute("disabled")?this.removeEventListeners(n):this.attachEventListeners(n)}attachEventListeners(n){n.addEventListener("dragover",this.dragoverHandler),n.addEventListener("dragenter",this.dragenterHandler),n.addEventListener("drop",this.dropHandler)}removeEventListeners(n){n.removeEventListener("dragover",this.dragoverHandler),n.removeEventListener("dragenter",this.dragenterHandler),n.removeEventListener("drop",this.dropHandler)}disconnectedCallback(){var n;this.isMatchTabular()||(super.disconnectedCallback(),(n=this.observer)==null||n.disconnect())}dragenterHandler(n){n.preventDefault()}dragoverHandler(n){return n.preventDefault(),this.activateDroppable(n.currentTarget),n.dataTransfer.dropEffect="move",!1}activateDroppable(n){n.setAttribute("active","")}async dropHandler(n){n.preventDefault();let a=n.currentTarget,c=this.findDraggable(n.dataTransfer.getData("text"));return!c||!this.isValidDrop(a,c)?(c.style.transform="translate(0, 0)",!1):(await this.moveDraggableToDroppable(c,a),this.deactivateDroppable(a),!1)}findDraggable(n){return this.querySelector(`[identifier=${n}]`)||this.shadowRoot.querySelector(`[identifier=${n}]`)}isValidDrop(n,a){return a.parentElement.getAttribute("identifier")!==n.getAttribute("identifier")}async moveDraggableToDroppable(n,a){let c=()=>{n.style.transform="translate(0, 0)",a.appendChild(n),this.checkMaxAssociations()};if(!document.startViewTransition){c();return}await document.startViewTransition(c).finished}deactivateDroppable(n){n.removeAttribute("active")}dragleaveHandler(n){return n.preventDefault(),this.deactivateDroppable(n.currentTarget),n.dataTransfer.dropEffect="none",!1}}return l([d({type:Boolean,reflect:!0})],r.prototype,"disabled",2),r};var Oi=(s,t,e)=>{class r extends s{}return r};var W=(s,t,e,r)=>{class i extends Oi(Ii(s,e,r),r,t){constructor(){super(...arguments);this.draggables=new Map;this.droppables=[];this.responseIdentifier="";this.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};this.disabled=!1;this.readonly=!1;this.minAssociations=1;this.maxAssociations=1;this.handleDragStart=a=>{let c=a.currentTarget;a.dataTransfer.setData("text",c.getAttribute("identifier")),c.setAttribute("dragging",""),this.activateDroppables()};this.handleDragEnd=a=>{a.preventDefault(),this.deactivateDroppables();let c=a.currentTarget;c.removeAttribute("dragging"),this.wasDropped(a)||this.configuration.dragCanBePlacedBack&&this.restoreInitialDraggablePosition(c),this.wasMoved(a)&&this.saveResponse()}}handleDraggablesChange(a,c){if(this.isMatchTabular())return;let p=this.filterExistingDraggables(a);p.length>0&&this.addNewDraggables(p)}firstUpdated(a){super.firstUpdated(a),this.initializeDroppables()}connectedCallback(){super.connectedCallback(),this.initializeDragDropApi()}initializeDragDropApi(){this.dragDropApi=new Jt,this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,detail:this}))}isMatchTabular(){return this.classList.contains("qti-match-tabular")}filterExistingDraggables(a){return a.filter(c=>!this.draggables.has(c))}addNewDraggables(a){this.dragDropApi.addDraggableElements(a),a.forEach(c=>this.storeDraggable(c))}storeDraggable(a){let c=Array.from(a.parentNode.children).indexOf(a);this.draggables.set(a,{parent:a.parentElement,index:c}),a.style.viewTransitionName=`drag-${c}-${this.getAttribute("identifier")}`,a.setAttribute("qti-draggable","true"),a.addEventListener("dragstart",this.handleDragStart),a.addEventListener("dragend",this.handleDragEnd)}initializeDroppables(){this.droppables=Array.from(e?this.shadowRoot.querySelectorAll(r):this.querySelectorAll(r))}activateDroppables(){this.droppables.forEach(a=>a.setAttribute("enabled",""))}deactivateDroppables(){this.droppables.forEach(a=>a.removeAttribute("enabled"))}wasDropped(a){return a.dataTransfer.dropEffect!=="none"}wasMoved(a){return a.dataTransfer.dropEffect==="move"}async restoreInitialDraggablePosition(a){let{parent:c,index:p}=this.draggables.get(a),f=Math.min(p,c.children.length),g=(v,w,k)=>{let A=Math.min(k,w.children.length);w.insertBefore(v,w.children[A]),v.style.transform="translate(0, 0)",this.checkMaxAssociations(),this.saveResponse()};if(!document.startViewTransition){g(a,c,p);return}let y=document.startViewTransition(()=>{a.style.transform="",g(a,c,p)})}checkMaxAssociations(){this.droppables.forEach((a,c)=>{let p=+(a.getAttribute("match-max")||1);a.querySelectorAll('[qti-draggable="true"]').length>=p?this.disableDroppable(a):this.enableDroppable(a)})}disableDroppable(a){a.setAttribute("disabled",""),a.removeAttribute("dropzone")}enableDroppable(a){a.removeAttribute("disabled"),a.setAttribute("dropzone","move")}set response(a){this.isMatchTabular()||(this.resetDroppables(),a==null||a.forEach(c=>this.placeResponse(c)))}placeResponse(a){let[c,...p]=a.split(" ").reverse(),f=this.findDroppableById(c);p.forEach(g=>this.placeDraggableInDroppable(g,f))}findDroppableById(a){return this.droppables.find(c=>c.getAttribute("identifier")===a)}async placeDraggableInDroppable(a,c){let p=this.querySelector(`[identifier=${a}]`);if(!c||!p){console.error(`Cannot find draggable or droppable with the given identifier: ${a}`);return}let f=()=>{p.style.transform="translate(0, 0)",c.appendChild(p),this.checkMaxAssociations()};document.startViewTransition?await document.startViewTransition(f).finished:f()}validate(){let a=this.getValidAssociations();return this.minAssociations<=0||this.minAssociations<=a}getValidAssociations(){return this.droppables.filter(a=>a.childElementCount>0).length}saveResponse(){let a=this.collectResponseData();this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:a}}))}collectResponseData(){return this.droppables.map(a=>{let c=a.querySelectorAll('[qti-draggable="true"]'),p=Array.from(c).map(g=>g.getAttribute("identifier")),f=a.getAttribute("identifier");return[...p,f].join(" ")})}reset(a=!0){this.resetDroppables(),a&&this.saveResponse()}async resetDroppables(){let a=(p,f,g)=>{p.style.transform="translate(0, 0)";let y=Math.min(g,f.children.length);f.insertBefore(p,f.children[y])};if(!document.startViewTransition){this.draggables.forEach(({parent:p,index:f},g)=>{a(g,p,f)});return}await document.startViewTransition(()=>{this.draggables.forEach(({parent:p,index:f},g)=>{a(g,p,f)})}).finished}}return l([d({type:String,attribute:"response-identifier"})],i.prototype,"responseIdentifier",2),l([d({attribute:!1,type:Object})],i.prototype,"configuration",2),l([d({type:Boolean,reflect:!0})],i.prototype,"disabled",2),l([d({type:Boolean,reflect:!0})],i.prototype,"readonly",2),l([d({type:Number,reflect:!0,attribute:"min-associations"})],i.prototype,"minAssociations",2),l([d({type:Number,reflect:!0,attribute:"max-associations"})],i.prototype,"maxAssociations",2),l([$i(t)],i.prototype,"handleDraggablesChange",1),i};var Ui=b`
|
|
251
|
+
:host {
|
|
252
|
+
display: block; /* necessary to calculate scaling position */
|
|
253
|
+
}
|
|
254
|
+
slot[name='qti-simple-associable-choice'] {
|
|
255
|
+
display: flex;
|
|
256
|
+
flex-wrap: wrap;
|
|
257
|
+
gap: 0.5rem;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
:host::part(associables-container) {
|
|
261
|
+
display: flex;
|
|
262
|
+
justify-content: space-between;
|
|
263
|
+
background: linear-gradient(
|
|
264
|
+
180deg,
|
|
265
|
+
rgb(0 0 0 / 0%) calc(50% - 1px),
|
|
266
|
+
var(--qti-border-color-gray) calc(50%),
|
|
267
|
+
rgb(0 0 0 / 0%) calc(50% + 1px)
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
`;var Le=class extends W(u,"qti-simple-associable-choice",!0,".dl"){constructor(){super();this._childrenMap=[];this.addEventListener("register-qti-simple-associable-choice",e=>{let r=e.target;this._childrenMap.push(r)})}render(){return h` <slot name="prompt"></slot>
|
|
218
271
|
<slot name="qti-simple-associable-choice"></slot>
|
|
219
272
|
<div part="drop-container">
|
|
220
|
-
${this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map((
|
|
221
|
-
<div name="left${
|
|
222
|
-
<div name="right${
|
|
273
|
+
${this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map((e,r)=>h`<div part="associables-container">
|
|
274
|
+
<div name="left${r}" part="drop-list" class="dl" identifier="droplist${r}_left"></div>
|
|
275
|
+
<div name="right${r}" part="drop-list" class="dl" identifier="droplist${r}_right"></div>
|
|
223
276
|
</div>`)}
|
|
224
|
-
</div>`}connectedCallback(){super.connectedCallback()
|
|
225
|
-
:host {
|
|
226
|
-
display: block; /* necessary to calculate scaling position */
|
|
227
|
-
}
|
|
228
|
-
slot[name='qti-simple-associable-choice'] {
|
|
229
|
-
display: flex;
|
|
230
|
-
flex-wrap: wrap;
|
|
231
|
-
gap: 0.5rem;
|
|
232
|
-
}
|
|
233
|
-
`,l([q()],Me.prototype,"_childrenMap",2),Me=l([m("qti-associate-interaction")],Me);var K=class extends k{constructor(){super();this._errorMessage=null;this.handlePostMessage=this.handlePostMessage.bind(this)}connectedCallback(){super.connectedCallback();let e=this.data.startsWith("http")?this.data:Ge(this.baseItemUrl+"/"+this.data);fetch(e).then(r=>r.json()).then(r=>{this.manifest=r,this.setupCES()}).catch(r=>{this._errorMessage=r})}setupCES(){let e=this.shadowRoot.querySelector("#pciContainer"),r=e.contentWindow||e,i=e.contentDocument;window.addEventListener("message",this.handlePostMessage),i.open(),i.write(`
|
|
277
|
+
</div>`}};Le.styles=Ui,l([q()],Le.prototype,"_childrenMap",2),Le=l([m("qti-associate-interaction")],Le);var K=class extends T{constructor(){super();this._errorMessage=null;this.handlePostMessage=this.handlePostMessage.bind(this)}connectedCallback(){super.connectedCallback();let e=this.data.startsWith("http")?this.data:Ge(this.baseItemUrl+"/"+this.data);fetch(e).then(r=>r.json()).then(r=>{this.manifest=r,this.setupCES()}).catch(r=>{this._errorMessage=r})}setupCES(){let e=this.shadowRoot.querySelector("#pciContainer"),r=e.contentWindow||e,i=e.contentDocument;window.addEventListener("message",this.handlePostMessage),i.open(),i.write(`
|
|
234
278
|
<html>
|
|
235
279
|
<head>
|
|
236
280
|
<link href='${Ge(`${this.baseRefUrl}/${this.manifest.style[0]}`)}' rel="stylesheet" />
|
|
@@ -238,7 +282,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
238
282
|
</head>
|
|
239
283
|
<body></body>
|
|
240
284
|
</html>
|
|
241
|
-
`),i.close()}getIFrames(){let e=this.shadowRoot.querySelectorAll("iframe"),r=this.querySelectorAll("iframe"),i=[...e,...r];for(let o of i){let n=o.src;if(new URL(n,window.location.href).origin===window.location.origin)try{let c=o.contentDocument||o.contentWindow.document;c&&this.getInnerIFrames(c,i)}catch(c){console.error("Error accessing nested iframe:",c)}}return i.forEach((o,n)=>{i.indexOf(o)!==n&&i.splice(n,1)}),i}getInnerIFrames(e,r=[]){return e.querySelectorAll("iframe").forEach(o=>{r.push(o);let n=o.src;if(new URL(n,window.location.href).origin===window.location.origin)try{let c=o.contentDocument||o.contentWindow.document;this.getInnerIFrames(c,r)}catch(c){console.error("Error accessing nested iframe:",c)}else console.warn("Skipped cross-origin iframe:",n)}),r}postToWindowAndIframes(e,r){window.postMessage({type:e,data:r},"*");let i=this.getIFrames();for(let o of i)o.contentWindow&&o.contentWindow.postMessage({type:e,data:r},"*")}handlePostMessage(e){let{type:r,data:i}=e.data;switch(r){case"setResponse":this.rawResponse=i,this.saveResponse(i);break;case"getResponse":{this.postToWindowAndIframes("responseData",this.rawResponse);break}case"getMedia":{let o=this.manifest.media.map(n=>n.startsWith("http")?n:Ge(this.baseRefUrl+"/"+n));this.postToWindowAndIframes("mediaData",o);break}case"setStageHeight":console.log("setStageHeight not implemented");break}}validate(){return this.rawResponse!==""}set response(e){this.rawResponse=e}disconnectedCallback(){window.removeEventListener("message",this.handlePostMessage),super.disconnectedCallback()}render(){return
|
|
285
|
+
`),i.close()}getIFrames(){let e=this.shadowRoot.querySelectorAll("iframe"),r=this.querySelectorAll("iframe"),i=[...e,...r];for(let o of i){let n=o.src;if(new URL(n,window.location.href).origin===window.location.origin)try{let c=o.contentDocument||o.contentWindow.document;c&&this.getInnerIFrames(c,i)}catch(c){console.error("Error accessing nested iframe:",c)}}return i.forEach((o,n)=>{i.indexOf(o)!==n&&i.splice(n,1)}),i}getInnerIFrames(e,r=[]){return e.querySelectorAll("iframe").forEach(o=>{r.push(o);let n=o.src;if(new URL(n,window.location.href).origin===window.location.origin)try{let c=o.contentDocument||o.contentWindow.document;this.getInnerIFrames(c,r)}catch(c){console.error("Error accessing nested iframe:",c)}else console.warn("Skipped cross-origin iframe:",n)}),r}postToWindowAndIframes(e,r){window.postMessage({type:e,data:r},"*");let i=this.getIFrames();for(let o of i)o.contentWindow&&o.contentWindow.postMessage({type:e,data:r},"*")}handlePostMessage(e){let{type:r,data:i}=e.data;switch(r){case"setResponse":this.rawResponse=i,this.saveResponse(i);break;case"getResponse":{this.postToWindowAndIframes("responseData",this.rawResponse);break}case"getMedia":{let o=this.manifest.media.map(n=>n.startsWith("http")?n:Ge(this.baseRefUrl+"/"+n));this.postToWindowAndIframes("mediaData",o);break}case"setStageHeight":console.log("setStageHeight not implemented");break}}validate(){return this.rawResponse!==""}set response(e){this.rawResponse=e}disconnectedCallback(){window.removeEventListener("message",this.handlePostMessage),super.disconnectedCallback()}render(){return h`<iframe
|
|
242
286
|
width=${this.getAttribute("width")}
|
|
243
287
|
height=${this.getAttribute("height")}
|
|
244
288
|
frameborder="0"
|
|
@@ -246,11 +290,10 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
246
290
|
id="pciContainer"
|
|
247
291
|
>
|
|
248
292
|
</iframe>
|
|
249
|
-
${this._errorMessage&&
|
|
293
|
+
${this._errorMessage&&h`<div style="color:red">
|
|
250
294
|
<h1>Error</h1>
|
|
251
295
|
${this._errorMessage}
|
|
252
|
-
</div>`}`}};l([d({type:String,attribute:"response-identifier"})],K.prototype,"responseIdentifier",2),l([d({type:String,attribute:"data"})],K.prototype,"data",2),l([d({type:String,attribute:"data-base-item"})],K.prototype,"baseItemUrl",2),l([d({type:String,attribute:"data-base-ref"})],K.prototype,"baseRefUrl",2),l([d({type:String,attribute:"id"})],K.prototype,"id",2),l([q()],K.prototype,"_errorMessage",2),K=l([m("qti-custom-interaction")],K);var
|
|
253
|
-
<slot part="drops"></slot>`}set correctResponse(t){let e=[],r=Array.isArray(t)?t:[t];r&&(e=r.map(o=>{let n=o.split(" ");return{text:n[0],gap:n[1]}})),this.querySelectorAll("qti-gap").forEach((o,n)=>{var h,g,y,v;let a=o.getAttribute("identifier"),c=(h=e.find(w=>w.gap===a))==null?void 0:h.text,p=(g=this.querySelector(`qti-gap-text[identifier="${c}"]`))==null?void 0:g.textContent.trim();if(c&&p){if(!((y=o.nextElementSibling)!=null&&y.classList.contains("correct-option"))){let w=document.createElement("span");w.classList.add("correct-option"),w.textContent=p,o.insertAdjacentElement("afterend",w)}}else(v=o.nextElementSibling)!=null&&v.classList.contains("correct-option")&&o.nextElementSibling.remove()})}};lt.styles=[b`
|
|
296
|
+
</div>`}`}};l([d({type:String,attribute:"response-identifier"})],K.prototype,"responseIdentifier",2),l([d({type:String,attribute:"data"})],K.prototype,"data",2),l([d({type:String,attribute:"data-base-item"})],K.prototype,"baseItemUrl",2),l([d({type:String,attribute:"data-base-ref"})],K.prototype,"baseRefUrl",2),l([d({type:String,attribute:"id"})],K.prototype,"id",2),l([q()],K.prototype,"_errorMessage",2),K=l([m("qti-custom-interaction")],K);var $e=class extends T{constructor(){super(...arguments);this.countAttempt="true"}validate(){return!0}set response(e){}render(){return h`<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([d({type:String,attribute:"count-attempt"})],$e.prototype,"countAttempt",2),l([d({type:String})],$e.prototype,"title",2),$e=l([m("qti-end-attempt-interaction")],$e);var lt=class extends W(u,"qti-gap-text",!1,"qti-gap"){render(){return h`<slot name="prompt"> </slot><slot part="drags" name="qti-gap-text"></slot> <slot part="drops"></slot>`}set correctResponse(t){let e=[],r=Array.isArray(t)?t:[t];r&&(e=r.map(o=>{let n=o.split(" ");return{text:n[0],gap:n[1]}})),this.querySelectorAll("qti-gap").forEach((o,n)=>{var f,g,y,v;let a=o.getAttribute("identifier"),c=(f=e.find(w=>w.gap===a))==null?void 0:f.text,p=(g=this.querySelector(`qti-gap-text[identifier="${c}"]`))==null?void 0:g.textContent.trim();if(c&&p){if(!((y=o.nextElementSibling)!=null&&y.classList.contains("correct-option"))){let w=document.createElement("span");w.classList.add("correct-option"),w.textContent=p,o.insertAdjacentElement("afterend",w)}}else(v=o.nextElementSibling)!=null&&v.classList.contains("correct-option")&&o.nextElementSibling.remove()})}};lt.styles=[b`
|
|
254
297
|
:host {
|
|
255
298
|
display: flex;
|
|
256
299
|
align-items: flex-start;
|
|
@@ -277,7 +320,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
277
320
|
flex: 1;
|
|
278
321
|
gap: 0.5rem;
|
|
279
322
|
}
|
|
280
|
-
`],lt=l([m("qti-gap-match-interaction")],lt);var
|
|
323
|
+
`],lt=l([m("qti-gap-match-interaction")],lt);var zi=(s,t,e)=>{let r=new Map;for(let i=t;i<=e;i++)r.set(s[i],i);return r},Gt=te(class extends j{constructor(s){if(super(s),s.type!==ae.CHILD)throw Error("repeat() can only be used in text expressions")}dt(s,t,e){let r;e===void 0?e=t:t!==void 0&&(r=t);let i=[],o=[],n=0;for(let a of s)i[n]=r?r(a,n):n,o[n]=e(a,n),n++;return{values:o,keys:i}}render(s,t,e){return this.dt(s,t,e).values}update(s,[t,e,r]){var k;let i=Ri(s),{values:o,keys:n}=this.dt(t,e,r);if(!Array.isArray(i))return this.ut=n,o;let a=(k=this.ut)!=null?k:this.ut=[],c=[],p,f,g=0,y=i.length-1,v=0,w=o.length-1;for(;g<=y&&v<=w;)if(i[g]===null)g++;else if(i[y]===null)y--;else if(a[g]===n[v])c[v]=ne(i[g],o[v]),g++,v++;else if(a[y]===n[w])c[w]=ne(i[y],o[w]),y--,w--;else if(a[g]===n[w])c[w]=ne(i[g],o[w]),Se(s,c[w+1],i[g]),g++,w--;else if(a[y]===n[v])c[v]=ne(i[y],o[v]),Se(s,i[g],i[y]),y--,v++;else if(p===void 0&&(p=zi(n,v,w),f=zi(a,g,y)),p.has(a[g]))if(p.has(a[y])){let A=f.get(n[v]),we=A!==void 0?i[A]:null;if(we===null){let xt=Se(s,i[g]);ne(xt,o[v]),c[v]=xt}else c[v]=ne(we,o[v]),Se(s,i[g],we),i[A]=null;v++}else Vt(i[y]),y--;else Vt(i[g]),g++;for(;v<=w;){let A=Se(s,c[w+1]);ne(A,o[v]),c[v++]=A}for(;g<=y;){let A=i[g++];A!==null&&Vt(A)}return this.ut=n,Si(s,c),L}});function De(s,t,e,r){switch(s){case"circle":{let[i,o,n]=t,a=i/e.width*100,c=o/e.height*100,p=n/e.width*100;r.style.left=a-p+"%",r.style.top=c-p+"%",r.style.width=r.style.height=4*p+"px",r.style.borderRadius="9999px"}break;case"rect":{let[i,o,n,a]=t,c=i/e.width*100,p=o/e.height*100,f=n/e.width*100,g=a/e.height*100;r.style.left=c+"%",r.style.top=p+"%",r.style.width=f-c+"%",r.style.height=g-p+"%"}break;case"poly":{let i=t.reduce((k,A,we,xt)=>{if(we%2===1){let Wi=k.pop();k[k.length]={x:Wi,y:xt[we]}}else k.push(A);return k},[]),o=Math.min(...i.map(k=>k.x)),n=Math.max(...i.map(k=>k.x)),a=Math.min(...i.map(k=>k.y)),c=Math.max(...i.map(k=>k.y)),p=o/e.width*100,f=a/e.height*100,g=n/e.width*100,y=c/e.height*100;r.style.left=o/e.width*100+"%",r.style.top=a/e.height*100+"%",r.style.width=g-p+"%",r.style.height=y-f+"%";let w=i.map(k=>({x:(k.x-o)/(n-o)*100,y:(k.y-a)/(c-a)*100})).map(k=>Math.round(k.x)+"% "+Math.round(k.y)+"%").join(",");r.style.clipPath=`polygon(${w})`}break;default:break}}var Z=class extends T{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,i,o;return h`<slot name="prompt"></slot>
|
|
281
324
|
<line-container>
|
|
282
325
|
<svg
|
|
283
326
|
width=${B((e=this.grImage[0])==null?void 0:e.width)}
|
|
@@ -293,7 +336,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
293
336
|
y2=${parseInt(this.querySelector("[identifier="+n.split(" ")[1]+"]").style.top)}
|
|
294
337
|
stroke="red"
|
|
295
338
|
stroke-width="3"
|
|
296
|
-
@click=${c=>{c.stopPropagation(),this._lines=this._lines.filter((p,
|
|
339
|
+
@click=${c=>{c.stopPropagation(),this._lines=this._lines.filter((p,f)=>f!==a),this.saveResponse(this._lines)}}
|
|
297
340
|
/>
|
|
298
341
|
`)}
|
|
299
342
|
${this.startPoint&&pr`<line
|
|
@@ -307,7 +350,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
307
350
|
/>`}
|
|
308
351
|
</svg>
|
|
309
352
|
<slot></slot>
|
|
310
|
-
</line-container>`}positionHotspotOnRegister(e){let r=this.querySelector("img"),i=e.target,o=i.getAttribute("coords"),n=i.getAttribute("shape"),a=o.split(",").map(c=>parseInt(c));
|
|
353
|
+
</line-container>`}positionHotspotOnRegister(e){let r=this.querySelector("img"),i=e.target,o=i.getAttribute("coords"),n=i.getAttribute("shape"),a=o.split(",").map(c=>parseInt(c));De(n,a,r,i)}firstUpdated(e){super.firstUpdated(e),this.hotspots=this.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",i=>{this.startPoint?this.endPoint||(this.endPoint=i.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=i.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)}};Z.styles=[b`
|
|
311
354
|
slot:not([name='prompt']) {
|
|
312
355
|
// position: relative; /* qti-hotspot-choice relative to the slot */
|
|
313
356
|
display: block;
|
|
@@ -330,8 +373,9 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
330
373
|
top: 0px;
|
|
331
374
|
left: 0px;
|
|
332
375
|
}
|
|
333
|
-
`],l([q()],
|
|
334
|
-
<slot
|
|
376
|
+
`],l([q()],Z.prototype,"_lines",2),l([q()],Z.prototype,"startCoord",2),l([q()],Z.prototype,"mouseCoord",2),l([Ke("svg")],Z.prototype,"svgContainer",2),l([Ei({selector:"img"})],Z.prototype,"grImage",2),Z=l([m("qti-graphic-associate-interaction")],Z);var ct=class extends W(u,"qti-gap-img",!1,"qti-associable-hotspot"){render(){return h` <slot name="prompt"></slot>
|
|
377
|
+
<slot></slot>
|
|
378
|
+
<slot name="qti-gap-img"></slot>`}positionHotspotOnRegister(t){let e=this.querySelector("img"),r=t.target,i=r.getAttribute("coords"),o=r.getAttribute("shape"),n=i.split(",").map(a=>parseInt(a));switch(o){case"circle":{let[a,c,p]=n;r.style.left=a-p+"px",r.style.top=c-p+"px",r.style.width=r.style.height=2*p+"px"}break;case"rect":{let[a,c,p,f]=n;r.style.left=a+"px",r.style.top=c+"px",r.style.width=p-a+"px",r.style.height=f-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)}};ct.styles=b`
|
|
335
379
|
:host {
|
|
336
380
|
display: inline-block;
|
|
337
381
|
position: relative;
|
|
@@ -340,12 +384,12 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
340
384
|
display: flex;
|
|
341
385
|
gap: 1rem;
|
|
342
386
|
}
|
|
343
|
-
`,ct=l([m("qti-graphic-gap-match-interaction")],ct);var dt=class extends le(
|
|
387
|
+
`,ct=l([m("qti-graphic-gap-match-interaction")],ct);var dt=class extends le(u,"qti-hotspot-choice"){render(){return h`
|
|
344
388
|
<slot name="prompt"></slot>
|
|
345
389
|
<!-- slot for the prompt -->
|
|
346
390
|
<slot></slot>
|
|
347
391
|
<!-- slot for the image and hotspots -->
|
|
348
|
-
`}setHotspotOrder(t){let{identifier:e}=t.detail,r=this._choiceElements.find(o=>o.getAttribute("identifier")===e),i=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,r.order==null){if(this._choiceElements.filter(o=>o.order>0).length>=i){this.choiceOrdering=!1;return}r.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)),r.order=null;this.choiceOrdering=!1}}positionHotspotOnRegister(t){let e=this.querySelector("img"),r=t.target,i=r.getAttribute("coords"),o=r.getAttribute("shape"),n=i.split(",").map(a=>parseInt(a));
|
|
392
|
+
`}setHotspotOrder(t){let{identifier:e}=t.detail,r=this._choiceElements.find(o=>o.getAttribute("identifier")===e),i=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,r.order==null){if(this._choiceElements.filter(o=>o.order>0).length>=i){this.choiceOrdering=!1;return}r.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)),r.order=null;this.choiceOrdering=!1}}positionHotspotOnRegister(t){let e=this.querySelector("img"),r=t.target,i=r.getAttribute("coords"),o=r.getAttribute("shape"),n=i.split(",").map(a=>parseInt(a));De(o,n,e,r)}connectedCallback(){super.connectedCallback(),this.addEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.removeEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}};dt.styles=[b`
|
|
349
393
|
slot:not([name='prompt']) {
|
|
350
394
|
position: relative; /* qti-hotspot-choice relative to the slot */
|
|
351
395
|
display: block;
|
|
@@ -356,12 +400,12 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
356
400
|
pointer-events: none;
|
|
357
401
|
user-select: none;
|
|
358
402
|
}
|
|
359
|
-
`],dt=l([m("qti-graphic-order-interaction")],dt);var pt=class extends le(
|
|
403
|
+
`],dt=l([m("qti-graphic-order-interaction")],dt);var pt=class extends le(u,"qti-hotspot-choice"){render(){return h`
|
|
360
404
|
<slot name="prompt"></slot>
|
|
361
405
|
<!-- slot for the prompt -->
|
|
362
406
|
<slot></slot>
|
|
363
407
|
<!-- slot for the image and hotspots -->
|
|
364
|
-
`}positionHotspotOnRegister(t){let e=this.querySelector("img"),r=t.target,i=r.getAttribute("coords"),o=r.getAttribute("shape"),n=i.split(",").map(a=>parseInt(a));
|
|
408
|
+
`}positionHotspotOnRegister(t){let e=this.querySelector("img"),r=t.target,i=r.getAttribute("coords"),o=r.getAttribute("shape"),n=i.split(",").map(a=>parseInt(a));De(o,n,e,r)}connectedCallback(){super.connectedCallback(),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}};pt.styles=[b`
|
|
365
409
|
slot:not([name='prompt']) {
|
|
366
410
|
position: relative; /* qti-hotspot-choice relative to the slot */
|
|
367
411
|
display: block;
|
|
@@ -373,10 +417,10 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
373
417
|
user-select: none;
|
|
374
418
|
/* width:100%; */
|
|
375
419
|
}
|
|
376
|
-
`],pt=l([m("qti-hotspot-interaction")],pt);var
|
|
420
|
+
`],pt=l([m("qti-hotspot-interaction")],pt);var he=class extends U(u,"qti-simple-associable-choice"){constructor(){super(...arguments);this.matchMin=0;this.matchMax=1;this.fixed=!1}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}render(){return h`
|
|
377
421
|
<slot part="slot"></slot>
|
|
378
422
|
<slot part="dropslot" name="qti-simple-associable-choice"></slot>
|
|
379
|
-
`}};
|
|
423
|
+
`}};he.styles=b`
|
|
380
424
|
:host {
|
|
381
425
|
display: flex;
|
|
382
426
|
user-select: none;
|
|
@@ -388,17 +432,44 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
388
432
|
slot[name='qti-simple-associable-choice'] {
|
|
389
433
|
width: 100%;
|
|
390
434
|
}
|
|
391
|
-
`,l([d({type:Number,attribute:"match-min"})],
|
|
435
|
+
`,l([d({type:Number,attribute:"match-min"})],he.prototype,"matchMin",2),l([d({type:Number,attribute:"match-max"})],he.prototype,"matchMax",2),l([d({type:Boolean,attribute:"fixed"})],he.prototype,"fixed",2),he=l([m("qti-simple-associable-choice")],he);var Fi=b`
|
|
436
|
+
slot {
|
|
437
|
+
/* slot where the */
|
|
438
|
+
display: flex;
|
|
439
|
+
flex-direction: column;
|
|
440
|
+
gap: 0.5rem;
|
|
441
|
+
align-items: flex-start; /* prevents the drag and drop container slots having the same height */
|
|
442
|
+
}
|
|
443
|
+
:host(.qti-choices-top) slot {
|
|
444
|
+
flex-direction: column;
|
|
445
|
+
}
|
|
446
|
+
:host(.qti-choices-bottom) slot {
|
|
447
|
+
flex-direction: column-reverse;
|
|
448
|
+
}
|
|
449
|
+
:host(.qti-choices-left) slot {
|
|
450
|
+
flex-direction: row;
|
|
451
|
+
}
|
|
452
|
+
:host(.qti-choices-right) slot {
|
|
453
|
+
flex-direction: row-reverse;
|
|
454
|
+
}
|
|
455
|
+
slot[name='prompt'] {
|
|
456
|
+
display: block;
|
|
457
|
+
}
|
|
458
|
+
::slotted(qti-simple-match-set) {
|
|
459
|
+
/* Make sure the drag and drop container slots have the same width */
|
|
460
|
+
flex: 1;
|
|
461
|
+
}
|
|
462
|
+
`;var me=class extends W(u,"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.lastCheckedRadio=null;this._response=[];this.correctOptions=[];this.responseIdentifier="";this.handleRadioClick=e=>{let r=e.target;this.lastCheckedRadio===r?(r.checked=!1,this.lastCheckedRadio=null,this.handleRadioChange(e)):this.lastCheckedRadio=r};this.handleRadioChange=e=>{let r=e.target,i=r.value,o=r.name,n=r.type;r.checked?(this.response?this.response.indexOf(i)===-1&&(n==="radio"&&(this.response=this.response.filter(a=>a.indexOf(o)===-1)),this.response=[...this.response,i]):this.response=[i],this.lastCheckedRadio=r):(this.response=this.response.filter(a=>a!==i),this.lastCheckedRadio=null),this.requestUpdate(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(this.response)?[...this.response]:this.response}}))}}get response(){return this.classList.contains("qti-match-tabular")?this._response:super.response}set response(e){this.classList.contains("qti-match-tabular")?this._response=e:super.response=e}async 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=[]}set correctResponse(e){if(e===""){this.correctOptions=[];return}else Array.isArray(e)&&(this.correctOptions=e)}render(){return this.classList.contains("qti-match-tabular")?h`
|
|
392
463
|
<slot name="prompt"></slot>
|
|
393
464
|
<table>
|
|
394
465
|
<tr>
|
|
395
466
|
<td></td>
|
|
396
|
-
${this.cols.map((e,r)=>
|
|
467
|
+
${this.cols.map((e,r)=>h`<th part="r-header">${ce(e.innerHTML)}</th>`)}
|
|
397
468
|
</tr>
|
|
398
469
|
|
|
399
|
-
${this.rows.map((e,r)=>
|
|
470
|
+
${this.rows.map((e,r)=>h`<tr>
|
|
400
471
|
<td part="c-header">${ce(e.innerHTML)}</td>
|
|
401
|
-
${this.cols.map((i,o)=>{let n=e.getAttribute("identifier"),a=i.getAttribute("identifier"),c=`${n} ${a}`,p=this.response.filter(v=>v.split(" ")[0]===n).length||0,
|
|
472
|
+
${this.cols.map((i,o)=>{let n=e.getAttribute("identifier"),a=i.getAttribute("identifier"),c=`${n} ${a}`,p=this.response.filter(v=>v.split(" ")[0]===n).length||0,f=this.response.includes(c),g=`rb ${f?"rb-checked":""} ${this.correctOptions.includes(c)?"rb-correct":""}`,y=this.correctOptions.length>0?!0:e.matchMax===1?!1:p>=e.matchMax&&!f;return h`<td>
|
|
402
473
|
<input
|
|
403
474
|
type=${e.matchMax===1?"radio":"checkbox"}
|
|
404
475
|
part=${g}
|
|
@@ -411,34 +482,12 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
411
482
|
</td>`})}
|
|
412
483
|
</tr>`)}
|
|
413
484
|
</table>
|
|
414
|
-
`:
|
|
415
|
-
.
|
|
416
|
-
display: flex;
|
|
417
|
-
flex-direction: column;
|
|
418
|
-
gap: 0.5rem;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
:host(.qti-choices-top) .match {
|
|
422
|
-
flex-direction: column;
|
|
423
|
-
}
|
|
424
|
-
:host(.qti-choices-bottom) .match {
|
|
425
|
-
flex-direction: column-reverse;
|
|
426
|
-
}
|
|
427
|
-
:host(.qti-choices-left) .match {
|
|
428
|
-
flex-direction: row;
|
|
429
|
-
}
|
|
430
|
-
:host(.qti-choices-right) .match {
|
|
431
|
-
flex-direction: row-reverse;
|
|
432
|
-
}
|
|
433
|
-
slot[name='prompt'] {
|
|
434
|
-
display: block;
|
|
435
|
-
}
|
|
436
|
-
`],l([q()],he.prototype,"response",2),l([q()],he.prototype,"correctOptions",2),l([d({type:String,attribute:"response-identifier"})],he.prototype,"responseIdentifier",2),he=l([m("qti-match-interaction")],he);var ut=class extends k{constructor(){super();this.value=0}reset(){}validate(){return!0}set response(e){}static get properties(){return S(C({},k.properties),{step:{type:Number,attribute:"step",default:10}})}render(){return u` <slot name="prompt"></slot>
|
|
437
|
-
<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())})}};ut.styles=[b``],ut=l([m("qti-media-interaction")],ut);var re=class extends Ft(W(f,"qti-simple-choice",!0,"drop-list"),"qti-simple-choice"){constructor(){super(...arguments);this.nrChoices=0;this.correctResponses=[];this.showCorrectResponses=!1}render(){let e=Array.from(this.querySelectorAll("qti-simple-choice"));return this.nrChoices<e.length&&(this.nrChoices=e.length),u` <slot name="prompt"> </slot>
|
|
485
|
+
`:h`<slot name="prompt"></slot> <slot></slot>`}};me.styles=Fi,l([q()],me.prototype,"_response",2),l([q()],me.prototype,"correctOptions",2),l([d({type:String,attribute:"response-identifier"})],me.prototype,"responseIdentifier",2),me=l([m("qti-match-interaction")],me);var ht=class extends T{constructor(){super();this.value=0}reset(){}validate(){return!0}set response(e){}static get properties(){return _(C({},T.properties),{step:{type:Number,attribute:"step",default:10}})}render(){return h` <slot name="prompt"></slot>
|
|
486
|
+
<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())})}};ht.styles=[b``],ht=l([m("qti-media-interaction")],ht);var re=class extends Ft(W(u,"qti-simple-choice",!0,"drop-list"),"qti-simple-choice"){constructor(){super(...arguments);this.nrChoices=0;this.correctResponses=[];this.showCorrectResponses=!1}render(){let e=Array.from(this.querySelectorAll("qti-simple-choice"));return this.nrChoices<e.length&&(this.nrChoices=e.length),h` <slot name="prompt"> </slot>
|
|
438
487
|
<div part="container">
|
|
439
488
|
<slot part="drags"> </slot>
|
|
440
489
|
<div part="drops">
|
|
441
|
-
${Array.from(Array(this.nrChoices)).map((r,i)=>
|
|
490
|
+
${Array.from(Array(this.nrChoices)).map((r,i)=>h`<drop-list part="drop-list" identifier="droplist${i}"></drop-list>${this.showCorrectResponses&&this.correctResponses.length>i?ce(`<span part='correct-response'>${this.correctResponses[i]}</span>`):""}`)}
|
|
442
491
|
</div>
|
|
443
492
|
</div>`}set correctResponse(e){if(e===""){this.showCorrectResponses=!1;return}this.correctResponses.length===0&&(Array.isArray(e)?e:[e]).forEach((i,o)=>{let n=this.querySelector(`qti-simple-choice[identifier="${i}"]`);n||(n=this.shadowRoot.querySelector(`qti-simple-choice[identifier="${i}"]`));let a=n==null?void 0:n.textContent.trim();this.correctResponses=[...this.correctResponses,a]}),this.showCorrectResponses=!0}getResponse(){return Array.from(this.shadowRoot.querySelectorAll("drop-list")).map(i=>{let o=i.querySelectorAll('[qti-draggable="true"]');return[...Array.from(o).map(a=>a.getAttribute("identifier"))].join(" ")})}async firstUpdated(e){super.firstUpdated(e),this.childrenMap=Array.from(this.querySelectorAll("qti-simple-choice")),this.childrenMap.forEach(r=>r.setAttribute("part","qti-simple-choice"))}};re.styles=[b`
|
|
444
493
|
[part='drags'] {
|
|
@@ -488,7 +537,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
488
537
|
:host(.qti-choices-right) [part='container'] {
|
|
489
538
|
flex-direction: row-reverse;
|
|
490
539
|
}
|
|
491
|
-
`],l([q()],re.prototype,"nrChoices",2),l([q()],re.prototype,"correctResponses",2),l([q()],re.prototype,"showCorrectResponses",2),l([d({type:String})],re.prototype,"orientation",2),re=l([m("qti-order-interaction")],re);var Qt=class extends
|
|
540
|
+
`],l([q()],re.prototype,"nrChoices",2),l([q()],re.prototype,"correctResponses",2),l([q()],re.prototype,"showCorrectResponses",2),l([d({type:String})],re.prototype,"orientation",2),re=l([m("qti-order-interaction")],re);var Qt=class extends u{render(){return h`<slot></slot>`}};Qt.styles=[b`
|
|
492
541
|
:host {
|
|
493
542
|
display: block;
|
|
494
543
|
}
|
|
@@ -499,23 +548,23 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
499
548
|
left: 50%;
|
|
500
549
|
transform: translateX(-50%);
|
|
501
550
|
}
|
|
502
|
-
`];customElements.define("qti-position-object-interaction",Qt);var
|
|
551
|
+
`];customElements.define("qti-position-object-interaction",Qt);var mt=class extends u{render(){return h`<slot></slot>`}constructor(){super(),this.removeMoveListener=this.removeMoveListener.bind(this),this.dragElementHandler=this.dragElementHandler.bind(this)}dragElementHandler(t){t.preventDefault();let e=t.clientX-this.startX,r=t.clientY-this.startY;this.dragElement.style.left=this.dragElement.offsetLeft+e+"px",this.dragElement.style.top=this.dragElement.offsetTop+r+"px",this.startX=t.clientX,this.startY=t.clientY}firstUpdated(t){super.firstUpdated(t),this.dragElement=this.querySelector("qti-position-object-interaction>img"),this.startX=0,this.startY=0,this.dragElement.addEventListener("mousedown",e=>{this.startX=e.clientX,this.startY=e.clientY,document.addEventListener("mousemove",this.dragElementHandler,!0)}),document.addEventListener("mouseup",this.removeMoveListener)}removeMoveListener(t){document.removeEventListener("mousemove",this.dragElementHandler,!0)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("mousemove",this.dragElementHandler),document.removeEventListener("mouseup",this.removeMoveListener)}};mt.styles=[b`
|
|
503
552
|
:host {
|
|
504
553
|
display: inline-block;
|
|
505
554
|
position: relative;
|
|
506
555
|
}
|
|
507
|
-
`],
|
|
556
|
+
`],mt=l([m("qti-position-object-stage")],mt);var Bi="important",Ss=" !"+Bi,ji=te(class extends j{constructor(s){var t;if(super(s),s.type!==ae.ATTRIBUTE||s.name!=="style"||((t=s.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(s){return Object.keys(s).reduce((t,e)=>{let r=s[e];return r==null?t:t+`${e=e.includes("-")?e:e.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`},"")}update(s,[t]){let{style:e}=s.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(t)),this.render(t);for(let r of this.ft)t[r]==null&&(this.ft.delete(r),r.includes("-")?e.removeProperty(r):e[r]=null);for(let r in t){let i=t[r];if(i!=null){this.ft.add(r);let o=typeof i=="string"&&i.endsWith(Ss);r.includes("-")||o?e.setProperty(r,o?i.slice(0,-11):i,o?Bi:""):e[r]=i}}return L}});var ue=class extends T{constructor(){super(...arguments);this.maxChoices=1/0;this.minChoices=0;this._points=[];this._imgElement=null;this._onImageClick=e=>{if(this._points.length<this.maxChoices){let r=e.offsetX,i=e.offsetY;this._points=[...this._points,`${r} ${i}`],this.saveResponse(this._points)}}}render(){return h` <slot name="prompt"></slot>
|
|
508
557
|
<point-container>
|
|
509
|
-
${Gt(this._points,e=>e,(e,r)=>
|
|
558
|
+
${Gt(this._points,e=>e,(e,r)=>h`
|
|
510
559
|
<button
|
|
511
560
|
part="point"
|
|
512
|
-
style=${
|
|
561
|
+
style=${ji({position:"absolute",transform:"translate(-50%, -50%)",left:`${e.split(" ")[0]}px`,top:`${e.split(" ")[1]}px`})}
|
|
513
562
|
aria-label="Remove point at ${e}"
|
|
514
563
|
@click=${i=>{i.stopPropagation(),this._points=this._points.filter((o,n)=>n!==r),this.saveResponse(this._points)}}
|
|
515
564
|
></button>
|
|
516
565
|
`)}
|
|
517
566
|
<slot></slot>
|
|
518
|
-
</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]}firstUpdated(){this._imgElement=this.querySelector("img"),this._imgElement?this._imgElement.addEventListener("click",this._onImageClick):console.warn("No <img> element found in <qti-select-point-interaction>")}disconnectedCallback(){super.disconnectedCallback(),this._imgElement&&this._imgElement.removeEventListener("click",this._onImageClick)}};
|
|
567
|
+
</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]}firstUpdated(){this._imgElement=this.querySelector("img"),this._imgElement?this._imgElement.addEventListener("click",this._onImageClick):console.warn("No <img> element found in <qti-select-point-interaction>")}disconnectedCallback(){super.disconnectedCallback(),this._imgElement&&this._imgElement.removeEventListener("click",this._onImageClick)}};ue.styles=[b`
|
|
519
568
|
:host {
|
|
520
569
|
display: block;
|
|
521
570
|
}
|
|
@@ -523,61 +572,61 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
523
572
|
display: block;
|
|
524
573
|
position: relative;
|
|
525
574
|
}
|
|
526
|
-
`],l([d({type:Number,attribute:"max-choices"})],
|
|
575
|
+
`],l([d({type:Number,attribute:"max-choices"})],ue.prototype,"maxChoices",2),l([d({type:Number,attribute:"min-choices"})],ue.prototype,"minChoices",2),l([q()],ue.prototype,"_points",2),ue=l([m("qti-select-point-interaction")],ue);var M=class extends T{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()),h`<slot name="prompt"></slot>
|
|
527
576
|
<div id="slider" part="slider">
|
|
528
|
-
${this.csLive.getPropertyValue("--show-bounds")=="true"?
|
|
577
|
+
${this.csLive.getPropertyValue("--show-bounds")=="true"?h`<div id="bounds" part="bounds">
|
|
529
578
|
<div>${this._min}</div>
|
|
530
579
|
<div>${this._max}</div>
|
|
531
580
|
</div>`:E}
|
|
532
|
-
${this.csLive.getPropertyValue("--show-ticks")=="true"?
|
|
581
|
+
${this.csLive.getPropertyValue("--show-ticks")=="true"?h`<div id="ticks" part="ticks"></div>`:E}
|
|
533
582
|
<div id="rail" part="rail" @mousedown=${this._onMouseDown} @touchstart=${this._onTouchMove}>
|
|
534
583
|
<div id="knob" part="knob">
|
|
535
|
-
${this.csLive.getPropertyValue("--show-value")=="true"?
|
|
584
|
+
${this.csLive.getPropertyValue("--show-value")=="true"?h`<div id="value" part="value">${this.value}</div>`:E}
|
|
536
585
|
</div>
|
|
537
586
|
</div>
|
|
538
|
-
</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),p=c-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(p),a.stopPropagation()},i=()=>{document.removeEventListener("touchmove",r),document.removeEventListener("touchend",i),this.saveResponse(this.value.toString())};document.addEventListener("touchmove",r),document.addEventListener("touchend",i);let{x:o}=this.getPositionFromEvent(e),n=o-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(n),e.stopPropagation()}_onMouseDown(e){let r=n=>{let a=n.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(a),n.preventDefault(),n.stopPropagation()},i=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",i),this.saveResponse(this.value.toString())};document.addEventListener("mousemove",r),document.addEventListener("mouseup",i);let o=e.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(o),e.preventDefault(),e.stopPropagation()}calculateValue(e){let r=this.min+(this.max-this.min)*e/this._rail.getBoundingClientRect().width,i=this.min+Math.round((r-this.min)/this._step)*this._step;this.value=i}getPositionFromEvent(e){let r;if(e.type=="touchstart"||e.type=="touchmove"||e.type=="touchend"||e.type=="touchcancel"){let i=typeof e.originalEvent=="undefined"?e:e.originalEvent,o=i.touches[0]||i.changedTouches[0];r={x:o.pageX,y:o.pageY}}else(e.type=="mousedown"||e.type=="mouseup"||e.type=="mousemove"||e.type=="mouseover"||e.type=="mouseout"||e.type=="mouseenter"||e.type=="mouseleave")&&(r={x:e.clientX,y:e.clientY});return r}}
|
|
587
|
+
</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),p=c-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(p),a.stopPropagation()},i=()=>{document.removeEventListener("touchmove",r),document.removeEventListener("touchend",i),this.saveResponse(this.value.toString())};document.addEventListener("touchmove",r),document.addEventListener("touchend",i);let{x:o}=this.getPositionFromEvent(e),n=o-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(n),e.stopPropagation()}_onMouseDown(e){let r=n=>{let a=n.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(a),n.preventDefault(),n.stopPropagation()},i=()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",i),this.saveResponse(this.value.toString())};document.addEventListener("mousemove",r),document.addEventListener("mouseup",i);let o=e.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(o),e.preventDefault(),e.stopPropagation()}calculateValue(e){let r=this.min+(this.max-this.min)*e/this._rail.getBoundingClientRect().width,i=this.min+Math.round((r-this.min)/this._step)*this._step;this.value=i}getPositionFromEvent(e){let r;if(e.type=="touchstart"||e.type=="touchmove"||e.type=="touchend"||e.type=="touchcancel"){let i=typeof e.originalEvent=="undefined"?e:e.originalEvent,o=i.touches[0]||i.changedTouches[0];r={x:o.pageX,y:o.pageY}}else(e.type=="mousedown"||e.type=="mouseup"||e.type=="mousemove"||e.type=="mouseover"||e.type=="mouseout"||e.type=="mouseenter"||e.type=="mouseleave")&&(r={x:e.clientX,y:e.clientY});return r}};M.styles=[b``],l([Ke("#knob")],M.prototype,"_knob",2),l([Ke("#rail")],M.prototype,"_rail",2),l([d({type:Number})],M.prototype,"value",2),l([d({type:Boolean,attribute:"step-label"})],M.prototype,"stepLabel",2),l([d({type:Boolean})],M.prototype,"reverse",2),l([d({type:Number,attribute:"lower-bound"})],M.prototype,"min",1),l([d({type:Number,attribute:"upper-bound"})],M.prototype,"max",1),l([d({type:Number,attribute:"step"})],M.prototype,"step",1),l([S("disabled",{waitUntilFirstUpdate:!0})],M.prototype,"_handleDisabledChange",2),l([S("readonly",{waitUntilFirstUpdate:!0})],M.prototype,"_handleReadonlyChange",2),M=l([m("qti-slider-interaction")],M);var ut=class extends u{render(){return h`<slot @slotchange=${this.handleSlotChange}></slot>`}handleSlotChange(t){var r,i,o;let e=Array.from((i=(r=this.firstElementChild)==null?void 0:r.childNodes)!=null?i:[]).find(n=>n.nodeType===Node.COMMENT_NODE);try{this.operatorFunction=new Function("context","fn","item",(o=e.textContent)!=null?o:"")}catch(n){console.error("custom-operator contains invalid javascript code",n)}}calculate(){let t={variable:r=>{var i,o,n;return(n=(o=(i=this._context)==null?void 0:i.variables.find(a=>a.identifier===r))==null?void 0:o.value)!=null?n:""},correct:r=>{var i,o,n;return(n=(o=(i=this._context)==null?void 0:i.variables.find(a=>a.identifier===r))==null?void 0:o.correctResponse)!=null?n:""}},e={getVariable:r=>{var i;return(i=this._context)==null?void 0:i.variables.find(o=>o.identifier===r)},updateOutcomeVariable:(r,i)=>{this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:r,value:i}}))},updateResponseVariable:(r,i)=>{this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:r,response:i}}))}};return this.operatorFunction(this._context,t,e)}};l([J({context:O,subscribe:!0}),q()],ut.prototype,"_context",2),ut=l([m("qti-custom-operator")],ut);var gt=class extends u{connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,cancelable:!1,composed:!0}))}render(){return h` <slot name="qti-gap-img"></slot> `}};gt.styles=b`
|
|
539
588
|
:host {
|
|
540
589
|
display: flex;
|
|
541
590
|
user-select: none;
|
|
542
591
|
position: absolute;
|
|
543
592
|
}
|
|
544
|
-
`,
|
|
593
|
+
`,gt=l([m("qti-associable-hotspot")],gt);var He=class extends u{constructor(){super(...arguments);this.tabindex=0}render(){return h` <slot name="qti-gap-text"></slot>`}};He.styles=b`
|
|
545
594
|
:host {
|
|
546
595
|
display: flex;
|
|
547
596
|
user-select: none;
|
|
548
597
|
}
|
|
549
|
-
`,l([d({type:Number,reflect:!0})],
|
|
598
|
+
`,l([d({type:Number,reflect:!0})],He.prototype,"tabindex",2),He=l([m("qti-gap")],He);var Pe=class extends u{constructor(){super(...arguments);this.tabindex=0}connectedCallback(){this.setAttribute("slot","qti-gap-img")}};Pe.styles=b`
|
|
550
599
|
:host {
|
|
551
600
|
display: flex;
|
|
552
601
|
user-select: none;
|
|
553
602
|
}
|
|
554
|
-
`,l([d({type:Number,reflect:!0})],
|
|
603
|
+
`,l([d({type:Number,reflect:!0})],Pe.prototype,"tabindex",2),Pe=l([m("qti-gap-img")],Pe);var Ne=class extends U(u,"qti-gap-text"){constructor(){super(...arguments);this.tabindex=0}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-gap-text")}render(){return h`<slot></slot>`}};Ne.styles=b`
|
|
555
604
|
:host {
|
|
556
605
|
display: inline-flex;
|
|
557
606
|
user-select: none;
|
|
558
607
|
}
|
|
559
|
-
`,l([d({type:Number,reflect:!0})],
|
|
608
|
+
`,l([d({type:Number,reflect:!0})],Ne.prototype,"tabindex",2),Ne=l([m("qti-gap-text")],Ne);var Ve=class extends U(u,"qti-hotspot-choice"){};Ve.styles=b`
|
|
560
609
|
:host {
|
|
561
610
|
display: flex;
|
|
562
611
|
user-select: none;
|
|
563
612
|
position: absolute;
|
|
564
613
|
}
|
|
565
|
-
`,l([d({attribute:"aria-ordervalue",type:Number,reflect:!0})],
|
|
566
|
-
<slot></slot> `}};
|
|
614
|
+
`,l([d({attribute:"aria-ordervalue",type:Number,reflect:!0})],Ve.prototype,"order",2),Ve=l([m("qti-hotspot-choice")],Ve);var ft=class extends U(u,"qti-hottext"){render(){return h`<div part="ch"><div part="cha"></div></div>
|
|
615
|
+
<slot></slot> `}};ft.styles=b`
|
|
567
616
|
:host {
|
|
568
617
|
display: flex;
|
|
569
618
|
user-select: none;
|
|
570
619
|
}
|
|
571
|
-
`,
|
|
620
|
+
`,ft=l([m("qti-hottext")],ft);var bt=class extends u{static get styles(){return[b`
|
|
572
621
|
:host {
|
|
573
622
|
display: block;
|
|
574
623
|
cursor: pointer;
|
|
575
624
|
}
|
|
576
|
-
`]}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this._onSelectInlineChoice),this.dispatchEvent(new CustomEvent("qti-inline-choice-register",{bubbles:!0,cancelable:!1,composed:!0}))}disconnectedCallback(){this.removeEventListener("click",this._onSelectInlineChoice)}render(){return
|
|
625
|
+
`]}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this._onSelectInlineChoice),this.dispatchEvent(new CustomEvent("qti-inline-choice-register",{bubbles:!0,cancelable:!1,composed:!0}))}disconnectedCallback(){this.removeEventListener("click",this._onSelectInlineChoice)}render(){return h` <slot></slot> `}_onSelectInlineChoice(){this.dispatchEvent(new CustomEvent("qti-inline-choice-select",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier}}))}};l([d({type:String})],bt.prototype,"identifier",2),bt=l([m("qti-inline-choice")],bt);var Ie=class extends U(u,"qti-simple-choice"){render(){return h`<div part="ch">
|
|
577
626
|
<div part="cha"></div>
|
|
578
627
|
</div>
|
|
579
|
-
${this.marker?
|
|
580
|
-
<slot part="slot"></slot> `}};
|
|
628
|
+
${this.marker?h`<div id="label">${this.marker}</div>`:E}
|
|
629
|
+
<slot part="slot"></slot> `}};Ie.styles=b`
|
|
581
630
|
:host {
|
|
582
631
|
display: flex;
|
|
583
632
|
user-select: none;
|
|
@@ -593,18 +642,40 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
593
642
|
align-items: center;
|
|
594
643
|
justify-content: center;
|
|
595
644
|
}
|
|
596
|
-
`,l([d({type:String,attribute:!1})],
|
|
645
|
+
`,l([d({type:String,attribute:!1})],Ie.prototype,"marker",2),Ie=l([m("qti-simple-choice")],Ie);console.log("%cC\xBFTO%cLab%c: qti-components loaded","font-weight:bold; color:green",'font-family: "PT Sans", font-weight:bold; color:green; font-size: smaller;vertical-align: sub',"font-weight:unset");var Xi=`@layer qti-base, qti-components, qti-utilities, qti-variants, qti-extended;
|
|
646
|
+
|
|
647
|
+
/*
|
|
648
|
+
Base variables on PNP
|
|
649
|
+
https://www.imsglobal.org/spec/qti/v3p0/impl#h.x51afjl5r8gl
|
|
650
|
+
font-face
|
|
651
|
+
https://www.imsglobal.org/spec/qti/v3p0/impl#h.r3hufj74r1do
|
|
652
|
+
line-spacing
|
|
653
|
+
https://www.imsglobal.org/spec/qti/v3p0/impl#h.e0onr51nghyl
|
|
654
|
+
*/
|
|
597
655
|
|
|
598
656
|
:root,
|
|
599
657
|
:host {
|
|
600
|
-
|
|
658
|
+
/* Primary colors */
|
|
659
|
+
--qti-primary-light: #ffeaea;
|
|
601
660
|
--qti-primary: #f86d70;
|
|
602
661
|
--qti-primary-dark: #a1616a;
|
|
603
662
|
|
|
663
|
+
/* Secondary colors */
|
|
604
664
|
--qti-secondary-light: #bed4ff;
|
|
605
665
|
--qti-secondary: #6daef8;
|
|
606
666
|
--qti-secondary-dark: #3a449d;
|
|
607
667
|
|
|
668
|
+
/* Background colors */
|
|
669
|
+
--qti-bg-gray-50: #f9fafb;
|
|
670
|
+
--qti-bg-gray-100: #f3f4f6;
|
|
671
|
+
--qti-bg-white: white;
|
|
672
|
+
--qti-bg-primary: var(--qti-primary);
|
|
673
|
+
|
|
674
|
+
/* Text colors */
|
|
675
|
+
--qti-text-gray-500: #6b7280;
|
|
676
|
+
--qti-text-white: white;
|
|
677
|
+
|
|
678
|
+
/* Border properties */
|
|
608
679
|
--qti-border-thickness: 1.5px;
|
|
609
680
|
--qti-border-style: solid;
|
|
610
681
|
--qti-border-color-gray: #c6cad0; /* Corresponding to border-gray-400 */
|
|
@@ -612,31 +683,39 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
612
683
|
--qti-border-radius-lg: 0.5rem;
|
|
613
684
|
--qti-border-radius-full: 9999px;
|
|
614
685
|
|
|
615
|
-
|
|
616
|
-
--qti-bg-primary: var(--qti-primary);
|
|
617
|
-
--qti-bg-gray-100: #f3f4f6;
|
|
618
|
-
|
|
619
|
-
--qti-text-gray-500: #6b7280;
|
|
620
|
-
--qti-text-white: white;
|
|
621
|
-
|
|
686
|
+
/* Padding */
|
|
622
687
|
--qti-padding-sm: 0.125rem; /* py-0.5 */
|
|
623
688
|
--qti-padding-md: 0.5rem; /* py-2 */
|
|
624
689
|
--qti-padding-lg: 0.75rem; /* p-3 */
|
|
625
690
|
--qti-padding-xl: 1rem; /* pl-4 */
|
|
626
691
|
|
|
692
|
+
/* Form & layout */
|
|
693
|
+
--qti-form-size: 1rem;
|
|
694
|
+
--qti-gap-size: 0.5rem;
|
|
695
|
+
|
|
696
|
+
/* Typography */
|
|
627
697
|
--qti-font-weight-semibold: 600;
|
|
698
|
+
--qti-line-height: 2.5;
|
|
628
699
|
|
|
700
|
+
/* Focus & active states */
|
|
629
701
|
--qti-active: blue;
|
|
630
702
|
--qti-focus-color: #bddcff7e;
|
|
631
703
|
--qti-focus-border-width: 5px;
|
|
632
704
|
|
|
705
|
+
/* Correct/Incorrect feedback */
|
|
633
706
|
--qti-correct: rgb(74 222 128);
|
|
634
707
|
--qti-correct-light: rgb(220 252 231);
|
|
635
708
|
--qti-incorrect: rgb(248 113 113);
|
|
636
709
|
--qti-incorrect-light: rgb(254 226 226);
|
|
637
710
|
|
|
638
|
-
|
|
639
|
-
--
|
|
711
|
+
/* ---- */
|
|
712
|
+
--box-shadow: 0 0.125rem 0.25rem rgb(0 0 0 / 7.5%);
|
|
713
|
+
--box-shadow-lg: 0 0.5rem 1rem rgb(0 0 0 / 15%);
|
|
714
|
+
--table-border-color: var(--qti-border-color-gray);
|
|
715
|
+
--foreground: var(--qti-bg-gray-50);
|
|
716
|
+
--well-bg: var(--qti-bg-gray-50);
|
|
717
|
+
--well-border: var(--qti-border-color-gray);
|
|
718
|
+
--well-box-shadow: var(--box-shadow);
|
|
640
719
|
}
|
|
641
720
|
|
|
642
721
|
.chevron {
|
|
@@ -647,13 +726,13 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
647
726
|
.handle {
|
|
648
727
|
background-image: radial-gradient(
|
|
649
728
|
circle at center,
|
|
650
|
-
|
|
651
|
-
rgb(0
|
|
652
|
-
|
|
653
|
-
|
|
729
|
+
rgb(0 0 0 / 10%) 0,
|
|
730
|
+
rgb(0 0 0 / 20%) 2px,
|
|
731
|
+
rgb(255 255 255 / 0%) 2px,
|
|
732
|
+
rgb(255 255 255 / 0%) 100%
|
|
654
733
|
);
|
|
655
734
|
background-repeat: repeat-y;
|
|
656
|
-
background-position: left
|
|
735
|
+
background-position: left center;
|
|
657
736
|
background-size: 14px 8px;
|
|
658
737
|
}
|
|
659
738
|
|
|
@@ -672,11 +751,11 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
672
751
|
}
|
|
673
752
|
|
|
674
753
|
.form {
|
|
754
|
+
|
|
675
755
|
width: var(--qti-form-size);
|
|
676
756
|
height: var(--qti-form-size);
|
|
677
757
|
align-self: 1;
|
|
678
758
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
679
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
680
759
|
outline: none;
|
|
681
760
|
}
|
|
682
761
|
|
|
@@ -685,18 +764,16 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
685
764
|
}
|
|
686
765
|
|
|
687
766
|
.button {
|
|
688
|
-
|
|
689
|
-
outline: none;
|
|
767
|
+
|
|
690
768
|
border-radius: var(--qti-border-radius-md);
|
|
691
|
-
padding: var(--qti-padding-
|
|
769
|
+
padding: var(--qti-padding-md) var(--qti-padding-md);
|
|
692
770
|
font-weight: var(--qti-font-weight-semibold);
|
|
693
771
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
694
772
|
outline: none;
|
|
695
773
|
}
|
|
696
774
|
|
|
697
775
|
.select {
|
|
698
|
-
|
|
699
|
-
outline: none;
|
|
776
|
+
|
|
700
777
|
border-radius: var(--qti-border-radius-md);
|
|
701
778
|
position: relative;
|
|
702
779
|
-webkit-appearance: none;
|
|
@@ -707,8 +784,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
707
784
|
}
|
|
708
785
|
|
|
709
786
|
.text {
|
|
710
|
-
|
|
711
|
-
outline: none;
|
|
787
|
+
|
|
712
788
|
border-radius: 0;
|
|
713
789
|
cursor: text;
|
|
714
790
|
padding: var(--qti-padding-lg); /* Equal padding on all sides */
|
|
@@ -718,8 +794,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
718
794
|
}
|
|
719
795
|
|
|
720
796
|
.spot {
|
|
721
|
-
|
|
722
|
-
outline: none;
|
|
797
|
+
|
|
723
798
|
width: 100%;
|
|
724
799
|
height: 100%;
|
|
725
800
|
background-color: transparent;
|
|
@@ -731,9 +806,8 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
731
806
|
/* qti-select-point-interaction */
|
|
732
807
|
|
|
733
808
|
.point {
|
|
734
|
-
|
|
809
|
+
|
|
735
810
|
border-radius: var(--qti-border-radius-full);
|
|
736
|
-
outline: none;
|
|
737
811
|
width: 1.5rem; /* w-6 */
|
|
738
812
|
height: 1.5rem;
|
|
739
813
|
background-color: transparent;
|
|
@@ -743,11 +817,13 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
743
817
|
}
|
|
744
818
|
|
|
745
819
|
.drag {
|
|
746
|
-
|
|
747
|
-
|
|
820
|
+
|
|
821
|
+
transition:
|
|
822
|
+
transform 200ms ease-out,
|
|
823
|
+
box-shadow 200ms ease-out,
|
|
824
|
+
rotate 200ms ease-out;
|
|
748
825
|
padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl); /* Padding shorthand */
|
|
749
826
|
border-radius: var(--qti-border-radius-md);
|
|
750
|
-
|
|
751
827
|
cursor: grab;
|
|
752
828
|
background-color: white;
|
|
753
829
|
font-weight: var(--qti-font-weight-semibold);
|
|
@@ -755,23 +831,37 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
755
831
|
outline: none;
|
|
756
832
|
background-image: radial-gradient(
|
|
757
833
|
circle at center,
|
|
758
|
-
|
|
759
|
-
rgb(0
|
|
760
|
-
|
|
761
|
-
|
|
834
|
+
rgb(0 0 0 / 10%) 0,
|
|
835
|
+
rgb(0 0 0 / 20%) 2px,
|
|
836
|
+
rgb(255 255 255 / 0%) 2px,
|
|
837
|
+
rgb(255 255 255 / 0%) 100%
|
|
762
838
|
);
|
|
763
839
|
background-repeat: repeat-y;
|
|
764
|
-
background-position: left
|
|
840
|
+
background-position: left center;
|
|
765
841
|
background-size: 14px 8px;
|
|
766
842
|
}
|
|
767
843
|
|
|
844
|
+
.dragging {
|
|
845
|
+
pointer-events: none;
|
|
846
|
+
rotate: -2deg;
|
|
847
|
+
box-shadow:
|
|
848
|
+
0 8px 12px rgb(0 0 0 / 20%),
|
|
849
|
+
0 4px 8px rgb(0 0 0 / 10%);
|
|
850
|
+
}
|
|
851
|
+
|
|
768
852
|
.drop {
|
|
769
|
-
|
|
770
|
-
|
|
853
|
+
|
|
854
|
+
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
|
|
855
|
+
center no-repeat;
|
|
771
856
|
border-radius: var(--qti-border-radius-lg);
|
|
772
857
|
position: relative;
|
|
773
|
-
background-color: var(--qti-bg-
|
|
774
|
-
|
|
858
|
+
background-color: var(--qti-bg-white);
|
|
859
|
+
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
860
|
+
outline: none;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
.dropping {
|
|
864
|
+
background-color: var(--qti-primary-light);
|
|
775
865
|
}
|
|
776
866
|
|
|
777
867
|
.order {
|
|
@@ -789,6 +879,7 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
789
879
|
|
|
790
880
|
.check {
|
|
791
881
|
/* display: flex; */
|
|
882
|
+
|
|
792
883
|
/* align-items: center; */
|
|
793
884
|
gap: 0.5rem;
|
|
794
885
|
padding: var(--qti-padding-md) var(--qti-padding-md); /* Padding shorthand */
|
|
@@ -798,12 +889,17 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
798
889
|
}
|
|
799
890
|
|
|
800
891
|
.check-radio {
|
|
892
|
+
|
|
801
893
|
border-radius: var(--qti-border-radius-full);
|
|
894
|
+
|
|
802
895
|
width: var(--qti-form-size);
|
|
896
|
+
|
|
803
897
|
height: var(--qti-form-size);
|
|
898
|
+
|
|
804
899
|
align-self: 1;
|
|
900
|
+
|
|
805
901
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
806
|
-
|
|
902
|
+
|
|
807
903
|
outline: none;
|
|
808
904
|
}
|
|
809
905
|
|
|
@@ -813,23 +909,30 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
813
909
|
}
|
|
814
910
|
|
|
815
911
|
.check-checkbox {
|
|
912
|
+
|
|
816
913
|
border-radius: var(--qti-border-radius-md);
|
|
914
|
+
|
|
817
915
|
width: var(--qti-form-size);
|
|
916
|
+
|
|
818
917
|
height: var(--qti-form-size);
|
|
918
|
+
|
|
819
919
|
align-self: 1;
|
|
920
|
+
|
|
820
921
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
821
|
-
|
|
922
|
+
|
|
822
923
|
outline: none;
|
|
823
924
|
}
|
|
824
925
|
|
|
825
926
|
.check-checkbox-checked {
|
|
927
|
+
|
|
826
928
|
background-color: var(--qti-bg-primary);
|
|
827
929
|
-webkit-mask-image: var(--check-mask);
|
|
828
930
|
mask-image: var(--check-mask); /* check-mask */ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E"); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
|
|
829
931
|
}
|
|
830
932
|
|
|
831
933
|
.hov {
|
|
832
|
-
background-color: var(--qti-bg-gray-50);
|
|
934
|
+
/* background-color: var(--qti-bg-gray-50); */
|
|
935
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
833
936
|
}
|
|
834
937
|
|
|
835
938
|
.foc {
|
|
@@ -852,195 +955,1690 @@ var jr=Object.defineProperty,Xi=Object.defineProperties,Yi=Object.getOwnProperty
|
|
|
852
955
|
background-color: var(--qti-bg-gray-100);
|
|
853
956
|
color: var(--qti-text-gray-500);
|
|
854
957
|
border-color: var(--qti-border-color-gray);
|
|
958
|
+
|
|
959
|
+
/* outline: 2px solid var(--qti-bg-gray-100); */
|
|
960
|
+
|
|
961
|
+
/* outline-color: var(--qti-text-gray-50); */
|
|
855
962
|
}
|
|
856
963
|
|
|
857
964
|
/* base */
|
|
858
965
|
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
966
|
+
/* ============================
|
|
967
|
+
QTI 3 shared css
|
|
968
|
+
1. Display
|
|
969
|
+
2. Special Flex styles
|
|
970
|
+
3. Margin
|
|
971
|
+
4. Padding
|
|
972
|
+
5. Horizontal Alignment styles
|
|
973
|
+
6. Vertical Alignment styles
|
|
974
|
+
7. Height
|
|
975
|
+
8. Width
|
|
976
|
+
9. Text-Indent
|
|
977
|
+
10. List Style
|
|
978
|
+
11. Layout
|
|
979
|
+
12. Other QTI 3 presentation utilities
|
|
980
|
+
============================ */
|
|
981
|
+
|
|
982
|
+
/* ==========
|
|
983
|
+
Display css
|
|
984
|
+
=========== */
|
|
985
|
+
|
|
986
|
+
.qti-display-inline {
|
|
987
|
+
display: inline;
|
|
988
|
+
}
|
|
866
989
|
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
990
|
+
.qti-display-inline-block {
|
|
991
|
+
display: inline-block;
|
|
992
|
+
}
|
|
870
993
|
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
.qti-layout-col2 {
|
|
875
|
-
width: 14.8936170213%;
|
|
876
|
-
}
|
|
877
|
-
.qti-layout-col3 {
|
|
878
|
-
width: 23.4042553191%;
|
|
879
|
-
}
|
|
880
|
-
.qti-layout-col4 {
|
|
881
|
-
width: 31.914893617%;
|
|
882
|
-
}
|
|
883
|
-
.qti-layout-col5 {
|
|
884
|
-
width: 40.4255319149%;
|
|
885
|
-
}
|
|
886
|
-
.qti-layout-col6 {
|
|
887
|
-
width: 48.9361702128%;
|
|
888
|
-
}
|
|
889
|
-
.qti-layout-col7 {
|
|
890
|
-
width: 57.4468085106%;
|
|
891
|
-
}
|
|
892
|
-
.qti-layout-col8 {
|
|
893
|
-
width: 65.9574468085%;
|
|
894
|
-
}
|
|
895
|
-
.qti-layout-col9 {
|
|
896
|
-
width: 74.4680851064%;
|
|
897
|
-
}
|
|
898
|
-
.qti-layout-col10 {
|
|
899
|
-
width: 82.9787234043%;
|
|
900
|
-
}
|
|
901
|
-
.qti-layout-col11 {
|
|
902
|
-
width: 91.4893617021%;
|
|
903
|
-
}
|
|
904
|
-
.qti-layout-col12 {
|
|
905
|
-
width: 100%;
|
|
906
|
-
}
|
|
994
|
+
.qti-display-block {
|
|
995
|
+
display: block;
|
|
996
|
+
}
|
|
907
997
|
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
margin-left: 17.0212765957%;
|
|
913
|
-
}
|
|
914
|
-
.qti-layout-offset3 {
|
|
915
|
-
margin-left: 25.5319148936%;
|
|
916
|
-
}
|
|
917
|
-
.qti-layout-offset4 {
|
|
918
|
-
margin-left: 34.0425531915%;
|
|
919
|
-
}
|
|
920
|
-
.qti-layout-offset5 {
|
|
921
|
-
margin-left: 42.5531914894%;
|
|
922
|
-
}
|
|
923
|
-
.qti-layout-offset6 {
|
|
924
|
-
margin-left: 51.0638297872%;
|
|
925
|
-
}
|
|
926
|
-
.qti-layout-offset7 {
|
|
927
|
-
margin-left: 59.5744680851%;
|
|
928
|
-
}
|
|
929
|
-
.qti-layout-offset8 {
|
|
930
|
-
margin-left: 68.085106383%;
|
|
931
|
-
}
|
|
932
|
-
.qti-layout-offset9 {
|
|
933
|
-
margin-left: 76.5957446809%;
|
|
934
|
-
}
|
|
935
|
-
.qti-layout-offset10 {
|
|
936
|
-
margin-left: 85.1063829787%;
|
|
937
|
-
}
|
|
938
|
-
.qti-layout-offset11 {
|
|
939
|
-
margin-left: 93.6170212766%;
|
|
940
|
-
}
|
|
941
|
-
.qti-layout-offset12 {
|
|
942
|
-
margin-left: 102.1276595745%;
|
|
943
|
-
}
|
|
998
|
+
.qti-display-flex {
|
|
999
|
+
display: flexbox;
|
|
1000
|
+
display: flex;
|
|
1001
|
+
}
|
|
944
1002
|
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
width: 100%;
|
|
948
|
-
}
|
|
949
|
-
}
|
|
1003
|
+
.qti-display-inline-flex {
|
|
1004
|
+
display: inline-flex;
|
|
950
1005
|
}
|
|
951
1006
|
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
qti-response-declaration {
|
|
955
|
-
display: none;
|
|
1007
|
+
.qti-display-grid {
|
|
1008
|
+
display: grid;
|
|
956
1009
|
}
|
|
957
1010
|
|
|
958
|
-
|
|
959
|
-
display:
|
|
1011
|
+
.qti-display-inline-grid {
|
|
1012
|
+
display: inline-grid;
|
|
960
1013
|
}
|
|
961
1014
|
|
|
962
|
-
|
|
963
|
-
|
|
1015
|
+
.qti-display-table {
|
|
1016
|
+
display: table;
|
|
964
1017
|
}
|
|
965
1018
|
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
*:after {
|
|
969
|
-
box-sizing: inherit;
|
|
1019
|
+
.qti-display-table-cell {
|
|
1020
|
+
display: table-cell;
|
|
970
1021
|
}
|
|
971
1022
|
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
inset: 0;
|
|
975
|
-
margin: auto;
|
|
976
|
-
border: solid;
|
|
977
|
-
padding: 0.25em;
|
|
978
|
-
overflow: auto;
|
|
979
|
-
color: CanvasText;
|
|
980
|
-
background-color: Canvas;
|
|
1023
|
+
.qti-display-table-row {
|
|
1024
|
+
display: table-row;
|
|
981
1025
|
}
|
|
982
1026
|
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
cursor: pointer;
|
|
1027
|
+
.qti-display-list-item {
|
|
1028
|
+
display: list-item;
|
|
986
1029
|
}
|
|
987
1030
|
|
|
988
|
-
|
|
1031
|
+
.qti-display-inherit {
|
|
1032
|
+
display: inherit;
|
|
1033
|
+
}
|
|
989
1034
|
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1035
|
+
/*
|
|
1036
|
+
* hidden to screen readers and sighted
|
|
1037
|
+
*/
|
|
1038
|
+
|
|
1039
|
+
.qti-hidden {
|
|
1040
|
+
display: none;
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
/*
|
|
1044
|
+
* visible to screen readers, hidden to sighted
|
|
1045
|
+
*/
|
|
1046
|
+
|
|
1047
|
+
.qti-visually-hidden {
|
|
1048
|
+
position: fixed !important;
|
|
1049
|
+
overflow: hidden;
|
|
1050
|
+
clip: rect(1px 1px 1px 1px);
|
|
1051
|
+
height: 1px;
|
|
1052
|
+
width: 1px;
|
|
1053
|
+
border: 0;
|
|
1054
|
+
margin: -1px;
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
/* =============================
|
|
1058
|
+
Special flex styles
|
|
1059
|
+
============================= */
|
|
1060
|
+
|
|
1061
|
+
.qti-flex-direction-column {
|
|
1062
|
+
flex-direction: column;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
.qti-flex-direction-row {
|
|
1066
|
+
flex-direction: row;
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
.qti-flex-grow-1 {
|
|
1070
|
+
flex-grow: 1;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
.qti-flex-grow-0 {
|
|
1074
|
+
flex-grow: 0;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
/* =========
|
|
1078
|
+
Margin css
|
|
1079
|
+
========== */
|
|
1080
|
+
|
|
1081
|
+
/**
|
|
1082
|
+
* For margin Top and Bottom and Left and Right
|
|
1083
|
+
*/
|
|
1084
|
+
|
|
1085
|
+
.qti-margin-0 {
|
|
1086
|
+
margin: 0 !important;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
.qti-margin-1 {
|
|
1090
|
+
margin: 0.25rem !important;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
.qti-margin-2 {
|
|
1094
|
+
margin: 0.5rem !important;
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
.qti-margin-3 {
|
|
1098
|
+
margin: 1rem !important;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
.qti-margin-4 {
|
|
1102
|
+
margin: 1.5rem !important;
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
.qti-margin-5 {
|
|
1106
|
+
margin: 3rem !important;
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
.qti-margin-auto {
|
|
1110
|
+
margin: auto !important;
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
/*
|
|
1114
|
+
For margin Left and Right
|
|
1115
|
+
*/
|
|
1116
|
+
|
|
1117
|
+
.qti-margin-x-0 {
|
|
1118
|
+
margin-right: 0 !important;
|
|
1119
|
+
margin-left: 0 !important;
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
.qti-margin-x-1 {
|
|
1123
|
+
margin-right: 0.25rem !important;
|
|
1124
|
+
margin-left: 0.25rem !important;
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
.qti-margin-x-2 {
|
|
1128
|
+
margin-right: 0.5rem !important;
|
|
1129
|
+
margin-left: 0.5rem !important;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
.qti-margin-x-3 {
|
|
1133
|
+
margin-right: 1rem !important;
|
|
1134
|
+
margin-left: 1rem !important;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
.qti-margin-x-4 {
|
|
1138
|
+
margin-right: 1.5rem !important;
|
|
1139
|
+
margin-left: 1.5rem !important;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
.qti-margin-x-5 {
|
|
1143
|
+
margin-right: 3rem !important;
|
|
1144
|
+
margin-left: 3rem !important;
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
.qti-margin-x-auto {
|
|
1148
|
+
margin-right: auto !important;
|
|
1149
|
+
margin-left: auto !important;
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
/*
|
|
1153
|
+
For margin Top and Bottom
|
|
1154
|
+
*/
|
|
1155
|
+
|
|
1156
|
+
.qti-margin-y-0 {
|
|
1157
|
+
margin-top: 0 !important;
|
|
1158
|
+
margin-bottom: 0 !important;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
.qti-margin-y-1 {
|
|
1162
|
+
margin-top: 0.25rem !important;
|
|
1163
|
+
margin-bottom: 0.25rem !important;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
.qti-margin-y-2 {
|
|
1167
|
+
margin-top: 0.5rem !important;
|
|
1168
|
+
margin-bottom: 0.5rem !important;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
.qti-margin-y-3 {
|
|
1172
|
+
margin-top: 1rem !important;
|
|
1173
|
+
margin-bottom: 1rem !important;
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
.qti-margin-y-4 {
|
|
1177
|
+
margin-top: 1.5rem !important;
|
|
1178
|
+
margin-bottom: 1.5rem !important;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
.qti-margin-y-5 {
|
|
1182
|
+
margin-top: 3rem !important;
|
|
1183
|
+
margin-bottom: 3rem !important;
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
.qti-margin-y-auto {
|
|
1187
|
+
margin-top: auto !important;
|
|
1188
|
+
margin-bottom: auto !important;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
/*
|
|
1192
|
+
For margin Top
|
|
1193
|
+
*/
|
|
1194
|
+
|
|
1195
|
+
.qti-margin-t-0 {
|
|
1196
|
+
margin-top: 0 !important;
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
.qti-margin-t-1 {
|
|
1200
|
+
margin-top: 0.25rem !important;
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
.qti-margin-t-2 {
|
|
1204
|
+
margin-top: 0.5rem !important;
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
.qti-margin-t-3 {
|
|
1208
|
+
margin-top: 1rem !important;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
.qti-margin-t-4 {
|
|
1212
|
+
margin-top: 1.5rem !important;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
.qti-margin-t-5 {
|
|
1216
|
+
margin-top: 3rem !important;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
.qti-margin-t-auto {
|
|
1220
|
+
margin-top: auto !important;
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
/*
|
|
1224
|
+
For margin Bottom
|
|
1225
|
+
*/
|
|
1226
|
+
|
|
1227
|
+
.qti-margin-b-0 {
|
|
1228
|
+
margin-bottom: 0 !important;
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
.qti-margin-b-1 {
|
|
1232
|
+
margin-bottom: 0.25rem !important;
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
.qti-margin-b-2 {
|
|
1236
|
+
margin-bottom: 0.5rem !important;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
.qti-margin-b-3 {
|
|
1240
|
+
margin-bottom: 1rem !important;
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
.qti-margin-b-4 {
|
|
1244
|
+
margin-bottom: 1.5rem !important;
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
.qti-margin-b-5 {
|
|
1248
|
+
margin-bottom: 3rem !important;
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
.qti-margin-b-auto {
|
|
1252
|
+
margin-bottom: auto !important;
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
/*
|
|
1256
|
+
For margin Start LTR
|
|
1257
|
+
*/
|
|
1258
|
+
|
|
1259
|
+
.qti-margin-s-0 {
|
|
1260
|
+
margin-left: 0 !important;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
.qti-margin-s-1 {
|
|
1264
|
+
margin-left: 0.25rem !important;
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
.qti-margin-s-2 {
|
|
1268
|
+
margin-left: 0.5rem !important;
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
.qti-margin-s-3 {
|
|
1272
|
+
margin-left: 1rem !important;
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
.qti-margin-s-4 {
|
|
1276
|
+
margin-left: 1.5rem !important;
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1279
|
+
.qti-margin-s-5 {
|
|
1280
|
+
margin-left: 3rem !important;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
.qti-margin-s-auto {
|
|
1284
|
+
margin-left: auto !important;
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
/*
|
|
1288
|
+
For margin End LTR
|
|
1289
|
+
*/
|
|
1290
|
+
|
|
1291
|
+
.qti-margin-e-0 {
|
|
1292
|
+
margin-right: 0 !important;
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
.qti-margin-e-1 {
|
|
1296
|
+
margin-right: 0.25rem !important;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
.qti-margin-e-2 {
|
|
1300
|
+
margin-right: 0.5rem !important;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
.qti-margin-e-3 {
|
|
1304
|
+
margin-right: 1rem !important;
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
.qti-margin-e-4 {
|
|
1308
|
+
margin-right: 1.5rem !important;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
.qti-margin-e-5 {
|
|
1312
|
+
margin-right: 3rem !important;
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
.qti-margin-e-auto {
|
|
1316
|
+
margin-right: auto !important;
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
/* =========
|
|
1320
|
+
Padding css
|
|
1321
|
+
========== */
|
|
1322
|
+
|
|
1323
|
+
/*
|
|
1324
|
+
For padding Top and Bottom and Left and Right
|
|
1325
|
+
*/
|
|
1326
|
+
|
|
1327
|
+
.qti-padding-0 {
|
|
1328
|
+
padding: 0 !important;
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
.qti-padding-1 {
|
|
1332
|
+
padding: 0.25rem !important;
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1335
|
+
.qti-padding-2 {
|
|
1336
|
+
padding: 0.5rem !important;
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
.qti-padding-3 {
|
|
1340
|
+
padding: 1rem !important;
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
.qti-padding-4 {
|
|
1344
|
+
padding: 1.5rem !important;
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
.qti-padding-5 {
|
|
1348
|
+
padding: 3rem !important;
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
/*
|
|
1352
|
+
For padding Left and Right
|
|
1353
|
+
*/
|
|
1354
|
+
|
|
1355
|
+
.qti-padding-x-0 {
|
|
1356
|
+
padding-right: 0 !important;
|
|
1357
|
+
padding-left: 0 !important;
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
.qti-padding-x-1 {
|
|
1361
|
+
padding-right: 0.25rem !important;
|
|
1362
|
+
padding-left: 0.25rem !important;
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
.qti-padding-x-2 {
|
|
1366
|
+
padding-right: 0.5rem !important;
|
|
1367
|
+
padding-left: 0.5rem !important;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
.qti-padding-x-3 {
|
|
1371
|
+
padding-right: 1rem !important;
|
|
1372
|
+
padding-left: 1rem !important;
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
.qti-padding-x-4 {
|
|
1376
|
+
padding-right: 1.5rem !important;
|
|
1377
|
+
padding-left: 1.5rem !important;
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
.qti-padding-x-5 {
|
|
1381
|
+
padding-right: 3rem !important;
|
|
1382
|
+
padding-left: 3rem !important;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
/*
|
|
1386
|
+
For padding Top and Bottom
|
|
1387
|
+
*/
|
|
1388
|
+
|
|
1389
|
+
.qti-padding-y-0 {
|
|
1390
|
+
padding-top: 0 !important;
|
|
1391
|
+
padding-bottom: 0 !important;
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
.qti-padding-y-1 {
|
|
1395
|
+
padding-top: 0.25rem !important;
|
|
1396
|
+
padding-bottom: 0.25rem !important;
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
.qti-padding-y-2 {
|
|
1400
|
+
padding-top: 0.5rem !important;
|
|
1401
|
+
padding-bottom: 0.5rem !important;
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1404
|
+
.qti-padding-y-3 {
|
|
1405
|
+
padding-top: 1rem !important;
|
|
1406
|
+
padding-bottom: 1rem !important;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
.qti-padding-y-4 {
|
|
1410
|
+
padding-top: 1.5rem !important;
|
|
1411
|
+
padding-bottom: 1.5rem !important;
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
.qti-padding-y-5 {
|
|
1415
|
+
padding-top: 3rem !important;
|
|
1416
|
+
padding-bottom: 3rem !important;
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1419
|
+
/*
|
|
1420
|
+
For padding Top
|
|
1421
|
+
*/
|
|
1422
|
+
|
|
1423
|
+
.qti-padding-t-0 {
|
|
1424
|
+
padding-top: 0 !important;
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1427
|
+
.qti-padding-t-1 {
|
|
1428
|
+
padding-top: 0.25rem !important;
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
.qti-padding-t-2 {
|
|
1432
|
+
padding-top: 0.5rem !important;
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
.qti-padding-t-3 {
|
|
1436
|
+
padding-top: 1rem !important;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
.qti-padding-t-4 {
|
|
1440
|
+
padding-top: 1.5rem !important;
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
.qti-padding-t-5 {
|
|
1444
|
+
padding-top: 3rem !important;
|
|
1445
|
+
}
|
|
1446
|
+
|
|
1447
|
+
/*
|
|
1448
|
+
For padding Bottom
|
|
1449
|
+
*/
|
|
1450
|
+
|
|
1451
|
+
.qti-padding-b-0 {
|
|
1452
|
+
padding-bottom: 0 !important;
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
.qti-padding-b-1 {
|
|
1456
|
+
padding-bottom: 0.25rem !important;
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
.qti-padding-b-2 {
|
|
1460
|
+
padding-bottom: 0.5rem !important;
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
.qti-padding-b-3 {
|
|
1464
|
+
padding-bottom: 1rem !important;
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1467
|
+
.qti-padding-b-4 {
|
|
1468
|
+
padding-bottom: 1.5rem !important;
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
.qti-padding-b-5 {
|
|
1472
|
+
padding-bottom: 3rem !important;
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
/*
|
|
1476
|
+
For padding Start LTR
|
|
1477
|
+
*/
|
|
1478
|
+
|
|
1479
|
+
.qti-padding-s-0 {
|
|
1480
|
+
padding-left: 0 !important;
|
|
1481
|
+
}
|
|
1482
|
+
|
|
1483
|
+
.qti-padding-s-1 {
|
|
1484
|
+
padding-left: 0.25rem !important;
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
.qti-padding-s-2 {
|
|
1488
|
+
padding-left: 0.5rem !important;
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
.qti-padding-s-3 {
|
|
1492
|
+
padding-left: 1rem !important;
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
.qti-padding-s-4 {
|
|
1496
|
+
padding-left: 1.5rem !important;
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
.qti-padding-s-5 {
|
|
1500
|
+
padding-left: 3rem !important;
|
|
1501
|
+
}
|
|
1502
|
+
|
|
1503
|
+
/*
|
|
1504
|
+
For padding End LTR
|
|
1505
|
+
*/
|
|
1506
|
+
|
|
1507
|
+
.qti-padding-e-0 {
|
|
1508
|
+
padding-right: 0 !important;
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
.qti-padding-e-1 {
|
|
1512
|
+
padding-right: 0.25rem !important;
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
.qti-padding-e-2 {
|
|
1516
|
+
padding-right: 0.5rem !important;
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1519
|
+
.qti-padding-e-3 {
|
|
1520
|
+
padding-right: 1rem !important;
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
.qti-padding-e-4 {
|
|
1524
|
+
padding-right: 1.5rem !important;
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
.qti-padding-e-5 {
|
|
1528
|
+
padding-right: 3rem !important;
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1531
|
+
/* ====================
|
|
1532
|
+
Horizontal alignment
|
|
1533
|
+
==================== */
|
|
1534
|
+
|
|
1535
|
+
.qti-align-left {
|
|
1536
|
+
text-align: left;
|
|
1537
|
+
}
|
|
1538
|
+
|
|
1539
|
+
.qti-align-center {
|
|
1540
|
+
text-align: center;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
.qti-align-right {
|
|
1544
|
+
text-align: right;
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1547
|
+
/* ==================
|
|
1548
|
+
Vertical alignment
|
|
1549
|
+
================== */
|
|
1550
|
+
|
|
1551
|
+
.qti-valign-top {
|
|
1552
|
+
vertical-align: top;
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
.qti-valign-middle {
|
|
1556
|
+
vertical-align: middle;
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1559
|
+
.qti-valign-baseline {
|
|
1560
|
+
vertical-align: baseline;
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1563
|
+
.qti-valign-bottom {
|
|
1564
|
+
vertical-align: bottom;
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
/* =============
|
|
1568
|
+
Height styles
|
|
1569
|
+
============= */
|
|
1570
|
+
|
|
1571
|
+
.qti-height-0 {
|
|
1572
|
+
height: 0;
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
.qti-height-px {
|
|
1576
|
+
height: 1px;
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
.qti-height-0p5 {
|
|
1580
|
+
height: 0.125rem;
|
|
1581
|
+
}
|
|
1582
|
+
|
|
1583
|
+
.qti-height-1 {
|
|
1584
|
+
height: 0.25rem;
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
.qti-height-1p5 {
|
|
1588
|
+
height: 0.375rem;
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
.qti-height-2 {
|
|
1592
|
+
height: 0.5rem;
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
.qti-height-2p5 {
|
|
1596
|
+
height: 0.625rem;
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1599
|
+
.qti-height-3 {
|
|
1600
|
+
height: 0.75rem;
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1603
|
+
.qti-height-3p5 {
|
|
1604
|
+
height: 0.875rem;
|
|
1605
|
+
}
|
|
1606
|
+
|
|
1607
|
+
.qti-height-4 {
|
|
1608
|
+
height: 1rem;
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
.qti-height-5 {
|
|
1612
|
+
height: 1.25rem;
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1615
|
+
.qti-height-6 {
|
|
1616
|
+
height: 1.5rem;
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1619
|
+
.qti-height-7 {
|
|
1620
|
+
height: 1.75rem;
|
|
1621
|
+
}
|
|
1622
|
+
|
|
1623
|
+
.qti-height-8 {
|
|
1624
|
+
height: 2rem;
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
.qti-height-9 {
|
|
1628
|
+
height: 2.25rem;
|
|
1629
|
+
}
|
|
1630
|
+
|
|
1631
|
+
.qti-height-10 {
|
|
1632
|
+
height: 2.5rem;
|
|
1633
|
+
}
|
|
1634
|
+
|
|
1635
|
+
.qti-height-11 {
|
|
1636
|
+
height: 2.75rem;
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1639
|
+
.qti-height-12 {
|
|
1640
|
+
height: 3rem;
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
.qti-height-14 {
|
|
1644
|
+
height: 3.5rem;
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
.qti-height-16 {
|
|
1648
|
+
height: 4rem;
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1651
|
+
.qti-height-20 {
|
|
1652
|
+
height: 5rem;
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
.qti-height-24 {
|
|
1656
|
+
height: 6rem;
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1659
|
+
.qti-height-28 {
|
|
1660
|
+
height: 7rem;
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
.qti-height-32 {
|
|
1664
|
+
height: 8rem;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
.qti-height-36 {
|
|
1668
|
+
height: 9rem;
|
|
1669
|
+
}
|
|
1670
|
+
|
|
1671
|
+
.qti-height-40 {
|
|
1672
|
+
height: 10rem;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
.qti-height-44 {
|
|
1676
|
+
height: 11rem;
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
.qti-height-48 {
|
|
1680
|
+
height: 12rem;
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
.qti-height-52 {
|
|
1684
|
+
height: 13rem;
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
.qti-height-56 {
|
|
1688
|
+
height: 14rem;
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
.qti-height-60 {
|
|
1692
|
+
height: 15rem;
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
.qti-height-64 {
|
|
1696
|
+
height: 16rem;
|
|
1697
|
+
}
|
|
1698
|
+
|
|
1699
|
+
.qti-height-72 {
|
|
1700
|
+
height: 18rem;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
.qti-height-80 {
|
|
1704
|
+
height: 20rem;
|
|
1705
|
+
}
|
|
1706
|
+
|
|
1707
|
+
.qti-height-96 {
|
|
1708
|
+
height: 24rem;
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
.qti-height-1-2 {
|
|
1712
|
+
height: 50%;
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
.qti-height-1-3 {
|
|
1716
|
+
height: 33.333333%;
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
.qti-height-2-3 {
|
|
1720
|
+
height: 66.666667%;
|
|
1721
|
+
}
|
|
1722
|
+
|
|
1723
|
+
.qti-height-1-4 {
|
|
1724
|
+
height: 25%;
|
|
1725
|
+
}
|
|
1726
|
+
|
|
1727
|
+
.qti-height-2-4 {
|
|
1728
|
+
height: 50%;
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
.qti-height-3-4 {
|
|
1732
|
+
height: 75%;
|
|
1733
|
+
}
|
|
1734
|
+
|
|
1735
|
+
.qti-height-1-5 {
|
|
1736
|
+
height: 20%;
|
|
1737
|
+
}
|
|
1738
|
+
|
|
1739
|
+
.qti-height-2-5 {
|
|
1740
|
+
height: 40%;
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
.qti-height-3-5 {
|
|
1744
|
+
height: 60%;
|
|
1745
|
+
}
|
|
1746
|
+
|
|
1747
|
+
.qti-height-4-5 {
|
|
1748
|
+
height: 80%;
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1751
|
+
.qti-height-1-6 {
|
|
1752
|
+
height: 16.666667%;
|
|
1753
|
+
}
|
|
1754
|
+
|
|
1755
|
+
.qti-height-2-6 {
|
|
1756
|
+
height: 33.333333%;
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1759
|
+
.qti-height-3-6 {
|
|
1760
|
+
height: 50%;
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
.qti-height-4-6 {
|
|
1764
|
+
height: 66.666667%;
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
.qti-height-5-6 {
|
|
1768
|
+
height: 83.333333%;
|
|
1769
|
+
}
|
|
1770
|
+
|
|
1771
|
+
.qti-height-auto {
|
|
1772
|
+
height: auto;
|
|
1773
|
+
}
|
|
1774
|
+
|
|
1775
|
+
.qti-height-full {
|
|
1776
|
+
height: 100%;
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
/* ============
|
|
1780
|
+
Width styles
|
|
1781
|
+
============ */
|
|
1782
|
+
|
|
1783
|
+
.qti-width-0 {
|
|
1784
|
+
width: 0;
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1787
|
+
.qti-width-px {
|
|
1788
|
+
width: 1px;
|
|
1789
|
+
}
|
|
1790
|
+
|
|
1791
|
+
.qti-width-0p5 {
|
|
1792
|
+
width: 0.125rem;
|
|
1793
|
+
}
|
|
1794
|
+
|
|
1795
|
+
.qti-width-1 {
|
|
1796
|
+
width: 0.25rem;
|
|
1797
|
+
}
|
|
1798
|
+
|
|
1799
|
+
.qti-width-1p5 {
|
|
1800
|
+
width: 0.375rem;
|
|
1801
|
+
}
|
|
1802
|
+
|
|
1803
|
+
.qti-width-2 {
|
|
1804
|
+
width: 0.5rem;
|
|
1805
|
+
}
|
|
1806
|
+
|
|
1807
|
+
.qti-width-2p5 {
|
|
1808
|
+
width: 0.625rem;
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
.qti-width-3 {
|
|
1812
|
+
width: 0.75rem;
|
|
1813
|
+
}
|
|
1814
|
+
|
|
1815
|
+
.qti-width-3p5 {
|
|
1816
|
+
width: 0.875rem;
|
|
1817
|
+
}
|
|
1818
|
+
|
|
1819
|
+
.qti-width-4 {
|
|
1820
|
+
width: 1rem;
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
.qti-width-5 {
|
|
1824
|
+
width: 1.25rem;
|
|
1825
|
+
}
|
|
1826
|
+
|
|
1827
|
+
.qti-width-6 {
|
|
1828
|
+
width: 1.5rem;
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
.qti-width-7 {
|
|
1832
|
+
width: 1.75rem;
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1835
|
+
.qti-width-8 {
|
|
1836
|
+
width: 2rem;
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
.qti-width-9 {
|
|
1840
|
+
width: 2.25rem;
|
|
1841
|
+
}
|
|
1842
|
+
|
|
1843
|
+
.qti-width-10 {
|
|
1844
|
+
width: 2.5rem;
|
|
1845
|
+
}
|
|
1846
|
+
|
|
1847
|
+
.qti-width-11 {
|
|
1848
|
+
width: 2.75rem;
|
|
1849
|
+
}
|
|
1850
|
+
|
|
1851
|
+
.qti-width-12 {
|
|
1852
|
+
width: 3rem;
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
.qti-width-14 {
|
|
1856
|
+
width: 3.5rem;
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1859
|
+
.qti-width-16 {
|
|
1860
|
+
width: 4rem;
|
|
1861
|
+
}
|
|
1862
|
+
|
|
1863
|
+
.qti-width-20 {
|
|
1864
|
+
width: 5rem;
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
.qti-width-24 {
|
|
1868
|
+
width: 6rem;
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1871
|
+
.qti-width-28 {
|
|
1872
|
+
width: 7rem;
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
.qti-width-32 {
|
|
1876
|
+
width: 8rem;
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1879
|
+
.qti-width-36 {
|
|
1880
|
+
width: 9rem;
|
|
1881
|
+
}
|
|
1882
|
+
|
|
1883
|
+
.qti-width-40 {
|
|
1884
|
+
width: 10rem;
|
|
1885
|
+
}
|
|
1886
|
+
|
|
1887
|
+
.qti-width-44 {
|
|
1888
|
+
width: 11rem;
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1891
|
+
.qti-width-48 {
|
|
1892
|
+
width: 12rem;
|
|
1893
|
+
}
|
|
1894
|
+
|
|
1895
|
+
.qti-width-52 {
|
|
1896
|
+
width: 13rem;
|
|
1897
|
+
}
|
|
1898
|
+
|
|
1899
|
+
.qti-width-56 {
|
|
1900
|
+
width: 14rem;
|
|
1901
|
+
}
|
|
1902
|
+
|
|
1903
|
+
.qti-width-60 {
|
|
1904
|
+
width: 15rem;
|
|
1905
|
+
}
|
|
1906
|
+
|
|
1907
|
+
.qti-width-64 {
|
|
1908
|
+
width: 16rem;
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
.qti-width-72 {
|
|
1912
|
+
width: 18rem;
|
|
1913
|
+
}
|
|
1914
|
+
|
|
1915
|
+
.qti-width-80 {
|
|
1916
|
+
width: 20rem;
|
|
1917
|
+
}
|
|
1918
|
+
|
|
1919
|
+
.qti-width-96 {
|
|
1920
|
+
width: 24rem;
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1923
|
+
.qti-width-auto {
|
|
1924
|
+
width: auto;
|
|
1925
|
+
}
|
|
1926
|
+
|
|
1927
|
+
.qti-width-1-2 {
|
|
1928
|
+
width: 50%;
|
|
1929
|
+
}
|
|
1930
|
+
|
|
1931
|
+
.qti-width-1-3 {
|
|
1932
|
+
width: 33.333333%;
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
.qti-width-2-3 {
|
|
1936
|
+
width: 66.666667%;
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1939
|
+
.qti-width-1-4 {
|
|
1940
|
+
width: 25%;
|
|
1941
|
+
}
|
|
1942
|
+
|
|
1943
|
+
.qti-width-2-4 {
|
|
1944
|
+
width: 50%;
|
|
1945
|
+
}
|
|
1946
|
+
|
|
1947
|
+
.qti-width-3-4 {
|
|
1948
|
+
width: 75%;
|
|
1949
|
+
}
|
|
1950
|
+
|
|
1951
|
+
.qti-width-1-5 {
|
|
1952
|
+
width: 20%;
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
.qti-width-2-5 {
|
|
1956
|
+
width: 40%;
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
.qti-width-3-5 {
|
|
1960
|
+
width: 60%;
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1963
|
+
.qti-width-4-5 {
|
|
1964
|
+
width: 80%;
|
|
1965
|
+
}
|
|
1966
|
+
|
|
1967
|
+
.qti-width-1-6 {
|
|
1968
|
+
width: 16.666667%;
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
.qti-width-2-6 {
|
|
1972
|
+
width: 33.333333%;
|
|
1973
|
+
}
|
|
1974
|
+
|
|
1975
|
+
.qti-width-3-6 {
|
|
1976
|
+
width: 50%;
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
.qti-width-4-6 {
|
|
1980
|
+
width: 66.666667%;
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
.qti-width-5-6 {
|
|
1984
|
+
width: 83.333333%;
|
|
1985
|
+
}
|
|
1986
|
+
|
|
1987
|
+
.qti-width-1-12 {
|
|
1988
|
+
width: 8.333333%;
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1991
|
+
.qti-width-2-12 {
|
|
1992
|
+
width: 16.666667%;
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
.qti-width-3-12 {
|
|
1996
|
+
width: 25%;
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
.qti-width-4-12 {
|
|
2000
|
+
width: 33.333333%;
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
.qti-width-5-12 {
|
|
2004
|
+
width: 41.666667%;
|
|
2005
|
+
}
|
|
2006
|
+
|
|
2007
|
+
.qti-width-6-12 {
|
|
2008
|
+
width: 50%;
|
|
2009
|
+
}
|
|
2010
|
+
|
|
2011
|
+
.qti-width-7-12 {
|
|
2012
|
+
width: 58.333333%;
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
.qti-width-8-12 {
|
|
2016
|
+
width: 66.666667%;
|
|
2017
|
+
}
|
|
2018
|
+
|
|
2019
|
+
.qti-width-9-12 {
|
|
2020
|
+
width: 75%;
|
|
2021
|
+
}
|
|
2022
|
+
|
|
2023
|
+
.qti-width-10-12 {
|
|
2024
|
+
width: 83.333333%;
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
.qti-width-11-12 {
|
|
2028
|
+
width: 91.666667%;
|
|
2029
|
+
}
|
|
2030
|
+
|
|
2031
|
+
.qti-width-full,
|
|
2032
|
+
.qti-fullwidth {
|
|
2033
|
+
width: 100%;
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
/* ==================
|
|
2037
|
+
Text Indent styles
|
|
2038
|
+
================== */
|
|
2039
|
+
|
|
2040
|
+
.qti-text-indent-0 {
|
|
2041
|
+
text-indent: 0;
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2044
|
+
.qti-text-indent-px {
|
|
2045
|
+
text-indent: 1px;
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
.qti-text-indent-0p5 {
|
|
2049
|
+
text-indent: 0.125rem;
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
.qti-text-indent-1 {
|
|
2053
|
+
text-indent: 0.25rem;
|
|
2054
|
+
}
|
|
2055
|
+
|
|
2056
|
+
.qti-text-indent-1p5 {
|
|
2057
|
+
text-indent: 0.375rem;
|
|
2058
|
+
}
|
|
2059
|
+
|
|
2060
|
+
.qti-text-indent-2 {
|
|
2061
|
+
text-indent: 0.5rem;
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2064
|
+
.qti-text-indent-2p5 {
|
|
2065
|
+
text-indent: 0.625rem;
|
|
2066
|
+
}
|
|
2067
|
+
|
|
2068
|
+
.qti-text-indent-3 {
|
|
2069
|
+
text-indent: 0.75rem;
|
|
2070
|
+
}
|
|
2071
|
+
|
|
2072
|
+
.qti-text-indent-3p5 {
|
|
2073
|
+
text-indent: 0.875rem;
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
.qti-text-indent-4 {
|
|
2077
|
+
text-indent: 1rem;
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
.qti-text-indent-5 {
|
|
2081
|
+
text-indent: 1.25rem;
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
.qti-text-indent-6 {
|
|
2085
|
+
text-indent: 1.5rem;
|
|
2086
|
+
}
|
|
2087
|
+
|
|
2088
|
+
.qti-text-indent-7 {
|
|
2089
|
+
text-indent: 1.75rem;
|
|
2090
|
+
}
|
|
2091
|
+
|
|
2092
|
+
.qti-text-indent-8 {
|
|
2093
|
+
text-indent: 2rem;
|
|
2094
|
+
}
|
|
2095
|
+
|
|
2096
|
+
.qti-text-indent-12 {
|
|
2097
|
+
text-indent: 3rem;
|
|
2098
|
+
}
|
|
2099
|
+
|
|
2100
|
+
.qti-text-indent-16 {
|
|
2101
|
+
text-indent: 4rem;
|
|
2102
|
+
}
|
|
2103
|
+
|
|
2104
|
+
.qti-text-indent-20 {
|
|
2105
|
+
text-indent: 5rem;
|
|
2106
|
+
}
|
|
2107
|
+
|
|
2108
|
+
.qti-text-indent-24 {
|
|
2109
|
+
text-indent: 6rem;
|
|
2110
|
+
}
|
|
2111
|
+
|
|
2112
|
+
.qti-text-indent-28 {
|
|
2113
|
+
text-indent: 7rem;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
.qti-text-indent-32 {
|
|
2117
|
+
text-indent: 8rem;
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2120
|
+
/* =================
|
|
2121
|
+
List Style styles
|
|
2122
|
+
================= */
|
|
2123
|
+
|
|
2124
|
+
.qti-list-style-type-none {
|
|
2125
|
+
list-style-type: none;
|
|
2126
|
+
}
|
|
2127
|
+
|
|
2128
|
+
.qti-list-style-type-disc {
|
|
2129
|
+
list-style-type: disc;
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
.qti-list-style-type-circle {
|
|
2133
|
+
list-style-type: circle;
|
|
2134
|
+
}
|
|
2135
|
+
|
|
2136
|
+
.qti-list-style-type-square {
|
|
2137
|
+
list-style-type: square;
|
|
2138
|
+
}
|
|
2139
|
+
|
|
2140
|
+
.qti-list-style-type-decimal {
|
|
2141
|
+
list-style-type: decimal;
|
|
2142
|
+
}
|
|
2143
|
+
|
|
2144
|
+
.qti-list-style-type-decimal-leading-zero {
|
|
2145
|
+
list-style-type: decimal-leading-zero;
|
|
2146
|
+
}
|
|
2147
|
+
|
|
2148
|
+
.qti-list-style-type-lower-alpha {
|
|
2149
|
+
list-style-type: lower-alpha;
|
|
2150
|
+
}
|
|
2151
|
+
|
|
2152
|
+
.qti-list-style-type-upper-alpha {
|
|
2153
|
+
list-style-type: upper-alpha;
|
|
2154
|
+
}
|
|
2155
|
+
|
|
2156
|
+
.qti-list-style-type-lower-roman {
|
|
2157
|
+
list-style-type: lower-roman;
|
|
2158
|
+
}
|
|
2159
|
+
|
|
2160
|
+
.qti-list-style-type-upper-roman {
|
|
2161
|
+
list-style-type: upper-roman;
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2164
|
+
.qti-list-style-type-lower-latin {
|
|
2165
|
+
list-style-type: lower-latin;
|
|
2166
|
+
}
|
|
2167
|
+
|
|
2168
|
+
.qti-list-style-type-upper-latin {
|
|
2169
|
+
list-style-type: upper-latin;
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2172
|
+
.qti-list-style-type-lower-greek {
|
|
2173
|
+
list-style-type: lower-greek;
|
|
2174
|
+
}
|
|
2175
|
+
|
|
2176
|
+
.qti-list-style-type-arabic-indic {
|
|
2177
|
+
list-style-type: arabic-indic;
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2180
|
+
.qti-list-style-type-armenian {
|
|
2181
|
+
list-style-type: armenian;
|
|
2182
|
+
}
|
|
2183
|
+
|
|
2184
|
+
.qti-list-style-type-lower-armenian {
|
|
2185
|
+
list-style-type: lower-armenian;
|
|
2186
|
+
}
|
|
2187
|
+
|
|
2188
|
+
.qti-list-style-type-upper-armenian {
|
|
2189
|
+
list-style-type: upper-armenian;
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
.qti-list-style-type-bengali {
|
|
2193
|
+
list-style-type: bengali;
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
.qti-list-style-type-cambodian {
|
|
2197
|
+
list-style-type: cambodian;
|
|
2198
|
+
}
|
|
2199
|
+
|
|
2200
|
+
.qti-list-style-type-simp-chinese-formal {
|
|
2201
|
+
list-style-type: simp-chinese-formal;
|
|
2202
|
+
}
|
|
2203
|
+
|
|
2204
|
+
.qti-list-style-type-simp-chinese-informal {
|
|
2205
|
+
list-style-type: simp-chinese-informal;
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2208
|
+
.qti-list-style-type-trad-chinese-formal {
|
|
2209
|
+
list-style-type: trad-chinese-formal;
|
|
2210
|
+
}
|
|
2211
|
+
|
|
2212
|
+
.qti-list-style-type-trad-chinese-informal {
|
|
2213
|
+
list-style-type: trad-chinese-informal;
|
|
2214
|
+
}
|
|
2215
|
+
|
|
2216
|
+
.qti-list-style-type-cjk-ideographic {
|
|
2217
|
+
list-style-type: cjk-ideographic;
|
|
2218
|
+
}
|
|
2219
|
+
|
|
2220
|
+
.qti-list-style-type-cjk-heavenly-stem {
|
|
2221
|
+
list-style-type: cjk-heavenly-stem;
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2224
|
+
.qti-list-style-type-cjk-earthly-branch {
|
|
2225
|
+
list-style-type: cjk-earthly-branch;
|
|
2226
|
+
}
|
|
2227
|
+
|
|
2228
|
+
.qti-list-style-type-devanagari {
|
|
2229
|
+
list-style-type: devanagari;
|
|
2230
|
+
}
|
|
2231
|
+
|
|
2232
|
+
.qti-list-style-type-ethiopic-halehame-ti-er {
|
|
2233
|
+
list-style-type: ethiopic-halehame-ti-er;
|
|
2234
|
+
}
|
|
2235
|
+
|
|
2236
|
+
.qti-list-style-type-ethiopic-halehame-ti-et {
|
|
2237
|
+
list-style-type: ethiopic-halehame-ti-et;
|
|
2238
|
+
}
|
|
2239
|
+
|
|
2240
|
+
.qti-list-style-type-ethiopic-halehame-am {
|
|
2241
|
+
list-style-type: ethiopic-halehame-am;
|
|
2242
|
+
}
|
|
2243
|
+
|
|
2244
|
+
.qti-list-style-type-ethiopic-halehame {
|
|
2245
|
+
list-style-type: ethiopic-halehame;
|
|
2246
|
+
}
|
|
2247
|
+
|
|
2248
|
+
.qti-list-style-type-georgian {
|
|
2249
|
+
list-style-type: georgian;
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2252
|
+
.qti-list-style-type-gujarati {
|
|
2253
|
+
list-style-type: gujarati;
|
|
2254
|
+
}
|
|
2255
|
+
|
|
2256
|
+
.qti-list-style-type-gurmukhi {
|
|
2257
|
+
list-style-type: gurmukhi;
|
|
2258
|
+
}
|
|
2259
|
+
|
|
2260
|
+
.qti-list-style-type-hangul {
|
|
2261
|
+
list-style-type: hangul;
|
|
2262
|
+
}
|
|
2263
|
+
|
|
2264
|
+
.qti-list-style-type-hangul-consonant {
|
|
2265
|
+
list-style-type: hangul-consonant;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2268
|
+
.qti-list-style-type-hebrew {
|
|
2269
|
+
list-style-type: hebrew;
|
|
2270
|
+
}
|
|
2271
|
+
|
|
2272
|
+
.qti-list-style-type-hiragana {
|
|
2273
|
+
list-style-type: hiragana;
|
|
2274
|
+
}
|
|
2275
|
+
|
|
2276
|
+
.qti-list-style-type-hiragana-iroha {
|
|
2277
|
+
list-style-type: hiragana-iroha;
|
|
2278
|
+
}
|
|
2279
|
+
|
|
2280
|
+
.qti-list-style-type-khmer {
|
|
2281
|
+
list-style-type: khmer;
|
|
2282
|
+
}
|
|
2283
|
+
|
|
2284
|
+
.qti-list-style-type-korean-hangul-formal {
|
|
2285
|
+
list-style-type: korean-hangul-formal;
|
|
2286
|
+
}
|
|
2287
|
+
|
|
2288
|
+
.qti-list-style-type-korean-hanja-formal {
|
|
2289
|
+
list-style-type: korean-hanja-formal;
|
|
2290
|
+
}
|
|
2291
|
+
|
|
2292
|
+
.qti-list-style-type-korean-hanja-informal {
|
|
2293
|
+
list-style-type: korean-hanja-informal;
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
.qti-list-style-type-lao {
|
|
2297
|
+
list-style-type: lao;
|
|
2298
|
+
}
|
|
2299
|
+
|
|
2300
|
+
.qti-list-style-type-malayalam {
|
|
2301
|
+
list-style-type: malayalam;
|
|
2302
|
+
}
|
|
2303
|
+
|
|
2304
|
+
.qti-list-style-type-mongolian {
|
|
2305
|
+
list-style-type: mongolian;
|
|
2306
|
+
}
|
|
2307
|
+
|
|
2308
|
+
.qti-list-style-type-myanmar {
|
|
2309
|
+
list-style-type: myanmar;
|
|
2310
|
+
}
|
|
2311
|
+
|
|
2312
|
+
.qti-list-style-type-oriya {
|
|
2313
|
+
list-style-type: oriya;
|
|
2314
|
+
}
|
|
2315
|
+
|
|
2316
|
+
.qti-list-style-type-persian {
|
|
2317
|
+
list-style-type: persian;
|
|
2318
|
+
}
|
|
2319
|
+
|
|
2320
|
+
.qti-list-style-type-thai {
|
|
2321
|
+
list-style-type: thai;
|
|
2322
|
+
}
|
|
2323
|
+
|
|
2324
|
+
.qti-list-style-type-tibetan {
|
|
2325
|
+
list-style-type: tibetan;
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2328
|
+
.qti-list-style-type-telugu {
|
|
2329
|
+
list-style-type: telugu;
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2332
|
+
.qti-list-style-type-urdu {
|
|
2333
|
+
list-style-type: urdu;
|
|
2334
|
+
}
|
|
2335
|
+
|
|
2336
|
+
/* =========================
|
|
2337
|
+
Other QTI 3 Presentation Utilities
|
|
2338
|
+
========================= */
|
|
2339
|
+
|
|
2340
|
+
.qti-bordered {
|
|
2341
|
+
border: 1px solid var(--table-border-color);
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
.qti-underline {
|
|
2345
|
+
text-decoration: underline;
|
|
2346
|
+
text-decoration-color: var(--foreground);
|
|
2347
|
+
}
|
|
2348
|
+
|
|
2349
|
+
.qti-italic {
|
|
2350
|
+
font-style: italic;
|
|
2351
|
+
}
|
|
2352
|
+
|
|
2353
|
+
.qti-well {
|
|
2354
|
+
min-height: 20px;
|
|
2355
|
+
padding: 19px;
|
|
2356
|
+
margin-bottom: 20px;
|
|
2357
|
+
background-color: var(--well-bg);
|
|
2358
|
+
border: var(--well-border);
|
|
2359
|
+
border-radius: 4px;
|
|
2360
|
+
box-shadow: var(--well-box-shadow);
|
|
2361
|
+
}
|
|
2362
|
+
|
|
2363
|
+
/* Set writing-mode to vertical-rl
|
|
2364
|
+
Typical for CJK vertical text */
|
|
2365
|
+
|
|
2366
|
+
.qti-writing-mode-vertical-rl {
|
|
2367
|
+
writing-mode: vertical-rl;
|
|
2368
|
+
}
|
|
2369
|
+
|
|
2370
|
+
/* Set writing-mode to vertical-lr
|
|
2371
|
+
Typical for Mongolian vertical text */
|
|
2372
|
+
|
|
2373
|
+
.qti-writing-mode-vertical-lr {
|
|
2374
|
+
writing-mode: vertical-lr;
|
|
2375
|
+
}
|
|
2376
|
+
|
|
2377
|
+
/* Set writing-mode to horizontal-tb
|
|
2378
|
+
Browser default */
|
|
2379
|
+
|
|
2380
|
+
.qti-writing-mode-horizontal-tb {
|
|
2381
|
+
writing-mode: horizontal-tb;
|
|
2382
|
+
}
|
|
2383
|
+
|
|
2384
|
+
/* Float an element left */
|
|
2385
|
+
|
|
2386
|
+
.qti-float-left {
|
|
2387
|
+
float: left;
|
|
2388
|
+
}
|
|
2389
|
+
|
|
2390
|
+
/* Float an element right */
|
|
2391
|
+
|
|
2392
|
+
.qti-float-right {
|
|
2393
|
+
float: right;
|
|
2394
|
+
}
|
|
2395
|
+
|
|
2396
|
+
/* Remove a float */
|
|
2397
|
+
|
|
2398
|
+
.qti-float-none {
|
|
2399
|
+
float: none;
|
|
2400
|
+
}
|
|
2401
|
+
|
|
2402
|
+
/* Clearfix Hack to apply to a container of
|
|
2403
|
+
floated content that overflows the container. */
|
|
2404
|
+
|
|
2405
|
+
.qti-float-clearfix::after {
|
|
2406
|
+
content: '';
|
|
2407
|
+
clear: both;
|
|
2408
|
+
display: table;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
.qti-float-clear-left
|
|
2412
|
+
.qti-float-clear-right
|
|
2413
|
+
.qti-float-clear-both
|
|
2414
|
+
|
|
2415
|
+
/* Set text-orientation to upright */
|
|
2416
|
+
.qti-text-orientation-upright {
|
|
2417
|
+
text-orientation: upright;
|
|
2418
|
+
}
|
|
2419
|
+
|
|
2420
|
+
@layer qti-base {
|
|
2421
|
+
.qti-layout-row {
|
|
2422
|
+
display: flex;
|
|
2423
|
+
flex-wrap: wrap;
|
|
2424
|
+
width: 100%;
|
|
2425
|
+
gap: 2.1276595745%;
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2428
|
+
.qti-layout-row [class*='qti-layout-col'] {
|
|
2429
|
+
box-sizing: border-box;
|
|
2430
|
+
}
|
|
2431
|
+
|
|
2432
|
+
.qti-layout-col1 {
|
|
2433
|
+
width: 6.3829787234%;
|
|
2434
|
+
}
|
|
2435
|
+
|
|
2436
|
+
.qti-layout-col2 {
|
|
2437
|
+
width: 14.8936170213%;
|
|
2438
|
+
}
|
|
2439
|
+
|
|
2440
|
+
.qti-layout-col3 {
|
|
2441
|
+
width: 23.4042553191%;
|
|
2442
|
+
}
|
|
2443
|
+
|
|
2444
|
+
.qti-layout-col4 {
|
|
2445
|
+
width: 31.914893617%;
|
|
2446
|
+
}
|
|
2447
|
+
|
|
2448
|
+
.qti-layout-col5 {
|
|
2449
|
+
width: 40.4255319149%;
|
|
2450
|
+
}
|
|
2451
|
+
|
|
2452
|
+
.qti-layout-col6 {
|
|
2453
|
+
width: 48.9361702128%;
|
|
2454
|
+
}
|
|
2455
|
+
|
|
2456
|
+
.qti-layout-col7 {
|
|
2457
|
+
width: 57.4468085106%;
|
|
2458
|
+
}
|
|
2459
|
+
|
|
2460
|
+
.qti-layout-col8 {
|
|
2461
|
+
width: 65.9574468085%;
|
|
2462
|
+
}
|
|
2463
|
+
|
|
2464
|
+
.qti-layout-col9 {
|
|
2465
|
+
width: 74.4680851064%;
|
|
2466
|
+
}
|
|
2467
|
+
|
|
2468
|
+
.qti-layout-col10 {
|
|
2469
|
+
width: 82.9787234043%;
|
|
2470
|
+
}
|
|
2471
|
+
|
|
2472
|
+
.qti-layout-col11 {
|
|
2473
|
+
width: 91.4893617021%;
|
|
2474
|
+
}
|
|
2475
|
+
|
|
2476
|
+
.qti-layout-col12 {
|
|
2477
|
+
width: 100%;
|
|
2478
|
+
}
|
|
2479
|
+
|
|
2480
|
+
.qti-layout-offset1 {
|
|
2481
|
+
margin-left: 8.5106382979%;
|
|
2482
|
+
}
|
|
2483
|
+
|
|
2484
|
+
.qti-layout-offset2 {
|
|
2485
|
+
margin-left: 17.0212765957%;
|
|
2486
|
+
}
|
|
2487
|
+
|
|
2488
|
+
.qti-layout-offset3 {
|
|
2489
|
+
margin-left: 25.5319148936%;
|
|
2490
|
+
}
|
|
2491
|
+
|
|
2492
|
+
.qti-layout-offset4 {
|
|
2493
|
+
margin-left: 34.0425531915%;
|
|
2494
|
+
}
|
|
2495
|
+
|
|
2496
|
+
.qti-layout-offset5 {
|
|
2497
|
+
margin-left: 42.5531914894%;
|
|
2498
|
+
}
|
|
2499
|
+
|
|
2500
|
+
.qti-layout-offset6 {
|
|
2501
|
+
margin-left: 51.0638297872%;
|
|
2502
|
+
}
|
|
2503
|
+
|
|
2504
|
+
.qti-layout-offset7 {
|
|
2505
|
+
margin-left: 59.5744680851%;
|
|
2506
|
+
}
|
|
2507
|
+
|
|
2508
|
+
.qti-layout-offset8 {
|
|
2509
|
+
margin-left: 68.085106383%;
|
|
2510
|
+
}
|
|
2511
|
+
|
|
2512
|
+
.qti-layout-offset9 {
|
|
2513
|
+
margin-left: 76.5957446809%;
|
|
2514
|
+
}
|
|
2515
|
+
|
|
2516
|
+
.qti-layout-offset10 {
|
|
2517
|
+
margin-left: 85.1063829787%;
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
.qti-layout-offset11 {
|
|
2521
|
+
margin-left: 93.6170212766%;
|
|
2522
|
+
}
|
|
2523
|
+
|
|
2524
|
+
.qti-layout-offset12 {
|
|
2525
|
+
margin-left: 102.1276595745%;
|
|
2526
|
+
}
|
|
2527
|
+
|
|
2528
|
+
@media (width <= 767px) {
|
|
2529
|
+
[class*='qti-layout-col'] {
|
|
2530
|
+
width: 100%;
|
|
2531
|
+
}
|
|
2532
|
+
}
|
|
2533
|
+
}
|
|
2534
|
+
|
|
2535
|
+
[view],
|
|
2536
|
+
qti-outcome-declaration,
|
|
2537
|
+
qti-response-declaration {
|
|
2538
|
+
display: none;
|
|
2539
|
+
}
|
|
2540
|
+
|
|
2541
|
+
[view].show {
|
|
2542
|
+
display: block;
|
|
2543
|
+
}
|
|
2544
|
+
|
|
2545
|
+
:host {
|
|
2546
|
+
box-sizing: border-box;
|
|
2547
|
+
}
|
|
2548
|
+
|
|
2549
|
+
*,
|
|
2550
|
+
*::before,
|
|
2551
|
+
*::after {
|
|
2552
|
+
box-sizing: inherit;
|
|
2553
|
+
}
|
|
2554
|
+
|
|
2555
|
+
[popover] {
|
|
2556
|
+
position: fixed;
|
|
2557
|
+
inset: 0;
|
|
2558
|
+
margin: auto;
|
|
2559
|
+
border: solid;
|
|
2560
|
+
padding: 0.25em;
|
|
2561
|
+
overflow: auto;
|
|
2562
|
+
color: CanvasText;
|
|
2563
|
+
background-color: Canvas;
|
|
2564
|
+
}
|
|
2565
|
+
|
|
2566
|
+
[popovertarget] {
|
|
2567
|
+
all: unset;
|
|
2568
|
+
cursor: pointer;
|
|
2569
|
+
}
|
|
2570
|
+
|
|
2571
|
+
/* components */
|
|
2572
|
+
|
|
2573
|
+
@layer qti-components {
|
|
2574
|
+
qti-choice-interaction {
|
|
2575
|
+
&.qti-input-control-hidden {
|
|
2576
|
+
& qti-simple-choice {
|
|
2577
|
+
|
|
2578
|
+
&:hover {
|
|
2579
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
2580
|
+
}
|
|
2581
|
+
|
|
2582
|
+
&:focus {
|
|
2583
|
+
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
2584
|
+
}
|
|
2585
|
+
|
|
2586
|
+
&::part(ch) {
|
|
2587
|
+
display: none;
|
|
2588
|
+
}
|
|
2589
|
+
|
|
2590
|
+
&[aria-checked='true'] {
|
|
1004
2591
|
border-color: var(--qti-bg-primary);
|
|
1005
2592
|
}
|
|
2593
|
+
|
|
1006
2594
|
&[aria-readonly='true'] {
|
|
1007
2595
|
cursor: pointer;
|
|
1008
2596
|
background-color: white;
|
|
1009
2597
|
outline: 0;
|
|
1010
2598
|
border: none;
|
|
1011
2599
|
}
|
|
2600
|
+
|
|
1012
2601
|
&[aria-disabled='true'] {
|
|
1013
2602
|
cursor: not-allowed;
|
|
1014
2603
|
background-color: var(--qti-bg-gray-100);
|
|
1015
2604
|
color: var(--qti-text-gray-500);
|
|
1016
2605
|
border-color: var(--qti-border-color-gray);
|
|
1017
2606
|
}
|
|
1018
|
-
|
|
1019
|
-
outline: none;
|
|
2607
|
+
|
|
1020
2608
|
border-radius: var(--qti-border-radius-md);
|
|
1021
|
-
|
|
2609
|
+
|
|
2610
|
+
padding: var(--qti-padding-md) var(--qti-padding-md);
|
|
2611
|
+
|
|
1022
2612
|
font-weight: var(--qti-font-weight-semibold);
|
|
2613
|
+
|
|
1023
2614
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
2615
|
+
|
|
1024
2616
|
outline: none
|
|
1025
2617
|
}
|
|
1026
2618
|
}
|
|
2619
|
+
|
|
1027
2620
|
&:not(.qti-input-control-hidden) {
|
|
1028
2621
|
& qti-simple-choice {
|
|
1029
|
-
|
|
1030
|
-
|
|
2622
|
+
|
|
2623
|
+
&:not([aria-disabled='true'], [aria-readonly='true']):hover {
|
|
2624
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1031
2625
|
}
|
|
2626
|
+
|
|
1032
2627
|
&:focus {
|
|
1033
2628
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1034
2629
|
}
|
|
2630
|
+
|
|
1035
2631
|
&[aria-checked='true'] {
|
|
1036
2632
|
border-color: var(--qti-bg-primary);
|
|
1037
2633
|
}
|
|
2634
|
+
|
|
1038
2635
|
&[aria-readonly='true'] {
|
|
1039
2636
|
cursor: pointer;
|
|
1040
2637
|
background-color: white;
|
|
1041
2638
|
outline: 0;
|
|
1042
2639
|
border: none;
|
|
1043
2640
|
}
|
|
2641
|
+
|
|
1044
2642
|
&[aria-disabled='true'] {
|
|
1045
2643
|
cursor: not-allowed;
|
|
1046
2644
|
background-color: var(--qti-bg-gray-100);
|
|
@@ -1052,28 +2650,30 @@ qti-response-declaration {
|
|
|
1052
2650
|
width: calc(var(--qti-form-size) - 4px);
|
|
1053
2651
|
height: calc(var(--qti-form-size) - 4px);
|
|
1054
2652
|
}
|
|
2653
|
+
|
|
1055
2654
|
&[role='radio']::part(ch) {
|
|
1056
2655
|
border-radius: var(--qti-border-radius-full);
|
|
1057
2656
|
width: var(--qti-form-size);
|
|
1058
2657
|
height: var(--qti-form-size);
|
|
1059
2658
|
align-self: 1;
|
|
1060
2659
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1061
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1062
2660
|
outline: none;
|
|
1063
2661
|
}
|
|
2662
|
+
|
|
1064
2663
|
&[role='radio'][aria-checked='true']::part(cha) {
|
|
1065
2664
|
background-color: var(--qti-bg-primary);
|
|
1066
2665
|
border-radius: var(--qti-border-radius-full);
|
|
1067
2666
|
}
|
|
2667
|
+
|
|
1068
2668
|
&[role='checkbox']::part(ch) {
|
|
1069
2669
|
border-radius: var(--qti-border-radius-md);
|
|
1070
2670
|
width: var(--qti-form-size);
|
|
1071
2671
|
height: var(--qti-form-size);
|
|
1072
2672
|
align-self: 1;
|
|
1073
2673
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1074
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1075
2674
|
outline: none;
|
|
1076
2675
|
}
|
|
2676
|
+
|
|
1077
2677
|
&[role='checkbox'][aria-checked='true']::part(cha) {
|
|
1078
2678
|
background-color: var(--qti-bg-primary);
|
|
1079
2679
|
-webkit-mask-image: var(--check-mask);
|
|
@@ -1081,13 +2681,19 @@ qti-response-declaration {
|
|
|
1081
2681
|
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
|
|
1082
2682
|
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
|
|
1083
2683
|
}
|
|
2684
|
+
|
|
1084
2685
|
gap: 0.5rem;
|
|
2686
|
+
|
|
1085
2687
|
padding: var(--qti-padding-md) var(--qti-padding-md);
|
|
2688
|
+
|
|
1086
2689
|
outline: none;
|
|
2690
|
+
|
|
1087
2691
|
border-radius: var(--qti-border-radius-md);
|
|
2692
|
+
|
|
1088
2693
|
cursor: pointer
|
|
1089
2694
|
}
|
|
1090
2695
|
}
|
|
2696
|
+
|
|
1091
2697
|
& qti-simple-choice {
|
|
1092
2698
|
&[data-correct-response='true'] {
|
|
1093
2699
|
&::after {
|
|
@@ -1105,14 +2711,14 @@ qti-response-declaration {
|
|
|
1105
2711
|
|
|
1106
2712
|
qti-text-entry-interaction {
|
|
1107
2713
|
&:hover {
|
|
1108
|
-
|
|
2714
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1109
2715
|
}
|
|
2716
|
+
|
|
1110
2717
|
&:focus-within {
|
|
1111
2718
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1112
2719
|
}
|
|
2720
|
+
|
|
1113
2721
|
&::part(input) {
|
|
1114
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1115
|
-
outline: none;
|
|
1116
2722
|
border-radius: 0;
|
|
1117
2723
|
cursor: text;
|
|
1118
2724
|
padding: var(--qti-padding-lg);
|
|
@@ -1124,8 +2730,6 @@ qti-response-declaration {
|
|
|
1124
2730
|
|
|
1125
2731
|
qti-extended-text-interaction {
|
|
1126
2732
|
&::part(textarea) {
|
|
1127
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1128
|
-
outline: none;
|
|
1129
2733
|
border-radius: 0;
|
|
1130
2734
|
cursor: text;
|
|
1131
2735
|
padding: var(--qti-padding-lg);
|
|
@@ -1133,9 +2737,11 @@ qti-response-declaration {
|
|
|
1133
2737
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1134
2738
|
outline: none;
|
|
1135
2739
|
}
|
|
2740
|
+
|
|
1136
2741
|
&:hover {
|
|
1137
|
-
|
|
2742
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1138
2743
|
}
|
|
2744
|
+
|
|
1139
2745
|
&:focus-within {
|
|
1140
2746
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1141
2747
|
}
|
|
@@ -1145,55 +2751,78 @@ qti-response-declaration {
|
|
|
1145
2751
|
& qti-gap-text {
|
|
1146
2752
|
|
|
1147
2753
|
&:hover {
|
|
1148
|
-
|
|
2754
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1149
2755
|
}
|
|
2756
|
+
|
|
1150
2757
|
&:focus {
|
|
1151
2758
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1152
2759
|
}
|
|
1153
|
-
|
|
1154
|
-
|
|
2760
|
+
|
|
2761
|
+
transition: transform 200ms ease-out,
|
|
2762
|
+
box-shadow 200ms ease-out,
|
|
2763
|
+
rotate 200ms ease-out;
|
|
2764
|
+
|
|
1155
2765
|
padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
|
|
2766
|
+
|
|
1156
2767
|
border-radius: var(--qti-border-radius-md);
|
|
2768
|
+
|
|
1157
2769
|
cursor: grab;
|
|
2770
|
+
|
|
1158
2771
|
background-color: white;
|
|
2772
|
+
|
|
1159
2773
|
font-weight: var(--qti-font-weight-semibold);
|
|
2774
|
+
|
|
1160
2775
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
2776
|
+
|
|
1161
2777
|
outline: none;
|
|
2778
|
+
|
|
1162
2779
|
background-image: radial-gradient(
|
|
1163
2780
|
circle at center,
|
|
1164
|
-
|
|
1165
|
-
rgb(0
|
|
1166
|
-
|
|
1167
|
-
|
|
2781
|
+
rgb(0 0 0 / 10%) 0,
|
|
2782
|
+
rgb(0 0 0 / 20%) 2px,
|
|
2783
|
+
rgb(255 255 255 / 0%) 2px,
|
|
2784
|
+
rgb(255 255 255 / 0%) 100%
|
|
1168
2785
|
);
|
|
2786
|
+
|
|
1169
2787
|
background-repeat: repeat-y;
|
|
1170
|
-
|
|
2788
|
+
|
|
2789
|
+
background-position: left center;
|
|
2790
|
+
|
|
1171
2791
|
background-size: 14px 8px
|
|
1172
2792
|
}
|
|
2793
|
+
|
|
1173
2794
|
& qti-gap {
|
|
2795
|
+
|
|
1174
2796
|
display: inline-flex;
|
|
1175
2797
|
width: 8rem; /* w-32 */
|
|
1176
|
-
&:empty
|
|
2798
|
+
&:empty::after {
|
|
1177
2799
|
padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */
|
|
1178
2800
|
content: '\\0000a0'; /* when empty, put a space in it */
|
|
1179
2801
|
}
|
|
2802
|
+
|
|
1180
2803
|
&:not(:empty) {
|
|
1181
2804
|
display: inline-flex;
|
|
1182
2805
|
padding: 0;
|
|
1183
2806
|
width: auto;
|
|
1184
2807
|
}
|
|
2808
|
+
|
|
1185
2809
|
&:not(:empty) > * {
|
|
1186
2810
|
flex: 1;
|
|
1187
2811
|
transform: rotate(0); /* rotate-0 */
|
|
1188
2812
|
box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */
|
|
1189
2813
|
}
|
|
1190
|
-
|
|
1191
|
-
|
|
2814
|
+
|
|
2815
|
+
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
|
|
2816
|
+
center no-repeat;
|
|
2817
|
+
|
|
1192
2818
|
border-radius: var(--qti-border-radius-lg);
|
|
2819
|
+
|
|
1193
2820
|
position: relative;
|
|
1194
|
-
|
|
1195
|
-
|
|
2821
|
+
|
|
2822
|
+
background-color: var(--qti-bg-white);
|
|
2823
|
+
|
|
1196
2824
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
2825
|
+
|
|
1197
2826
|
outline: none
|
|
1198
2827
|
}
|
|
1199
2828
|
}
|
|
@@ -1201,69 +2830,90 @@ qti-response-declaration {
|
|
|
1201
2830
|
qti-hotspot-interaction {
|
|
1202
2831
|
& qti-hotspot-choice {
|
|
1203
2832
|
&[shape='circle'] {
|
|
2833
|
+
|
|
1204
2834
|
&:hover {
|
|
1205
|
-
|
|
2835
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1206
2836
|
}
|
|
2837
|
+
|
|
1207
2838
|
&:focus {
|
|
1208
2839
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1209
2840
|
}
|
|
2841
|
+
|
|
1210
2842
|
&[aria-checked='true'] {
|
|
1211
2843
|
border-color: var(--qti-bg-primary);
|
|
1212
2844
|
}
|
|
2845
|
+
|
|
1213
2846
|
&[aria-readonly='true'] {
|
|
1214
2847
|
cursor: pointer;
|
|
1215
2848
|
background-color: white;
|
|
1216
2849
|
outline: 0;
|
|
1217
2850
|
border: none;
|
|
1218
2851
|
}
|
|
2852
|
+
|
|
1219
2853
|
&[aria-disabled='true'] {
|
|
1220
2854
|
cursor: not-allowed;
|
|
1221
2855
|
background-color: var(--qti-bg-gray-100);
|
|
1222
2856
|
color: var(--qti-text-gray-500);
|
|
1223
2857
|
border-color: var(--qti-border-color-gray);
|
|
1224
2858
|
}
|
|
1225
|
-
|
|
1226
|
-
outline: none;
|
|
2859
|
+
|
|
1227
2860
|
width: 100%;
|
|
2861
|
+
|
|
1228
2862
|
height: 100%;
|
|
2863
|
+
|
|
1229
2864
|
background-color: transparent;
|
|
2865
|
+
|
|
1230
2866
|
padding: 0;
|
|
2867
|
+
|
|
1231
2868
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
2869
|
+
|
|
1232
2870
|
outline: none
|
|
1233
2871
|
}
|
|
2872
|
+
|
|
1234
2873
|
&[shape='rect'] {
|
|
2874
|
+
|
|
1235
2875
|
&:hover {
|
|
1236
|
-
|
|
2876
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1237
2877
|
}
|
|
2878
|
+
|
|
1238
2879
|
&:focus {
|
|
1239
2880
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1240
2881
|
}
|
|
2882
|
+
|
|
1241
2883
|
&[aria-checked='true'] {
|
|
1242
2884
|
border-color: var(--qti-bg-primary);
|
|
1243
2885
|
}
|
|
2886
|
+
|
|
1244
2887
|
&[aria-readonly='true'] {
|
|
1245
2888
|
cursor: pointer;
|
|
1246
2889
|
background-color: white;
|
|
1247
2890
|
outline: 0;
|
|
1248
2891
|
border: none;
|
|
1249
2892
|
}
|
|
2893
|
+
|
|
1250
2894
|
&[aria-disabled='true'] {
|
|
1251
2895
|
cursor: not-allowed;
|
|
1252
2896
|
background-color: var(--qti-bg-gray-100);
|
|
1253
2897
|
color: var(--qti-text-gray-500);
|
|
1254
2898
|
border-color: var(--qti-border-color-gray);
|
|
1255
2899
|
}
|
|
1256
|
-
|
|
1257
|
-
outline: none;
|
|
2900
|
+
|
|
1258
2901
|
width: 100%;
|
|
2902
|
+
|
|
1259
2903
|
height: 100%;
|
|
2904
|
+
|
|
1260
2905
|
background-color: transparent;
|
|
2906
|
+
|
|
1261
2907
|
padding: 0;
|
|
2908
|
+
|
|
1262
2909
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
2910
|
+
|
|
1263
2911
|
outline: none
|
|
1264
2912
|
}
|
|
2913
|
+
|
|
1265
2914
|
&[shape='poly'] {
|
|
1266
2915
|
&:hover::after {
|
|
2916
|
+
|
|
1267
2917
|
content: '';
|
|
1268
2918
|
width: 100%;
|
|
1269
2919
|
height: 100%;
|
|
@@ -1278,7 +2928,8 @@ qti-response-declaration {
|
|
|
1278
2928
|
border-color: var(--qti-bg-primary);
|
|
1279
2929
|
}
|
|
1280
2930
|
|
|
1281
|
-
&[aria-checked='true']
|
|
2931
|
+
&[aria-checked='true']::after {
|
|
2932
|
+
|
|
1282
2933
|
content: '';
|
|
1283
2934
|
width: 100%;
|
|
1284
2935
|
height: 100%;
|
|
@@ -1296,12 +2947,14 @@ qti-response-declaration {
|
|
|
1296
2947
|
&[aria-checked='true'] {
|
|
1297
2948
|
border-color: var(--qti-bg-primary);
|
|
1298
2949
|
}
|
|
2950
|
+
|
|
1299
2951
|
&[aria-readonly='true'] {
|
|
1300
2952
|
cursor: pointer;
|
|
1301
2953
|
background-color: white;
|
|
1302
2954
|
outline: 0;
|
|
1303
2955
|
border: none;
|
|
1304
2956
|
}
|
|
2957
|
+
|
|
1305
2958
|
&[aria-disabled='true'] {
|
|
1306
2959
|
cursor: not-allowed;
|
|
1307
2960
|
background-color: var(--qti-bg-gray-100);
|
|
@@ -1313,45 +2966,48 @@ qti-response-declaration {
|
|
|
1313
2966
|
}
|
|
1314
2967
|
|
|
1315
2968
|
qti-hottext-interaction {
|
|
1316
|
-
qti-hottext {
|
|
1317
|
-
display: inline-flex;
|
|
1318
|
-
align-items: center;
|
|
1319
|
-
}
|
|
1320
2969
|
/* &:not(.qti-input-control-hidden),
|
|
1321
2970
|
&:not(.qti-unselected-hidden) { */
|
|
1322
2971
|
qti-hottext {
|
|
2972
|
+
display: inline-flex;
|
|
2973
|
+
align-items: center;
|
|
2974
|
+
|
|
1323
2975
|
&:hover {
|
|
1324
|
-
|
|
2976
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1325
2977
|
}
|
|
2978
|
+
|
|
1326
2979
|
&:focus {
|
|
1327
2980
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1328
2981
|
}
|
|
2982
|
+
|
|
1329
2983
|
&::part(cha) {
|
|
1330
2984
|
width: calc(var(--qti-form-size) - 4px);
|
|
1331
2985
|
height: calc(var(--qti-form-size) - 4px);
|
|
1332
2986
|
}
|
|
2987
|
+
|
|
1333
2988
|
&[role='radio']::part(ch) {
|
|
1334
2989
|
border-radius: var(--qti-border-radius-full);
|
|
1335
2990
|
width: var(--qti-form-size);
|
|
1336
2991
|
height: var(--qti-form-size);
|
|
1337
2992
|
align-self: 1;
|
|
1338
2993
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1339
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1340
2994
|
outline: none;
|
|
1341
2995
|
}
|
|
2996
|
+
|
|
1342
2997
|
&[role='radio'][aria-checked='true']::part(cha) {
|
|
1343
2998
|
background-color: var(--qti-bg-primary);
|
|
1344
2999
|
border-radius: var(--qti-border-radius-full);
|
|
1345
3000
|
}
|
|
3001
|
+
|
|
1346
3002
|
&[role='checkbox']::part(ch) {
|
|
1347
3003
|
border-radius: var(--qti-border-radius-md);
|
|
1348
3004
|
width: var(--qti-form-size);
|
|
1349
3005
|
height: var(--qti-form-size);
|
|
1350
3006
|
align-self: 1;
|
|
1351
3007
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1352
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1353
3008
|
outline: none;
|
|
1354
3009
|
}
|
|
3010
|
+
|
|
1355
3011
|
&[role='checkbox'][aria-checked='true']::part(cha) {
|
|
1356
3012
|
background-color: var(--qti-bg-primary);
|
|
1357
3013
|
-webkit-mask-image: var(--check-mask);
|
|
@@ -1359,12 +3015,18 @@ qti-response-declaration {
|
|
|
1359
3015
|
-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
|
|
1360
3016
|
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
|
|
1361
3017
|
}
|
|
3018
|
+
|
|
1362
3019
|
gap: 0.5rem;
|
|
3020
|
+
|
|
1363
3021
|
padding: var(--qti-padding-md) var(--qti-padding-md);
|
|
3022
|
+
|
|
1364
3023
|
outline: none;
|
|
3024
|
+
|
|
1365
3025
|
border-radius: var(--qti-border-radius-md);
|
|
3026
|
+
|
|
1366
3027
|
cursor: pointer
|
|
1367
3028
|
}
|
|
3029
|
+
|
|
1368
3030
|
/* } */
|
|
1369
3031
|
|
|
1370
3032
|
&.qti-input-control-hidden {
|
|
@@ -1374,63 +3036,79 @@ qti-response-declaration {
|
|
|
1374
3036
|
--qti-border-radius-md: 0.3rem;
|
|
1375
3037
|
--qti-border-thickness: 1px;
|
|
1376
3038
|
--qti-font-weight-semibold: 400; */
|
|
3039
|
+
|
|
1377
3040
|
&:hover {
|
|
1378
|
-
|
|
3041
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1379
3042
|
}
|
|
3043
|
+
|
|
1380
3044
|
&:focus {
|
|
1381
3045
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1382
3046
|
}
|
|
3047
|
+
|
|
1383
3048
|
/* @layer qti-variants { */
|
|
1384
3049
|
&::part(ch) {
|
|
1385
3050
|
display: none;
|
|
1386
3051
|
}
|
|
3052
|
+
|
|
1387
3053
|
&[aria-checked='true'] {
|
|
1388
3054
|
border-color: var(--qti-bg-primary);
|
|
1389
3055
|
}
|
|
3056
|
+
|
|
1390
3057
|
&[aria-readonly='true'] {
|
|
1391
3058
|
cursor: pointer;
|
|
1392
3059
|
background-color: white;
|
|
1393
3060
|
outline: 0;
|
|
1394
3061
|
border: none;
|
|
1395
3062
|
}
|
|
3063
|
+
|
|
1396
3064
|
&[aria-disabled='true'] {
|
|
1397
3065
|
cursor: not-allowed;
|
|
1398
3066
|
background-color: var(--qti-bg-gray-100);
|
|
1399
3067
|
color: var(--qti-text-gray-500);
|
|
1400
3068
|
border-color: var(--qti-border-color-gray);
|
|
1401
3069
|
}
|
|
1402
|
-
|
|
1403
|
-
outline: none;
|
|
3070
|
+
|
|
1404
3071
|
border-radius: var(--qti-border-radius-md);
|
|
1405
|
-
|
|
3072
|
+
|
|
3073
|
+
padding: var(--qti-padding-md) var(--qti-padding-md);
|
|
3074
|
+
|
|
1406
3075
|
font-weight: var(--qti-font-weight-semibold);
|
|
3076
|
+
|
|
1407
3077
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3078
|
+
|
|
1408
3079
|
outline: none
|
|
1409
3080
|
}
|
|
3081
|
+
|
|
1410
3082
|
/* } */
|
|
1411
3083
|
}
|
|
1412
3084
|
|
|
1413
3085
|
&.qti-unselected-hidden {
|
|
1414
3086
|
qti-hottext {
|
|
1415
3087
|
&:hover {
|
|
1416
|
-
|
|
3088
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1417
3089
|
}
|
|
3090
|
+
|
|
1418
3091
|
&:focus {
|
|
1419
3092
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1420
3093
|
}
|
|
3094
|
+
|
|
1421
3095
|
cursor: pointer;
|
|
3096
|
+
|
|
1422
3097
|
&::part(ch) {
|
|
1423
3098
|
display: none;
|
|
1424
3099
|
}
|
|
3100
|
+
|
|
1425
3101
|
&[aria-checked='true'] {
|
|
1426
3102
|
background-color: var(--qti-primary-light); /* bg-blue-200 */
|
|
1427
3103
|
}
|
|
3104
|
+
|
|
1428
3105
|
&[aria-readonly='true'] {
|
|
1429
3106
|
cursor: pointer;
|
|
1430
3107
|
background-color: white;
|
|
1431
3108
|
outline: 0;
|
|
1432
3109
|
border: none;
|
|
1433
3110
|
}
|
|
3111
|
+
|
|
1434
3112
|
&[aria-disabled='true'] {
|
|
1435
3113
|
cursor: not-allowed;
|
|
1436
3114
|
background-color: var(--qti-bg-gray-100);
|
|
@@ -1443,63 +3121,96 @@ qti-response-declaration {
|
|
|
1443
3121
|
|
|
1444
3122
|
qti-inline-choice-interaction {
|
|
1445
3123
|
&::part(select) {
|
|
3124
|
+
|
|
1446
3125
|
&:hover {
|
|
1447
|
-
|
|
3126
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1448
3127
|
}
|
|
3128
|
+
|
|
1449
3129
|
&:focus {
|
|
1450
3130
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1451
3131
|
}
|
|
1452
|
-
|
|
1453
|
-
outline: none;
|
|
3132
|
+
|
|
1454
3133
|
border-radius: var(--qti-border-radius-md);
|
|
3134
|
+
|
|
1455
3135
|
position: relative;
|
|
3136
|
+
|
|
1456
3137
|
-webkit-appearance: none;
|
|
3138
|
+
|
|
1457
3139
|
-moz-appearance: none;
|
|
3140
|
+
|
|
1458
3141
|
appearance: none;
|
|
3142
|
+
|
|
1459
3143
|
padding: var(--qti-padding-md) 1.75rem var(--qti-padding-md) var(--qti-padding-lg);
|
|
3144
|
+
|
|
1460
3145
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3146
|
+
|
|
1461
3147
|
outline: none;
|
|
3148
|
+
|
|
1462
3149
|
background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
|
|
1463
3150
|
no-repeat center right 6px
|
|
1464
3151
|
}
|
|
1465
3152
|
}
|
|
1466
3153
|
|
|
1467
3154
|
qti-match-interaction:not(.qti-match-tabular) {
|
|
3155
|
+
/* The draggables */
|
|
1468
3156
|
& qti-simple-match-set:first-of-type {
|
|
1469
3157
|
display: flex;
|
|
1470
3158
|
flex-wrap: wrap;
|
|
1471
|
-
|
|
1472
|
-
|
|
3159
|
+
align-items: flex-start; /* Prevents children from stretching */
|
|
3160
|
+
gap: var(--qti-gap-size);
|
|
1473
3161
|
|
|
1474
3162
|
& qti-simple-associable-choice {
|
|
3163
|
+
|
|
3164
|
+
&[dragging] {
|
|
3165
|
+
pointer-events: none;
|
|
3166
|
+
rotate: -2deg;
|
|
3167
|
+
box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
|
|
3168
|
+
0 4px 8px rgb(0 0 0 / 10%);
|
|
3169
|
+
}
|
|
3170
|
+
|
|
1475
3171
|
&:hover {
|
|
1476
|
-
|
|
3172
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1477
3173
|
}
|
|
3174
|
+
|
|
1478
3175
|
&:focus {
|
|
1479
3176
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1480
3177
|
}
|
|
1481
|
-
|
|
1482
|
-
|
|
3178
|
+
|
|
3179
|
+
transition: transform 200ms ease-out,
|
|
3180
|
+
box-shadow 200ms ease-out,
|
|
3181
|
+
rotate 200ms ease-out;
|
|
3182
|
+
|
|
1483
3183
|
padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
|
|
3184
|
+
|
|
1484
3185
|
border-radius: var(--qti-border-radius-md);
|
|
3186
|
+
|
|
1485
3187
|
cursor: grab;
|
|
3188
|
+
|
|
1486
3189
|
background-color: white;
|
|
3190
|
+
|
|
1487
3191
|
font-weight: var(--qti-font-weight-semibold);
|
|
3192
|
+
|
|
1488
3193
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3194
|
+
|
|
1489
3195
|
outline: none;
|
|
3196
|
+
|
|
1490
3197
|
background-image: radial-gradient(
|
|
1491
3198
|
circle at center,
|
|
1492
|
-
|
|
1493
|
-
rgb(0
|
|
1494
|
-
|
|
1495
|
-
|
|
3199
|
+
rgb(0 0 0 / 10%) 0,
|
|
3200
|
+
rgb(0 0 0 / 20%) 2px,
|
|
3201
|
+
rgb(255 255 255 / 0%) 2px,
|
|
3202
|
+
rgb(255 255 255 / 0%) 100%
|
|
1496
3203
|
);
|
|
3204
|
+
|
|
1497
3205
|
background-repeat: repeat-y;
|
|
1498
|
-
|
|
3206
|
+
|
|
3207
|
+
background-position: left center;
|
|
3208
|
+
|
|
1499
3209
|
background-size: 14px 8px
|
|
1500
3210
|
}
|
|
1501
3211
|
}
|
|
1502
3212
|
|
|
3213
|
+
/* The droppables */
|
|
1503
3214
|
& qti-simple-match-set:last-of-type {
|
|
1504
3215
|
display: grid;
|
|
1505
3216
|
grid-auto-columns: 1fr; /* auto-cols-fr */
|
|
@@ -1512,69 +3223,116 @@ qti-response-declaration {
|
|
|
1512
3223
|
flex-direction: column;
|
|
1513
3224
|
}
|
|
1514
3225
|
|
|
1515
|
-
& qti-simple-associable-choice
|
|
1516
|
-
|
|
1517
|
-
|
|
3226
|
+
& > qti-simple-associable-choice {
|
|
3227
|
+
/* a droppable qti-simple-associable-choice */
|
|
3228
|
+
box-sizing: border-box;
|
|
3229
|
+
display: grid;
|
|
3230
|
+
grid-row: 2 / 4;
|
|
3231
|
+
grid-template-rows: subgrid;
|
|
1518
3232
|
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
3233
|
+
& img {
|
|
3234
|
+
max-width: 100%;
|
|
3235
|
+
height: auto;
|
|
3236
|
+
}
|
|
3237
|
+
|
|
3238
|
+
&[enabled] {
|
|
3239
|
+
&::part(dropslot) {
|
|
3240
|
+
background-color: var(--qti-primary-light);
|
|
3241
|
+
}
|
|
3242
|
+
}
|
|
1522
3243
|
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
3244
|
+
&[disabled] {
|
|
3245
|
+
&::part(dropslot) {
|
|
3246
|
+
background-color: red;
|
|
3247
|
+
}
|
|
1526
3248
|
}
|
|
1527
|
-
|
|
1528
|
-
|
|
3249
|
+
|
|
3250
|
+
&[active] {
|
|
3251
|
+
&::part(dropslot) {
|
|
3252
|
+
border-color: var(--qti-bg-primary);
|
|
3253
|
+
}
|
|
1529
3254
|
}
|
|
1530
|
-
display: flex;
|
|
1531
|
-
flex-direction: column;
|
|
1532
|
-
min-height: 6rem;
|
|
1533
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1534
|
-
outline: none;
|
|
1535
|
-
border-radius: var(--qti-border-radius-lg);
|
|
1536
|
-
position: relative;
|
|
1537
|
-
background-color: var(--qti-bg-gray-50);
|
|
1538
|
-
margin: 1px;
|
|
1539
|
-
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1540
|
-
outline: none;
|
|
1541
|
-
}
|
|
1542
3255
|
|
|
1543
|
-
|
|
1544
|
-
display: none;
|
|
1545
|
-
}
|
|
3256
|
+
&::part(dropslot) {
|
|
1546
3257
|
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
3258
|
+
&[dragging] {
|
|
3259
|
+
pointer-events: none;
|
|
3260
|
+
rotate: -2deg;
|
|
3261
|
+
box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
|
|
3262
|
+
0 4px 8px rgb(0 0 0 / 10%);
|
|
3263
|
+
}
|
|
1550
3264
|
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
3265
|
+
&:focus {
|
|
3266
|
+
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
3267
|
+
}
|
|
3268
|
+
|
|
3269
|
+
min-height: 6rem;
|
|
3270
|
+
gap: var(--qti-gap-size);
|
|
3271
|
+
box-sizing: border-box;
|
|
3272
|
+
display: flex;
|
|
3273
|
+
justify-content: center;
|
|
3274
|
+
align-items: center;
|
|
3275
|
+
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
|
|
3276
|
+
center no-repeat;
|
|
3277
|
+
border-radius: var(--qti-border-radius-lg);
|
|
3278
|
+
position: relative;
|
|
3279
|
+
background-color: var(--qti-bg-white);
|
|
3280
|
+
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3281
|
+
outline: none;
|
|
1554
3282
|
}
|
|
1555
|
-
|
|
1556
|
-
|
|
3283
|
+
|
|
3284
|
+
& > *:not(qti-simple-associable-choice) {
|
|
3285
|
+
pointer-events: none;
|
|
1557
3286
|
}
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
3287
|
+
|
|
3288
|
+
& > qti-simple-associable-choice {
|
|
3289
|
+
|
|
3290
|
+
&::part(dropslot) {
|
|
3291
|
+
display: none;
|
|
3292
|
+
}
|
|
3293
|
+
|
|
3294
|
+
&:hover {
|
|
3295
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
3296
|
+
}
|
|
3297
|
+
|
|
3298
|
+
&:focus {
|
|
3299
|
+
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
3300
|
+
}
|
|
3301
|
+
|
|
3302
|
+
flex-basis: fit-content;
|
|
3303
|
+
|
|
3304
|
+
transition: transform 200ms ease-out,
|
|
3305
|
+
box-shadow 200ms ease-out,
|
|
3306
|
+
rotate 200ms ease-out;
|
|
3307
|
+
|
|
3308
|
+
padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
|
|
3309
|
+
|
|
3310
|
+
border-radius: var(--qti-border-radius-md);
|
|
3311
|
+
|
|
3312
|
+
cursor: grab;
|
|
3313
|
+
|
|
3314
|
+
background-color: white;
|
|
3315
|
+
|
|
3316
|
+
font-weight: var(--qti-font-weight-semibold);
|
|
3317
|
+
|
|
3318
|
+
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3319
|
+
|
|
3320
|
+
outline: none;
|
|
3321
|
+
|
|
3322
|
+
background-image: radial-gradient(
|
|
1569
3323
|
circle at center,
|
|
1570
|
-
|
|
1571
|
-
rgb(0
|
|
1572
|
-
|
|
1573
|
-
|
|
3324
|
+
rgb(0 0 0 / 10%) 0,
|
|
3325
|
+
rgb(0 0 0 / 20%) 2px,
|
|
3326
|
+
rgb(255 255 255 / 0%) 2px,
|
|
3327
|
+
rgb(255 255 255 / 0%) 100%
|
|
1574
3328
|
);
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
3329
|
+
|
|
3330
|
+
background-repeat: repeat-y;
|
|
3331
|
+
|
|
3332
|
+
background-position: left center;
|
|
3333
|
+
|
|
3334
|
+
background-size: 14px 8px;
|
|
3335
|
+
}
|
|
1578
3336
|
}
|
|
1579
3337
|
}
|
|
1580
3338
|
}
|
|
@@ -1582,32 +3340,48 @@ qti-response-declaration {
|
|
|
1582
3340
|
qti-order-interaction {
|
|
1583
3341
|
&::part(qti-simple-choice),
|
|
1584
3342
|
& qti-simple-choice {
|
|
3343
|
+
|
|
1585
3344
|
&:hover {
|
|
1586
|
-
|
|
3345
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1587
3346
|
}
|
|
3347
|
+
|
|
1588
3348
|
&:focus {
|
|
1589
3349
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1590
3350
|
}
|
|
1591
|
-
|
|
1592
|
-
|
|
3351
|
+
|
|
3352
|
+
transition: transform 200ms ease-out,
|
|
3353
|
+
box-shadow 200ms ease-out,
|
|
3354
|
+
rotate 200ms ease-out;
|
|
3355
|
+
|
|
1593
3356
|
padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
|
|
3357
|
+
|
|
1594
3358
|
border-radius: var(--qti-border-radius-md);
|
|
3359
|
+
|
|
1595
3360
|
cursor: grab;
|
|
3361
|
+
|
|
1596
3362
|
background-color: white;
|
|
3363
|
+
|
|
1597
3364
|
font-weight: var(--qti-font-weight-semibold);
|
|
3365
|
+
|
|
1598
3366
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3367
|
+
|
|
1599
3368
|
outline: none;
|
|
3369
|
+
|
|
1600
3370
|
background-image: radial-gradient(
|
|
1601
3371
|
circle at center,
|
|
1602
|
-
|
|
1603
|
-
rgb(0
|
|
1604
|
-
|
|
1605
|
-
|
|
3372
|
+
rgb(0 0 0 / 10%) 0,
|
|
3373
|
+
rgb(0 0 0 / 20%) 2px,
|
|
3374
|
+
rgb(255 255 255 / 0%) 2px,
|
|
3375
|
+
rgb(255 255 255 / 0%) 100%
|
|
1606
3376
|
);
|
|
3377
|
+
|
|
1607
3378
|
background-repeat: repeat-y;
|
|
1608
|
-
|
|
3379
|
+
|
|
3380
|
+
background-position: left center;
|
|
3381
|
+
|
|
1609
3382
|
background-size: 14px 8px
|
|
1610
3383
|
}
|
|
3384
|
+
|
|
1611
3385
|
&::part(qti-simple-choice) {
|
|
1612
3386
|
display: flex;
|
|
1613
3387
|
overflow: hidden;
|
|
@@ -1615,123 +3389,161 @@ qti-response-declaration {
|
|
|
1615
3389
|
width: 100%;
|
|
1616
3390
|
text-overflow: ellipsis;
|
|
1617
3391
|
}
|
|
3392
|
+
|
|
1618
3393
|
&::part(drops) {
|
|
1619
3394
|
gap: 0.5rem; /* gap-2 */
|
|
1620
3395
|
}
|
|
3396
|
+
|
|
1621
3397
|
&::part(drags) {
|
|
1622
3398
|
gap: 0.5rem; /* gap-2 */
|
|
1623
3399
|
}
|
|
3400
|
+
|
|
1624
3401
|
&::part(drop-list) {
|
|
3402
|
+
|
|
1625
3403
|
&:hover {
|
|
1626
|
-
|
|
3404
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1627
3405
|
}
|
|
3406
|
+
|
|
1628
3407
|
&:focus {
|
|
1629
3408
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1630
3409
|
}
|
|
3410
|
+
|
|
1631
3411
|
display: flex;
|
|
1632
3412
|
min-height: 4rem;
|
|
1633
|
-
|
|
1634
|
-
|
|
3413
|
+
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
|
|
3414
|
+
center no-repeat;
|
|
1635
3415
|
border-radius: var(--qti-border-radius-lg);
|
|
1636
3416
|
position: relative;
|
|
1637
|
-
background-color: var(--qti-bg-
|
|
1638
|
-
margin: 1px;
|
|
3417
|
+
background-color: var(--qti-bg-white);
|
|
1639
3418
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1640
3419
|
outline: none;
|
|
1641
3420
|
}
|
|
3421
|
+
|
|
1642
3422
|
&::part(active) {
|
|
1643
3423
|
border-color: var(--qti-bg-primary);
|
|
1644
3424
|
}
|
|
1645
3425
|
}
|
|
1646
3426
|
|
|
1647
3427
|
qti-associate-interaction {
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
3428
|
+
& qti-simple-associable-choice, /* drags when in lightdom */
|
|
3429
|
+
&::part(qti-simple-associable-choice) /* drags when in shadowdom */ {
|
|
3430
|
+
|
|
3431
|
+
&:hover {
|
|
3432
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
3433
|
+
}
|
|
3434
|
+
|
|
3435
|
+
&:focus {
|
|
3436
|
+
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
3437
|
+
}
|
|
3438
|
+
|
|
3439
|
+
&[dragging] {
|
|
3440
|
+
pointer-events: none;
|
|
3441
|
+
rotate: -2deg;
|
|
3442
|
+
box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
|
|
3443
|
+
0 4px 8px rgb(0 0 0 / 10%);
|
|
3444
|
+
}
|
|
3445
|
+
|
|
3446
|
+
transition: transform 200ms ease-out,
|
|
3447
|
+
box-shadow 200ms ease-out,
|
|
3448
|
+
rotate 200ms ease-out;
|
|
3449
|
+
|
|
1657
3450
|
padding: var(--qti-padding-md) var(--qti-padding-lg) var(--qti-padding-md) var(--qti-padding-xl);
|
|
3451
|
+
|
|
1658
3452
|
border-radius: var(--qti-border-radius-md);
|
|
3453
|
+
|
|
1659
3454
|
cursor: grab;
|
|
3455
|
+
|
|
1660
3456
|
background-color: white;
|
|
3457
|
+
|
|
1661
3458
|
font-weight: var(--qti-font-weight-semibold);
|
|
3459
|
+
|
|
1662
3460
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3461
|
+
|
|
1663
3462
|
outline: none;
|
|
3463
|
+
|
|
1664
3464
|
background-image: radial-gradient(
|
|
1665
3465
|
circle at center,
|
|
1666
|
-
|
|
1667
|
-
rgb(0
|
|
1668
|
-
|
|
1669
|
-
|
|
3466
|
+
rgb(0 0 0 / 10%) 0,
|
|
3467
|
+
rgb(0 0 0 / 20%) 2px,
|
|
3468
|
+
rgb(255 255 255 / 0%) 2px,
|
|
3469
|
+
rgb(255 255 255 / 0%) 100%
|
|
1670
3470
|
);
|
|
3471
|
+
|
|
1671
3472
|
background-repeat: repeat-y;
|
|
1672
|
-
|
|
1673
|
-
background-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
display: flex;
|
|
1677
|
-
justify-content: space-between;
|
|
1678
|
-
background: linear-gradient(
|
|
1679
|
-
180deg,
|
|
1680
|
-
rgb(0 0 0 / 0%) calc(50% - 1px),
|
|
1681
|
-
var(--qti-border-color-gray) calc(50%),
|
|
1682
|
-
rgb(0 0 0 / 0%) calc(50% + 1px)
|
|
1683
|
-
);
|
|
1684
|
-
}
|
|
1685
|
-
&::part(active) {
|
|
1686
|
-
border-color: var(--qti-bg-primary);
|
|
3473
|
+
|
|
3474
|
+
background-position: left center;
|
|
3475
|
+
|
|
3476
|
+
background-size: 14px 8px
|
|
1687
3477
|
}
|
|
1688
|
-
|
|
3478
|
+
|
|
3479
|
+
/* display: flex;
|
|
3480
|
+
overflow: hidden;
|
|
3481
|
+
align-items: center; */
|
|
3482
|
+
|
|
3483
|
+
/* &::part(drop-container) {
|
|
1689
3484
|
display: flex;
|
|
1690
3485
|
flex-direction: column;
|
|
1691
3486
|
gap: var(--qti-gap-size);
|
|
1692
|
-
}
|
|
3487
|
+
} */
|
|
3488
|
+
|
|
1693
3489
|
&::part(drop-list) {
|
|
1694
|
-
|
|
1695
|
-
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1696
|
-
}
|
|
3490
|
+
|
|
1697
3491
|
display: grid;
|
|
1698
3492
|
height: 3rem;
|
|
1699
3493
|
min-width: 10rem;
|
|
1700
|
-
|
|
1701
|
-
|
|
3494
|
+
background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
|
|
3495
|
+
center no-repeat;
|
|
1702
3496
|
border-radius: var(--qti-border-radius-lg);
|
|
1703
3497
|
position: relative;
|
|
1704
|
-
background-color: var(--qti-bg-
|
|
1705
|
-
margin: 1px;
|
|
3498
|
+
background-color: var(--qti-bg-white);
|
|
1706
3499
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
1707
3500
|
outline: none;
|
|
1708
3501
|
}
|
|
3502
|
+
|
|
3503
|
+
&::part(drop-list):focus {
|
|
3504
|
+
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
3505
|
+
}
|
|
3506
|
+
|
|
3507
|
+
&::part(drop-list)[dragging] {
|
|
3508
|
+
border-color: var(--qti-bg-primary);
|
|
3509
|
+
}
|
|
3510
|
+
|
|
3511
|
+
/* &::part(drop-list) {
|
|
3512
|
+
@apply act;
|
|
3513
|
+
} */
|
|
1709
3514
|
}
|
|
1710
3515
|
|
|
1711
3516
|
qti-graphic-order-interaction {
|
|
1712
3517
|
& qti-hotspot-choice {
|
|
3518
|
+
|
|
1713
3519
|
&:hover {
|
|
1714
|
-
|
|
3520
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1715
3521
|
}
|
|
3522
|
+
|
|
1716
3523
|
&:focus {
|
|
1717
3524
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1718
3525
|
}
|
|
3526
|
+
|
|
1719
3527
|
&[aria-checked='true'] {
|
|
1720
3528
|
border-color: var(--qti-bg-primary);
|
|
1721
3529
|
}
|
|
3530
|
+
|
|
1722
3531
|
&[aria-readonly='true'] {
|
|
1723
3532
|
cursor: pointer;
|
|
1724
3533
|
background-color: white;
|
|
1725
3534
|
outline: 0;
|
|
1726
3535
|
border: none;
|
|
1727
3536
|
}
|
|
3537
|
+
|
|
1728
3538
|
&[aria-disabled='true'] {
|
|
1729
3539
|
cursor: not-allowed;
|
|
1730
3540
|
background-color: var(--qti-bg-gray-100);
|
|
1731
3541
|
color: var(--qti-text-gray-500);
|
|
1732
3542
|
border-color: var(--qti-border-color-gray);
|
|
1733
3543
|
}
|
|
3544
|
+
|
|
1734
3545
|
&[aria-ordervalue] {
|
|
3546
|
+
|
|
1735
3547
|
display: flex;
|
|
1736
3548
|
justify-content: center;
|
|
1737
3549
|
align-items: center;
|
|
@@ -1741,16 +3553,21 @@ qti-response-declaration {
|
|
|
1741
3553
|
height: 1.5rem;
|
|
1742
3554
|
color: var(--qti-text-white);
|
|
1743
3555
|
}
|
|
3556
|
+
|
|
1744
3557
|
&[aria-ordervalue]::after {
|
|
1745
3558
|
content: attr(aria-ordervalue) !important;
|
|
1746
3559
|
}
|
|
1747
|
-
|
|
1748
|
-
outline: none;
|
|
3560
|
+
|
|
1749
3561
|
width: 100%;
|
|
3562
|
+
|
|
1750
3563
|
height: 100%;
|
|
3564
|
+
|
|
1751
3565
|
background-color: transparent;
|
|
3566
|
+
|
|
1752
3567
|
padding: 0;
|
|
3568
|
+
|
|
1753
3569
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3570
|
+
|
|
1754
3571
|
outline: none
|
|
1755
3572
|
}
|
|
1756
3573
|
}
|
|
@@ -1761,66 +3578,84 @@ qti-response-declaration {
|
|
|
1761
3578
|
|
|
1762
3579
|
& qti-associable-hotspot {
|
|
1763
3580
|
&[shape='circle'] {
|
|
3581
|
+
|
|
1764
3582
|
&:hover {
|
|
1765
|
-
|
|
3583
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1766
3584
|
}
|
|
3585
|
+
|
|
1767
3586
|
&:focus {
|
|
1768
3587
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1769
3588
|
}
|
|
3589
|
+
|
|
1770
3590
|
&[aria-checked='true'] {
|
|
1771
3591
|
border-color: var(--qti-bg-primary);
|
|
1772
3592
|
}
|
|
3593
|
+
|
|
1773
3594
|
&[aria-readonly='true'] {
|
|
1774
3595
|
cursor: pointer;
|
|
1775
3596
|
background-color: white;
|
|
1776
3597
|
outline: 0;
|
|
1777
3598
|
border: none;
|
|
1778
3599
|
}
|
|
3600
|
+
|
|
1779
3601
|
&[aria-disabled='true'] {
|
|
1780
3602
|
cursor: not-allowed;
|
|
1781
3603
|
background-color: var(--qti-bg-gray-100);
|
|
1782
3604
|
color: var(--qti-text-gray-500);
|
|
1783
3605
|
border-color: var(--qti-border-color-gray);
|
|
1784
3606
|
}
|
|
1785
|
-
|
|
1786
|
-
outline: none;
|
|
3607
|
+
|
|
1787
3608
|
width: 100%;
|
|
3609
|
+
|
|
1788
3610
|
height: 100%;
|
|
3611
|
+
|
|
1789
3612
|
background-color: transparent;
|
|
3613
|
+
|
|
1790
3614
|
padding: 0;
|
|
3615
|
+
|
|
1791
3616
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3617
|
+
|
|
1792
3618
|
outline: none
|
|
1793
3619
|
}
|
|
1794
3620
|
|
|
1795
3621
|
&[shape='square'] {
|
|
3622
|
+
|
|
1796
3623
|
&:hover {
|
|
1797
|
-
|
|
3624
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1798
3625
|
}
|
|
3626
|
+
|
|
1799
3627
|
&:focus {
|
|
1800
3628
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1801
3629
|
}
|
|
3630
|
+
|
|
1802
3631
|
&[aria-checked='true'] {
|
|
1803
3632
|
border-color: var(--qti-bg-primary);
|
|
1804
3633
|
}
|
|
3634
|
+
|
|
1805
3635
|
&[aria-readonly='true'] {
|
|
1806
3636
|
cursor: pointer;
|
|
1807
3637
|
background-color: white;
|
|
1808
3638
|
outline: 0;
|
|
1809
3639
|
border: none;
|
|
1810
3640
|
}
|
|
3641
|
+
|
|
1811
3642
|
&[aria-disabled='true'] {
|
|
1812
3643
|
cursor: not-allowed;
|
|
1813
3644
|
background-color: var(--qti-bg-gray-100);
|
|
1814
3645
|
color: var(--qti-text-gray-500);
|
|
1815
3646
|
border-color: var(--qti-border-color-gray);
|
|
1816
3647
|
}
|
|
1817
|
-
|
|
1818
|
-
outline: none;
|
|
3648
|
+
|
|
1819
3649
|
width: 100%;
|
|
3650
|
+
|
|
1820
3651
|
height: 100%;
|
|
3652
|
+
|
|
1821
3653
|
background-color: transparent;
|
|
3654
|
+
|
|
1822
3655
|
padding: 0;
|
|
3656
|
+
|
|
1823
3657
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3658
|
+
|
|
1824
3659
|
outline: none
|
|
1825
3660
|
}
|
|
1826
3661
|
}
|
|
@@ -1828,6 +3663,7 @@ qti-response-declaration {
|
|
|
1828
3663
|
|
|
1829
3664
|
qti-graphic-gap-match-interaction {
|
|
1830
3665
|
position: relative;
|
|
3666
|
+
|
|
1831
3667
|
& img {
|
|
1832
3668
|
margin: 0;
|
|
1833
3669
|
padding: 0;
|
|
@@ -1837,7 +3673,7 @@ qti-response-declaration {
|
|
|
1837
3673
|
qti-slider-interaction {
|
|
1838
3674
|
display: block;
|
|
1839
3675
|
|
|
1840
|
-
--qti-tick-color: rgb(229 231 235 /
|
|
3676
|
+
--qti-tick-color: rgb(229 231 235 / 100%);
|
|
1841
3677
|
--qti-tick-width: 1px;
|
|
1842
3678
|
|
|
1843
3679
|
&::part(slider) {
|
|
@@ -1848,6 +3684,7 @@ qti-response-declaration {
|
|
|
1848
3684
|
}
|
|
1849
3685
|
|
|
1850
3686
|
--show-bounds: true;
|
|
3687
|
+
|
|
1851
3688
|
&::part(bounds) {
|
|
1852
3689
|
display: flex;
|
|
1853
3690
|
width: 100%;
|
|
@@ -1856,6 +3693,7 @@ qti-response-declaration {
|
|
|
1856
3693
|
}
|
|
1857
3694
|
|
|
1858
3695
|
--show-ticks: true;
|
|
3696
|
+
|
|
1859
3697
|
&::part(ticks) {
|
|
1860
3698
|
margin-left: 0.125rem; /* mx-0.5 */
|
|
1861
3699
|
margin-right: 0.125rem;
|
|
@@ -1891,6 +3729,7 @@ qti-response-declaration {
|
|
|
1891
3729
|
}
|
|
1892
3730
|
|
|
1893
3731
|
--show-value: true;
|
|
3732
|
+
|
|
1894
3733
|
&::part(value) {
|
|
1895
3734
|
position: absolute;
|
|
1896
3735
|
bottom: 2rem; /* bottom-8 */
|
|
@@ -1908,19 +3747,25 @@ qti-response-declaration {
|
|
|
1908
3747
|
qti-select-point-interaction {
|
|
1909
3748
|
&::part(point) {
|
|
1910
3749
|
&:hover {
|
|
1911
|
-
|
|
3750
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
|
|
1912
3751
|
}
|
|
3752
|
+
|
|
1913
3753
|
&:focus {
|
|
1914
3754
|
outline: var(--qti-focus-border-width) solid var(--qti-focus-color);
|
|
1915
3755
|
}
|
|
1916
|
-
|
|
3756
|
+
|
|
1917
3757
|
border-radius: var(--qti-border-radius-full);
|
|
1918
|
-
|
|
3758
|
+
|
|
1919
3759
|
width: 1.5rem;
|
|
3760
|
+
|
|
1920
3761
|
height: 1.5rem;
|
|
3762
|
+
|
|
1921
3763
|
background-color: transparent;
|
|
3764
|
+
|
|
1922
3765
|
padding: 0;
|
|
3766
|
+
|
|
1923
3767
|
border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color-gray);
|
|
3768
|
+
|
|
1924
3769
|
outline: none;
|
|
1925
3770
|
}
|
|
1926
3771
|
}
|
|
@@ -1940,164 +3785,14 @@ qti-response-declaration {
|
|
|
1940
3785
|
|
|
1941
3786
|
/* utilities */
|
|
1942
3787
|
|
|
1943
|
-
@
|
|
1944
|
-
.qti-underline {
|
|
1945
|
-
text-decoration: underline;
|
|
1946
|
-
}
|
|
1947
|
-
|
|
1948
|
-
.qti-align-left {
|
|
1949
|
-
text-align: left;
|
|
1950
|
-
}
|
|
1951
|
-
|
|
1952
|
-
.qti-align-center {
|
|
1953
|
-
text-align: center;
|
|
1954
|
-
}
|
|
1955
|
-
|
|
1956
|
-
.qti-align-right {
|
|
1957
|
-
text-align: right;
|
|
1958
|
-
}
|
|
1959
|
-
|
|
1960
|
-
.qti-valign-top {
|
|
1961
|
-
vertical-align: top;
|
|
1962
|
-
}
|
|
1963
|
-
|
|
1964
|
-
.qti-valign-middle {
|
|
1965
|
-
vertical-align: middle;
|
|
1966
|
-
}
|
|
1967
|
-
|
|
1968
|
-
.qti-valign-baseline {
|
|
1969
|
-
vertical-align: baseline;
|
|
1970
|
-
}
|
|
1971
|
-
|
|
1972
|
-
.qti-valign-bottom {
|
|
1973
|
-
vertical-align: bottom;
|
|
1974
|
-
}
|
|
1975
|
-
|
|
1976
|
-
.qti-fullwidth {
|
|
1977
|
-
width: 100%;
|
|
1978
|
-
}
|
|
1979
|
-
|
|
1980
|
-
.qti-hidden {
|
|
1981
|
-
display: none;
|
|
1982
|
-
}
|
|
1983
|
-
|
|
1984
|
-
.qti-visually-hidden {
|
|
1985
|
-
position: fixed !important;
|
|
1986
|
-
overflow: hidden;
|
|
1987
|
-
width: 1px;
|
|
1988
|
-
height: 1px;
|
|
1989
|
-
border: 0;
|
|
1990
|
-
margin: -1px;
|
|
1991
|
-
clip: rect(1px 1px 1px 1px);
|
|
1992
|
-
}
|
|
1993
|
-
|
|
1994
|
-
.qti-bordered {
|
|
1995
|
-
padding: 2px;
|
|
1996
|
-
border: 1px solid #888;
|
|
1997
|
-
}
|
|
1998
|
-
|
|
1999
|
-
.qti-well {
|
|
2000
|
-
display: inline-block;
|
|
2001
|
-
padding-top: 0.5rem;
|
|
2002
|
-
padding-bottom: 0.5rem;
|
|
2003
|
-
padding-left: 0.75rem;
|
|
2004
|
-
padding-right: 0.75rem;
|
|
2005
|
-
border-radius: 0.25rem;
|
|
2006
|
-
border-width: 1px;
|
|
2007
|
-
border-color: #d1d5db;
|
|
2008
|
-
color: #4b5563;
|
|
2009
|
-
background-color: #f3f4f6;
|
|
2010
|
-
}
|
|
2011
|
-
}
|
|
3788
|
+
/* @import './styles/qti-utilities/qti-styles'; */
|
|
2012
3789
|
|
|
2013
3790
|
/* variants */
|
|
2014
3791
|
|
|
2015
|
-
@
|
|
2016
|
-
.qti-input-width-1 {
|
|
2017
|
-
width: 1ch;
|
|
2018
|
-
min-width: 1ch;
|
|
2019
|
-
}
|
|
2020
|
-
.qti-input-width-2 {
|
|
2021
|
-
width: 2ch;
|
|
2022
|
-
min-width: 2ch;
|
|
2023
|
-
}
|
|
2024
|
-
.qti-input-width-3 {
|
|
2025
|
-
width: 3ch;
|
|
2026
|
-
min-width: 3ch;
|
|
2027
|
-
}
|
|
2028
|
-
.qti-input-width-4 {
|
|
2029
|
-
width: 4ch;
|
|
2030
|
-
min-width: 4ch;
|
|
2031
|
-
}
|
|
2032
|
-
.qti-input-width-6 {
|
|
2033
|
-
width: 6ch;
|
|
2034
|
-
min-width: 6ch;
|
|
2035
|
-
}
|
|
2036
|
-
.qti-input-width-10 {
|
|
2037
|
-
width: 10ch;
|
|
2038
|
-
min-width: 10ch;
|
|
2039
|
-
}
|
|
2040
|
-
.qti-input-width-15 {
|
|
2041
|
-
width: 15ch;
|
|
2042
|
-
min-width: 15ch;
|
|
2043
|
-
}
|
|
2044
|
-
.qti-input-width-20 {
|
|
2045
|
-
width: 20ch;
|
|
2046
|
-
min-width: 20ch;
|
|
2047
|
-
}
|
|
2048
|
-
.qti-input-width-72 {
|
|
2049
|
-
width: 72ch;
|
|
2050
|
-
min-width: 72ch;
|
|
2051
|
-
}
|
|
2052
|
-
}
|
|
3792
|
+
/* @import './styles/qti-variants/qti-input-width'; */
|
|
2053
3793
|
|
|
2054
|
-
@
|
|
2055
|
-
|
|
2056
|
-
&.qti-choices-stacking-2 {
|
|
2057
|
-
.grid {
|
|
2058
|
-
display: grid; /* grid */
|
|
2059
|
-
}
|
|
2060
|
-
grid-template-columns: repeat(2, minmax(0, 1fr)); /* grid-cols-2 */
|
|
2061
|
-
qti-prompt {
|
|
2062
|
-
grid-column: span 2 / span 2; /* col-span-2 */
|
|
2063
|
-
}
|
|
2064
|
-
}
|
|
2065
|
-
&.qti-choices-stacking-3 {
|
|
2066
|
-
.grid {
|
|
2067
|
-
display: grid;
|
|
2068
|
-
}
|
|
2069
|
-
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
2070
|
-
qti-prompt {
|
|
2071
|
-
grid-column: span 3 / span 3;
|
|
2072
|
-
}
|
|
2073
|
-
}
|
|
2074
|
-
&.qti-choices-stacking-4 {
|
|
2075
|
-
.grid {
|
|
2076
|
-
display: grid;
|
|
2077
|
-
}
|
|
2078
|
-
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
2079
|
-
qti-prompt {
|
|
2080
|
-
grid-column: span 4 / span 4;
|
|
2081
|
-
}
|
|
2082
|
-
}
|
|
2083
|
-
&.qti-choices-stacking-5 {
|
|
2084
|
-
.grid {
|
|
2085
|
-
display: grid;
|
|
2086
|
-
}
|
|
2087
|
-
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
2088
|
-
qti-prompt {
|
|
2089
|
-
grid-column: span 5 / span 5;
|
|
2090
|
-
}
|
|
2091
|
-
}
|
|
2092
|
-
&.qti-orientation-horizontal {
|
|
2093
|
-
/* is the default layout */
|
|
2094
|
-
}
|
|
2095
|
-
&[orientation='horizontal'] {
|
|
2096
|
-
flex-direction: row;
|
|
2097
|
-
}
|
|
2098
|
-
}
|
|
2099
|
-
}
|
|
2100
|
-
`;var O,qe,vt,yt,zr=class extends HTMLElement{constructor(){super(...arguments);qt(this,qe);qt(this,O,null);qt(this,yt,e=>{e.stopImmediatePropagation(),e.stopPropagation(),this.dispatchEvent(new CustomEvent("qti-item-variables-changed",{bubbles:!1,detail:{variables:R(this,qe,vt).variables}}))})}set xmlDoc(e){if(!R(this,O)){Wr(this,O,this.attachShadow({mode:"open"}));let r=new CSSStyleSheet;r.replaceSync(Fi),R(this,O).adoptedStyleSheets=[r],R(this,O).innerHTML="",R(this,O).addEventListener("qti-interaction-changed",R(this,yt)),R(this,O).addEventListener("qti-outcome-changed",R(this,yt))}R(this,O).innerHTML="",R(this,O).appendChild(e.cloneNode(!0))}processResponse(){var e,r;(r=(e=R(this,qe,vt))==null?void 0:e.variables)!=null&&r.processResponse()||console.warn("No qti-assessment-item found")}get variables(){var e;return((e=R(this,qe,vt))==null?void 0:e.variables)||console.warn("No qti-assessment-item found")}set variables(e){R(this,qe,vt).variables=e}attributeChangedCallback(e,r,i){switch(e){case"view":break;default:r!==i&&(this[e]=i);break}}};O=new WeakMap,qe=new WeakSet,vt=function(){return R(this,O).querySelector("qti-assessment-item")||console.warn("No qti-assessment-item found")},yt=new WeakMap;customElements.define("qti-item",zr);var Bi=s=>s.endsWith("/")?s:`${s}/`,Mg=async(s,t,e=!0)=>{let r=Bi(s),i=await mr().load(`${r}imsmanifest.xml`).then(c=>c.assessmentTest()),o=await Lt().load(`${r}${i.href}`).then(c=>c.items()),n=`${r}${i.href.substring(0,i.href.lastIndexOf("/"))}/${o[t].href}`,a=await Je().load(n,e).then(c=>c.path(n.substring(0,n.lastIndexOf("/"))).stripStyleSheets());return{itemHTMLDoc:a.htmldoc(),itemHTML:a.html(),items:o}},Lg=async s=>{let t=Bi(s),e=await mr().load(`${t}imsmanifest.xml`).then(c=>c.assessmentTest()),r=await Lt().load(`${t}${e.href}`).then(c=>c.htmldoc()),i=await Lt().load(`${t}${e.href}`).then(c=>c.items()),n=`${t.substring(0,t.lastIndexOf("/"))}/${e.href.substring(0,e.href.lastIndexOf("/"))}`,a=`${n}/${i[0].href.substring(0,i[0].href.lastIndexOf("/"))}`;return{assessmentXML:r,itemLocation:a,assessmentLocation:n,items:i,testIdentifier:e.identifier}},Hg=async(s,t=!0)=>Je().load(s,t).then(e=>e.path(s.substring(0,s.lastIndexOf("/"))).stripStyleSheets().html());export{k as Interaction,at as QtPrintedVariable,jt as QtiAnd,H as QtiAssessmentItem,Ae as QtiAssessmentStimulusRef,ft as QtiAssociableHotspot,Me as QtiAssociateInteraction,Xt as QtiBaseValue,M as QtiChoice,Re as QtiChoiceInteraction,Nt as QtiCompanionMaterialsInfo,V as QtiConditionExpression,kr as QtiContains,Vt as QtiContentBody,_r as QtiCorrect,K as QtiCustomInteraction,mt as QtiCustomOperator,Le as QtiEndAttemptInteraction,Wt as QtiEqual,Yt as QtiEqualRounded,x as QtiExpression,X as QtiExtendedTextInteraction,Qe as QtiFeedbackBlock,et as QtiFeedbackInline,Pe as QtiGap,Ne as QtiGapImg,lt as QtiGapMatchInteraction,Ve as QtiGapText,J as QtiGraphicAssociateInteraction,ct as QtiGraphicGapMatchInteraction,dt as QtiGraphicOrderInteraction,Ar as QtiGt,Sr as QtiGte,De as QtiHotspotChoice,pt as QtiHotspotInteraction,gt as QtiHottext,zt as QtiHottextInteraction,bt as QtiInlineChoice,de as QtiInlineChoiceInteraction,Tr as QtiIsNull,Bt as QtiLookupOutcomeValue,Rr as QtiLt,$r as QtiLte,Kt as QtiMapResponse,$e as QtiMapping,Mr as QtiMatch,he as QtiMatchInteraction,ut as QtiMediaInteraction,Lr as QtiMember,tt as QtiModalFeedback,Hr as QtiMultiple,Pr as QtiNot,Nr as QtiOr,re as QtiOrderInteraction,Vr as QtiOrdered,z as QtiOutcomeDeclaration,st as QtiOutcomeProcessing,xr as QtiOutcomeProcessingProcessor,pe as QtiPortableCustomInteraction,ht as QtiPositionObjectStage,Dr as QtiProduct,Ht as QtiPrompt,qr as QtiResponseCondition,ee as QtiResponseDeclaration,ot as QtiResponseElse,Cr as QtiResponseElseIf,nt as QtiResponseIf,xe as QtiResponseProcessing,F as QtiRubricBlock,Y as QtiRule,Qt as QtiSPositionObjectInteraction,me as QtiSelectPointInteraction,Er as QtiSetOutcomeValue,wr as QtiSetOutcomeValueRule,ue as QtiSimpleAssociableChoice,Oe as QtiSimpleChoice,$ as QtiSliderInteraction,Jt as QtiStringMatch,Pt as QtiStylesheet,Or as QtiSum,Ir as QtiSumExpression,N as QtiTextEntryInteraction,Ur as QtiVariable,Lg as getAssessmentData,Mg as getItemByIndex,Hg as getItemByUri,U as itemContext,Ci as itemContextVariables,_s as qtiAndMixin,Je as qtiTransformItem,mr as qtiTransformManifest,Lt as qtiTransformTest};
|
|
3794
|
+
/* @import './styles/qti-variants/qti-interactions'; */
|
|
3795
|
+
`;var V,qe,vt,yt,zr=class extends HTMLElement{constructor(){super(...arguments);qt(this,qe);qt(this,V,null);qt(this,yt,e=>{e.stopImmediatePropagation(),e.stopPropagation(),this.dispatchEvent(new CustomEvent("qti-item-variables-changed",{bubbles:!1,detail:{variables:R(this,qe,vt).variables}}))})}set xmlDoc(e){if(!R(this,V)){Wr(this,V,this.attachShadow({mode:"open"}));let r=new CSSStyleSheet;r.replaceSync(Xi),R(this,V).adoptedStyleSheets=[r],R(this,V).innerHTML="",R(this,V).addEventListener("qti-interaction-changed",R(this,yt)),R(this,V).addEventListener("qti-outcome-changed",R(this,yt))}R(this,V).innerHTML="",R(this,V).appendChild(e.cloneNode(!0))}processResponse(){var e,r;(r=(e=R(this,qe,vt))==null?void 0:e.variables)!=null&&r.processResponse()||console.warn("No qti-assessment-item found")}get variables(){var e;return((e=R(this,qe,vt))==null?void 0:e.variables)||console.warn("No qti-assessment-item found")}set variables(e){R(this,qe,vt).variables=e}attributeChangedCallback(e,r,i){switch(e){case"view":break;default:r!==i&&(this[e]=i);break}}};V=new WeakMap,qe=new WeakSet,vt=function(){return R(this,V).querySelector("qti-assessment-item")||console.warn("No qti-assessment-item found")},yt=new WeakMap;customElements.define("qti-item",zr);var Yi=s=>s.endsWith("/")?s:`${s}/`,jf=async(s,t,e=!0)=>{let r=Yi(s),i=await ur().load(`${r}imsmanifest.xml`).then(c=>c.assessmentTest()),o=await $t().load(`${r}${i.href}`).then(c=>c.items()),n=`${r}${i.href.substring(0,i.href.lastIndexOf("/"))}/${o[t].href}`,a=await Ze().load(n,e).then(c=>c.path(n.substring(0,n.lastIndexOf("/"))).stripStyleSheets());return{itemHTMLDoc:a.htmldoc(),itemHTML:a.html(),items:o}},Xf=async s=>{let t=Yi(s),e=await ur().load(`${t}imsmanifest.xml`).then(c=>c.assessmentTest()),r=await $t().load(`${t}${e.href}`).then(c=>c.htmldoc()),i=await $t().load(`${t}${e.href}`).then(c=>c.items()),n=`${t.substring(0,t.lastIndexOf("/"))}/${e.href.substring(0,e.href.lastIndexOf("/"))}`,a=`${n}/${i[0].href.substring(0,i[0].href.lastIndexOf("/"))}`;return{assessmentXML:r,itemLocation:a,assessmentLocation:n,items:i,testIdentifier:e.identifier}},Yf=async(s,t=!0)=>Ze().load(s,t).then(e=>e.path(s.substring(0,s.lastIndexOf("/"))).stripStyleSheets().html());export{U as ActiveElementMixin,T as Interaction,at as QtPrintedVariable,jt as QtiAnd,$ as QtiAssessmentItem,Ae as QtiAssessmentStimulusRef,gt as QtiAssociableHotspot,Le as QtiAssociateInteraction,Xt as QtiBaseValue,Re as QtiChoiceInteraction,Pt as QtiCompanionMaterialsInfo,P as QtiConditionExpression,kr as QtiContains,Nt as QtiContentBody,Tr as QtiCorrect,K as QtiCustomInteraction,ut as QtiCustomOperator,$e as QtiEndAttemptInteraction,Wt as QtiEqual,Yt as QtiEqualRounded,x as QtiExpression,X as QtiExtendedTextInteraction,Qe as QtiFeedbackBlock,et as QtiFeedbackInline,He as QtiGap,Pe as QtiGapImg,lt as QtiGapMatchInteraction,Ne as QtiGapText,Z as QtiGraphicAssociateInteraction,ct as QtiGraphicGapMatchInteraction,dt as QtiGraphicOrderInteraction,Ar as QtiGt,_r as QtiGte,Ve as QtiHotspotChoice,pt as QtiHotspotInteraction,ft as QtiHottext,zt as QtiHottextInteraction,bt as QtiInlineChoice,de as QtiInlineChoiceInteraction,Sr as QtiIsNull,Bt as QtiLookupOutcomeValue,Rr as QtiLt,Mr as QtiLte,Kt as QtiMapResponse,Me as QtiMapping,Lr as QtiMatch,me as QtiMatchInteraction,ht as QtiMediaInteraction,$r as QtiMember,tt as QtiModalFeedback,Dr as QtiMultiple,Hr as QtiNot,Pr as QtiOr,re as QtiOrderInteraction,Nr as QtiOrdered,z as QtiOutcomeDeclaration,st as QtiOutcomeProcessing,xr as QtiOutcomeProcessingProcessor,pe as QtiPortableCustomInteraction,mt as QtiPositionObjectStage,Vr as QtiProduct,Dt as QtiPrompt,qr as QtiResponseCondition,ee as QtiResponseDeclaration,ot as QtiResponseElse,Cr as QtiResponseElseIf,nt as QtiResponseIf,xe as QtiResponseProcessing,F as QtiRubricBlock,Y as QtiRule,Qt as QtiSPositionObjectInteraction,ue as QtiSelectPointInteraction,wr as QtiSetOutcomeValue,Er as QtiSetOutcomeValueRule,he as QtiSimpleAssociableChoice,Ie as QtiSimpleChoice,M as QtiSliderInteraction,Zt as QtiStringMatch,Ht as QtiStylesheet,Ir as QtiSum,Or as QtiSumExpression,H as QtiTextEntryInteraction,Ur as QtiVariable,Xf as getAssessmentData,jf as getItemByIndex,Yf as getItemByUri,O as itemContext,Ci as itemContextVariables,_s as qtiAndMixin,Ze as qtiTransformItem,ur as qtiTransformManifest,$t as qtiTransformTest};
|
|
2101
3796
|
/*! Bundled license information:
|
|
2102
3797
|
|
|
2103
3798
|
@lit/context/lib/context-request-event.js:
|