@citolab/qti-components 3.0.80 → 3.0.82
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/index.css +2 -0
- package/index.d.ts +51 -0
- package/index.js +3655 -0
- package/index.umd.cjs +503 -0
- package/lab/qti-custom-operator/qti-custom-operator-levenshtein.d.ts +11 -0
- package/lab/qti-custom-operator/qti-custom-operator-numeric-parse-nl.d.ts +11 -0
- package/lab/qti-custom-operator/qti-custom-operator-numeric.d.ts +6 -0
- package/lab/qti-custom-operator/qti-custom-operator-remove-spaces.d.ts +6 -0
- package/lab/qti-custom-operator/qti-custom-operator-trim.d.ts +6 -0
- package/lab/qti-item/qti-item.d.ts +20 -0
- package/lab/qti-manual-scoring/qti-manual-scoring.d.ts +15 -0
- package/lab/qti-test/index.d.ts +2 -0
- package/lab/qti-test/qti-test.d.ts +57 -0
- package/lib/qti-assessment-item/qti-assessment-item.d.ts +44 -0
- package/lib/qti-choice/qti-choice.d.ts +34 -0
- package/lib/qti-choice/qti-hottext/qti-hottext.d.ts +8 -0
- package/lib/qti-choice/qti-simple-choice/qti-simple-choice.d.ts +8 -0
- package/lib/qti-companion-materials-info/qti-companion-materials-info.d.ts +3 -0
- package/lib/qti-feedback/qti-feedback-inline/qti-feedback-inline.d.ts +5 -0
- package/lib/qti-feedback/qti-feedback.d.ts +30 -0
- package/lib/qti-feedback/qti-modal-feedback/qti-modal-feedback.d.ts +4 -0
- package/lib/qti-interaction/qti-associate-interaction/qti-associate-interaction.d.ts +9 -0
- package/lib/qti-interaction/qti-associate-interaction/qti-simple-associable-choice.d.ts +5 -0
- package/lib/qti-interaction/qti-choice-interaction/qti-choice-interaction.d.ts +10 -0
- package/lib/qti-interaction/qti-extended-text-interaction/qti-extended-text-interaction.d.ts +18 -0
- package/lib/qti-interaction/qti-gap-match-interaction/qti-gap-match-interaction.d.ts +7 -0
- package/lib/qti-interaction/qti-gap-match-interaction/qti-gap-text.d.ts +5 -0
- package/lib/qti-interaction/qti-gap-match-interaction/qti-gap.d.ts +4 -0
- package/lib/qti-interaction/qti-graphic-associate-interaction/qti-graphic-associate-interaction.d.ts +9 -0
- package/lib/qti-interaction/qti-graphic-gap-match-interaction/qti-graphic-gap-match-interaction.d.ts +10 -0
- package/lib/qti-interaction/qti-graphic-order-interaction/qti-graphic-order-interaction.d.ts +10 -0
- package/lib/qti-interaction/qti-hotspot-choice.d.ts +5 -0
- package/lib/qti-interaction/qti-hotspot-interaction/qti-hotspot-interaction.d.ts +8 -0
- package/lib/qti-interaction/qti-hottext-interaction/qti-hottext-interaction.d.ts +5 -0
- package/lib/qti-interaction/qti-inline-choice-interaction/qti-inline-choice-interaction.d.ts +26 -0
- package/lib/qti-interaction/qti-match-interaction/qti-match-interaction.d.ts +7 -0
- package/lib/qti-interaction/qti-media-interaction/qti-media-interaction.d.ts +18 -0
- package/lib/qti-interaction/qti-order-interaction/qti-order-interaction.d.ts +22 -0
- package/lib/qti-interaction/qti-portable-custom-interaction/qti-portable-custom-interaction.d.ts +34 -0
- package/lib/qti-interaction/qti-preview-badge.d.ts +1 -0
- package/lib/qti-interaction/qti-select-point-interaction/qti-select-point-interaction.d.ts +9 -0
- package/lib/qti-interaction/qti-slider-interaction/qti-slider-interaction.d.ts +31 -0
- package/lib/qti-interaction/qti-text-entry-interaction/qti-text-entry-interaction.d.ts +33 -0
- package/lib/qti-item-body/qti-item-body.d.ts +5 -0
- package/lib/qti-prompt/qti-prompt.d.ts +5 -0
- package/lib/qti-responseprocessing/index.d.ts +18 -0
- package/lib/qti-responseprocessing/qti-expression/qti-and/qti-and.d.ts +7 -0
- package/lib/qti-responseprocessing/qti-expression/qti-basevalue/qti-basevalue.d.ts +6 -0
- package/lib/qti-responseprocessing/qti-expression/qti-contains/qti-contains.d.ts +6 -0
- package/lib/qti-responseprocessing/qti-expression/qti-correct/qti-correct.d.ts +6 -0
- package/lib/qti-responseprocessing/qti-expression/qti-expression.d.ts +6 -0
- package/lib/qti-responseprocessing/qti-expression/qti-gte/qti-gte.d.ts +6 -0
- package/lib/qti-responseprocessing/qti-expression/qti-is-null/qti-is-null.d.ts +6 -0
- package/lib/qti-responseprocessing/qti-expression/qti-mapresponse/qti-mapresponse.d.ts +4 -0
- package/lib/qti-responseprocessing/qti-expression/qti-match/qti-match.d.ts +4 -0
- package/lib/qti-responseprocessing/qti-expression/qti-multiple/qti-multiple.d.ts +4 -0
- package/lib/qti-responseprocessing/qti-expression/qti-or/qti-or.d.ts +7 -0
- package/lib/qti-responseprocessing/qti-expression/qti-variable/qti-variable.d.ts +6 -0
- package/lib/qti-responseprocessing/qti-responseelse/qti-responseelse.d.ts +15 -0
- package/lib/qti-responseprocessing/qti-responseelse/qti-responseif/qti-responseelseif/qti-responseelseif.d.ts +4 -0
- package/lib/qti-responseprocessing/qti-responseelse/qti-responseif/qti-responseif.d.ts +7 -0
- package/lib/qti-responseprocessing/qti-responseprocessing/qti-responseprocessing.d.ts +7 -0
- package/lib/qti-responseprocessing/qti-rule/qti-responsecondition/qti-responsecondition.d.ts +5 -0
- package/lib/qti-responseprocessing/qti-rule/qti-rule.d.ts +5 -0
- package/lib/qti-responseprocessing/qti-rule/qti-setoutcomevalue/qti-setoutcomevalue.d.ts +4 -0
- package/lib/qti-rubric-block/qti-content-body.d.ts +4 -0
- package/lib/qti-rubric-block/qti-rubric-block.d.ts +15 -0
- package/lib/qti-stylesheet/qti-stylesheet.d.ts +7 -0
- package/lib/qti-utilities/EventStrings.d.ts +19 -0
- package/lib/qti-utilities/EventTypes.d.ts +7 -0
- package/lib/qti-utilities/ExpressionResult.d.ts +43 -0
- package/lib/qti-utilities/OutcomeVariable.d.ts +8 -0
- package/lib/qti-utilities/ResponseVariable.d.ts +28 -0
- package/lib/qti-utilities/TemplateStrings.d.ts +3 -0
- package/lib/qti-utilities/VariableDeclaration.d.ts +7 -0
- package/lib/qti-variabledeclaration/qti-outcomedeclaration/qti-outcomedeclaration.d.ts +5 -0
- package/lib/qti-variabledeclaration/qti-responsedeclaration/qti-responsedeclaration.d.ts +9 -0
- package/lib/qti-variabledeclaration/qti-variabledeclaration.d.ts +4 -0
- package/lib/utilities/choice/choices.d.ts +23 -0
- package/lib/utilities/context/context.d.ts +7 -0
- package/lib/utilities/decorators/liveQuery.d.ts +10 -0
- package/lib/utilities/decorators/watch.d.ts +14 -0
- package/lib/utilities/drag-drop/drag-drop-api.d.ts +91 -0
- package/lib/utilities/drag-drop/drag-drop-interaction-mixin.d.ts +5 -0
- package/lib/utilities/drag-drop/droppables-mixin.d.ts +6 -0
- package/lib/utilities/drag-drop/flippables-mixin.d.ts +8 -0
- package/lib/utilities/drag-drop/index.d.ts +4 -0
- package/lib/utilities/element/qti-element.d.ts +6 -0
- package/lib/utilities/hotspots/hotspot.d.ts +2 -0
- package/lib/utilities/interaction/interaction.d.ts +14 -0
- package/lib/utilities/interaction/interaction.interface.d.ts +8 -0
- package/lib/utilities/reset-styles/reset-shadowroot-styles.d.ts +1 -0
- package/lib/utilities/scale-to-fit/scale-to-fit.mixin.d.ts +6 -0
- package/package.json +1 -4
package/index.umd.cjs
ADDED
|
@@ -0,0 +1,503 @@
|
|
|
1
|
+
(function(n,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("lit")):typeof define=="function"&&define.amd?define(["exports","lit"],d):(n=typeof globalThis<"u"?globalThis:n||self,d(n["qti-components"]={},n.lit))})(this,function(n,d){"use strict";var Xt=document.createElement("style");Xt.textContent=`@charset "UTF-8";.qti-underline{text-decoration:underline}.qti-align-left{text-align:left}.qti-align-center{text-align:center}.qti-align-right{text-align:right}.qti-valign-top{vertical-align:top}.qti-valign-middle{vertical-align:middle}.qti-valign-baseline{vertical-align:baseline}.qti-valign-bottom{vertical-align:bottom}.qti-fullwidth{width:100%}.qti-hidden{display:none}.qti-visually-hidden{position:fixed!important;overflow:hidden;width:1px;height:1px;border:0;margin:-1px;clip:rect(1px 1px 1px 1px)}.qti-bordered{padding:2px;border:1px solid #888}.qti-well{min-height:20px;padding:19px;border:1px solid #e3e3e3;border-radius:4px;margin-bottom:20px;background-color:#f5f5f5;box-shadow:inset 0 1px 1px #0000000d}.qti-layout-row{display:flow-root;width:100%}.qti-layout-row [class*=qti-layout-col]{margin-left:2.1276595745%;float:left}.qti-layout-row [class*=qti-layout-col]:first-child{margin-left:0}.qti-layout-row .qti-layout-col12{width:100%}.qti-layout-row .qti-layout-offset12{margin-left:104.2553191489%}.qti-layout-row .qti-layout-offset12:first-child{margin-left:102.1276595745%}.qti-layout-row .qti-layout-col11{width:91.4893617021%}.qti-layout-row .qti-layout-offset11{margin-left:95.7446808511%}.qti-layout-row .qti-layout-offset11:first-child{margin-left:93.6170212766%}.qti-layout-row .qti-layout-col10{width:82.9787234043%}.qti-layout-row .qti-layout-offset10{margin-left:87.2340425532%}.qti-layout-row .qti-layout-offset10:first-child{margin-left:85.1063829787%}.qti-layout-row .qti-layout-col9{width:74.4680851064%}.qti-layout-row .qti-layout-offset9{margin-left:78.7234042553%}.qti-layout-row .qti-layout-offset9:first-child{margin-left:76.5957446809%}.qti-layout-row .qti-layout-col8{width:65.9574468085%}.qti-layout-row .qti-layout-offset8{margin-left:70.2127659574%}.qti-layout-row .qti-layout-offset8:first-child{margin-left:68.085106383%}.qti-layout-row .qti-layout-col7{width:57.4468085106%}.qti-layout-row .qti-layout-offset7{margin-left:61.7021276596%}.qti-layout-row .qti-layout-offset7:first-child{margin-left:59.5744680851%}.qti-layout-row .qti-layout-col6{width:48.9361702128%}.qti-layout-row .qti-layout-offset6{margin-left:53.1914893617%}.qti-layout-row .qti-layout-offset6:first-child{margin-left:51.0638297872%}.qti-layout-row .qti-layout-col5{width:40.4255319149%}.qti-layout-row .qti-layout-offset5{margin-left:44.6808510638%}.qti-layout-row .qti-layout-offset5:first-child{margin-left:42.5531914894%}.qti-layout-row .qti-layout-col4{width:31.914893617%}.qti-layout-row .qti-layout-offset4{margin-left:36.170212766%}.qti-layout-row .qti-layout-offset4:first-child{margin-left:34.0425531915%}.qti-layout-row .qti-layout-col3{width:23.4042553191%}.qti-layout-row .qti-layout-offset3{margin-left:27.6595744681%}.qti-layout-row .qti-layout-offset3:first-child{margin-left:25.5319148936%}.qti-layout-row .qti-layout-col2{width:14.8936170213%}.qti-layout-row .qti-layout-offset2{margin-left:19.1489361702%}.qti-layout-row .qti-layout-offset2:first-child{margin-left:17.0212765957%}.qti-layout-row .qti-layout-col1{width:6.3829787234%}.qti-layout-row .qti-layout-offset1{margin-left:10.6382978723%}.qti-layout-row .qti-layout-offset1:first-child{margin-left:8.5106382979%}:root{--qti-primary: rgb(30, 80, 127);--qti-primary-color: var(--qti-primary);--qti-focus-color: #98cbfa;--qti-border-color: #cdd5df;--qti-shadow-color: #838c96;--qti-text-color: #4a5a69;--qti-background: #f2f4f5;--qti-placeholder-text: var(--qti-border-color);--qti-white: #fff;--qti-padding-x: .7rem;--qti-padding-y: .5rem;--qti-border-width: 2px;--qti-shadow-blur: 2px;--qti-border-radius: 2px;--qti-gap: 2px}/*! tailwindcss v3.2.7 | MIT License | https://tailwindcss.com
|
|
2
|
+
*/*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.\\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.\\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.m-2{margin:.5rem}.block{display:block}.inline-block{display:inline-block}.\\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.grid{display:grid}.contents{display:contents}.\\!hidden{display:none!important}.hidden{display:none}.h-16{height:4rem}.h-full{height:100%}.w-1{width:.25rem}.w-16{width:4rem}.w-full{width:100%}.min-w-\\[2rem\\]{min-width:2rem}.max-w-\\[2rem\\]{max-width:2rem}.basis-1{flex-basis:.25rem}.basis-1\\/4{flex-basis:25%}.basis-3{flex-basis:.75rem}.basis-3\\/4{flex-basis:75%}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-3{padding:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.text-right{text-align:right}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.text-blue-100{--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\\!invert{--tw-invert: invert(100%) !important;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.qti-theme-ims{--qti-border-width: 1px;--qti-border-color: var(--qti-primary-color);--qti-text-color: var(--qti-primary-color);--qti-background: #f6f6f6}.qti-theme-subtle{--qti-border-radius: 0;--qti-border-width: 2px;--qti-background: #fcfcfc;--qti-padding-x: .5rem;--qti-padding-y: .8rem}.qti-theme-raised{--qti-border-radius: 0;--qti-border-width: 2px;--qti-background: #ebebeb;--qti-padding-x: .5rem;--qti-padding-y: .8rem}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}qti-prompt{display:block}qti-rubric-block qti-content-body:not(:empty){display:block;padding:1rem;border:1px solid #ddd;margin-bottom:1rem}qti-content-body{display:block}qti-modal-feedback[showstatus=on]{position:absolute;top:2rem;right:0;left:0;width:400px;height:300px;border:1px solid #ddd;border-radius:10px;margin-right:auto;margin-left:auto;background-color:#fff;text-align:center}.qti-theme-raised qti-text-entry-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color);border-radius:calc(var(--qti-border-radius) * 3)}.qti-theme-raised qti-text-entry-interaction[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-text-entry-interaction:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-text-entry-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-text-entry-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-subtle qti-text-entry-interaction[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-text-entry-interaction:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-text-entry-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-text-entry-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-text-entry-interaction[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-text-entry-interaction:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-text-entry-interaction:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-text-entry-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-extended-text-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color);border-radius:calc(var(--qti-border-radius) * 3)}.qti-theme-raised qti-extended-text-interaction[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-extended-text-interaction:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-extended-text-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-extended-text-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-subtle qti-extended-text-interaction[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-extended-text-interaction:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-extended-text-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-extended-text-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-extended-text-interaction[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-extended-text-interaction:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-extended-text-interaction:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-extended-text-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-height-lines-3,.qti-height-lines-6,.qti-height-lines-15{width:100%}.qti-theme-raised .qti-input-control-hidden qti-hottext,.qti-input-control-hidden .qti-theme-raised qti-hottext{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color),0 var(--qti-border-width) var(--qti-border-color);border-radius:calc(var(--qti-border-radius) * 3)}.qti-theme-raised .qti-input-control-hidden qti-hottext[disabled],.qti-input-control-hidden .qti-theme-raised qti-hottext[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised .qti-input-control-hidden qti-hottext:focus,.qti-input-control-hidden .qti-theme-raised qti-hottext:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised .qti-input-control-hidden qti-hottext:hover:not([disabled]),.qti-input-control-hidden .qti-theme-raised qti-hottext:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised .qti-input-control-hidden qti-hottext[aria-checked=true],.qti-input-control-hidden .qti-theme-raised qti-hottext[aria-checked=true]{--qti-border-color: var(--qti-primary-color)}.qti-theme-raised qti-hottext{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-raised qti-hottext[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-hottext:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-hottext:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-hottext:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color),0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-subtle .qti-input-control-hidden qti-hottext,.qti-input-control-hidden .qti-theme-subtle qti-hottext{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-subtle .qti-input-control-hidden qti-hottext[disabled],.qti-input-control-hidden .qti-theme-subtle qti-hottext[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle .qti-input-control-hidden qti-hottext:focus,.qti-input-control-hidden .qti-theme-subtle qti-hottext:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle .qti-input-control-hidden qti-hottext:hover:not([disabled]),.qti-input-control-hidden .qti-theme-subtle qti-hottext:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle .qti-input-control-hidden qti-hottext[aria-checked=true],.qti-input-control-hidden .qti-theme-subtle qti-hottext[aria-checked=true]{--qti-border-color: var(--qti-primary-color);background-color:rgb(var(--qti-primary) .1)}.qti-theme-subtle qti-hottext{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-subtle qti-hottext[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-hottext:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-hottext:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-hottext:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-ims .qti-input-control-hidden qti-hottext,.qti-input-control-hidden .qti-theme-ims qti-hottext{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims .qti-input-control-hidden qti-hottext[disabled],.qti-input-control-hidden .qti-theme-ims qti-hottext[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims .qti-input-control-hidden qti-hottext:focus-within,.qti-input-control-hidden .qti-theme-ims qti-hottext:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims .qti-input-control-hidden qti-hottext:focus-within:before,.qti-input-control-hidden .qti-theme-ims qti-hottext:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims .qti-input-control-hidden qti-hottext:hover:not([disabled]),.qti-input-control-hidden .qti-theme-ims qti-hottext:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims .qti-input-control-hidden qti-hottext[aria-checked=true],.qti-input-control-hidden .qti-theme-ims qti-hottext[aria-checked=true]{--qti-border-color: var(--qti-primary-color);background-color:var(--qti-primary-color);color:#fff}.qti-theme-ims qti-hottext{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-ims qti-hottext[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-hottext:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-hottext:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-hottext:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-hottext[role=checkbox]:before{content:"";min-height:var(--width);min-width:var(--width);transition:border-radius 1s ease-in}.qti-theme-ims qti-hottext[role=checkbox]:after{border-bottom:3px solid var(--qti-primary-color);border-left:3px solid var(--qti-primary-color);content:"";display:inline-block;height:6px;opacity:0;position:absolute;transform:translate(6px,-2px) rotate(-45deg);transition:all .2s ease;width:10px}.qti-theme-ims qti-hottext[role=checkbox][aria-checked=true]:after{border-bottom:2px solid var(--qti-primary-color);border-left:2px solid var(--qti-primary-color);opacity:1}.qti-theme-ims qti-hottext[role=radio]:before{border-radius:100%;content:"";min-height:22px;min-width:22px}.qti-theme-ims qti-hottext[role=radio]:after{background:var(--qti-primary-color);border-radius:100%;content:"";display:inline-block;height:14px;margin-left:4px;opacity:0;position:absolute;transform:scale(.8);transition:all .1s ease-out;width:14px}.qti-theme-ims qti-hottext[role=radio][aria-checked=true]:after{opacity:1;transform:scale(1)}.qti-theme-ims qti-hottext:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}qti-hottext{position:relative;vertical-align:bottom}.qti-input-control-hidden qti-hottext{vertical-align:unset}.qti-input-control-hidden qti-hottext:before,.qti-input-control-hidden qti-hottext:after{content:unset!important}.qti-theme-raised qti-inline-choice-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:0 var(--qti-border-width) var(--qti-border-color);border-radius:calc(var(--qti-border-radius) * 3)}.qti-theme-raised qti-inline-choice-interaction[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-inline-choice-interaction:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-inline-choice-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-inline-choice-interaction:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--qti-border-color);clear:both;content:"";pointer-events:none;position:absolute;right:5%;top:calc(50% - 3px)}.qti-theme-subtle qti-inline-choice-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-subtle qti-inline-choice-interaction[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-inline-choice-interaction:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-inline-choice-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-inline-choice-interaction:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--qti-border-color);clear:both;content:"";pointer-events:none;position:absolute;right:5%;top:calc(50% - 3px)}.qti-theme-ims qti-inline-choice-interaction{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);cursor:pointer;background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-inline-choice-interaction[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-inline-choice-interaction:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-inline-choice-interaction:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-inline-choice-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-inline-choice-interaction:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--qti-border-color);clear:both;content:"";pointer-events:none;position:absolute;right:5%;top:calc(50% - 3px)}qti-choice-interaction{display:grid;grid-auto-flow:row dense;grid-gap:10px;grid-template-rows:auto auto}qti-choice-interaction.qti-choices-stacking-2{grid-template-columns:repeat(2,1fr)}qti-choice-interaction.qti-choices-stacking-3{grid-template-columns:repeat(3,1fr)}qti-choice-interaction.qti-choices-stacking-4{grid-template-columns:repeat(4,1fr)}qti-choice-interaction.qti-choices-stacking-5{grid-template-columns:repeat(5,1fr)}qti-choice-interaction.qti-orientation-horizontal{display:flex}qti-choice-interaction[orientation=horizontal]{display:flex}.qti-theme-raised .qti-input-control-hidden qti-simple-choice,.qti-input-control-hidden .qti-theme-raised qti-simple-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color),0 var(--qti-border-width) var(--qti-border-color);border-radius:calc(var(--qti-border-radius) * 3)}.qti-theme-raised .qti-input-control-hidden qti-simple-choice[disabled],.qti-input-control-hidden .qti-theme-raised qti-simple-choice[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised .qti-input-control-hidden qti-simple-choice:focus,.qti-input-control-hidden .qti-theme-raised qti-simple-choice:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised .qti-input-control-hidden qti-simple-choice:hover:not([disabled]),.qti-input-control-hidden .qti-theme-raised qti-simple-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised .qti-input-control-hidden qti-simple-choice[aria-checked=true],.qti-input-control-hidden .qti-theme-raised qti-simple-choice[aria-checked=true]{--qti-border-color: var(--qti-primary-color)}.qti-theme-raised qti-simple-choice{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-raised qti-simple-choice[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-simple-choice:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-simple-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-simple-choice:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color),0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-subtle .qti-input-control-hidden qti-simple-choice,.qti-input-control-hidden .qti-theme-subtle qti-simple-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-subtle .qti-input-control-hidden qti-simple-choice[disabled],.qti-input-control-hidden .qti-theme-subtle qti-simple-choice[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle .qti-input-control-hidden qti-simple-choice:focus,.qti-input-control-hidden .qti-theme-subtle qti-simple-choice:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle .qti-input-control-hidden qti-simple-choice:hover:not([disabled]),.qti-input-control-hidden .qti-theme-subtle qti-simple-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle .qti-input-control-hidden qti-simple-choice[aria-checked=true],.qti-input-control-hidden .qti-theme-subtle qti-simple-choice[aria-checked=true]{--qti-border-color: var(--qti-primary-color);background-color:rgb(var(--qti-primary) .1)}.qti-theme-subtle qti-simple-choice{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-subtle qti-simple-choice[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-simple-choice:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-simple-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-simple-choice:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-ims .qti-input-control-hidden qti-simple-choice,.qti-input-control-hidden .qti-theme-ims qti-simple-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims .qti-input-control-hidden qti-simple-choice[disabled],.qti-input-control-hidden .qti-theme-ims qti-simple-choice[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims .qti-input-control-hidden qti-simple-choice:focus-within,.qti-input-control-hidden .qti-theme-ims qti-simple-choice:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims .qti-input-control-hidden qti-simple-choice:focus-within:before,.qti-input-control-hidden .qti-theme-ims qti-simple-choice:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims .qti-input-control-hidden qti-simple-choice:hover:not([disabled]),.qti-input-control-hidden .qti-theme-ims qti-simple-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims .qti-input-control-hidden qti-simple-choice[aria-checked=true],.qti-input-control-hidden .qti-theme-ims qti-simple-choice[aria-checked=true]{--qti-border-color: var(--qti-primary-color);background-color:var(--qti-primary-color);color:#fff}.qti-theme-ims qti-simple-choice{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-ims qti-simple-choice[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-simple-choice:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-simple-choice:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-simple-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-simple-choice[role=checkbox]:before{content:"";min-height:var(--width);min-width:var(--width);transition:border-radius 1s ease-in}.qti-theme-ims qti-simple-choice[role=checkbox]:after{border-bottom:3px solid var(--qti-primary-color);border-left:3px solid var(--qti-primary-color);content:"";display:inline-block;height:6px;opacity:0;position:absolute;transform:translate(6px,-2px) rotate(-45deg);transition:all .2s ease;width:10px}.qti-theme-ims qti-simple-choice[role=checkbox][aria-checked=true]:after{border-bottom:2px solid var(--qti-primary-color);border-left:2px solid var(--qti-primary-color);opacity:1}.qti-theme-ims qti-simple-choice[role=radio]:before{border-radius:100%;content:"";min-height:22px;min-width:22px}.qti-theme-ims qti-simple-choice[role=radio]:after{background:var(--qti-primary-color);border-radius:100%;content:"";display:inline-block;height:14px;margin-left:4px;opacity:0;position:absolute;transform:scale(.8);transition:all .1s ease-out;width:14px}.qti-theme-ims qti-simple-choice[role=radio][aria-checked=true]:after{opacity:1;transform:scale(1)}.qti-theme-ims qti-simple-choice:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}qti-simple-choice{position:relative}.qti-input-control-hidden qti-simple-choice:before,.qti-input-control-hidden qti-simple-choice:after{content:unset!important}.qti-theme-raised qti-associate-interaction::part(drop-list){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-raised qti-associate-interaction:not(:empty)::part(drop-list){display:flex}.qti-theme-raised qti-associate-interaction:not(:empty)::part(drop-list)>*{box-shadow:unset;flex-grow:1;margin:2px}.qti-theme-raised qti-associate-interaction[active]::part(drop-list){background:var(--qti-background)}.qti-theme-raised qti-associate-interaction qti-simple-associable-choice,qti-associate-interaction .qti-theme-raised qti-simple-associable-choice,.qti-theme-raised qti-associate-interaction::part(qti-simple-associable-choice){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background);-webkit-user-select:none;user-select:none;box-shadow:0 var(--qti-border-width) var(--qti-border-color),0 calc(var(--qti-border-width) * 2) var(--qti-shadow-blur) var(--qti-shadow-color)}.qti-theme-raised qti-associate-interaction qti-simple-associable-choice[disabled],qti-associate-interaction .qti-theme-raised qti-simple-associable-choice[disabled],.qti-theme-raised qti-associate-interaction[disabled]::part(qti-simple-associable-choice){box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-associate-interaction qti-simple-associable-choice:focus,qti-associate-interaction .qti-theme-raised qti-simple-associable-choice:focus,.qti-theme-raised qti-associate-interaction:focus::part(qti-simple-associable-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-associate-interaction qti-simple-associable-choice:hover:not([disabled]),qti-associate-interaction .qti-theme-raised qti-simple-associable-choice:hover:not([disabled]),.qti-theme-raised qti-associate-interaction:hover:not([disabled])::part(qti-simple-associable-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-associate-interaction qti-simple-associable-choice:before,qti-associate-interaction .qti-theme-raised qti-simple-associable-choice:before{position:absolute;bottom:.2rem;top:.2rem;left:.2rem;width:.3rem;max-height:2rem;background:radial-gradient(ellipse at center,var(--qti-border-color) 0%,var(--qti-border-color) 40%,transparent 40%);background-repeat:repeat;background-size:.3rem .3rem;content:""}.qti-theme-subtle qti-associate-interaction::part(drop-list){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:radial-gradient(16px circle,transparent 0%,transparent calc(50% - var(--qti-border-width) / 2),var(--qti-border-color) calc(50% - (var(--qti-border-width) / 2 - .2px)),var(--qti-border-color) calc(50% + var(--qti-border-width) / 2 - .2px),transparent calc(50% + var(--qti-border-width) / 2),transparent 100%),linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background);transition:all .2s ease-out}.qti-theme-subtle qti-associate-interaction:not(:empty)::part(drop-list){display:flex}.qti-theme-subtle qti-associate-interaction:not(:empty)::part(drop-list)>*{flex-grow:1;margin:2px}.qti-theme-subtle qti-associate-interaction[active]::part(drop-list){background:radial-gradient(16px circle,transparent 0%,transparent calc(50% - var(--qti-border-width) / 2),var(--qti-border-color) calc(50% - (var(--qti-border-width) / 2 - .2px)),var(--qti-border-color) calc(50% + var(--qti-border-width) / 2 - .2px),transparent calc(50% + var(--qti-border-width) / 2),transparent 100%),linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background);transform:scale(1.02)}.qti-theme-subtle qti-associate-interaction qti-simple-associable-choice,qti-associate-interaction .qti-theme-subtle qti-simple-associable-choice,.qti-theme-subtle qti-associate-interaction::part(qti-simple-associable-choice){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background)}.qti-theme-subtle qti-associate-interaction qti-simple-associable-choice[disabled],qti-associate-interaction .qti-theme-subtle qti-simple-associable-choice[disabled],.qti-theme-subtle qti-associate-interaction[disabled]::part(qti-simple-associable-choice){--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-associate-interaction qti-simple-associable-choice:focus,qti-associate-interaction .qti-theme-subtle qti-simple-associable-choice:focus,.qti-theme-subtle qti-associate-interaction:focus::part(qti-simple-associable-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-associate-interaction qti-simple-associable-choice:hover:not([disabled]),qti-associate-interaction .qti-theme-subtle qti-simple-associable-choice:hover:not([disabled]),.qti-theme-subtle qti-associate-interaction:hover:not([disabled])::part(qti-simple-associable-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-associate-interaction qti-simple-associable-choice:before,qti-associate-interaction .qti-theme-subtle qti-simple-associable-choice:before{position:absolute;bottom:.2rem;top:.2rem;left:.2rem;width:.3rem;max-height:2rem;background:radial-gradient(ellipse at center,var(--qti-border-color) 0%,var(--qti-border-color) 40%,transparent 40%);background-repeat:repeat;background-size:.3rem .3rem;content:""}.qti-theme-ims qti-associate-interaction::part(drop-list){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);border-radius:0;background:var(--qti-white);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-associate-interaction[disabled]::part(drop-list){--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-associate-interaction:focus-within::part(drop-list){outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-associate-interaction:hover:not([disabled])::part(drop-list){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-associate-interaction:not(:empty)::part(drop-list){display:inline-flex}.qti-theme-ims qti-associate-interaction:not(:empty)::part(drop-list)>*{flex-grow:1;margin:2px}.qti-theme-ims qti-associate-interaction[active]::part(drop-list){background:rgb(var(--qti-primary) .4)!important}.qti-theme-ims qti-associate-interaction qti-simple-associable-choice,qti-associate-interaction .qti-theme-ims qti-simple-associable-choice,.qti-theme-ims qti-associate-interaction::part(qti-simple-associable-choice){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);cursor:pointer;padding:var(--qti-padding-x) var(--qti-padding-y);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-associate-interaction qti-simple-associable-choice[disabled],qti-associate-interaction .qti-theme-ims qti-simple-associable-choice[disabled],.qti-theme-ims qti-associate-interaction[disabled]::part(qti-simple-associable-choice){--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-associate-interaction qti-simple-associable-choice:focus-within,qti-associate-interaction .qti-theme-ims qti-simple-associable-choice:focus-within,.qti-theme-ims qti-associate-interaction:focus-within::part(qti-simple-associable-choice){outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-associate-interaction qti-simple-associable-choice:focus-within:before,qti-associate-interaction .qti-theme-ims qti-simple-associable-choice:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-associate-interaction qti-simple-associable-choice:hover:not([disabled]),qti-associate-interaction .qti-theme-ims qti-simple-associable-choice:hover:not([disabled]),.qti-theme-ims qti-associate-interaction:hover:not([disabled])::part(qti-simple-associable-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-associate-interaction qti-simple-associable-choice[active],qti-associate-interaction .qti-theme-ims qti-simple-associable-choice[active],.qti-theme-ims qti-associate-interaction[active]::part(qti-simple-associable-choice){background:rgb(var(--qti-primary) .4)!important}qti-associate-interaction::part(associables-container){display:flex;width:100%;height:100%;justify-content:space-between;margin-top:1rem;background:linear-gradient(180deg,rgba(0,0,0,0) calc(50% - 1px),var(--qti-border-color) 50%,rgba(0,0,0,0) calc(50% + 1px))}qti-associate-interaction::part(drop-list){width:30%;height:40px}.qti-theme-raised qti-gap-match-interaction qti-gap,qti-gap-match-interaction .qti-theme-raised qti-gap{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-raised qti-gap-match-interaction qti-gap:empty:after,qti-gap-match-interaction .qti-theme-raised qti-gap:empty:after{padding:var(--qti-padding-x) var(--qti-padding-y);display:inline-block;content:"\\a0"}.qti-theme-raised qti-gap-match-interaction qti-gap:not(:empty),qti-gap-match-interaction .qti-theme-raised qti-gap:not(:empty){display:flex}.qti-theme-raised qti-gap-match-interaction qti-gap:not(:empty)>*,qti-gap-match-interaction .qti-theme-raised qti-gap:not(:empty)>*{box-shadow:unset;flex-grow:1;margin:2px}.qti-theme-raised qti-gap-match-interaction qti-gap[active],qti-gap-match-interaction .qti-theme-raised qti-gap[active]{background:var(--qti-background)}.qti-theme-raised qti-gap-match-interaction qti-gap-text,qti-gap-match-interaction .qti-theme-raised qti-gap-text{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background);-webkit-user-select:none;user-select:none;box-shadow:0 var(--qti-border-width) var(--qti-border-color),0 calc(var(--qti-border-width) * 2) var(--qti-shadow-blur) var(--qti-shadow-color)}.qti-theme-raised qti-gap-match-interaction qti-gap-text[disabled],qti-gap-match-interaction .qti-theme-raised qti-gap-text[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-gap-match-interaction qti-gap-text:focus,qti-gap-match-interaction .qti-theme-raised qti-gap-text:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-gap-match-interaction qti-gap-text:hover:not([disabled]),qti-gap-match-interaction .qti-theme-raised qti-gap-text:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-gap-match-interaction qti-gap-text:before,qti-gap-match-interaction .qti-theme-raised qti-gap-text:before{position:absolute;bottom:.2rem;top:.2rem;left:.2rem;width:.3rem;max-height:2rem;background:radial-gradient(ellipse at center,var(--qti-border-color) 0%,var(--qti-border-color) 40%,transparent 40%);background-repeat:repeat;background-size:.3rem .3rem;content:""}.qti-theme-subtle qti-gap-match-interaction qti-gap,qti-gap-match-interaction .qti-theme-subtle qti-gap{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:radial-gradient(16px circle,transparent 0%,transparent calc(50% - var(--qti-border-width) / 2),var(--qti-border-color) calc(50% - (var(--qti-border-width) / 2 - .2px)),var(--qti-border-color) calc(50% + var(--qti-border-width) / 2 - .2px),transparent calc(50% + var(--qti-border-width) / 2),transparent 100%),linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background);transition:all .2s ease-out}.qti-theme-subtle qti-gap-match-interaction qti-gap:empty:after,qti-gap-match-interaction .qti-theme-subtle qti-gap:empty:after{padding:var(--qti-padding-x) var(--qti-padding-y);display:inline-block;content:"\\a0"}.qti-theme-subtle qti-gap-match-interaction qti-gap:not(:empty),qti-gap-match-interaction .qti-theme-subtle qti-gap:not(:empty){display:flex}.qti-theme-subtle qti-gap-match-interaction qti-gap:not(:empty)>*,qti-gap-match-interaction .qti-theme-subtle qti-gap:not(:empty)>*{flex-grow:1;margin:2px}.qti-theme-subtle qti-gap-match-interaction qti-gap[active],qti-gap-match-interaction .qti-theme-subtle qti-gap[active]{background:radial-gradient(16px circle,transparent 0%,transparent calc(50% - var(--qti-border-width) / 2),var(--qti-border-color) calc(50% - (var(--qti-border-width) / 2 - .2px)),var(--qti-border-color) calc(50% + var(--qti-border-width) / 2 - .2px),transparent calc(50% + var(--qti-border-width) / 2),transparent 100%),linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background);transform:scale(1.02)}.qti-theme-subtle qti-gap-match-interaction qti-gap-text,qti-gap-match-interaction .qti-theme-subtle qti-gap-text{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background)}.qti-theme-subtle qti-gap-match-interaction qti-gap-text[disabled],qti-gap-match-interaction .qti-theme-subtle qti-gap-text[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-gap-match-interaction qti-gap-text:focus,qti-gap-match-interaction .qti-theme-subtle qti-gap-text:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-gap-match-interaction qti-gap-text:hover:not([disabled]),qti-gap-match-interaction .qti-theme-subtle qti-gap-text:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-gap-match-interaction qti-gap-text:before,qti-gap-match-interaction .qti-theme-subtle qti-gap-text:before{position:absolute;bottom:.2rem;top:.2rem;left:.2rem;width:.3rem;max-height:2rem;background:radial-gradient(ellipse at center,var(--qti-border-color) 0%,var(--qti-border-color) 40%,transparent 40%);background-repeat:repeat;background-size:.3rem .3rem;content:""}.qti-theme-ims qti-gap-match-interaction qti-gap,qti-gap-match-interaction .qti-theme-ims qti-gap{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);border-radius:0;background:var(--qti-white);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-gap-match-interaction qti-gap[disabled],qti-gap-match-interaction .qti-theme-ims qti-gap[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-gap-match-interaction qti-gap:focus-within,qti-gap-match-interaction .qti-theme-ims qti-gap:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-gap-match-interaction qti-gap:focus-within:before,qti-gap-match-interaction .qti-theme-ims qti-gap:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-gap-match-interaction qti-gap:hover:not([disabled]),qti-gap-match-interaction .qti-theme-ims qti-gap:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-gap-match-interaction qti-gap:empty:after,qti-gap-match-interaction .qti-theme-ims qti-gap:empty:after{padding:var(--qti-padding-x) var(--qti-padding-y);display:inline-block;content:"\\a0"}.qti-theme-ims qti-gap-match-interaction qti-gap:not(:empty),qti-gap-match-interaction .qti-theme-ims qti-gap:not(:empty){display:inline-flex}.qti-theme-ims qti-gap-match-interaction qti-gap:not(:empty)>*,qti-gap-match-interaction .qti-theme-ims qti-gap:not(:empty)>*{flex-grow:1;margin:2px}.qti-theme-ims qti-gap-match-interaction qti-gap[active],qti-gap-match-interaction .qti-theme-ims qti-gap[active]{background:rgb(var(--qti-primary) .4)!important}.qti-theme-ims qti-gap-match-interaction qti-gap-text,qti-gap-match-interaction .qti-theme-ims qti-gap-text{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);cursor:pointer;padding:var(--qti-padding-x) var(--qti-padding-y);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-gap-match-interaction qti-gap-text[disabled],qti-gap-match-interaction .qti-theme-ims qti-gap-text[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-gap-match-interaction qti-gap-text:focus-within,qti-gap-match-interaction .qti-theme-ims qti-gap-text:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-gap-match-interaction qti-gap-text:focus-within:before,qti-gap-match-interaction .qti-theme-ims qti-gap-text:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-gap-match-interaction qti-gap-text:hover:not([disabled]),qti-gap-match-interaction .qti-theme-ims qti-gap-text:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-gap-match-interaction qti-gap-text[active],qti-gap-match-interaction .qti-theme-ims qti-gap-text[active]{background:rgb(var(--qti-primary) .4)!important}qti-gap-match-interaction{display:block}qti-gap-match-interaction qti-gap{width:20%}.qti-theme-raised qti-graphic-associate-interaction [qti-choice],qti-graphic-associate-interaction .qti-theme-raised [qti-choice]{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-raised qti-graphic-associate-interaction [disabled][qti-choice],qti-graphic-associate-interaction .qti-theme-raised [disabled][qti-choice]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-graphic-associate-interaction [qti-choice]:focus,qti-graphic-associate-interaction .qti-theme-raised [qti-choice]:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-graphic-associate-interaction [qti-choice]:hover:not([disabled]),qti-graphic-associate-interaction .qti-theme-raised [qti-choice]:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-graphic-associate-interaction [qti-choice]:before,qti-graphic-associate-interaction .qti-theme-raised [qti-choice]:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color),0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-subtle qti-graphic-associate-interaction [qti-choice],qti-graphic-associate-interaction .qti-theme-subtle [qti-choice]{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-subtle qti-graphic-associate-interaction [disabled][qti-choice],qti-graphic-associate-interaction .qti-theme-subtle [disabled][qti-choice]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-graphic-associate-interaction [qti-choice]:focus,qti-graphic-associate-interaction .qti-theme-subtle [qti-choice]:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-graphic-associate-interaction [qti-choice]:hover:not([disabled]),qti-graphic-associate-interaction .qti-theme-subtle [qti-choice]:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-graphic-associate-interaction [qti-choice]:before,qti-graphic-associate-interaction .qti-theme-subtle [qti-choice]:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-ims qti-graphic-associate-interaction [qti-choice],qti-graphic-associate-interaction .qti-theme-ims [qti-choice]{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-ims qti-graphic-associate-interaction [disabled][qti-choice],qti-graphic-associate-interaction .qti-theme-ims [disabled][qti-choice]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-graphic-associate-interaction [qti-choice]:focus-within,qti-graphic-associate-interaction .qti-theme-ims [qti-choice]:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-graphic-associate-interaction [qti-choice]:focus-within:before,qti-graphic-associate-interaction .qti-theme-ims [qti-choice]:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-graphic-associate-interaction [qti-choice]:hover:not([disabled]),qti-graphic-associate-interaction .qti-theme-ims [qti-choice]:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}qti-graphic-associate-interaction{position:relative;display:block}qti-graphic-associate-interaction [qti-choice]{position:absolute}qti-graphic-associate-interaction [qti-choice][shape=circle]:before{border-radius:100%;background:transparent}qti-graphic-associate-interaction [qti-choice][shape=square]:before{border-radius:0;background:transparent}qti-graphic-associate-interaction [qti-choice]:after{display:flex!important;width:unset!important;min-width:var(--width);height:unset!important;min-height:var(--width);align-items:center;justify-content:center;border:unset!important;content:attr(aria-ordervalue)!important;opacity:unset!important;transform:unset!important;transition:unset!important}qti-graphic-gap-match-interaction{position:relative;display:block}.qti-theme-raised qti-graphic-order-interaction qti-hotspot-choice,qti-graphic-order-interaction .qti-theme-raised qti-hotspot-choice{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-raised qti-graphic-order-interaction qti-hotspot-choice[disabled],qti-graphic-order-interaction .qti-theme-raised qti-hotspot-choice[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-graphic-order-interaction qti-hotspot-choice:focus,qti-graphic-order-interaction .qti-theme-raised qti-hotspot-choice:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-graphic-order-interaction qti-hotspot-choice:hover:not([disabled]),qti-graphic-order-interaction .qti-theme-raised qti-hotspot-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-graphic-order-interaction qti-hotspot-choice:before,qti-graphic-order-interaction .qti-theme-raised qti-hotspot-choice:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color),0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-subtle qti-graphic-order-interaction qti-hotspot-choice,qti-graphic-order-interaction .qti-theme-subtle qti-hotspot-choice{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-subtle qti-graphic-order-interaction qti-hotspot-choice[disabled],qti-graphic-order-interaction .qti-theme-subtle qti-hotspot-choice[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-graphic-order-interaction qti-hotspot-choice:focus,qti-graphic-order-interaction .qti-theme-subtle qti-hotspot-choice:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-graphic-order-interaction qti-hotspot-choice:hover:not([disabled]),qti-graphic-order-interaction .qti-theme-subtle qti-hotspot-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-graphic-order-interaction qti-hotspot-choice:before,qti-graphic-order-interaction .qti-theme-subtle qti-hotspot-choice:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat}.qti-theme-ims qti-graphic-order-interaction qti-hotspot-choice,qti-graphic-order-interaction .qti-theme-ims qti-hotspot-choice{cursor:pointer;--width: 22px;--height: 22px;display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.2rem}.qti-theme-ims qti-graphic-order-interaction qti-hotspot-choice[disabled],qti-graphic-order-interaction .qti-theme-ims qti-hotspot-choice[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-graphic-order-interaction qti-hotspot-choice:focus-within,qti-graphic-order-interaction .qti-theme-ims qti-hotspot-choice:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-graphic-order-interaction qti-hotspot-choice:focus-within:before,qti-graphic-order-interaction .qti-theme-ims qti-hotspot-choice:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-graphic-order-interaction qti-hotspot-choice:hover:not([disabled]),qti-graphic-order-interaction .qti-theme-ims qti-hotspot-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}qti-graphic-order-interaction{position:relative;display:block}qti-graphic-order-interaction qti-hotspot-choice{position:absolute}qti-graphic-order-interaction qti-hotspot-choice[shape=circle]:before{border-radius:100%;background:transparent}qti-graphic-order-interaction qti-hotspot-choice[shape=square]:before{border-radius:0;background:transparent}qti-graphic-order-interaction qti-hotspot-choice:before{content:unset!important}qti-graphic-order-interaction qti-hotspot-choice:after{display:flex!important;width:unset!important;min-width:var(--width);height:unset!important;min-height:var(--width);align-items:center;justify-content:center;border:unset!important;background:unset;background:rgba(21,0,255,.067);content:attr(aria-ordervalue)!important;opacity:unset!important;transform:unset!important;transition:unset!important}.qti-theme-ims qti-hotspot-interaction qti-hotspot-choice,qti-hotspot-interaction .qti-theme-ims qti-hotspot-choice{padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background)}.qti-theme-ims qti-hotspot-interaction qti-hotspot-choice[disabled],qti-hotspot-interaction .qti-theme-ims qti-hotspot-choice[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-hotspot-interaction qti-hotspot-choice:focus-within,qti-hotspot-interaction .qti-theme-ims qti-hotspot-choice:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-hotspot-interaction qti-hotspot-choice:focus-within:before,qti-hotspot-interaction .qti-theme-ims qti-hotspot-choice:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-hotspot-interaction qti-hotspot-choice:hover:not([disabled]),qti-hotspot-interaction .qti-theme-ims qti-hotspot-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-hotspot-interaction qti-hotspot-choice[aria-checked=true],qti-hotspot-interaction .qti-theme-ims qti-hotspot-choice[aria-checked=true]{--qti-border-color: var(--qti-primary-color);background-color:var(--qti-primary-color);color:#fff}qti-hotspot-interaction qti-hotspot-choice{position:absolute}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:empty:after,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice:empty:after{padding:var(--qti-padding-x) var(--qti-padding-y);display:inline-block;content:"\\a0"}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:not(:empty),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice:not(:empty){display:flex}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:not(:empty)>*,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice:not(:empty)>*{box-shadow:unset;flex-grow:1;margin:2px}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice[active],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice[active]{background:var(--qti-background)}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-raised qti-simple-associable-choice,.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice>qti-simple-associable-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background);-webkit-user-select:none;user-select:none;box-shadow:0 var(--qti-border-width) var(--qti-border-color),0 calc(var(--qti-border-width) * 2) var(--qti-shadow-blur) var(--qti-shadow-color)}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice[disabled],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-raised qti-simple-associable-choice[disabled],.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice[disabled],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice>qti-simple-associable-choice[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:focus,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-raised qti-simple-associable-choice:focus,.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:focus,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice>qti-simple-associable-choice:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:hover:not([disabled]),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-raised qti-simple-associable-choice:hover:not([disabled]),.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:hover:not([disabled]),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice>qti-simple-associable-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:before,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-raised qti-simple-associable-choice:before,.qti-theme-raised qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:before,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-raised qti-simple-associable-choice>qti-simple-associable-choice:before{position:absolute;bottom:.2rem;top:.2rem;left:.2rem;width:.3rem;max-height:2rem;background:radial-gradient(ellipse at center,var(--qti-border-color) 0%,var(--qti-border-color) 40%,transparent 40%);background-repeat:repeat;background-size:.3rem .3rem;content:""}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:radial-gradient(16px circle,transparent 0%,transparent calc(50% - var(--qti-border-width) / 2),var(--qti-border-color) calc(50% - (var(--qti-border-width) / 2 - .2px)),var(--qti-border-color) calc(50% + var(--qti-border-width) / 2 - .2px),transparent calc(50% + var(--qti-border-width) / 2),transparent 100%),linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background);transition:all .2s ease-out}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:empty:after,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice:empty:after{padding:var(--qti-padding-x) var(--qti-padding-y);display:inline-block;content:"\\a0"}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:not(:empty),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice:not(:empty){display:flex}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:not(:empty)>*,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice:not(:empty)>*{flex-grow:1;margin:2px}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice[active],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice[active]{background:radial-gradient(16px circle,transparent 0%,transparent calc(50% - var(--qti-border-width) / 2),var(--qti-border-color) calc(50% - (var(--qti-border-width) / 2 - .2px)),var(--qti-border-color) calc(50% + var(--qti-border-width) / 2 - .2px),transparent calc(50% + var(--qti-border-width) / 2),transparent 100%),linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background);transform:scale(1.02)}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-subtle qti-simple-associable-choice,.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice>qti-simple-associable-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background)}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice[disabled],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-subtle qti-simple-associable-choice[disabled],.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice[disabled],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice>qti-simple-associable-choice[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:focus,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-subtle qti-simple-associable-choice:focus,.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:focus,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice>qti-simple-associable-choice:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:hover:not([disabled]),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-subtle qti-simple-associable-choice:hover:not([disabled]),.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:hover:not([disabled]),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice>qti-simple-associable-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:before,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-subtle qti-simple-associable-choice:before,.qti-theme-subtle qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:before,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-subtle qti-simple-associable-choice>qti-simple-associable-choice:before{position:absolute;bottom:.2rem;top:.2rem;left:.2rem;width:.3rem;max-height:2rem;background:radial-gradient(ellipse at center,var(--qti-border-color) 0%,var(--qti-border-color) 40%,transparent 40%);background-repeat:repeat;background-size:.3rem .3rem;content:""}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);border-radius:0;background:var(--qti-white);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice[disabled],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:focus-within,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:focus-within:before,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:hover:not([disabled]),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:empty:after,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice:empty:after{padding:var(--qti-padding-x) var(--qti-padding-y);display:inline-block;content:"\\a0"}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:not(:empty),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice:not(:empty){display:inline-flex}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice:not(:empty)>*,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice:not(:empty)>*{flex-grow:1;margin:2px}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice[active],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice[active]{background:rgb(var(--qti-primary) .4)!important}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-ims qti-simple-associable-choice,.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice>qti-simple-associable-choice{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);cursor:pointer;padding:var(--qti-padding-x) var(--qti-padding-y);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice[disabled],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-ims qti-simple-associable-choice[disabled],.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice[disabled],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice>qti-simple-associable-choice[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:focus-within,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-ims qti-simple-associable-choice:focus-within,.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:focus-within,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice>qti-simple-associable-choice:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:focus-within:before,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-ims qti-simple-associable-choice:focus-within:before,.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:focus-within:before,qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice>qti-simple-associable-choice:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice:hover:not([disabled]),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-ims qti-simple-associable-choice:hover:not([disabled]),.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice:hover:not([disabled]),qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice>qti-simple-associable-choice:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type qti-simple-associable-choice[active],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type .qti-theme-ims qti-simple-associable-choice[active],.qti-theme-ims qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice[active],qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type .qti-theme-ims qti-simple-associable-choice>qti-simple-associable-choice[active]{background:rgb(var(--qti-primary) .4)!important}qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:first-of-type{display:flex;gap:var(--qti-gap, .5rem);flex-wrap:wrap;padding-bottom:var(--qti-gap, .5rem)}qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type{display:flex;gap:var(--qti-gap, .5rem);flex-wrap:wrap}qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice{padding:var(--qti-padding-x) var(--qti-padding-y);flex:1 1 0px;display:flex;flex-wrap:wrap;flex-direction:column}qti-match-interaction:not(.qti-match-tabular) qti-simple-match-set:last-of-type qti-simple-associable-choice>qti-simple-associable-choice{height:auto}qti-match-interaction.qti-match-tabular qti-simple-match-set:first-of-type{display:flex;margin-left:4rem;font-weight:700;gap:2rem}qti-match-interaction.qti-match-tabular qti-simple-match-set:last-of-type{display:flex;flex-direction:column;gap:.2rem}qti-match-interaction.qti-match-tabular qti-simple-match-set:last-of-type qti-simple-associable-choice{display:unset!important}qti-match-interaction.qti-match-tabular qti-simple-match-set:last-of-type qti-simple-associable-choice>*{display:block!important}.qti-theme-raised qti-order-interaction::part(drop-list){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:var(--qti-background);box-shadow:inset 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-raised qti-order-interaction:not(:empty)::part(drop-list){display:flex}.qti-theme-raised qti-order-interaction:not(:empty)::part(drop-list)>*{box-shadow:unset;flex-grow:1;margin:2px}.qti-theme-raised qti-order-interaction[active]::part(drop-list){background:var(--qti-background)}.qti-theme-raised qti-order-interaction qti-simple-choice,qti-order-interaction .qti-theme-raised qti-simple-choice,.qti-theme-raised qti-order-interaction::part(qti-simple-choice){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;background:var(--qti-background);-webkit-user-select:none;user-select:none;box-shadow:0 var(--qti-border-width) var(--qti-border-color),0 calc(var(--qti-border-width) * 2) var(--qti-shadow-blur) var(--qti-shadow-color)}.qti-theme-raised qti-order-interaction qti-simple-choice[disabled],qti-order-interaction .qti-theme-raised qti-simple-choice[disabled],.qti-theme-raised qti-order-interaction[disabled]::part(qti-simple-choice){box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-order-interaction qti-simple-choice:focus,qti-order-interaction .qti-theme-raised qti-simple-choice:focus,.qti-theme-raised qti-order-interaction:focus::part(qti-simple-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-order-interaction qti-simple-choice:hover:not([disabled]),qti-order-interaction .qti-theme-raised qti-simple-choice:hover:not([disabled]),.qti-theme-raised qti-order-interaction:hover:not([disabled])::part(qti-simple-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-order-interaction qti-simple-choice:before,qti-order-interaction .qti-theme-raised qti-simple-choice:before{position:absolute;bottom:.2rem;top:.2rem;left:.2rem;width:.3rem;max-height:2rem;background:radial-gradient(ellipse at center,var(--qti-border-color) 0%,var(--qti-border-color) 40%,transparent 40%);background-repeat:repeat;background-size:.3rem .3rem;content:""}.qti-theme-subtle qti-order-interaction::part(drop-list){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);background:radial-gradient(16px circle,transparent 0%,transparent calc(50% - var(--qti-border-width) / 2),var(--qti-border-color) calc(50% - (var(--qti-border-width) / 2 - .2px)),var(--qti-border-color) calc(50% + var(--qti-border-width) / 2 - .2px),transparent calc(50% + var(--qti-border-width) / 2),transparent 100%),linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background);transition:all .2s ease-out}.qti-theme-subtle qti-order-interaction:not(:empty)::part(drop-list){display:flex}.qti-theme-subtle qti-order-interaction:not(:empty)::part(drop-list)>*{flex-grow:1;margin:2px}.qti-theme-subtle qti-order-interaction[active]::part(drop-list){background:radial-gradient(16px circle,transparent 0%,transparent calc(50% - var(--qti-border-width) / 2),var(--qti-border-color) calc(50% - (var(--qti-border-width) / 2 - .2px)),var(--qti-border-color) calc(50% + var(--qti-border-width) / 2 - .2px),transparent calc(50% + var(--qti-border-width) / 2),transparent 100%),linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background);transform:scale(1.02)}.qti-theme-subtle qti-order-interaction qti-simple-choice,qti-order-interaction .qti-theme-subtle qti-simple-choice,.qti-theme-subtle qti-order-interaction::part(qti-simple-choice){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);padding:var(--qti-padding-x) var(--qti-padding-y);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background)}.qti-theme-subtle qti-order-interaction qti-simple-choice[disabled],qti-order-interaction .qti-theme-subtle qti-simple-choice[disabled],.qti-theme-subtle qti-order-interaction[disabled]::part(qti-simple-choice){--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-order-interaction qti-simple-choice:focus,qti-order-interaction .qti-theme-subtle qti-simple-choice:focus,.qti-theme-subtle qti-order-interaction:focus::part(qti-simple-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-order-interaction qti-simple-choice:hover:not([disabled]),qti-order-interaction .qti-theme-subtle qti-simple-choice:hover:not([disabled]),.qti-theme-subtle qti-order-interaction:hover:not([disabled])::part(qti-simple-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-order-interaction qti-simple-choice:before,qti-order-interaction .qti-theme-subtle qti-simple-choice:before{position:absolute;bottom:.2rem;top:.2rem;left:.2rem;width:.3rem;max-height:2rem;background:radial-gradient(ellipse at center,var(--qti-border-color) 0%,var(--qti-border-color) 40%,transparent 40%);background-repeat:repeat;background-size:.3rem .3rem;content:""}.qti-theme-ims qti-order-interaction::part(drop-list){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);border-radius:0;background:var(--qti-white);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-order-interaction[disabled]::part(drop-list){--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-order-interaction:focus-within::part(drop-list){outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-order-interaction:hover:not([disabled])::part(drop-list){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-order-interaction:not(:empty)::part(drop-list){display:inline-flex}.qti-theme-ims qti-order-interaction:not(:empty)::part(drop-list)>*{flex-grow:1;margin:2px}.qti-theme-ims qti-order-interaction[active]::part(drop-list){background:rgb(var(--qti-primary) .4)!important}.qti-theme-ims qti-order-interaction qti-simple-choice,qti-order-interaction .qti-theme-ims qti-simple-choice,.qti-theme-ims qti-order-interaction::part(qti-simple-choice){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);cursor:pointer;padding:var(--qti-padding-x) var(--qti-padding-y);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color)}.qti-theme-ims qti-order-interaction qti-simple-choice[disabled],qti-order-interaction .qti-theme-ims qti-simple-choice[disabled],.qti-theme-ims qti-order-interaction[disabled]::part(qti-simple-choice){--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-order-interaction qti-simple-choice:focus-within,qti-order-interaction .qti-theme-ims qti-simple-choice:focus-within,.qti-theme-ims qti-order-interaction:focus-within::part(qti-simple-choice){outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-order-interaction qti-simple-choice:focus-within:before,qti-order-interaction .qti-theme-ims qti-simple-choice:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-order-interaction qti-simple-choice:hover:not([disabled]),qti-order-interaction .qti-theme-ims qti-simple-choice:hover:not([disabled]),.qti-theme-ims qti-order-interaction:hover:not([disabled])::part(qti-simple-choice){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-order-interaction qti-simple-choice[active],qti-order-interaction .qti-theme-ims qti-simple-choice[active],.qti-theme-ims qti-order-interaction[active]::part(qti-simple-choice){background:rgb(var(--qti-primary) .4)!important}qti-order-interaction::part(drop-list){width:30%;height:40px;display:block;background:var(--qti-background, #eee);padding:var(--qti-padding-x, .7rem) var(--qti-padding-y, .5rem)}qti-select-point-interaction{position:relative;display:block}.qti-theme-raised qti-slider-interaction[disabled]{box-shadow:unset!important;color:var(--qti-border-color);cursor:unset!important}.qti-theme-raised qti-slider-interaction:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-raised qti-slider-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-raised qti-slider-interaction:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);cursor:pointer;border-radius:calc(var(--qti-border-radius) * 3);background:var(--qti-background);box-shadow:0 var(--qti-border-width) var(--qti-border-color),0 calc(var(--qti-border-width) * 2) var(--qti-shadow-blur) var(--qti-shadow-color)}.qti-theme-subtle qti-slider-interaction{cursor:pointer}.qti-theme-subtle qti-slider-interaction[aria-checked=true]{--qti-border-color: var(--qti-primary-color);background-color:rgb(var(--qti-primary) .1)}.qti-theme-subtle qti-slider-interaction[disabled]{--qti-border-color: transparent;box-shadow:unset!important;color:var(--qti-shadow-color);cursor:unset!important}.qti-theme-subtle qti-slider-interaction:focus{outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-subtle qti-slider-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:0;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-subtle qti-slider-interaction:before{position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);cursor:pointer;background:linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/2px 100% no-repeat,linear-gradient(var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 100% 0/2px 100% no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 0/100% 2px no-repeat,linear-gradient(to right,var(--qti-border-color) 8px,transparent 0 calc(100% - 8px),var(--qti-border-color) 0) 0 100%/100% 2px no-repeat,var(--qti-background)}.qti-theme-ims qti-slider-interaction{cursor:pointer}.qti-theme-ims qti-slider-interaction[disabled]{--qti-border-color: var(--qti-shadow-color);color:var(--qti-shadow-color);cursor:unset!important;filter:grayscale(100%)}.qti-theme-ims qti-slider-interaction:focus-within{outline-color:rgb(var(--qti-primary) .6);outline-offset:4px;outline-style:solid;outline-width:var(--qti-border-width)}.qti-theme-ims qti-slider-interaction:focus-within:before{background-color:rgb(var(--qti-primary) .2)}.qti-theme-ims qti-slider-interaction:hover:not([disabled]){outline-color:rgb(var(--qti-primary) .4);outline-offset:2px;outline-style:solid;outline-width:calc(var(--qti-border-width) * 2)}.qti-theme-ims qti-slider-interaction::part(knob){position:relative;display:inline-block;border-radius:var(--qti-border-radius);color:var(--qti-text-color);cursor:pointer;border-radius:calc(var(--qti-border-radius) * 3);background:var(--qti-background);box-shadow:inset 0 0 0 var(--qti-border-width) var(--qti-border-color);width:24px;height:24px;border-radius:100%;aspect-ratio:1/1;transform:translate(-50%);transform-origin:center}qti-slider-interaction{width:100%;display:block}qti-slider-interaction::part(knob){position:absolute}qti-slider-interaction::part(rail){background-position:0 center;background:linear-gradient(to right,var(--qti-border-color) var(--qti-border-width),transparent 1px) repeat-x,linear-gradient(to top,var(--qti-border-color) var(--qti-border-width),transparent 1px) repeat-x;background-size:calc((100% - var(--qti-border-width)) / ((var(--max) - var(--min)) / var(--step))) 50%}html,body,#root,#root-inner,qti-test{height:100%}qti-test{display:flex;flex-direction:column;gap:1rem}qti-test qti-assessment-item{display:block;flex:1;gap:1rem;overflow-y:scroll}qti-test qti-assessment-item qti-item-body{display:block}qti-test qti-test-nav{display:flex;justify-content:space-between;gap:1rem}qti-test qti-test-nav qti-test-check,qti-test qti-test-nav qti-test-score,qti-test qti-test-nav qti-test-prev,qti-test qti-test-nav qti-test-show-correct,qti-test qti-test-nav qti-test-next{display:flex;align-items:center;justify-content:center;border-radius:3px;color:#383838;text-decoration:none;display:inline-block;padding:8px 16px;border:0;background:#eeeeee;color:#535353;cursor:pointer;font-size:16px;font-weight:700}qti-test qti-test-nav qti-test-check:hover,qti-test qti-test-nav qti-test-score:hover,qti-test qti-test-nav qti-test-prev:hover,qti-test qti-test-nav qti-test-show-correct:hover,qti-test qti-test-nav qti-test-next:hover{background:#dadada;transition:all .3s ease}qti-test qti-test-nav qti-test-check:active,qti-test qti-test-nav qti-test-score:active,qti-test qti-test-nav qti-test-prev:active,qti-test qti-test-nav qti-test-show-correct:active,qti-test qti-test-nav qti-test-next:active{background:#aeaeae}qti-test qti-test-nav qti-test-progress{display:flex;overflow-x:scroll}qti-test qti-test-nav qti-test-progress qti-test-item{display:flex;align-items:center;justify-content:center;border-radius:3px;color:#383838;text-decoration:none;display:inline-block;padding:8px 16px;border:0;background:#eeeeee;color:#535353;cursor:pointer;font-size:16px;font-weight:700}qti-test qti-test-nav qti-test-progress qti-test-item:hover{background:#dadada;transition:all .3s ease}qti-test qti-test-nav qti-test-progress qti-test-item:active{background:#aeaeae}qti-test qti-test-nav qti-test-progress qti-test-item[checked]{background:darkblue;color:#fff}
|
|
3
|
+
`,document.head.appendChild(Xt);const wr="";var N=(o=>(o.boolean="boolean",o.directedPair="directedPair",o.float="float",o.integer="integer",o.string="string",o.identifier="identifier",o.pair="pair",o))(N||{}),xt=(o=>(o.multiple="multiple",o.ordered="ordered",o.single="single",o))(xt||{});const q={ON_OUTCOME_CHANGED:"on-outcome-changed",ON_INTERACTION_CHANGED:"on-interaction-changed",ON_REGISTER_VARIABLE:"on-register-variable",ON_REGISTER_FEEDBACK:"on-register-feedback",ON_REGISTER_INTERACTION:"on-register-interaction",ON_REGISTER_CHOICE:"on-register-choice",ON_REGISTER_HOTSPOT:"on-register-hotspot",ON_LOOSE_CHOICE:"on-loose-choice",ON_INTERACTION_RESPONSE:"on-interaction-response",ON_DROPDOWN_SELECTED:"on-dropdown-selected",ON_CHOICE_ELEMENT_SELECTED:"choice-element-selected"},Le={EMPTY:"empty",USER:"user",FEEDBACK:"feedback",EXPECTED:"expected"};class L{constructor({mapping:t,correctResponse:e,cardinality:i,baseType:r,identifier:a}){this._basetype=N.string,this._mapping=t,this._correctResponse=e,this._cardinality=i,this._basetype=r,this._identifier=a}static getCandidateResponse(t){return t[Object.keys(t)[0]][Object.keys(t[Object.keys(t)[0]])[0]]}get mapping(){return this._mapping}get correctResponse(){return this._correctResponse}get cardinality(){return this._cardinality}get baseType(){return this._basetype}get identifier(){return this._identifier}get value(){return this._candidateResponse}set value(t){this._candidateResponse=t}set qtiVariable(t){this._qtiVariable=t,this._candidateResponse=L.getCandidateResponse(t)}get qtiVariable(){return this._qtiVariable}}class wt{}class E extends d.LitElement{emit(t,e){const i=new CustomEvent(t,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...e});return this.dispatchEvent(i),i}err(t){throw t}}class Wt extends E{constructor(){super(),this.variables=[],this.feedbackElements=[],this.interactionElements=[],this.identifier="",this.addEventListener(q.ON_REGISTER_VARIABLE,this._registerVariable),this.addEventListener(q.ON_REGISTER_FEEDBACK,this.registerFeedbackElement),this.addEventListener(q.ON_REGISTER_INTERACTION,this.registerInteractionElement),this.addEventListener(q.ON_OUTCOME_CHANGED,this.outcomeChanged),this.addEventListener(q.ON_INTERACTION_RESPONSE,this.interactionResponse)}static get properties(){return{title:{type:String},identifier:{type:String},disabled:{type:Boolean},readonly:{type:Boolean}}}render(){return d.html`<slot></slot>`}updated(t){t.forEach((e,i)=>{switch(i){case"disabled":this.interactionElements.forEach(r=>r.disabled=this.disabled);break;case"readonly":this.interactionElements.forEach(r=>r.readonly=this.readonly);break}})}disconnectedCallback(){this.removeEventListener(q.ON_REGISTER_VARIABLE,this._registerVariable),this.removeEventListener(q.ON_REGISTER_FEEDBACK,this.registerFeedbackElement),this.removeEventListener(q.ON_REGISTER_INTERACTION,this.registerInteractionElement),this.removeEventListener(q.ON_OUTCOME_CHANGED,this.outcomeChanged),this.removeEventListener(q.ON_INTERACTION_RESPONSE,this.interactionResponse)}_registerVariable(t){this.variables.push(t.detail)}showCorrectResponse(){const t=this.variables.filter(i=>i.correctResponse),e={item:this.identifier,interactions:t.map(i=>({responseIdentifier:i.identifier,responses:{base:{identifier:i.correctResponse}}}))};this.responses=e}processResponse(){if(this.validateResponses()){const t=this.querySelector("qti-response-processing");return t?t.process?(t.process(),!0):(console.info("Client side response webcomponents not available"),!1):(console.info("Client side response processing template not available"),!1)}else return console.info("Item is not valid, call validateResponses first"),!1}set responses(t){t&&t.interactions.forEach(i=>{const r=this.interactionElements.find(c=>c.getAttribute("response-identifier")===i.responseIdentifier),a=this.getResponse(i.responseIdentifier);a&&(a.qtiVariable=i.responses);const s=L.getCandidateResponse(i.responses);r.response=s})}resetInteractions(){this.interactionElements.forEach(t=>t.reset())}validateResponses(){let t=!0;return this.interactionElements.forEach(e=>{e.validate()||(t=!1)}),t}getVariableValue(t){return this.variables.find(e=>e.identifier===t).value}getResponse(t){const e=this.variables.find(i=>i.identifier===t);if(e instanceof L)return e}getOutcome(t){const e=this.variables.find(i=>i.identifier===t);return e instanceof wt?e:null}registerFeedbackElement(t){t.stopPropagation(),this.feedbackElements.push(t.detail)}registerInteractionElement(t){t.stopPropagation(),this.interactionElements.push(t.target)}interactionResponse(t){const e=this.getResponse(t.detail.responseIdentifier);e&&(e.qtiVariable=t.detail.responses),t.stopImmediatePropagation(),this.dispatchEvent(new CustomEvent(q.ON_INTERACTION_CHANGED,{bubbles:!0,composed:!0,detail:{item:this.getAttribute("identifier"),interaction:{responseIdentifier:t.detail.responseIdentifier,responses:t.detail.responses}}}))}outcomeChanged(t){this.feedbackElements.forEach(e=>{e.checkShowFeedback(t.detail.outcomeIdentifier,t.detail.value)})}setOutcomeValue(t,e){const i=this.getOutcome(t);if(!i){this.err(`Can not set qti-outcome-identifier: ${t}, it is not available`);return}i.value=e,this.dispatchEvent(new CustomEvent(q.ON_OUTCOME_CHANGED,{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:t,value:e}}))}}customElements.define("qti-assessment-item",Wt);class Kt extends d.LitElement{constructor(){super()}connectedCallback(){super.connectedCallback();const t=this.closest("qti-assessment-item"),e=this.getAttribute("href"),i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.media="screen",i.href=e,t.appendChild(i),this.styleLink=i}disconnectedCallback(){const t=this.closest("qti-assessment-item");if(this.styleLink&&this.styleLink.parentElement===this)try{t.removeChild(this.styleLink)}catch{console.log("could not remove stylesheet")}}}customElements.define("qti-stylesheet",Kt);/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2017 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
7
|
+
*/const I=o=>t=>typeof t=="function"?((e,i)=>(customElements.define(e,i),i))(o,t):((e,i)=>{const{kind:r,elements:a}=i;return{kind:r,elements:a,finisher(s){customElements.define(e,s)}}})(o,t);/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2017 Google LLC
|
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
+
*/const He=(o,t)=>t.kind==="method"&&t.descriptor&&!("value"in t.descriptor)?{...t,finisher(e){e.createProperty(t.key,o)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:t.key,initializer(){typeof t.initializer=="function"&&(this[t.key]=t.initializer.call(this))},finisher(e){e.createProperty(t.key,o)}};function p(o){return(t,e)=>e!==void 0?((i,r,a)=>{r.constructor.createProperty(a,i)})(o,t,e):He(o,t)}/**
|
|
12
|
+
* @license
|
|
13
|
+
* Copyright 2017 Google LLC
|
|
14
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
15
|
+
*/function _t(o){return p({...o,state:!0})}/**
|
|
16
|
+
* @license
|
|
17
|
+
* Copyright 2017 Google LLC
|
|
18
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
19
|
+
*/const je=({finisher:o,descriptor:t})=>(e,i)=>{var r;if(i===void 0){const a=(r=e.originalKey)!==null&&r!==void 0?r:e.key,s=t!=null?{kind:"method",placement:"prototype",key:a,descriptor:t(e.key)}:{...e,key:a};return o!=null&&(s.finisher=function(c){o(c,a)}),s}{const a=e.constructor;t!==void 0&&Object.defineProperty(e,i,t(i)),o?.(a,i)}};/**
|
|
20
|
+
* @license
|
|
21
|
+
* Copyright 2017 Google LLC
|
|
22
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
23
|
+
*/function at(o,t){return je({descriptor:e=>{const i={get(){var r,a;return(a=(r=this.renderRoot)===null||r===void 0?void 0:r.querySelector(o))!==null&&a!==void 0?a:null},enumerable:!0,configurable:!0};if(t){const r=typeof e=="symbol"?Symbol():"__"+e;i.get=function(){var a,s;return this[r]===void 0&&(this[r]=(s=(a=this.renderRoot)===null||a===void 0?void 0:a.querySelector(o))!==null&&s!==void 0?s:null),this[r]}}return i}})}/**
|
|
24
|
+
* @license
|
|
25
|
+
* Copyright 2021 Google LLC
|
|
26
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
27
|
+
*/var Et;((Et=window.HTMLSlotElement)===null||Et===void 0?void 0:Et.prototype.assignedElements)!=null;var Be=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,ze=(o,t,e,i)=>{for(var r=i>1?void 0:i?Ue(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Be(t,e,r),r};n.QtiItemBody=class extends d.LitElement{render(){return d.html`
|
|
28
|
+
<slot name="qti-rubric-block"></slot>
|
|
29
|
+
<slot></slot>`}},n.QtiItemBody.styles=d.css`
|
|
30
|
+
:host {
|
|
31
|
+
display: block;
|
|
32
|
+
}
|
|
33
|
+
`,n.QtiItemBody=ze([I("qti-item-body")],n.QtiItemBody);const _r="";class Zt extends d.LitElement{render(){return d.html` <slot></slot> `}connectedCallback(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}}customElements.define("qti-prompt",Zt);/**
|
|
34
|
+
* @license
|
|
35
|
+
* Copyright 2017 Google LLC
|
|
36
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
37
|
+
*/var kt;const st=window,H=st.trustedTypes,Jt=H?H.createPolicy("lit-html",{createHTML:o=>o}):void 0,P=`lit$${(Math.random()+"").slice(9)}$`,te="?"+P,Fe=`<${te}>`,j=document,nt=(o="")=>j.createComment(o),Z=o=>o===null||typeof o!="object"&&typeof o!="function",ee=Array.isArray,Ve=o=>ee(o)||typeof o?.[Symbol.iterator]=="function",J=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ie=/-->/g,re=/>/g,M=RegExp(`>|[
|
|
38
|
+
\f\r](?:([^\\s"'>=/]+)([
|
|
39
|
+
\f\r]*=[
|
|
40
|
+
\f\r]*(?:[^
|
|
41
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),oe=/'/g,ae=/"/g,se=/^(?:script|style|textarea|title)$/i,Ge=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),Ye=Ge(1),tt=Symbol.for("lit-noChange"),g=Symbol.for("lit-nothing"),ne=new WeakMap,B=j.createTreeWalker(j,129,null,!1),Xe=(o,t)=>{const e=o.length-1,i=[];let r,a=t===2?"<svg>":"",s=J;for(let h=0;h<e;h++){const l=o[h];let b,m,u=-1,y=0;for(;y<l.length&&(s.lastIndex=y,m=s.exec(l),m!==null);)y=s.lastIndex,s===J?m[1]==="!--"?s=ie:m[1]!==void 0?s=re:m[2]!==void 0?(se.test(m[2])&&(r=RegExp("</"+m[2],"g")),s=M):m[3]!==void 0&&(s=M):s===M?m[0]===">"?(s=r??J,u=-1):m[1]===void 0?u=-2:(u=s.lastIndex-m[2].length,b=m[1],s=m[3]===void 0?M:m[3]==='"'?ae:oe):s===ae||s===oe?s=M:s===ie||s===re?s=J:(s=M,r=void 0);const x=s===M&&o[h+1].startsWith("/>")?" ":"";a+=s===J?l+Fe:u>=0?(i.push(b),l.slice(0,u)+"$lit$"+l.slice(u)+P+x):l+P+(u===-2?(i.push(void 0),h):x)}const c=a+(o[e]||"<?>")+(t===2?"</svg>":"");if(!Array.isArray(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return[Jt!==void 0?Jt.createHTML(c):c,i]};class et{constructor({strings:t,_$litType$:e},i){let r;this.parts=[];let a=0,s=0;const c=t.length-1,h=this.parts,[l,b]=Xe(t,e);if(this.el=et.createElement(l,i),B.currentNode=this.el.content,e===2){const m=this.el.content,u=m.firstChild;u.remove(),m.append(...u.childNodes)}for(;(r=B.nextNode())!==null&&h.length<c;){if(r.nodeType===1){if(r.hasAttributes()){const m=[];for(const u of r.getAttributeNames())if(u.endsWith("$lit$")||u.startsWith(P)){const y=b[s++];if(m.push(u),y!==void 0){const x=r.getAttribute(y.toLowerCase()+"$lit$").split(P),v=/([.?@])?(.*)/.exec(y);h.push({type:1,index:a,name:v[2],strings:x,ctor:v[1]==="."?Ke:v[1]==="?"?Je:v[1]==="@"?ti:lt})}else h.push({type:6,index:a})}for(const u of m)r.removeAttribute(u)}if(se.test(r.tagName)){const m=r.textContent.split(P),u=m.length-1;if(u>0){r.textContent=H?H.emptyScript:"";for(let y=0;y<u;y++)r.append(m[y],nt()),B.nextNode(),h.push({type:2,index:++a});r.append(m[u],nt())}}}else if(r.nodeType===8)if(r.data===te)h.push({type:2,index:a});else{let m=-1;for(;(m=r.data.indexOf(P,m+1))!==-1;)h.push({type:7,index:a}),m+=P.length-1}a++}}static createElement(t,e){const i=j.createElement("template");return i.innerHTML=t,i}}function U(o,t,e=o,i){var r,a,s,c;if(t===tt)return t;let h=i!==void 0?(r=e._$Co)===null||r===void 0?void 0:r[i]:e._$Cl;const l=Z(t)?void 0:t._$litDirective$;return h?.constructor!==l&&((a=h?._$AO)===null||a===void 0||a.call(h,!1),l===void 0?h=void 0:(h=new l(o),h._$AT(o,e,i)),i!==void 0?((s=(c=e)._$Co)!==null&&s!==void 0?s:c._$Co=[])[i]=h:e._$Cl=h),h!==void 0&&(t=U(o,h._$AS(o,t.values),h,i)),t}class We{constructor(t,e){this.u=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}v(t){var e;const{el:{content:i},parts:r}=this._$AD,a=((e=t?.creationScope)!==null&&e!==void 0?e:j).importNode(i,!0);B.currentNode=a;let s=B.nextNode(),c=0,h=0,l=r[0];for(;l!==void 0;){if(c===l.index){let b;l.type===2?b=new ct(s,s.nextSibling,this,t):l.type===1?b=new l.ctor(s,l.name,l.strings,this,t):l.type===6&&(b=new ei(s,this,t)),this.u.push(b),l=r[++h]}c!==l?.index&&(s=B.nextNode(),c++)}return a}p(t){let e=0;for(const i of this.u)i!==void 0&&(i.strings!==void 0?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class ct{constructor(t,e,i,r){var a;this.type=2,this._$AH=g,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=r,this._$Cm=(a=r?.isConnected)===null||a===void 0||a}get _$AU(){var t,e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cm}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&t.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=U(this,t,e),Z(t)?t===g||t==null||t===""?(this._$AH!==g&&this._$AR(),this._$AH=g):t!==this._$AH&&t!==tt&&this.g(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Ve(t)?this.k(t):this.g(t)}O(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}g(t){this._$AH!==g&&Z(this._$AH)?this._$AA.nextSibling.data=t:this.T(j.createTextNode(t)),this._$AH=t}$(t){var e;const{values:i,_$litType$:r}=t,a=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=et.createElement(r.h,this.options)),r);if(((e=this._$AH)===null||e===void 0?void 0:e._$AD)===a)this._$AH.p(i);else{const s=new We(a,this),c=s.v(this.options);s.p(i),this.T(c),this._$AH=s}}_$AC(t){let e=ne.get(t.strings);return e===void 0&&ne.set(t.strings,e=new et(t)),e}k(t){ee(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,r=0;for(const a of t)r===e.length?e.push(i=new ct(this.O(nt()),this.O(nt()),this,this.options)):i=e[r],i._$AI(a),r++;r<e.length&&(this._$AR(i&&i._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){var i;for((i=this._$AP)===null||i===void 0||i.call(this,!1,!0,e);t&&t!==this._$AB;){const r=t.nextSibling;t.remove(),t=r}}setConnected(t){var e;this._$AM===void 0&&(this._$Cm=t,(e=this._$AP)===null||e===void 0||e.call(this,t))}}class lt{constructor(t,e,i,r,a){this.type=1,this._$AH=g,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=a,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=g}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,r){const a=this.strings;let s=!1;if(a===void 0)t=U(this,t,e,0),s=!Z(t)||t!==this._$AH&&t!==tt,s&&(this._$AH=t);else{const c=t;let h,l;for(t=a[0],h=0;h<a.length-1;h++)l=U(this,c[i+h],e,h),l===tt&&(l=this._$AH[h]),s||(s=!Z(l)||l!==this._$AH[h]),l===g?t=g:t!==g&&(t+=(l??"")+a[h+1]),this._$AH[h]=l}s&&!r&&this.j(t)}j(t){t===g?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Ke extends lt{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===g?void 0:t}}const Ze=H?H.emptyScript:"";class Je extends lt{constructor(){super(...arguments),this.type=4}j(t){t&&t!==g?this.element.setAttribute(this.name,Ze):this.element.removeAttribute(this.name)}}class ti extends lt{constructor(t,e,i,r,a){super(t,e,i,r,a),this.type=5}_$AI(t,e=this){var i;if((t=(i=U(this,t,e,0))!==null&&i!==void 0?i:g)===tt)return;const r=this._$AH,a=t===g&&r!==g||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,s=t!==g&&(r===g||a);a&&this.element.removeEventListener(this.name,this,r),s&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;typeof this._$AH=="function"?this._$AH.call((i=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&i!==void 0?i:this.element,t):this._$AH.handleEvent(t)}}class ei{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){U(this,t)}}const ce=st.litHtmlPolyfillSupport;ce?.(et,ct),((kt=st.litHtmlVersions)!==null&&kt!==void 0?kt:st.litHtmlVersions=[]).push("2.6.1");/**
|
|
42
|
+
* @license
|
|
43
|
+
* Copyright 2020 Google LLC
|
|
44
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
45
|
+
*/const ii=Symbol.for(""),ri=o=>{if(o?.r===ii)return o?._$litStatic$},le=new Map,oi=o=>(t,...e)=>{const i=e.length;let r,a;const s=[],c=[];let h,l=0,b=!1;for(;l<i;){for(h=t[l];l<i&&(a=e[l],(r=ri(a))!==void 0);)h+=r+t[++l],b=!0;c.push(a),s.push(h),l++}if(l===i&&s.push(t[i]),b){const m=s.join("$$lit$$");(t=le.get(m))===void 0&&(s.raw=s,le.set(m,t=s)),e=c}return o(t,...e)},ai=oi(Ye);function f(o,t){const e={waitUntilFirstUpdate:!1,...t};return(i,r)=>{const{update:a}=i;if(o in i){const s=o;i.update=function(c){if(c.has(s)){const h=c.get(s),l=this[s];h!==l&&(!e.waitUntilFirstUpdate||this.hasUpdated)&&this[r](h,l)}a.call(this,c)}}}}var si=Object.defineProperty,ni=Object.getOwnPropertyDescriptor,D=(o,t,e,i)=>{for(var r=i>1?void 0:i?ni(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&si(t,e,r),r};const ci={SPACE:32};n.QtiChoice=class extends E{constructor(){super(...arguments),this.tabindex=0,this.disabled=!1,this.readonly=!1,this.checked=!1}handleDisabledChange(t,e){e?(this.tabindex=void 0,this.blur()):this.tabIndex=0}connectedCallback(){super.connectedCallback(),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.emit(q.ON_REGISTER_CHOICE)}disconnectedCallback(){this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.emit(q.ON_LOOSE_CHOICE)}reset(){this.checked=!1,this.disabled=!1}_onKeyUp(t){if(!t.altKey)switch(t.keyCode){case ci.SPACE:t.preventDefault(),this._toggleChecked();break;default:return}}_onClick(){this._toggleChecked()}_toggleChecked(){this.disabled||this.readonly||(this.checked=!this.checked,this.emit(q.ON_CHOICE_ELEMENT_SELECTED,{detail:{identifier:this.identifier,checked:this.checked}}))}validateAllProps(){return!!this.getAttribute("identifier")}render(){return this.validateAllProps()||console.warn(`Invalid props for ${this.outerHTML}`,"missing identifier"),ai` <slot></slot> `}},D([p({type:String})],n.QtiChoice.prototype,"identifier",2),D([p({type:Number,reflect:!0})],n.QtiChoice.prototype,"tabindex",2),D([p({type:Boolean,reflect:!0})],n.QtiChoice.prototype,"disabled",2),D([p({type:Boolean,reflect:!0})],n.QtiChoice.prototype,"readonly",2),D([p({reflect:!0,type:Boolean,attribute:"aria-checked",converter:{toAttribute:o=>`${o}`}})],n.QtiChoice.prototype,"checked",2),D([f("disabled",{waitUntilFirstUpdate:!0})],n.QtiChoice.prototype,"handleDisabledChange",1),n.QtiChoice=D([I("qti-choice")],n.QtiChoice);class Ct extends d.LitElement{render(){return d.html``}}customElements.define("qti-variabledeclaration",Ct);var li=Object.defineProperty,di=Object.getOwnPropertyDescriptor,At=(o,t,e,i)=>{for(var r=i>1?void 0:i?di(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&li(t,e,r),r};class it extends Ct{connectedCallback(){super.connectedCallback();const t=new L({baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||xt.single,mapping:this.mapping});this.dispatchEvent(new CustomEvent(q.ON_REGISTER_VARIABLE,{bubbles:!0,composed:!0,detail:t}))}get correctResponse(){let t;const e=this.querySelector("qti-correct-response");if(e){const i=e.querySelectorAll("qti-value");if(i.length===1)t=i[0].textContent,i[0].remove();else{t=[];for(let r=0;r<i.length;r++)t.push(i[r].textContent),i[r].remove()}}return t}get mapping(){const t=this.querySelector("qti-mapping");if(t){const e=new Map,i=t.querySelectorAll("qti-map-entry");for(let r=0;r<i.length;r++){const a=i[r],s=a.getAttribute("map-key"),c=a.getAttribute("mapped-value");e.set(s,c?parseFloat(c):null)}return e}else return null}}At([p({type:String,attribute:"base-type"})],it.prototype,"baseType",2),At([p({type:String,attribute:"identifier"})],it.prototype,"identifier",2),At([p({type:String,attribute:"cardinality"})],it.prototype,"cardinality",2),customElements.define("qti-response-declaration",it);class de extends Ct{static get observedAttributes(){return["identifier","cardinality","base-type"]}connectedCallback(){super.connectedCallback();const t=this.getAttribute("identifier"),e=new wt;e.identifier=t,this.dispatchEvent(new CustomEvent(q.ON_REGISTER_VARIABLE,{bubbles:!0,composed:!0,detail:e}))}}customElements.define("qti-outcome-declaration",de);var hi=Object.defineProperty,pi=Object.getOwnPropertyDescriptor,mi=(o,t,e,i)=>{for(var r=i>1?void 0:i?pi(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&hi(t,e,r),r};n.QtiCompanionMaterialsInfo=class extends E{},n.QtiCompanionMaterialsInfo=mi([I("qti-companion-materials-info")],n.QtiCompanionMaterialsInfo);/**
|
|
46
|
+
* @license
|
|
47
|
+
* Copyright 2021 Google LLC
|
|
48
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
49
|
+
*/let ui=class extends Event{constructor(t,e,i){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.callback=e,this.subscribe=i}};/**
|
|
50
|
+
* @license
|
|
51
|
+
* Copyright 2021 Google LLC
|
|
52
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
53
|
+
*/function Er(o){return o}/**
|
|
54
|
+
* @license
|
|
55
|
+
* Copyright 2021 Google LLC
|
|
56
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
57
|
+
*/let he=class{constructor(t,e,i,r=!1){this.host=t,this.context=e,this.callback=i,this.subscribe=r,this.provided=!1,this.value=void 0,this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new ui(this.context,(t,e)=>{this.unsubscribe&&(this.unsubscribe!==e&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=t,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(t,e)),this.unsubscribe=e},this.subscribe))}};/**
|
|
58
|
+
* @license
|
|
59
|
+
* Copyright 2021 Google LLC
|
|
60
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
61
|
+
*/let qi=class{constructor(t){this.callbacks=new Map,this.updateObservers=()=>{for(const[e,i]of this.callbacks)e(this.t,i)},t!==void 0&&(this.value=t)}get value(){return this.t}set value(t){this.setValue(t)}setValue(t,e=!1){const i=e||!Object.is(t,this.t);this.t=t,i&&this.updateObservers()}addCallback(t,e){e&&(this.callbacks.has(t)||this.callbacks.set(t,()=>{this.callbacks.delete(t)})),t(this.value)}clearCallbacks(){this.callbacks.clear()}};/**
|
|
62
|
+
* @license
|
|
63
|
+
* Copyright 2021 Google LLC
|
|
64
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
65
|
+
*/let bi=class extends Event{constructor(t){super("context-provider",{bubbles:!0,composed:!0}),this.context=t}},vi=class extends qi{constructor(t,e,i){super(i),this.host=t,this.context=e,this.onContextRequest=r=>{r.context===this.context&&r.composedPath()[0]!==this.host&&(r.stopPropagation(),this.addCallback(r.callback,r.subscribe))},this.attachListeners(),this.host.addController(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest)}hostConnected(){this.host.dispatchEvent(new bi(this.context))}};const Ot="logger",kr="";var gi=Object.defineProperty,fi=Object.getOwnPropertyDescriptor,z=(o,t,e,i)=>{for(var r=i>1?void 0:i?fi(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&gi(t,e,r),r};n.qtiRubricBlock=class extends E{constructor(){super(...arguments),this.logger=new he(this,Ot,t=>this.style.display=this.view===t.view?"block":"none",!0)}handleclassNamesChange(t,e){this.classNames.split(" ").forEach(r=>{switch(r){case"qti-rubric-discretionary-placement":this.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":this.setAttribute("slot","");break}})}render(){return d.html`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-rubric-block")}},n.qtiRubricBlock.styles=d.css`
|
|
66
|
+
:host {
|
|
67
|
+
display: block;
|
|
68
|
+
}
|
|
69
|
+
`,z([p({type:String})],n.qtiRubricBlock.prototype,"id",2),z([p({type:String})],n.qtiRubricBlock.prototype,"use",2),z([p({type:String})],n.qtiRubricBlock.prototype,"view",2),z([p({type:String,attribute:"class"})],n.qtiRubricBlock.prototype,"classNames",2),z([f("classNames",{waitUntilFirstUpdate:!0})],n.qtiRubricBlock.prototype,"handleclassNamesChange",1),n.qtiRubricBlock=z([I("qti-rubric-block")],n.qtiRubricBlock);const Cr="";var yi=Object.defineProperty,xi=Object.getOwnPropertyDescriptor,wi=(o,t,e,i)=>{for(var r=i>1?void 0:i?xi(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&yi(t,e,r),r};n.qtiContentBody=class extends E{render(){return d.html`<slot></slot>`}},n.qtiContentBody=wi([I("qti-content-body")],n.qtiContentBody);class pe extends d.LitElement{constructor(){super(),this.showHide="show",this.showFeedback(this.showHide==="hide")}static get properties(){return{showStatus:{type:String,attribute:!0,reflect:!0},showHide:{type:String,attribute:"show-hide"},outcomeIdentifier:{type:String,attribute:"outcome-identifier"},identifier:{type:String}}}connectedCallback(){super.connectedCallback(),this.dispatchEvent(new CustomEvent(q.ON_REGISTER_FEEDBACK,{bubbles:!0,composed:!0,detail:this}))}checkShowFeedback(t,e){this.outcomeIdentifier===t&&(e instanceof Array?this.showFeedback(e.indexOf(this.identifier)!==-1):this.showFeedback(this.identifier===e))}showFeedback(t){this.showStatus=t?"on":"off"}}class $t extends pe{constructor(){super(...arguments),this.render=()=>d.html` <slot class="${this.showStatus}"></slot> `}}$t.styles=d.css`
|
|
70
|
+
.on {
|
|
71
|
+
display: inline-block;
|
|
72
|
+
}
|
|
73
|
+
.off {
|
|
74
|
+
display: none;
|
|
75
|
+
}
|
|
76
|
+
`,customElements.define("qti-feedback-inline",$t);const Ar="";class me extends pe{render(){return d.html`
|
|
77
|
+
<style>
|
|
78
|
+
.on {
|
|
79
|
+
display: inline-block;
|
|
80
|
+
}
|
|
81
|
+
.off {
|
|
82
|
+
display: none;
|
|
83
|
+
}
|
|
84
|
+
</style>
|
|
85
|
+
<div class="feedback ${this.showStatus}">
|
|
86
|
+
<slot></slot>
|
|
87
|
+
</div>
|
|
88
|
+
`}}customElements.define("qti-modal-feedback",me);/**
|
|
89
|
+
* @license
|
|
90
|
+
* Copyright 2018 Google LLC
|
|
91
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
92
|
+
*/const F=o=>o??g;var _i=Object.defineProperty,Ei=Object.getOwnPropertyDescriptor,St=(o,t,e,i)=>{for(var r=i>1?void 0:i?Ei(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&_i(t,e,r),r};class k extends E{constructor(){super(...arguments),this.responseIdentifier="",this.disabled=!1,this.readonly=!1}connectedCallback(){super.connectedCallback(),this.emit(q.ON_REGISTER_INTERACTION)}saveResponse(t){this.emit(q.ON_INTERACTION_RESPONSE,{detail:{responseIdentifier:this.responseIdentifier,responses:t}})}}St([p({attribute:"response-identifier"})],k.prototype,"responseIdentifier",2),St([p({reflect:!0,type:Boolean})],k.prototype,"disabled",2),St([p({reflect:!0,type:Boolean})],k.prototype,"readonly",2);const It=d.css`
|
|
93
|
+
/***
|
|
94
|
+
The new CSS reset - version 1.4.9 (last updated 11.2.2022)
|
|
95
|
+
GitHub page: https://github.com/elad2412/the-new-css-reset
|
|
96
|
+
***/
|
|
97
|
+
|
|
98
|
+
/*
|
|
99
|
+
Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
|
|
100
|
+
- The "symbol *" part is to solve Firefox SVG sprite bug
|
|
101
|
+
*/
|
|
102
|
+
*:where(:not(iframe, canvas, img, svg, video, object):not(svg *, symbol *)) {
|
|
103
|
+
all: unset;
|
|
104
|
+
display: revert;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Preferred box-sizing value */
|
|
108
|
+
*,
|
|
109
|
+
*::before,
|
|
110
|
+
*::after {
|
|
111
|
+
box-sizing: border-box;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* Reapply the pointer cursor for anchor tags */
|
|
115
|
+
a,
|
|
116
|
+
button {
|
|
117
|
+
cursor: revert;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* Remove list styles (bullets/numbers) */
|
|
121
|
+
ol,
|
|
122
|
+
ul,
|
|
123
|
+
menu {
|
|
124
|
+
list-style: none;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* For images to not be able to exceed their container */
|
|
128
|
+
img {
|
|
129
|
+
max-width: 100%;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* removes spacing between cells in tables */
|
|
133
|
+
table {
|
|
134
|
+
border-collapse: collapse;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* revert the 'white-space' property for textarea elements on Safari */
|
|
138
|
+
textarea {
|
|
139
|
+
white-space: revert;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* minimum style to allow to style meter element */
|
|
143
|
+
meter {
|
|
144
|
+
-webkit-appearance: revert;
|
|
145
|
+
appearance: revert;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* reset default text opacity of input placeholder */
|
|
149
|
+
::placeholder {
|
|
150
|
+
all: unset;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* fix the feature of 'hidden' attribute.
|
|
154
|
+
display:revert; revert to element instead of attribute */
|
|
155
|
+
:where([hidden]) {
|
|
156
|
+
display: none;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/* revert for bug in Chromium browsers
|
|
160
|
+
- fix for the content editable attribute will work properly. */
|
|
161
|
+
:where([contenteditable]) {
|
|
162
|
+
-moz-user-modify: read-write;
|
|
163
|
+
-webkit-user-modify: read-write;
|
|
164
|
+
overflow-wrap: break-word;
|
|
165
|
+
-webkit-line-break: after-white-space;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/* apply back the draggable feature - exist only in Chromium and Safari */
|
|
169
|
+
:where([draggable='true']) {
|
|
170
|
+
-webkit-user-drag: element;
|
|
171
|
+
}
|
|
172
|
+
`,Or="";class Rt extends k{constructor(){super(),this.value=""}static get properties(){return{...k.properties,expectedLength:{type:Number,attribute:"expected-length"},patternMask:{type:String,attribute:"pattern-mask"},placeholderText:{type:String,attribute:"placeholder-text"},value:{type:String}}}set response(t){this.value=t!==void 0?t:""}validate(){return this.value!==""}static get styles(){return[It,d.css`
|
|
173
|
+
/* PK: display host as block, else design will be collapsed */
|
|
174
|
+
:host {
|
|
175
|
+
display: inline-block;
|
|
176
|
+
}
|
|
177
|
+
input {
|
|
178
|
+
padding: var(--qti-padding, 0.5rem);
|
|
179
|
+
}
|
|
180
|
+
`]}render(){return d.html`
|
|
181
|
+
<input
|
|
182
|
+
spellcheck="false"
|
|
183
|
+
autocomplete="off"
|
|
184
|
+
@keydown="${t=>t.stopImmediatePropagation()}"
|
|
185
|
+
@keyup="${this.textChanged}"
|
|
186
|
+
@change="${this.textChanged}"
|
|
187
|
+
type="text"
|
|
188
|
+
placeholder="${F(this.placeholderText?this.placeholderText:void 0)}"
|
|
189
|
+
.value="${this.value}"
|
|
190
|
+
size="${F(this.expectedLength?this.expectedLength:void 0)}"
|
|
191
|
+
pattern="${F(this.patternMask?this.patternMask:void 0)}"
|
|
192
|
+
?disabled="${this.disabled}"
|
|
193
|
+
?readonly="${this.readonly}"
|
|
194
|
+
/>`}textChanged(t){if(this.disabled||this.readonly)return;const e=t.target;this.setEmptyAttribute(e.value),this.value=e.value,this.saveResponse({base:{string:e.value}})}reset(){this.value=""}setEmptyAttribute(t){this.setAttribute("empty",t===""?"true":"false")}}Rt.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"],customElements.define("qti-text-entry-interaction",Rt);/**
|
|
195
|
+
* @license
|
|
196
|
+
* Copyright 2020 Google LLC
|
|
197
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
198
|
+
*/const ki=o=>o.strings===void 0;/**
|
|
199
|
+
* @license
|
|
200
|
+
* Copyright 2017 Google LLC
|
|
201
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
202
|
+
*/const Ci={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Ai=o=>(...t)=>({_$litDirective$:o,values:t});class Oi{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}/**
|
|
203
|
+
* @license
|
|
204
|
+
* Copyright 2017 Google LLC
|
|
205
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
206
|
+
*/const rt=(o,t)=>{var e,i;const r=o._$AN;if(r===void 0)return!1;for(const a of r)(i=(e=a)._$AO)===null||i===void 0||i.call(e,t,!1),rt(a,t);return!0},dt=o=>{let t,e;do{if((t=o._$AM)===void 0)break;e=t._$AN,e.delete(o),o=t}while(e?.size===0)},ue=o=>{for(let t;t=o._$AM;o=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(o))break;e.add(o),Ii(t)}};function $i(o){this._$AN!==void 0?(dt(this),this._$AM=o,ue(this)):this._$AM=o}function Si(o,t=!1,e=0){const i=this._$AH,r=this._$AN;if(r!==void 0&&r.size!==0)if(t)if(Array.isArray(i))for(let a=e;a<i.length;a++)rt(i[a],!1),dt(i[a]);else i!=null&&(rt(i,!1),dt(i));else rt(this,o)}const Ii=o=>{var t,e,i,r;o.type==Ci.CHILD&&((t=(i=o)._$AP)!==null&&t!==void 0||(i._$AP=Si),(e=(r=o)._$AQ)!==null&&e!==void 0||(r._$AQ=$i))};class Ri extends Oi{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),ue(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,r;t!==this.isConnected&&(this.isConnected=t,t?(i=this.reconnected)===null||i===void 0||i.call(this):(r=this.disconnected)===null||r===void 0||r.call(this)),e&&(rt(this,t),dt(this))}setValue(t){if(ki(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}/**
|
|
207
|
+
* @license
|
|
208
|
+
* Copyright 2020 Google LLC
|
|
209
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
210
|
+
*/const Ti=()=>new Ni;class Ni{}const Tt=new WeakMap,Pi=Ai(class extends Ri{render(o){return g}update(o,[t]){var e;const i=t!==this.Y;return i&&this.Y!==void 0&&this.rt(void 0),(i||this.lt!==this.ct)&&(this.Y=t,this.dt=(e=o.options)===null||e===void 0?void 0:e.host,this.rt(this.ct=o.element)),g}rt(o){var t;if(typeof this.Y=="function"){const e=(t=this.dt)!==null&&t!==void 0?t:globalThis;let i=Tt.get(e);i===void 0&&(i=new WeakMap,Tt.set(e,i)),i.get(this.Y)!==void 0&&this.Y.call(this.dt,void 0),i.set(this.Y,o),o!==void 0&&this.Y.call(this.dt,o)}else this.Y.value=o}get lt(){var o,t,e;return typeof this.Y=="function"?(t=Tt.get((o=this.dt)!==null&&o!==void 0?o:globalThis))===null||t===void 0?void 0:t.get(this.Y):(e=this.Y)===null||e===void 0?void 0:e.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),$r="";var Mi=Object.defineProperty,Di=Object.getOwnPropertyDescriptor,V=(o,t,e,i)=>{for(var r=i>1?void 0:i?Di(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Mi(t,e,r),r};class R extends k{constructor(){super(...arguments),this.textareaRef=Ti(),this.value=""}handleclassNamesChange(t,e){this.classNames.split(" ").forEach(r=>{if(r.startsWith("qti-height-lines")){const a=r.replace("qti-height-lines-","");this.textareaRef&&(this.textareaRef.value.rows=parseInt(a))}})}set response(t){this.value=t!==void 0?t:""}validate(){return this.value!==""}static get styles(){return[It,d.css`
|
|
211
|
+
/* PK: display host as block, else design will be collapsed */
|
|
212
|
+
:host {
|
|
213
|
+
display: block;
|
|
214
|
+
}
|
|
215
|
+
textarea {
|
|
216
|
+
padding: var(--qti-padding, 0.5rem);
|
|
217
|
+
width: 100%;
|
|
218
|
+
height: 100%;
|
|
219
|
+
}
|
|
220
|
+
`]}render(){return d.html`<textarea
|
|
221
|
+
${Pi(this.textareaRef)}
|
|
222
|
+
spellcheck="false"
|
|
223
|
+
autocomplete="off"
|
|
224
|
+
@keydown="${t=>t.stopImmediatePropagation()}"
|
|
225
|
+
@keyup="${this.textChanged}"
|
|
226
|
+
@change="${this.textChanged}"
|
|
227
|
+
placeholder="${F(this.placeholderText?this.placeholderText:void 0)}"
|
|
228
|
+
maxlength="${F(this.expectedLength?this.expectedLength:void 0)}"
|
|
229
|
+
pattern="${F(this.patternMask?this.patternMask:void 0)}"
|
|
230
|
+
?disabled="${this.disabled}"
|
|
231
|
+
?readonly="${this.readonly}"
|
|
232
|
+
.value=${this.value}
|
|
233
|
+
></textarea>`}textChanged(t){if(this.disabled||this.readonly)return;const e=t.target;this.setEmptyAttribute(e.value),this.value=e.value,this.saveResponse({base:{string:e.value}})}reset(){this.value=""}setEmptyAttribute(t){this.setAttribute("empty",t===""?"true":"false")}}R.rowHeightClass=["","qti-height-lines-3","qti-height-lines-6","qti-height-lines-15"],V([p({type:Number,attribute:"expected-length"})],R.prototype,"expectedLength",2),V([p({type:String,attribute:"pattern-mask"})],R.prototype,"patternMask",2),V([p({type:String,attribute:"placeholder-text"})],R.prototype,"placeholderText",2),V([p({type:String})],R.prototype,"value",2),V([p({type:String,attribute:"class"})],R.prototype,"classNames",2),V([f("classNames",{waitUntilFirstUpdate:!0})],R.prototype,"handleclassNamesChange",1),customElements.define("qti-extended-text-interaction",R);const Sr="";var Qi=Object.defineProperty,Li=Object.getOwnPropertyDescriptor,Hi=(o,t,e,i)=>{for(var r=i>1?void 0:i?Li(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Qi(t,e,r),r};n.QtiHottext=class extends n.QtiChoice{},n.QtiHottext=Hi([I("qti-hottext")],n.QtiHottext);var ji=Object.defineProperty,Bi=Object.getOwnPropertyDescriptor,ot=(o,t,e,i)=>{for(var r=i>1?void 0:i?Bi(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ji(t,e,r),r};class C extends k{constructor(){super(),this._choiceElements=[],this.minChoices=0,this.maxChoices=1,this._handleDisabledChange=(t,e)=>this._choiceElements.forEach(i=>i.disabled=e),this._handleReadonlyChange=(t,e)=>this._choiceElements.forEach(i=>i.readonly=e),this._handleMaxChoicesChange=()=>this._determineInputType(),this.addEventListener(q.ON_REGISTER_CHOICE,this._registerChoiceElement),this.addEventListener(q.ON_LOOSE_CHOICE,this._looseChoiceElement)}reset(){this._choiceElements.forEach(t=>{t.reset()})}validate(){return this._choiceElements.reduce((e,i)=>e+(i.checked===!0?1:0),0)>=this.minChoices}set response(t){this._choiceElements.forEach(i=>{i.checked=!1}),(Array.isArray(t)?t:[t]).forEach(i=>{const r=this.querySelector("[identifier='"+i+"']");r&&(r.checked=!0)})}connectedCallback(){super.connectedCallback(),this.addEventListener(q.ON_CHOICE_ELEMENT_SELECTED,this._choiceElementSelectedHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(q.ON_CHOICE_ELEMENT_SELECTED,this._choiceElementSelectedHandler),this.removeEventListener(q.ON_REGISTER_CHOICE,this._registerChoiceElement)}_registerChoiceElement(t){t.stopPropagation();const e=t.target;this._choiceElements.push(e),this._setInputType(e)}_looseChoiceElement(t){t.stopPropagation();const e=t.target;this._choiceElements.push(e),this._choiceElements=this._choiceElements.filter(i=>i!==e)}_determineInputType(){this._choiceElements.forEach(t=>{this._setInputType(t)})}_setInputType(t){this.maxChoices===1?t.setAttribute("role","radio"):t.setAttribute("role","checkbox")}_choiceElementSelectedHandler(t){this.maxChoices===1&&this._choiceElements.filter(e=>e.identifier!==t.detail.identifier).forEach(e=>{e.checked=!1}),this._choiceElementSelected()}_choiceElementSelected(){const t=this._choiceElements.filter(i=>i.checked==!0).map(i=>i.identifier);this.maxChoices>1&&(this.maxChoices===t.length?this._choiceElements.forEach(i=>i.disabled=i.checked!=!0):this._choiceElements.forEach(i=>i.disabled=!1));let e;this.maxChoices===1?e={base:{identifier:t.length>0?t[0]:""}}:e={list:{identifier:t}},this.saveResponse(e)}}ot([p({type:Number,attribute:"min-choices"})],C.prototype,"minChoices",2),ot([p({type:Number,attribute:"max-choices"})],C.prototype,"maxChoices",2),ot([f("disabled",{waitUntilFirstUpdate:!0})],C.prototype,"_handleDisabledChange",2),ot([f("readonly",{waitUntilFirstUpdate:!0})],C.prototype,"_handleReadonlyChange",2),ot([f("_maxChoices",{waitUntilFirstUpdate:!0})],C.prototype,"_handleMaxChoicesChange",2);const Ir="";class qe extends C{constructor(){super(...arguments),this.render=()=>d.html`<slot></slot>`}connectedCallback(){super.connectedCallback(),this.setAttribute("qti-hottext-interaction","")}}customElements.define("qti-hottext-interaction",qe);const Rr="";class Nt extends k{constructor(){super(),this.options=[],this.addEventListener(q.ON_DROPDOWN_SELECTED,this.choiceSelected);const t=Array.from(this.querySelectorAll("qti-inline-choice"));this.options=[{textContent:"select",value:"",selected:!1},...t.map(e=>({textContent:e.innerHTML,value:e.getAttribute("identifier"),selected:!1}))]}static get properties(){return{...k.properties,options:{type:Array,value:[],attribute:!1}}}connectedCallback(){super.connectedCallback()}static get styles(){return[It,d.css`
|
|
234
|
+
:host {
|
|
235
|
+
display: inline-block;
|
|
236
|
+
}
|
|
237
|
+
select {
|
|
238
|
+
width:100%;
|
|
239
|
+
padding: var(--qti-padding-y) var(--qti-padding-x);
|
|
240
|
+
padding-right: calc(var(--qti-padding-x) + 1ch)
|
|
241
|
+
}
|
|
242
|
+
`]}render(){return d.html`
|
|
243
|
+
<select
|
|
244
|
+
@change="${this.choiceSelected}"
|
|
245
|
+
?disabled="${this.disabled}"
|
|
246
|
+
?readonly="${this.readonly}"
|
|
247
|
+
>
|
|
248
|
+
${this.options.map(t=>d.html`
|
|
249
|
+
<option value="${t.value}" ?selected="${t.selected}">${t.textContent}</option>
|
|
250
|
+
`)}
|
|
251
|
+
</select>`}validate(){const t=this.options.find(e=>e.selected);return t?t.value!=="":!1}reset(){this.options=this.options.map((t,e)=>({...t,selected:e===0}))}set response(t){this.options=this.options.map(e=>(t===e.value&&(e.selected=!0),e))}choiceSelected(t){const e=t.target.value;this.options=this.options.map(i=>({...i,selected:i.value===e})),this.saveResponse({base:{string:e}})}}Nt.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"],customElements.define("qti-inline-choice-interaction",Nt);const Tr="";var Ui=Object.defineProperty,zi=Object.getOwnPropertyDescriptor,be=(o,t,e,i)=>{for(var r=i>1?void 0:i?zi(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Ui(t,e,r),r};class G extends C{constructor(){super(...arguments),this.shuffle=!1,this.render=()=>d.html` <slot name="prompt"></slot>
|
|
252
|
+
<slot></slot>`}}G.layoutClass=["","qti-choices-stacking-2","qti-choices-stacking-3","qti-choices-stacking-4","qti-orientation-vertical","qti-orientation-horizontal"],G.presentationClass=["","qti-input-control-hidden"],be([p({attribute:"orientation",type:String})],G.prototype,"orientation",2),be([p({attribute:"shuffle",type:Boolean})],G.prototype,"shuffle",2),customElements.define("qti-choice-interaction",G);const Nr="";var Fi=Object.defineProperty,Vi=Object.getOwnPropertyDescriptor,Gi=(o,t,e,i)=>{for(var r=i>1?void 0:i?Vi(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Fi(t,e,r),r};n.QtiSimpleChoice=class extends n.QtiChoice{},n.QtiSimpleChoice=Gi([I("qti-simple-choice")],n.QtiSimpleChoice);const Yi=`<qti-response-processing>
|
|
253
|
+
<qti-response-condition>
|
|
254
|
+
<qti-response-if>
|
|
255
|
+
<qti-match>
|
|
256
|
+
<qti-variable identifier="RESPONSE"></qti-variable>
|
|
257
|
+
<qti-correct identifier="RESPONSE"></qti-correct>
|
|
258
|
+
</qti-match>
|
|
259
|
+
<qti-set-outcome-value identifier="SCORE">
|
|
260
|
+
<qti-base-value base-type="float">1</qti-base-value>
|
|
261
|
+
</qti-set-outcome-value>
|
|
262
|
+
</qti-response-if>
|
|
263
|
+
<qti-response-else>
|
|
264
|
+
<qti-set-outcome-value identifier="SCORE">
|
|
265
|
+
<qti-base-value base-type="float">0</qti-base-value>
|
|
266
|
+
</qti-set-outcome-value>
|
|
267
|
+
</qti-response-else>
|
|
268
|
+
</qti-response-condition>
|
|
269
|
+
</qti-response-processing>`,Xi=`<qti-response-processing>
|
|
270
|
+
<qti-response-condition>
|
|
271
|
+
<qti-response-if>
|
|
272
|
+
<qti-is-null>
|
|
273
|
+
<qti-variable identifier="RESPONSE"></qti-variable>
|
|
274
|
+
</qti-is-null>
|
|
275
|
+
<qti-set-outcome-value identifier="SCORE">
|
|
276
|
+
<qti-base-value base-type="float">0.0</qti-base-value>
|
|
277
|
+
</qti-set-outcome-value>
|
|
278
|
+
</qti-response-if>
|
|
279
|
+
<qti-response-else>
|
|
280
|
+
<qti-set-outcome-value identifier="SCORE">
|
|
281
|
+
<qti-map-response identifier="RESPONSE"> </qti-map-response>
|
|
282
|
+
</qti-set-outcome-value>
|
|
283
|
+
</qti-response-else>
|
|
284
|
+
</qti-response-condition>
|
|
285
|
+
</qti-response-processing>`,Wi=`<qti-response-processing>
|
|
286
|
+
<qti-response-condition>
|
|
287
|
+
<qti-response-if>
|
|
288
|
+
<qti-is-null>
|
|
289
|
+
<qti-variable identifier="RESPONSE"></qti-variable>
|
|
290
|
+
</qti-is-null>
|
|
291
|
+
<qti-set-outcome-value identifier="SCORE">
|
|
292
|
+
<qti-base-value base-type="float">0</qti-base-value>
|
|
293
|
+
</qti-set-outcome-value>
|
|
294
|
+
</qti-response-if>
|
|
295
|
+
<qti-response-else>
|
|
296
|
+
<qti-set-outcome-value identifier="SCORE">
|
|
297
|
+
<qti-map-response-point identifier="RESPONSE"></qti-map-response-point>
|
|
298
|
+
</qti-set-outcome-value>
|
|
299
|
+
</qti-response-else>
|
|
300
|
+
</qti-response-condition>
|
|
301
|
+
</qti-response-processing>`;class ve extends d.LitElement{render(){return d.html`<slot></slot>`}static get observedAttributes(){return["identifier"]}process(){if(this.getAttribute("template")){const e=this.getAttribute("template").split("/"),i=e[e.length-1].replace(".xml","");switch(this.innerHTML="",i){case"map_response":{this.appendChild(this.fragmentFromString(Xi));break}case"map_response_point":{this.appendChild(this.fragmentFromString(Wi));break}case"match_correct":this.appendChild(this.fragmentFromString(Yi));break}}const t=[...this.children];for(let e=0;e<t.length;e++)t[e].process()}fragmentFromString(t){return document.createRange().createContextualFragment(t)}}customElements.define("qti-response-processing",ve);class Pt extends d.LitElement{render(){return d.html``}process(){throw new Error("Not implemented")}}customElements.define("qti-rule",Pt);class ge extends Pt{render(){return d.html`<slot></slot>`}process(){const t=[...this.children];for(let e=0;e<t.length;e++){const i=t[e];if(i.calculate()){i.process();return}}}}customElements.define("qti-response-condition",ge);class Mt extends d.LitElement{static get properties(){return{debugCalculateResult:{type:Object}}}render(){return d.html`
|
|
302
|
+
<slot></slot>`}calculate(){return this.debugCalculateResult=!0,!0}getSubRules(){return[...this.children]}process(){const t=this.getSubRules();for(let e=0;e<t.length;e++)t[e].process()}}customElements.define("qti-response-else",Mt);class Dt extends Mt{render(){return d.html`${super.render()}`}calculate(){const e=this.firstElementChild.calculate();return this.debugCalculateResult=e,e}getSubRules(){const t=[];for(let e=1;e<this.children.length;e++)t.push(this.children[e]);return t}}customElements.define("qti-response-if",Dt);class fe extends Dt{render(){return d.html`${super.render()}`}}customElements.define("qti-response-else-if",fe);class w extends E{render(){return d.html``}calculate(){throw new Error("Not implemented")}}customElements.define("qti-expression",w);class ye extends w{calculate(){const t=this.getAttribute("identifier"),e=this.closest("qti-assessment-item").getResponse(t);if(!e)return this.err(`Response ${t} can not be found`),null;const i=e.mapping,r=e.value;let a=0;if(Array.isArray(r)){for(let s=0;s<r.length;s++)a+=xe(i,r[s],e.baseType);return a}else a+=xe(i,r,e.baseType);return a}}customElements.define("qti-map-response",ye);function xe(o,t,e){let i=0;for(const r of o.entries()){const{entryTyped:a,valueTyped:s}=Ki(e,r,t);a===s&&(i+=r[1])}return i}function Ki(o,t,e){let i,r;switch(o){case N.string:case N.identifier:case N.directedPair:i=""+t[0],r=""+e;break;case N.float:i=parseFloat(t[0].replace(",",".")),r=parseFloat(e.replace(",","."));break;default:console.warn("no base-type identifier")}return{entryTyped:i,valueTyped:r}}class we extends Pt{process(){const t=this.getAttribute("identifier"),e=this.firstElementChild,i=e?e.calculate():null;this.closest("qti-assessment-item").setOutcomeValue(t,i)}}customElements.define("qti-set-outcome-value",we);class _e extends w{render(){return d.html``}calculate(){const t=this.getAttribute("identifier"),e=this.closest("qti-assessment-item").getResponse(t);return e?e.correctResponse:(this.err(`Can not find qti-response-identifier: ${t}`),null)}}customElements.define("qti-correct",_e);class Ee extends w{render(){return d.html``}calculate(){const t=this.getAttribute("identifier");return this.closest("qti-assessment-item").getVariableValue(t)}}customElements.define("qti-variable",Ee);class ke extends w{calculate(){const e=this.firstElementChild.calculate(),r=this.lastElementChild.calculate();let a=!0;return e instanceof Array?a=e.length===r.length?e.filter((s,c)=>s===r[c]).length===e.length:!1:a=e==r,a}}customElements.define("qti-match",ke);class ht extends w{calculate(){return ht.calculate(this.textContent,this.getAttribute("base-type"))}static calculate(t,e){let i;switch(e){case N.directedPair:{const r=t.split(" ");i={destination:r[1],source:r[0]}}break;default:i=t;break}return i}}customElements.define("qti-base-value",ht);class pt extends w{calculate(){const t=this.firstElementChild,e=this.lastElementChild;return pt.calculate(t,e)}static calculate(t,e){const i=t.calculate(),r=e.calculate(),a=i.map(l=>l.source+" "+l.destination),s=r.map(l=>l.source+" "+l.destination);return a.filter(l=>s.includes(l)).length>0}}customElements.define("qti-contains",pt);class mt extends w{calculate(){return this.children.length===2?mt.calculate(this.children[0],this.children[1]):(this.err("unexpected number of children in qte"),null)}static calculate(t,e){const i=+t.calculate(),r=+e.calculate();return i>=r}}customElements.define("qti-gte",mt);class Ce extends w{calculate(){return Array.from(this.children).map(t=>t.calculate())}}customElements.define("qti-multiple",Ce);class ut extends w{render(){return d.html``}calculate(){return ut.calculate(Array.from(this.children))}static calculate(t){return t.every(e=>e.calculate())}}customElements.define("qti-and",ut);class qt extends w{render(){return d.html``}calculate(){return qt.calculate(Array.from(this.children))}static calculate(t){return!!t.find(e=>e.calculate())}}customElements.define("qti-or",qt);class bt extends w{calculate(){return this.children.length===1?bt.calculate(this.children[0]):(this.err("unexpected number of children in qte"),null)}static calculate(t){const e=t.calculate();return e==null||e==null||e===""}}customElements.define("qti-is-null",bt);class Ae extends E{constructor(){super(...arguments),this._errorMessage=null}static get properties(){return{responseIdentifier:{type:String,attribute:"response-identifier"},module:{type:String,attribute:"module"},customInteractionTypeIdentifier:{type:String,attribute:"custom-interaction-type-identifier"},baseUrl:{type:String,attribute:"base-url"},_errorMessage:{type:String,state:!0}}}getTAOConfig(t){const e=t.querySelectorAll("properties");let i={};const r=s=>{const c={},h=s.getAttribute("key");if(h){const l=Array.from(s.children),b=l.map(u=>u.getAttribute("key"));b.length>0&&!b.find(u=>!Number.isInteger(+u))?c[h]=l.map(u=>a(u)):c[h]=s.textContent}return c},a=s=>{if(s){let c={};for(const h of s.children)c={...c,...r(h)};return c}};for(const s of e)return s.getAttribute("key")||(i={...i,...a(s)}),i;this.err("Can not find qti-custom-interaction config")}register(t){const e=this.parentElement.tagName==="QTI-CUSTOM-INTERACTION"?"TAO":"IMS",i=e=="IMS"?this.querySelector("qti-interaction-markup"):this.querySelector("markup");i.classList.add("qti-customInteraction"),e=="TAO"&&this.querySelector("properties")&&(this.querySelector("properties").style.display="none");const r=e=="IMS"?{properties:this.dataset}:this.getTAOConfig(this);e=="IMS"?t.getInstance(i,r,void 0):t.initialize(this.customInteractionTypeIdentifier,i.firstElementChild,r),e=="TAO"&&Array.from(this.querySelectorAll("link")).map(s=>s.getAttribute("href")).forEach(s=>{const c=document.createElement("link");c.rel="stylesheet",c.type="text/css",c.media="screen",c.href=s,i.appendChild(c)})}connectedCallback(){super.connectedCallback();const t={context:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl,catchError:!0};window.requirePaths&&window.requireShim&&(t.paths=window.requirePaths,t.shim=window.requireShim),requirejs.config(t)(["require"],i=>{define("qtiCustomInteractionContext",()=>({register:r=>{this.register(r)},notifyReady:()=>{}})),i([this.module],()=>{},r=>{this._errorMessage=r})},i=>{this._errorMessage=i})}render(){return d.html`<slot></slot>${this._errorMessage&&d.html`<div style="color:red"><h1>Error</h1>${this._errorMessage}</div>`}`}}customElements.define("qti-portable-custom-interaction",Ae);var Zi=Object.defineProperty,Ji=Object.getOwnPropertyDescriptor,tr=(o,t,e,i)=>{for(var r=i>1?void 0:i?Ji(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Zi(t,e,r),r};const Oe=(o,t,e)=>{class i extends o{constructor(){super(...arguments),this.disabled=!1}firstUpdated(a){if(this.classList.contains("qti-match-tabular"))return;super.firstUpdated(a);const s=Array.from(t?this.shadowRoot.querySelectorAll(e):this.querySelectorAll(e));this.dragoverHandler=this.dragoverHandler.bind(this),this.dragleaveHandler=this.dragleaveHandler.bind(this),this.dropHandler=this.dropHandler.bind(this),s.forEach(c=>{c.setAttribute("dropzone","move"),c.addEventListener("dragleave",this.dragleaveHandler),this.attachHandler(c)});for(const c of s)this.observer=new MutationObserver(h=>{h.forEach(l=>{if(l.type==="attributes")switch(l.attributeName){case"disabled":{c.hasAttribute("disabled")?this.removeHandler(c):this.attachHandler(c);break}}})}),this.observer.observe(c,{attributes:!0})}attachHandler(a){a.addEventListener("dragover",this.dragoverHandler),a.addEventListener("drop",this.dropHandler)}removeHandler(a){a.removeEventListener("dragover",this.dragoverHandler),a.removeEventListener("drop",this.dropHandler)}disconnectedCallback(){this.classList.contains("qti-match-tabular")||(super.disconnectedCallback(),this.observer?.disconnect())}dragoverHandler(a){return a.preventDefault(),a.currentTarget.setAttribute("active",""),a.dataTransfer.dropEffect="move",!1}dropHandler(a){a.preventDefault();const s=a.currentTarget,c=this.querySelector(`[identifier=${a.dataTransfer.getData("text")}`),h=c||this.shadowRoot.querySelector(`[identifier=${a.dataTransfer.getData("text")}`);return s?h.parentElement.getAttribute("identifier")!==s.getAttribute("identifier")&&s.appendChild(h):console.error(`cannot find droppable, target: ${a.target?JSON.stringify(a.target):"null"}`),s.removeAttribute("active"),!1}dragleaveHandler(a){return a.preventDefault(),a.currentTarget.removeAttribute("active"),!1}}return tr([p({type:Boolean,reflect:!0})],i.prototype,"disabled",2),i},$e=(o,t,e)=>{class i extends o{}return i};class Y{constructor(){return this._touchBegin=0,this._touchDown=null,this._lastClick=0,this._canDrag=!1,this._dragSrc=null,this._dragCopy=null,this._touchEndCalled=!1,this._dragRunning=!1,this._dataTransfer={data:{},setData:function(t,e){this.data[t]=e},getData:function(t){return this.data[t]},effectAllowed:"move"},this._copyOffset={x:0,y:0},this._lastTarget=null,this._currentDropContainer=null,this._handleClick=!0,this._DBLCLICKDELAY=500,this._CONTEXTMENUDELAY=1e3,this._DRAGDELTA=5,this._COPYOPACITY=.7,this.copyStylesDragClone=!0,this.dragOnClick=!1,this.createDragCopy=(t,e)=>{if(this._dragCopy===null&&this._dragRunning){this._dragSrc.style.opacity=this._COPYOPACITY,this._dragCopy=this._dragSrc.cloneNode(!0);const r=window.getComputedStyle(this._dragSrc);if(this._dragCopy.style="",this._dragCopy.setAttribute("dragclone",""),this.copyStylesDragClone)for(const a of r)this._dragCopy.style[a]=r.getPropertyValue(a);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="absolute",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){const 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")});var 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")}},Y._instance?Y._instance:(Y._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();const{x:e,y:i}=this.getPositionFromEvent(t);if(this._touchDown={x:e,y:i},this._dragSrc=t.currentTarget,this._canDrag=!0,this.dragOnClick){const r={clientX:e,clientY:i};this._dragRunning=!0,this.createDragCopy(t,r)}t.preventDefault()}_touchMove(t){if(this._canDrag&&this._dragSrc){const{x:e,y:i}=this.getPositionFromEvent(t),r={clientX:e,clientY:i};this._getDelta(r)>=this._DRAGDELTA&&(this._dragRunning=!0),this.createDragCopy(t,r),t.preventDefault()}}_touchEnd(t){if(this._touchEndCalled=!0,this._canDrag=!1,this._currentDropContainer)this._dispatchEvent(this._currentDropContainer,"drop"),this._dispatchEvent(this._dragSrc,"dragend");else if(this._dragRunning){const e=new CustomEvent("dragend",{bubbles:!0,cancelable:!0});e.dataTransfer={dropEffect:"none"},this._dragSrc?.dispatchEvent(e)}this._reset()}_touchCancel(t){this._reset()}_findDroppable(t){let e;const i=t.composedPath().find(r=>{if(r.nodeType===1&&r.nodeName!=="SLOT"&&r.hasAttribute("dropzone"))return r});if(i){const r=i.getRootNode(),a=this._getPoint(t);e=r.elementFromPoint(a.x,a.y)}return e}_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){const e=this._dragSrc.getBoundingClientRect();this._copyOffset.x=t.clientX-e.left,this._copyOffset.y=t.clientY-e.top}_getDelta(t){const e=Math.abs(t.clientX-this._touchDown.x),i=Math.abs(t.clientY-this._touchDown.y);return e+i}_dispatchEvent(t,e,i=!0){if(!t)return!1;const r=new CustomEvent(e,{bubbles:i,cancelable:!0});return r.dataTransfer=this._dataTransfer,t.dispatchEvent(r),r.defaultPrevented}_reset(){this._dragRunning&&(this._dragSrc.style.opacity="1.0",this._dragCopy.parentElement.removeChild(this._dragCopy)),this._dragRunning=!1,this._dragSrc=null,this._dragCopy=null,this._canDrag=!1,this._touchBegin=0,this._touchDown=null,this._lastClick=0,this._touchEndCalled=!1,this._dataTransfer={data:{},setData:function(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}getPositionFromEvent(t){let e;if(t.type=="touchstart"||t.type=="touchmove"||t.type=="touchend"||t.type=="touchcancel"){const i=typeof t.originalEvent>"u"?t:t.originalEvent,r=i.touches[0]||i.changedTouches[0];e={x:r.pageX,y:r.pageY}}else(t.type=="mousedown"||t.type=="mouseup"||t.type=="mousemove"||t.type=="mouseover"||t.type=="mouseout"||t.type=="mouseenter"||t.type=="mouseleave")&&(e={x:t.clientX,y:t.clientY});return e}}function er(o,t){let e;return{...t},(i,r)=>{const{connectedCallback:a,disconnectedCallback:s}=i;i.connectedCallback=function(){a.call(this);const c=l=>{const b=Array.from(this.querySelectorAll(o));for(const m of l){const u=Array.from(m.addedNodes).map(x=>x),y=Array.from(m.addedNodes).map(x=>x);m.type==="childList"&&u.find(x=>b.includes(x))&&this[r](u,y)}};e=new MutationObserver(c),e.observe(this,{childList:!0,subtree:!0});const h=this.querySelectorAll(o)??[];this[r](Array.from(h),[])},i.disconnectedCallback=function(){s.call(this),e.disconnect()}}}var ir=Object.defineProperty,rr=Object.getOwnPropertyDescriptor,O=(o,t,e,i)=>{for(var r=i>1?void 0:i?rr(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ir(t,e,r),r};const X=(o,t,e,i)=>{class r extends $e(Oe(o,e,i)){constructor(){super(...arguments),this.draggables=new Map,this.responseIdentifier="",this.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1},this.disabled=!1,this.readonly=!1,this.minAssociations=1,this.maxAssociations=1}reInitDragAndDrop(s,c){if(this.classList.contains("qti-match-tabular"))return;s.filter(l=>!this.draggables||!this.draggables.get(l)).length>0&&(this.dragDropApi.addDraggables(s),s.forEach(l=>{this.draggables.set(l,{parent:l.parentElement,index:Array.from(l.parentNode.children).indexOf(l)}),l.setAttribute("qti-draggable","true"),l.addEventListener("dragstart",b=>{b.dataTransfer.setData("text",b.currentTarget.getAttribute("identifier")),l.setAttribute("dragging","")}),l.addEventListener("dragend",b=>{if(b.preventDefault(),l.removeAttribute("over"),l.removeAttribute("dragging"),b.dataTransfer.dropEffect==="none"&&this.configuration.dragCanBePlacedBack){const m=b.currentTarget,u=this.draggables.get(m),y=u.index<u.parent.children.length?u.index:u.parent.children.length-1,x=u.parent,v=u.parent.children[y];x.insertBefore(m,v),this.saveResponse(),this.checkMaxMatchAssociations()}b.dataTransfer.dropEffect==="move"&&(this.saveResponse(),this.checkMaxMatchAssociations())})}))}handleDragOptionsChanged(s,c){this.dragDropApi.copyStylesDragClone=c.copyStylesDragClone,this.dragDropApi.dragOnClick=c.dragOnClick}handleDisabledChange(s,c){this.draggables.forEach((h,l)=>{c?l.setAttribute("disabled",""):l.removeAttribute("disabled"),c?l.removeAttribute("qti-draggable"):l.setAttribute("qti-draggable","true")})}handleReadonlyChange(s,c){this.draggables.forEach((h,l)=>{c?l.setAttribute("readonly",""):l.removeAttribute("readonly"),c?l.removeAttribute("qti-draggable"):l.setAttribute("qti-draggable","true")})}firstUpdated(s){super.firstUpdated(s),this.droppables=Array.from(e?this.shadowRoot.querySelectorAll(i):this.querySelectorAll(i))}connectedCallback(){super.connectedCallback(),this.dragDropApi=new Y,this.dispatchEvent(new CustomEvent(q.ON_REGISTER_INTERACTION,{bubbles:!0,composed:!0,detail:this}))}reset(s=!0){this.draggables.forEach((c,h)=>{const l=c.parent.children,b=c.index<l.length?c.index:l.length;c.parent.insertBefore(h,l[b])}),s&&this.saveResponse()}checkMaxMatchAssociations(){this.droppables.forEach(s=>{const h=+(s.getAttribute("match-max")||1)<=(s.children.length||0);h?s.setAttribute("disabled",""):s.removeAttribute("disabled"),h?s.removeAttribute("dropzone"):s.setAttribute("dropzone","move")})}set response(s){this.classList.contains("qti-match-tabular")||(this.reset(!1),s!==null&&Array.isArray(s)&&s.forEach(c=>{const[h,...l]=c.split(" ").reverse();if(h){const b=this.droppables.find(m=>m.getAttribute("identifier")===h);l.forEach(m=>{const u=this.querySelector(`[identifier=${m}]`);b?u?(b.appendChild(u),this.checkMaxMatchAssociations()):console.error(`cannot find draggable with identifier: ${m}`):console.error(`cannot find droppable with identifier: ${h}`)})}}))}validate(){const c=(e?Array.from(this.shadowRoot.querySelectorAll(i)):Array.from(this.querySelectorAll(i))).filter(h=>h.childElementCount>0).length;return this.minAssociations<=0||this.minAssociations<=c}saveResponse(){const c={list:{pair:this.droppables.map(h=>{let l="";return h.children?.length>0&&(l+=Array.from(h.children).map(b=>b.getAttribute("identifier")).join(" ")+" "),l+=h.getAttribute("identifier"),l})}};this.dispatchEvent(new CustomEvent(q.ON_INTERACTION_RESPONSE,{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,responses:c}}))}}return O([er(t)],r.prototype,"reInitDragAndDrop",1),O([p({type:String,attribute:"response-identifier"})],r.prototype,"responseIdentifier",2),O([p({type:Object})],r.prototype,"configuration",2),O([f("configuration")],r.prototype,"handleDragOptionsChanged",1),O([p({type:Boolean,reflect:!0})],r.prototype,"disabled",2),O([f("disabled",{waitUntilFirstUpdate:!0})],r.prototype,"handleDisabledChange",1),O([p({type:Boolean,reflect:!0})],r.prototype,"readonly",2),O([f("readonly",{waitUntilFirstUpdate:!0})],r.prototype,"handleReadonlyChange",1),O([p({type:Number,reflect:!0,attribute:"min-associations"})],r.prototype,"minAssociations",2),O([p({type:Number,reflect:!0,attribute:"max-associations"})],r.prototype,"maxAssociations",2),r},Pr="";var or=Object.defineProperty,ar=Object.getOwnPropertyDescriptor,sr=(o,t,e,i)=>{for(var r=i>1?void 0:i?ar(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&or(t,e,r),r};class vt extends X(E,"qti-simple-associable-choice",!0,"drop-list"){render(){return d.html` <slot name="prompt"></slot>
|
|
303
|
+
<slot name="qti-simple-associable-choice"></slot>
|
|
304
|
+
${this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map((t,e)=>d.html`<div part="associables-container">
|
|
305
|
+
<drop-list part="drop-list" identifier="droplist${e}_left"></drop-list>
|
|
306
|
+
<drop-list part="drop-list" identifier="droplist${e}_right"></drop-list>
|
|
307
|
+
</div>`)}`}connectedCallback(){super.connectedCallback(),this._childrenMap=Array.from(this.querySelectorAll("qti-simple-associable-choice"))}}vt.styles=d.css`
|
|
308
|
+
:host {
|
|
309
|
+
display: block; /* necessary to calculate scaling position */
|
|
310
|
+
}
|
|
311
|
+
slot[name='qti-simple-associable-choice'] {
|
|
312
|
+
display: flex;
|
|
313
|
+
flex-wrap: wrap;
|
|
314
|
+
gap: 0.5rem;
|
|
315
|
+
}
|
|
316
|
+
`,sr([_t()],vt.prototype,"_childrenMap",2),customElements.define("qti-associate-interaction",vt);class Se extends d.LitElement{connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}render(){return d.html`
|
|
317
|
+
<slot></slot>
|
|
318
|
+
<slot name="qti-simple-associable-choice"></slot>
|
|
319
|
+
`}}customElements.define("qti-simple-associable-choice",Se);const Mr="";class Qt extends X(d.LitElement,"qti-gap-text",!1,"qti-gap"){render(){return d.html` <slot name="qti-gap-text"></slot>
|
|
320
|
+
<slot></slot>`}}Qt.styles=d.css`
|
|
321
|
+
:host {
|
|
322
|
+
display: block; /* necessary to calculate scaling position */
|
|
323
|
+
}
|
|
324
|
+
slot[name='qti-gap-text'] {
|
|
325
|
+
display: flex;
|
|
326
|
+
flex-wrap: wrap;
|
|
327
|
+
gap: var(--qti-gap, 0.5rem);
|
|
328
|
+
padding: var(--qti-gap, 0.5rem) 0px;
|
|
329
|
+
}
|
|
330
|
+
`,customElements.define("qti-gap-match-interaction",Qt);class Ie extends d.LitElement{connectedCallback(){super.connectedCallback(),this.setAttribute("slot","qti-gap-text")}render(){return d.html`<slot></slot>`}}customElements.define("qti-gap-text",Ie);class Re extends d.LitElement{render(){return d.html` <slot name="qti-gap-text"></slot>`}}customElements.define("qti-gap",Re);const Dr="";function Lt(o,t,e,i){switch(o){case"circle":{const[r,a,s]=t,c=r/e.width*100,h=a/e.height*100,l=s/e.width*100;i.style.left=c-l+"%",i.style.top=h-l+"%",i.style.width=i.style.height=4*l+"px",i.style.clipPath="circle(50% at 50% 50%)"}break;case"rect":{const[r,a,s,c]=t,h=r/e.width*100,l=a/e.height*100,b=s/e.width*100,m=c/e.height*100;i.style.left=h+"%",i.style.top=l+"%",i.style.width=b-h+"%",i.style.height=m-l+"%"}break;case"poly":{const r=t.reduce((v,fr,Qe,yr)=>{if(Qe%2===1){const xr=v.pop();v[v.length]={x:xr,y:yr[Qe]}}else v.push(fr);return v},[]),a=Math.min(...r.map(v=>v.x)),s=Math.max(...r.map(v=>v.x)),c=Math.min(...r.map(v=>v.y)),h=Math.max(...r.map(v=>v.y)),l=a/e.width*100,b=c/e.height*100,m=s/e.width*100,u=h/e.height*100;i.style.left=a/e.width*100+"%",i.style.top=c/e.height*100+"%",i.style.width=m-l+"%",i.style.height=u-b+"%";const x=r.map(v=>({x:(v.x-a)/(s-a)*100,y:(v.y-c)/(h-c)*100})).map(v=>Math.round(v.x)+"% "+Math.round(v.y)+"%").join(",");i.style.clipPath=`polygon(${x})`}break}}class Ht extends C{render(){return d.html`
|
|
331
|
+
<slot name="prompt"></slot>
|
|
332
|
+
<!-- slot for the prompt -->
|
|
333
|
+
<slot></slot>
|
|
334
|
+
<!-- slot for the image and hotspots -->
|
|
335
|
+
`}positionHotspotOnRegister(t){const e=this.querySelector("img"),i=t.target,r=i.getAttribute("coords"),a=i.getAttribute("shape"),s=r.split(",").map(c=>parseInt(c));Lt(a,s,e,i)}connectedCallback(){super.connectedCallback(),this.addEventListener(q.ON_REGISTER_CHOICE,this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(q.ON_REGISTER_CHOICE,this.positionHotspotOnRegister)}}Ht.styles=[d.css`
|
|
336
|
+
slot:not([name='prompt']) {
|
|
337
|
+
position: relative; /* qti-hotspot-choice relative to the slot */
|
|
338
|
+
display: block;
|
|
339
|
+
width: fit-content; /* hotspots not stretching further if image is at max size */
|
|
340
|
+
}
|
|
341
|
+
::slotted(img) {
|
|
342
|
+
/* image not selectable anymore */
|
|
343
|
+
pointer-events: none;
|
|
344
|
+
user-select: none;
|
|
345
|
+
}
|
|
346
|
+
`],customElements.define("qti-graphic-associate-interaction",Ht);const Qr="";class jt extends X(E,"qti-gap-img",!1,"qti-associable-hotspot"){render(){return d.html` <slot></slot>
|
|
347
|
+
<slot name="qti-gap-img"></slot>`}positionHotspotOnRegister(t){const e=t.target,i=e.getAttribute("coords"),r=e.getAttribute("shape"),a=i.split(",").map(s=>parseInt(s));switch(r){case"circle":{const[s,c,h]=a;e.style.left=s-h+"px",e.style.top=c-h+"px",e.style.width=e.style.height=2*h+"px"}break;case"rect":{const[s,c,h,l]=a;e.style.left=s+"px",e.style.top=c+"px",e.style.width=h-s+"px",e.style.height=l-c+"px"}break}}connectedCallback(){super.connectedCallback(),this.addEventListener(q.ON_REGISTER_HOTSPOT,this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(q.ON_REGISTER_HOTSPOT,this.positionHotspotOnRegister)}}jt.styles=d.css`
|
|
348
|
+
slot[name="qti-gap-img"] {
|
|
349
|
+
display: flex;
|
|
350
|
+
gap: 1rem;
|
|
351
|
+
}
|
|
352
|
+
`,customElements.define("qti-graphic-gap-match-interaction",jt);const Lr="";class Bt extends C{render(){return d.html`
|
|
353
|
+
<slot name="prompt"></slot>
|
|
354
|
+
<!-- slot for the prompt -->
|
|
355
|
+
<slot></slot>
|
|
356
|
+
<!-- slot for the image and hotspots -->
|
|
357
|
+
`}setHotspotOrder(t){const{identifier:e}=t.detail,i=this._choiceElements.find(a=>a.getAttribute("identifier")===e),r=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,i.order==null){if(this._choiceElements.filter(a=>a.order>0).length>=r){this.choiceOrdering=!1;return}i.order=this._choiceElements.filter(a=>!!a.order).length+1,this.choiceOrdering=!1;return}else this._choiceElements.forEach(a=>(a.order>a.order&&a.order--,a)),i.order=null;this.choiceOrdering=!1}}positionHotspotOnRegister(t){const e=this.querySelector("img"),i=t.target,r=i.getAttribute("coords"),a=i.getAttribute("shape"),s=r.split(",").map(c=>parseInt(c));Lt(a,s,e,i)}connectedCallback(){super.connectedCallback(),this.addEventListener(q.ON_CHOICE_ELEMENT_SELECTED,this.setHotspotOrder),this.addEventListener(q.ON_REGISTER_CHOICE,this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(q.ON_CHOICE_ELEMENT_SELECTED,this.setHotspotOrder),this.removeEventListener(q.ON_REGISTER_CHOICE,this.positionHotspotOnRegister)}}Bt.styles=[d.css`
|
|
358
|
+
slot:not([name='prompt']) {
|
|
359
|
+
position: relative; /* qti-hotspot-choice relative to the slot */
|
|
360
|
+
display: block;
|
|
361
|
+
width: fit-content; /* hotspots not stretching further if image is at max size */
|
|
362
|
+
}
|
|
363
|
+
::slotted(img) {
|
|
364
|
+
/* image not selectable anymore */
|
|
365
|
+
pointer-events: none;
|
|
366
|
+
user-select: none;
|
|
367
|
+
}
|
|
368
|
+
`],customElements.define("qti-graphic-order-interaction",Bt);const Hr="";class Ut extends C{render(){return d.html`
|
|
369
|
+
<slot name="prompt"></slot>
|
|
370
|
+
<!-- slot for the prompt -->
|
|
371
|
+
<slot></slot>
|
|
372
|
+
<!-- slot for the image and hotspots -->
|
|
373
|
+
`}positionHotspotOnRegister(t){const e=this.querySelector("img"),i=t.target,r=i.getAttribute("coords"),a=i.getAttribute("shape"),s=r.split(",").map(c=>parseInt(c));Lt(a,s,e,i)}connectedCallback(){super.connectedCallback(),this.addEventListener(q.ON_REGISTER_CHOICE,this.positionHotspotOnRegister)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(q.ON_REGISTER_CHOICE,this.positionHotspotOnRegister)}}Ut.styles=[d.css`
|
|
374
|
+
slot:not([name='prompt']) {
|
|
375
|
+
position: relative; /* qti-hotspot-choice relative to the slot */
|
|
376
|
+
display: block;
|
|
377
|
+
width: fit-content; /* hotspots not stretching further if image is at max size */
|
|
378
|
+
}
|
|
379
|
+
::slotted(img) {
|
|
380
|
+
/* image not selectable anymore */
|
|
381
|
+
pointer-events: none;
|
|
382
|
+
user-select: none;
|
|
383
|
+
}
|
|
384
|
+
`],customElements.define("qti-hotspot-interaction",Ut);var nr=Object.defineProperty,cr=Object.getOwnPropertyDescriptor,lr=(o,t,e,i)=>{for(var r=i>1?void 0:i?cr(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&nr(t,e,r),r};class gt extends n.QtiChoice{}gt.styles=d.css`
|
|
385
|
+
:host {
|
|
386
|
+
position: absolute;
|
|
387
|
+
}
|
|
388
|
+
`,lr([p({attribute:"aria-ordervalue",type:Number,reflect:!0})],gt.prototype,"order",2),customElements.define("qti-hotspot-choice",gt);const ft=d.css`
|
|
389
|
+
.notification {
|
|
390
|
+
position: absolute;
|
|
391
|
+
z-index: 100000;
|
|
392
|
+
top: 0;
|
|
393
|
+
bottom: 0;
|
|
394
|
+
right: 0;
|
|
395
|
+
left: 0;
|
|
396
|
+
/* background: repeating-linear-gradient(45deg, #606cbc00, #606cbc00 10px, #4652980f 10px, #4652980f 20px); */
|
|
397
|
+
}
|
|
398
|
+
.notification:after {
|
|
399
|
+
position: absolute;
|
|
400
|
+
right: 1rem;
|
|
401
|
+
top: 1rem;
|
|
402
|
+
background-color: #222222;
|
|
403
|
+
color: #dddddd;
|
|
404
|
+
font-size: 14px;
|
|
405
|
+
width: fit-content;
|
|
406
|
+
padding: 0.4rem 0.6rem;
|
|
407
|
+
border-radius: 99999px;
|
|
408
|
+
content: 'preview not interactive';
|
|
409
|
+
}
|
|
410
|
+
`,jr="";class zt extends X(d.LitElement,"qti-simple-match-set:first-of-type qti-simple-associable-choice",!1,"qti-simple-match-set:last-of-type qti-simple-associable-choice"){render(){return d.html`
|
|
411
|
+
<slot name="prompt"></slot>
|
|
412
|
+
<slot></slot>`}}zt.styles=[ft],customElements.define("qti-match-interaction",zt);const Br="";class Ft extends k{constructor(){super()}reset(){}validate(){return!0}set response(t){}static get properties(){return{...k.properties,step:{type:Number,attribute:"step",default:10}}}render(){return d.html`
|
|
413
|
+
<slot name="prompt"></slot>
|
|
414
|
+
<slot></slot>`}connectedCallback(){super.connectedCallback()}}Ft.styles=[ft,d.css``],customElements.define("qti-media-interaction",Ft);const Ur="";class yt extends X(E,"qti-simple-choice",!0,"drop-list"){static get properties(){return{_classNames:{type:String,attribute:"class"},_orientation:{type:String,attribute:"orientation"}}}render(){return d.html` <slot name="prompt"> </slot>
|
|
415
|
+
<div class=${`container ${this._classNames}`}>
|
|
416
|
+
<slot class=${this._orientation==="vertical"?"ver":"hor"}> </slot>
|
|
417
|
+
<div class=${this._orientation==="vertical"?"ver":"hor"}>
|
|
418
|
+
${this.childrenMap.map((t,e)=>d.html`<drop-list part="drop-list" identifier="droplist${e}"></drop-list>`)}
|
|
419
|
+
</div>
|
|
420
|
+
</div>`}connectedCallback(){super.connectedCallback(),this.childrenMap=Array.from(this.querySelectorAll("qti-simple-choice")),this.childrenMap.forEach(t=>t.setAttribute("part","qti-simple-choice"))}}yt.layoutClass=["qti-choices-top","qti-choices-bottom","qti-choices-left","qti-choices-right"],yt.styles=[ft,d.css`
|
|
421
|
+
.hor {
|
|
422
|
+
display: grid;
|
|
423
|
+
gap: var(--qti-gap, 2px);
|
|
424
|
+
grid-auto-flow: column;
|
|
425
|
+
grid-auto-columns: 1fr;
|
|
426
|
+
}
|
|
427
|
+
.ver {
|
|
428
|
+
width:50%;
|
|
429
|
+
display: grid;
|
|
430
|
+
gap: var(--qti-gap, 2px);
|
|
431
|
+
grid-auto-flow: row;
|
|
432
|
+
grid-auto-columns: 1fr;
|
|
433
|
+
}
|
|
434
|
+
.container {
|
|
435
|
+
display: flex;
|
|
436
|
+
gap: var(--qti-gap, 2px);
|
|
437
|
+
}
|
|
438
|
+
.qti-choices-top {
|
|
439
|
+
flex-direction: column;
|
|
440
|
+
}
|
|
441
|
+
.qti-choices-bottom {
|
|
442
|
+
flex-direction: column-reverse;
|
|
443
|
+
}
|
|
444
|
+
.qti-choices-left {
|
|
445
|
+
flex-direction: row;
|
|
446
|
+
}
|
|
447
|
+
.qti-choices-right {
|
|
448
|
+
flex-direction: row-reverse;
|
|
449
|
+
}
|
|
450
|
+
drop-list:empty::before {
|
|
451
|
+
content: 'drop here';
|
|
452
|
+
color: var(--qti-placeholder-text);
|
|
453
|
+
}
|
|
454
|
+
`],customElements.define("qti-order-interaction",yt);const zr="";class Vt extends C{constructor(){super()}render(){return d.html`<slot></slot>
|
|
455
|
+
<div class="notification"></div>`}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}}Vt.styles=[ft],customElements.define("qti-select-point-interaction",Vt);const Fr="";var dr=Object.defineProperty,hr=Object.getOwnPropertyDescriptor,$=(o,t,e,i)=>{for(var r=i>1?void 0:i?hr(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&dr(t,e,r),r};class _ extends k{constructor(){super(...arguments),this.stepLabel=!1,this.reverse=!1,this._handleDisabledChange=(t,e)=>{},this._handleReadonlyChange=(t,e)=>{}}set min(t){this._min=t,this.style.setProperty("--min",`${this._min}`)}get min(){return this._min}set max(t){this._max=t,this.style.setProperty("--max",`${this._max}`)}get max(){return this._max}set step(t){this._step=t,this.style.setProperty("--step",`${this._step}`)}get step(){return this._step}reset(){}validate(){return!0}set response(t){this.value=t}render(){this.value<this.min&&(this.value=this.min),this.value>this.max&&(this.value=this.max);const t=(this.value-this.min)/(this.max-this.min)*100;return d.html`<slot name="prompt"></slot>
|
|
456
|
+
<div id="rail" @mousedown=${this._onMouseDown} @touchstart=${this._onTouchMove} part="rail">
|
|
457
|
+
<div id="knob" part="knob" style="left:${t}%"></div>
|
|
458
|
+
</div>`}connectedCallback(){super.connectedCallback(),this.step=1,this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}_onTouchMove(t){const e=s=>{const{x:c}=this.getPositionFromEvent(s),h=c-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(h),s.stopPropagation()},i=()=>{document.removeEventListener("touchmove",e),document.removeEventListener("touchend",i),this.saveResponse({base:{float:this.value}})};document.addEventListener("touchmove",e),document.addEventListener("touchend",i);const{x:r}=this.getPositionFromEvent(t),a=r-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(a),t.stopPropagation()}_onMouseDown(t){const e=a=>{const s=a.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(s),a.preventDefault(),a.stopPropagation()},i=()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",i),this.saveResponse({base:{float:this.value}})};document.addEventListener("mousemove",e),document.addEventListener("mouseup",i);const r=t.pageX-this._rail.getBoundingClientRect().left-document.documentElement.scrollLeft;this.calculateValue(r),t.preventDefault(),t.stopPropagation()}calculateValue(t){const e=this.min+(this.max-this.min)*t/this.offsetWidth,i=this.min+Math.round((e-this.min)/this._step)*this._step;this.value=i}getPositionFromEvent(t){let e;if(t.type=="touchstart"||t.type=="touchmove"||t.type=="touchend"||t.type=="touchcancel"){const i=typeof t.originalEvent>"u"?t:t.originalEvent,r=i.touches[0]||i.changedTouches[0];e={x:r.pageX,y:r.pageY}}else(t.type=="mousedown"||t.type=="mouseup"||t.type=="mousemove"||t.type=="mouseover"||t.type=="mouseout"||t.type=="mouseenter"||t.type=="mouseleave")&&(e={x:t.clientX,y:t.clientY});return e}}_.styles=[d.css``],$([at("#knob")],_.prototype,"_knob",2),$([at("#rail")],_.prototype,"_rail",2),$([p({type:Number})],_.prototype,"value",2),$([p({type:Boolean,attribute:"step-label"})],_.prototype,"stepLabel",2),$([p({type:Boolean})],_.prototype,"reverse",2),$([p({type:Number,attribute:"lower-bound"})],_.prototype,"min",1),$([p({type:Number,attribute:"upper-bound"})],_.prototype,"max",1),$([p({type:Number,attribute:"step"})],_.prototype,"step",1),$([f("disabled",{waitUntilFirstUpdate:!0})],_.prototype,"_handleDisabledChange",2),$([f("readonly",{waitUntilFirstUpdate:!0})],_.prototype,"_handleReadonlyChange",2),customElements.define("qti-slider-interaction",_);class Gt extends d.LitElement{constructor(){super(...arguments),this.render=()=>d.html`${this.value}`}levenshtein(t,e){let i;if(t.length===0)return e.length;if(e.length===0)return t.length;t.length>e.length&&(i=t,t=e,e=i);const r=t.length,a=e.length,s=Array(r);let c,h,l;for(c=0;c<=r;c++)s[c]=c;for(c=1;c<=a;c++){for(l=c,h=1;h<=r;h++)i=s[h-1],s[h-1]=l,l=Math.min(i+(e[c-1]!==t[h-1]),l+1,s[h]+1);s[h-1]=l}return l}calculate(){const t=this.firstElementChild,e=this.lastElementChild,i=t.calculate(),r=e.calculate();return this.value=100-this.levenshtein(i.toString().trim(),r.toString().trim())/r.toString().length*100,this.value}}Gt.properties={value:{}},customElements.define("qti-custom-operator-levenshtein",Gt);class Te extends d.LitElement{render(){return d.html``}calculate(){const e=this.firstElementChild.calculate()?.toString();return e?e.replace(/[^0-9$.,]/g,""):""}}customElements.define("qti-custom-operator-numeric",Te);class Yt extends d.LitElement{constructor(){super(...arguments),this.render=()=>d.html`${this.value}`}calculate(){let t;const i=this.firstElementChild.calculate()?.toString();return this.value=i?this.parseNumber(i,t):"",this.value}parseNumber(t,e=navigator.languages){const i=Intl.NumberFormat(e).format(1.1),r=new RegExp(`[^-+0-9${i.charAt(1)}]`,"g"),s=t.replace(r,"").replace(i.charAt(1),".");return parseFloat(s)}}Yt.properties={value:{}},customElements.define("qti-custom-operator-parse-numeric-nl",Yt);class Ne extends d.LitElement{render(){return d.html``}calculate(){const e=this.firstElementChild.calculate()?.toString();return e?e.replace(/ /g,""):""}}customElements.define("qti-custom-operator-remove-spaces",Ne);class Pe extends d.LitElement{render(){return d.html``}calculate(){return this.firstElementChild.calculate().toString().trim()}}customElements.define("qti-custom-operator-trim",Pe);const W=(o,t)=>{class e extends o{_dispatch(){this.dispatchEvent(new CustomEvent(t,{composed:!0,bubbles:!0,detail:+this.getAttribute("index")}))}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this._dispatch)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this._dispatch)}}return e};customElements.define("qti-test-next",class extends W(d.LitElement,"on-next-item"){constructor(){super(...arguments),this.render=()=>d.html`<slot></slot>`}}),customElements.define("qti-test-item",class extends W(d.LitElement,"on-request-item"){constructor(){super(...arguments),this.render=()=>d.html`<slot></slot>`}}),customElements.define("qti-test-prev",class extends W(d.LitElement,"on-prev-item"){constructor(){super(...arguments),this.render=()=>d.html`<slot></slot>`}}),customElements.define("qti-test-check",class extends W(d.LitElement,"on-check-item"){constructor(){super(...arguments),this.render=()=>d.html`<slot></slot>`}}),customElements.define("qti-test-score",class extends W(d.LitElement,"on-score-item"){constructor(){super(...arguments),this.render=()=>d.html`<slot></slot>`}}),customElements.define("qti-test-show-correct",class extends W(d.LitElement,"on-show-correct"){constructor(){super(...arguments),this.render=()=>d.html`<slot></slot>`}});const Vr="";var pr=Object.defineProperty,mr=Object.getOwnPropertyDescriptor,A=(o,t,e,i)=>{for(var r=i>1?void 0:i?mr(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&pr(t,e,r),r};const T={ON_ITEM_WAS_FINISHED:"onItemWasFinished",ON_NO_RESPONSE_ON_SUBMIT:"onNoResponseOnSubmit",ON_REQUEST_ITEM:"onRequestItem",ON_TEST_FINISHED:"onTestFinished",ON_ITEM_READY:"onItemReady"};var Me=(o=>(o.linear="linear",o.nonlinear="nonlinear",o))(Me||{}),De=(o=>(o.individual="individual",o.simultaneous="simultaneous",o))(De||{});n.QtiTest=class extends d.LitElement{constructor(){super(...arguments),this.disabled=!1,this.readonly=!1,this._navigationMode="nonlinear",this._submissionMode="simultaneous",this.items=[],this.itemIndex=0,this.provider=new vi(this,Ot,{log:t=>{console.log(`[my-app] ${t}`)},view:"candidate"})}handleNavigationModeChange(t,e){this.prevButton.style.visibility=e==="linear"?"hidden":"visible"}handleItemIndexChange(t,e){this.emit(T.ON_REQUEST_ITEM,{detail:e})}set qtiContext(t){this.provider.value.view=t.view,this.provider.updateObservers()}set itemXML(t){this._itemRef&&this._itemRef.remove(),this.insertAdjacentHTML("afterbegin",t)}set manualOutcomeValue(t){this._itemRef.setOutcomeValue("SCORE",t)}set itemResponse(t){this._itemRef&&(this._itemRef.responses=t,this._navigationMode==="linear"&&(this._itemRef.style.filter="blur(5px)",this._itemRef.setAttribute("disabled",""),this.dispatchEvent(new CustomEvent(T.ON_ITEM_WAS_FINISHED))))}_onCheckItem(){return this._itemRef.validateResponses()?(this._itemRef.processResponse(),!0):!1}_onScoreItem(){this._onCheckItem()&&this._itemRef.processResponse()}_onPrevItem(){this.itemIndex>0&&this.emit(T.ON_REQUEST_ITEM,{detail:this.itemIndex-1})}_onNextItem(){if(this._navigationMode==="linear"&&!this._itemRef.validateResponses()){this.dispatchEvent(new CustomEvent(T.ON_NO_RESPONSE_ON_SUBMIT));return}this.itemIndex<this.items.length-1?this.emit(T.ON_REQUEST_ITEM,{detail:this.itemIndex+1}):this.dispatchEvent(new CustomEvent(T.ON_TEST_FINISHED))}_onShowCorrect(){this._itemRef.showCorrectResponse()}_onRequestItem({detail:t}){this.emit(T.ON_REQUEST_ITEM,{detail:t})}_handleSlotchange(t){const e=this.querySelector("qti-assessment-item");e&&(this._itemRef=e,this.disabled&&this._itemRef.setAttribute("disabled",""),this.readonly&&this._itemRef.setAttribute("readonly",""),this.emit(T.ON_ITEM_READY,{detail:e}))}render(){return d.html`
|
|
459
|
+
<slot
|
|
460
|
+
@slotchange=${this._handleSlotchange}
|
|
461
|
+
@on-prev-item=${this._onPrevItem}
|
|
462
|
+
@on-next-item=${this._onNextItem}
|
|
463
|
+
@on-check-item=${this._onCheckItem}
|
|
464
|
+
@on-score-item=${this._onScoreItem}
|
|
465
|
+
@on-request-item=${this._onRequestItem}
|
|
466
|
+
@on-show-correct=${this._onShowCorrect}
|
|
467
|
+
>
|
|
468
|
+
</slot>
|
|
469
|
+
`}emit(t,e){const i=new CustomEvent(t,{bubbles:!0,cancelable:!1,composed:!0,detail:{},...e});this.dispatchEvent(i)}},A([at("qti-test-prev")],n.QtiTest.prototype,"prevButton",2),A([at("qti-test-next")],n.QtiTest.prototype,"nextButton",2),A([p({type:Boolean})],n.QtiTest.prototype,"disabled",2),A([p({type:Boolean})],n.QtiTest.prototype,"readonly",2),A([p({type:String,attribute:"navigation-mode"})],n.QtiTest.prototype,"_navigationMode",2),A([f("_navigationMode",{waitUntilFirstUpdate:!0})],n.QtiTest.prototype,"handleNavigationModeChange",1),A([p({type:String,attribute:"submission-mode"})],n.QtiTest.prototype,"_submissionMode",2),A([p()],n.QtiTest.prototype,"items",2),A([p({type:Number,attribute:"item-index",reflect:!0})],n.QtiTest.prototype,"itemIndex",2),A([f("itemIndex",{waitUntilFirstUpdate:!0})],n.QtiTest.prototype,"handleItemIndexChange",1),A([_t()],n.QtiTest.prototype,"_itemRef",2),n.QtiTest=A([I("qti-test")],n.QtiTest);const ur=(o,t)=>{class e extends o{constructor(){super(...arguments),this.scale=1,this.ro=new ResizeObserver(r=>{for(const a of r)this.fitToParent(a.contentRect.width)})}connectedCallback(){super.connectedCallback(),this.ro.observe(this),this.fitToParent()}static get properties(){return{scales:{type:Boolean,reflect:!0}}}updated(r){r.forEach((a,s)=>{switch(s){case"scales":this.scales&&this.fitToParent();break}})}fitToParent(r=this.clientWidth){const a=this.querySelector(t);if(a){const s=r/a.clientWidth;this.scale=s,this.marginY=-a.clientHeight*(1-s)+"px",requestAnimationFrame(()=>{a.style.transform=`scale(${this.scale})`,a.style.margin=`0 0 ${this.marginY} 0`})}}}return e};var qr=Object.defineProperty,br=Object.getOwnPropertyDescriptor,Q=(o,t,e,i)=>{for(var r=i>1?void 0:i?br(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&qr(t,e,r),r};class S extends ur(d.LitElement,"qti-assessment-item"){constructor(){super(...arguments),this.disabled=!1,this.readonly=!1,this.processResponse=()=>this._item?.processResponse(),this.validateResponses=()=>this._item?this._item.validateResponses():!1,this.resetInteractions=()=>this._item?.resetInteractions(),this.render=()=>d.html`<slot @slotchange=${this.handleSlotchange}></slot>`}handleDisabledChange(t,e){e&&this._item?.setAttribute("disabled",""),!e&&this._item?.removeAttribute("disabled")}handleReadonlyChange(t,e){e&&this._item?.setAttribute("readonly",""),!e&&this._item?.removeAttribute("readonly")}handleResponsesChange(t,e){this._item&&(this._item.responses=e)}handleSlotchange(t){const e=t.target.assignedNodes({flatten:!0});this._item=null,e.forEach(i=>{i.nodeName=="QTI-ASSESSMENT-ITEM"&&(this._item=i,this.disabled&&this._item.setAttribute("disabled",""),this.readonly&&this._item.setAttribute("readonly",""),this.responses&&(this._item.responses=this.responses))})}}S.styles=d.css`
|
|
470
|
+
:host {
|
|
471
|
+
display: block; /* necessary to calculate scaling position */
|
|
472
|
+
width: 100%;
|
|
473
|
+
height: 100%;
|
|
474
|
+
overflow: auto;
|
|
475
|
+
}
|
|
476
|
+
::slotted(qti-assessment-item) {
|
|
477
|
+
display: block; /* necessary to calculate scaling position */
|
|
478
|
+
width: 100%;
|
|
479
|
+
}
|
|
480
|
+
:host([scales]) ::slotted(qti-assessment-item) {
|
|
481
|
+
aspect-ratio: 4 / 3;
|
|
482
|
+
width: 1024px;
|
|
483
|
+
transform-origin: 0 0;
|
|
484
|
+
}
|
|
485
|
+
`,Q([p({type:Boolean,reflect:!0})],S.prototype,"disabled",2),Q([f("disabled",{waitUntilFirstUpdate:!0})],S.prototype,"handleDisabledChange",1),Q([p({type:Boolean,reflect:!0})],S.prototype,"readonly",2),Q([f("readonly",{waitUntilFirstUpdate:!0})],S.prototype,"handleReadonlyChange",1),Q([p({type:Object,reflect:!0})],S.prototype,"responses",2),Q([f("responses",{waitUntilFirstUpdate:!0})],S.prototype,"handleResponsesChange",1),Q([_t()],S.prototype,"_item",2),customElements.define("qti-item",S);var vr=Object.defineProperty,gr=Object.getOwnPropertyDescriptor,K=(o,t,e,i)=>{for(var r=i>1?void 0:i?gr(t,e):t,a=o.length-1,s;a>=0;a--)(s=o[a])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&vr(t,e,r),r};n.QtiManualScoring=class extends E{constructor(){super(...arguments),this.disabled=!1,this.readonly=!1,this.logger=new he(this,Ot,t=>this.style.display=t.view==="scorer"?"block":"none",!0)}textChanged(t){if(this.disabled||this.readonly)return;const e=t.target;this.value=e.value,this.closest("qti-test").manualOutcomeValue=this.value}render(){return d.html`<input
|
|
486
|
+
part="input"
|
|
487
|
+
type="number"
|
|
488
|
+
spellcheck="false"
|
|
489
|
+
autocomplete="off"
|
|
490
|
+
@keyup=${this.textChanged}
|
|
491
|
+
@change=${this.textChanged}
|
|
492
|
+
placeholder="score"
|
|
493
|
+
min=${this.min}
|
|
494
|
+
max=${this.max}
|
|
495
|
+
.value=${this.value}
|
|
496
|
+
size="10"
|
|
497
|
+
?disabled=${this.disabled}
|
|
498
|
+
?readonly=${this.readonly}
|
|
499
|
+
/>`}},n.QtiManualScoring.styles=d.css`
|
|
500
|
+
:host {
|
|
501
|
+
display: none;
|
|
502
|
+
}
|
|
503
|
+
`,K([p({type:Boolean})],n.QtiManualScoring.prototype,"disabled",2),K([p({type:Boolean})],n.QtiManualScoring.prototype,"readonly",2),K([p({type:Number})],n.QtiManualScoring.prototype,"value",2),K([p({type:Number})],n.QtiManualScoring.prototype,"min",2),K([p({type:Number})],n.QtiManualScoring.prototype,"max",2),n.QtiManualScoring=K([I("qti-manual-scoring")],n.QtiManualScoring),n.BaseType=N,n.Cardinality=xt,n.Choices=C,n.DragDropInteractionMixin=X,n.DroppablesMixin=Oe,n.Events=q,n.FlippablesMixin=$e,n.NavigationMode=Me,n.OutcomeVariable=wt,n.QtiAnd=ut,n.QtiAssessmentItem=Wt,n.QtiAssociateInteraction=vt,n.QtiBaseValue=ht,n.QtiChoiceInteraction=G,n.QtiContains=pt,n.QtiCorrect=_e,n.QtiCustomOperatorLevenshtein=Gt,n.QtiCustomOperatorNumericOnly=Te,n.QtiCustomOperatorParseNumberLocalNl=Yt,n.QtiCustomOperatorRemoveAllSpaces=Ne,n.QtiCustomOperatorTrim=Pe,n.QtiExpression=w,n.QtiExtendedTextInteraction=R,n.QtiFeedbackInline=$t,n.QtiGap=Re,n.QtiGapMatchInteraction=Qt,n.QtiGapText=Ie,n.QtiGraphicAssociateInteraction=Ht,n.QtiGraphicGapMatchInteraction=jt,n.QtiGraphicOrderInteraction=Bt,n.QtiGte=mt,n.QtiHotspotChoice=gt,n.QtiHotspotInteraction=Ut,n.QtiHottextInteraction=qe,n.QtiInlineChoiceInteraction=Nt,n.QtiIsNull=bt,n.QtiItem=S,n.QtiMapResponse=ye,n.QtiMatch=ke,n.QtiMatchInteraction=zt,n.QtiMediaInteraction=Ft,n.QtiModalFeedback=me,n.QtiMultiple=Ce,n.QtiOr=qt,n.QtiOrderInteraction=yt,n.QtiOutcomeDeclaration=de,n.QtiPortableCustomInteraction=Ae,n.QtiPrompt=Zt,n.QtiResponseCondition=ge,n.QtiResponseDeclaration=it,n.QtiResponseElse=Mt,n.QtiResponseElseIf=fe,n.QtiResponseIf=Dt,n.QtiResponseProcessing=ve,n.QtiSelectPointInteraction=Vt,n.QtiSetOutcomeValue=we,n.QtiSliderInteraction=_,n.QtiStylesheet=Kt,n.QtiTextEntryInteraction=Rt,n.QtiVariable=Ee,n.ResponseVariable=L,n.Status=Le,n.SubmissionMode=De,n.TestEvents=T,n.TouchDragAndDrop=Y,n.qtiSimpleAssociableChoice=Se,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
|