@khanacademy/perseus 28.1.0 → 29.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.
- package/dist/components/lint.d.ts +1 -8
- package/dist/es/index.css +4 -5
- package/dist/es/index.js +53 -106
- package/dist/es/index.js.map +1 -1
- package/dist/index.css +4 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.js +53 -106
- package/dist/index.js.map +1 -1
- package/dist/interactive2/arrowhead.d.ts +1 -1
- package/dist/interactive2/get-clip-point.d.ts +1 -1
- package/dist/interactive2/movable-point.d.ts +1 -2
- package/dist/perseus-api.d.ts +3 -3
- package/dist/perseus-types.d.ts +15 -1
- package/dist/renderer.d.ts +1 -8
- package/dist/server-item-renderer.d.ts +5 -5
- package/dist/types.d.ts +0 -1
- package/dist/util/fix-passage-refs.d.ts +3 -2
- package/dist/widgets/expression.d.ts +24 -26
- package/dist/widgets/interactive-graphs/interactive-graph-question-builder.d.ts +3 -1
- package/dist/widgets/interactive-graphs/mafs-graph.d.ts +1 -1
- package/dist/widgets/interactive-graphs/reducer/initialize-graph-state.d.ts +1 -1
- package/dist/widgets/interactive-graphs/reducer/interactive-graph-state.d.ts +1 -1
- package/dist/widgets/interactive-graphs/stateful-mafs-graph.d.ts +3 -2
- package/dist/widgets/interactive-graphs/types.d.ts +1 -1
- package/dist/widgets/label-image.d.ts +6 -6
- package/dist/widgets/measurer.d.ts +4 -4
- package/package.json +4 -3
- package/dist/perseus-env.d.ts +0 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import WrappedPath from "./wrapped-path";
|
|
2
|
+
import type { Coord } from "./types";
|
|
2
3
|
import type { Graphie } from "../util/graphie";
|
|
3
|
-
import type { Coord } from "@khanacademy/perseus";
|
|
4
4
|
export declare class Arrowhead extends WrappedPath {
|
|
5
5
|
private static scale;
|
|
6
6
|
center: Coord;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Coord } from "
|
|
1
|
+
import type { Coord } from "./types";
|
|
2
2
|
export declare const getClipPoint: (graph: any, coord: Coord, angle: number) => any;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Movable } from "./movable";
|
|
2
|
-
import type { Constraint, ConstraintCallbacks } from "./types";
|
|
2
|
+
import type { Constraint, ConstraintCallbacks, Coord } from "./types";
|
|
3
3
|
import type { Graphie } from "../util/graphie";
|
|
4
|
-
import type { Coord } from "@khanacademy/perseus";
|
|
5
4
|
type State = {
|
|
6
5
|
add: unknown[];
|
|
7
6
|
added: boolean;
|
package/dist/perseus-api.d.ts
CHANGED
|
@@ -96,13 +96,13 @@ export declare const ApiOptions: {
|
|
|
96
96
|
circle?: boolean | undefined;
|
|
97
97
|
polygon?: boolean | undefined;
|
|
98
98
|
linear?: boolean | undefined;
|
|
99
|
-
point?: boolean | undefined;
|
|
100
99
|
quadratic?: boolean | undefined;
|
|
101
100
|
sinusoid?: boolean | undefined;
|
|
102
|
-
|
|
103
|
-
"linear-system"?: boolean | undefined;
|
|
101
|
+
point?: boolean | undefined;
|
|
104
102
|
ray?: boolean | undefined;
|
|
105
103
|
segment?: boolean | undefined;
|
|
104
|
+
angle?: boolean | undefined;
|
|
105
|
+
"linear-system"?: boolean | undefined;
|
|
106
106
|
} & {
|
|
107
107
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
108
108
|
} & {
|
package/dist/perseus-types.d.ts
CHANGED
|
@@ -75,14 +75,28 @@ export type PerseusWidgetsMap = {
|
|
|
75
75
|
} & {
|
|
76
76
|
[key in `video ${number}`]: VideoWidget;
|
|
77
77
|
};
|
|
78
|
+
/**
|
|
79
|
+
* A "PerseusItem" is a classic Perseus item. It is rendered by the
|
|
80
|
+
* `ServerItemRenderer` and the layout is pre-set.
|
|
81
|
+
*
|
|
82
|
+
* To render more complex Perseus items, see the `Item` type in the multi item
|
|
83
|
+
* area.
|
|
84
|
+
*/
|
|
78
85
|
export type PerseusItem = {
|
|
79
86
|
question: PerseusRenderer;
|
|
80
87
|
hints: ReadonlyArray<Hint>;
|
|
81
88
|
answerArea: PerseusAnswerArea | null | undefined;
|
|
82
|
-
_multi: any;
|
|
83
89
|
itemDataVersion: Version;
|
|
84
90
|
answer: any;
|
|
85
91
|
};
|
|
92
|
+
/**
|
|
93
|
+
* A "MultiItem" is an advanced Perseus item. It is rendered by the
|
|
94
|
+
* `MultiRenderer` and you can control the layout of individual parts of the
|
|
95
|
+
* item.
|
|
96
|
+
*/
|
|
97
|
+
export type MultiItem = {
|
|
98
|
+
_multi: any;
|
|
99
|
+
};
|
|
86
100
|
export type PerseusArticle = ReadonlyArray<PerseusRenderer>;
|
|
87
101
|
export type Version = {
|
|
88
102
|
major: number;
|
package/dist/renderer.d.ts
CHANGED
|
@@ -62,13 +62,6 @@ type Props = Partial<React.ContextType<typeof DependenciesContext>> & {
|
|
|
62
62
|
problemNum?: number;
|
|
63
63
|
questionCompleted?: boolean;
|
|
64
64
|
reviewMode?: boolean | null | undefined;
|
|
65
|
-
/**
|
|
66
|
-
* Some widgets (e.g. InteractiveGraph) support "hint mode", a state where
|
|
67
|
-
* the widget is non-editable, may have a partial solution filled in,
|
|
68
|
-
* and may have special styling. Setting hintMode to true will turn on hint
|
|
69
|
-
* mode for all rendered widgets.
|
|
70
|
-
*/
|
|
71
|
-
hintMode?: boolean;
|
|
72
65
|
/**
|
|
73
66
|
* If set to "all", all rationales or solutions will be shown. If set to
|
|
74
67
|
* "selected", soltions will only be shown for selected choices. If set to
|
|
@@ -108,7 +101,7 @@ type State = {
|
|
|
108
101
|
jiptContent: any;
|
|
109
102
|
lastUsedWidgetId: string | null | undefined;
|
|
110
103
|
};
|
|
111
|
-
type DefaultProps = Required<Pick<Props, "alwaysUpdate" | "content" | "findExternalWidgets" | "highlightedWidgets" | "images" | "linterContext" | "onInteractWithWidget" | "onRender" | "onSerializedStateUpdated" | "questionCompleted" | "showSolutions" | "reviewMode" | "
|
|
104
|
+
type DefaultProps = Required<Pick<Props, "alwaysUpdate" | "content" | "findExternalWidgets" | "highlightedWidgets" | "images" | "linterContext" | "onInteractWithWidget" | "onRender" | "onSerializedStateUpdated" | "questionCompleted" | "showSolutions" | "reviewMode" | "serializedState" | "widgets">>;
|
|
112
105
|
declare class Renderer extends React.Component<Props, State> {
|
|
113
106
|
_currentFocus: FocusPath | null | undefined;
|
|
114
107
|
_foundTextNodes: boolean;
|
|
@@ -105,7 +105,8 @@ export declare class ServerItemRenderer extends React.Component<Props, State> im
|
|
|
105
105
|
setAssetStatus: (assetKey: string, status: boolean) => void;
|
|
106
106
|
render(): React.ReactNode;
|
|
107
107
|
}
|
|
108
|
-
declare const ref: React.ForwardRefExoticComponent<Omit<Pick<OwnProps & HOCProps, "
|
|
108
|
+
declare const ref: React.ForwardRefExoticComponent<Omit<Pick<OwnProps & HOCProps, "item" | "problemNum" | "showSolutions" | "reviewMode" | "keypadElement" | "hintsVisible" | "dependencies"> & {
|
|
109
|
+
linterContext?: PerseusLinter.LinterContextProps | undefined;
|
|
109
110
|
apiOptions?: Readonly<{
|
|
110
111
|
isArticle?: boolean | undefined;
|
|
111
112
|
onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
|
|
@@ -143,13 +144,13 @@ declare const ref: React.ForwardRefExoticComponent<Omit<Pick<OwnProps & HOCProps
|
|
|
143
144
|
circle?: boolean | undefined;
|
|
144
145
|
polygon?: boolean | undefined;
|
|
145
146
|
linear?: boolean | undefined;
|
|
146
|
-
point?: boolean | undefined;
|
|
147
147
|
quadratic?: boolean | undefined;
|
|
148
148
|
sinusoid?: boolean | undefined;
|
|
149
|
-
|
|
150
|
-
"linear-system"?: boolean | undefined;
|
|
149
|
+
point?: boolean | undefined;
|
|
151
150
|
ray?: boolean | undefined;
|
|
152
151
|
segment?: boolean | undefined;
|
|
152
|
+
angle?: boolean | undefined;
|
|
153
|
+
"linear-system"?: boolean | undefined;
|
|
153
154
|
} & {
|
|
154
155
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
155
156
|
} & {
|
|
@@ -162,7 +163,6 @@ declare const ref: React.ForwardRefExoticComponent<Omit<Pick<OwnProps & HOCProps
|
|
|
162
163
|
} | undefined;
|
|
163
164
|
onWidgetStartProps?: ((widgets: import("./perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
164
165
|
}> | undefined;
|
|
165
|
-
linterContext?: PerseusLinter.LinterContextProps | undefined;
|
|
166
166
|
onRendered?: ((isRendered: boolean) => void) | undefined;
|
|
167
167
|
} & {}, "onRendered"> & React.RefAttributes<ServerItemRenderer>>;
|
|
168
168
|
export default ref;
|
package/dist/types.d.ts
CHANGED
|
@@ -373,7 +373,6 @@ export type WidgetProps<RenderProps, Rubric, TrackingExtraArgs = Empty> = Render
|
|
|
373
373
|
onBlur: (blurPath: FocusPath) => void;
|
|
374
374
|
findWidgets: (arg1: FilterCriterion) => ReadonlyArray<Widget>;
|
|
375
375
|
reviewModeRubric: Rubric;
|
|
376
|
-
hintMode: boolean;
|
|
377
376
|
onChange: ChangeHandler;
|
|
378
377
|
trackInteraction: (extraData?: TrackingExtraArgs) => void;
|
|
379
378
|
isLastUsedWidget: boolean;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { MultiItem, PerseusItem } from "../perseus-types";
|
|
2
|
+
declare const fixPassageRefs: (itemData: PerseusItem | MultiItem) => any;
|
|
3
|
+
export default fixPassageRefs;
|
|
@@ -142,13 +142,13 @@ declare const _default: Readonly<{
|
|
|
142
142
|
circle?: boolean | undefined;
|
|
143
143
|
polygon?: boolean | undefined;
|
|
144
144
|
linear?: boolean | undefined;
|
|
145
|
-
point?: boolean | undefined;
|
|
146
145
|
quadratic?: boolean | undefined;
|
|
147
146
|
sinusoid?: boolean | undefined;
|
|
148
|
-
|
|
149
|
-
"linear-system"?: boolean | undefined;
|
|
147
|
+
point?: boolean | undefined;
|
|
150
148
|
ray?: boolean | undefined;
|
|
151
149
|
segment?: boolean | undefined;
|
|
150
|
+
angle?: boolean | undefined;
|
|
151
|
+
"linear-system"?: boolean | undefined;
|
|
152
152
|
} & {
|
|
153
153
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
154
154
|
} & {
|
|
@@ -183,7 +183,6 @@ declare const _default: Readonly<{
|
|
|
183
183
|
onBlur: (blurPath: import("../types").FocusPath) => void;
|
|
184
184
|
findWidgets: (arg1: import("../types").FilterCriterion) => readonly any[];
|
|
185
185
|
reviewModeRubric: PerseusExpressionWidgetOptions;
|
|
186
|
-
hintMode: boolean;
|
|
187
186
|
onChange: import("../types").ChangeHandler;
|
|
188
187
|
trackInteraction: (extraData?: Empty | undefined) => void;
|
|
189
188
|
isLastUsedWidget: boolean;
|
|
@@ -227,13 +226,13 @@ declare const _default: Readonly<{
|
|
|
227
226
|
circle?: boolean | undefined;
|
|
228
227
|
polygon?: boolean | undefined;
|
|
229
228
|
linear?: boolean | undefined;
|
|
230
|
-
point?: boolean | undefined;
|
|
231
229
|
quadratic?: boolean | undefined;
|
|
232
230
|
sinusoid?: boolean | undefined;
|
|
233
|
-
|
|
234
|
-
"linear-system"?: boolean | undefined;
|
|
231
|
+
point?: boolean | undefined;
|
|
235
232
|
ray?: boolean | undefined;
|
|
236
233
|
segment?: boolean | undefined;
|
|
234
|
+
angle?: boolean | undefined;
|
|
235
|
+
"linear-system"?: boolean | undefined;
|
|
237
236
|
} & {
|
|
238
237
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
239
238
|
} & {
|
|
@@ -271,11 +270,11 @@ declare const _default: Readonly<{
|
|
|
271
270
|
visibleLabel: string | undefined;
|
|
272
271
|
ariaLabel: string | undefined;
|
|
273
272
|
value: string;
|
|
274
|
-
}, "
|
|
273
|
+
}, "ariaLabel" | "trackInteraction" | "static" | "onChange" | "analytics" | "problemNum" | "questionCompleted" | "keypadElement" | "alignment" | "buttonsVisible" | "containerSizeClass" | "widgetId" | "findWidgets" | "visibleLabel" | "keypadConfiguration" | "reviewModeRubric" | "isLastUsedWidget"> & {
|
|
275
274
|
value?: string | undefined;
|
|
276
|
-
buttonSets?: import("../perseus-types").LegacyButtonSets | undefined;
|
|
277
275
|
onFocus?: ((blurPath: import("../types").FocusPath) => void) | undefined;
|
|
278
276
|
onBlur?: ((blurPath: import("../types").FocusPath) => void) | undefined;
|
|
277
|
+
linterContext?: import("@khanacademy/perseus-linter").LinterContextProps | undefined;
|
|
279
278
|
apiOptions?: Readonly<Readonly<{
|
|
280
279
|
isArticle?: boolean | undefined;
|
|
281
280
|
onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
|
|
@@ -313,13 +312,13 @@ declare const _default: Readonly<{
|
|
|
313
312
|
circle?: boolean | undefined;
|
|
314
313
|
polygon?: boolean | undefined;
|
|
315
314
|
linear?: boolean | undefined;
|
|
316
|
-
point?: boolean | undefined;
|
|
317
315
|
quadratic?: boolean | undefined;
|
|
318
316
|
sinusoid?: boolean | undefined;
|
|
319
|
-
|
|
320
|
-
"linear-system"?: boolean | undefined;
|
|
317
|
+
point?: boolean | undefined;
|
|
321
318
|
ray?: boolean | undefined;
|
|
322
319
|
segment?: boolean | undefined;
|
|
320
|
+
angle?: boolean | undefined;
|
|
321
|
+
"linear-system"?: boolean | undefined;
|
|
323
322
|
} & {
|
|
324
323
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
325
324
|
} & {
|
|
@@ -348,9 +347,9 @@ declare const _default: Readonly<{
|
|
|
348
347
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
349
348
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
350
349
|
}> | undefined;
|
|
350
|
+
buttonSets?: import("../perseus-types").LegacyButtonSets | undefined;
|
|
351
351
|
functions?: readonly string[] | undefined;
|
|
352
352
|
times?: boolean | undefined;
|
|
353
|
-
linterContext?: import("@khanacademy/perseus-linter").LinterContextProps | undefined;
|
|
354
353
|
} & {}, "analytics"> & React.RefAttributes<Expression>>) | undefined;
|
|
355
354
|
widget: React.ForwardRefExoticComponent<Omit<Pick<RenderProps & {
|
|
356
355
|
widgetId: string;
|
|
@@ -394,13 +393,13 @@ declare const _default: Readonly<{
|
|
|
394
393
|
circle?: boolean | undefined;
|
|
395
394
|
polygon?: boolean | undefined;
|
|
396
395
|
linear?: boolean | undefined;
|
|
397
|
-
point?: boolean | undefined;
|
|
398
396
|
quadratic?: boolean | undefined;
|
|
399
397
|
sinusoid?: boolean | undefined;
|
|
400
|
-
|
|
401
|
-
"linear-system"?: boolean | undefined;
|
|
398
|
+
point?: boolean | undefined;
|
|
402
399
|
ray?: boolean | undefined;
|
|
403
400
|
segment?: boolean | undefined;
|
|
401
|
+
angle?: boolean | undefined;
|
|
402
|
+
"linear-system"?: boolean | undefined;
|
|
404
403
|
} & {
|
|
405
404
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
406
405
|
} & {
|
|
@@ -435,7 +434,6 @@ declare const _default: Readonly<{
|
|
|
435
434
|
onBlur: (blurPath: import("../types").FocusPath) => void;
|
|
436
435
|
findWidgets: (arg1: import("../types").FilterCriterion) => readonly any[];
|
|
437
436
|
reviewModeRubric: PerseusExpressionWidgetOptions;
|
|
438
|
-
hintMode: boolean;
|
|
439
437
|
onChange: import("../types").ChangeHandler;
|
|
440
438
|
trackInteraction: (extraData?: Empty | undefined) => void;
|
|
441
439
|
isLastUsedWidget: boolean;
|
|
@@ -479,13 +477,13 @@ declare const _default: Readonly<{
|
|
|
479
477
|
circle?: boolean | undefined;
|
|
480
478
|
polygon?: boolean | undefined;
|
|
481
479
|
linear?: boolean | undefined;
|
|
482
|
-
point?: boolean | undefined;
|
|
483
480
|
quadratic?: boolean | undefined;
|
|
484
481
|
sinusoid?: boolean | undefined;
|
|
485
|
-
|
|
486
|
-
"linear-system"?: boolean | undefined;
|
|
482
|
+
point?: boolean | undefined;
|
|
487
483
|
ray?: boolean | undefined;
|
|
488
484
|
segment?: boolean | undefined;
|
|
485
|
+
angle?: boolean | undefined;
|
|
486
|
+
"linear-system"?: boolean | undefined;
|
|
489
487
|
} & {
|
|
490
488
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
491
489
|
} & {
|
|
@@ -523,11 +521,11 @@ declare const _default: Readonly<{
|
|
|
523
521
|
visibleLabel: string | undefined;
|
|
524
522
|
ariaLabel: string | undefined;
|
|
525
523
|
value: string;
|
|
526
|
-
}, "
|
|
524
|
+
}, "ariaLabel" | "trackInteraction" | "static" | "onChange" | "analytics" | "problemNum" | "questionCompleted" | "keypadElement" | "alignment" | "buttonsVisible" | "containerSizeClass" | "widgetId" | "findWidgets" | "visibleLabel" | "keypadConfiguration" | "reviewModeRubric" | "isLastUsedWidget"> & {
|
|
527
525
|
value?: string | undefined;
|
|
528
|
-
buttonSets?: import("../perseus-types").LegacyButtonSets | undefined;
|
|
529
526
|
onFocus?: ((blurPath: import("../types").FocusPath) => void) | undefined;
|
|
530
527
|
onBlur?: ((blurPath: import("../types").FocusPath) => void) | undefined;
|
|
528
|
+
linterContext?: import("@khanacademy/perseus-linter").LinterContextProps | undefined;
|
|
531
529
|
apiOptions?: Readonly<Readonly<{
|
|
532
530
|
isArticle?: boolean | undefined;
|
|
533
531
|
onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
|
|
@@ -565,13 +563,13 @@ declare const _default: Readonly<{
|
|
|
565
563
|
circle?: boolean | undefined;
|
|
566
564
|
polygon?: boolean | undefined;
|
|
567
565
|
linear?: boolean | undefined;
|
|
568
|
-
point?: boolean | undefined;
|
|
569
566
|
quadratic?: boolean | undefined;
|
|
570
567
|
sinusoid?: boolean | undefined;
|
|
571
|
-
|
|
572
|
-
"linear-system"?: boolean | undefined;
|
|
568
|
+
point?: boolean | undefined;
|
|
573
569
|
ray?: boolean | undefined;
|
|
574
570
|
segment?: boolean | undefined;
|
|
571
|
+
angle?: boolean | undefined;
|
|
572
|
+
"linear-system"?: boolean | undefined;
|
|
575
573
|
} & {
|
|
576
574
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
577
575
|
} & {
|
|
@@ -600,9 +598,9 @@ declare const _default: Readonly<{
|
|
|
600
598
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
601
599
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
602
600
|
}> | undefined;
|
|
601
|
+
buttonSets?: import("../perseus-types").LegacyButtonSets | undefined;
|
|
603
602
|
functions?: readonly string[] | undefined;
|
|
604
603
|
times?: boolean | undefined;
|
|
605
|
-
linterContext?: import("@khanacademy/perseus-linter").LinterContextProps | undefined;
|
|
606
604
|
} & {}, "analytics"> & React.RefAttributes<Expression>>;
|
|
607
605
|
accessible?: boolean | ((props: any) => boolean) | undefined;
|
|
608
606
|
hidden?: boolean | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { Coord } from "../../interactive2/types";
|
|
1
2
|
import type { CollinearTuple, LockedFigureColor, LockedFigureFillType, LockedFunctionType, PerseusRenderer } from "../../perseus-types";
|
|
2
|
-
import type { Coord } from "@khanacademy/perseus";
|
|
3
3
|
import type { vec } from "mafs";
|
|
4
4
|
export type LockedFunctionOptions = Omit<Partial<LockedFunctionType>, "type" | "equation">;
|
|
5
5
|
export declare function interactiveGraphQuestionBuilder(): InteractiveGraphQuestionBuilder;
|
|
@@ -17,8 +17,10 @@ declare class InteractiveGraphQuestionBuilder {
|
|
|
17
17
|
private interactiveFigureConfig;
|
|
18
18
|
private lockedFigures;
|
|
19
19
|
private snapTo;
|
|
20
|
+
private staticMode;
|
|
20
21
|
build(): PerseusRenderer;
|
|
21
22
|
withContent(content: string): InteractiveGraphQuestionBuilder;
|
|
23
|
+
withStaticMode(staticMode: boolean): InteractiveGraphQuestionBuilder;
|
|
22
24
|
withBackgroundImage(url: string, height: number, width: number, options?: {
|
|
23
25
|
scale?: number;
|
|
24
26
|
bottom?: number;
|
|
@@ -16,7 +16,7 @@ export type MafsGraphProps = {
|
|
|
16
16
|
labels: InteractiveGraphProps["labels"];
|
|
17
17
|
state: InteractiveGraphState;
|
|
18
18
|
dispatch: React.Dispatch<InteractiveGraphAction>;
|
|
19
|
-
hintMode: boolean;
|
|
20
19
|
readOnly: boolean;
|
|
20
|
+
static: boolean | null | undefined;
|
|
21
21
|
};
|
|
22
22
|
export declare const MafsGraph: (props: MafsGraphProps) => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { Coord } from "../../../interactive2/types";
|
|
1
2
|
import type { PerseusGraphType, PerseusGraphTypeAngle, PerseusGraphTypeCircle, PerseusGraphTypeLinear, PerseusGraphTypeLinearSystem, PerseusGraphTypePoint, PerseusGraphTypePolygon, PerseusGraphTypeQuadratic, PerseusGraphTypeRay, PerseusGraphTypeSegment, PerseusGraphTypeSinusoid } from "../../../perseus-types";
|
|
2
3
|
import type { InteractiveGraphState, PairOfPoints } from "../types";
|
|
3
|
-
import type { Coord } from "@khanacademy/perseus";
|
|
4
4
|
import type { Interval } from "mafs";
|
|
5
5
|
export type InitializeGraphStateParams = {
|
|
6
6
|
range: [x: Interval, y: Interval];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { PerseusGraphType } from "../../../perseus-types";
|
|
1
2
|
import type { CircleGraphState, InteractiveGraphState } from "../types";
|
|
2
|
-
import type { PerseusGraphType } from "@khanacademy/perseus";
|
|
3
3
|
export declare function getGradableGraph(state: InteractiveGraphState, initialGraph: PerseusGraphType): PerseusGraphType;
|
|
4
4
|
/**
|
|
5
5
|
* determine radius of a circle graph
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import type { InteractiveGraphProps } from "./types";
|
|
3
|
+
import type { PerseusGraphType } from "../../perseus-types";
|
|
3
4
|
import type { Widget } from "../../renderer";
|
|
4
|
-
import type { PerseusGraphType } from "@khanacademy/perseus";
|
|
5
5
|
export type StatefulMafsGraphProps = {
|
|
6
6
|
box: [number, number];
|
|
7
7
|
backgroundImage?: InteractiveGraphProps["backgroundImage"];
|
|
8
8
|
graph: PerseusGraphType;
|
|
9
|
+
correct: PerseusGraphType;
|
|
9
10
|
lockedFigures?: InteractiveGraphProps["lockedFigures"];
|
|
10
11
|
range: InteractiveGraphProps["range"];
|
|
11
12
|
snapStep: InteractiveGraphProps["snapStep"];
|
|
@@ -17,7 +18,7 @@ export type StatefulMafsGraphProps = {
|
|
|
17
18
|
showTooltips: Required<InteractiveGraphProps["showTooltips"]>;
|
|
18
19
|
showProtractor: boolean;
|
|
19
20
|
labels: InteractiveGraphProps["labels"];
|
|
20
|
-
hintMode: boolean;
|
|
21
21
|
readOnly: boolean;
|
|
22
|
+
static: InteractiveGraphProps["static"];
|
|
22
23
|
};
|
|
23
24
|
export declare const StatefulMafsGraph: React.ForwardRefExoticComponent<StatefulMafsGraphProps & React.RefAttributes<Partial<Widget>>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InteractiveGraphAction } from "./reducer/interactive-graph-action";
|
|
2
|
+
import type { Coord } from "../../interactive2/types";
|
|
2
3
|
import type { PerseusInteractiveGraphWidgetOptions } from "../../perseus-types";
|
|
3
4
|
import type { WidgetProps } from "../../types";
|
|
4
|
-
import type { Coord } from "@khanacademy/perseus";
|
|
5
5
|
import type { Interval, vec } from "mafs";
|
|
6
6
|
export type InteractiveGraphProps = WidgetProps<PerseusInteractiveGraphWidgetOptions, PerseusInteractiveGraphWidgetOptions>;
|
|
7
7
|
export type MafsGraphProps<T extends InteractiveGraphState> = {
|
|
@@ -134,13 +134,13 @@ declare const _default: Readonly<{
|
|
|
134
134
|
circle?: boolean | undefined;
|
|
135
135
|
polygon?: boolean | undefined;
|
|
136
136
|
linear?: boolean | undefined;
|
|
137
|
-
point?: boolean | undefined;
|
|
138
137
|
quadratic?: boolean | undefined;
|
|
139
138
|
sinusoid?: boolean | undefined;
|
|
140
|
-
|
|
141
|
-
"linear-system"?: boolean | undefined;
|
|
139
|
+
point?: boolean | undefined;
|
|
142
140
|
ray?: boolean | undefined;
|
|
143
141
|
segment?: boolean | undefined;
|
|
142
|
+
angle?: boolean | undefined;
|
|
143
|
+
"linear-system"?: boolean | undefined;
|
|
144
144
|
} & {
|
|
145
145
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
146
146
|
} & {
|
|
@@ -202,13 +202,13 @@ declare const _default: Readonly<{
|
|
|
202
202
|
circle?: boolean | undefined;
|
|
203
203
|
polygon?: boolean | undefined;
|
|
204
204
|
linear?: boolean | undefined;
|
|
205
|
-
point?: boolean | undefined;
|
|
206
205
|
quadratic?: boolean | undefined;
|
|
207
206
|
sinusoid?: boolean | undefined;
|
|
208
|
-
|
|
209
|
-
"linear-system"?: boolean | undefined;
|
|
207
|
+
point?: boolean | undefined;
|
|
210
208
|
ray?: boolean | undefined;
|
|
211
209
|
segment?: boolean | undefined;
|
|
210
|
+
angle?: boolean | undefined;
|
|
211
|
+
"linear-system"?: boolean | undefined;
|
|
212
212
|
} & {
|
|
213
213
|
"interactive-graph-locked-features-m2b"?: boolean | undefined;
|
|
214
214
|
} & {
|
|
@@ -5,10 +5,10 @@ declare const _default: Readonly<{
|
|
|
5
5
|
widget: any;
|
|
6
6
|
accessible?: boolean | ((props: any) => boolean) | undefined;
|
|
7
7
|
hidden?: boolean | undefined;
|
|
8
|
-
version?: import("
|
|
9
|
-
supportedAlignments?: readonly import("
|
|
10
|
-
defaultAlignment?: import("
|
|
11
|
-
getDefaultAlignment?: (() => import("
|
|
8
|
+
version?: import("../types").Version | undefined;
|
|
9
|
+
supportedAlignments?: readonly import("../types").Alignment[] | undefined;
|
|
10
|
+
defaultAlignment?: import("../types").Alignment | undefined;
|
|
11
|
+
getDefaultAlignment?: (() => import("../types").Alignment) | undefined;
|
|
12
12
|
isLintable?: boolean | undefined;
|
|
13
13
|
tracking?: import("../types").Tracking | undefined;
|
|
14
14
|
traverseChildWidgets?: any;
|
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": "
|
|
6
|
+
"version": "29.0.0",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -42,9 +42,10 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@khanacademy/kas": "^0.3.11",
|
|
44
44
|
"@khanacademy/kmath": "^0.1.13",
|
|
45
|
-
"@khanacademy/
|
|
45
|
+
"@khanacademy/keypad-context": "^1.0.0",
|
|
46
|
+
"@khanacademy/math-input": "^21.0.0",
|
|
46
47
|
"@khanacademy/perseus-core": "1.5.0",
|
|
47
|
-
"@khanacademy/perseus-linter": "^1.
|
|
48
|
+
"@khanacademy/perseus-linter": "^1.1.0",
|
|
48
49
|
"@khanacademy/pure-markdown": "^0.3.7",
|
|
49
50
|
"@khanacademy/simple-markdown": "^0.13.0",
|
|
50
51
|
"@use-gesture/react": "^10.2.27",
|
package/dist/perseus-env.d.ts
DELETED