@khanacademy/perseus 21.5.0 → 21.6.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.
- package/dist/es/index.css +3 -0
- package/dist/es/index.js +100 -55
- package/dist/es/index.js.map +1 -1
- package/dist/index.css +3 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +101 -51
- package/dist/index.js.map +1 -1
- package/dist/perseus-api.d.ts +5 -3
- package/dist/perseus-types.d.ts +17 -8
- package/dist/server-item-renderer.d.ts +5 -3
- package/dist/types.d.ts +8 -5
- package/dist/widgets/expression.d.ts +30 -18
- package/dist/widgets/interactive-graphs/locked-line.d.ts +4 -0
- package/dist/widgets/interactive-graphs/locked-point.d.ts +4 -0
- package/dist/widgets/label-image.d.ts +10 -6
- package/package.json +34 -35
package/dist/perseus-api.d.ts
CHANGED
|
@@ -96,13 +96,15 @@ export declare const ApiOptions: {
|
|
|
96
96
|
crossOutEnabled?: boolean | undefined;
|
|
97
97
|
editorChangeDelay?: number | undefined;
|
|
98
98
|
flags?: {
|
|
99
|
-
mafs?: false | {
|
|
99
|
+
mafs?: false | ({
|
|
100
100
|
polygon?: boolean | undefined;
|
|
101
101
|
linear?: boolean | undefined;
|
|
102
|
+
ray?: boolean | undefined;
|
|
102
103
|
segment?: boolean | undefined;
|
|
103
104
|
"linear-system"?: boolean | undefined;
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
} & {
|
|
106
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
107
|
+
}) | undefined;
|
|
106
108
|
} | undefined;
|
|
107
109
|
onWidgetStartProps?: ((widgets: import("./perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
108
110
|
}> & {
|
package/dist/perseus-types.d.ts
CHANGED
|
@@ -4,10 +4,6 @@ export type Range = Interval;
|
|
|
4
4
|
export type Size = [number, number];
|
|
5
5
|
export type CollinearTuple = readonly [vec.Vector2, vec.Vector2];
|
|
6
6
|
export type ShowSolutions = "all" | "selected" | "none";
|
|
7
|
-
export type StyleParams = {
|
|
8
|
-
fill?: string;
|
|
9
|
-
stroke?: string;
|
|
10
|
-
};
|
|
11
7
|
type Empty = Record<never, never>;
|
|
12
8
|
export type PerseusWidgetsMap = {
|
|
13
9
|
[key in `categorizer ${number}`]: CategorizerWidget;
|
|
@@ -351,12 +347,25 @@ export type PerseusInteractiveGraphWidgetOptions = {
|
|
|
351
347
|
correct: PerseusGraphType;
|
|
352
348
|
lockedFigures?: ReadonlyArray<LockedFigure>;
|
|
353
349
|
};
|
|
354
|
-
export
|
|
355
|
-
export type
|
|
356
|
-
export type
|
|
350
|
+
export declare const lockedFigureColors: readonly ["purple", "blue", "teal", "green", "gold", "red", "pink"];
|
|
351
|
+
export type LockedFigureColor = (typeof lockedFigureColors)[number];
|
|
352
|
+
export type LockedFigure = LockedPointType | LockedLineType;
|
|
353
|
+
export type LockedFigureType = LockedFigure["type"];
|
|
354
|
+
export type LockedPointType = {
|
|
357
355
|
type: "point";
|
|
358
356
|
coord: Coord;
|
|
359
|
-
|
|
357
|
+
color: LockedFigureColor;
|
|
358
|
+
filled: boolean;
|
|
359
|
+
};
|
|
360
|
+
export type LockedLineType = {
|
|
361
|
+
type: "line";
|
|
362
|
+
kind: "line" | "ray" | "segment";
|
|
363
|
+
points: [startPoint: LockedPointType, endPoint: LockedPointType];
|
|
364
|
+
color: LockedFigureColor;
|
|
365
|
+
lineStyle: "solid" | "dashed";
|
|
366
|
+
showArrows: boolean;
|
|
367
|
+
showStartPoint: boolean;
|
|
368
|
+
showEndPoint: boolean;
|
|
360
369
|
};
|
|
361
370
|
export type PerseusGraphType = PerseusGraphTypeAngle | PerseusGraphTypeCircle | PerseusGraphTypeLinear | PerseusGraphTypeLinearSystem | PerseusGraphTypePoint | PerseusGraphTypePolygon | PerseusGraphTypeQuadratic | PerseusGraphTypeRay | PerseusGraphTypeSegment | PerseusGraphTypeSinusoid;
|
|
362
371
|
export type PerseusGraphTypeCommon = {
|
|
@@ -135,13 +135,15 @@ declare const ref: React.ForwardRefExoticComponent<Omit<Pick<OwnProps & HOCProps
|
|
|
135
135
|
crossOutEnabled?: boolean | undefined;
|
|
136
136
|
editorChangeDelay?: number | undefined;
|
|
137
137
|
flags?: {
|
|
138
|
-
mafs?: false | {
|
|
138
|
+
mafs?: false | ({
|
|
139
139
|
polygon?: boolean | undefined;
|
|
140
140
|
linear?: boolean | undefined;
|
|
141
|
+
ray?: boolean | undefined;
|
|
141
142
|
segment?: boolean | undefined;
|
|
142
143
|
"linear-system"?: boolean | undefined;
|
|
143
|
-
|
|
144
|
-
|
|
144
|
+
} & {
|
|
145
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
146
|
+
}) | undefined;
|
|
145
147
|
} | undefined;
|
|
146
148
|
onWidgetStartProps?: ((widgets: import("./perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
147
149
|
}> | undefined;
|
package/dist/types.d.ts
CHANGED
|
@@ -77,7 +77,8 @@ type TrackInteractionArgs = {
|
|
|
77
77
|
id: string;
|
|
78
78
|
correct?: boolean;
|
|
79
79
|
} & Partial<TrackingGradedGroupExtraArguments> & Partial<TrackingSequenceExtraArguments>;
|
|
80
|
-
export declare const
|
|
80
|
+
export declare const MafsGraphTypeFlags: readonly ["segment", "linear", "linear-system", "ray", "polygon"];
|
|
81
|
+
export declare const InteractiveGraphLockedFeaturesFlags: readonly ["interactive-graph-locked-features-m1"];
|
|
81
82
|
/**
|
|
82
83
|
* APIOptions provides different ways to customize the behaviour of Perseus.
|
|
83
84
|
*
|
|
@@ -203,11 +204,13 @@ export type APIOptions = Readonly<{
|
|
|
203
204
|
/**
|
|
204
205
|
* Flags related to the interactive-graph Mafs migration.
|
|
205
206
|
*
|
|
206
|
-
* Add values to the
|
|
207
|
+
* Add values to the relevant array to create new flags.
|
|
207
208
|
*/
|
|
208
|
-
mafs?: false | {
|
|
209
|
-
[Key in (typeof
|
|
210
|
-
}
|
|
209
|
+
mafs?: false | ({
|
|
210
|
+
[Key in (typeof MafsGraphTypeFlags)[number]]?: boolean;
|
|
211
|
+
} & {
|
|
212
|
+
[Key in (typeof InteractiveGraphLockedFeaturesFlags)[number]]?: boolean;
|
|
213
|
+
});
|
|
211
214
|
};
|
|
212
215
|
/**
|
|
213
216
|
* This is a callback function that returns all of the Widget props
|
|
@@ -124,13 +124,15 @@ declare const _default: Readonly<{
|
|
|
124
124
|
crossOutEnabled?: boolean | undefined;
|
|
125
125
|
editorChangeDelay?: number | undefined;
|
|
126
126
|
flags?: {
|
|
127
|
-
mafs?: false | {
|
|
127
|
+
mafs?: false | ({
|
|
128
128
|
polygon?: boolean | undefined;
|
|
129
129
|
linear?: boolean | undefined;
|
|
130
|
+
ray?: boolean | undefined;
|
|
130
131
|
segment?: boolean | undefined;
|
|
131
132
|
"linear-system"?: boolean | undefined;
|
|
132
|
-
|
|
133
|
-
|
|
133
|
+
} & {
|
|
134
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
135
|
+
}) | undefined;
|
|
134
136
|
} | undefined;
|
|
135
137
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
136
138
|
}> & {
|
|
@@ -199,13 +201,15 @@ declare const _default: Readonly<{
|
|
|
199
201
|
crossOutEnabled?: boolean | undefined;
|
|
200
202
|
editorChangeDelay?: number | undefined;
|
|
201
203
|
flags?: {
|
|
202
|
-
mafs?: false | {
|
|
204
|
+
mafs?: false | ({
|
|
203
205
|
polygon?: boolean | undefined;
|
|
204
206
|
linear?: boolean | undefined;
|
|
207
|
+
ray?: boolean | undefined;
|
|
205
208
|
segment?: boolean | undefined;
|
|
206
209
|
"linear-system"?: boolean | undefined;
|
|
207
|
-
|
|
208
|
-
|
|
210
|
+
} & {
|
|
211
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
212
|
+
}) | undefined;
|
|
209
213
|
} | undefined;
|
|
210
214
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
211
215
|
}> & {
|
|
@@ -274,13 +278,15 @@ declare const _default: Readonly<{
|
|
|
274
278
|
crossOutEnabled?: boolean | undefined;
|
|
275
279
|
editorChangeDelay?: number | undefined;
|
|
276
280
|
flags?: {
|
|
277
|
-
mafs?: false | {
|
|
281
|
+
mafs?: false | ({
|
|
278
282
|
polygon?: boolean | undefined;
|
|
279
283
|
linear?: boolean | undefined;
|
|
284
|
+
ray?: boolean | undefined;
|
|
280
285
|
segment?: boolean | undefined;
|
|
281
286
|
"linear-system"?: boolean | undefined;
|
|
282
|
-
|
|
283
|
-
|
|
287
|
+
} & {
|
|
288
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
289
|
+
}) | undefined;
|
|
284
290
|
} | undefined;
|
|
285
291
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
286
292
|
}> & {
|
|
@@ -346,13 +352,15 @@ declare const _default: Readonly<{
|
|
|
346
352
|
crossOutEnabled?: boolean | undefined;
|
|
347
353
|
editorChangeDelay?: number | undefined;
|
|
348
354
|
flags?: {
|
|
349
|
-
mafs?: false | {
|
|
355
|
+
mafs?: false | ({
|
|
350
356
|
polygon?: boolean | undefined;
|
|
351
357
|
linear?: boolean | undefined;
|
|
358
|
+
ray?: boolean | undefined;
|
|
352
359
|
segment?: boolean | undefined;
|
|
353
360
|
"linear-system"?: boolean | undefined;
|
|
354
|
-
|
|
355
|
-
|
|
361
|
+
} & {
|
|
362
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
363
|
+
}) | undefined;
|
|
356
364
|
} | undefined;
|
|
357
365
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
358
366
|
}> & {
|
|
@@ -421,13 +429,15 @@ declare const _default: Readonly<{
|
|
|
421
429
|
crossOutEnabled?: boolean | undefined;
|
|
422
430
|
editorChangeDelay?: number | undefined;
|
|
423
431
|
flags?: {
|
|
424
|
-
mafs?: false | {
|
|
432
|
+
mafs?: false | ({
|
|
425
433
|
polygon?: boolean | undefined;
|
|
426
434
|
linear?: boolean | undefined;
|
|
435
|
+
ray?: boolean | undefined;
|
|
427
436
|
segment?: boolean | undefined;
|
|
428
437
|
"linear-system"?: boolean | undefined;
|
|
429
|
-
|
|
430
|
-
|
|
438
|
+
} & {
|
|
439
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
440
|
+
}) | undefined;
|
|
431
441
|
} | undefined;
|
|
432
442
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
433
443
|
}> & {
|
|
@@ -496,13 +506,15 @@ declare const _default: Readonly<{
|
|
|
496
506
|
crossOutEnabled?: boolean | undefined;
|
|
497
507
|
editorChangeDelay?: number | undefined;
|
|
498
508
|
flags?: {
|
|
499
|
-
mafs?: false | {
|
|
509
|
+
mafs?: false | ({
|
|
500
510
|
polygon?: boolean | undefined;
|
|
501
511
|
linear?: boolean | undefined;
|
|
512
|
+
ray?: boolean | undefined;
|
|
502
513
|
segment?: boolean | undefined;
|
|
503
514
|
"linear-system"?: boolean | undefined;
|
|
504
|
-
|
|
505
|
-
|
|
515
|
+
} & {
|
|
516
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
517
|
+
}) | undefined;
|
|
506
518
|
} | undefined;
|
|
507
519
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
508
520
|
}> & {
|
|
@@ -123,13 +123,15 @@ declare const _default: Readonly<{
|
|
|
123
123
|
crossOutEnabled?: boolean | undefined;
|
|
124
124
|
editorChangeDelay?: number | undefined;
|
|
125
125
|
flags?: {
|
|
126
|
-
mafs?: false | {
|
|
126
|
+
mafs?: false | ({
|
|
127
127
|
polygon?: boolean | undefined;
|
|
128
128
|
linear?: boolean | undefined;
|
|
129
|
+
ray?: boolean | undefined;
|
|
129
130
|
segment?: boolean | undefined;
|
|
130
131
|
"linear-system"?: boolean | undefined;
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
} & {
|
|
133
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
134
|
+
}) | undefined;
|
|
133
135
|
} | undefined;
|
|
134
136
|
onWidgetStartProps?: ((widgets: import("..").PerseusWidgetsMap) => void) | undefined;
|
|
135
137
|
}>;
|
|
@@ -180,13 +182,15 @@ declare const _default: Readonly<{
|
|
|
180
182
|
crossOutEnabled?: boolean | undefined;
|
|
181
183
|
editorChangeDelay?: number | undefined;
|
|
182
184
|
flags?: {
|
|
183
|
-
mafs?: false | {
|
|
185
|
+
mafs?: false | ({
|
|
184
186
|
polygon?: boolean | undefined;
|
|
185
187
|
linear?: boolean | undefined;
|
|
188
|
+
ray?: boolean | undefined;
|
|
186
189
|
segment?: boolean | undefined;
|
|
187
190
|
"linear-system"?: boolean | undefined;
|
|
188
|
-
|
|
189
|
-
|
|
191
|
+
} & {
|
|
192
|
+
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
193
|
+
}) | undefined;
|
|
190
194
|
} | undefined;
|
|
191
195
|
onWidgetStartProps?: ((widgets: import("..").PerseusWidgetsMap) => void) | undefined;
|
|
192
196
|
}>;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Core Perseus API (includes renderers and widgets)",
|
|
4
4
|
"author": "Khan Academy",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "21.
|
|
6
|
+
"version": "21.6.0",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -27,33 +27,32 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@khanacademy/kas": "^0.3.9",
|
|
29
29
|
"@khanacademy/kmath": "^0.1.12",
|
|
30
|
-
"@khanacademy/math-input": "^17.
|
|
30
|
+
"@khanacademy/math-input": "^17.5.0",
|
|
31
31
|
"@khanacademy/perseus-core": "1.4.2",
|
|
32
32
|
"@khanacademy/perseus-linter": "^0.3.12",
|
|
33
33
|
"@khanacademy/pure-markdown": "^0.3.1",
|
|
34
34
|
"@khanacademy/simple-markdown": "^0.11.4",
|
|
35
|
-
"@khanacademy/wonder-blocks-banner": "^3.0.33",
|
|
36
35
|
"mafs": "https://github.com/Khan/mafs/releases/download/v0.18.1%2Bbuild-cd8b2467893342ba0b02100073fe21f93f8b1125/mafs-0.18.1.tgz"
|
|
37
36
|
},
|
|
38
37
|
"devDependencies": {
|
|
39
|
-
"@khanacademy/wonder-blocks-
|
|
40
|
-
"@khanacademy/wonder-blocks-
|
|
41
|
-
"@khanacademy/wonder-blocks-
|
|
42
|
-
"@khanacademy/wonder-blocks-
|
|
43
|
-
"@khanacademy/wonder-blocks-
|
|
44
|
-
"@khanacademy/wonder-blocks-
|
|
38
|
+
"@khanacademy/wonder-blocks-banner": "^3.0.41",
|
|
39
|
+
"@khanacademy/wonder-blocks-button": "^6.3.0",
|
|
40
|
+
"@khanacademy/wonder-blocks-clickable": "^4.2.0",
|
|
41
|
+
"@khanacademy/wonder-blocks-core": "^6.4.0",
|
|
42
|
+
"@khanacademy/wonder-blocks-data": "^13.0.7",
|
|
43
|
+
"@khanacademy/wonder-blocks-dropdown": "^5.2.0",
|
|
44
|
+
"@khanacademy/wonder-blocks-form": "^4.5.0",
|
|
45
45
|
"@khanacademy/wonder-blocks-i18n": "^2.0.2",
|
|
46
|
-
"@khanacademy/wonder-blocks-icon": "^4.0
|
|
47
|
-
"@khanacademy/wonder-blocks-layout": "^2.0.
|
|
48
|
-
"@khanacademy/wonder-blocks-link": "^6.0
|
|
49
|
-
"@khanacademy/wonder-blocks-
|
|
50
|
-
"@khanacademy/wonder-blocks-
|
|
51
|
-
"@khanacademy/wonder-blocks-
|
|
52
|
-
"@khanacademy/wonder-blocks-
|
|
53
|
-
"@khanacademy/wonder-blocks-switch": "^1.1.12",
|
|
46
|
+
"@khanacademy/wonder-blocks-icon": "^4.1.0",
|
|
47
|
+
"@khanacademy/wonder-blocks-layout": "^2.0.31",
|
|
48
|
+
"@khanacademy/wonder-blocks-link": "^6.1.0",
|
|
49
|
+
"@khanacademy/wonder-blocks-pill": "^2.2.0",
|
|
50
|
+
"@khanacademy/wonder-blocks-popover": "^3.2.0",
|
|
51
|
+
"@khanacademy/wonder-blocks-progress-spinner": "^2.1.0",
|
|
52
|
+
"@khanacademy/wonder-blocks-switch": "^1.1.15",
|
|
54
53
|
"@khanacademy/wonder-blocks-tokens": "^1.1.0",
|
|
55
|
-
"@khanacademy/wonder-blocks-tooltip": "^2.1
|
|
56
|
-
"@khanacademy/wonder-blocks-typography": "^2.1.
|
|
54
|
+
"@khanacademy/wonder-blocks-tooltip": "^2.2.1",
|
|
55
|
+
"@khanacademy/wonder-blocks-typography": "^2.1.11",
|
|
57
56
|
"@khanacademy/wonder-stuff-core": "^1.5.1",
|
|
58
57
|
"@phosphor-icons/core": "^2.0.2",
|
|
59
58
|
"@popperjs/core": "^2.10.1",
|
|
@@ -72,24 +71,24 @@
|
|
|
72
71
|
"underscore": "^1.4.4"
|
|
73
72
|
},
|
|
74
73
|
"peerDependencies": {
|
|
75
|
-
"@khanacademy/wonder-blocks-
|
|
76
|
-
"@khanacademy/wonder-blocks-
|
|
77
|
-
"@khanacademy/wonder-blocks-
|
|
78
|
-
"@khanacademy/wonder-blocks-
|
|
79
|
-
"@khanacademy/wonder-blocks-
|
|
80
|
-
"@khanacademy/wonder-blocks-
|
|
74
|
+
"@khanacademy/wonder-blocks-banner": "^3.0.41",
|
|
75
|
+
"@khanacademy/wonder-blocks-button": "^6.3.0",
|
|
76
|
+
"@khanacademy/wonder-blocks-clickable": "^4.2.0",
|
|
77
|
+
"@khanacademy/wonder-blocks-core": "^6.4.0",
|
|
78
|
+
"@khanacademy/wonder-blocks-data": "^13.0.7",
|
|
79
|
+
"@khanacademy/wonder-blocks-dropdown": "^5.2.0",
|
|
80
|
+
"@khanacademy/wonder-blocks-form": "^4.5.0",
|
|
81
81
|
"@khanacademy/wonder-blocks-i18n": "^2.0.2",
|
|
82
|
-
"@khanacademy/wonder-blocks-icon": "^4.0
|
|
83
|
-
"@khanacademy/wonder-blocks-layout": "^2.0.
|
|
84
|
-
"@khanacademy/wonder-blocks-link": "^6.0
|
|
85
|
-
"@khanacademy/wonder-blocks-
|
|
86
|
-
"@khanacademy/wonder-blocks-
|
|
87
|
-
"@khanacademy/wonder-blocks-
|
|
88
|
-
"@khanacademy/wonder-blocks-
|
|
89
|
-
"@khanacademy/wonder-blocks-switch": "^1.1.12",
|
|
82
|
+
"@khanacademy/wonder-blocks-icon": "^4.1.0",
|
|
83
|
+
"@khanacademy/wonder-blocks-layout": "^2.0.31",
|
|
84
|
+
"@khanacademy/wonder-blocks-link": "^6.1.0",
|
|
85
|
+
"@khanacademy/wonder-blocks-pill": "^2.2.0",
|
|
86
|
+
"@khanacademy/wonder-blocks-popover": "^3.2.0",
|
|
87
|
+
"@khanacademy/wonder-blocks-progress-spinner": "^2.1.0",
|
|
88
|
+
"@khanacademy/wonder-blocks-switch": "^1.1.15",
|
|
90
89
|
"@khanacademy/wonder-blocks-tokens": "^1.1.0",
|
|
91
|
-
"@khanacademy/wonder-blocks-tooltip": "^2.1
|
|
92
|
-
"@khanacademy/wonder-blocks-typography": "^2.1.
|
|
90
|
+
"@khanacademy/wonder-blocks-tooltip": "^2.2.1",
|
|
91
|
+
"@khanacademy/wonder-blocks-typography": "^2.1.11",
|
|
93
92
|
"@khanacademy/wonder-stuff-core": "^1.5.1",
|
|
94
93
|
"@phosphor-icons/core": "^2.0.2",
|
|
95
94
|
"@popperjs/core": "^2.10.1",
|