@khanacademy/perseus-editor 17.7.0 → 17.8.1

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 (34) hide show
  1. package/LICENSE +18 -0
  2. package/dist/diffs/article-diff.d.ts +2 -35
  3. package/dist/diffs/item-diff.d.ts +2 -11
  4. package/dist/diffs/text-diff.d.ts +3 -4
  5. package/dist/diffs/widget-diff.d.ts +4 -13
  6. package/dist/es/index.js +493 -64927
  7. package/dist/es/index.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +638 -65065
  10. package/dist/index.js.map +1 -1
  11. package/dist/shared-utils/add-library-version-to-perseus-debug.d.ts +9 -0
  12. package/dist/widgets/categorizer-editor.d.ts +6 -32
  13. package/dist/widgets/cs-program-editor.d.ts +1 -2
  14. package/dist/widgets/definition-editor.d.ts +4 -5
  15. package/dist/widgets/dropdown-editor.d.ts +2 -6
  16. package/dist/widgets/explanation-editor.d.ts +6 -7
  17. package/dist/widgets/graded-group-editor.d.ts +6 -32
  18. package/dist/widgets/graded-group-set-editor.d.ts +3 -29
  19. package/dist/widgets/grapher-editor.d.ts +1 -1
  20. package/dist/widgets/group-editor.d.ts +5 -31
  21. package/dist/widgets/iframe-editor.d.ts +1 -2
  22. package/dist/widgets/interactive-graph-editor/interactive-graph-editor.d.ts +41 -41
  23. package/dist/widgets/matcher-editor.d.ts +5 -6
  24. package/dist/widgets/matrix-editor.d.ts +6 -7
  25. package/dist/widgets/measurer-editor.d.ts +9 -14
  26. package/dist/widgets/molecule-editor.d.ts +3 -4
  27. package/dist/widgets/orderer-editor.d.ts +5 -6
  28. package/dist/widgets/passage-editor.d.ts +5 -6
  29. package/dist/widgets/passage-ref-target-editor.d.ts +2 -3
  30. package/dist/widgets/radio/editor.d.ts +10 -40
  31. package/dist/widgets/sorter-editor.d.ts +3 -4
  32. package/dist/widgets/table-editor.d.ts +4 -5
  33. package/dist/widgets/video-editor.d.ts +2 -3
  34. package/package.json +103 -102
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Adds the given perseus library version information to the __perseus_debug__
3
+ * object and ensures that the object is attached to `globalThis` (`window` in
4
+ * browser environments).
5
+ *
6
+ * This allows each library to provide runtime version information to assist in
7
+ * debugging in production environments.
8
+ */
9
+ export declare const addLibraryVersionToPerseusDebug: (libraryName: string, libraryVersion: string) => void;
@@ -1,40 +1,14 @@
1
- import PropTypes from "prop-types";
2
1
  import * as React from "react";
3
2
  import type { CategorizerDefaultWidgetOptions } from "@khanacademy/perseus-core";
4
3
  type Props = any;
5
4
  declare class CategorizerEditor extends React.Component<Props> {
6
5
  static propTypes: {
7
- apiOptions: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
8
- isArticle: PropTypes.Validator<boolean>;
9
- onFocusChange: PropTypes.Validator<(...args: any[]) => any>;
10
- GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>;
11
- showAlignmentOptions: PropTypes.Validator<boolean>;
12
- readOnly: PropTypes.Validator<boolean>;
13
- answerableCallback: PropTypes.Requireable<(...args: any[]) => any>;
14
- getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>;
15
- interactionCallback: PropTypes.Requireable<(...args: any[]) => any>;
16
- groupAnnotator: PropTypes.Validator<(...args: any[]) => any>;
17
- imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
18
- widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
- baseElements: PropTypes.Requireable<PropTypes.InferProps<{
20
- Link: PropTypes.Requireable<(...args: any[]) => any>;
21
- }>>;
22
- imagePreloader: PropTypes.Requireable<(...args: any[]) => any>;
23
- trackInteraction: PropTypes.Requireable<(...args: any[]) => any>;
24
- customKeypad: PropTypes.Requireable<boolean>;
25
- nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
26
- isMobile: PropTypes.Requireable<boolean>;
27
- setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
28
- hintProgressColor: PropTypes.Requireable<string>;
29
- canScrollPage: PropTypes.Requireable<boolean>;
30
- crossOutEnabled: PropTypes.Requireable<boolean>;
31
- editorChangeDelay: PropTypes.Requireable<number>;
32
- }>>>;
33
- items: PropTypes.Requireable<(string | null | undefined)[]>;
34
- categories: PropTypes.Requireable<(string | null | undefined)[]>;
35
- values: PropTypes.Requireable<(number | null | undefined)[]>;
36
- randomizeItems: PropTypes.Requireable<boolean>;
37
- onChange: PropTypes.Validator<(...args: any[]) => any>;
6
+ apiOptions: any;
7
+ items: any;
8
+ categories: any;
9
+ values: any;
10
+ randomizeItems: any;
11
+ onChange: any;
38
12
  };
