@khanacademy/perseus-core 8.0.0 → 10.0.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.
Files changed (102) hide show
  1. package/dist/data-schema.d.ts +82 -84
  2. package/dist/es/index.js +67 -53
  3. package/dist/es/index.js.map +1 -1
  4. package/dist/index.d.ts +9 -2
  5. package/dist/index.js +71 -52
  6. package/dist/index.js.map +1 -1
  7. package/dist/keypad.d.ts +1 -1
  8. package/dist/parse-perseus-json/general-purpose-parsers/defaulted.d.ts +1 -1
  9. package/dist/parse-perseus-json/general-purpose-parsers/index.d.ts +1 -1
  10. package/dist/parse-perseus-json/general-purpose-parsers/is-plain-object.d.ts +8 -0
  11. package/dist/parse-perseus-json/general-purpose-parsers/test-helpers.d.ts +5 -0
  12. package/dist/parse-perseus-json/perseus-parsers/categorizer-widget.d.ts +13 -3
  13. package/dist/parse-perseus-json/perseus-parsers/categorizer-widget.typetest.d.ts +1 -0
  14. package/dist/parse-perseus-json/perseus-parsers/cs-program-widget.d.ts +12 -3
  15. package/dist/parse-perseus-json/perseus-parsers/cs-program-widget.typetest.d.ts +1 -0
  16. package/dist/parse-perseus-json/perseus-parsers/definition-widget.d.ts +5 -3
  17. package/dist/parse-perseus-json/perseus-parsers/definition-widget.typetest.d.ts +1 -0
  18. package/dist/parse-perseus-json/perseus-parsers/dropdown-widget.d.ts +10 -3
  19. package/dist/parse-perseus-json/perseus-parsers/dropdown-widget.typetest.d.ts +1 -0
  20. package/dist/parse-perseus-json/perseus-parsers/explanation-widget.d.ts +7 -3
  21. package/dist/parse-perseus-json/perseus-parsers/explanation-widget.typetest.d.ts +1 -0
  22. package/dist/parse-perseus-json/perseus-parsers/expression-widget.d.ts +16 -3
  23. package/dist/parse-perseus-json/perseus-parsers/expression-widget.typetest.d.ts +1 -0
  24. package/dist/parse-perseus-json/perseus-parsers/graded-group-set-widget.d.ts +15 -3
  25. package/dist/parse-perseus-json/perseus-parsers/graded-group-set-widget.typetest.d.ts +1 -0
  26. package/dist/parse-perseus-json/perseus-parsers/graded-group-widget.d.ts +14 -4
  27. package/dist/parse-perseus-json/perseus-parsers/graded-group-widget.typetest.d.ts +1 -0
  28. package/dist/parse-perseus-json/perseus-parsers/grapher-widget.d.ts +51 -3
  29. package/dist/parse-perseus-json/perseus-parsers/grapher-widget.typetest.d.ts +1 -0
  30. package/dist/parse-perseus-json/perseus-parsers/group-widget.d.ts +1 -3
  31. package/dist/parse-perseus-json/perseus-parsers/group-widget.typetest.d.ts +1 -0
  32. package/dist/parse-perseus-json/perseus-parsers/hint.d.ts +9 -3
  33. package/dist/parse-perseus-json/perseus-parsers/hint.typetest.d.ts +1 -0
  34. package/dist/parse-perseus-json/perseus-parsers/iframe-widget.d.ts +12 -3
  35. package/dist/parse-perseus-json/perseus-parsers/iframe-widget.typetest.d.ts +1 -0
  36. package/dist/parse-perseus-json/perseus-parsers/image-widget.d.ts +22 -3
  37. package/dist/parse-perseus-json/perseus-parsers/image-widget.typetest.d.ts +1 -0
  38. package/dist/parse-perseus-json/perseus-parsers/input-number-widget.d.ts +10 -2
  39. package/dist/parse-perseus-json/perseus-parsers/input-number-widget.typetest.d.ts +1 -0
  40. package/dist/parse-perseus-json/perseus-parsers/interaction-widget.d.ts +125 -3
  41. package/dist/parse-perseus-json/perseus-parsers/interaction-widget.typetest.d.ts +1 -0
  42. package/dist/parse-perseus-json/perseus-parsers/interactive-graph-user-input.d.ts +60 -1
  43. package/dist/parse-perseus-json/perseus-parsers/interactive-graph-widget.d.ts +326 -5
  44. package/dist/parse-perseus-json/perseus-parsers/interactive-graph-widget.typetest.d.ts +1 -0
  45. package/dist/parse-perseus-json/perseus-parsers/label-image-widget.d.ts +16 -3
  46. package/dist/parse-perseus-json/perseus-parsers/label-image-widget.typetest.d.ts +1 -0
  47. package/dist/parse-perseus-json/perseus-parsers/legacy-button-sets.d.ts +1 -2
  48. package/dist/parse-perseus-json/perseus-parsers/matcher-widget.d.ts +7 -3
  49. package/dist/parse-perseus-json/perseus-parsers/matcher-widget.typetest.d.ts +1 -0
  50. package/dist/parse-perseus-json/perseus-parsers/matrix-widget.d.ts +8 -3
  51. package/dist/parse-perseus-json/perseus-parsers/matrix-widget.typetest.d.ts +1 -0
  52. package/dist/parse-perseus-json/perseus-parsers/measurer-widget.d.ts +18 -3
  53. package/dist/parse-perseus-json/perseus-parsers/measurer-widget.typetest.d.ts +1 -0
  54. package/dist/parse-perseus-json/perseus-parsers/molecule-renderer-widget.d.ts +5 -3
  55. package/dist/parse-perseus-json/perseus-parsers/molecule-renderer-widget.typetest.d.ts +1 -0
  56. package/dist/parse-perseus-json/perseus-parsers/number-line-widget.d.ts +17 -3
  57. package/dist/parse-perseus-json/perseus-parsers/number-line-widget.typetest.d.ts +1 -0
  58. package/dist/parse-perseus-json/perseus-parsers/numeric-input-widget.d.ts +21 -4
  59. package/dist/parse-perseus-json/perseus-parsers/numeric-input-widget.typetest.d.ts +1 -0
  60. package/dist/parse-perseus-json/perseus-parsers/orderer-widget.d.ts +7 -3
  61. package/dist/parse-perseus-json/perseus-parsers/orderer-widget.typetest.d.ts +1 -0
  62. package/dist/parse-perseus-json/perseus-parsers/passage-ref-widget.d.ts +5 -3
  63. package/dist/parse-perseus-json/perseus-parsers/passage-ref-widget.typetest.d.ts +1 -0
  64. package/dist/parse-perseus-json/perseus-parsers/passage-widget.d.ts +7 -3
  65. package/dist/parse-perseus-json/perseus-parsers/passage-widget.typetest.d.ts +1 -0
  66. package/dist/parse-perseus-json/perseus-parsers/perseus-answer-area.d.ts +11 -2
  67. package/dist/parse-perseus-json/perseus-parsers/perseus-answer-area.typetest.d.ts +1 -0
  68. package/dist/parse-perseus-json/perseus-parsers/perseus-image-background.d.ts +9 -3
  69. package/dist/parse-perseus-json/perseus-parsers/perseus-image-background.typetest.d.ts +1 -0
  70. package/dist/parse-perseus-json/perseus-parsers/perseus-image-detail.d.ts +4 -0
  71. package/dist/parse-perseus-json/perseus-parsers/perseus-image-detail.typetest.d.ts +1 -0
  72. package/dist/parse-perseus-json/perseus-parsers/phet-simulation-widget.d.ts +4 -3
  73. package/dist/parse-perseus-json/perseus-parsers/phet-simulation-widget.typetest.d.ts +1 -0
  74. package/dist/parse-perseus-json/perseus-parsers/plotter-widget.d.ts +15 -3
  75. package/dist/parse-perseus-json/perseus-parsers/plotter-widget.typetest.d.ts +1 -0
  76. package/dist/parse-perseus-json/perseus-parsers/python-program-widget.d.ts +4 -3
  77. package/dist/parse-perseus-json/perseus-parsers/python-program-widget.typetest.d.ts +1 -0
  78. package/dist/parse-perseus-json/perseus-parsers/sorter-widget.d.ts +5 -3
  79. package/dist/parse-perseus-json/perseus-parsers/sorter-widget.typetest.d.ts +1 -0
  80. package/dist/parse-perseus-json/perseus-parsers/table-widget.d.ts +6 -3
  81. package/dist/parse-perseus-json/perseus-parsers/table-widget.typetest.d.ts +1 -0
  82. package/dist/parse-perseus-json/perseus-parsers/video-widget.d.ts +4 -3
  83. package/dist/parse-perseus-json/perseus-parsers/video-widget.typetest.d.ts +1 -0
  84. package/dist/types.d.ts +6 -3
  85. package/dist/utils/deep-clone.d.ts +1 -2
  86. package/dist/utils/item-has-hints.d.ts +5 -0
  87. package/dist/utils/item-has-rationales.d.ts +5 -0
  88. package/dist/utils/random-util.d.ts +1 -1
  89. package/dist/utils/split-perseus-item.d.ts +3 -3
  90. package/dist/utils/split-perseus-renderer.d.ts +7 -0
  91. package/dist/utils/test-utils.d.ts +2 -1
  92. package/dist/validation.types.d.ts +27 -27
  93. package/dist/widgets/core-widget-registry.d.ts +8 -0
  94. package/dist/widgets/group/group-util.d.ts +12 -0
  95. package/dist/widgets/input-number/input-number-util.d.ts +12 -0
  96. package/dist/widgets/logic-export.types.d.ts +3 -1
  97. package/dist/widgets/matrix/matrix-util.d.ts +1 -2
  98. package/dist/widgets/number-line/number-line-util.d.ts +1 -2
  99. package/dist/widgets/orderer/orderer-util.d.ts +2 -6
  100. package/dist/widgets/plotter/plotter-util.d.ts +1 -1
  101. package/package.json +4 -3
  102. package/dist/parse-perseus-json/general-purpose-parsers/is-object.d.ts +0 -1
