@citolab/tspci 2.8.4 → 2.9.7

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 CHANGED
@@ -3,6 +3,73 @@
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.7](/compare/v2.9.6...v2.9.7) (2026-03-09)
7
+
8
+ **Note:** Version bump only for package @citolab/tspci
9
+
10
+
11
+
12
+
13
+
14
+ ## [2.9.6](/compare/v2.9.5...v2.9.6) (2026-03-09)
15
+
16
+ **Note:** Version bump only for package @citolab/tspci
17
+
18
+
19
+
20
+
21
+
22
+ ## [2.9.5](/compare/v2.9.4...v2.9.5) (2026-03-09)
23
+
24
+ **Note:** Version bump only for package @citolab/tspci
25
+
26
+
27
+
28
+
29
+
30
+ ## [2.9.4](/compare/v2.9.3...v2.9.4) (2026-03-09)
31
+
32
+ **Note:** Version bump only for package @citolab/tspci
33
+
34
+
35
+
36
+
37
+
38
+ ## [2.9.3](/compare/v2.9.2...v2.9.3) (2026-03-09)
39
+
40
+ **Note:** Version bump only for package @citolab/tspci
41
+
42
+
43
+
44
+
45
+
46
+ ## [2.9.2](/compare/v2.9.1...v2.9.2) (2026-03-09)
47
+
48
+ **Note:** Version bump only for package @citolab/tspci
49
+
50
+
51
+
52
+
53
+
54
+ ## [2.9.1](/compare/v2.9.0...v2.9.1) (2026-03-09)
55
+
56
+ **Note:** Version bump only for package @citolab/tspci
57
+
58
+
59
+
60
+
61
+
62
+ # [2.9.0](/compare/v2.8.4...v2.9.0) (2026-03-09)
63
+
64
+
65
+ ### Features
66
+
67
+ * **tspci-dev-app:** add local development app for testing @citolab/tspci changes e87ac7d
68
+
69
+
70
+
71
+
72
+
6
73
  ## [2.8.4](/compare/v2.8.3...v2.8.4) (2026-02-25)
7
74
 
8
75
  **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.8.4",
3
+ "version": "2.9.7",
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,6 +18,7 @@
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",
@@ -35,7 +36,7 @@
35
36
  "deepmerge": "^4.3.1",
36
37
  "fast-glob": "^3.3.3",
37
38
  "figlet": "1.10.0",
38
- "inquirer": "13.2.2",
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",
@@ -52,5 +53,5 @@
52
53
  "access": "public",
53
54
  "registry": "https://registry.npmjs.org/"
54
55
  },
55
- "gitHead": "2ad2236ae56f3927ef2d836c987b86a94ba5c070"
56
+ "gitHead": "4c0bee22ee34e4ccb9dfebea72ad9870d7812401"
56
57
  }
@@ -65,6 +65,7 @@ class PciInstance {
65
65
  };
66
66
  const event = new CustomEvent("qti-interaction-changed", {
67
67
  bubbles: true,
68
+ composed: true,
68
69
  cancelable: true,
69
70
  detail,
70
71
  });
@@ -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);
@@ -87,6 +87,7 @@ class PciInstance implements IMSpci<PropTypes> {
87
87
  };
88
88
  const event = new CustomEvent("qti-interaction-changed", {
89
89
  bubbles: true,
90
+ composed: true,
90
91
  cancelable: true,
91
92
  detail,
92
93
  });