39
13
  static widgetName: "categorizer";
40
14
  static defaultProps: CategorizerDefaultWidgetOptions;
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * This editor is for embedding Khan Academy CS programs.
3
3
  */
4
- import PropTypes from "prop-types";
5
4
  import * as React from "react";
6
5
  import type { CSProgramDefaultWidgetOptions } from "@khanacademy/perseus-core";
7
6
  /**
@@ -9,7 +8,7 @@ import type { CSProgramDefaultWidgetOptions } from "@khanacademy/perseus-core";
9
8
  */
10
9
  declare class CSProgramEditor extends React.Component<any> {
11
10
  static propTypes: {
12
- onChange: PropTypes.Validator<(...args: any[]) => any>;
11
+ onChange: any;
13
12
  };
14
13
  static widgetName: "cs-program";
15
14
  static defaultProps: CSProgramDefaultWidgetOptions;
@@ -1,13 +1,12 @@
1
- import PropTypes from "prop-types";
2
1
  import * as React from "react";
3
2
  import type { DefinitionDefaultWidgetOptions } from "@khanacademy/perseus-core";
4
3
  type Props = any;
5
4
  declare class DefinitionEditor extends React.Component<Props> {
6
5
  static propTypes: {
7
- togglePrompt: PropTypes.Requireable<string>;
8
- definition: PropTypes.Requireable<string>;
9
- apiOptions: PropTypes.Requireable<any>;
10
- onChange: PropTypes.Validator<(...args: any[]) => any>;
6
+ togglePrompt: any;
7
+ definition: any;
8
+ apiOptions: any;
9
+ onChange: any;
11
10
  };
12
11
  static widgetName: "definition";
13
12
  static defaultProps: DefinitionDefaultWidgetOptions;
@@ -1,14 +1,10 @@
1
1
  import { type DropdownDefaultWidgetOptions } from "@khanacademy/perseus-core";
2
- import PropTypes from "prop-types";
3
2
  import * as React from "react";
4
3
  type Props = any;
5
4
  declare class DropdownEditor extends React.Component<Props> {
6
5
  static propTypes: {
7
- choices: PropTypes.Requireable<(PropTypes.InferProps<{
8
- content: PropTypes.Requireable<string>;
9
- correct: PropTypes.Requireable<boolean>;
10
- }> | null | undefined)[]>;
11
- placeholder: PropTypes.Requireable<string>;
6
+ choices: any;
7
+ placeholder: any;
12
8
  };
13
9
  static widgetName: "dropdown";
14
10
  static defaultProps: DropdownDefaultWidgetOptions;
@@ -1,16 +1,15 @@
1
- import PropTypes from "prop-types";
2
1
  import * as React from "react";
3
2
  import type { ExplanationDefaultWidgetOptions } from "@khanacademy/perseus-core";
4
3
  type Props = any;
5
4
  type State = any;
6
5
  declare class ExplanationEditor extends React.Component<Props, State> {
7
6
  static propTypes: {
8
- showPrompt: PropTypes.Requireable<string>;
9
- hidePrompt: PropTypes.Requireable<string>;
10
- explanation: PropTypes.Requireable<string>;
11
- widgets: PropTypes.Requireable<object>;
12
- apiOptions: PropTypes.Requireable<any>;
13
- onChange: PropTypes.Validator<(...args: any[]) => any>;
7
+ showPrompt: any;
8
+ hidePrompt: any;
9
+ explanation: any;
10
+ widgets: any;
11
+ apiOptions: any;
12
+ onChange: any;
14
13
  };
15
14
  static widgetName: "explanation";
16
15
  static defaultProps: ExplanationDefaultWidgetOptions;
@@ -1,41 +1,15 @@
1
- import PropTypes from "prop-types";
2
1
  import * as React from "react";
3
2
  import Editor from "../editor";
4
3
  import type { GradedGroupDefaultWidgetOptions } from "@khanacademy/perseus-core";
5
4
  type Props = any;
6
5
  declare class GradedGroupEditor extends React.Component<Props> {
7
6
  static propTypes: {
8
- title: PropTypes.Requireable<string>;
9
- content: PropTypes.Requireable<string>;
10
- widgets: PropTypes.Requireable<object>;
11
- images: PropTypes.Requireable<object>;
12
- apiOptions: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
13
- isArticle: PropTypes.Validator<boolean>;
14
- onFocusChange: PropTypes.Validator<(...args: any[]) => any>;
15
- GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>;
16
- showAlignmentOptions: PropTypes.Validator<boolean>;
17
- readOnly: PropTypes.Validator<boolean>;
18
- answerableCallback: PropTypes.Requireable<(...args: any[]) => any>;
19
- getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>;
20
- interactionCallback: PropTypes.Requireable<(...args: any[]) => any>;
21
- groupAnnotator: PropTypes.Validator<(...args: any[]) => any>;
22
- imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
23
- widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
24
- baseElements: PropTypes.Requireable<PropTypes.InferProps<{
25
- Link: PropTypes.Requireable<(...args: any[]) => any>;
26
- }>>;
27
- imagePreloader: PropTypes.Requireable<(...args: any[]) => any>;
28
- trackInteraction: PropTypes.Requireable<(...args: any[]) => any>;
29
- customKeypad: PropTypes.Requireable<boolean>;
30
- nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
31
- isMobile: PropTypes.Requireable<boolean>;
32
- setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
33
- hintProgressColor: PropTypes.Requireable<string>;
34
- canScrollPage: PropTypes.Requireable<boolean>;
35
- crossOutEnabled: PropTypes.Requireable<boolean>;
36
- editorChangeDelay: PropTypes.Requireable<number>;
37
- }>>>;
38
- onChange: PropTypes.Validator<(...args: any[]) => any>;
7
+ title: any;
8
+ content: any;
9
+ widgets: any;
10
+ images: any;
11
+ apiOptions: any;
12
+ onChange: any;
39
13
  };
40
14
  static widgetName: "graded-group";
41
15
  static defaultProps: GradedGroupDefaultWidgetOptions;
@@ -1,38 +1,12 @@
1
- import PropTypes from "prop-types";
2
1
  import * as React from "react";
3
2
  import type { GradedGroupSetDefaultWidgetOptions } from "@khanacademy/perseus-core";
4
3
  type Props = any;
5
4
  declare class GradedGroupSetEditor extends React.Component<Props> {
6
5
  _editors: Array<any>;
7
6
  static propTypes: {
8
- apiOptions: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
9
- isArticle: PropTypes.Validator<boolean>;
10
- onFocusChange: PropTypes.Validator<(...args: any[]) => any>;
11
- GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>;
12
- showAlignmentOptions: PropTypes.Validator<boolean>;
13
- readOnly: PropTypes.Validator<boolean>;
14
- answerableCallback: PropTypes.Requireable<(...args: any[]) => any>;
15
- getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>;
16
- interactionCallback: PropTypes.Requireable<(...args: any[]) => any>;
17
- groupAnnotator: PropTypes.Validator<(...args: any[]) => any>;
18
- imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
- widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
20
- baseElements: PropTypes.Requireable<PropTypes.InferProps<{
21
- Link: PropTypes.Requireable<(...args: any[]) => any>;
22
- }>>;
23
- imagePreloader: PropTypes.Requireable<(...args: any[]) => any>;
24
- trackInteraction: PropTypes.Requireable<(...args: any[]) => any>;
25
- customKeypad: PropTypes.Requireable<boolean>;
26
- nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
27
- isMobile: PropTypes.Requireable<boolean>;
28
- setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
29
- hintProgressColor: PropTypes.Requireable<string>;
30
- canScrollPage: PropTypes.Requireable<boolean>;
31
- crossOutEnabled: PropTypes.Requireable<boolean>;
32
- editorChangeDelay: PropTypes.Requireable<number>;
33
- }>>>;
34
- gradedGroups: PropTypes.Requireable<any[]>;
35
- onChange: PropTypes.Validator<(...args: any[]) => any>;
7
+ apiOptions: any;
8
+ gradedGroups: any;
9
+ onChange: any;
36
10
  };
37
11
  static widgetName: "graded-group-set";
38
12
  static defaultProps: GradedGroupSetDefaultWidgetOptions;
@@ -3,7 +3,7 @@ import type { GrapherDefaultWidgetOptions } from "@khanacademy/perseus-core";
3
3
  type Props = any;
4
4
  declare class GrapherEditor extends React.Component<Props> {
5
5
  static propTypes: {
6
- onChange: import("prop-types").Validator<(...args: any[]) => any>;
6
+ onChange: any;
7
7
  };
8
8
  static widgetName: "grapher";
9
9
  static defaultProps: GrapherDefaultWidgetOptions;
@@ -1,40 +1,14 @@
1
1
  import { type GroupDefaultWidgetOptions } from "@khanacademy/perseus-core";
2
- import PropTypes from "prop-types";
3
2
  import * as React from "react";
4
3
  import Editor from "../editor";
5
4
  type Props = any;
6
5
  declare class GroupEditor extends React.Component<Props> {
7
6
  static propTypes: {
8
- content: PropTypes.Requireable<string>;
9
- widgets: PropTypes.Requireable<object>;
10
- images: PropTypes.Requireable<object>;
11
- apiOptions: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
12
- isArticle: PropTypes.Validator<boolean>;
13
- onFocusChange: PropTypes.Validator<(...args: any[]) => any>;
14
- GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>;
15
- showAlignmentOptions: PropTypes.Validator<boolean>;
16
- readOnly: PropTypes.Validator<boolean>;
17
- answerableCallback: PropTypes.Requireable<(...args: any[]) => any>;
18
- getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>;
19
- interactionCallback: PropTypes.Requireable<(...args: any[]) => any>;
20
- groupAnnotator: PropTypes.Validator<(...args: any[]) => any>;
21
- imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
22
- widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
23
- baseElements: PropTypes.Requireable<PropTypes.InferProps<{
24
- Link: PropTypes.Requireable<(...args: any[]) => any>;
25
- }>>;
26
- imagePreloader: PropTypes.Requireable<(...args: any[]) => any>;
27
- trackInteraction: PropTypes.Requireable<(...args: any[]) => any>;
28
- customKeypad: PropTypes.Requireable<boolean>;
29
- nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
30
- isMobile: PropTypes.Requireable<boolean>;
31
- setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
32
- hintProgressColor: PropTypes.Requireable<string>;
33
- canScrollPage: PropTypes.Requireable<boolean>;
34
- crossOutEnabled: PropTypes.Requireable<boolean>;
35
- editorChangeDelay: PropTypes.Requireable<number>;
36
- }>>>;
37
- onChange: PropTypes.Validator<(...args: any[]) => any>;
7
+ content: any;
8
+ widgets: any;
9
+ images: any;
10
+ apiOptions: any;
11
+ onChange: any;
38
12
  };
39
13
  static widgetName: "group";
40
14
  static defaultProps: GroupDefaultWidgetOptions;
@@ -1,5 +1,4 @@
1
1
  import { type IFrameDefaultWidgetOptions } from "@khanacademy/perseus-core";
2
- import PropTypes from "prop-types";
3
2
  import * as React from "react";
4
3
  type IframeEditorProps = any;
5
4
  /**
@@ -7,7 +6,7 @@ type IframeEditorProps = any;
7
6
  */
8
7
  declare class IframeEditor extends React.Component<IframeEditorProps> {
9
8
  static propTypes: {
10
- onChange: PropTypes.Validator<(...args: any[]) => any>;
9
+ onChange: any;
11
10
  };
12
11
  static widgetName: "iframe";
13
12
  static defaultProps: IFrameDefaultWidgetOptions;
@@ -17,7 +17,7 @@ declare const InteractiveGraph: {
17
17
  rulerTicks?: number;
18
18
  range: import("@khanacademy/perseus-core").GraphRange;
19
19
  graph: PerseusGraphType;
20
- correct: PerseusGraphType;
20
+ correct?: PerseusGraphType;
21
21
  lockedFigures?: ReadonlyArray<LockedFigure>;
22
22
  fullGraphAriaLabel?: string;
23
23
  fullGraphAriaDescription?: string;
@@ -109,7 +109,7 @@ declare const InteractiveGraph: {
109
109
  rulerTicks?: number;
110
110
  range: import("@khanacademy/perseus-core").GraphRange;
111
111
  graph: PerseusGraphType;
112
- correct: PerseusGraphType;
112
+ correct?: PerseusGraphType;
113
113
  lockedFigures?: ReadonlyArray<LockedFigure>;
114
114
  fullGraphAriaLabel?: string;
115
115
  fullGraphAriaDescription?: string;
@@ -199,7 +199,7 @@ declare const InteractiveGraph: {
199
199
  rulerTicks?: number;
200
200
  range: import("@khanacademy/perseus-core").GraphRange;
201
201
  graph: PerseusGraphType;
202
- correct: PerseusGraphType;
202
+ correct?: PerseusGraphType;
203
203
  lockedFigures?: ReadonlyArray<LockedFigure>;
204
204
  fullGraphAriaLabel?: string;
205
205
  fullGraphAriaDescription?: string;
@@ -286,7 +286,7 @@ declare const InteractiveGraph: {
286
286
  rulerTicks?: number;
287
287
  range: import("@khanacademy/perseus-core").GraphRange;
288
288
  graph: PerseusGraphType;
289
- correct: PerseusGraphType;
289
+ correct?: PerseusGraphType;
290
290
  lockedFigures?: ReadonlyArray<LockedFigure>;
291
291
  fullGraphAriaLabel?: string;
292
292
  fullGraphAriaDescription?: string;
@@ -371,7 +371,7 @@ declare const InteractiveGraph: {
371
371
  rulerTicks?: number;
372
372
  range: import("@khanacademy/perseus-core").GraphRange;
373
373
  graph: PerseusGraphType;
374
- correct: PerseusGraphType;
374
+ correct?: PerseusGraphType;
375
375
  lockedFigures?: ReadonlyArray<LockedFigure>;
376
376
  fullGraphAriaLabel?: string;
377
377
  fullGraphAriaDescription?: string;
@@ -458,7 +458,7 @@ declare const InteractiveGraph: {
458
458
  rulerTicks?: number;
459
459
  range: import("@khanacademy/perseus-core").GraphRange;
460
460
  graph: PerseusGraphType;
461
- correct: PerseusGraphType;
461
+ correct?: PerseusGraphType;
462
462
  lockedFigures?: ReadonlyArray<LockedFigure>;
463
463
  fullGraphAriaLabel?: string;
464
464
  fullGraphAriaDescription?: string;
@@ -543,7 +543,7 @@ declare const InteractiveGraph: {
543
543
  rulerTicks?: number;
544
544
  range: import("@khanacademy/perseus-core").GraphRange;
545
545
  graph: PerseusGraphType;
546
- correct: PerseusGraphType;
546
+ correct?: PerseusGraphType;
547
547
  lockedFigures?: ReadonlyArray<LockedFigure>;
548
548
  fullGraphAriaLabel?: string;
549
549
  fullGraphAriaDescription?: string;
@@ -628,7 +628,7 @@ declare const InteractiveGraph: {
628
628
  rulerTicks?: number;
629
629
  range: import("@khanacademy/perseus-core").GraphRange;
630
630
  graph: PerseusGraphType;
631
- correct: PerseusGraphType;
631
+ correct?: PerseusGraphType;
632
632
  lockedFigures?: ReadonlyArray<LockedFigure>;
633
633
  fullGraphAriaLabel?: string;
634
634
  fullGraphAriaDescription?: string;
@@ -713,7 +713,7 @@ declare const InteractiveGraph: {
713
713
  rulerTicks?: number;
714
714
  range: import("@khanacademy/perseus-core").GraphRange;
715
715
  graph: PerseusGraphType;
716
- correct: PerseusGraphType;
716
+ correct?: PerseusGraphType;
717
717
  lockedFigures?: ReadonlyArray<LockedFigure>;
718
718
  fullGraphAriaLabel?: string;
719
719
  fullGraphAriaDescription?: string;
@@ -799,7 +799,7 @@ declare const InteractiveGraph: {
799
799
  rulerTicks?: number;
800
800
  range: import("@khanacademy/perseus-core").GraphRange;
801
801
  graph: PerseusGraphType;
802
- correct: PerseusGraphType;
802
+ correct?: PerseusGraphType;
803
803
  lockedFigures?: ReadonlyArray<LockedFigure>;
804
804
  fullGraphAriaLabel?: string;
805
805
  fullGraphAriaDescription?: string;
@@ -891,7 +891,7 @@ declare const InteractiveGraph: {
891
891
  rulerTicks?: number;
892
892
  range: import("@khanacademy/perseus-core").GraphRange;
893
893
  graph: PerseusGraphType;
894
- correct: PerseusGraphType;
894
+ correct?: PerseusGraphType;
895
895
  lockedFigures?: ReadonlyArray<LockedFigure>;
896
896
  fullGraphAriaLabel?: string;
897
897
  fullGraphAriaDescription?: string;
@@ -981,7 +981,7 @@ declare const InteractiveGraph: {
981
981
  rulerTicks?: number;
982
982
  range: import("@khanacademy/perseus-core").GraphRange;
983
983
  graph: PerseusGraphType;
984
- correct: PerseusGraphType;
984
+ correct?: PerseusGraphType;
985
985
  lockedFigures?: ReadonlyArray<LockedFigure>;
986
986
  fullGraphAriaLabel?: string;
987
987
  fullGraphAriaDescription?: string;
@@ -1068,7 +1068,7 @@ declare const InteractiveGraph: {
1068
1068
  rulerTicks?: number;
1069
1069
  range: import("@khanacademy/perseus-core").GraphRange;
1070
1070
  graph: PerseusGraphType;
1071
- correct: PerseusGraphType;
1071
+ correct?: PerseusGraphType;
1072
1072
  lockedFigures?: ReadonlyArray<LockedFigure>;
1073
1073
  fullGraphAriaLabel?: string;
1074
1074
  fullGraphAriaDescription?: string;
@@ -1153,7 +1153,7 @@ declare const InteractiveGraph: {
1153
1153
  rulerTicks?: number;
1154
1154
  range: import("@khanacademy/perseus-core").GraphRange;
1155
1155
  graph: PerseusGraphType;
1156
- correct: PerseusGraphType;
1156
+ correct?: PerseusGraphType;
1157
1157
  lockedFigures?: ReadonlyArray<LockedFigure>;
1158
1158
  fullGraphAriaLabel?: string;
1159
1159
  fullGraphAriaDescription?: string;
@@ -1240,7 +1240,7 @@ declare const InteractiveGraph: {
1240
1240
  rulerTicks?: number;
1241
1241
  range: import("@khanacademy/perseus-core").GraphRange;
1242
1242
  graph: PerseusGraphType;
1243
- correct: PerseusGraphType;
1243
+ correct?: PerseusGraphType;
1244
1244
  lockedFigures?: ReadonlyArray<LockedFigure>;
1245
1245
  fullGraphAriaLabel?: string;
1246
1246
  fullGraphAriaDescription?: string;
@@ -1325,7 +1325,7 @@ declare const InteractiveGraph: {
1325
1325
  rulerTicks?: number;
1326
1326
  range: import("@khanacademy/perseus-core").GraphRange;
1327
1327
  graph: PerseusGraphType;
1328
- correct: PerseusGraphType;
1328
+ correct?: PerseusGraphType;
1329
1329
  lockedFigures?: ReadonlyArray<LockedFigure>;
1330
1330
  fullGraphAriaLabel?: string;
1331
1331
  fullGraphAriaDescription?: string;
@@ -1410,7 +1410,7 @@ declare const InteractiveGraph: {
1410
1410
  rulerTicks?: number;
1411
1411
  range: import("@khanacademy/perseus-core").GraphRange;
1412
1412
  graph: PerseusGraphType;
1413
- correct: PerseusGraphType;
1413
+ correct?: PerseusGraphType;
1414
1414
  lockedFigures?: ReadonlyArray<LockedFigure>;
1415
1415
  fullGraphAriaLabel?: string;
1416
1416
  fullGraphAriaDescription?: string;
@@ -1495,7 +1495,7 @@ declare const InteractiveGraph: {
1495
1495
  rulerTicks?: number;
1496
1496
  range: import("@khanacademy/perseus-core").GraphRange;
1497
1497
  graph: PerseusGraphType;
1498
- correct: PerseusGraphType;
1498
+ correct?: PerseusGraphType;
1499
1499
  lockedFigures?: ReadonlyArray<LockedFigure>;
1500
1500
  fullGraphAriaLabel?: string;
1501
1501
  fullGraphAriaDescription?: string;
@@ -1591,7 +1591,7 @@ declare const InteractiveGraph: {
1591
1591
  rulerTicks?: number;
1592
1592
  range: import("@khanacademy/perseus-core").GraphRange;
1593
1593
  graph: PerseusGraphType;
1594
- correct: PerseusGraphType;
1594
+ correct?: PerseusGraphType;
1595
1595
  lockedFigures?: ReadonlyArray<LockedFigure>;
1596
1596
  fullGraphAriaLabel?: string;
1597
1597
  fullGraphAriaDescription?: string;
@@ -1674,7 +1674,7 @@ declare const InteractiveGraph: {
1674
1674
  rulerTicks?: number;
1675
1675
  range: import("@khanacademy/perseus-core").GraphRange;
1676
1676
  graph: PerseusGraphType;
1677
- correct: PerseusGraphType;
1677
+ correct?: PerseusGraphType;
1678
1678
  lockedFigures?: ReadonlyArray<LockedFigure>;
1679
1679
  fullGraphAriaLabel?: string;
1680
1680
  fullGraphAriaDescription?: string;
@@ -1757,7 +1757,7 @@ declare const InteractiveGraph: {
1757
1757
  rulerTicks?: number;
1758
1758
  range: import("@khanacademy/perseus-core").GraphRange;
1759
1759
  graph: PerseusGraphType;
1760
- correct: PerseusGraphType;
1760
+ correct?: PerseusGraphType;
1761
1761
  lockedFigures?: ReadonlyArray<LockedFigure>;
1762
1762
  fullGraphAriaLabel?: string;
1763
1763
  fullGraphAriaDescription?: string;
@@ -1840,7 +1840,7 @@ declare const InteractiveGraph: {
1840
1840
  rulerTicks?: number;
1841
1841
  range: import("@khanacademy/perseus-core").GraphRange;
1842
1842
  graph: PerseusGraphType;
1843
- correct: PerseusGraphType;
1843
+ correct?: PerseusGraphType;
1844
1844
  lockedFigures?: ReadonlyArray<LockedFigure>;
1845
1845
  fullGraphAriaLabel?: string;
1846
1846
  fullGraphAriaDescription?: string;
@@ -1923,7 +1923,7 @@ declare const InteractiveGraph: {
1923
1923
  rulerTicks?: number;
1924
1924
  range: import("@khanacademy/perseus-core").GraphRange;
1925
1925
  graph: PerseusGraphType;
1926
- correct: PerseusGraphType;
1926
+ correct?: PerseusGraphType;
1927
1927
  lockedFigures?: ReadonlyArray<LockedFigure>;
1928
1928
  fullGraphAriaLabel?: string;
1929
1929
  fullGraphAriaDescription?: string;
@@ -2006,7 +2006,7 @@ declare const InteractiveGraph: {
2006
2006
  rulerTicks?: number;
2007
2007
  range: import("@khanacademy/perseus-core").GraphRange;
2008
2008
  graph: PerseusGraphType;
2009
- correct: PerseusGraphType;
2009
+ correct?: PerseusGraphType;
2010
2010
  lockedFigures?: ReadonlyArray<LockedFigure>;
2011
2011
  fullGraphAriaLabel?: string;
2012
2012
  fullGraphAriaDescription?: string;
@@ -2090,7 +2090,7 @@ declare const InteractiveGraph: {
2090
2090
  rulerTicks?: number;
2091
2091
  range: import("@khanacademy/perseus-core").GraphRange;
2092
2092
  graph: PerseusGraphType;
2093
- correct: PerseusGraphType;
2093
+ correct?: PerseusGraphType;
2094
2094
  lockedFigures?: ReadonlyArray<LockedFigure>;
2095
2095
  fullGraphAriaLabel?: string;
2096
2096
  fullGraphAriaDescription?: string;
@@ -2173,7 +2173,7 @@ declare const InteractiveGraph: {
2173
2173
  rulerTicks?: number;
2174
2174
  range: import("@khanacademy/perseus-core").GraphRange;
2175
2175
  graph: PerseusGraphType;
2176
- correct: PerseusGraphType;
2176
+ correct?: PerseusGraphType;
2177
2177
  lockedFigures?: ReadonlyArray<LockedFigure>;
2178
2178
  fullGraphAriaLabel?: string;
2179
2179
  fullGraphAriaDescription?: string;
@@ -2257,7 +2257,7 @@ declare const InteractiveGraph: {
2257
2257
  rulerTicks?: number;
2258
2258
  range: import("@khanacademy/perseus-core").GraphRange;
2259
2259
  graph: PerseusGraphType;
2260
- correct: PerseusGraphType;
2260
+ correct?: PerseusGraphType;
2261
2261
  lockedFigures?: ReadonlyArray<LockedFigure>;
2262
2262
  fullGraphAriaLabel?: string;
2263
2263
  fullGraphAriaDescription?: string;
@@ -2340,7 +2340,7 @@ declare const InteractiveGraph: {
2340
2340
  rulerTicks?: number;
2341
2341
  range: import("@khanacademy/perseus-core").GraphRange;
2342
2342
  graph: PerseusGraphType;
2343
- correct: PerseusGraphType;
2343
+ correct?: PerseusGraphType;
2344
2344
  lockedFigures?: ReadonlyArray<LockedFigure>;
2345
2345
  fullGraphAriaLabel?: string;
2346
2346
  fullGraphAriaDescription?: string;
@@ -2423,7 +2423,7 @@ declare const InteractiveGraph: {
2423
2423
  rulerTicks?: number;
2424
2424
  range: import("@khanacademy/perseus-core").GraphRange;
2425
2425
  graph: PerseusGraphType;
2426
- correct: PerseusGraphType;
2426
+ correct?: PerseusGraphType;
2427
2427
  lockedFigures?: ReadonlyArray<LockedFigure>;
2428
2428
  fullGraphAriaLabel?: string;
2429
2429
  fullGraphAriaDescription?: string;
@@ -2506,7 +2506,7 @@ declare const InteractiveGraph: {
2506
2506
  rulerTicks?: number;
2507
2507
  range: import("@khanacademy/perseus-core").GraphRange;
2508
2508
  graph: PerseusGraphType;
2509
- correct: PerseusGraphType;
2509
+ correct?: PerseusGraphType;
2510
2510
  lockedFigures?: ReadonlyArray<LockedFigure>;
2511
2511
  fullGraphAriaLabel?: string;
2512
2512
  fullGraphAriaDescription?: string;
@@ -2589,7 +2589,7 @@ declare const InteractiveGraph: {
2589
2589
  rulerTicks?: number;
2590
2590
  range: import("@khanacademy/perseus-core").GraphRange;
2591
2591
  graph: PerseusGraphType;
2592
- correct: PerseusGraphType;
2592
+ correct?: PerseusGraphType;
2593
2593
  lockedFigures?: ReadonlyArray<LockedFigure>;
2594
2594
  fullGraphAriaLabel?: string;
2595
2595
  fullGraphAriaDescription?: string;
@@ -2672,7 +2672,7 @@ declare const InteractiveGraph: {
2672
2672
  rulerTicks?: number;
2673
2673
  range: import("@khanacademy/perseus-core").GraphRange;
2674
2674
  graph: PerseusGraphType;
2675
- correct: PerseusGraphType;
2675
+ correct?: PerseusGraphType;
2676
2676
  lockedFigures?: ReadonlyArray<LockedFigure>;
2677
2677
  fullGraphAriaLabel?: string;
2678
2678
  fullGraphAriaDescription?: string;
@@ -2755,7 +2755,7 @@ declare const InteractiveGraph: {
2755
2755
  rulerTicks?: number;
2756
2756
  range: import("@khanacademy/perseus-core").GraphRange;
2757
2757
  graph: PerseusGraphType;
2758
- correct: PerseusGraphType;
2758
+ correct?: PerseusGraphType;
2759
2759
  lockedFigures?: ReadonlyArray<LockedFigure>;
2760
2760
  fullGraphAriaLabel?: string;
2761
2761
  fullGraphAriaDescription?: string;
@@ -2838,7 +2838,7 @@ declare const InteractiveGraph: {
2838
2838
  rulerTicks?: number;
2839
2839
  range: import("@khanacademy/perseus-core").GraphRange;
2840
2840
  graph: PerseusGraphType;
2841
- correct: PerseusGraphType;
2841
+ correct?: PerseusGraphType;
2842
2842
  lockedFigures?: ReadonlyArray<LockedFigure>;
2843
2843
  fullGraphAriaLabel?: string;
2844
2844
  fullGraphAriaDescription?: string;
@@ -2921,7 +2921,7 @@ declare const InteractiveGraph: {
2921
2921
  rulerTicks?: number;
2922
2922
  range: import("@khanacademy/perseus-core").GraphRange;
2923
2923
  graph: PerseusGraphType;
2924
- correct: PerseusGraphType;
2924
+ correct?: PerseusGraphType;
2925
2925
  lockedFigures?: ReadonlyArray<LockedFigure>;
2926
2926
  fullGraphAriaLabel?: string;
2927
2927
  fullGraphAriaDescription?: string;
@@ -3004,7 +3004,7 @@ declare const InteractiveGraph: {
3004
3004
  rulerTicks?: number;
3005
3005
  range: import("@khanacademy/perseus-core").GraphRange;
3006
3006
  graph: PerseusGraphType;
3007
- correct: PerseusGraphType;
3007
+ correct?: PerseusGraphType;
3008
3008
  lockedFigures?: ReadonlyArray<LockedFigure>;
3009
3009
  fullGraphAriaLabel?: string;
3010
3010
  fullGraphAriaDescription?: string;
@@ -3087,7 +3087,7 @@ declare const InteractiveGraph: {
3087
3087
  rulerTicks?: number;
3088
3088
  range: import("@khanacademy/perseus-core").GraphRange;
3089
3089
  graph: PerseusGraphType;
3090
- correct: PerseusGraphType;
3090
+ correct?: PerseusGraphType;
3091
3091
  lockedFigures?: ReadonlyArray<LockedFigure>;
3092
3092
  fullGraphAriaLabel?: string;
3093
3093
  fullGraphAriaDescription?: string;
@@ -3170,7 +3170,7 @@ declare const InteractiveGraph: {
3170
3170
  rulerTicks?: number;
3171
3171
  range: import("@khanacademy/perseus-core").GraphRange;
3172
3172
  graph: PerseusGraphType;
3173
- correct: PerseusGraphType;
3173
+ correct?: PerseusGraphType;
3174
3174
  lockedFigures?: ReadonlyArray<LockedFigure>;
3175
3175
  fullGraphAriaLabel?: string;
3176
3176
  fullGraphAriaDescription?: string;
@@ -3253,7 +3253,7 @@ declare const InteractiveGraph: {
3253
3253
  rulerTicks?: number;
3254
3254
  range: import("@khanacademy/perseus-core").GraphRange;
3255
3255
  graph: PerseusGraphType;
3256
- correct: PerseusGraphType;
3256
+ correct?: PerseusGraphType;
3257
3257
  lockedFigures?: ReadonlyArray<LockedFigure>;
3258
3258
  fullGraphAriaLabel?: string;
3259
3259
  fullGraphAriaDescription?: string;
@@ -3336,7 +3336,7 @@ declare const InteractiveGraph: {
3336
3336
  rulerTicks?: number;
3337
3337
  range: import("@khanacademy/perseus-core").GraphRange;
3338
3338
  graph: PerseusGraphType;
3339
- correct: PerseusGraphType;
3339
+ correct?: PerseusGraphType;
3340
3340
  lockedFigures?: ReadonlyArray<LockedFigure>;
3341
3341
  fullGraphAriaLabel?: string;
3342
3342
  fullGraphAriaDescription?: string;
@@ -3419,7 +3419,7 @@ declare const InteractiveGraph: {
3419
3419
  rulerTicks?: number;
3420
3420
  range: import("@khanacademy/perseus-core").GraphRange;
3421
3421
  graph: PerseusGraphType;
3422
- correct: PerseusGraphType;
3422
+ correct?: PerseusGraphType;
3423
3423
  lockedFigures?: ReadonlyArray<LockedFigure>;
3424
3424
  fullGraphAriaLabel?: string;
3425
3425
  fullGraphAriaDescription?: string;