@citolab/qti-components 7.14.0 → 7.14.2
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/cdn/index.global.js +1 -1
- package/cdn/index.js +2 -2
- package/custom-elements.json +10 -4
- package/dist/chunks/{chunk-SJGUMIKK.js → chunk-2X2C5WI5.js} +17 -17
- package/dist/chunks/{chunk-CNLDFJAA.js → chunk-7567ZPN6.js} +2 -2
- package/dist/chunks/{chunk-LJ4KAG72.js → chunk-XBPO6E25.js} +2 -2
- package/dist/chunks/chunk-XBPO6E25.js.map +1 -0
- package/dist/chunks/{chunk-XD7DR5YG.js → chunk-Z2FFXTKX.js} +14 -14
- package/dist/chunks/{chunk-XD7DR5YG.js.map → chunk-Z2FFXTKX.js.map} +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +19 -19
- package/dist/index.js.map +1 -1
- package/dist/qti-components/index.js +8 -8
- package/dist/qti-components-jsx.d.ts +42 -42
- package/dist/qti-item/index.js +2 -2
- package/dist/qti-loader/index.js +1 -1
- package/dist/qti-test/index.d.ts +2 -3
- package/dist/qti-test/index.js +7 -7
- package/dist/qti-transformers/index.js +1 -1
- package/dist/vscode.html-custom-data.json +13 -13
- package/package.json +1 -1
- package/dist/chunks/chunk-LJ4KAG72.js.map +0 -1
- /package/dist/chunks/{chunk-SJGUMIKK.js.map → chunk-2X2C5WI5.js.map} +0 -0
- /package/dist/chunks/{chunk-CNLDFJAA.js.map → chunk-7567ZPN6.js.map} +0 -0
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ItemContainer,
|
|
3
|
+
ItemShowCorrectResponse,
|
|
4
|
+
PrintItemVariables,
|
|
5
|
+
QtiItem
|
|
6
|
+
} from "./chunks/chunk-7567ZPN6.js";
|
|
1
7
|
import {
|
|
2
8
|
QtiAnd,
|
|
3
9
|
QtiAssessmentItem,
|
|
@@ -96,13 +102,11 @@ import {
|
|
|
96
102
|
QtiVariable,
|
|
97
103
|
qtiAndMixin,
|
|
98
104
|
qtiSubtractMixin
|
|
99
|
-
} from "./chunks/chunk-
|
|
100
|
-
import
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
QtiItem
|
|
105
|
-
} from "./chunks/chunk-CNLDFJAA.js";
|
|
105
|
+
} from "./chunks/chunk-2X2C5WI5.js";
|
|
106
|
+
import "./chunks/chunk-P4QBOVQ2.js";
|
|
107
|
+
import "./chunks/chunk-JQ6HWGRY.js";
|
|
108
|
+
import "./chunks/chunk-SV4K25ZI.js";
|
|
109
|
+
import "./chunks/chunk-GAAFN7QF.js";
|
|
106
110
|
import {
|
|
107
111
|
QtiAssessmentItemRef,
|
|
108
112
|
QtiAssessmentSection,
|
|
@@ -128,27 +132,23 @@ import {
|
|
|
128
132
|
TestStamp,
|
|
129
133
|
TestView,
|
|
130
134
|
TestViewToggle
|
|
131
|
-
} from "./chunks/chunk-
|
|
135
|
+
} from "./chunks/chunk-Z2FFXTKX.js";
|
|
136
|
+
import "./chunks/chunk-C5RLRG3L.js";
|
|
137
|
+
import "./chunks/chunk-PT5ASWGQ.js";
|
|
132
138
|
import {
|
|
133
139
|
QtiModalFeedback
|
|
134
140
|
} from "./chunks/chunk-YD7FVKDP.js";
|
|
135
|
-
import "./chunks/chunk-PT5ASWGQ.js";
|
|
136
|
-
import "./chunks/chunk-ELDMXTUQ.js";
|
|
137
|
-
import "./chunks/chunk-LJ4KAG72.js";
|
|
138
|
-
import "./chunks/chunk-SV4K25ZI.js";
|
|
139
|
-
import "./chunks/chunk-GAAFN7QF.js";
|
|
140
|
-
import "./chunks/chunk-H6KHXSIO.js";
|
|
141
|
-
import "./chunks/chunk-C5RLRG3L.js";
|
|
142
141
|
import {
|
|
143
142
|
INITIAL_TEST_CONTEXT,
|
|
144
143
|
testContext
|
|
145
144
|
} from "./chunks/chunk-CJADUWEC.js";
|
|
145
|
+
import "./chunks/chunk-H6KHXSIO.js";
|
|
146
|
+
import "./chunks/chunk-NJNQOQUU.js";
|
|
147
|
+
import "./chunks/chunk-ELDMXTUQ.js";
|
|
148
|
+
import "./chunks/chunk-XBPO6E25.js";
|
|
146
149
|
import "./chunks/chunk-4OGJBG35.js";
|
|
147
150
|
import "./chunks/chunk-DVQQ7I6Y.js";
|
|
148
|
-
import "./chunks/chunk-P4QBOVQ2.js";
|
|
149
|
-
import "./chunks/chunk-NJNQOQUU.js";
|
|
150
151
|
import "./chunks/chunk-BHJSX3Q6.js";
|
|
151
|
-
import "./chunks/chunk-JQ6HWGRY.js";
|
|
152
152
|
import "./chunks/chunk-H2JE6IVU.js";
|
|
153
153
|
|
|
154
154
|
// package.json
|
|
@@ -175,7 +175,7 @@ var package_default = {
|
|
|
175
175
|
engines: {
|
|
176
176
|
node: ">=22.0.0"
|
|
177
177
|
},
|
|
178
|
-
version: "7.14.
|
|
178
|
+
version: "7.14.2",
|
|
179
179
|
type: "module",
|
|
180
180
|
main: "./dist/index.js",
|
|
181
181
|
types: "./dist/index.d.ts",
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/lib/index.ts"],"sourcesContent":["{\n \"name\": \"@citolab/qti-components\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Citolab/qti-components.git\"\n },\n \"description\": \"QTI webcomponents\",\n \"author\": {\n \"name\": \"Patrick de Klein\"\n },\n \"contributors\": [\n {\n \"name\": \"Sander Looise\"\n },\n {\n \"name\": \"Marcel Hoekstra\"\n }\n ],\n \"license\": \"GPLv3\",\n \"private\": false,\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"version\": \"7.14.0\",\n \"type\": \"module\",\n \"main\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"sideEffects\": true,\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\"\n },\n \"./exports/*\": {\n \"import\": \"./dist/exports/*\"\n },\n \"./qti-components\": {\n \"types\": \"./dist/qti-components/index.d.ts\",\n \"import\": \"./dist/qti-components/index.js\"\n },\n \"./qti-item\": {\n \"types\": \"./dist/qti-item/index.d.ts\",\n \"import\": \"./dist/qti-item/index.js\"\n },\n \"./qti-test\": {\n \"types\": \"./dist/qti-test/index.d.ts\",\n \"import\": \"./dist/qti-test/index.js\"\n },\n \"./qti-loader\": {\n \"types\": \"./dist/qti-loader/index.d.ts\",\n \"import\": \"./dist/qti-loader/index.js\"\n },\n \"./qti-transformers\": {\n \"types\": \"./dist/qti-transformers/index.d.ts\",\n \"import\": \"./dist/qti-transformers/index.js\"\n },\n \"./customElements\": \"./custom-elements.json\",\n \"./react\": \"./dist/qti-components-jsx.d.ts\",\n \"./item.css\": \"./dist/item.css\",\n \"./cdn/*\": \"./cdn/*\",\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"dist\",\n \"cdn\",\n \"custom-elements.json\"\n ],\n \"scripts\": {\n \"storybook\": \"run-p storybook:dev cem:watch\",\n \"watch\": \"nodemon --watch src --ext ts,css --exec \\\"run-s tsup cem css && yalc push\\\"\",\n \"-----------------------cmds--\": \"-\",\n \"pre-commit\": \"run-s lint stylelint madge\",\n \"commit-msg\": \"commitlint --edit\",\n \"build-storybook\": \"npm run cem && storybook build\",\n \"-----------------------scripts--\": \"-\",\n \"build\": \"run-p cem css tsup\",\n \"storybook:dev\": \"storybook dev -p 6006\",\n \"cem\": \"cem analyze\",\n \"cem:watch\": \"cem analyze --watch\",\n \"css\": \"postcss src/item.css -d dist -m\",\n \"ci\": \"npm ci\",\n \"tsup\": \"tsup\",\n \"publint\": \"publint\",\n \"lint\": \"eslint src/**/*.ts\",\n \"stylelint\": \"stylelint \\\"src/**/*.css\\\"\",\n \"test\": \"vitest run\",\n \"attw\": \"attw --profile esm-only --pack --exclude-entrypoints ./item.css ./react\",\n \"chromatic\": \"node chromatic-runner.cjs\",\n \"clean\": \"rm -rf dist cdn\",\n \"madge\": \"madge --circular --extensions ts src\",\n \"commitlint\": \"commitlint --edit\",\n \"-----------------------npm--\": \"-\",\n \"prepare\": \"husky\"\n },\n \"peerDependencies\": {\n \"@heximal/templates\": \"^0.1.5\",\n \"@lit/context\": \"^1.1.3\",\n \"lit\": \"^3.2.1\"\n },\n \"devDependencies\": {\n \"@arethetypeswrong/cli\": \"^0.18.2\",\n \"@chromatic-com/storybook\": \"^4.1.1\",\n \"@commitlint/cli\": \"^19.8.1\",\n \"@commitlint/config-conventional\": \"^19.8.1\",\n \"@custom-elements-manifest/analyzer\": \"^0.10.4\",\n \"@eslint/js\": \"^9.29.0\",\n \"@heximal/templates\": \"0.1.5\",\n \"@lit/context\": \"^1.1.5\",\n \"@open-wc/lit-helpers\": \"^0.7.0\",\n \"@storybook/addon-a11y\": \"^9.1.5\",\n \"@storybook/addon-docs\": \"^9.1.5\",\n \"@storybook/addon-links\": \"^9.1.5\",\n \"@storybook/addon-themes\": \"^9.1.5\",\n \"@storybook/addon-vitest\": \"^9.1.5\",\n \"@storybook/web-components-vite\": \"^9.1.5\",\n \"@swc/core\": \"^1.12.1\",\n \"@testing-library/dom\": \"^10.4.0\",\n \"@types/dom-view-transitions\": \"^1.0.6\",\n \"@types/node\": \"^24.0.3\",\n \"@vitest/browser\": \"^3.2.4\",\n \"@vitest/coverage-v8\": \"^3.2.4\",\n \"@vitest/ui\": \"^3.2.4\",\n \"@wc-toolkit/cem-inheritance\": \"^1.1.0\",\n \"@wc-toolkit/cem-sorter\": \"^1.0.1\",\n \"@wc-toolkit/cem-utilities\": \"^1.3.0\",\n \"@wc-toolkit/changelog\": \"^1.0.1\",\n \"@wc-toolkit/jsx-types\": \"^1.2.2\",\n \"@wc-toolkit/storybook-helpers\": \"^9.0.0\",\n \"@wc-toolkit/type-parser\": \"^1.1.0\",\n \"autoprefixer\": \"^10.4.21\",\n \"chromatic\": \"^13.0.0\",\n \"custom-element-vs-code-integration\": \"^1.5.0\",\n \"custom-elements-manifest-deprecator\": \"^1.2.0\",\n \"dotenv\": \"^16.5.0\",\n \"eslint\": \"^9.29.0\",\n \"eslint-import-resolver-typescript\": \"^4.4.3\",\n \"eslint-plugin-import\": \"^2.31.0\",\n \"eslint-plugin-lit\": \"^2.1.1\",\n \"eslint-plugin-lit-a11y\": \"^5.0.1\",\n \"eslint-plugin-react\": \"^7.37.5\",\n \"eslint-plugin-sort-imports-es6-autofix\": \"^0.6.0\",\n \"eslint-plugin-storybook\": \"^9.1.5\",\n \"eslint-plugin-wc\": \"^3.0.1\",\n \"fast-xml-parser\": \"^5.2.5\",\n \"globals\": \"^16.2.0\",\n \"globby\": \"^14.1.0\",\n \"husky\": \"^9.1.7\",\n \"lit\": \"^3.3.0\",\n \"madge\": \"^8.0.0\",\n \"mdx-mermaid\": \"^2.0.3\",\n \"mermaid\": \"^11.12.0\",\n \"msw\": \"^2.11.5\",\n \"msw-storybook-addon\": \"^2.0.5\",\n \"nodemon\": \"^3.1.10\",\n \"npm-run-all\": \"^4.1.5\",\n \"path-browserify\": \"^1.0.1\",\n \"pkg-pr-new\": \"^0.0.51\",\n \"playwright\": \"^1.53.0\",\n \"postcss\": \"^8.5.6\",\n \"postcss-class-apply\": \"^4.0.1\",\n \"postcss-cli\": \"^11.0.1\",\n \"postcss-import\": \"^16.1.1\",\n \"postcss-nesting\": \"^13.0.2\",\n \"prettier\": \"3.5.3\",\n \"prettier-v2\": \"npm:prettier@2.8.8\",\n \"publint\": \"^0.3.12\",\n \"remark-gfm\": \"^4.0.1\",\n \"shadow-dom-testing-library\": \"^1.12.0\",\n \"storybook\": \"^9.1.5\",\n \"storybook-addon-tag-badges\": \"^2.0.1\",\n \"stylelint\": \"^16.20.0\",\n \"stylelint-config-standard\": \"^38.0.0\",\n \"stylelint-prettier\": \"^5.0.3\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.8.3\",\n \"typescript-eslint\": \"^8.34.1\",\n \"vite\": \"^6.3.5\",\n \"vite-tsconfig-paths\": \"^5.1.4\",\n \"vitest\": \"^3.2.4\",\n \"yalc\": \"^1.0.0-pre.53\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-linux-x64-gnu\": \"^4.43.0\"\n },\n \"customElements\": \"custom-elements.json\",\n \"bugs\": {\n \"url\": \"https://github.com/Citolab/qti-components/issues\"\n },\n \"homepage\": \"https://github.com/Citolab/qti-components#readme\",\n \"overrides\": {\n \"storybook\": \"$storybook\"\n },\n \"msw\": {\n \"workerDirectory\": [\n \"public\"\n ]\n }\n}\n","export * from './qti-components';\nexport * from './qti-test';\nexport * from './qti-item';\n\n// Import version from package.json\nimport packageJson from '../../package.json' assert { type: 'json' };\n\nconsole.info(\n '%cC¿TO%cLab%c: qti-components v%c%s%c loaded',\n 'font-family: \"PT Sans\", font-weight:bold; color:green; font-size: smaller;vertical-align: sub',\n 'font-weight:bold; color:green',\n 'font-weight:unset',\n 'font-weight:bold; color:#2563eb',\n packageJson.version,\n 'font-weight:unset'\n);\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/lib/index.ts"],"sourcesContent":["{\n \"name\": \"@citolab/qti-components\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Citolab/qti-components.git\"\n },\n \"description\": \"QTI webcomponents\",\n \"author\": {\n \"name\": \"Patrick de Klein\"\n },\n \"contributors\": [\n {\n \"name\": \"Sander Looise\"\n },\n {\n \"name\": \"Marcel Hoekstra\"\n }\n ],\n \"license\": \"GPLv3\",\n \"private\": false,\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"version\": \"7.14.2\",\n \"type\": \"module\",\n \"main\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"sideEffects\": true,\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\"\n },\n \"./exports/*\": {\n \"import\": \"./dist/exports/*\"\n },\n \"./qti-components\": {\n \"types\": \"./dist/qti-components/index.d.ts\",\n \"import\": \"./dist/qti-components/index.js\"\n },\n \"./qti-item\": {\n \"types\": \"./dist/qti-item/index.d.ts\",\n \"import\": \"./dist/qti-item/index.js\"\n },\n \"./qti-test\": {\n \"types\": \"./dist/qti-test/index.d.ts\",\n \"import\": \"./dist/qti-test/index.js\"\n },\n \"./qti-loader\": {\n \"types\": \"./dist/qti-loader/index.d.ts\",\n \"import\": \"./dist/qti-loader/index.js\"\n },\n \"./qti-transformers\": {\n \"types\": \"./dist/qti-transformers/index.d.ts\",\n \"import\": \"./dist/qti-transformers/index.js\"\n },\n \"./customElements\": \"./custom-elements.json\",\n \"./react\": \"./dist/qti-components-jsx.d.ts\",\n \"./item.css\": \"./dist/item.css\",\n \"./cdn/*\": \"./cdn/*\",\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"dist\",\n \"cdn\",\n \"custom-elements.json\"\n ],\n \"scripts\": {\n \"storybook\": \"run-p storybook:dev cem:watch\",\n \"watch\": \"nodemon --watch src --ext ts,css --exec \\\"run-s tsup cem css && yalc push\\\"\",\n \"-----------------------cmds--\": \"-\",\n \"pre-commit\": \"run-s lint stylelint madge\",\n \"commit-msg\": \"commitlint --edit\",\n \"build-storybook\": \"npm run cem && storybook build\",\n \"-----------------------scripts--\": \"-\",\n \"build\": \"run-p cem css tsup\",\n \"storybook:dev\": \"storybook dev -p 6006\",\n \"cem\": \"cem analyze\",\n \"cem:watch\": \"cem analyze --watch\",\n \"css\": \"postcss src/item.css -d dist -m\",\n \"ci\": \"npm ci\",\n \"tsup\": \"tsup\",\n \"publint\": \"publint\",\n \"lint\": \"eslint src/**/*.ts\",\n \"stylelint\": \"stylelint \\\"src/**/*.css\\\"\",\n \"test\": \"vitest run\",\n \"attw\": \"attw --profile esm-only --pack --exclude-entrypoints ./item.css ./react\",\n \"chromatic\": \"node chromatic-runner.cjs\",\n \"clean\": \"rm -rf dist cdn\",\n \"madge\": \"madge --circular --extensions ts src\",\n \"commitlint\": \"commitlint --edit\",\n \"-----------------------npm--\": \"-\",\n \"prepare\": \"husky\"\n },\n \"peerDependencies\": {\n \"@heximal/templates\": \"^0.1.5\",\n \"@lit/context\": \"^1.1.3\",\n \"lit\": \"^3.2.1\"\n },\n \"devDependencies\": {\n \"@arethetypeswrong/cli\": \"^0.18.2\",\n \"@chromatic-com/storybook\": \"^4.1.1\",\n \"@commitlint/cli\": \"^19.8.1\",\n \"@commitlint/config-conventional\": \"^19.8.1\",\n \"@custom-elements-manifest/analyzer\": \"^0.10.4\",\n \"@eslint/js\": \"^9.29.0\",\n \"@heximal/templates\": \"0.1.5\",\n \"@lit/context\": \"^1.1.5\",\n \"@open-wc/lit-helpers\": \"^0.7.0\",\n \"@storybook/addon-a11y\": \"^9.1.5\",\n \"@storybook/addon-docs\": \"^9.1.5\",\n \"@storybook/addon-links\": \"^9.1.5\",\n \"@storybook/addon-themes\": \"^9.1.5\",\n \"@storybook/addon-vitest\": \"^9.1.5\",\n \"@storybook/web-components-vite\": \"^9.1.5\",\n \"@swc/core\": \"^1.12.1\",\n \"@testing-library/dom\": \"^10.4.0\",\n \"@types/dom-view-transitions\": \"^1.0.6\",\n \"@types/node\": \"^24.0.3\",\n \"@vitest/browser\": \"^3.2.4\",\n \"@vitest/coverage-v8\": \"^3.2.4\",\n \"@vitest/ui\": \"^3.2.4\",\n \"@wc-toolkit/cem-inheritance\": \"^1.1.0\",\n \"@wc-toolkit/cem-sorter\": \"^1.0.1\",\n \"@wc-toolkit/cem-utilities\": \"^1.3.0\",\n \"@wc-toolkit/changelog\": \"^1.0.1\",\n \"@wc-toolkit/jsx-types\": \"^1.2.2\",\n \"@wc-toolkit/storybook-helpers\": \"^9.0.0\",\n \"@wc-toolkit/type-parser\": \"^1.1.0\",\n \"autoprefixer\": \"^10.4.21\",\n \"chromatic\": \"^13.0.0\",\n \"custom-element-vs-code-integration\": \"^1.5.0\",\n \"custom-elements-manifest-deprecator\": \"^1.2.0\",\n \"dotenv\": \"^16.5.0\",\n \"eslint\": \"^9.29.0\",\n \"eslint-import-resolver-typescript\": \"^4.4.3\",\n \"eslint-plugin-import\": \"^2.31.0\",\n \"eslint-plugin-lit\": \"^2.1.1\",\n \"eslint-plugin-lit-a11y\": \"^5.0.1\",\n \"eslint-plugin-react\": \"^7.37.5\",\n \"eslint-plugin-sort-imports-es6-autofix\": \"^0.6.0\",\n \"eslint-plugin-storybook\": \"^9.1.5\",\n \"eslint-plugin-wc\": \"^3.0.1\",\n \"fast-xml-parser\": \"^5.2.5\",\n \"globals\": \"^16.2.0\",\n \"globby\": \"^14.1.0\",\n \"husky\": \"^9.1.7\",\n \"lit\": \"^3.3.0\",\n \"madge\": \"^8.0.0\",\n \"mdx-mermaid\": \"^2.0.3\",\n \"mermaid\": \"^11.12.0\",\n \"msw\": \"^2.11.5\",\n \"msw-storybook-addon\": \"^2.0.5\",\n \"nodemon\": \"^3.1.10\",\n \"npm-run-all\": \"^4.1.5\",\n \"path-browserify\": \"^1.0.1\",\n \"pkg-pr-new\": \"^0.0.51\",\n \"playwright\": \"^1.53.0\",\n \"postcss\": \"^8.5.6\",\n \"postcss-class-apply\": \"^4.0.1\",\n \"postcss-cli\": \"^11.0.1\",\n \"postcss-import\": \"^16.1.1\",\n \"postcss-nesting\": \"^13.0.2\",\n \"prettier\": \"3.5.3\",\n \"prettier-v2\": \"npm:prettier@2.8.8\",\n \"publint\": \"^0.3.12\",\n \"remark-gfm\": \"^4.0.1\",\n \"shadow-dom-testing-library\": \"^1.12.0\",\n \"storybook\": \"^9.1.5\",\n \"storybook-addon-tag-badges\": \"^2.0.1\",\n \"stylelint\": \"^16.20.0\",\n \"stylelint-config-standard\": \"^38.0.0\",\n \"stylelint-prettier\": \"^5.0.3\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.8.3\",\n \"typescript-eslint\": \"^8.34.1\",\n \"vite\": \"^6.3.5\",\n \"vite-tsconfig-paths\": \"^5.1.4\",\n \"vitest\": \"^3.2.4\",\n \"yalc\": \"^1.0.0-pre.53\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-linux-x64-gnu\": \"^4.43.0\"\n },\n \"customElements\": \"custom-elements.json\",\n \"bugs\": {\n \"url\": \"https://github.com/Citolab/qti-components/issues\"\n },\n \"homepage\": \"https://github.com/Citolab/qti-components#readme\",\n \"overrides\": {\n \"storybook\": \"$storybook\"\n },\n \"msw\": {\n \"workerDirectory\": [\n \"public\"\n ]\n }\n}\n","export * from './qti-components';\nexport * from './qti-test';\nexport * from './qti-item';\n\n// Import version from package.json\nimport packageJson from '../../package.json' assert { type: 'json' };\n\nconsole.info(\n '%cC¿TO%cLab%c: qti-components v%c%s%c loaded',\n 'font-family: \"PT Sans\", font-weight:bold; color:green; font-size: smaller;vertical-align: sub',\n 'font-weight:bold; color:green',\n 'font-weight:unset',\n 'font-weight:bold; color:#2563eb',\n packageJson.version,\n 'font-weight:unset'\n);\n"],"mappings":"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","names":[]}
|
|
@@ -96,20 +96,20 @@ import {
|
|
|
96
96
|
QtiVariable,
|
|
97
97
|
qtiAndMixin,
|
|
98
98
|
qtiSubtractMixin
|
|
99
|
-
} from "../chunks/chunk-
|
|
99
|
+
} from "../chunks/chunk-2X2C5WI5.js";
|
|
100
|
+
import "../chunks/chunk-P4QBOVQ2.js";
|
|
101
|
+
import "../chunks/chunk-JQ6HWGRY.js";
|
|
102
|
+
import "../chunks/chunk-SV4K25ZI.js";
|
|
103
|
+
import "../chunks/chunk-GAAFN7QF.js";
|
|
100
104
|
import {
|
|
101
105
|
QtiModalFeedback
|
|
102
106
|
} from "../chunks/chunk-YD7FVKDP.js";
|
|
103
|
-
import "../chunks/chunk-ELDMXTUQ.js";
|
|
104
|
-
import "../chunks/chunk-LJ4KAG72.js";
|
|
105
|
-
import "../chunks/chunk-SV4K25ZI.js";
|
|
106
|
-
import "../chunks/chunk-GAAFN7QF.js";
|
|
107
|
-
import "../chunks/chunk-H6KHXSIO.js";
|
|
108
107
|
import "../chunks/chunk-CJADUWEC.js";
|
|
109
|
-
import "../chunks/chunk-
|
|
108
|
+
import "../chunks/chunk-H6KHXSIO.js";
|
|
110
109
|
import "../chunks/chunk-NJNQOQUU.js";
|
|
110
|
+
import "../chunks/chunk-ELDMXTUQ.js";
|
|
111
|
+
import "../chunks/chunk-XBPO6E25.js";
|
|
111
112
|
import "../chunks/chunk-BHJSX3Q6.js";
|
|
112
|
-
import "../chunks/chunk-JQ6HWGRY.js";
|
|
113
113
|
import "../chunks/chunk-H2JE6IVU.js";
|
|
114
114
|
export {
|
|
115
115
|
QtiAnd,
|
|
@@ -98,8 +98,8 @@ import type { QtiVariableDeclaration } from "src/lib/qti-components/qti-variable
|
|
|
98
98
|
import type { QtiOutcomeDeclaration } from "src/lib/qti-components/qti-variable-declaration/qti-outcome-declaration/qti-outcome-declaration.ts";
|
|
99
99
|
import type { QtiResponseDeclaration } from "src/lib/qti-components/qti-variable-declaration/qti-response-declaration/qti-response-declaration.ts";
|
|
100
100
|
import type { QtiPortableCustomInteractionTest } from "src/lib/qti-components/qti-interaction/qti-portable-custom-interaction/qti-portable-custom-test-interaction.ts";
|
|
101
|
-
import type { QtiTemplateDeclaration } from "src/lib/qti-components/qti-template-processing/qti-template-declaration/qti-template-declaration.ts";
|
|
102
101
|
import type { TestElement } from "src/lib/qti-components/qti-interaction/internal/choices/choices.spec.ts";
|
|
102
|
+
import type { QtiTemplateDeclaration } from "src/lib/qti-components/qti-template-processing/qti-template-declaration/qti-template-declaration.ts";
|
|
103
103
|
import type { ItemContainer } from "src/lib/qti-item/components/item-container.ts";
|
|
104
104
|
import type { PrintItemVariables } from "src/lib/qti-item/components/print-item-variables.ts";
|
|
105
105
|
import type { QtiItem } from "src/lib/qti-item/core/qti-item.ts";
|
|
@@ -1432,6 +1432,24 @@ export type QtiPortableCustomInteractionTestProps = {
|
|
|
1432
1432
|
}
|
|
1433
1433
|
|
|
1434
1434
|
|
|
1435
|
+
export type TestElementProps = {
|
|
1436
|
+
/** */
|
|
1437
|
+
"class"?: TestElement['class'];
|
|
1438
|
+
|
|
1439
|
+
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
|
|
1443
|
+
export type TestElementProps = {
|
|
1444
|
+
/** */
|
|
1445
|
+
"class"?: TestElement['class'];
|
|
1446
|
+
/** */
|
|
1447
|
+
"shuffle"?: TestElement['shuffle'];
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
|
|
1435
1453
|
export type QtiTemplateDeclarationProps = {
|
|
1436
1454
|
/** */
|
|
1437
1455
|
"identifier"?: QtiTemplateDeclaration['identifier'];
|
|
@@ -1455,24 +1473,6 @@ export type QtiTemplateDeclarationProps = {
|
|
|
1455
1473
|
}
|
|
1456
1474
|
|
|
1457
1475
|
|
|
1458
|
-
export type TestElementProps = {
|
|
1459
|
-
/** */
|
|
1460
|
-
"class"?: TestElement['class'];
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
}
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
export type TestElementProps = {
|
|
1467
|
-
/** */
|
|
1468
|
-
"class"?: TestElement['class'];
|
|
1469
|
-
/** */
|
|
1470
|
-
"shuffle"?: TestElement['shuffle'];
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
}
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
1476
|
export type ItemContainerProps = {
|
|
1477
1477
|
/** URL of the item to load */
|
|
1478
1478
|
"item-url"?: ItemContainer['itemURL'];
|
|
@@ -3754,25 +3754,9 @@ export type QtiTestVariablesProps = {
|
|
|
3754
3754
|
*
|
|
3755
3755
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
3756
3756
|
*
|
|
3757
|
-
* - `
|
|
3758
|
-
* - `cardinality`: undefined
|
|
3759
|
-
* - `base-type`/`baseType`: undefined
|
|
3760
|
-
* - `math-variable`/`mathVariable`: undefined
|
|
3761
|
-
* - `param-variable`/`paramVariable`: undefined
|
|
3762
|
-
*
|
|
3763
|
-
* ## Events
|
|
3764
|
-
*
|
|
3765
|
-
* Events that will be emitted by the component.
|
|
3766
|
-
*
|
|
3767
|
-
* - `qti-register-variable`: undefined
|
|
3768
|
-
*
|
|
3769
|
-
* ## Methods
|
|
3770
|
-
*
|
|
3771
|
-
* Methods that can be called to access component functionality.
|
|
3772
|
-
*
|
|
3773
|
-
* - `getTemplateVariable() => TemplateVariable`: Get the template variable definition
|
|
3757
|
+
* - `class`: undefined
|
|
3774
3758
|
*/
|
|
3775
|
-
"
|
|
3759
|
+
"test-element": Partial<TestElementProps & BaseProps<TestElement> & BaseEvents>;
|
|
3776
3760
|
|
|
3777
3761
|
|
|
3778
3762
|
/**
|
|
@@ -3783,6 +3767,14 @@ export type QtiTestVariablesProps = {
|
|
|
3783
3767
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
3784
3768
|
*
|
|
3785
3769
|
* - `class`: undefined
|
|
3770
|
+
* - `shuffle`: undefined (property only)
|
|
3771
|
+
* - `value`: undefined (property only) (readonly)
|
|
3772
|
+
*
|
|
3773
|
+
* ## Methods
|
|
3774
|
+
*
|
|
3775
|
+
* Methods that can be called to access component functionality.
|
|
3776
|
+
*
|
|
3777
|
+
* - `validate() => boolean`: undefined
|
|
3786
3778
|
*/
|
|
3787
3779
|
"test-element": Partial<TestElementProps & BaseProps<TestElement> & BaseEvents>;
|
|
3788
3780
|
|
|
@@ -3794,17 +3786,25 @@ export type QtiTestVariablesProps = {
|
|
|
3794
3786
|
*
|
|
3795
3787
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
3796
3788
|
*
|
|
3797
|
-
* - `
|
|
3798
|
-
* - `
|
|
3799
|
-
* - `
|
|
3789
|
+
* - `identifier`: undefined
|
|
3790
|
+
* - `cardinality`: undefined
|
|
3791
|
+
* - `base-type`/`baseType`: undefined
|
|
3792
|
+
* - `math-variable`/`mathVariable`: undefined
|
|
3793
|
+
* - `param-variable`/`paramVariable`: undefined
|
|
3794
|
+
*
|
|
3795
|
+
* ## Events
|
|
3796
|
+
*
|
|
3797
|
+
* Events that will be emitted by the component.
|
|
3798
|
+
*
|
|
3799
|
+
* - `qti-register-variable`: undefined
|
|
3800
3800
|
*
|
|
3801
3801
|
* ## Methods
|
|
3802
3802
|
*
|
|
3803
3803
|
* Methods that can be called to access component functionality.
|
|
3804
3804
|
*
|
|
3805
|
-
* - `
|
|
3805
|
+
* - `getTemplateVariable() => TemplateVariable`: Get the template variable definition
|
|
3806
3806
|
*/
|
|
3807
|
-
"
|
|
3807
|
+
"qti-template-declaration": Partial<QtiTemplateDeclarationProps & BaseProps<QtiTemplateDeclaration> & BaseEvents>;
|
|
3808
3808
|
|
|
3809
3809
|
|
|
3810
3810
|
/**
|
package/dist/qti-item/index.js
CHANGED
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
ItemShowCorrectResponse,
|
|
4
4
|
PrintItemVariables,
|
|
5
5
|
QtiItem
|
|
6
|
-
} from "../chunks/chunk-
|
|
6
|
+
} from "../chunks/chunk-7567ZPN6.js";
|
|
7
7
|
import "../chunks/chunk-PT5ASWGQ.js";
|
|
8
8
|
import "../chunks/chunk-ELDMXTUQ.js";
|
|
9
|
-
import "../chunks/chunk-
|
|
9
|
+
import "../chunks/chunk-XBPO6E25.js";
|
|
10
10
|
import "../chunks/chunk-4OGJBG35.js";
|
|
11
11
|
import "../chunks/chunk-BHJSX3Q6.js";
|
|
12
12
|
import "../chunks/chunk-H2JE6IVU.js";
|
package/dist/qti-loader/index.js
CHANGED
package/dist/qti-test/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as lit_html from 'lit-html';
|
|
|
2
2
|
import { e as VariableValue, O as OutcomeVariable, V as VariableDeclaration } from '../variables-BCkyLoXK.js';
|
|
3
3
|
import * as lit from 'lit';
|
|
4
4
|
import { LitElement, PropertyValues, nothing } from 'lit';
|
|
5
|
-
import { SessionContext } from '../exports/session.context.js';
|
|
5
|
+
import { SessionContext, View } from '../exports/session.context.js';
|
|
6
6
|
import { b as QtiAssessmentTest, I as IQtiTest } from '../qti-test-Db7oNIWY.js';
|
|
7
7
|
export { Q as QtiAssessmentItemRef, a as QtiAssessmentSection, d as QtiTestFeedback, c as QtiTestPart } from '../qti-test-Db7oNIWY.js';
|
|
8
8
|
import { TestContext } from '../exports/test.context.js';
|
|
@@ -11,7 +11,6 @@ import { QtiContext } from '../exports/qti.context.js';
|
|
|
11
11
|
import { ComputedContext, ComputedItem } from '../exports/computed.context.js';
|
|
12
12
|
import { ConfigContext } from '../exports/config.context.js';
|
|
13
13
|
import { TemplateFunction } from '@heximal/templates';
|
|
14
|
-
import { ViewMode } from 'storybook/internal/types';
|
|
15
14
|
import '../exports/expression-result.js';
|
|
16
15
|
import '../qti-transform-test-Bz9A3hmD.js';
|
|
17
16
|
import '../qti-assessment-item-l-mN3teH.js';
|
|
@@ -458,7 +457,7 @@ declare global {
|
|
|
458
457
|
|
|
459
458
|
declare class TestScoringFeedback extends LitElement {
|
|
460
459
|
protected computedContext?: ComputedContext;
|
|
461
|
-
view:
|
|
460
|
+
view: View;
|
|
462
461
|
render(): lit_html.TemplateResult<1>;
|
|
463
462
|
}
|
|
464
463
|
declare global {
|
package/dist/qti-test/index.js
CHANGED
|
@@ -23,19 +23,19 @@ import {
|
|
|
23
23
|
TestStamp,
|
|
24
24
|
TestView,
|
|
25
25
|
TestViewToggle
|
|
26
|
-
} from "../chunks/chunk-
|
|
27
|
-
import "../chunks/chunk-YD7FVKDP.js";
|
|
28
|
-
import "../chunks/chunk-PT5ASWGQ.js";
|
|
29
|
-
import "../chunks/chunk-ELDMXTUQ.js";
|
|
30
|
-
import "../chunks/chunk-LJ4KAG72.js";
|
|
31
|
-
import "../chunks/chunk-H6KHXSIO.js";
|
|
26
|
+
} from "../chunks/chunk-Z2FFXTKX.js";
|
|
32
27
|
import "../chunks/chunk-C5RLRG3L.js";
|
|
28
|
+
import "../chunks/chunk-PT5ASWGQ.js";
|
|
29
|
+
import "../chunks/chunk-YD7FVKDP.js";
|
|
33
30
|
import {
|
|
34
31
|
INITIAL_TEST_CONTEXT,
|
|
35
32
|
testContext
|
|
36
33
|
} from "../chunks/chunk-CJADUWEC.js";
|
|
37
|
-
import "../chunks/chunk-
|
|
34
|
+
import "../chunks/chunk-H6KHXSIO.js";
|
|
38
35
|
import "../chunks/chunk-NJNQOQUU.js";
|
|
36
|
+
import "../chunks/chunk-ELDMXTUQ.js";
|
|
37
|
+
import "../chunks/chunk-XBPO6E25.js";
|
|
38
|
+
import "../chunks/chunk-DVQQ7I6Y.js";
|
|
39
39
|
import "../chunks/chunk-BHJSX3Q6.js";
|
|
40
40
|
import "../chunks/chunk-H2JE6IVU.js";
|
|
41
41
|
export {
|
|
@@ -834,6 +834,18 @@
|
|
|
834
834
|
],
|
|
835
835
|
"references": []
|
|
836
836
|
},
|
|
837
|
+
{
|
|
838
|
+
"name": "test-element",
|
|
839
|
+
"description": "\n---\n",
|
|
840
|
+
"attributes": [{ "name": "class", "values": [] }],
|
|
841
|
+
"references": []
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"name": "test-element",
|
|
845
|
+
"description": "\n---\n",
|
|
846
|
+
"attributes": [{ "name": "class", "values": [] }],
|
|
847
|
+
"references": []
|
|
848
|
+
},
|
|
837
849
|
{
|
|
838
850
|
"name": "qti-template-declaration",
|
|
839
851
|
"description": "The qti-template-declaration element declares template variables for item cloning.\n---\n\n\n### **Events:**\n - **qti-register-variable**\n\n### **Methods:**\n - **getTemplateVariable(): _TemplateVariable_** - Get the template variable definition",
|
|
@@ -854,18 +866,6 @@
|
|
|
854
866
|
],
|
|
855
867
|
"references": []
|
|
856
868
|
},
|
|
857
|
-
{
|
|
858
|
-
"name": "test-element",
|
|
859
|
-
"description": "\n---\n",
|
|
860
|
-
"attributes": [{ "name": "class", "values": [] }],
|
|
861
|
-
"references": []
|
|
862
|
-
},
|
|
863
|
-
{
|
|
864
|
-
"name": "test-element",
|
|
865
|
-
"description": "\n---\n",
|
|
866
|
-
"attributes": [{ "name": "class", "values": [] }],
|
|
867
|
-
"references": []
|
|
868
|
-
},
|
|
869
869
|
{
|
|
870
870
|
"name": "item-container",
|
|
871
871
|
"description": "`<item-container>` is a custom element designed for hosting the qti-assessment-item.\nThe `qti-assessment-item` will be placed inside the shadow DOM of this element.\nThe element loads the item from the provided URL and renders it inside the shadow DOM.\n\n### Styling\nAdd 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",
|
|
@@ -1103,7 +1103,7 @@
|
|
|
1103
1103
|
{
|
|
1104
1104
|
"name": "test-scoring-feedback",
|
|
1105
1105
|
"description": "\n---\n",
|
|
1106
|
-
"attributes": [{ "name": "view", "values": [{ "name": "
|
|
1106
|
+
"attributes": [{ "name": "view", "values": [{ "name": "View" }] }],
|
|
1107
1107
|
"references": []
|
|
1108
1108
|
},
|
|
1109
1109
|
{
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/qti-transformers/qti-transformers.ts","../../src/lib/qti-transformers/qti-transform-item.ts","../../src/lib/qti-transformers/qti-transform-manifest.ts","../../src/lib/qti-transformers/qti-transform-test.ts"],"sourcesContent":["const xml = String.raw;\n\n/* <!-- convert CDATA to comments -->\n <xsl:template match=\"text()[contains(., 'CDATA')]\">\n <xsl:comment>\n <xsl:value-of select=\".\"/>\n </xsl:comment>\n</xsl:template>\n*/\n\n/*\n <!-- remove xml comments -->\n <xsl:template match=\"comment()\" />\n */\n\nconst xmlToHTML = xml`<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n<xsl:output method=\"html\" version=\"5.0\" encoding=\"UTF-8\" indent=\"yes\" />\n <xsl:template match=\"@*|node()\">\n <xsl:copy>\n <xsl:apply-templates select=\"@*|node()\"/>\n </xsl:copy>\n </xsl:template>\n\n <!-- remove existing namespaces -->\n <xsl:template match=\"*\">\n <!-- remove element prefix -->\n <xsl:element name=\"{local-name()}\">\n <!-- process attributes -->\n <xsl:for-each select=\"@*\">\n <!-- remove attribute prefix -->\n <xsl:attribute name=\"{local-name()}\">\n <xsl:value-of select=\".\"/>\n </xsl:attribute>\n </xsl:for-each>\n <xsl:apply-templates/>\n </xsl:element>\n</xsl:template>\n</xsl:stylesheet>`;\n\n// Function to extend elements with a specific tag name by adding an extension suffix\nexport function extendElementName(xmlFragment: XMLDocument, tagName: string, extension: string) {\n xmlFragment.querySelectorAll(tagName).forEach(element => {\n const newTagName = `${tagName}-${extension}`;\n const newElement = createElementWithNewTagName(element, newTagName);\n element.replaceWith(newElement);\n });\n}\n\n// Function to extend any element with a specific class pattern (e.g., \"extend:suffix\")\nexport function extendElementsWithClass(xmlFragment: XMLDocument, classNamePattern: string) {\n xmlFragment.querySelectorAll('*').forEach(element => {\n const classList = element.classList;\n if (classList) {\n classList.forEach(className => {\n if (className.startsWith(`${classNamePattern}:`)) {\n const suffix = className.slice(`${classNamePattern}:`.length);\n const newTagName = `${element.nodeName}-${suffix}`;\n const newElement = createElementWithNewTagName(element, newTagName);\n element.replaceWith(newElement);\n }\n });\n }\n });\n}\n\n// Helper function to create a new element with a new tag name and copy attributes and children\nfunction createElementWithNewTagName(element, newTagName) {\n const newElement = document.createElement(newTagName);\n // Copy attributes\n for (const attr of element.attributes) {\n newElement.setAttribute(attr.name, attr.value);\n }\n // Copy child nodes\n while (element.firstChild) {\n newElement.appendChild(element.firstChild);\n }\n return newElement;\n}\n\nexport function itemsFromTest(xmlFragment: DocumentFragment) {\n const items: { identifier: string; href: string; category: string }[] = [];\n xmlFragment.querySelectorAll('qti-assessment-item-ref').forEach(el => {\n const identifier = el.getAttribute('identifier');\n const href = el.getAttribute('href');\n const category = el.getAttribute('category');\n items.push({ identifier, href, category });\n });\n return items;\n}\n\n// let currentRequest: XMLHttpRequest | null = null;\n\nexport function loadXML(url: string, signal?: AbortSignal): Promise<XMLDocument | null> {\n return fetch(url, { signal })\n .then(response => {\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return response.text();\n })\n .then(text => {\n const parser = new DOMParser();\n return parser.parseFromString(text, 'text/xml');\n })\n .catch(error => {\n if (error.name === 'AbortError') {\n throw error;\n }\n throw new Error(`Failed to load XML: ${error.message}`);\n });\n}\n\nexport function parseXML(xmlDocument: string) {\n const parser = new DOMParser();\n const xmlFragment = parser.parseFromString(xmlDocument, 'text/xml');\n return xmlFragment;\n}\n\nexport function toHTML(xmlFragment: Document): DocumentFragment {\n const processor = new XSLTProcessor();\n const xsltDocument = new DOMParser().parseFromString(xmlToHTML, 'text/xml');\n processor.importStylesheet(xsltDocument);\n const itemHTMLFragment = processor.transformToFragment(xmlFragment, document);\n return itemHTMLFragment;\n}\n\nexport function setLocation(xmlFragment: DocumentFragment, location: string) {\n if (!location.endsWith('/')) {\n location += '/';\n }\n\n xmlFragment.querySelectorAll('[src],[href],[primary-path]').forEach(elWithSrc => {\n let attr: 'src' | 'href' | 'primary-path' | '' = '';\n\n if (elWithSrc.getAttribute('src')) {\n attr = 'src';\n }\n if (elWithSrc.getAttribute('href')) {\n attr = 'href';\n }\n if (elWithSrc.getAttribute('primary-path')) {\n attr = 'primary-path';\n }\n const attrValue = elWithSrc.getAttribute(attr)?.trim();\n\n if (!/^(data:|https?:|blob:)/.test(attrValue)) {\n const newSrcValue = location + encodeURI(attrValue);\n elWithSrc.setAttribute(attr, newSrcValue);\n }\n });\n}\n\nexport function convertCDATAtoComment(xmlFragment: DocumentFragment) {\n const cdataElements = xmlFragment.querySelectorAll('qti-custom-operator[class=\"js.org\"] > qti-base-value');\n cdataElements.forEach(element => {\n const commentText = document.createComment(element.textContent);\n element.replaceChild(commentText, element.firstChild);\n });\n}\n\nexport function stripStyleSheets(xmlFragment: DocumentFragment) {\n // remove qti-stylesheet tag\n xmlFragment.querySelectorAll('qti-stylesheet').forEach(stylesheet => stylesheet.remove());\n}\n\nexport function getShuffleQuerySelectorByTagName(tagName: string) {\n switch (tagName) {\n case 'qti-choice-interaction':\n case 'qti-order-interaction':\n return 'qti-simple-choice';\n case 'qti-inline-choice-interaction':\n return 'qti-inline-choice';\n case 'qti-match-interaction':\n return [\n 'qti-simple-match-set:first-of-type qti-simple-associable-choice',\n 'qti-simple-match-set:last-of-type > qti-simple-associable-choice'\n ];\n case 'qti-gap-match-interaction':\n return 'qti-gap-text';\n case 'qti-associate-interaction':\n return 'qti-simple-associable-choice';\n default:\n }\n}\n","/**\n * Browser based QTI-XML to HTML transformer.\n * Returns an object with methods to load, parse, transform and serialize QTI XML items.\n * @returns An object with methods to load, parse, transform and serialize QTI XML items.\n * @example\n * const qtiTransformer = qtiTransformItem();\n * await qtiTransformer.load('path/to/xml/file.xml');\n * qtiTransformer.path('/assessmentItem/itemBody');\n * const html = qtiTransformer.html();\n * const xml = qtiTransformer.xml();\n * const htmldoc = qtiTransformer.htmldoc();\n * const xmldoc = qtiTransformer.xmldoc();\n *\n * qtiTransformItem().parse(storyXML).html()\n */\nimport {\n convertCDATAtoComment,\n extendElementName,\n extendElementsWithClass,\n getShuffleQuerySelectorByTagName,\n loadXML,\n parseXML,\n setLocation,\n stripStyleSheets,\n toHTML\n} from './qti-transformers';\n\n// Type definition for module resolution config\nexport interface ModuleResolutionConfig {\n waitSeconds?: number;\n context?: string;\n catchError?: boolean;\n urlArgs?: string;\n paths: {\n [key: string]: string | string[];\n };\n shim?: {\n [key: string]: {\n deps?: string[]; // Array of dependencies\n exports?: string; // The global variable to use as the module's value\n };\n };\n}\n\nexport type transformItemApi = {\n load: (uri: string, signal?: AbortSignal) => Promise<transformItemApi>;\n parse: (xmlString: string) => transformItemApi;\n path: (location: string) => transformItemApi;\n fn: (fn: (xmlFragment: XMLDocument) => void) => transformItemApi;\n pciHooks: (uri: string) => transformItemApi;\n configurePci: (\n baseUrl: string,\n getModuleResolutionConfig: (baseUrl: string, fileUrl: string) => Promise<ModuleResolutionConfig>,\n selector?: string\n ) => Promise<transformItemApi>;\n extendElementName: (elementName: string, extend: string) => transformItemApi;\n extendElementsWithClass: (param?: string) => transformItemApi;\n customInteraction: (baseRef: string, baseItem: string) => transformItemApi;\n convertCDATAtoComment: () => transformItemApi;\n shuffleInteractions: () => transformItemApi;\n stripStyleSheets: () => transformItemApi;\n html: () => string;\n xml: () => string;\n htmlDoc: () => DocumentFragment;\n xmlDoc: () => XMLDocument;\n};\n\nexport const qtiTransformItem = (cache: boolean = false) => {\n let xmlFragment: XMLDocument;\n let xmlUri = '';\n\n const api: transformItemApi = {\n load(uri: string, signal?: AbortSignal) {\n xmlUri = uri;\n const fullKey = encodeURI(uri);\n if (cache) {\n if (sessionStorage.getItem(fullKey)) {\n return Promise.resolve(api.parse(sessionStorage.getItem(fullKey)!));\n }\n }\n return loadXML(uri, signal).then(xml => {\n xmlFragment = xml;\n api.shuffleInteractions();\n if (cache) sessionStorage.setItem(fullKey, new XMLSerializer().serializeToString(xmlFragment));\n return api;\n });\n },\n parse(xmlString: string): typeof api {\n xmlFragment = parseXML(xmlString);\n return api;\n },\n path: (location: string): typeof api => {\n setLocation(xmlFragment, location);\n xmlUri = null;\n return api;\n },\n fn(fn: (xmlFragment: XMLDocument) => void): typeof api {\n fn(xmlFragment);\n return api;\n },\n pciHooks(uri: string): typeof api {\n const attributes = ['hook', 'module'];\n const documentPath = uri.substring(0, uri.lastIndexOf('/'));\n for (const attribute of attributes) {\n const srcAttributes = xmlFragment.querySelectorAll('[' + attribute + ']');\n srcAttributes.forEach(node => {\n const srcValue = node.getAttribute(attribute)!;\n if (!srcValue.startsWith('data:') && !srcValue.startsWith('http')) {\n // Just paste the relative path of the src location after the documentrootPath\n // old pcis can have a .js, new pci's don't\n node.setAttribute('base-url', uri);\n node.setAttribute(\n 'module',\n documentPath + '/' + encodeURI(srcValue + (srcValue.endsWith('.js') ? '' : '.js'))\n );\n }\n });\n }\n return api;\n },\n async configurePci(\n baseUrl: string,\n getModuleResolutionConfig: (baseUrl: string, fileUrl: string) => Promise<ModuleResolutionConfig>,\n selector = 'qti-portable-custom-interaction'\n ): Promise<typeof api> {\n const customInteractionTypeIdentifiers: string[] = [];\n const portableCustomInteractions = xmlFragment.querySelectorAll(selector);\n\n const moduleResolutionConfig = await getModuleResolutionConfig(baseUrl, '/modules/module_resolution.js');\n const moduleResolutionFallbackConfig = await getModuleResolutionConfig(\n baseUrl,\n '/modules/fallback_module_resolution.js'\n );\n\n if (portableCustomInteractions.length > 0) {\n for (const interaction of Array.from(portableCustomInteractions)) {\n // set data-base-url\n interaction.setAttribute('data-base-url', baseUrl);\n\n let customInteractionTypeIdentifier = interaction.getAttribute('custom-interaction-type-identifier');\n if (\n customInteractionTypeIdentifier &&\n customInteractionTypeIdentifiers.includes(customInteractionTypeIdentifier)\n ) {\n customInteractionTypeIdentifier = customInteractionTypeIdentifier + customInteractionTypeIdentifiers.length;\n interaction.setAttribute('custom-interaction-type-identifier', customInteractionTypeIdentifier);\n customInteractionTypeIdentifiers.push(customInteractionTypeIdentifier);\n }\n if (customInteractionTypeIdentifier) {\n customInteractionTypeIdentifiers.push(customInteractionTypeIdentifier);\n }\n\n // Check if qti-interaction-modules already exists\n let modulesElement = interaction.querySelector('qti-interaction-modules');\n\n // If it exists and has primary-configuration, handle that format\n if (modulesElement && modulesElement.getAttribute('primary-configuration')) {\n const primaryConfigPath = modulesElement.getAttribute('primary-configuration');\n if (primaryConfigPath) {\n try {\n // Load the primary configuration\n const primaryConfig = await getModuleResolutionConfig(baseUrl, `/${primaryConfigPath}`);\n\n // Get existing module elements that only have id attributes\n const existingModules = Array.from(modulesElement.querySelectorAll('qti-interaction-module'));\n\n // Update existing modules with paths from config\n for (const moduleEl of existingModules) {\n const moduleId = moduleEl.getAttribute('id');\n if (moduleId && primaryConfig.paths && primaryConfig.paths[moduleId]) {\n const primaryPath = primaryConfig.paths[moduleId];\n const primaryPathString = Array.isArray(primaryPath) ? primaryPath[0] : primaryPath;\n moduleEl.setAttribute('primary-path', primaryPathString);\n\n // Check for fallback path\n if (\n moduleResolutionFallbackConfig &&\n moduleResolutionFallbackConfig.paths &&\n moduleResolutionFallbackConfig.paths[moduleId]\n ) {\n const fallbackPath = moduleResolutionFallbackConfig.paths[moduleId];\n if (Array.isArray(fallbackPath)) {\n moduleEl.setAttribute('fallback-path', fallbackPath[0]);\n } else {\n moduleEl.setAttribute('fallback-path', fallbackPath);\n }\n }\n }\n }\n\n // Add any additional modules from primary config that aren't already present\n if (primaryConfig.paths) {\n for (const moduleId in primaryConfig.paths) {\n const existingModule = modulesElement.querySelector(`qti-interaction-module[id=\"${moduleId}\"]`);\n if (!existingModule) {\n const newModuleElement = xmlFragment.createElement('qti-interaction-module');\n newModuleElement.setAttribute('id', moduleId);\n const primaryPathString = Array.isArray(primaryConfig.paths[moduleId])\n ? primaryConfig.paths[moduleId][0]\n : primaryConfig.paths[moduleId];\n newModuleElement.setAttribute('primary-path', primaryPathString);\n\n // Check for fallback path\n if (\n moduleResolutionFallbackConfig &&\n moduleResolutionFallbackConfig.paths &&\n moduleResolutionFallbackConfig.paths[moduleId]\n ) {\n const fallbackPath = moduleResolutionFallbackConfig.paths[moduleId];\n if (Array.isArray(fallbackPath)) {\n newModuleElement.setAttribute('fallback-path', fallbackPath[0]);\n } else {\n newModuleElement.setAttribute('fallback-path', fallbackPath);\n }\n }\n\n modulesElement.appendChild(newModuleElement);\n }\n }\n }\n\n // Apply urlArgs if present in config\n if (primaryConfig.urlArgs) {\n modulesElement.setAttribute('url-args', primaryConfig.urlArgs);\n }\n } catch (error) {\n console.warn(`Failed to load primary configuration: ${primaryConfigPath}`, error);\n }\n }\n } else {\n // Original logic for when there's no existing qti-interaction-modules or no primary-configuration\n if (moduleResolutionConfig) {\n // Create qti-interaction-modules if it doesn't exist\n if (interaction.querySelector('qti-interaction-modules') === null) {\n modulesElement = xmlFragment.createElement('qti-interaction-modules');\n interaction.appendChild(modulesElement);\n } else {\n modulesElement = interaction.querySelector('qti-interaction-modules');\n }\n\n for (const module in moduleResolutionConfig.paths) {\n const path = moduleResolutionConfig.paths[module];\n let fallbackPath: string | string[] = '';\n\n if (\n moduleResolutionFallbackConfig &&\n moduleResolutionFallbackConfig.paths &&\n moduleResolutionFallbackConfig.paths[module]\n ) {\n fallbackPath = moduleResolutionFallbackConfig.paths[module];\n }\n\n const primaryArray = Array.isArray(path) ? path : [path];\n const fallbackPathArray = Array.isArray(fallbackPath) ? fallbackPath : [fallbackPath];\n\n // create an array with primary and fallback paths.\n const paths = primaryArray.map((primaryPath, i) => {\n const fallbackPath = fallbackPathArray.length > i ? fallbackPathArray[i] : '';\n return {\n primaryPath,\n fallbackPath\n };\n });\n\n // check if all fallbackPath elements are in the array: paths, otherwise add\n for (const fallbackPath of fallbackPathArray) {\n if (!paths.some(p => p.fallbackPath === fallbackPath)) {\n paths.push({\n primaryPath: primaryArray.length > 0 ? primaryArray[0] : fallbackPath,\n fallbackPath\n });\n }\n }\n\n // add the paths to the qti-interaction-modules\n for (const path of paths) {\n const moduleElement = xmlFragment.createElement('qti-interaction-module');\n if (path.fallbackPath) {\n moduleElement.setAttribute('fallback-path', path.fallbackPath);\n }\n moduleElement.setAttribute('id', module);\n moduleElement.setAttribute('primary-path', path.primaryPath);\n\n if (modulesElement) {\n modulesElement.appendChild(moduleElement);\n }\n }\n }\n }\n }\n }\n }\n\n return api;\n },\n shuffleInteractions(): typeof api {\n const shuffleElements = xmlFragment.querySelectorAll(`[shuffle=\"true\"]`);\n const shuffleInteractions = Array.from(shuffleElements).filter(e =>\n e.tagName?.toLowerCase().endsWith('-interaction')\n );\n\n for (const shuffleInteraction of shuffleInteractions) {\n const query = getShuffleQuerySelectorByTagName(shuffleInteraction.tagName.toLowerCase());\n const queries = Array.isArray(query) ? query : [query];\n\n for (const q of queries) {\n const choices = Array.from(shuffleInteraction.querySelectorAll(q)) as HTMLElement[];\n\n const fixedChoices = choices\n .map((choice, originalOrder) => ({\n element: choice,\n fixed: choice.hasAttribute('fixed') && choice.getAttribute('fixed') === 'true',\n originalOrder\n }))\n .filter(choice => choice.fixed);\n\n const nonFixedChoices = choices.filter(\n choice => !choice.hasAttribute('fixed') || choice.getAttribute('fixed') !== 'true'\n );\n\n if (nonFixedChoices.length <= 1) {\n console.warn('Shuffling is not possible with fewer than 2 non-fixed elements.');\n return api;\n }\n\n const originalOrder = [...nonFixedChoices];\n let shuffled = false;\n let attempts = 0;\n\n while (!shuffled && attempts < 20) {\n attempts++;\n for (let i = nonFixedChoices.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [nonFixedChoices[i], nonFixedChoices[j]] = [nonFixedChoices[j], nonFixedChoices[i]];\n }\n shuffled = !nonFixedChoices.every((choice, index) => choice === originalOrder[index]);\n }\n\n if (!shuffled) {\n console.warn('Failed to shuffle the choices after multiple attempts.');\n return null;\n }\n\n // Remove the shuffle attribute\n shuffleInteraction.removeAttribute('shuffle');\n\n // Reorder the elements in the DOM\n let nonFixedIndex = 0;\n for (const nonFixedChoice of nonFixedChoices) {\n nonFixedChoice.parentElement.insertBefore(nonFixedChoice, fixedChoices[nonFixedIndex]?.element);\n nonFixedIndex++;\n }\n for (const fixedChoice of fixedChoices) {\n fixedChoice.element.parentElement.insertBefore(\n fixedChoice.element,\n nonFixedChoices[fixedChoice.originalOrder]\n );\n }\n }\n }\n\n return api;\n },\n extendElementName: (tagName: string, extension: string): typeof api => {\n extendElementName(xmlFragment, tagName, extension);\n return api;\n },\n extendElementsWithClass: (param: string = 'extend'): typeof api => {\n extendElementsWithClass(xmlFragment, param);\n return api;\n },\n customInteraction(baseRef: string, baseItem: string): typeof api {\n const qtiCustomInteraction = xmlFragment.querySelector('qti-custom-interaction');\n const qtiCustomInteractionObject = qtiCustomInteraction.querySelector('object');\n\n qtiCustomInteraction.setAttribute('data-base-ref', baseRef);\n qtiCustomInteraction.setAttribute('data-base-item', baseRef + baseItem);\n qtiCustomInteraction.setAttribute('data', qtiCustomInteractionObject.getAttribute('data'));\n qtiCustomInteraction.setAttribute('width', qtiCustomInteractionObject.getAttribute('width'));\n qtiCustomInteraction.setAttribute('height', qtiCustomInteractionObject.getAttribute('height'));\n\n qtiCustomInteraction.removeChild(qtiCustomInteractionObject);\n return api;\n },\n convertCDATAtoComment(): typeof api {\n convertCDATAtoComment(xmlFragment);\n return api;\n },\n stripStyleSheets(): typeof api {\n stripStyleSheets(xmlFragment);\n return api;\n },\n html() {\n if (xmlUri !== null) {\n setLocation(xmlFragment, xmlUri.substring(0, xmlUri.lastIndexOf('/')));\n }\n return new XMLSerializer().serializeToString(toHTML(xmlFragment));\n },\n xml(): string {\n return new XMLSerializer().serializeToString(xmlFragment);\n },\n htmlDoc() {\n if (xmlUri !== null) {\n setLocation(xmlFragment, xmlUri.substring(0, xmlUri.lastIndexOf('/')));\n }\n return toHTML(xmlFragment);\n },\n xmlDoc(): XMLDocument {\n return xmlFragment; // new XMLSerializer().serializeToString(xmlFragment);\n }\n };\n return api;\n};\n","import { loadXML, parseXML } from './qti-transformers';\n\nexport const qtiTransformManifest = (): {\n load: (uri: string, signal?: AbortSignal) => Promise<typeof api>;\n assessmentTest: () => { href: string; identifier: string };\n} => {\n let xmlFragment: XMLDocument;\n\n const api = {\n async load(uri, signal) {\n return new Promise<typeof api>(resolve => {\n loadXML(uri, signal).then(xml => {\n xmlFragment = xml;\n return resolve(api);\n });\n });\n },\n parse(xmlString: string) {\n xmlFragment = parseXML(xmlString);\n },\n assessmentTest() {\n const el = xmlFragment.querySelector('resource[type=\"imsqti_test_xmlv3p0\"]');\n return { href: el.getAttribute('href'), identifier: el.getAttribute('identifier') };\n }\n };\n return api;\n};\n","/**\n * Returns an object with methods to load, parse and transform QTI tests.\n * @returns An object with methods to load, parse and transform QTI tests.\n * @example\n * const qtiTransformer = qtiTransformTest();\n * await qtiTransformer.load('https://example.com/test.xml');\n * const items = qtiTransformer.items();\n * const html = qtiTransformer.html();\n * const xml = qtiTransformer.xml();\n */\n\nimport { itemsFromTest, loadXML, parseXML, setLocation, toHTML } from './qti-transformers';\n\nexport type transformTestApi = {\n load: (uri: string, signal?: AbortSignal) => Promise<transformTestApi>;\n parse: (xmlString: string) => transformTestApi;\n path: (location: string) => transformTestApi;\n fn: (fn: (xmlFragment: XMLDocument) => void) => transformTestApi;\n items: () => { identifier: string; href: string; category: string }[];\n html: () => string;\n xml: () => string;\n htmlDoc: () => DocumentFragment;\n xmlDoc: () => XMLDocument;\n};\n\nexport const qtiTransformTest = (): transformTestApi => {\n let xmlFragment: XMLDocument;\n\n const api: transformTestApi = {\n async load(uri, signal) {\n return new Promise<transformTestApi>((resolve, _) => {\n loadXML(uri, signal).then(xml => {\n xmlFragment = xml;\n\n api.path(uri.substring(0, uri.lastIndexOf('/')));\n return resolve(api);\n });\n });\n },\n parse(xmlString: string) {\n xmlFragment = parseXML(xmlString);\n return api;\n },\n path: (location: string): typeof api => {\n setLocation(xmlFragment, location);\n return api;\n },\n fn(fn: (xmlFragment: XMLDocument) => void) {\n fn(xmlFragment);\n return api;\n },\n items() {\n return itemsFromTest(xmlFragment);\n },\n html() {\n return new XMLSerializer().serializeToString(toHTML(xmlFragment));\n },\n xml(): string {\n return new XMLSerializer().serializeToString(xmlFragment);\n },\n htmlDoc() {\n return toHTML(xmlFragment);\n },\n xmlDoc(): XMLDocument {\n return xmlFragment;\n }\n };\n return api;\n};\n"],"mappings":"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","names":["xml","fallbackPath","path","originalOrder","xml","xml"]}
|
|
File without changes
|
|
File without changes
|