@khanacademy/perseus-core 26.3.1 → 27.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 (41) hide show
  1. package/dist/data-schema.d.ts +30 -2
  2. package/dist/es/index.item-splitting.js +2 -2
  3. package/dist/es/index.item-splitting.js.map +1 -1
  4. package/dist/es/index.js +6 -6
  5. package/dist/es/index.js.map +1 -1
  6. package/dist/index.item-splitting.js +2 -2
  7. package/dist/index.item-splitting.js.map +1 -1
  8. package/dist/index.js +6 -6
  9. package/dist/index.js.map +1 -1
  10. package/dist/parse-perseus-json/perseus-parsers/interactive-graph-user-input.d.ts +15 -0
  11. package/dist/parse-perseus-json/perseus-parsers/interactive-graph-widget.d.ts +45 -0
  12. package/dist/parse-perseus-json/perseus-parsers/numeric-input-widget.d.ts +0 -1
  13. package/dist/widgets/categorizer/index.d.ts +2 -1
  14. package/dist/widgets/core-widget-registry.d.ts +1 -1
  15. package/dist/widgets/cs-program/index.d.ts +1 -1
  16. package/dist/widgets/dropdown/index.d.ts +2 -1
  17. package/dist/widgets/expression/index.d.ts +2 -1
  18. package/dist/widgets/free-response/free-response-util.d.ts +1 -2
  19. package/dist/widgets/free-response/index.d.ts +2 -1
  20. package/dist/widgets/grapher/index.d.ts +2 -1
  21. package/dist/widgets/group/group-util.d.ts +1 -2
  22. package/dist/widgets/group/index.d.ts +2 -1
  23. package/dist/widgets/iframe/index.d.ts +1 -1
  24. package/dist/widgets/image/index.d.ts +1 -1
  25. package/dist/widgets/input-number/index.d.ts +2 -1
  26. package/dist/widgets/input-number/input-number-util.d.ts +1 -2
  27. package/dist/widgets/interactive-graph/index.d.ts +2 -1
  28. package/dist/widgets/label-image/index.d.ts +2 -1
  29. package/dist/widgets/logic-export.types.d.ts +4 -4
  30. package/dist/widgets/matcher/index.d.ts +2 -1
  31. package/dist/widgets/matrix/index.d.ts +2 -1
  32. package/dist/widgets/number-line/index.d.ts +2 -1
  33. package/dist/widgets/numeric-input/index.d.ts +2 -1
  34. package/dist/widgets/numeric-input/numeric-input-util.d.ts +1 -2
  35. package/dist/widgets/orderer/index.d.ts +2 -1
  36. package/dist/widgets/plotter/index.d.ts +2 -1
  37. package/dist/widgets/radio/index.d.ts +2 -1
  38. package/dist/widgets/sorter/index.d.ts +2 -1
  39. package/dist/widgets/table/index.d.ts +2 -1
  40. package/dist/widgets/table/table-util.d.ts +1 -2
  41. package/package.json +3 -3
@@ -7,6 +7,7 @@ export declare const parseInteractiveGraphUserInput: import("../parser-types").P
7
7
  match: "congruent" | undefined;
8
8
  coords: [[number, number], [number, number], [number, number]] | undefined;
9
9
  startCoords: [[number, number], [number, number], [number, number]] | undefined;
10
+ pointLabels: [string, string, string] | undefined;
10
11
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
11
12
  type: "circle";
12
13
  center: [number, number] | undefined;
@@ -15,14 +16,17 @@ export declare const parseInteractiveGraphUserInput: import("../parser-types").P
15
16
  center: [number, number];
16
17
  radius: number;
17
18
  }> | undefined;
19
+ pointLabels: string[] | undefined;
18
20
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
19
21
  type: "linear";
20
22
  coords: [[number, number], [number, number]] | null | undefined;
21
23
  startCoords: [[number, number], [number, number]] | undefined;
24
+ pointLabels: [string, string] | undefined;
22
25
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
23
26
  type: "linear-system";
24
27
  coords: [[number, number], [number, number]][] | null | undefined;
25
28
  startCoords: [[number, number], [number, number]][] | undefined;
29
+ pointLabels: string[] | undefined;
26
30
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
27
31
  type: "none";
28
32
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
@@ -31,6 +35,7 @@ export declare const parseInteractiveGraphUserInput: import("../parser-types").P
31
35
  coords: [number, number][] | null | undefined;
32
36
  startCoords: [number, number][] | undefined;
33
37
  coord: [number, number] | undefined;
38
+ pointLabels: string[] | undefined;
34
39
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
35
40
  type: "polygon";
36
41
  numSides: number | "unlimited" | undefined;
@@ -40,23 +45,28 @@ export declare const parseInteractiveGraphUserInput: import("../parser-types").P
40
45
  match: "congruent" | "similar" | "approx" | "exact" | undefined;
