@pie-players/pie-assessment-toolkit 0.3.41 → 0.3.42
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/dist/components/ItemToolBar.custom-element.js +145 -14
- package/dist/components/PieAssessmentToolkit.custom-element.js +170 -10
- package/dist/components/SectionToolBar.custom-element.js +145 -14
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/core/engine-resolver.d.ts +2 -0
- package/dist/runtime/core/engine-resolver.d.ts.map +1 -1
- package/dist/runtime/core/engine-resolver.js +3 -1
- package/dist/runtime/core/engine-resolver.js.map +1 -1
- package/dist/services/ToolRegistry.d.ts +22 -2
- package/dist/services/ToolRegistry.d.ts.map +1 -1
- package/dist/services/ToolRegistry.js +8 -2
- package/dist/services/ToolRegistry.js.map +1 -1
- package/dist/services/ToolkitCoordinator.d.ts +27 -1
- package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
- package/dist/services/ToolkitCoordinator.js +121 -17
- package/dist/services/ToolkitCoordinator.js.map +1 -1
- package/dist/services/interfaces.d.ts +21 -0
- package/dist/services/interfaces.d.ts.map +1 -1
- package/dist/services/interfaces.js.map +1 -1
- package/dist/tools/registrations/calculator.d.ts.map +1 -1
- package/dist/tools/registrations/calculator.js +58 -7
- package/dist/tools/registrations/calculator.js.map +1 -1
- package/package.json +7 -7
|
@@ -12,6 +12,47 @@ import { hasMathContent } from "../../services/tool-context.js";
|
|
|
12
12
|
import { createScopedToolId } from "../../services/tool-instance-id.js";
|
|
13
13
|
import { DesmosToolProvider } from "../../services/tool-providers/index.js";
|
|
14
14
|
import { createToolElement } from "../tool-tag-map.js";
|
|
15
|
+
function normalizeCalculatorType(value) {
|
|
16
|
+
return value === "basic" || value === "scientific" ? value : null;
|
|
17
|
+
}
|
|
18
|
+
function getCalculatorRenderParams(toolbarContext) {
|
|
19
|
+
const params = toolbarContext.getToolRenderParams?.("calculator") ?? {};
|
|
20
|
+
const calculatorType = normalizeCalculatorType(params.calculatorType);
|
|
21
|
+
const availableTypesRaw = params.availableTypes;
|
|
22
|
+
const availableTypes = Array.isArray(availableTypesRaw)
|
|
23
|
+
? availableTypesRaw
|
|
24
|
+
.map((value) => normalizeCalculatorType(value))
|
|
25
|
+
.filter((value) => value !== null)
|
|
26
|
+
: calculatorType
|
|
27
|
+
? [calculatorType]
|
|
28
|
+
: null;
|
|
29
|
+
return {
|
|
30
|
+
calculatorType,
|
|
31
|
+
availableTypes,
|
|
32
|
+
displayName: calculatorType === "scientific"
|
|
33
|
+
? "Scientific Calculator"
|
|
34
|
+
: calculatorType === "basic"
|
|
35
|
+
? "Basic Calculator"
|
|
36
|
+
: "Calculator",
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function applyCalculatorParamsToElement(element, calculatorType, availableTypes) {
|
|
40
|
+
const calculatorElement = element;
|
|
41
|
+
if (calculatorType) {
|
|
42
|
+
calculatorElement.calculatorType = calculatorType;
|
|
43
|
+
element.setAttribute("calculator-type", calculatorType);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
delete calculatorElement.calculatorType;
|
|
47
|
+
element.removeAttribute("calculator-type");
|
|
48
|
+
}
|
|
49
|
+
if (availableTypes && availableTypes.length > 0) {
|
|
50
|
+
calculatorElement.availableTypes = availableTypes;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
delete calculatorElement.availableTypes;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
15
56
|
/**
|
|
16
57
|
* Calculator tool registration
|
|
17
58
|
*
|
|
@@ -69,18 +110,26 @@ export const calculatorToolRegistration = {
|
|
|
69
110
|
return hasMathContent(context);
|
|
70
111
|
},
|
|
71
112
|
renderToolbar(context, toolbarContext) {
|
|
113
|
+
const { calculatorType, availableTypes, displayName } = getCalculatorRenderParams(toolbarContext);
|
|
72
114
|
const fullToolId = createScopedToolId(this.toolId, toolbarContext.scope.level, toolbarContext.scope.scopeId);
|
|
73
115
|
const componentOverrides = toolbarContext.componentOverrides;
|
|
74
116
|
const overlay = createToolElement(this.toolId, context, toolbarContext, componentOverrides);
|
|
75
117
|
overlay.setAttribute("tool-id", fullToolId);
|
|
76
118
|
overlay.toolkitCoordinator = toolbarContext.toolkitCoordinator;
|
|
119
|
+
applyCalculatorParamsToElement(overlay, calculatorType, availableTypes);
|
|
120
|
+
const openLabel = calculatorType === null
|
|
121
|
+
? "Open scientific calculator"
|
|
122
|
+
: `Open ${displayName.toLowerCase()}`;
|
|
123
|
+
const closeLabel = calculatorType === null
|
|
124
|
+
? "Close scientific calculator"
|
|
125
|
+
: `Close ${displayName.toLowerCase()}`;
|
|
77
126
|
const button = {
|
|
78
127
|
toolId: this.toolId,
|
|
79
|
-
label:
|
|
128
|
+
label: displayName,
|
|
80
129
|
icon: typeof this.icon === "function" ? this.icon(context) : this.icon,
|
|
81
130
|
disabled: false,
|
|
82
|
-
ariaLabel:
|
|
83
|
-
tooltip:
|
|
131
|
+
ariaLabel: openLabel,
|
|
132
|
+
tooltip: displayName,
|
|
84
133
|
onClick: () => toolbarContext.toggleTool(this.toolId),
|
|
85
134
|
active: toolbarContext.isToolVisible(fullToolId),
|
|
86
135
|
};
|
|
@@ -108,10 +157,11 @@ export const calculatorToolRegistration = {
|
|
|
108
157
|
sync: () => {
|
|
109
158
|
const active = toolbarContext.isToolVisible(fullToolId);
|
|
110
159
|
button.active = active;
|
|
111
|
-
button.
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
160
|
+
button.label = displayName;
|
|
161
|
+
button.ariaLabel = active ? closeLabel : openLabel;
|
|
162
|
+
button.tooltip = active
|
|
163
|
+
? `Close ${displayName.toLowerCase()}`
|
|
164
|
+
: displayName;
|
|
115
165
|
if (lastVisibleState !== active) {
|
|
116
166
|
overlay.visible = active;
|
|
117
167
|
lastVisibleState = active;
|
|
@@ -119,6 +169,7 @@ export const calculatorToolRegistration = {
|
|
|
119
169
|
if (overlay.toolkitCoordinator !== toolbarContext.toolkitCoordinator) {
|
|
120
170
|
overlay.toolkitCoordinator = toolbarContext.toolkitCoordinator;
|
|
121
171
|
}
|
|
172
|
+
applyCalculatorParamsToElement(overlay, calculatorType, availableTypes);
|
|
122
173
|
},
|
|
123
174
|
subscribeActive: (callback) => {
|
|
124
175
|
if (!toolbarContext.subscribeVisibility)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/tools/registrations/calculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/tools/registrations/calculator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-players/pie-assessment-toolkit",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.42",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "PIE assessment toolkit: composable services + reference implementation for assessment players and tool coordination",
|
|
6
6
|
"license": "MIT",
|
|
@@ -79,14 +79,14 @@
|
|
|
79
79
|
"test": "bun test"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@pie-players/pie-calculator": "0.3.
|
|
83
|
-
"@pie-players/pie-context": "0.3.
|
|
84
|
-
"@pie-players/pie-players-shared": "0.3.
|
|
85
|
-
"@pie-players/pie-tts": "0.3.
|
|
82
|
+
"@pie-players/pie-calculator": "0.3.42",
|
|
83
|
+
"@pie-players/pie-context": "0.3.42",
|
|
84
|
+
"@pie-players/pie-players-shared": "0.3.42",
|
|
85
|
+
"@pie-players/pie-tts": "0.3.42"
|
|
86
86
|
},
|
|
87
87
|
"peerDependencies": {
|
|
88
|
-
"@pie-players/pie-calculator-desmos": "0.3.
|
|
89
|
-
"@pie-players/tts-client-server": "0.3.
|
|
88
|
+
"@pie-players/pie-calculator-desmos": "0.3.42",
|
|
89
|
+
"@pie-players/tts-client-server": "0.3.42"
|
|
90
90
|
},
|
|
91
91
|
"peerDependenciesMeta": {
|
|
92
92
|
"@pie-players/pie-calculator-desmos": {
|