@citolab/qti-components 9.0.0 → 9.1.0

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  qtiTestElements
3
- } from "./chunk-GBDTBHUQ.js";
3
+ } from "./chunk-QCPN7E6K.js";
4
4
 
5
5
  // ../qti-test/dist/register.js
6
6
  for (const { tag, ctor } of qtiTestElements) {
@@ -8,4 +8,4 @@ for (const { tag, ctor } of qtiTestElements) {
8
8
  customElements.define(tag, ctor);
9
9
  }
10
10
  }
11
- //# sourceMappingURL=chunk-DXEWBTJB.js.map
11
+ //# sourceMappingURL=chunk-XYQNTF5B.js.map
@@ -34,10 +34,10 @@ import {
34
34
  TestNavigationCorrection,
35
35
  TestShowCorrectResponse,
36
36
  correctionPart
37
- } from "./chunk-WTV7NQHO.js";
37
+ } from "./chunk-5SU3MP6Y.js";
38
38
  import {
39
39
  qtiTestElements
40
- } from "./chunk-GBDTBHUQ.js";
40
+ } from "./chunk-QCPN7E6K.js";
41
41
  import {
42
42
  qtiContentElements
43
43
  } from "./chunk-WKWCOV5P.js";
@@ -46,8 +46,8 @@ import {
46
46
  } from "./chunk-5BXJRO5O.js";
47
47
  import {
48
48
  qtiItemElements
49
- } from "./chunk-3MQNPN7A.js";
50
- import "./chunk-TLTYXWW7.js";
49
+ } from "./chunk-DAUU2NJL.js";
50
+ import "./chunk-XE7BALDO.js";
51
51
  import "./chunk-4DB4SC5K.js";
52
52
  import "./chunk-HDEG6BAZ.js";