41
46
  startCoords: [number, number][] | undefined;
42
47
  coords: [number, number][] | null | undefined;
48
+ pointLabels: string[] | undefined;
43
49
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
44
50
  type: "quadratic";
45
51
  coords: [[number, number], [number, number], [number, number]] | null | undefined;
46
52
  startCoords: [[number, number], [number, number], [number, number]] | undefined;
53
+ pointLabels: [string, string, string] | undefined;
47
54
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
48
55
  type: "ray";
49
56
  coords: [[number, number], [number, number]] | null | undefined;
50
57
  startCoords: [[number, number], [number, number]] | undefined;
58
+ pointLabels: [string, string] | undefined;
51
59
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
52
60
  type: "segment";
53
61
  numSegments: number | undefined;
54
62
  coords: [[number, number], [number, number]][] | null | undefined;
55
63
  startCoords: [[number, number], [number, number]][] | undefined;
64
+ pointLabels: string[] | undefined;
56
65
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
57
66
  type: "sinusoid";
58
67
  coords: [number, number][] | null | undefined;
59
68
  startCoords: [number, number][] | undefined;
69
+ pointLabels: string[] | undefined;
60
70
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
61
71
  type: "exponential";
62
72
  coords: [number, number][] | null | undefined;
@@ -65,14 +75,17 @@ export declare const parseInteractiveGraphUserInput: import("../parser-types").P
65
75
  coords: [[number, number], [number, number]];
66
76
  asymptote: number;
67
77
  }> | undefined;
78
+ pointLabels: string[] | undefined;
68
79
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
69
80
  type: "absolute-value";
70
81
  coords: [[number, number], [number, number]] | null | undefined;
71
82
  startCoords: [[number, number], [number, number]] | undefined;
83
+ pointLabels: [string, string] | undefined;
72
84
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
73
85
  type: "tangent";
74
86
  coords: [number, number][] | null | undefined;
75
87
  startCoords: [number, number][] | undefined;
88
+ pointLabels: string[] | undefined;
76
89
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
77
90
  type: "logarithm";
78
91
  coords: [number, number][] | null | undefined;
@@ -81,9 +94,11 @@ export declare const parseInteractiveGraphUserInput: import("../parser-types").P
81
94
  coords: [[number, number], [number, number]];
82
95
  asymptote: number;
83
96
  }> | undefined;
97
+ pointLabels: string[] | undefined;
84
98
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
85
99
  type: "vector";
86
100
  coords: [[number, number], [number, number]] | null | undefined;
87
101
  startCoords: [[number, number], [number, number]] | undefined;
88
102
  match: "congruent" | "exact" | undefined;
103
+ pointLabels: [string, string] | undefined;
89
104
  }>>;
@@ -7,6 +7,7 @@ export declare const parsePerseusGraphType: import("../parser-types").Parser<imp
7
7
  match: "congruent" | undefined;
8
8
  coords: [[number, number], [number, number], [number, number]] | undefined;
9
9
  startCoords: [[number, number], [number, number], [number, number]] | undefined;
10
+ pointLabels: [string, string, string] | undefined;
10
11
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
11
12
  type: "circle";
12
13
  center: [number, number] | undefined;
@@ -15,14 +16,17 @@ export declare const parsePerseusGraphType: import("../parser-types").Parser<imp
15
16
  center: [number, number];
16
17
  radius: number;
17
18
  }> | undefined;
19
+ pointLabels: string[] | undefined;
18
20
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
19
21
  type: "linear";
20
22
  coords: [[number, number], [number, number]] | null | undefined;
21
23
  startCoords: [[number, number], [number, number]] | undefined;
24
+ pointLabels: [string, string] | undefined;
22
25
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
23
26
  type: "linear-system";
24
27
  coords: [[number, number], [number, number]][] | null | undefined;
25
28
  startCoords: [[number, number], [number, number]][] | undefined;
29
+ pointLabels: string[] | undefined;
26
30
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
27
31
  type: "none";
28
32
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
@@ -31,6 +35,7 @@ export declare const parsePerseusGraphType: import("../parser-types").Parser<imp
31
35
  coords: [number, number][] | null | undefined;
32
36
  startCoords: [number, number][] | undefined;
33
37
  coord: [number, number] | undefined;
38
+ pointLabels: string[] | undefined;
34
39
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
35
40
  type: "polygon";
36
41
  numSides: number | "unlimited" | undefined;
@@ -40,23 +45,28 @@ export declare const parsePerseusGraphType: import("../parser-types").Parser<imp
40
45
  match: "congruent" | "similar" | "approx" | "exact" | undefined;
41
46
  startCoords: [number, number][] | undefined;
42
47
  coords: [number, number][] | null | undefined;
48
+ pointLabels: string[] | undefined;
43
49
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
44
50
  type: "quadratic";
45
51
  coords: [[number, number], [number, number], [number, number]] | null | undefined;
