@citolab/tspci 2.8.4 → 2.9.9
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/CHANGELOG.md +83 -0
- package/package.json +6 -5
- package/preset/base/package.json +2 -1
- package/preset/javascript/src/index.js +1 -0
- package/preset/preact/src/index.tsx +16 -0
- package/preset/typescript/src/index.ts +1 -0
- package/public/index.html +798 -323
- package/scripts/test-init-local.sh +49 -1
- package/scripts/test-init-matrix.sh +49 -0
- package/src/cli.js +83 -35
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,89 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.9.9](/compare/v2.9.8...v2.9.9) (2026-03-11)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [2.9.8](/compare/v2.9.7...v2.9.8) (2026-03-11)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [2.9.7](/compare/v2.9.6...v2.9.7) (2026-03-09)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [2.9.6](/compare/v2.9.5...v2.9.6) (2026-03-09)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## [2.9.5](/compare/v2.9.4...v2.9.5) (2026-03-09)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## [2.9.4](/compare/v2.9.3...v2.9.4) (2026-03-09)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## [2.9.3](/compare/v2.9.2...v2.9.3) (2026-03-09)
|
|
55
|
+
|
|
56
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## [2.9.2](/compare/v2.9.1...v2.9.2) (2026-03-09)
|
|
63
|
+
|
|
64
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## [2.9.1](/compare/v2.9.0...v2.9.1) (2026-03-09)
|
|
71
|
+
|
|
72
|
+
**Note:** Version bump only for package @citolab/tspci
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
# [2.9.0](/compare/v2.8.4...v2.9.0) (2026-03-09)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Features
|
|
82
|
+
|
|
83
|
+
* **tspci-dev-app:** add local development app for testing @citolab/tspci changes e87ac7d
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
6
89
|
## [2.8.4](/compare/v2.8.3...v2.8.4) (2026-02-25)
|
|
7
90
|
|
|
8
91
|
**Note:** Version bump only for package @citolab/tspci
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@citolab/tspci",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.9",
|
|
4
4
|
"description": "an opiniated typescript ims-pci builder with tao integration",
|
|
5
5
|
"author": "patrick <patrick.deklein@cito.nl>",
|
|
6
6
|
"repository": "@citolab/tspci",
|
|
@@ -18,13 +18,14 @@
|
|
|
18
18
|
"types": "types/index.d.ts",
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@compodoc/live-server": "^1.2.3",
|
|
21
|
+
"@inquirer/prompts": "^8.2.0",
|
|
21
22
|
"@rollup/plugin-alias": "^6.0.0",
|
|
22
23
|
"@rollup/plugin-commonjs": "^29.0.0",
|
|
23
24
|
"@rollup/plugin-image": "^3.0.3",
|
|
24
25
|
"@rollup/plugin-json": "^6.1.0",
|
|
25
26
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
26
27
|
"@rollup/plugin-replace": "^6.0.3",
|
|
27
|
-
"@rollup/plugin-terser": "^0.
|
|
28
|
+
"@rollup/plugin-terser": "^1.0.0",
|
|
28
29
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
29
30
|
"@tailwindcss/nesting": "0.0.0-insiders.565cd3e",
|
|
30
31
|
"@tailwindcss/postcss": "^4.1.18",
|
|
@@ -35,11 +36,11 @@
|
|
|
35
36
|
"deepmerge": "^4.3.1",
|
|
36
37
|
"fast-glob": "^3.3.3",
|
|
37
38
|
"figlet": "1.10.0",
|
|
38
|
-
"
|
|
39
|
+
"is-module": "^1.0.0",
|
|
39
40
|
"postcss": "^8.5.6",
|
|
40
41
|
"postcss-import": "^16.1.1",
|
|
41
42
|
"postcss-load-config": "^6.0.1",
|
|
42
|
-
"rollup": "^4.
|
|
43
|
+
"rollup": "^4.59.0",
|
|
43
44
|
"rollup-plugin-livereload": "^2.0.5",
|
|
44
45
|
"tailwindcss": "^4.1.18"
|
|
45
46
|
},
|
|
@@ -52,5 +53,5 @@
|
|
|
52
53
|
"access": "public",
|
|
53
54
|
"registry": "https://registry.npmjs.org/"
|
|
54
55
|
},
|
|
55
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "38ef762e1e779bfca515394871b5b86f32bc209e"
|
|
56
57
|
}
|
package/preset/base/package.json
CHANGED
|
@@ -24,6 +24,7 @@ class PciInstance implements IMSpci<PropTypes> {
|
|
|
24
24
|
private storeListener: Listener<StateModel>;
|
|
25
25
|
private previousResponseJson: string = "";
|
|
26
26
|
private initialState: StateModel = { input: undefined };
|
|
27
|
+
private customValidity: string = "";
|
|
27
28
|
|
|
28
29
|
constructor(dom: HTMLElement, config: ConfigProperties<PropTypes>, stateString?: string) {
|
|
29
30
|
if (!dom) throw new Error("No DOM Element provided");
|
|
@@ -83,6 +84,7 @@ class PciInstance implements IMSpci<PropTypes> {
|
|
|
83
84
|
};
|
|
84
85
|
const evt = new CustomEvent("qti-interaction-changed", {
|
|
85
86
|
bubbles: true,
|
|
87
|
+
composed: true,
|
|
86
88
|
cancelable: true,
|
|
87
89
|
detail,
|
|
88
90
|
});
|
|
@@ -122,6 +124,20 @@ class PciInstance implements IMSpci<PropTypes> {
|
|
|
122
124
|
return { base: { integer: value } } as QtiVariableJSON;
|
|
123
125
|
};
|
|
124
126
|
|
|
127
|
+
checkValidity = () => {
|
|
128
|
+
const input = this.shadowdom.querySelector("input");
|
|
129
|
+
if (!input) return undefined;
|
|
130
|
+
return input.checkValidity();
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
setCustomValidity = (message: string) => {
|
|
134
|
+
this.customValidity = message;
|
|
135
|
+
const input = this.shadowdom.querySelector("input");
|
|
136
|
+
if (input) input.setCustomValidity(message);
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
getCustomValidity = () => this.customValidity;
|
|
140
|
+
|
|
125
141
|
oncompleted = () => {
|
|
126
142
|
if (this.storeListener) {
|
|
127
143
|
this.store.unsubscribe(this.storeListener);
|