53
53
  import {
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-DXEWBTJB.js";
1
+ import "./chunk-XYQNTF5B.js";
2
2
  import {
3
3
  CandidateCorrectionMixin,
4
4
  ChoiceCorrectionMixin,
@@ -35,7 +35,7 @@ import {
35
35
  TestNavigationCorrection,
36
36
  TestShowCorrectResponse,
37
37
  correctionPart
38
- } from "./chunk-WTV7NQHO.js";
38
+ } from "./chunk-5SU3MP6Y.js";
39
39
  import {
40
40
  QtiAssessmentItemRef,
41
41
  QtiAssessmentSection,
@@ -73,7 +73,7 @@ import {
73
73
  TestView,
74
74
  TestViewToggle,
75
75
  ttsContext
76
- } from "./chunk-GBDTBHUQ.js";
76
+ } from "./chunk-QCPN7E6K.js";
77
77
  import "./chunk-RT6WZ3P7.js";
78
78
  import {
79
79
  QtiAssessmentItem,
@@ -132,13 +132,13 @@ import {
132
132
  QtiUploadInteraction,
133
133
  qtiInteractionElements
134
134
  } from "./chunk-5BXJRO5O.js";
135
- import "./chunk-3NPCS4IT.js";
135
+ import "./chunk-LDY4C2OT.js";
136
136
  import {
137
137
  ItemContainer,
138
138
  ItemPrintVariables,
139
139
  QtiItem
140
- } from "./chunk-3MQNPN7A.js";
141
- import "./chunk-TLTYXWW7.js";
140
+ } from "./chunk-DAUU2NJL.js";
141
+ import "./chunk-XE7BALDO.js";
142
142
  import "./chunk-4DB4SC5K.js";
143
143
  import {
144
144
  getItemByUri,
package/dist/item.js CHANGED
@@ -1,10 +1,10 @@
1
- import "./chunk-3NPCS4IT.js";
1
+ import "./chunk-LDY4C2OT.js";
2
2
  import {
3
3
  ItemContainer,
4
4
  ItemPrintVariables,
5
5
  QtiItem
6
- } from "./chunk-3MQNPN7A.js";
7
- import "./chunk-TLTYXWW7.js";
6
+ } from "./chunk-DAUU2NJL.js";
7
+ import "./chunk-XE7BALDO.js";
8
8
  import "./chunk-4DB4SC5K.js";
9
9
  import "./chunk-HDEG6BAZ.js";
10
10
  import "./chunk-WCWJPIUQ.js";
package/dist/test.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-DXEWBTJB.js";
1
+ import "./chunk-XYQNTF5B.js";
2
2
  import {
3
3
  QtiAssessmentItemRef,
4
4
  QtiAssessmentSection,
@@ -36,9 +36,9 @@ import {
36
36
  TestView,
37
37
  TestViewToggle,
38
38
  ttsContext
39
- } from "./chunk-GBDTBHUQ.js";
39
+ } from "./chunk-QCPN7E6K.js";
40
40
  import "./chunk-WKWCOV5P.js";
41
- import "./chunk-TLTYXWW7.js";
41
+ import "./chunk-XE7BALDO.js";
42
42
  import "./chunk-4DB4SC5K.js";
43
43
  import "./chunk-HDEG6BAZ.js";
44
44
  import "./chunk-WCWJPIUQ.js";
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@citolab/qti-components",
3
3
  "description": "QTI component utilities",
4
- "version": "9.0.0",
4
+ "version": "9.1.0",
5
5
  "author": "",
6
6
  "dependencies": {
7
7
  "@heximal/templates": "^0.1.5",
8
8
  "@lit/context": "^1.1.6",
9
- "lit": "^3.3.3"
9
+ "lit": "^3.3.1"
10
10
  },
11
11
  "devDependencies": {
12
12
  "@qti-components/base": "^2.2.0",
13
13
  "@qti-components/corrections": "^0.3.0",
14
14
  "@qti-components/elements": "^1.7.0",
15
15
  "@qti-components/interactions": "^1.10.4",
16
- "@qti-components/item": "^1.4.3",
16
+ "@qti-components/item": "^1.4.4",
17
17
  "@qti-components/loader": "^1.3.3",
18
18
  "@qti-components/processing": "^1.5.0",
19
- "@qti-components/test": "^1.6.1",
20
- "@qti-components/theme": "^2.1.0",
19
+ "@qti-components/test": "^1.6.2",
20
+ "@qti-components/theme": "^2.2.0",
21
21
  "@qti-components/transformers": "^1.7.2"
22
22
  },
23
23
  "exports": {
@@ -92,7 +92,7 @@
92
92
  "scripts": {
93
93
  "-": "---build---",
94
94
  "attw": "attw --pack --profile esm-only --format table",
95
- "build": "run-s cem:react-types cem:react-types:patch-ref build:bundle",
95
+ "build": "pnpm run clean && run-s cem:react-types cem:react-types:patch-ref build:bundle",
96
96
  "build:bundle": "run-p tsup css",
97
97
  "cem:react-types": "CEM_OUTDIR=packages/qti-components/ pnpm -C ../.. run cem:core && node -e \"require('fs').writeFileSync('dist/qti-components-jsx.js','export {};\\n')\"",
98
98
  "cem:react-types:patch-ref": "node ../../tools/build/patch-jsx-react-ref.mjs dist/qti-components-jsx.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../qti-item/src/components/item-container/item-container.ts","../../qti-item/src/components/item-print-variables/item-print-variables.ts","../../qti-item/src/components/qti-item/qti-item.ts","../../qti-item/src/elements.ts"],"sourcesContent":["import { consume } from '@lit/context';\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { until } from 'lit/directives/until.js';\n\nimport { qtiContext } from '@qti-components/base';\nimport { watch } from '@qti-components/utilities';\nimport { qtiTransformItem } from '@qti-components/transformers';\n\n// eslint-disable-next-line import/no-relative-packages\nimport itemCss from '../../../../qti-theme/src/item.css?inline';\n\nimport type { QtiContext } from '@qti-components/base';\n\n/**\n * `<item-container>` is a custom element designed for hosting the qti-assessment-item.\n * The `qti-assessment-item` will be placed inside the shadow DOM of this element.\n * The element loads the item from the provided URL and renders it inside the shadow DOM.\n *\n * ### Styling\n * Add a class to the element for styling.\n *\n * ```html\n * <qti-item>\n * <item-container class=\"m-4 bg-white\" item-url=\"./path/to/item.xml\"></item-container>\n * </qti-item>\n * ```\n */\n\nexport class ItemContainer extends LitElement {\n /** Scoped registry used by the item shadow root. Must be set before connection. */\n @property({ attribute: false })\n customElementRegistry: CustomElementRegistry | null = null;\n\n /** URL of the item to load */\n @property({ type: String, attribute: 'item-url' })\n itemURL: string | null = null;\n\n /** A parsed HTML document */\n @state()\n itemDoc: DocumentFragment | null = null;\n\n /** The raw XML string */\n @state()\n itemXML: string | null = null;\n\n @state()\n @consume({ context: qtiContext, subscribe: true })\n protected qtiContext: QtiContext = {\n QTI_CONTEXT: { testIdentifier: '', candidateIdentifier: '', environmentIdentifier: 'default' }\n };\n\n /** Template content if provided */\n #templateContent: unknown = null;\n #resolvedCustomElementRegistry: CustomElementRegistry | null = null;\n\n protected override createRenderRoot(): HTMLElement | DocumentFragment {\n const registry = this.customElementRegistry;\n\n this.#resolvedCustomElementRegistry = registry;\n\n return (\n this.shadowRoot ??\n this.attachShadow({\n ...(this.constructor as typeof ItemContainer).shadowRootOptions,\n ...(registry ? { customElementRegistry: registry } : {})\n })\n );\n }\n\n @watch('itemURL', { waitUntilFirstUpdate: true })\n protected async handleItemURLChange() {\n if (!this.itemURL) return;\n try {\n const explicitSeed = this.qtiContext?.QTI_CONTEXT?.seed;\n const api = (await qtiTransformItem().load(this.itemURL)).shuffleInteractions(explicitSeed);\n this.itemDoc = api.htmlDoc(this.#resolvedCustomElementRegistry ?? undefined);\n } catch (error) {\n console.error('Error loading or parsing XML:', error);\n }\n }\n\n @watch('itemXML', { waitUntilFirstUpdate: true })\n protected handleItemXMLChange() {\n if (!this.itemXML) return;\n try {\n this.itemDoc = qtiTransformItem()\n .parse(this.itemXML)\n .htmlDoc(this.#resolvedCustomElementRegistry ?? undefined);\n } catch (error) {\n console.error('Error parsing XML:', error);\n }\n }\n\n override async connectedCallback(): Promise<void> {\n super.connectedCallback();\n this.#initializeTemplateContent();\n this.#applyStyles();\n if (this.itemURL) {\n this.handleItemURLChange();\n }\n if (this.itemXML) {\n this.handleItemXMLChange();\n }\n }\n\n #initializeTemplateContent() {\n const template = this.querySelector('template') as HTMLTemplateElement;\n this.#templateContent = template ? template.content : html``;\n }\n\n #applyStyles() {\n const sheet = new CSSStyleSheet();\n sheet.replaceSync(itemCss);\n this.shadowRoot.adoptedStyleSheets = [sheet];\n }\n\n override render() {\n return html`\n ${this.#templateContent}\n <slot></slot>\n ${until(this.itemDoc, html`<span>Loading...</span>`)}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'item-container': ItemContainer;\n }\n}\n","import { consume } from '@lit/context';\nimport { css, html, LitElement } from 'lit';\n\nimport { computedItemContext } from '@qti-components/base';\n\nimport type { ResponseVariable } from '@qti-components/base';\nimport type { ComputedItemContext } from '@qti-components/base';\n\nexport class ItemPrintVariables extends LitElement {\n @consume({ context: computedItemContext, subscribe: true })\n protected computedContext?: ComputedItemContext;\n\n static override styles = css`\n table {\n width: 100%;\n border-collapse: collapse;\n margin: 20px 0;\n font-size: 14px;\n text-align: left;\n }\n th,\n td {\n border: 1px solid #ddd;\n padding: 8px;\n }\n th {\n background-color: #f4f4f4;\n font-weight: bold;\n }\n h3 {\n margin-top: 20px;\n font-size: 16px;\n }\n `;\n\n override render() {\n const activeItem = this.computedContext;\n\n if (!activeItem || !activeItem.variables) return html``;\n\n const responseVariables: ResponseVariable[] = activeItem.variables.filter(v => v.type === 'response');\n const outcomeVariables = activeItem.variables.filter(v => v.type === 'outcome');\n\n const renderTable = (variables: ResponseVariable[], title: string) => html`\n <h3>${title}</h3>\n <table>\n <thead>\n <tr>\n <th>Identifier</th>\n <th>Value</th>\n <th>Cardinality</th>\n <th>Base Type</th>\n <th>Correct Response / Mappings</th>\n </tr>\n </thead>\n <tbody>\n ${variables.map(v => {\n const correctResponse = v.correctResponse\n ? Array.isArray(v.correctResponse)\n ? v.correctResponse.join(', ')\n : v.correctResponse\n : '';\n\n const mapEntries = v.mapping?.mapEntries?.map(m => `${m.mapKey}=${m.mappedValue}pt`).join(', ') || '';\n\n const areaMapEntries =\n v.areaMapping?.areaMapEntries?.map(m => `${m.shape}(${m.coords})=${m.mappedValue}pt`).join(', ') || '';\n\n return html`\n <tr>\n <td>${v.identifier}</td>\n <td>${Array.isArray(v.value) ? v.value.join(', ') : v.value}</td>\n <td>${v.cardinality}</td>\n <td>${v.baseType}</td>\n <td>${correctResponse || mapEntries || areaMapEntries}</td>\n </tr>\n `;\n })}\n </tbody>\n </table>\n `;\n\n return html`\n ${renderTable(responseVariables, 'Response Variables')} ${renderTable(outcomeVariables, 'Outcome Variables')}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'item-print-variables': ItemPrintVariables;\n }\n}\n","import { provide } from '@lit/context';\nimport { html, LitElement } from 'lit';\nimport { state } from 'lit/decorators.js';\n\nimport { computedItemContext } from '@qti-components/base';\nimport { configContext } from '@qti-components/base';\nimport { qtiContext } from '@qti-components/base';\n\nimport type { QtiAssessmentItem } from '@qti-components/elements';\nimport type { ConfigContext } from '@qti-components/base';\nimport type { QtiContext } from '@qti-components/base';\nimport type { ItemContext } from '@qti-components/base';\nimport type { VariableDeclaration } from '@qti-components/base';\nimport type { ComputedItemContext } from '@qti-components/base';\n\n/**\n * `<qti-item>` is a custom element designed for rendering a single `qti-assessment-item`.\n * It can also host some functionalities to interact with the item like scoring, showing feedback, etc.\n * Placing a mandatory `<item-container>` inside '<qti-item>' will load or parse the item and render it.\n * See `<item-container>` for more details.\n *\n * ```html\n * <qti-item>\n * <item-container class=\"m-4 bg-white\" item-url=\"./path/to/item.xml\"></item-container>\n * </qti-item>\n * ```\n */\n\nexport class QtiItem extends LitElement {\n @state()\n @provide({ context: computedItemContext })\n public computedContext: ComputedItemContext;\n protected assessmentItem?: QtiAssessmentItem;\n\n @state()\n @provide({ context: configContext })\n public configContext: ConfigContext = {};\n\n /**\n * Provided so that descendants (e.g. `<item-container>`) can read the QTI runtime\n * context for standalone item delivery, including the optional shuffle `seed`.\n */\n @state()\n @provide({ context: qtiContext })\n public qtiContext: QtiContext = {\n QTI_CONTEXT: {\n testIdentifier: '',\n candidateIdentifier: '',\n environmentIdentifier: 'default'\n }\n };\n\n // Store event handlers as instance properties\n #onItemContextChanged = this.#handleItemContextChanged.bind(this);\n #onAssessmentItemConnected = this.#handleAssessmentItemConnected.bind(this);\n\n constructor() {\n super();\n this.addEventListener('qti-item-context-updated', this.#onItemContextChanged);\n this.addEventListener('qti-assessment-item-connected', this.#onAssessmentItemConnected);\n }\n\n #handleItemContextChanged(e: CustomEvent<{ itemContext: ItemContext }>) {\n this.#updateItemVariablesInTestContext(e.detail.itemContext.identifier, e.detail?.itemContext?.variables || []);\n }\n\n #handleAssessmentItemConnected(e: CustomEvent<QtiAssessmentItem>) {\n const fullVariables = (e.detail as any)._context.variables;\n this.assessmentItem = e.detail;\n this.computedContext =\n this.computedContext?.identifier === this.assessmentItem.identifier\n ? { ...this.computedContext, title: this.assessmentItem.title }\n : ({\n identifier: this.assessmentItem.identifier,\n title: this.assessmentItem.title,\n adaptive: this.assessmentItem.getAttribute('adaptive')?.toLowerCase() === 'true' || false,\n variables: fullVariables\n } as ComputedItemContext);\n this.#updateItemVariablesInTestContext(this.assessmentItem.identifier, fullVariables || []);\n }\n\n #updateItemVariablesInTestContext(\n identifier: string,\n variables: readonly VariableDeclaration<string | string[] | null>[]\n ): void {\n const rawscore = variables?.find(vr => vr.identifier == 'SCORE')?.value;\n const score = parseFloat(rawscore?.toString());\n const completionStatus = variables?.find(v => v.identifier === 'completionStatus')?.value;\n\n const correct = score !== undefined && !isNaN(score) && score > 0;\n const incorrect = score !== undefined && !isNaN(score) && score <= 0;\n const completed = completionStatus === 'completed';\n this.computedContext = {\n ...this.computedContext,\n identifier,\n correct,\n incorrect,\n completed,\n variables\n };\n }\n\n override render() {\n return html`<slot></slot>`;\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('qti-item-context-changed', this.#onItemContextChanged);\n this.removeEventListener('qti-assessment-item-connected', this.#onAssessmentItemConnected);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'qti-item': QtiItem;\n }\n}\n","import { ItemContainer } from './components/item-container/item-container';\nimport { ItemPrintVariables } from './components/item-print-variables/item-print-variables';\nimport { QtiItem } from './components/qti-item/qti-item';\n\nexport { ItemContainer, ItemPrintVariables, QtiItem };\n\nexport const qtiItemElements = [\n { tag: 'item-container', ctor: ItemContainer },\n { tag: 'item-print-variables', ctor: ItemPrintVariables },\n { tag: 'qti-item', ctor: QtiItem }\n] as const;\n"],"mappings":"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","names":["consume","html","LitElement","LitElement","html","__decorate","consume","html","LitElement","state","LitElement","html","__decorate","state"]}