46
52
  startCoords: [[number, number], [number, number], [number, number]] | undefined;
53
+ pointLabels: [string, string, string] | undefined;
47
54
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
48
55
  type: "ray";
49
56
  coords: [[number, number], [number, number]] | null | undefined;
50
57
  startCoords: [[number, number], [number, number]] | undefined;
58
+ pointLabels: [string, string] | undefined;
51
59
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
52
60
  type: "segment";
53
61
  numSegments: number | undefined;
54
62
  coords: [[number, number], [number, number]][] | null | undefined;
55
63
  startCoords: [[number, number], [number, number]][] | undefined;
64
+ pointLabels: string[] | undefined;
56
65
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
57
66
  type: "sinusoid";
58
67
  coords: [number, number][] | null | undefined;
59
68
  startCoords: [number, number][] | undefined;
69
+ pointLabels: string[] | undefined;
60
70
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
61
71
  type: "exponential";
62
72
  coords: [number, number][] | null | undefined;
@@ -65,14 +75,17 @@ export declare const parsePerseusGraphType: import("../parser-types").Parser<imp
65
75
  coords: [[number, number], [number, number]];
66
76
  asymptote: number;
67
77
  }> | undefined;
78
+ pointLabels: string[] | undefined;
68
79
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
69
80
  type: "absolute-value";
70
81
  coords: [[number, number], [number, number]] | null | undefined;
71
82
  startCoords: [[number, number], [number, number]] | undefined;
83
+ pointLabels: [string, string] | undefined;
72
84
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
73
85
  type: "tangent";
74
86
  coords: [number, number][] | null | undefined;
75
87
  startCoords: [number, number][] | undefined;
88
+ pointLabels: string[] | undefined;
76
89
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
77
90
  type: "logarithm";
78
91
  coords: [number, number][] | null | undefined;
@@ -81,11 +94,13 @@ export declare const parsePerseusGraphType: import("../parser-types").Parser<imp
81
94
  coords: [[number, number], [number, number]];
82
95
  asymptote: number;
83
96
  }> | undefined;
97
+ pointLabels: string[] | undefined;
84
98
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
85
99
  type: "vector";
86
100
  coords: [[number, number], [number, number]] | null | undefined;
87
101
  startCoords: [[number, number], [number, number]] | undefined;
88
102
  match: "congruent" | "exact" | undefined;
103
+ pointLabels: [string, string] | undefined;
89
104
  }>>;
90
105
  export declare const parseLockedFunctionDomain: import("../parser-types").Parser<[number, number]>;
91
106
  export declare const parseInteractiveGraphWidget: import("../parser-types").Parser<import("../..").WidgetOptions<"interactive-graph", import("../general-purpose-parsers/object-types").OptionalizeProperties<{
@@ -129,6 +144,7 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
129
144
  match: "congruent" | undefined;
130
145
  coords: [[number, number], [number, number], [number, number]] | undefined;
131
146
  startCoords: [[number, number], [number, number], [number, number]] | undefined;
147
+ pointLabels: [string, string, string] | undefined;
132
148
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
133
149
  type: "circle";
134
150
  center: [number, number] | undefined;
@@ -137,14 +153,17 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
137
153
  center: [number, number];
138
154
  radius: number;
139
155
  }> | undefined;
156
+ pointLabels: string[] | undefined;
140
157
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
141
158
  type: "linear";
142
159
  coords: [[number, number], [number, number]] | null | undefined;
143
160
  startCoords: [[number, number], [number, number]] | undefined;
161
+ pointLabels: [string, string] | undefined;
144
162
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
145
163
  type: "linear-system";
146
164
  coords: [[number, number], [number, number]][] | null | undefined;
147
165
  startCoords: [[number, number], [number, number]][] | undefined;
166
+ pointLabels: string[] | undefined;
148
167
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
149
168
  type: "none";
150
169
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
@@ -153,6 +172,7 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
153
172
  coords: [number, number][] | null | undefined;
154
173
  startCoords: [number, number][] | undefined;
155
174
  coord: [number, number] | undefined;
175
+ pointLabels: string[] | undefined;
156
176
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
157
177
  type: "polygon";
158
178
  numSides: number | "unlimited" | undefined;
@@ -162,23 +182,28 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
162
182
  match: "congruent" | "similar" | "approx" | "exact" | undefined;
163
183
  startCoords: [number, number][] | undefined;
164
184
  coords: [number, number][] | null | undefined;
185
+ pointLabels: string[] | undefined;
165
186
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
166
187
  type: "quadratic";
167
188
  coords: [[number, number], [number, number], [number, number]] | null | undefined;
168
189
  startCoords: [[number, number], [number, number], [number, number]] | undefined;
190
+ pointLabels: [string, string, string] | undefined;
169
191
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
170
192
  type: "ray";
171
193
  coords: [[number, number], [number, number]] | null | undefined;