@@ -1,5 +1,326 @@
1
- import type { InteractiveGraphWidget, PerseusGraphTypeAngle, PerseusGraphTypeCircle, PerseusGraphTypeLinear, PerseusGraphTypeLinearSystem, PerseusGraphTypeNone, PerseusGraphTypePoint, PerseusGraphTypePolygon, PerseusGraphTypeQuadratic, PerseusGraphTypeRay, PerseusGraphTypeSegment, PerseusGraphTypeSinusoid } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parsePerseusGraphType: Parser<PerseusGraphTypeAngle | PerseusGraphTypeCircle | PerseusGraphTypeLinear | PerseusGraphTypeLinearSystem | PerseusGraphTypeNone | PerseusGraphTypePoint | PerseusGraphTypePolygon | PerseusGraphTypeQuadratic | PerseusGraphTypeRay | PerseusGraphTypeSegment | PerseusGraphTypeSinusoid>;
4
- export declare const parseLockedFunctionDomain: Parser<[number, number]>;
5
- export declare const parseInteractiveGraphWidget: Parser<InteractiveGraphWidget>;
1
+ export declare const parsePerseusGraphType: import("../parser-types").Parser<import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ type: "angle";
3
+ showAngles: boolean | undefined;
4
+ allowReflexAngles: boolean | undefined;
5
+ angleOffsetDeg: number | undefined;
6
+ snapDegrees: number | undefined;
7
+ match: "congruent" | undefined;
8
+ coords: [[number, number], [number, number], [number, number]] | undefined;
9
+ startCoords: [[number, number], [number, number], [number, number]] | undefined;
10
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
11
+ type: "circle";
12
+ center: [number, number] | undefined;
13
+ radius: number | undefined;
14
+ startCoords: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
15
+ center: [number, number];
16
+ radius: number;
17
+ }> | undefined;
18
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
19
+ type: "linear";
20
+ coords: [[number, number], [number, number]] | null | undefined;
21
+ startCoords: [[number, number], [number, number]] | undefined;
22
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
23
+ type: "linear-system";
24
+ coords: [[number, number], [number, number]][] | null | undefined;
25
+ startCoords: [[number, number], [number, number]][] | undefined;
26
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
27
+ type: "none";
28
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
29
+ type: "point";
30
+ numPoints: number | "unlimited" | undefined;
31
+ coords: [number, number][] | null | undefined;
32
+ startCoords: [number, number][] | undefined;
33
+ coord: [number, number] | undefined;
34
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
35
+ type: "polygon";
36
+ numSides: number | "unlimited" | undefined;
37
+ showAngles: boolean | undefined;
38
+ showSides: boolean | undefined;
39
+ snapTo: "grid" | "angles" | "sides" | undefined;
40
+ match: "congruent" | "similar" | "approx" | "exact" | undefined;
41
+ startCoords: [number, number][] | undefined;
42
+ coords: [number, number][] | null | undefined;
43
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
44
+ type: "quadratic";
45
+ coords: [[number, number], [number, number], [number, number]] | null | undefined;
46
+ startCoords: [[number, number], [number, number], [number, number]] | undefined;
47
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
48
+ type: "ray";
49
+ coords: [[number, number], [number, number]] | null | undefined;
50
+ startCoords: [[number, number], [number, number]] | undefined;
51
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
52
+ type: "segment";
53
+ numSegments: number | undefined;
54
+ coords: [[number, number], [number, number]][] | null | undefined;
55
+ startCoords: [[number, number], [number, number]][] | undefined;
56
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
57
+ type: "sinusoid";
58
+ coords: [number, number][] | null | undefined;
59
+ startCoords: [number, number][] | undefined;
60
+ }>>;
61
+ export declare const parseLockedFunctionDomain: import("../parser-types").Parser<[number, number]>;
62
+ export declare const parseInteractiveGraphWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"interactive-graph", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
63
+ step: [number, number];
64
+ gridStep: [number, number] | undefined;
65
+ snapStep: [number, number] | undefined;
66
+ backgroundImage: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
67
+ url: string | null | undefined;
68
+ width: number | undefined;
69
+ height: number | undefined;
70
+ top: number | undefined;
71
+ left: number | undefined;
72
+ bottom: number | undefined;
73
+ scale: number | undefined;
74
+ }> | undefined;
75
+ markings: "none" | "axes" | "graph" | "grid";
76
+ labels: string[] | undefined;
77
+ labelLocation: "onAxis" | "alongEdge" | undefined;
78
+ showProtractor: boolean;
79
+ showRuler: boolean | undefined;
80
+ showTooltips: boolean | undefined;
81
+ rulerLabel: string | undefined;
82
+ rulerTicks: number | undefined;
83
+ range: [[number, number], [number, number]];
84
+ graph: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
85
+ type: "angle";
86
+ showAngles: boolean | undefined;
87
+ allowReflexAngles: boolean | undefined;
88
+ angleOffsetDeg: number | undefined;
89
+ snapDegrees: number | undefined;
90
+ match: "congruent" | undefined;
91
+ coords: [[number, number], [number, number], [number, number]] | undefined;
92
+ startCoords: [[number, number], [number, number], [number, number]] | undefined;
93
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
94
+ type: "circle";
95
+ center: [number, number] | undefined;
96
+ radius: number | undefined;
97
+ startCoords: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
98
+ center: [number, number];
99
+ radius: number;
100
+ }> | undefined;
101
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
102
+ type: "linear";
103
+ coords: [[number, number], [number, number]] | null | undefined;
104
+ startCoords: [[number, number], [number, number]] | undefined;
105
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
106
+ type: "linear-system";
107
+ coords: [[number, number], [number, number]][] | null | undefined;
108
+ startCoords: [[number, number], [number, number]][] | undefined;
109
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
110
+ type: "none";
111
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
112
+ type: "point";
113
+ numPoints: number | "unlimited" | undefined;
114
+ coords: [number, number][] | null | undefined;
115
+ startCoords: [number, number][] | undefined;
116
+ coord: [number, number] | undefined;
117
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
118
+ type: "polygon";
119
+ numSides: number | "unlimited" | undefined;
120
+ showAngles: boolean | undefined;
121
+ showSides: boolean | undefined;
122
+ snapTo: "grid" | "angles" | "sides" | undefined;
123
+ match: "congruent" | "similar" | "approx" | "exact" | undefined;
124
+ startCoords: [number, number][] | undefined;
125
+ coords: [number, number][] | null | undefined;
126
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
127
+ type: "quadratic";
128
+ coords: [[number, number], [number, number], [number, number]] | null | undefined;
129
+ startCoords: [[number, number], [number, number], [number, number]] | undefined;
130
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
131
+ type: "ray";
132
+ coords: [[number, number], [number, number]] | null | undefined;
133
+ startCoords: [[number, number], [number, number]] | undefined;
134
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
135
+ type: "segment";
136
+ numSegments: number | undefined;
137
+ coords: [[number, number], [number, number]][] | null | undefined;
138
+ startCoords: [[number, number], [number, number]][] | undefined;
139
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
140
+ type: "sinusoid";
141
+ coords: [number, number][] | null | undefined;
142
+ startCoords: [number, number][] | undefined;
143
+ }>;
144
+ correct: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
145
+ type: "angle";
146
+ showAngles: boolean | undefined;
147
+ allowReflexAngles: boolean | undefined;
148
+ angleOffsetDeg: number | undefined;
149
+ snapDegrees: number | undefined;
150
+ match: "congruent" | undefined;
151
+ coords: [[number, number], [number, number], [number, number]] | undefined;
152
+ startCoords: [[number, number], [number, number], [number, number]] | undefined;
153
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
154
+ type: "circle";
155
+ center: [number, number] | undefined;
156
+ radius: number | undefined;
157
+ startCoords: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
158
+ center: [number, number];
159
+ radius: number;
160
+ }> | undefined;
161
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
162
+ type: "linear";
163
+ coords: [[number, number], [number, number]] | null | undefined;
164
+ startCoords: [[number, number], [number, number]] | undefined;
165
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
166
+ type: "linear-system";
167
+ coords: [[number, number], [number, number]][] | null | undefined;
168
+ startCoords: [[number, number], [number, number]][] | undefined;
169
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
170
+ type: "none";
171
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
172
+ type: "point";
173
+ numPoints: number | "unlimited" | undefined;
174
+ coords: [number, number][] | null | undefined;
175
+ startCoords: [number, number][] | undefined;
176
+ coord: [number, number] | undefined;
177
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
178
+ type: "polygon";
179
+ numSides: number | "unlimited" | undefined;
180
+ showAngles: boolean | undefined;
181
+ showSides: boolean | undefined;
182
+ snapTo: "grid" | "angles" | "sides" | undefined;
183
+ match: "congruent" | "similar" | "approx" | "exact" | undefined;
184
+ startCoords: [number, number][] | undefined;
185
+ coords: [number, number][] | null | undefined;
186
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
187
+ type: "quadratic";
188
+ coords: [[number, number], [number, number], [number, number]] | null | undefined;
189
+ startCoords: [[number, number], [number, number], [number, number]] | undefined;
190
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
191
+ type: "ray";
192
+ coords: [[number, number], [number, number]] | null | undefined;
193
+ startCoords: [[number, number], [number, number]] | undefined;
194
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
195
+ type: "segment";
196
+ numSegments: number | undefined;
197
+ coords: [[number, number], [number, number]][] | null | undefined;
198
+ startCoords: [[number, number], [number, number]][] | undefined;
199
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
200
+ type: "sinusoid";
201
+ coords: [number, number][] | null | undefined;
202
+ startCoords: [number, number][] | undefined;
203
+ }>;
204
+ lockedFigures: (import("../general-purpose-parsers/object-types").OptionalizeProperties<{
205
+ type: "label";
206
+ coord: [number, number];
207
+ text: string;
208
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
209
+ size: "small" | "medium" | "large";
210
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
211
+ type: "point";
212
+ coord: [number, number];
213
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
214
+ filled: boolean;
215
+ labels: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
216
+ type: "label";
217
+ coord: [number, number];
218
+ text: string;
219
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
220
+ size: "small" | "medium" | "large";
221
+ }>[];
222
+ ariaLabel: string | undefined;
223
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
224
+ type: "line";
225
+ kind: "line" | "ray" | "segment";
226
+ points: [import("../general-purpose-parsers/object-types").OptionalizeProperties<{
227
+ type: "point";
228
+ coord: [number, number];
229
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
230
+ filled: boolean;
231
+ labels: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
232
+ type: "label";
233
+ coord: [number, number];
234
+ text: string;
235
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
236
+ size: "small" | "medium" | "large";
237
+ }>[];
238
+ ariaLabel: string | undefined;
239
+ }>, import("../general-purpose-parsers/object-types").OptionalizeProperties<{
240
+ type: "point";
241
+ coord: [number, number];
242
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
243
+ filled: boolean;
244
+ labels: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
245
+ type: "label";
246
+ coord: [number, number];
247
+ text: string;
248
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
249
+ size: "small" | "medium" | "large";
250
+ }>[];
251
+ ariaLabel: string | undefined;
252
+ }>];
253
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
254
+ lineStyle: "solid" | "dashed";
255
+ showPoint1: boolean;
256
+ showPoint2: boolean;
257
+ labels: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
258
+ type: "label";
259
+ coord: [number, number];
260
+ text: string;
261
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
262
+ size: "small" | "medium" | "large";
263
+ }>[];
264
+ ariaLabel: string | undefined;
265
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
266
+ type: "vector";
267
+ points: [[number, number], [number, number]];
268
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
269
+ labels: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
270
+ type: "label";
271
+ coord: [number, number];
272
+ text: string;
273
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
274
+ size: "small" | "medium" | "large";
275
+ }>[];
276
+ ariaLabel: string | undefined;
277
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
278
+ type: "ellipse";
279
+ center: [number, number];
280
+ radius: [number, number];
281
+ angle: number;
282
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
283
+ fillStyle: "none" | "solid" | "white" | "translucent";
284
+ strokeStyle: "solid" | "dashed";
285
+ labels: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
286
+ type: "label";
287
+ coord: [number, number];
288
+ text: string;
289
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
290
+ size: "small" | "medium" | "large";
291
+ }>[];
292
+ ariaLabel: string | undefined;
293
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
294
+ type: "polygon";
295
+ points: [number, number][];
296
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
297
+ showVertices: boolean;
298
+ fillStyle: "none" | "solid" | "white" | "translucent";
299
+ strokeStyle: "solid" | "dashed";
300
+ labels: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
301
+ type: "label";
302
+ coord: [number, number];
303
+ text: string;
304
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
305
+ size: "small" | "medium" | "large";
306
+ }>[];
307
+ ariaLabel: string | undefined;
308
+ }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
309
+ type: "function";
310
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
311
+ strokeStyle: "solid" | "dashed";
312
+ equation: string;
313
+ directionalAxis: "x" | "y";
314
+ domain: [number, number];
315
+ labels: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
316
+ type: "label";
317
+ coord: [number, number];
318
+ text: string;
319
+ color: "blue" | "green" | "grayH" | "purple" | "pink" | "orange" | "red";
320
+ size: "small" | "medium" | "large";
321
+ }>[];
322
+ ariaLabel: string | undefined;
323
+ }>)[];
324
+ fullGraphAriaLabel: string | undefined;
325
+ fullGraphAriaDescription: string | undefined;
326
+ }>>>;
@@ -1,3 +1,16 @@
1
- import type { LabelImageWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parseLabelImageWidget: Parser<LabelImageWidget>;
1
+ export declare const parseLabelImageWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"label-image", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ choices: string[];
3
+ imageUrl: string;
4
+ imageAlt: string;
5
+ imageHeight: number;
6
+ imageWidth: number;
7
+ markers: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
8
+ answers: string[];
9
+ label: string;
10
+ x: number;
11
+ y: number;
12
+ }>[];
13
+ hideChoicesFromInstructions: boolean;
14
+ multipleAnswers: boolean;
15
+ static: boolean;
16
+ }>>>;
@@ -1,2 +1 @@
1
- export declare const parseLegacyButtonSet: import("../parser-types").Parser<"basic" | "basic+div" | "trig" | "prealgebra" | "logarithms" | "basic relations" | "advanced relations" | "scientific">;
2
- export declare const parseLegacyButtonSets: import("../parser-types").Parser<("basic" | "basic+div" | "trig" | "prealgebra" | "logarithms" | "basic relations" | "advanced relations" | "scientific")[] | readonly ["basic", "trig", "prealgebra", "logarithms"]>;
1
+ export declare const parseLegacyButtonSets: import("../parser-types").Parser<("basic" | "basic+div" | "trig" | "prealgebra" | "logarithms" | "basic relations" | "advanced relations" | "scientific")[]>;
@@ -1,3 +1,7 @@
1
- import type { MatcherWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parseMatcherWidget: Parser<MatcherWidget>;
1
+ export declare const parseMatcherWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"matcher", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ labels: string[];
3
+ left: string[];
4
+ right: string[];
5
+ orderMatters: boolean;
6
+ padding: boolean;
7
+ }>>>;
@@ -1,3 +1,8 @@
1
- import type { MatrixWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parseMatrixWidget: Parser<MatrixWidget>;
1
+ export declare const parseMatrixWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"matrix", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ prefix: string | undefined;
3
+ suffix: string | undefined;
4
+ answers: number[][];
5
+ cursorPosition: number[] | undefined;
6
+ matrixBoardSize: number[];
7
+ static: boolean | undefined;
8
+ }>>>;
@@ -1,3 +1,18 @@
1
- import type { MeasurerWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parseMeasurerWidget: Parser<MeasurerWidget>;
1
+ export declare const parseMeasurerWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"measurer", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ image: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
3
+ url: string | null | undefined;
4
+ width: number | undefined;
5
+ height: number | undefined;
6
+ top: number | undefined;
7
+ left: number | undefined;
8
+ bottom: number | undefined;
9
+ scale: number | undefined;
10
+ }>;
11
+ showProtractor: boolean;
12
+ showRuler: boolean;
13
+ rulerLabel: string;
14
+ rulerTicks: number;
15
+ rulerPixels: number;
16
+ rulerLength: number;
17
+ box: [number, number];
18
+ }>>>;
@@ -1,3 +1,5 @@
1
- import type { MoleculeRendererWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parseMoleculeRendererWidget: Parser<MoleculeRendererWidget>;
1
+ export declare const parseMoleculeRendererWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"molecule-renderer", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ widgetId: string;
3
+ rotationAngle: number | undefined;
4
+ smiles: string | undefined;
5
+ }>>>;
@@ -1,3 +1,17 @@
1
- import type { NumberLineWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parseNumberLineWidget: Parser<NumberLineWidget>;
1
+ export declare const parseNumberLineWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"number-line", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ range: number[];
3
+ labelRange: (number | null)[];
4
+ labelStyle: string;
5
+ labelTicks: boolean;
6
+ isTickCtrl: boolean | null | undefined;
7
+ isInequality: boolean;
8
+ divisionRange: number[];
9
+ numDivisions: number | null | undefined;
10
+ snapDivisions: number;
11
+ tickStep: number | null | undefined;
12
+ correctRel: "eq" | "lt" | "gt" | "le" | "ge" | undefined;
13
+ correctX: number | null;
14
+ initialX: number | null | undefined;
15
+ showTooltips: boolean | undefined;
16
+ static: boolean;
17
+ }>>>;
@@ -1,4 +1,21 @@
1
- import type { NumericInputWidget, PerseusNumericInputSimplify } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parseSimplify: Parser<PerseusNumericInputSimplify>;
4
- export declare const parseNumericInputWidget: Parser<NumericInputWidget>;
1
+ export declare const parseSimplify: import("../parser-types").Parser<"required" | "enforced" | "optional">;
2
+ export declare const parseNumericInputWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"numeric-input", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
3
+ answers: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
4
+ message: string;
5
+ value: number | null | undefined;
6
+ status: string;
7
+ answerForms: ("integer" | "mixed" | "improper" | "proper" | "decimal" | "percent" | "pi")[] | undefined;
8
+ strict: boolean;
9
+ maxError: number | null | undefined;
10
+ simplify: "required" | "enforced" | "optional";
11
+ }>[];
12
+ labelText: string | undefined;
13
+ size: string;
14
+ coefficient: boolean;
15
+ rightAlign: boolean | undefined;
16
+ static: boolean;
17
+ answerForms: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
18
+ name: "integer" | "mixed" | "improper" | "proper" | "decimal" | "percent" | "pi";
19
+ simplify: "required" | "enforced" | "optional";
20
+ }>[] | undefined;
21
+ }>>>;
@@ -1,3 +1,7 @@
1
- import type { OrdererWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parseOrdererWidget: Parser<OrdererWidget>;
1
+ export declare const parseOrdererWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"orderer", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ options: import("../..").PerseusRenderer[];
3
+ correctOptions: import("../..").PerseusRenderer[];
4
+ otherOptions: import("../..").PerseusRenderer[];
5
+ height: "normal" | "auto";
6
+ layout: "horizontal" | "vertical";
7
+ }>>>;
@@ -1,3 +1,5 @@
1
- import type { PassageRefWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parsePassageRefWidget: Parser<PassageRefWidget>;
1
+ export declare const parsePassageRefWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"passage-ref", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ passageNumber: number;
3
+ referenceNumber: number;
4
+ summaryText: string | undefined;
5
+ }>>>;
@@ -1,3 +1,7 @@
1
- import type { PassageWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parsePassageWidget: Parser<PassageWidget>;
1
+ export declare const parsePassageWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"passage", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ footnotes: string;
3
+ passageText: string;
4
+ passageTitle: string;
5
+ showLineNumbers: boolean;
6
+ static: boolean;
7
+ }>>>;
@@ -1,2 +1,11 @@
1
- import type { PerseusAnswerArea } from "../../data-schema";
2
- export declare const parsePerseusAnswerArea: import("../parser-types").Parser<PerseusAnswerArea>;
1
+ export declare const parsePerseusAnswerArea: import("../parser-types").Parser<{
2
+ zTable: boolean;
3
+ calculator: boolean;
4
+ chi2Table: boolean;
5
+ financialCalculatorMonthlyPayment: boolean;
6
+ financialCalculatorTotalAmount: boolean;
7
+ financialCalculatorTimeToPayOff: boolean;
8
+ periodicTable: boolean;
9
+ periodicTableWithKey: boolean;
10
+ tTable: boolean;
11
+ }>;
@@ -1,3 +1,9 @@
1
- import type { PerseusImageBackground } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parsePerseusImageBackground: Parser<PerseusImageBackground>;
1
+ export declare const parsePerseusImageBackground: import("../parser-types").Parser<import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ url: string | null | undefined;
3
+ width: number | undefined;
4
+ height: number | undefined;
5
+ top: number | undefined;
6
+ left: number | undefined;
7
+ bottom: number | undefined;
8
+ scale: number | undefined;
9
+ }>>;
@@ -0,0 +1,4 @@
1
+ export declare const parsePerseusImageDetail: import("../parser-types").Parser<import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ width: number;
3
+ height: number;
4
+ }>>;
@@ -1,3 +1,4 @@
1
- import type { PhetSimulationWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parsePhetSimulationWidget: Parser<PhetSimulationWidget>;
1
+ export declare const parsePhetSimulationWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"phet-simulation", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ url: string;
3
+ description: string;
4
+ }>>>;
@@ -1,3 +1,15 @@
1
- import type { PlotterWidget } from "../../data-schema";
2
- import type { Parser } from "../parser-types";
3
- export declare const parsePlotterWidget: Parser<PlotterWidget>;
1
+ export declare const parsePlotterWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"plotter", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
2
+ labels: string[];
3
+ categories: string[];
4
+ type: "line" | "bar" | "pic" | "histogram" | "dotplot";
5
+ maxY: number;
6
+ scaleY: number;
7
+ labelInterval: number | null | undefined;
8
+ snapsPerLine: number;
9
+ starting: number[];
10
+ correct: number[];
11
+ picUrl: string | null | undefined;
12
+ picSize: number | null | undefined;
13
+ picBoxHeight: number | null | undefined;
14
+ plotDimensions: number[];
15
+ }>>>;