172
194
  startCoords: [[number, number], [number, number]] | undefined;
195
+ pointLabels: [string, string] | undefined;
173
196
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
174
197
  type: "segment";
175
198
  numSegments: number | undefined;
176
199
  coords: [[number, number], [number, number]][] | null | undefined;
177
200
  startCoords: [[number, number], [number, number]][] | undefined;
201
+ pointLabels: string[] | undefined;
178
202
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
179
203
  type: "sinusoid";
180
204
  coords: [number, number][] | null | undefined;
181
205
  startCoords: [number, number][] | undefined;
206
+ pointLabels: string[] | undefined;
182
207
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
183
208
  type: "exponential";
184
209
  coords: [number, number][] | null | undefined;
@@ -187,14 +212,17 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
187
212
  coords: [[number, number], [number, number]];
188
213
  asymptote: number;
189
214
  }> | undefined;
215
+ pointLabels: string[] | undefined;
190
216
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
191
217
  type: "absolute-value";
192
218
  coords: [[number, number], [number, number]] | null | undefined;
193
219
  startCoords: [[number, number], [number, number]] | undefined;
220
+ pointLabels: [string, string] | undefined;
194
221
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
195
222
  type: "tangent";
196
223
  coords: [number, number][] | null | undefined;
197
224
  startCoords: [number, number][] | undefined;
225
+ pointLabels: string[] | undefined;
198
226
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
199
227
  type: "logarithm";
200
228
  coords: [number, number][] | null | undefined;
@@ -203,11 +231,13 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
203
231
  coords: [[number, number], [number, number]];
204
232
  asymptote: number;
205
233
  }> | undefined;
234
+ pointLabels: string[] | undefined;
206
235
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
207
236
  type: "vector";
208
237
  coords: [[number, number], [number, number]] | null | undefined;
209
238
  startCoords: [[number, number], [number, number]] | undefined;
210
239
  match: "congruent" | "exact" | undefined;
240
+ pointLabels: [string, string] | undefined;
211
241
  }>;
212
242
  correct: import("../general-purpose-parsers/object-types").OptionalizeProperties<{
213
243
  type: "angle";
@@ -218,6 +248,7 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
218
248
  match: "congruent" | undefined;
219
249
  coords: [[number, number], [number, number], [number, number]] | undefined;
220
250
  startCoords: [[number, number], [number, number], [number, number]] | undefined;
251
+ pointLabels: [string, string, string] | undefined;
221
252
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
222
253
  type: "circle";
223
254
  center: [number, number] | undefined;
@@ -226,14 +257,17 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
226
257
  center: [number, number];
227
258
  radius: number;
228
259
  }> | undefined;
260
+ pointLabels: string[] | undefined;
229
261
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
230
262
  type: "linear";
231
263
  coords: [[number, number], [number, number]] | null | undefined;
232
264
  startCoords: [[number, number], [number, number]] | undefined;
265
+ pointLabels: [string, string] | undefined;
233
266
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
234
267
  type: "linear-system";
235
268
  coords: [[number, number], [number, number]][] | null | undefined;
236
269
  startCoords: [[number, number], [number, number]][] | undefined;
270
+ pointLabels: string[] | undefined;
237
271
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
238
272
  type: "none";
239
273
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
@@ -242,6 +276,7 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
242
276
  coords: [number, number][] | null | undefined;
243
277
  startCoords: [number, number][] | undefined;
244
278
  coord: [number, number] | undefined;
279
+ pointLabels: string[] | undefined;
245
280
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
246
281
  type: "polygon";
247
282
  numSides: number | "unlimited" | undefined;
@@ -251,23 +286,28 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
251
286
  match: "congruent" | "similar" | "approx" | "exact" | undefined;
252
287
  startCoords: [number, number][] | undefined;
253
288
  coords: [number, number][] | null | undefined;
289
+ pointLabels: string[] | undefined;
254
290
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
255
291
  type: "quadratic";
256
292
  coords: [[number, number], [number, number], [number, number]] | null | undefined;
257
293
  startCoords: [[number, number], [number, number], [number, number]] | undefined;
294
+ pointLabels: [string, string, string] | undefined;
258
295
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
259
296
  type: "ray";
260
297
  coords: [[number, number], [number, number]] | null | undefined;
261
298
  startCoords: [[number, number], [number, number]] | undefined;
299
+ pointLabels: [string, string] | undefined;
262
300
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
263
301
  type: "segment";
264
302
  numSegments: number | undefined;
265
303
  coords: [[number, number], [number, number]][] | null | undefined;
266
304
  startCoords: [[number, number], [number, number]][] | undefined;
305
+ pointLabels: string[] | undefined;
267
306
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
268
307
  type: "sinusoid";
269
308
  coords: [number, number][] | null | undefined;
270
309
  startCoords: [number, number][] | undefined;
310
+ pointLabels: string[] | undefined;
271
311
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
272
312
  type: "exponential";
273
313
  coords: [number, number][] | null | undefined;
@@ -276,14 +316,17 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
276
316
  coords: [[number, number], [number, number]];
277
317
  asymptote: number;
278
318
  }> | undefined;
319
+ pointLabels: string[] | undefined;
279
320
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
280
321
  type: "absolute-value";
281
322
  coords: [[number, number], [number, number]] | null | undefined;
282
323
  startCoords: [[number, number], [number, number]] | undefined;
324
+ pointLabels: [string, string] | undefined;
283
325
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
284
326
  type: "tangent";
285
327
  coords: [number, number][] | null | undefined;
286
328
  startCoords: [number, number][] | undefined;
329
+ pointLabels: string[] | undefined;
287
330
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
288
331
  type: "logarithm";
289
332
  coords: [number, number][] | null | undefined;
@@ -292,11 +335,13 @@ export declare const parseInteractiveGraphWidget: import("../parser-types").Pars
292
335
  coords: [[number, number], [number, number]];
293
336
  asymptote: number;
294
337
  }> | undefined;
338
+ pointLabels: string[] | undefined;
295
339
  }> | import("../general-purpose-parsers/object-types").OptionalizeProperties<{
296
340
  type: "vector";
297
341
  coords: [[number, number], [number, number]] | null | undefined;
298
342
  startCoords: [[number, number], [number, number]] | undefined;
299
343
  match: "congruent" | "exact" | undefined;
344
+ pointLabels: [string, string] | undefined;
300
345
  }>;
301
346
  lockedFigures: (import("../general-purpose-parsers/object-types").OptionalizeProperties<{
302
347
  type: "label";
@@ -13,5 +13,4 @@ export declare const parseNumericInputWidget: import("../parser-types").Parser<i
13
13
  size: string;
14
14
  coefficient: boolean;
15
15
  rightAlign: boolean | undefined;
16
- static: boolean;
17
16
  }>>>;
@@ -1,5 +1,6 @@
1
+ import type { CategorizerPublicWidgetOptions } from "./categorizer-util";
1
2
  import type { PerseusCategorizerWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type CategorizerDefaultWidgetOptions = Pick<PerseusCategorizerWidgetOptions, "items" | "categories" | "values" | "randomizeItems">;
4
- declare const categorizerWidgetLogic: WidgetLogic;
5
+ declare const categorizerWidgetLogic: WidgetLogic<PerseusCategorizerWidgetOptions, CategorizerPublicWidgetOptions>;
5
6
  export default categorizerWidgetLogic;
@@ -1,7 +1,7 @@
1
1
  import type { PublicWidgetOptionsFunction, WidgetLogic } from "./logic-export.types";
2
2
  import type { PerseusWidgetOptions, PerseusWidget } from "../data-schema";
3
3
  import type { Alignment } from "../types";
4
- export declare function registerWidget(type: string, logic: WidgetLogic): void;
4
+ export declare function registerWidget(type: string, logic: WidgetLogic<any, any>): void;
5
5
  export declare function isWidgetRegistered(type: string): boolean;
6
6
  export declare function getCurrentVersion(type: string): import("..").Version;
7
7
  export declare const getPublicWidgetOptionsFunction: (type: string) => PublicWidgetOptionsFunction;
@@ -1,5 +1,5 @@
1
1
  import type { PerseusCSProgramWidgetOptions } from "../../data-schema";
2
2
  import type { WidgetLogic } from "../logic-export.types";
3
3
  export type CSProgramDefaultWidgetOptions = Pick<PerseusCSProgramWidgetOptions, "programID" | "programType" | "settings" | "showEditor" | "showButtons" | "height">;
4
- declare const csProgramWidgetLogic: WidgetLogic;
4
+ declare const csProgramWidgetLogic: WidgetLogic<PerseusCSProgramWidgetOptions, PerseusCSProgramWidgetOptions>;
5
5
  export default csProgramWidgetLogic;
@@ -1,5 +1,6 @@
1
+ import type { DropdownPublicWidgetOptions } from "./dropdown-util";
1
2
  import type { PerseusDropdownWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type DropdownDefaultWidgetOptions = Pick<PerseusDropdownWidgetOptions, "placeholder" | "choices">;
4
- declare const dropdownWidgetLogic: WidgetLogic;
5
+ declare const dropdownWidgetLogic: WidgetLogic<PerseusDropdownWidgetOptions, DropdownPublicWidgetOptions>;
5
6
  export default dropdownWidgetLogic;
@@ -1,5 +1,6 @@
1
+ import type { ExpressionPublicWidgetOptions } from "./expression-util";
1
2
  import type { PerseusExpressionWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type ExpressionDefaultWidgetOptions = Pick<PerseusExpressionWidgetOptions, "answerForms" | "times" | "buttonSets" | "functions">;
4
- declare const expressionWidgetLogic: WidgetLogic;
5
+ declare const expressionWidgetLogic: WidgetLogic<PerseusExpressionWidgetOptions, ExpressionPublicWidgetOptions>;
5
6
  export default expressionWidgetLogic;
@@ -3,7 +3,7 @@ import type { PerseusFreeResponseWidgetOptions } from "../../data-schema";
3
3
  * For details on the individual options, see the
4
4
  * {@link PerseusFreeResponseWidgetOptions} type
5
5
  */
6
- type FreeResponsePublicWidgetOptions = {
6
+ export type FreeResponsePublicWidgetOptions = {
7
7
  allowUnlimitedCharacters: PerseusFreeResponseWidgetOptions["allowUnlimitedCharacters"];
8
8
  characterLimit: PerseusFreeResponseWidgetOptions["characterLimit"];
9
9
  placeholder: PerseusFreeResponseWidgetOptions["placeholder"];
@@ -14,4 +14,3 @@ type FreeResponsePublicWidgetOptions = {
14
14
  * the public options that should be exposed to the client.
15
15
  */
16
16
  export declare function getFreeResponsePublicWidgetOptions(options: PerseusFreeResponseWidgetOptions): FreeResponsePublicWidgetOptions;
17
- export {};
@@ -1,5 +1,6 @@
1
+ import type { FreeResponsePublicWidgetOptions } from "./free-response-util";
1
2
  import type { PerseusFreeResponseWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type FreeResponseDefaultWidgetOptions = Pick<PerseusFreeResponseWidgetOptions, "allowUnlimitedCharacters" | "characterLimit" | "placeholder" | "question" | "scoringCriteria">;
4
- declare const freeResponseWidgetLogic: WidgetLogic;
5
+ declare const freeResponseWidgetLogic: WidgetLogic<PerseusFreeResponseWidgetOptions, FreeResponsePublicWidgetOptions>;
5
6
  export default freeResponseWidgetLogic;
@@ -1,5 +1,6 @@
1
+ import type { GrapherPublicWidgetOptions } from "./grapher-util";
1
2
  import type { PerseusGrapherWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type GrapherDefaultWidgetOptions = Pick<PerseusGrapherWidgetOptions, "graph" | "correct" | "availableTypes">;
4
- declare const grapherWidgetLogic: WidgetLogic;
5
+ declare const grapherWidgetLogic: WidgetLogic<PerseusGrapherWidgetOptions, GrapherPublicWidgetOptions>;
5
6
  export default grapherWidgetLogic;
@@ -3,10 +3,9 @@ import type { PerseusGroupWidgetOptions, PerseusRenderer } from "../../data-sche
3
3
  * For details on the individual options, see the
4
4
  * PerseusGroupWidgetOptions type
5
5
  */
6
- type GroupPublicWidgetOptions = PerseusRenderer;
6
+ export type GroupPublicWidgetOptions = PerseusRenderer;
7
7
  /**
8
8
  * Given a PerseusGroupWidgetOptions object, return a new object with only
9
9
  * the public options that should be exposed to the client.
10
10
  */
11
11
  export declare function getGroupPublicWidgetOptions(options: PerseusGroupWidgetOptions): GroupPublicWidgetOptions;
12
- export {};
@@ -1,5 +1,6 @@
1
+ import type { GroupPublicWidgetOptions } from "./group-util";
1
2
  import type { PerseusGroupWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type GroupDefaultWidgetOptions = Pick<PerseusGroupWidgetOptions, "content" | "widgets" | "images">;
4
- declare const groupWidgetLogic: WidgetLogic;
5
+ declare const groupWidgetLogic: WidgetLogic<PerseusGroupWidgetOptions, GroupPublicWidgetOptions>;
5
6
  export default groupWidgetLogic;
@@ -1,5 +1,5 @@
1
1
  import type { PerseusIFrameWidgetOptions } from "../../data-schema";
2
2
  import type { WidgetLogic } from "../logic-export.types";
3
3
  export type IFrameDefaultWidgetOptions = Pick<PerseusIFrameWidgetOptions, "url" | "settings" | "width" | "height" | "allowFullScreen" | "allowTopNavigation">;
4
- declare const iframeWidgetLogic: WidgetLogic;
4
+ declare const iframeWidgetLogic: WidgetLogic<PerseusIFrameWidgetOptions, PerseusIFrameWidgetOptions>;
5
5
  export default iframeWidgetLogic;
@@ -1,5 +1,5 @@
1
1
  import type { PerseusImageWidgetOptions } from "../../data-schema";
2
2
  import type { WidgetLogic } from "../logic-export.types";
3
3
  export type ImageDefaultWidgetOptions = Pick<PerseusImageWidgetOptions, "title" | "range" | "box" | "backgroundImage" | "scale" | "labels" | "alt" | "caption">;
4
- declare const imageWidgetLogic: WidgetLogic;
4
+ declare const imageWidgetLogic: WidgetLogic<PerseusImageWidgetOptions>;
5
5
  export default imageWidgetLogic;
@@ -1,5 +1,6 @@
1
+ import type { InputNumberPublicWidgetOptions } from "./input-number-util";
1
2
  import type { PerseusInputNumberWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type InputNumberDefaultWidgetOptions = Pick<PerseusInputNumberWidgetOptions, "value" | "simplify" | "size" | "inexact" | "maxError" | "answerType" | "rightAlign">;
4
- declare const inputNumberWidgetLogic: WidgetLogic;
5
+ declare const inputNumberWidgetLogic: WidgetLogic<PerseusInputNumberWidgetOptions, InputNumberPublicWidgetOptions>;
5
6
  export default inputNumberWidgetLogic;
@@ -3,10 +3,9 @@ import type { PerseusInputNumberWidgetOptions } from "../../data-schema";
3
3
  * For details on the individual options, see the
4
4
  * PerseusInputNumberWidgetOptions type
5
5
  */
6
- type InputNumberPublicWidgetOptions = Pick<PerseusInputNumberWidgetOptions, "answerType" | "inexact" | "maxError" | "rightAlign" | "simplify" | "size">;
6
+ export type InputNumberPublicWidgetOptions = Pick<PerseusInputNumberWidgetOptions, "answerType" | "inexact" | "maxError" | "rightAlign" | "simplify" | "size">;
7
7
  /**
8
8
  * Given a PerseusInputNumberWidgetOptions object, return a new object with only
9
9
  * the public options that should be exposed to the client.
10
10
  */
11
11
  export declare function getInputNumberPublicWidgetOptions(options: PerseusInputNumberWidgetOptions): InputNumberPublicWidgetOptions;
12
- export {};
@@ -1,5 +1,6 @@
1
+ import type { InteractiveGraphPublicWidgetOptions } from "./interactive-graph-util";
1
2
  import type { PerseusInteractiveGraphWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type InteractiveGraphDefaultWidgetOptions = Pick<PerseusInteractiveGraphWidgetOptions, "labels" | "labelLocation" | "lockedFigures" | "range" | "step" | "backgroundImage" | "markings" | "showAxisArrows" | "showAxisTicks" | "showTooltips" | "showProtractor" | "graph" | "correct">;
4
- declare const interactiveGraphWidgetLogic: WidgetLogic;
5
+ declare const interactiveGraphWidgetLogic: WidgetLogic<PerseusInteractiveGraphWidgetOptions, InteractiveGraphPublicWidgetOptions>;
5
6
  export default interactiveGraphWidgetLogic;
@@ -1,5 +1,6 @@
1
+ import type { LabelImagePublicWidgetOptions } from "./label-image-util";
1
2
  import type { PerseusLabelImageWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type LabelImageDefaultWidgetOptions = Pick<PerseusLabelImageWidgetOptions, "choices" | "imageAlt" | "imageUrl" | "imageWidth" | "imageHeight" | "markers" | "multipleAnswers" | "hideChoicesFromInstructions">;
4
- declare const labelImageWidgetLogic: WidgetLogic;
5
+ declare const labelImageWidgetLogic: WidgetLogic<PerseusLabelImageWidgetOptions, LabelImagePublicWidgetOptions>;
5
6
  export default labelImageWidgetLogic;
@@ -18,7 +18,7 @@ import type { getPlotterPublicWidgetOptions } from "./plotter/plotter-util";
18
18
  import type { getRadioPublicWidgetOptions } from "./radio/radio-util";
19
19
  import type { getSorterPublicWidgetOptions } from "./sorter/sorter-util";
20
20
  import type { getTablePublicWidgetOptions } from "./table/table-util";
21
- import type { PerseusWidgetOptions, Version } from "../data-schema";
21
+ import type { Version } from "../data-schema";
22
22
  import type { Alignment } from "../types";
23
23
  export type WidgetOptionsUpgradeMap = {
24
24
  [targetMajorVersion: string]: (arg1: any) => any;
@@ -30,17 +30,17 @@ export type WidgetOptionsUpgradeMap = {
30
30
  * so reliant on a set group of widgets
31
31
  */
32
32
  export type PublicWidgetOptionsFunction = typeof getCategorizerPublicWidgetOptions | typeof getCSProgramPublicWidgetOptions | typeof getDropdownPublicWidgetOptions | typeof getExpressionPublicWidgetOptions | typeof getFreeResponsePublicWidgetOptions | typeof getGrapherPublicWidgetOptions | typeof getGroupPublicWidgetOptions | typeof getIFramePublicWidgetOptions | typeof getInputNumberPublicWidgetOptions | typeof getInteractiveGraphPublicWidgetOptions | typeof getLabelImagePublicWidgetOptions | typeof getMatcherPublicWidgetOptions | typeof getMatrixPublicWidgetOptions | typeof getNumberLinePublicWidgetOptions | typeof getNumericInputPublicWidgetOptions | typeof getOrdererPublicWidgetOptions | typeof getPlotterPublicWidgetOptions | typeof getRadioPublicWidgetOptions | typeof getSorterPublicWidgetOptions | typeof getTablePublicWidgetOptions;
33
- export type WidgetLogic = {
33
+ export type WidgetLogic<TWidgetOptions = never, TPublicWidgetOptions = never> = {
34
34
  name: string;
35
35
  version?: Version;
36
36
  defaultWidgetOptions?: any;
37
37
  supportedAlignments?: ReadonlyArray<Alignment>;
38
38
  defaultAlignment?: Alignment;
39
- accessible?: boolean | ((options: PerseusWidgetOptions) => boolean);
39
+ accessible?: boolean | ((options: TWidgetOptions) => boolean);
40
40
  traverseChildWidgets?: (props: any, traverseRenderer: any) => any;
41
41
  /**
42
42
  * A function that provides a public version of the widget options that can
43
43
  * be shared with the client.
44
44
  */
45
- getPublicWidgetOptions?: PublicWidgetOptionsFunction;
45
+ getPublicWidgetOptions?: (options: TWidgetOptions) => TPublicWidgetOptions;
46
46
  };
@@ -1,5 +1,6 @@
1
+ import type { MatcherPublicWidgetOptions } from "./matcher-util";
1
2
  import type { PerseusMatcherWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type MatcherDefaultWidgetOptions = Pick<PerseusMatcherWidgetOptions, "left" | "right" | "labels" | "orderMatters" | "padding">;
4
- declare const matcherWidgetLogic: WidgetLogic;
5
+ declare const matcherWidgetLogic: WidgetLogic<PerseusMatcherWidgetOptions, MatcherPublicWidgetOptions>;
5
6
  export default matcherWidgetLogic;
@@ -1,5 +1,6 @@
1
+ import type { MatrixPublicWidgetOptions } from "./matrix-util";
1
2
  import type { PerseusMatrixWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type MatrixDefaultWidgetOptions = Pick<PerseusMatrixWidgetOptions, "matrixBoardSize" | "answers" | "prefix" | "suffix" | "cursorPosition">;
4
- declare const matrixWidgetLogic: WidgetLogic;
5
+ declare const matrixWidgetLogic: WidgetLogic<PerseusMatrixWidgetOptions, MatrixPublicWidgetOptions>;
5
6
  export default matrixWidgetLogic;
@@ -1,5 +1,6 @@
1
+ import type { NumberLinePublicWidgetOptions } from "./number-line-util";
1
2
  import type { PerseusNumberLineWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type NumberLineDefaultWidgetOptions = Pick<PerseusNumberLineWidgetOptions, "range" | "labelRange" | "labelStyle" | "labelTicks" | "divisionRange" | "numDivisions" | "snapDivisions" | "tickStep" | "correctRel" | "correctX" | "initialX" | "showTooltips">;
4
- declare const numberLineWidgetLogic: WidgetLogic;
5
+ declare const numberLineWidgetLogic: WidgetLogic<PerseusNumberLineWidgetOptions, NumberLinePublicWidgetOptions>;
5
6
  export default numberLineWidgetLogic;
@@ -1,5 +1,6 @@
1
+ import type { NumericInputPublicWidgetOptions } from "./numeric-input-util";
1
2
  import type { PerseusNumericInputWidgetOptions } from "../../data-schema";
2
3
  import type { WidgetLogic } from "../logic-export.types";
3
4
  export type NumericInputDefaultWidgetOptions = Pick<PerseusNumericInputWidgetOptions, "answers" | "size" | "coefficient" | "labelText" | "rightAlign">;
4
- declare const numericInputWidgetLogic: WidgetLogic;
5
+ declare const numericInputWidgetLogic: WidgetLogic<PerseusNumericInputWidgetOptions, NumericInputPublicWidgetOptions>;
5
6
  export default numericInputWidgetLogic;
@@ -4,12 +4,11 @@ type NumericInputAnswerPublicData = Pick<PerseusNumericInputAnswer, "answerForms
4
4
  * For details on the individual options, see the
5
5
  * PerseusNumericInputWidgetOptions type
6
6
  */
7
- type NumericInputPublicWidgetOptions = {
7
+ export type NumericInputPublicWidgetOptions = {
8
8
  labelText?: PerseusNumericInputWidgetOptions["labelText"];
9
9
  size: PerseusNumericInputWidgetOptions["size"];
10
10
  coefficient: PerseusNumericInputWidgetOptions["coefficient"];
11
11
  rightAlign?: PerseusNumericInputWidgetOptions["rightAlign"];
12
- static: PerseusNumericInputWidgetOptions["static"];
13
12
  answers: ReadonlyArray<NumericInputAnswerPublicData>;
14
13
  };
15
14
  /**