@khanacademy/perseus 34.1.0 → 35.1.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 (84) hide show
  1. package/dist/es/index.js +1109 -974
  2. package/dist/es/index.js.map +1 -1
  3. package/dist/es/strings.js +8 -2
  4. package/dist/es/strings.js.map +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.js +1032 -905
  7. package/dist/index.js.map +1 -1
  8. package/dist/mixins/widget-prop-denylist.d.ts +0 -1
  9. package/dist/perseus-api.d.ts +5 -5
  10. package/dist/perseus-types.d.ts +13 -19
  11. package/dist/renderer.d.ts +4 -4
  12. package/dist/server-item-renderer.d.ts +5 -9
  13. package/dist/strings.d.ts +3 -0
  14. package/dist/strings.js +8 -2
  15. package/dist/strings.js.map +1 -1
  16. package/dist/types.d.ts +3 -6
  17. package/dist/validation.types.d.ts +114 -0
  18. package/dist/widgets/categorizer/categorizer-validator.d.ts +2 -2
  19. package/dist/widgets/categorizer/categorizer.d.ts +6 -6
  20. package/dist/widgets/cs-program/cs-program-validator.d.ts +3 -0
  21. package/dist/widgets/cs-program/cs-program.d.ts +5 -10
  22. package/dist/widgets/definition/definition.d.ts +3 -4
  23. package/dist/widgets/dropdown/dropdown-validator.d.ts +2 -2
  24. package/dist/widgets/dropdown/dropdown.d.ts +5 -5
  25. package/dist/widgets/explanation/explanation.d.ts +3 -2
  26. package/dist/widgets/expression/expression-validator.d.ts +2 -2
  27. package/dist/widgets/expression/expression.d.ts +46 -28
  28. package/dist/widgets/expression/expression.types.d.ts +0 -1
  29. package/dist/widgets/graded-group/graded-group.d.ts +2 -2
  30. package/dist/widgets/graded-group-set/graded-group-set.d.ts +2 -2
  31. package/dist/widgets/grapher/grapher-validator.d.ts +4 -0
  32. package/dist/widgets/grapher/grapher.d.ts +6 -7
  33. package/dist/widgets/grapher/util.d.ts +0 -2
  34. package/dist/widgets/group/group.d.ts +3 -2
  35. package/dist/widgets/iframe/iframe-validator.d.ts +3 -0
  36. package/dist/widgets/iframe/iframe.d.ts +7 -11
  37. package/dist/widgets/image/image.d.ts +3 -4
  38. package/dist/widgets/input-number/input-number-validator.d.ts +3 -3
  39. package/dist/widgets/input-number/input-number.d.ts +7 -10
  40. package/dist/widgets/interaction/interaction.d.ts +3 -3
  41. package/dist/widgets/interactive-graph.d.ts +11 -14
  42. package/dist/widgets/interactive-graphs/backgrounds/axis-ticks.d.ts +1 -1
  43. package/dist/widgets/interactive-graphs/graph-locked-layer.d.ts +2 -0
  44. package/dist/widgets/interactive-graphs/interactive-graph-question-builder.d.ts +15 -2
  45. package/dist/widgets/interactive-graphs/interactive-graph-validator.d.ts +4 -0
  46. package/dist/widgets/interactive-graphs/locked-figures/locked-ellipse.d.ts +5 -1
  47. package/dist/widgets/interactive-graphs/locked-figures/locked-function.d.ts +5 -1
  48. package/dist/widgets/interactive-graphs/locked-figures/locked-line.d.ts +2 -0
  49. package/dist/widgets/interactive-graphs/locked-figures/locked-point.d.ts +5 -1
  50. package/dist/widgets/interactive-graphs/locked-figures/locked-polygon.d.ts +5 -1
  51. package/dist/widgets/interactive-graphs/locked-figures/locked-vector.d.ts +5 -1
  52. package/dist/widgets/interactive-graphs/mafs-state-to-interactive-graph.d.ts +3 -0
  53. package/dist/widgets/interactive-graphs/stateful-mafs-graph.d.ts +5 -2
  54. package/dist/widgets/label-image/label-image-validator.d.ts +10 -0
  55. package/dist/widgets/label-image/label-image.d.ts +15 -10
  56. package/dist/widgets/label-image/types.d.ts +0 -4
  57. package/dist/widgets/matcher/matcher-validator.d.ts +4 -0
  58. package/dist/widgets/matcher/matcher.d.ts +6 -5
  59. package/dist/widgets/matrix/matrix-validator.d.ts +5 -0
  60. package/dist/widgets/matrix/matrix.d.ts +6 -5
  61. package/dist/widgets/molecule/molecule.d.ts +2 -1
  62. package/dist/widgets/number-line/number-line-validator.d.ts +4 -0
  63. package/dist/widgets/number-line/number-line.d.ts +7 -4
  64. package/dist/widgets/numeric-input/numeric-input-validator.d.ts +2 -2
  65. package/dist/widgets/numeric-input/numeric-input.d.ts +7 -7
  66. package/dist/widgets/orderer/orderer.d.ts +4 -4
  67. package/dist/widgets/passage/passage.d.ts +3 -4
  68. package/dist/widgets/passage-ref/passage-ref.d.ts +3 -11
  69. package/dist/widgets/passage-ref-target/passage-ref-target.d.ts +2 -1
  70. package/dist/widgets/phet-simulation/phet-simulation.d.ts +2 -2
  71. package/dist/widgets/plotter/plotter-validator.d.ts +4 -0
  72. package/dist/widgets/plotter/plotter.d.ts +6 -5
  73. package/dist/widgets/radio/radio-component.d.ts +6 -13
  74. package/dist/widgets/radio/radio-validator.d.ts +5 -0
  75. package/dist/widgets/sorter/sorter-validator.d.ts +4 -0
  76. package/dist/widgets/sorter/sorter.d.ts +7 -9
  77. package/dist/widgets/table/table-validator.d.ts +5 -0
  78. package/dist/widgets/table/table.d.ts +6 -5
  79. package/dist/widgets/video/video.d.ts +2 -2
  80. package/package.json +1 -1
  81. package/dist/widgets/categorizer/categorizer.types.d.ts +0 -5
  82. package/dist/widgets/dropdown/dropdown.types.d.ts +0 -5
  83. package/dist/widgets/input-number/input-number.types.d.ts +0 -2
  84. package/dist/widgets/numeric-input/numeric-input.types.d.ts +0 -5
@@ -10,5 +10,4 @@
10
10
  * This blocks things that we know don't need to be serialized.
11
11
  */
12
12
  declare const denylist: string[];
13
- export declare const removeDenylistProps: (props: any) => any;
14
13
  export default denylist;
@@ -8,8 +8,6 @@
8
8
  * * nothing if it is purely a bug fix.
9
9
  *
10
10
  * Callbacks passed to Renderer/ItemRenderer:
11
- * * onInputError:
12
- * Called when there is an error grading a widget
13
11
  * * onFocusChange: (newFocusPath, oldFocusPath, keypadDOMNode)
14
12
  * Called when the user focus changes. The first two parameters are `path`
15
13
  * arrays uniquely identifying the respect inputs. The third parameter,
@@ -34,7 +32,6 @@ import * as React from "react";
34
32
  export declare const ApiOptions: {
35
33
  readonly propTypes: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
36
34
  isArticle: PropTypes.Validator<boolean>;
37
- onInputError: PropTypes.Validator<(...args: any[]) => any>;
38
35
  onFocusChange: PropTypes.Validator<(...args: any[]) => any>;
39
36
  GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>;
40
37
  showAlignmentOptions: PropTypes.Validator<boolean>;
@@ -61,7 +58,6 @@ export declare const ApiOptions: {
61
58
  }>>>;
62
59
  readonly defaults: Readonly<Readonly<{
63
60
  isArticle?: boolean | undefined;
64
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
65
61
  onFocusChange?: ((newFocusPath: import("./types").FocusPath, oldFocusPath: import("./types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
66
62
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
67
63
  showAlignmentOptions?: boolean | undefined;
@@ -107,8 +103,13 @@ export declare const ApiOptions: {
107
103
  "unlimited-point"?: boolean | undefined;
108
104
  } & {
109
105
  "interactive-graph-locked-features-labels"?: boolean | undefined;
106
+ "locked-figures-aria"?: boolean | undefined;
110
107
  "locked-point-labels"?: boolean | undefined;
111
108
  "locked-line-labels"?: boolean | undefined;
109
+ "locked-vector-labels"?: boolean | undefined;
110
+ "locked-ellipse-labels"?: boolean | undefined;
111
+ "locked-polygon-labels"?: boolean | undefined;
112
+ "locked-function-labels"?: boolean | undefined;
112
113
  }) | undefined;
113
114
  } | undefined;
114
115
  onWidgetStartProps?: ((widgets: import("./perseus-types").PerseusWidgetsMap) => void) | undefined;
@@ -124,7 +125,6 @@ export declare const ApiOptions: {
124
125
  isArticle: NonNullable<boolean | undefined>;
125
126
  isMobile: NonNullable<boolean | undefined>;
126
127
  onFocusChange: (newFocusPath: import("./types").FocusPath, oldFocusPath: import("./types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
127
- onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
128
128
  readOnly: NonNullable<boolean | undefined>;
129
129
  setDrawingAreaAvailable: (arg1: boolean) => unknown;
130
130
  showAlignmentOptions: NonNullable<boolean | undefined>;
@@ -204,22 +204,6 @@ export type PerseusDropdownChoice = {
204
204
  export type PerseusExampleWidgetOptions = {
205
205
  value: string;
206
206
  };
207
- export type PerseusExampleGraphieGraph = {
208
- box: Size;
209
- range: [Coord, Coord];
210
- labels: ReadonlyArray<string>;
211
- markings: "graph" | "grid" | "none";
212
- gridStep: [number, number];
213
- step: [number, number];
214
- showProtractor?: boolean;
215
- showRuler?: boolean;
216
- valid?: boolean;
217
- backgroundImage?: PerseusImageBackground | null;
218
- };
219
- export type PerseusExampleGraphieWidgetOptions = {
220
- graph: PerseusExampleGraphieGraph;
221
- coord: [Coord, Coord] | null;
222
- };
223
207
  export type PerseusExplanationWidgetOptions = {
224
208
  showPrompt: string;
225
209
  hidePrompt: string;
@@ -393,7 +377,8 @@ export type LockedPointType = {
393
377
  coord: Coord;
394
378
  color: LockedFigureColor;
395
379
  filled: boolean;
396
- labels: LockedLabelType[];
380
+ labels?: LockedLabelType[];
381
+ ariaLabel?: string;
397
382
  };
398
383
  export type LockedLineType = {
399
384
  type: "line";
@@ -403,12 +388,15 @@ export type LockedLineType = {
403
388
  lineStyle: LockedLineStyle;
404
389
  showPoint1: boolean;
405
390
  showPoint2: boolean;
406
- labels: LockedLabelType[];
391
+ labels?: LockedLabelType[];
392
+ ariaLabel?: string;
407
393
  };
408
394
  export type LockedVectorType = {
409
395
  type: "vector";
410
396
  points: [tail: Coord, tip: Coord];
411
397
  color: LockedFigureColor;
398
+ labels?: LockedLabelType[];
399
+ ariaLabel?: string;
412
400
  };
413
401
  export type LockedFigureFillType = "none" | "white" | "translucent" | "solid";
414
402
  export declare const lockedFigureFillStyles: Record<LockedFigureFillType, number>;
@@ -420,6 +408,8 @@ export type LockedEllipseType = {
420
408
  color: LockedFigureColor;
421
409
  fillStyle: LockedFigureFillType;
422
410
  strokeStyle: LockedLineStyle;
411
+ labels?: LockedLabelType[];
412
+ ariaLabel?: string;
423
413
  };
424
414
  export type LockedPolygonType = {
425
415
  type: "polygon";
@@ -428,6 +418,8 @@ export type LockedPolygonType = {
428
418
  showVertices: boolean;
429
419
  fillStyle: LockedFigureFillType;
430
420
  strokeStyle: LockedLineStyle;
421
+ labels?: LockedLabelType[];
422
+ ariaLabel?: string;
431
423
  };
432
424
  export type LockedFunctionType = {
433
425
  type: "function";
@@ -436,6 +428,8 @@ export type LockedFunctionType = {
436
428
  equation: string;
437
429
  directionalAxis: "x" | "y";
438
430
  domain?: Interval;
431
+ labels?: LockedLabelType[];
432
+ ariaLabel?: string;
439
433
  };
440
434
  export type LockedLabelType = {
441
435
  type: "label";
@@ -895,5 +889,5 @@ export type PerseusSimpleMarkdownTesterWidgetOptions = {
895
889
  export type PerseusUnitInputWidgetOptions = {
896
890
  value: string;
897
891
  };
898
- export type PerseusWidgetOptions = PerseusCategorizerWidgetOptions | PerseusCSProgramWidgetOptions | PerseusDefinitionWidgetOptions | PerseusDropdownWidgetOptions | PerseusExampleGraphieWidgetOptions | PerseusExampleWidgetOptions | PerseusExplanationWidgetOptions | PerseusExpressionWidgetOptions | PerseusGradedGroupSetWidgetOptions | PerseusGradedGroupWidgetOptions | PerseusIFrameWidgetOptions | PerseusImageWidgetOptions | PerseusInputNumberWidgetOptions | PerseusInteractionWidgetOptions | PerseusInteractiveGraphWidgetOptions | PerseusLabelImageWidgetOptions | PerseusMatcherWidgetOptions | PerseusMatrixWidgetOptions | PerseusMeasurerWidgetOptions | PerseusMoleculeRendererWidgetOptions | PerseusNumberLineWidgetOptions | PerseusNumericInputWidgetOptions | PerseusOrdererWidgetOptions | PerseusPassageRefTargetWidgetOptions | PerseusPassageRefWidgetOptions | PerseusPassageWidgetOptions | PerseusPhetSimulationWidgetOptions | PerseusPlotterWidgetOptions | PerseusRadioWidgetOptions | PerseusSimpleMarkdownTesterWidgetOptions | PerseusSorterWidgetOptions | PerseusTableWidgetOptions | PerseusUnitInputWidgetOptions | PerseusVideoWidgetOptions;
892
+ export type PerseusWidgetOptions = PerseusCategorizerWidgetOptions | PerseusCSProgramWidgetOptions | PerseusDefinitionWidgetOptions | PerseusDropdownWidgetOptions | PerseusExampleWidgetOptions | PerseusExplanationWidgetOptions | PerseusExpressionWidgetOptions | PerseusGradedGroupSetWidgetOptions | PerseusGradedGroupWidgetOptions | PerseusIFrameWidgetOptions | PerseusImageWidgetOptions | PerseusInputNumberWidgetOptions | PerseusInteractionWidgetOptions | PerseusInteractiveGraphWidgetOptions | PerseusLabelImageWidgetOptions | PerseusMatcherWidgetOptions | PerseusMatrixWidgetOptions | PerseusMeasurerWidgetOptions | PerseusMoleculeRendererWidgetOptions | PerseusNumberLineWidgetOptions | PerseusNumericInputWidgetOptions | PerseusOrdererWidgetOptions | PerseusPassageRefTargetWidgetOptions | PerseusPassageRefWidgetOptions | PerseusPassageWidgetOptions | PerseusPhetSimulationWidgetOptions | PerseusPlotterWidgetOptions | PerseusRadioWidgetOptions | PerseusSimpleMarkdownTesterWidgetOptions | PerseusSorterWidgetOptions | PerseusTableWidgetOptions | PerseusUnitInputWidgetOptions | PerseusVideoWidgetOptions;
899
893
  export {};
@@ -6,6 +6,7 @@ import type { DependenciesContext } from "./dependencies";
6
6
  import type { PerseusRenderer, PerseusWidget, PerseusWidgetOptions, PerseusWidgetsMap, ShowSolutions } from "./perseus-types";
7
7
  import type { PerseusStrings } from "./strings";
8
8
  import type { APIOptions, APIOptionsWithDefaults, FilterCriterion, FocusPath, PerseusScore, WidgetProps } from "./types";
9
+ import type { UserInput } from "./validation.types";
9
10
  import type { KeypadAPI } from "@khanacademy/math-input";
10
11
  import type { LinterContextProps } from "@khanacademy/perseus-linter";
11
12
  import "./styles/perseus-renderer.less";
@@ -18,7 +19,6 @@ type WidgetState = {
18
19
  baseElements?: any;
19
20
  };
20
21
  type SetWidgetPropsFn = (id: string, newProps: any, cb: () => boolean, silent?: boolean) => void;
21
- type WidgetUserInput = any;
22
22
  type SerializedState = {
23
23
  [id: string]: any;
24
24
  };
@@ -45,7 +45,7 @@ export type Widget = {
45
45
  focusInputPath?: (path: FocusPath) => null;
46
46
  getInputPaths?: () => ReadonlyArray<FocusPath>;
47
47
  setInputValue?: (path: FocusPath, newValue: string, focus?: () => unknown) => void;
48
- getUserInput?: () => WidgetUserInput | null | undefined;
48
+ getUserInput?: () => UserInput | null | undefined;
49
49
  simpleValidate?: (options?: any, onOutputError?: (widgetId: any, value: string, message?: string | null | undefined) => unknown | null | undefined) => PerseusScore;
50
50
  showRationalesForCurrentlySelectedChoices?: (options?: any) => void;
51
51
  examples?: () => ReadonlyArray<string>;
@@ -226,7 +226,7 @@ declare class Renderer extends React.Component<Props, State> {
226
226
  /**
227
227
  * Returns an array of the widget `.getUserInput()` results
228
228
  */
229
- getUserInput: () => ReadonlyArray<WidgetUserInput | null | undefined>;
229
+ getUserInput: () => ReadonlyArray<UserInput | null | undefined>;
230
230
  /**
231
231
  * Returns an array of all widget IDs in the order they occur in
232
232
  * the content.
@@ -242,7 +242,7 @@ declare class Renderer extends React.Component<Props, State> {
242
242
  * so we should aim to remove one of these functions.
243
243
  */
244
244
  getUserInputForWidgets: () => {
245
- [widgetId: string]: WidgetUserInput | null | undefined;
245
+ [widgetId: string]: UserInput | null | undefined;
246
246
  };
247
247
  /**
248
248
  * Returns an object mapping from widget ID to perseus-style score.
@@ -84,14 +84,6 @@ export declare class ServerItemRenderer extends React.Component<Props, State> im
84
84
  * the question content.
85
85
  */
86
86
  getWidgetIds(): ReadonlyArray<string>;
87
- /**
88
- * Returns an object mapping from widget ID to KE-style score.
89
- * The keys of this object are the values of the array returned
90
- * from `getWidgetIds`.
91
- */
92
- scoreWidgets(): {
93
- [key: string]: KEScore;
94
- };
95
87
  /**
96
88
  * Get a representation of the current state of the item.
97
89
  */
@@ -106,7 +98,6 @@ declare const ref: React.ForwardRefExoticComponent<Omit<Pick<SharedRendererProps
106
98
  linterContext?: PerseusLinter.LinterContextProps | undefined;
107
99
  apiOptions?: Readonly<{
108
100
  isArticle?: boolean | undefined;
109
- onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
110
101
  onFocusChange?: ((newFocusPath: FocusPath, oldFocusPath: FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
111
102
  GroupMetadataEditor?: React.ComponentType<any> | undefined;
112
103
  showAlignmentOptions?: boolean | undefined;
@@ -152,8 +143,13 @@ declare const ref: React.ForwardRefExoticComponent<Omit<Pick<SharedRendererProps
152
143
  "unlimited-point"?: boolean | undefined;
153
144
  } & {
154
145
  "interactive-graph-locked-features-labels"?: boolean | undefined;
146
+ "locked-figures-aria"?: boolean | undefined;
155
147
  "locked-point-labels"?: boolean | undefined;
156
148
  "locked-line-labels"?: boolean | undefined;
149
+ "locked-vector-labels"?: boolean | undefined;
150
+ "locked-ellipse-labels"?: boolean | undefined;
151
+ "locked-polygon-labels"?: boolean | undefined;
152
+ "locked-function-labels"?: boolean | undefined;
157
153
  }) | undefined;
158
154
  } | undefined;
159
155
  onWidgetStartProps?: ((widgets: import("./perseus-types").PerseusWidgetsMap) => void) | undefined;
package/dist/strings.d.ts CHANGED
@@ -177,6 +177,9 @@ export type PerseusStrings = {
177
177
  tan: string;
178
178
  simulationLoadFail: string;
179
179
  simulationLocaleWarning: string;
180
+ addPoint: string;
181
+ removePoint: string;
182
+ graphKeyboardPrompt: string;
180
183
  };
181
184
  /**
182
185
  * Untranslated strings used in Perseus. To be used by an external
package/dist/strings.js CHANGED
@@ -144,7 +144,10 @@ const strings = {
144
144
  cos: "cos",
145
145
  tan: "tan",
146
146
  simulationLoadFail: "Sorry, this simulation cannot load.",
147
- simulationLocaleWarning: "Sorry, this simulation isn't available in your language."
147
+ simulationLocaleWarning: "Sorry, this simulation isn't available in your language.",
148
+ addPoint: "Add Point",
149
+ removePoint: "Remove Point",
150
+ graphKeyboardPrompt: "Press Shift + Enter to interact with the graph"
148
151
  };
149
152
 
150
153
  /**
@@ -403,7 +406,10 @@ const mockStrings = {
403
406
  cos: "cos",
404
407
  tan: "tan",
405
408
  simulationLoadFail: "Sorry, this simulation cannot load.",
406
- simulationLocaleWarning: "Sorry, this simulation isn't available in your language."
409
+ simulationLocaleWarning: "Sorry, this simulation isn't available in your language.",
410
+ addPoint: "Add Point",
411
+ removePoint: "Remove Point",
412
+ graphKeyboardPrompt: "Press Shift + Enter to interact with the graph"
407
413
  };
408
414
 
409
415
  exports.mockStrings = mockStrings;
@@ -1 +1 @@
1
- {"version":3,"file":"strings.js","sources":["../src/strings.ts"],"sourcesContent":["/**\n * The translated strings that are used to render Perseus.\n */\nexport type PerseusStrings = {\n closeKeypad: string;\n openKeypad: string;\n mathInputBox: string;\n removeHighlight: string;\n addHighlight: string;\n hintPos: ({pos}: {pos: number}) => string;\n errorRendering: ({error}: {error: string}) => string;\n APPROXIMATED_PI_ERROR: string;\n EXTRA_SYMBOLS_ERROR: string;\n NEEDS_TO_BE_SIMPLFIED_ERROR: string;\n MISSING_PERCENT_ERROR: string;\n MULTIPLICATION_SIGN_ERROR: string;\n WRONG_CASE_ERROR: string;\n WRONG_LETTER_ERROR: string;\n invalidSelection: string;\n ERROR_TITLE: string;\n ERROR_MESSAGE: string;\n hints: string;\n getAnotherHint: string;\n deprecatedStandin: string;\n keepTrying: string;\n tryAgain: string;\n check: string;\n correctExcited: string;\n nextQuestion: string;\n skipToTitle: ({title}: {title: string}) => string;\n current: string;\n correct: string;\n correctSelected: string;\n correctCrossedOut: string;\n incorrect: string;\n incorrectSelected: string;\n hideExplanation: string;\n explain: string;\n INVALID_MESSAGE_PREFIX: string;\n DEFAULT_INVALID_MESSAGE_1: string;\n DEFAULT_INVALID_MESSAGE_2: string;\n integerExample: string;\n properExample: string;\n simplifiedProperExample: string;\n improperExample: string;\n simplifiedImproperExample: string;\n mixedExample: string;\n decimalExample: string;\n percentExample: string;\n piExample: string;\n yourAnswer: string;\n yourAnswerLabel: string;\n addPoints: string;\n addVertices: string;\n tapMultiple: string;\n tapSingle: string;\n clickMultiple: string;\n clickSingle: string;\n choices: string;\n answers: ({num}: {num: number}) => string;\n hideAnswersToggleLabel: string;\n moves: ({num}: {num: number}) => string;\n clickTiles: string;\n turnOffLights: string;\n fillAllCells: string;\n molecularDrawing: ({content}: {content: string}) => string;\n switchDirection: string;\n circleOpen: string;\n circleFilled: string;\n numDivisions: string;\n divisions: ({divRangeString}: {divRangeString: string}) => string;\n lineRange: ({lineRange}: {lineRange: string}) => string;\n lineNumber: ({lineNumber}: {lineNumber: string}) => string;\n symbolPassage: ({\n questionSymbol,\n questionNumber,\n }: {\n questionSymbol: string;\n questionNumber: string;\n }) => string;\n symbolQuestion: ({sentenceSymbol}: {sentenceSymbol: string}) => string;\n lineLabel: string;\n beginningPassage: string;\n beginningFootnotes: string;\n endPassage: string;\n questionMarker: ({number}: {number: string}) => string;\n circleMarker: ({number}: {number: string}) => string;\n sentenceMarker: ({number}: {number: string}) => string;\n dragHandles: string;\n tapAddPoints: string;\n false: string;\n true: string;\n no: string;\n yes: string;\n chooseCorrectNum: string;\n notNoneOfTheAbove: string;\n noneOfTheAbove: string;\n chooseNumAnswers: ({numCorrect}: {numCorrect: string}) => string;\n chooseAllAnswers: string;\n chooseOneAnswer: string;\n choiceCheckedCorrect: ({letter}: {letter: string}) => string;\n choiceCrossedOutCorrect: ({letter}: {letter: string}) => string;\n choiceCorrect: ({letter}: {letter: string}) => string;\n choiceCheckedIncorrect: ({letter}: {letter: string}) => string;\n choiceCrossedOutIncorrect: ({letter}: {letter: string}) => string;\n choiceIncorrect: ({letter}: {letter: string}) => string;\n choiceChecked: ({letter}: {letter: string}) => string;\n choiceCrossedOut: ({letter}: {letter: string}) => string;\n choice: ({letter}: {letter: string}) => string;\n crossOut: string;\n crossOutOption: string;\n crossOutChoice: ({letter}: {letter: string}) => string;\n bringBack: string;\n openMenuForChoice: ({letter}: {letter: string}) => string;\n letters: string;\n rightArrow: string;\n dontUnderstandUnits: string;\n checkSigFigs: string;\n answerNumericallyIncorrect: string;\n checkUnits: string;\n dontUnderstand: string;\n loading: string;\n videoTranscript: string;\n somethingWrong: string;\n videoWrapper: string;\n mathInputTitle: string;\n mathInputDescription: string;\n sin: string;\n cos: string;\n tan: string;\n simulationLoadFail: string;\n simulationLocaleWarning: string;\n};\n\n/**\n * Untranslated strings used in Perseus. To be used by an external\n * translator to produce translated strings, passed in as `PerseusStrings`.\n */\nexport const strings: {\n [key in keyof PerseusStrings]:\n | string\n | {context?: string; message: string}\n | {context?: string; one: string; other: string};\n} = {\n closeKeypad: \"close math keypad\",\n openKeypad: \"open math keypad\",\n mathInputBox: \"Math input box\",\n removeHighlight: \"Remove highlight\",\n addHighlight: \"Add highlight\",\n hintPos: \"Hint #%(pos)s\",\n errorRendering: \"Error rendering: %(error)s\",\n APPROXIMATED_PI_ERROR:\n \"Your answer is close, but you may \" +\n \"have approximated pi. Enter your \" +\n \"answer as a multiple of pi, like \" +\n \"<code>12\\\\ \\\\text{pi}</code> or \" +\n \"<code>2/3\\\\ \\\\text{pi}</code>\",\n EXTRA_SYMBOLS_ERROR:\n \"We could not understand your \" +\n \"answer. Please check your answer for extra \" +\n \"text or symbols.\",\n NEEDS_TO_BE_SIMPLFIED_ERROR:\n \"Your answer is almost correct, \" + \"but it needs to be simplified.\",\n MISSING_PERCENT_ERROR:\n \"Your answer is almost correct, \" +\n \"but it is missing a \" +\n \"<code>\\\\%</code> at the end.\",\n MULTIPLICATION_SIGN_ERROR:\n \"I'm a computer. I only understand \" +\n \"multiplication if you use an asterisk \" +\n \"(*) as the multiplication sign.\",\n WRONG_CASE_ERROR:\n \"Your answer includes use of a variable with the wrong case.\",\n WRONG_LETTER_ERROR: \"Your answer includes a wrong variable letter.\",\n invalidSelection: \"Make sure you select something for every row.\",\n ERROR_TITLE: \"Oops!\",\n ERROR_MESSAGE: \"Sorry, I don't understand that!\",\n hints: \"Hints\",\n getAnotherHint: \"Get another hint\",\n deprecatedStandin:\n \"Sorry, this part of the question is no longer available. 😅 Don't worry, you won't be graded on this part. Keep going!\",\n keepTrying: \"Keep trying\",\n tryAgain: \"Try again\",\n check: \"Check\",\n correctExcited: \"Correct!\",\n nextQuestion: \"Next question\",\n skipToTitle: \"Skip to %(title)s\",\n current: \"Current\",\n correct: \"Correct\",\n correctSelected: \"Correct (selected)\",\n correctCrossedOut: \"Correct (but you crossed it out)\",\n incorrect: \"Incorrect\",\n incorrectSelected: \"Incorrect (selected)\",\n hideExplanation: \"Hide explanation\",\n explain: \"Explain\",\n INVALID_MESSAGE_PREFIX: \"We couldn't grade your answer.\",\n DEFAULT_INVALID_MESSAGE_1: \"It looks like you left something blank or \",\n DEFAULT_INVALID_MESSAGE_2: \"entered in an invalid answer.\",\n integerExample: \"an integer, like $6$\",\n properExample: \"a *proper* fraction, like $1/2$ or $6/10$\",\n simplifiedProperExample: \"a *simplified proper* fraction, like $3/5$\",\n improperExample: \"an *improper* fraction, like $10/7$ or $14/8$\",\n simplifiedImproperExample: \"a *simplified improper* fraction, like $7/4$\",\n mixedExample: \"a mixed number, like $1\\\\ 3/4$\",\n decimalExample: \"an *exact* decimal, like $0.75$\",\n percentExample: \"a percent, like $12.34\\\\%$\",\n piExample: \"a multiple of pi, like $12\\\\ \\\\text{pi}$ or $2/3\\\\ \\\\text{pi}$\",\n yourAnswer: \"**Your answer should be** \",\n yourAnswerLabel: \"Your answer:\",\n addPoints: \"Click to add points\",\n addVertices: \"Click to add vertices\",\n tapMultiple: \"Tap each dot on the image to select all answers that apply.\",\n tapSingle: \"Tap each dot on the image to select an answer.\",\n clickMultiple:\n \"Click each dot on the image to select all answers that apply.\",\n clickSingle: \"Click each dot on the image to select an answer.\",\n choices: \"Choices:\",\n answers: {\n one: \"%(num)s answer\",\n other: \"%(num)s answers\",\n },\n hideAnswersToggleLabel: \"Hide answer choices\",\n moves: {\n one: \"Moves: %(num)s\",\n other: \"Moves: %(num)s\",\n },\n clickTiles: \"Click on the tiles to change the lights.\",\n turnOffLights: \"You must turn on all of the lights to continue.\",\n fillAllCells: \"Make sure you fill in all cells in the matrix.\",\n molecularDrawing:\n \"A molecular structure drawing. SMILES notation: %(content)s\",\n switchDirection: \"Switch direction\",\n circleOpen: \"Make circle open\",\n circleFilled: \"Make circle filled\",\n numDivisions: \"Number of divisions:\",\n divisions:\n \"Please make sure the number of divisions is in the range %(divRangeString)s.\",\n lineRange: \"lines %(lineRange)s\",\n lineNumber: \"line %(lineNumber)s\",\n symbolPassage:\n \"The symbol %(questionSymbol)s indicates that question %(questionNumber)s references this portion of the passage.\",\n symbolQuestion:\n \" The symbol %(sentenceSymbol)s indicates that the following sentence is referenced in a question.\",\n lineLabel: {\n context: \"a label next to a reading passage to denote the line number\",\n message: \"Line\",\n },\n beginningPassage: \"Beginning of reading passage.\",\n beginningFootnotes: \"Beginning of reading passage footnotes.\",\n endPassage: \"End of reading passage.\",\n questionMarker: \"[Marker for question %(number)s]\",\n circleMarker: \"[Circle marker %(number)s]\",\n sentenceMarker: \"[Sentence %(number)s]\",\n dragHandles: \"Drag handles to make graph\",\n tapAddPoints: \"Tap to add points\",\n false: \"False\",\n true: \"True\",\n no: \"No\",\n yes: \"Yes\",\n chooseCorrectNum: \"Please choose the correct number of answers.\",\n notNoneOfTheAbove:\n \"'None of the above' may not be selected when other answers are selected.\",\n noneOfTheAbove: \"None of the above\",\n chooseNumAnswers: \"Choose %(numCorrect)s answers:\",\n chooseAllAnswers: \"Choose all answers that apply:\",\n chooseOneAnswer: \"Choose 1 answer:\",\n choiceCheckedCorrect: \"(Choice %(letter)s, Checked, Correct)\",\n choiceCrossedOutCorrect: \"(Choice %(letter)s, Crossed out, Correct)\",\n choiceCorrect: \"(Choice %(letter)s, Correct)\",\n choiceCheckedIncorrect: \"(Choice %(letter)s, Checked, Incorrect)\",\n choiceCrossedOutIncorrect: \"(Choice %(letter)s, Crossed out, Incorrect)\",\n choiceIncorrect: \"(Choice %(letter)s, Incorrect)\",\n choiceChecked: \"(Choice %(letter)s, Checked)\",\n choiceCrossedOut: \"(Choice %(letter)s, Crossed out)\",\n choice: \"(Choice %(letter)s)\",\n crossOut: \"Cross out\",\n crossOutOption: \"Cross out option\",\n crossOutChoice: \"Cross out Choice %(letter)s\",\n bringBack: \"Bring back\",\n openMenuForChoice: \"Open menu for Choice %(letter)s\",\n letters: {\n context:\n \"This is a list of single-character labels that will appear in front of multiple-choice options. For instance, a multiple-choice question with three options would display (A) first option (B) second option (C) third option. There must be spaces between each of the different characters. The characters will show up next to options in the order that they are listed here. Most multiple choice questions have 5 or fewer options.\",\n message: \"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\",\n },\n rightArrow: \"Reaction arrow pointing to the right.\",\n dontUnderstandUnits: \"I couldn't understand those units.\",\n checkSigFigs: \"Check your significant figures.\",\n answerNumericallyIncorrect: \"That answer is numerically incorrect.\",\n checkUnits: \"Check your units.\",\n dontUnderstand: \"I don't understand that\",\n loading: \"Loading...\",\n videoTranscript: \"See video transcript\",\n somethingWrong: \"Something went wrong.\",\n videoWrapper: \"Khan Academy video wrapper\",\n mathInputTitle: \"mathematics keyboard\",\n mathInputDescription:\n \"Use keyboard/mouse to interact with math-based input fields\",\n sin: \"sin\",\n cos: \"cos\",\n tan: \"tan\",\n simulationLoadFail: \"Sorry, this simulation cannot load.\",\n simulationLocaleWarning:\n \"Sorry, this simulation isn't available in your language.\",\n};\n\n/**\n * Mock strings for the Perseus package, to be used for tests and Storybook.\n */\nexport const mockStrings: PerseusStrings = {\n closeKeypad: \"close math keypad\",\n openKeypad: \"open math keypad\",\n mathInputBox: \"Math input box\",\n removeHighlight: \"Remove highlight\",\n addHighlight: \"Add highlight\",\n hintPos: ({pos}) => `Hint #${pos}`,\n errorRendering: ({error}) => `Error rendering: ${error}`,\n APPROXIMATED_PI_ERROR:\n \"Your answer is close, but you may \" +\n \"have approximated pi. Enter your \" +\n \"answer as a multiple of pi, like \" +\n \"<code>12\\\\ \\\\text{pi}</code> or \" +\n \"<code>2/3\\\\ \\\\text{pi}</code>\",\n EXTRA_SYMBOLS_ERROR:\n \"We could not understand your \" +\n \"answer. Please check your answer for extra \" +\n \"text or symbols.\",\n NEEDS_TO_BE_SIMPLFIED_ERROR:\n \"Your answer is almost correct, \" + \"but it needs to be simplified.\",\n MISSING_PERCENT_ERROR:\n \"Your answer is almost correct, \" +\n \"but it is missing a \" +\n \"<code>\\\\%</code> at the end.\",\n MULTIPLICATION_SIGN_ERROR:\n \"I'm a computer. I only understand \" +\n \"multiplication if you use an asterisk \" +\n \"(*) as the multiplication sign.\",\n WRONG_CASE_ERROR:\n \"Your answer includes use of a variable with the wrong case.\",\n WRONG_LETTER_ERROR: \"Your answer includes a wrong variable letter.\",\n invalidSelection: \"Make sure you select something for every row.\",\n ERROR_TITLE: \"Oops!\",\n ERROR_MESSAGE: \"Sorry, I don't understand that!\",\n hints: \"Hints\",\n getAnotherHint: \"Get another hint\",\n deprecatedStandin:\n \"Sorry, this part of the question is no longer available. 😅 Don't worry, you won't be graded on this part. Keep going!\",\n keepTrying: \"Keep trying\",\n tryAgain: \"Try again\",\n check: \"Check\",\n correctExcited: \"Correct!\",\n nextQuestion: \"Next question\",\n skipToTitle: ({title}) => `Skip to ${title}`,\n current: \"Current\",\n correct: \"Correct\",\n correctSelected: \"Correct (selected)\",\n correctCrossedOut: \"Correct (but you crossed it out)\",\n incorrect: \"Incorrect\",\n incorrectSelected: \"Incorrect (selected)\",\n hideExplanation: \"Hide explanation\",\n explain: \"Explain\",\n INVALID_MESSAGE_PREFIX: \"We couldn't grade your answer.\",\n DEFAULT_INVALID_MESSAGE_1: \"It looks like you left something blank or \",\n DEFAULT_INVALID_MESSAGE_2: \"entered in an invalid answer.\",\n integerExample: \"an integer, like $6$\",\n properExample: \"a *proper* fraction, like $1/2$ or $6/10$\",\n simplifiedProperExample: \"a *simplified proper* fraction, like $3/5$\",\n improperExample: \"an *improper* fraction, like $10/7$ or $14/8$\",\n simplifiedImproperExample: \"a *simplified improper* fraction, like $7/4$\",\n mixedExample: \"a mixed number, like $1\\\\ 3/4$\",\n decimalExample: \"an *exact* decimal, like $0.75$\",\n percentExample: \"a percent, like $12.34\\\\%$\",\n piExample: \"a multiple of pi, like $12\\\\ \\\\text{pi}$ or $2/3\\\\ \\\\text{pi}$\",\n yourAnswer: \"**Your answer should be** \",\n yourAnswerLabel: \"Your answer:\",\n addPoints: \"Click to add points\",\n addVertices: \"Click to add vertices\",\n tapMultiple: \"Tap each dot on the image to select all answers that apply.\",\n tapSingle: \"Tap each dot on the image to select an answer.\",\n clickMultiple:\n \"Click each dot on the image to select all answers that apply.\",\n clickSingle: \"Click each dot on the image to select an answer.\",\n choices: \"Choices:\",\n answers: ({num}) => (num === 1 ? `${num} answer` : `${num} answers`),\n hideAnswersToggleLabel: \"Hide answer choices\",\n moves: ({num}) => (num === 1 ? `Moves: ${num}` : `Moves: ${num}`),\n clickTiles: \"Click on the tiles to change the lights.\",\n turnOffLights: \"You must turn on all of the lights to continue.\",\n fillAllCells: \"Make sure you fill in all cells in the matrix.\",\n molecularDrawing: ({content}) =>\n `A molecular structure drawing. SMILES notation: ${content}`,\n switchDirection: \"Switch direction\",\n circleOpen: \"Make circle open\",\n circleFilled: \"Make circle filled\",\n numDivisions: \"Number of divisions:\",\n divisions: ({divRangeString}) =>\n `Please make sure the number of divisions is in the range ${divRangeString}.`,\n lineRange: ({lineRange}: {lineRange: string}) => `lines ${lineRange}`,\n lineNumber: ({lineNumber}: {lineNumber: string}) => `line ${lineNumber}`,\n symbolPassage: ({questionSymbol, questionNumber}) =>\n `The symbol ${questionSymbol} indicates that question ${questionNumber} references this portion of the passage.`,\n symbolQuestion: ({sentenceSymbol}) =>\n ` The symbol ${sentenceSymbol} indicates that the following sentence is referenced in a question.`,\n lineLabel: \"Line\",\n beginningPassage: \"Beginning of reading passage.\",\n beginningFootnotes: \"Beginning of reading passage footnotes.\",\n endPassage: \"End of reading passage.\",\n questionMarker: ({number}) => `[Marker for question ${number}]`,\n circleMarker: ({number}) => `[Circle marker ${number}]`,\n sentenceMarker: ({number}) => `[Sentence ${number}]`,\n dragHandles: \"Drag handles to make graph\",\n tapAddPoints: \"Tap to add points\",\n false: \"False\",\n true: \"True\",\n no: \"No\",\n yes: \"Yes\",\n chooseCorrectNum: \"Please choose the correct number of answers.\",\n notNoneOfTheAbove:\n \"'None of the above' may not be selected when other answers are selected.\",\n noneOfTheAbove: \"None of the above\",\n chooseNumAnswers: ({numCorrect}) => `Choose ${numCorrect} answers:`,\n chooseAllAnswers: \"Choose all answers that apply:\",\n chooseOneAnswer: \"Choose 1 answer:\",\n choiceCheckedCorrect: ({letter}) => `(Choice ${letter}, Checked, Correct)`,\n choiceCrossedOutCorrect: ({letter}) =>\n `(Choice ${letter}, Crossed out, Correct)`,\n choiceCorrect: ({letter}) => `(Choice ${letter}, Correct)`,\n choiceCheckedIncorrect: ({letter}) =>\n `(Choice ${letter}, Checked, Incorrect)`,\n choiceCrossedOutIncorrect: ({letter}) =>\n `(Choice ${letter}, Crossed out, Incorrect)`,\n choiceIncorrect: ({letter}) => `(Choice ${letter}, Incorrect)`,\n choiceChecked: ({letter}) => `(Choice ${letter}, Checked)`,\n choiceCrossedOut: ({letter}) => `(Choice ${letter}, Crossed out)`,\n choice: ({letter}) => `(Choice ${letter})`,\n crossOut: \"Cross out\",\n crossOutOption: \"Cross out option\",\n crossOutChoice: ({letter}) => `Cross out Choice ${letter}`,\n bringBack: \"Bring back\",\n openMenuForChoice: ({letter}) => `Open menu for Choice ${letter}`,\n letters: \"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\",\n rightArrow: \"Reaction arrow pointing to the right.\",\n dontUnderstandUnits: \"I couldn't understand those units.\",\n checkSigFigs: \"Check your significant figures.\",\n answerNumericallyIncorrect: \"That answer is numerically incorrect.\",\n checkUnits: \"Check your units.\",\n dontUnderstand: \"I don't understand that\",\n loading: \"Loading...\",\n videoTranscript: \"See video transcript\",\n somethingWrong: \"Something went wrong.\",\n videoWrapper: \"Khan Academy video wrapper\",\n mathInputTitle: \"mathematics keyboard\",\n mathInputDescription:\n \"Use keyboard/mouse to interact with math-based input fields\",\n sin: \"sin\",\n cos: \"cos\",\n tan: \"tan\",\n simulationLoadFail: \"Sorry, this simulation cannot load.\",\n simulationLocaleWarning:\n \"Sorry, this simulation isn't available in your language.\",\n};\n"],"names":["strings","closeKeypad","openKeypad","mathInputBox","removeHighlight","addHighlight","hintPos","errorRendering","APPROXIMATED_PI_ERROR","EXTRA_SYMBOLS_ERROR","NEEDS_TO_BE_SIMPLFIED_ERROR","MISSING_PERCENT_ERROR","MULTIPLICATION_SIGN_ERROR","WRONG_CASE_ERROR","WRONG_LETTER_ERROR","invalidSelection","ERROR_TITLE","ERROR_MESSAGE","hints","getAnotherHint","deprecatedStandin","keepTrying","tryAgain","check","correctExcited","nextQuestion","skipToTitle","current","correct","correctSelected","correctCrossedOut","incorrect","incorrectSelected","hideExplanation","explain","INVALID_MESSAGE_PREFIX","DEFAULT_INVALID_MESSAGE_1","DEFAULT_INVALID_MESSAGE_2","integerExample","properExample","simplifiedProperExample","improperExample","simplifiedImproperExample","mixedExample","decimalExample","percentExample","piExample","yourAnswer","yourAnswerLabel","addPoints","addVertices","tapMultiple","tapSingle","clickMultiple","clickSingle","choices","answers","one","other","hideAnswersToggleLabel","moves","clickTiles","turnOffLights","fillAllCells","molecularDrawing","switchDirection","circleOpen","circleFilled","numDivisions","divisions","lineRange","lineNumber","symbolPassage","symbolQuestion","lineLabel","context","message","beginningPassage","beginningFootnotes","endPassage","questionMarker","circleMarker","sentenceMarker","dragHandles","tapAddPoints","false","true","no","yes","chooseCorrectNum","notNoneOfTheAbove","noneOfTheAbove","chooseNumAnswers","chooseAllAnswers","chooseOneAnswer","choiceCheckedCorrect","choiceCrossedOutCorrect","choiceCorrect","choiceCheckedIncorrect","choiceCrossedOutIncorrect","choiceIncorrect","choiceChecked","choiceCrossedOut","choice","crossOut","crossOutOption","crossOutChoice","bringBack","openMenuForChoice","letters","rightArrow","dontUnderstandUnits","checkSigFigs","answerNumericallyIncorrect","checkUnits","dontUnderstand","loading","videoTranscript","somethingWrong","videoWrapper","mathInputTitle","mathInputDescription","sin","cos","tan","simulationLoadFail","simulationLocaleWarning","mockStrings","_ref","pos","_ref2","error","_ref3","title","_ref4","num","_ref5","_ref6","content","_ref7","divRangeString","_ref8","_ref9","_ref10","questionSymbol","questionNumber","_ref11","sentenceSymbol","_ref12","number","_ref13","_ref14","_ref15","numCorrect","_ref16","letter","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","_ref24","_ref25","_ref26"],"mappings":"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"}
1
+ {"version":3,"file":"strings.js","sources":["../src/strings.ts"],"sourcesContent":["/**\n * The translated strings that are used to render Perseus.\n */\nexport type PerseusStrings = {\n closeKeypad: string;\n openKeypad: string;\n mathInputBox: string;\n removeHighlight: string;\n addHighlight: string;\n hintPos: ({pos}: {pos: number}) => string;\n errorRendering: ({error}: {error: string}) => string;\n APPROXIMATED_PI_ERROR: string;\n EXTRA_SYMBOLS_ERROR: string;\n NEEDS_TO_BE_SIMPLFIED_ERROR: string;\n MISSING_PERCENT_ERROR: string;\n MULTIPLICATION_SIGN_ERROR: string;\n WRONG_CASE_ERROR: string;\n WRONG_LETTER_ERROR: string;\n invalidSelection: string;\n ERROR_TITLE: string;\n ERROR_MESSAGE: string;\n hints: string;\n getAnotherHint: string;\n deprecatedStandin: string;\n keepTrying: string;\n tryAgain: string;\n check: string;\n correctExcited: string;\n nextQuestion: string;\n skipToTitle: ({title}: {title: string}) => string;\n current: string;\n correct: string;\n correctSelected: string;\n correctCrossedOut: string;\n incorrect: string;\n incorrectSelected: string;\n hideExplanation: string;\n explain: string;\n INVALID_MESSAGE_PREFIX: string;\n DEFAULT_INVALID_MESSAGE_1: string;\n DEFAULT_INVALID_MESSAGE_2: string;\n integerExample: string;\n properExample: string;\n simplifiedProperExample: string;\n improperExample: string;\n simplifiedImproperExample: string;\n mixedExample: string;\n decimalExample: string;\n percentExample: string;\n piExample: string;\n yourAnswer: string;\n yourAnswerLabel: string;\n addPoints: string;\n addVertices: string;\n tapMultiple: string;\n tapSingle: string;\n clickMultiple: string;\n clickSingle: string;\n choices: string;\n answers: ({num}: {num: number}) => string;\n hideAnswersToggleLabel: string;\n moves: ({num}: {num: number}) => string;\n clickTiles: string;\n turnOffLights: string;\n fillAllCells: string;\n molecularDrawing: ({content}: {content: string}) => string;\n switchDirection: string;\n circleOpen: string;\n circleFilled: string;\n numDivisions: string;\n divisions: ({divRangeString}: {divRangeString: string}) => string;\n lineRange: ({lineRange}: {lineRange: string}) => string;\n lineNumber: ({lineNumber}: {lineNumber: string}) => string;\n symbolPassage: ({\n questionSymbol,\n questionNumber,\n }: {\n questionSymbol: string;\n questionNumber: string;\n }) => string;\n symbolQuestion: ({sentenceSymbol}: {sentenceSymbol: string}) => string;\n lineLabel: string;\n beginningPassage: string;\n beginningFootnotes: string;\n endPassage: string;\n questionMarker: ({number}: {number: string}) => string;\n circleMarker: ({number}: {number: string}) => string;\n sentenceMarker: ({number}: {number: string}) => string;\n dragHandles: string;\n tapAddPoints: string;\n false: string;\n true: string;\n no: string;\n yes: string;\n chooseCorrectNum: string;\n notNoneOfTheAbove: string;\n noneOfTheAbove: string;\n chooseNumAnswers: ({numCorrect}: {numCorrect: string}) => string;\n chooseAllAnswers: string;\n chooseOneAnswer: string;\n choiceCheckedCorrect: ({letter}: {letter: string}) => string;\n choiceCrossedOutCorrect: ({letter}: {letter: string}) => string;\n choiceCorrect: ({letter}: {letter: string}) => string;\n choiceCheckedIncorrect: ({letter}: {letter: string}) => string;\n choiceCrossedOutIncorrect: ({letter}: {letter: string}) => string;\n choiceIncorrect: ({letter}: {letter: string}) => string;\n choiceChecked: ({letter}: {letter: string}) => string;\n choiceCrossedOut: ({letter}: {letter: string}) => string;\n choice: ({letter}: {letter: string}) => string;\n crossOut: string;\n crossOutOption: string;\n crossOutChoice: ({letter}: {letter: string}) => string;\n bringBack: string;\n openMenuForChoice: ({letter}: {letter: string}) => string;\n letters: string;\n rightArrow: string;\n dontUnderstandUnits: string;\n checkSigFigs: string;\n answerNumericallyIncorrect: string;\n checkUnits: string;\n dontUnderstand: string;\n loading: string;\n videoTranscript: string;\n somethingWrong: string;\n videoWrapper: string;\n mathInputTitle: string;\n mathInputDescription: string;\n sin: string;\n cos: string;\n tan: string;\n simulationLoadFail: string;\n simulationLocaleWarning: string;\n addPoint: string;\n removePoint: string;\n graphKeyboardPrompt: string;\n};\n\n/**\n * Untranslated strings used in Perseus. To be used by an external\n * translator to produce translated strings, passed in as `PerseusStrings`.\n */\nexport const strings: {\n [key in keyof PerseusStrings]:\n | string\n | {context?: string; message: string}\n | {context?: string; one: string; other: string};\n} = {\n closeKeypad: \"close math keypad\",\n openKeypad: \"open math keypad\",\n mathInputBox: \"Math input box\",\n removeHighlight: \"Remove highlight\",\n addHighlight: \"Add highlight\",\n hintPos: \"Hint #%(pos)s\",\n errorRendering: \"Error rendering: %(error)s\",\n APPROXIMATED_PI_ERROR:\n \"Your answer is close, but you may \" +\n \"have approximated pi. Enter your \" +\n \"answer as a multiple of pi, like \" +\n \"<code>12\\\\ \\\\text{pi}</code> or \" +\n \"<code>2/3\\\\ \\\\text{pi}</code>\",\n EXTRA_SYMBOLS_ERROR:\n \"We could not understand your \" +\n \"answer. Please check your answer for extra \" +\n \"text or symbols.\",\n NEEDS_TO_BE_SIMPLFIED_ERROR:\n \"Your answer is almost correct, \" + \"but it needs to be simplified.\",\n MISSING_PERCENT_ERROR:\n \"Your answer is almost correct, \" +\n \"but it is missing a \" +\n \"<code>\\\\%</code> at the end.\",\n MULTIPLICATION_SIGN_ERROR:\n \"I'm a computer. I only understand \" +\n \"multiplication if you use an asterisk \" +\n \"(*) as the multiplication sign.\",\n WRONG_CASE_ERROR:\n \"Your answer includes use of a variable with the wrong case.\",\n WRONG_LETTER_ERROR: \"Your answer includes a wrong variable letter.\",\n invalidSelection: \"Make sure you select something for every row.\",\n ERROR_TITLE: \"Oops!\",\n ERROR_MESSAGE: \"Sorry, I don't understand that!\",\n hints: \"Hints\",\n getAnotherHint: \"Get another hint\",\n deprecatedStandin:\n \"Sorry, this part of the question is no longer available. 😅 Don't worry, you won't be graded on this part. Keep going!\",\n keepTrying: \"Keep trying\",\n tryAgain: \"Try again\",\n check: \"Check\",\n correctExcited: \"Correct!\",\n nextQuestion: \"Next question\",\n skipToTitle: \"Skip to %(title)s\",\n current: \"Current\",\n correct: \"Correct\",\n correctSelected: \"Correct (selected)\",\n correctCrossedOut: \"Correct (but you crossed it out)\",\n incorrect: \"Incorrect\",\n incorrectSelected: \"Incorrect (selected)\",\n hideExplanation: \"Hide explanation\",\n explain: \"Explain\",\n INVALID_MESSAGE_PREFIX: \"We couldn't grade your answer.\",\n DEFAULT_INVALID_MESSAGE_1: \"It looks like you left something blank or \",\n DEFAULT_INVALID_MESSAGE_2: \"entered in an invalid answer.\",\n integerExample: \"an integer, like $6$\",\n properExample: \"a *proper* fraction, like $1/2$ or $6/10$\",\n simplifiedProperExample: \"a *simplified proper* fraction, like $3/5$\",\n improperExample: \"an *improper* fraction, like $10/7$ or $14/8$\",\n simplifiedImproperExample: \"a *simplified improper* fraction, like $7/4$\",\n mixedExample: \"a mixed number, like $1\\\\ 3/4$\",\n decimalExample: \"an *exact* decimal, like $0.75$\",\n percentExample: \"a percent, like $12.34\\\\%$\",\n piExample: \"a multiple of pi, like $12\\\\ \\\\text{pi}$ or $2/3\\\\ \\\\text{pi}$\",\n yourAnswer: \"**Your answer should be** \",\n yourAnswerLabel: \"Your answer:\",\n addPoints: \"Click to add points\",\n addVertices: \"Click to add vertices\",\n tapMultiple: \"Tap each dot on the image to select all answers that apply.\",\n tapSingle: \"Tap each dot on the image to select an answer.\",\n clickMultiple:\n \"Click each dot on the image to select all answers that apply.\",\n clickSingle: \"Click each dot on the image to select an answer.\",\n choices: \"Choices:\",\n answers: {\n one: \"%(num)s answer\",\n other: \"%(num)s answers\",\n },\n hideAnswersToggleLabel: \"Hide answer choices\",\n moves: {\n one: \"Moves: %(num)s\",\n other: \"Moves: %(num)s\",\n },\n clickTiles: \"Click on the tiles to change the lights.\",\n turnOffLights: \"You must turn on all of the lights to continue.\",\n fillAllCells: \"Make sure you fill in all cells in the matrix.\",\n molecularDrawing:\n \"A molecular structure drawing. SMILES notation: %(content)s\",\n switchDirection: \"Switch direction\",\n circleOpen: \"Make circle open\",\n circleFilled: \"Make circle filled\",\n numDivisions: \"Number of divisions:\",\n divisions:\n \"Please make sure the number of divisions is in the range %(divRangeString)s.\",\n lineRange: \"lines %(lineRange)s\",\n lineNumber: \"line %(lineNumber)s\",\n symbolPassage:\n \"The symbol %(questionSymbol)s indicates that question %(questionNumber)s references this portion of the passage.\",\n symbolQuestion:\n \" The symbol %(sentenceSymbol)s indicates that the following sentence is referenced in a question.\",\n lineLabel: {\n context: \"a label next to a reading passage to denote the line number\",\n message: \"Line\",\n },\n beginningPassage: \"Beginning of reading passage.\",\n beginningFootnotes: \"Beginning of reading passage footnotes.\",\n endPassage: \"End of reading passage.\",\n questionMarker: \"[Marker for question %(number)s]\",\n circleMarker: \"[Circle marker %(number)s]\",\n sentenceMarker: \"[Sentence %(number)s]\",\n dragHandles: \"Drag handles to make graph\",\n tapAddPoints: \"Tap to add points\",\n false: \"False\",\n true: \"True\",\n no: \"No\",\n yes: \"Yes\",\n chooseCorrectNum: \"Please choose the correct number of answers.\",\n notNoneOfTheAbove:\n \"'None of the above' may not be selected when other answers are selected.\",\n noneOfTheAbove: \"None of the above\",\n chooseNumAnswers: \"Choose %(numCorrect)s answers:\",\n chooseAllAnswers: \"Choose all answers that apply:\",\n chooseOneAnswer: \"Choose 1 answer:\",\n choiceCheckedCorrect: \"(Choice %(letter)s, Checked, Correct)\",\n choiceCrossedOutCorrect: \"(Choice %(letter)s, Crossed out, Correct)\",\n choiceCorrect: \"(Choice %(letter)s, Correct)\",\n choiceCheckedIncorrect: \"(Choice %(letter)s, Checked, Incorrect)\",\n choiceCrossedOutIncorrect: \"(Choice %(letter)s, Crossed out, Incorrect)\",\n choiceIncorrect: \"(Choice %(letter)s, Incorrect)\",\n choiceChecked: \"(Choice %(letter)s, Checked)\",\n choiceCrossedOut: \"(Choice %(letter)s, Crossed out)\",\n choice: \"(Choice %(letter)s)\",\n crossOut: \"Cross out\",\n crossOutOption: \"Cross out option\",\n crossOutChoice: \"Cross out Choice %(letter)s\",\n bringBack: \"Bring back\",\n openMenuForChoice: \"Open menu for Choice %(letter)s\",\n letters: {\n context:\n \"This is a list of single-character labels that will appear in front of multiple-choice options. For instance, a multiple-choice question with three options would display (A) first option (B) second option (C) third option. There must be spaces between each of the different characters. The characters will show up next to options in the order that they are listed here. Most multiple choice questions have 5 or fewer options.\",\n message: \"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\",\n },\n rightArrow: \"Reaction arrow pointing to the right.\",\n dontUnderstandUnits: \"I couldn't understand those units.\",\n checkSigFigs: \"Check your significant figures.\",\n answerNumericallyIncorrect: \"That answer is numerically incorrect.\",\n checkUnits: \"Check your units.\",\n dontUnderstand: \"I don't understand that\",\n loading: \"Loading...\",\n videoTranscript: \"See video transcript\",\n somethingWrong: \"Something went wrong.\",\n videoWrapper: \"Khan Academy video wrapper\",\n mathInputTitle: \"mathematics keyboard\",\n mathInputDescription:\n \"Use keyboard/mouse to interact with math-based input fields\",\n sin: \"sin\",\n cos: \"cos\",\n tan: \"tan\",\n simulationLoadFail: \"Sorry, this simulation cannot load.\",\n simulationLocaleWarning:\n \"Sorry, this simulation isn't available in your language.\",\n addPoint: \"Add Point\",\n removePoint: \"Remove Point\",\n graphKeyboardPrompt: \"Press Shift + Enter to interact with the graph\",\n};\n\n/**\n * Mock strings for the Perseus package, to be used for tests and Storybook.\n */\nexport const mockStrings: PerseusStrings = {\n closeKeypad: \"close math keypad\",\n openKeypad: \"open math keypad\",\n mathInputBox: \"Math input box\",\n removeHighlight: \"Remove highlight\",\n addHighlight: \"Add highlight\",\n hintPos: ({pos}) => `Hint #${pos}`,\n errorRendering: ({error}) => `Error rendering: ${error}`,\n APPROXIMATED_PI_ERROR:\n \"Your answer is close, but you may \" +\n \"have approximated pi. Enter your \" +\n \"answer as a multiple of pi, like \" +\n \"<code>12\\\\ \\\\text{pi}</code> or \" +\n \"<code>2/3\\\\ \\\\text{pi}</code>\",\n EXTRA_SYMBOLS_ERROR:\n \"We could not understand your \" +\n \"answer. Please check your answer for extra \" +\n \"text or symbols.\",\n NEEDS_TO_BE_SIMPLFIED_ERROR:\n \"Your answer is almost correct, \" + \"but it needs to be simplified.\",\n MISSING_PERCENT_ERROR:\n \"Your answer is almost correct, \" +\n \"but it is missing a \" +\n \"<code>\\\\%</code> at the end.\",\n MULTIPLICATION_SIGN_ERROR:\n \"I'm a computer. I only understand \" +\n \"multiplication if you use an asterisk \" +\n \"(*) as the multiplication sign.\",\n WRONG_CASE_ERROR:\n \"Your answer includes use of a variable with the wrong case.\",\n WRONG_LETTER_ERROR: \"Your answer includes a wrong variable letter.\",\n invalidSelection: \"Make sure you select something for every row.\",\n ERROR_TITLE: \"Oops!\",\n ERROR_MESSAGE: \"Sorry, I don't understand that!\",\n hints: \"Hints\",\n getAnotherHint: \"Get another hint\",\n deprecatedStandin:\n \"Sorry, this part of the question is no longer available. 😅 Don't worry, you won't be graded on this part. Keep going!\",\n keepTrying: \"Keep trying\",\n tryAgain: \"Try again\",\n check: \"Check\",\n correctExcited: \"Correct!\",\n nextQuestion: \"Next question\",\n skipToTitle: ({title}) => `Skip to ${title}`,\n current: \"Current\",\n correct: \"Correct\",\n correctSelected: \"Correct (selected)\",\n correctCrossedOut: \"Correct (but you crossed it out)\",\n incorrect: \"Incorrect\",\n incorrectSelected: \"Incorrect (selected)\",\n hideExplanation: \"Hide explanation\",\n explain: \"Explain\",\n INVALID_MESSAGE_PREFIX: \"We couldn't grade your answer.\",\n DEFAULT_INVALID_MESSAGE_1: \"It looks like you left something blank or \",\n DEFAULT_INVALID_MESSAGE_2: \"entered in an invalid answer.\",\n integerExample: \"an integer, like $6$\",\n properExample: \"a *proper* fraction, like $1/2$ or $6/10$\",\n simplifiedProperExample: \"a *simplified proper* fraction, like $3/5$\",\n improperExample: \"an *improper* fraction, like $10/7$ or $14/8$\",\n simplifiedImproperExample: \"a *simplified improper* fraction, like $7/4$\",\n mixedExample: \"a mixed number, like $1\\\\ 3/4$\",\n decimalExample: \"an *exact* decimal, like $0.75$\",\n percentExample: \"a percent, like $12.34\\\\%$\",\n piExample: \"a multiple of pi, like $12\\\\ \\\\text{pi}$ or $2/3\\\\ \\\\text{pi}$\",\n yourAnswer: \"**Your answer should be** \",\n yourAnswerLabel: \"Your answer:\",\n addPoints: \"Click to add points\",\n addVertices: \"Click to add vertices\",\n tapMultiple: \"Tap each dot on the image to select all answers that apply.\",\n tapSingle: \"Tap each dot on the image to select an answer.\",\n clickMultiple:\n \"Click each dot on the image to select all answers that apply.\",\n clickSingle: \"Click each dot on the image to select an answer.\",\n choices: \"Choices:\",\n answers: ({num}) => (num === 1 ? `${num} answer` : `${num} answers`),\n hideAnswersToggleLabel: \"Hide answer choices\",\n moves: ({num}) => (num === 1 ? `Moves: ${num}` : `Moves: ${num}`),\n clickTiles: \"Click on the tiles to change the lights.\",\n turnOffLights: \"You must turn on all of the lights to continue.\",\n fillAllCells: \"Make sure you fill in all cells in the matrix.\",\n molecularDrawing: ({content}) =>\n `A molecular structure drawing. SMILES notation: ${content}`,\n switchDirection: \"Switch direction\",\n circleOpen: \"Make circle open\",\n circleFilled: \"Make circle filled\",\n numDivisions: \"Number of divisions:\",\n divisions: ({divRangeString}) =>\n `Please make sure the number of divisions is in the range ${divRangeString}.`,\n lineRange: ({lineRange}: {lineRange: string}) => `lines ${lineRange}`,\n lineNumber: ({lineNumber}: {lineNumber: string}) => `line ${lineNumber}`,\n symbolPassage: ({questionSymbol, questionNumber}) =>\n `The symbol ${questionSymbol} indicates that question ${questionNumber} references this portion of the passage.`,\n symbolQuestion: ({sentenceSymbol}) =>\n ` The symbol ${sentenceSymbol} indicates that the following sentence is referenced in a question.`,\n lineLabel: \"Line\",\n beginningPassage: \"Beginning of reading passage.\",\n beginningFootnotes: \"Beginning of reading passage footnotes.\",\n endPassage: \"End of reading passage.\",\n questionMarker: ({number}) => `[Marker for question ${number}]`,\n circleMarker: ({number}) => `[Circle marker ${number}]`,\n sentenceMarker: ({number}) => `[Sentence ${number}]`,\n dragHandles: \"Drag handles to make graph\",\n tapAddPoints: \"Tap to add points\",\n false: \"False\",\n true: \"True\",\n no: \"No\",\n yes: \"Yes\",\n chooseCorrectNum: \"Please choose the correct number of answers.\",\n notNoneOfTheAbove:\n \"'None of the above' may not be selected when other answers are selected.\",\n noneOfTheAbove: \"None of the above\",\n chooseNumAnswers: ({numCorrect}) => `Choose ${numCorrect} answers:`,\n chooseAllAnswers: \"Choose all answers that apply:\",\n chooseOneAnswer: \"Choose 1 answer:\",\n choiceCheckedCorrect: ({letter}) => `(Choice ${letter}, Checked, Correct)`,\n choiceCrossedOutCorrect: ({letter}) =>\n `(Choice ${letter}, Crossed out, Correct)`,\n choiceCorrect: ({letter}) => `(Choice ${letter}, Correct)`,\n choiceCheckedIncorrect: ({letter}) =>\n `(Choice ${letter}, Checked, Incorrect)`,\n choiceCrossedOutIncorrect: ({letter}) =>\n `(Choice ${letter}, Crossed out, Incorrect)`,\n choiceIncorrect: ({letter}) => `(Choice ${letter}, Incorrect)`,\n choiceChecked: ({letter}) => `(Choice ${letter}, Checked)`,\n choiceCrossedOut: ({letter}) => `(Choice ${letter}, Crossed out)`,\n choice: ({letter}) => `(Choice ${letter})`,\n crossOut: \"Cross out\",\n crossOutOption: \"Cross out option\",\n crossOutChoice: ({letter}) => `Cross out Choice ${letter}`,\n bringBack: \"Bring back\",\n openMenuForChoice: ({letter}) => `Open menu for Choice ${letter}`,\n letters: \"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\",\n rightArrow: \"Reaction arrow pointing to the right.\",\n dontUnderstandUnits: \"I couldn't understand those units.\",\n checkSigFigs: \"Check your significant figures.\",\n answerNumericallyIncorrect: \"That answer is numerically incorrect.\",\n checkUnits: \"Check your units.\",\n dontUnderstand: \"I don't understand that\",\n loading: \"Loading...\",\n videoTranscript: \"See video transcript\",\n somethingWrong: \"Something went wrong.\",\n videoWrapper: \"Khan Academy video wrapper\",\n mathInputTitle: \"mathematics keyboard\",\n mathInputDescription:\n \"Use keyboard/mouse to interact with math-based input fields\",\n sin: \"sin\",\n cos: \"cos\",\n tan: \"tan\",\n simulationLoadFail: \"Sorry, this simulation cannot load.\",\n simulationLocaleWarning:\n \"Sorry, this simulation isn't available in your language.\",\n addPoint: \"Add Point\",\n removePoint: \"Remove Point\",\n graphKeyboardPrompt: \"Press Shift + Enter to interact with the graph\",\n};\n"],"names":["strings","closeKeypad","openKeypad","mathInputBox","removeHighlight","addHighlight","hintPos","errorRendering","APPROXIMATED_PI_ERROR","EXTRA_SYMBOLS_ERROR","NEEDS_TO_BE_SIMPLFIED_ERROR","MISSING_PERCENT_ERROR","MULTIPLICATION_SIGN_ERROR","WRONG_CASE_ERROR","WRONG_LETTER_ERROR","invalidSelection","ERROR_TITLE","ERROR_MESSAGE","hints","getAnotherHint","deprecatedStandin","keepTrying","tryAgain","check","correctExcited","nextQuestion","skipToTitle","current","correct","correctSelected","correctCrossedOut","incorrect","incorrectSelected","hideExplanation","explain","INVALID_MESSAGE_PREFIX","DEFAULT_INVALID_MESSAGE_1","DEFAULT_INVALID_MESSAGE_2","integerExample","properExample","simplifiedProperExample","improperExample","simplifiedImproperExample","mixedExample","decimalExample","percentExample","piExample","yourAnswer","yourAnswerLabel","addPoints","addVertices","tapMultiple","tapSingle","clickMultiple","clickSingle","choices","answers","one","other","hideAnswersToggleLabel","moves","clickTiles","turnOffLights","fillAllCells","molecularDrawing","switchDirection","circleOpen","circleFilled","numDivisions","divisions","lineRange","lineNumber","symbolPassage","symbolQuestion","lineLabel","context","message","beginningPassage","beginningFootnotes","endPassage","questionMarker","circleMarker","sentenceMarker","dragHandles","tapAddPoints","false","true","no","yes","chooseCorrectNum","notNoneOfTheAbove","noneOfTheAbove","chooseNumAnswers","chooseAllAnswers","chooseOneAnswer","choiceCheckedCorrect","choiceCrossedOutCorrect","choiceCorrect","choiceCheckedIncorrect","choiceCrossedOutIncorrect","choiceIncorrect","choiceChecked","choiceCrossedOut","choice","crossOut","crossOutOption","crossOutChoice","bringBack","openMenuForChoice","letters","rightArrow","dontUnderstandUnits","checkSigFigs","answerNumericallyIncorrect","checkUnits","dontUnderstand","loading","videoTranscript","somethingWrong","videoWrapper","mathInputTitle","mathInputDescription","sin","cos","tan","simulationLoadFail","simulationLocaleWarning","addPoint","removePoint","graphKeyboardPrompt","mockStrings","_ref","pos","_ref2","error","_ref3","title","_ref4","num","_ref5","_ref6","content","_ref7","divRangeString","_ref8","_ref9","_ref10","questionSymbol","questionNumber","_ref11","sentenceSymbol","_ref12","number","_ref13","_ref14","_ref15","numCorrect","_ref16","letter","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","_ref24","_ref25","_ref26"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import type { ILogger } from "./logging/log";
2
2
  import type { Item } from "./multi-items/item-types";
3
- import type { Hint, PerseusAnswerArea, PerseusWidget, PerseusWidgetsMap } from "./perseus-types";
3
+ import type { Hint, PerseusAnswerArea, PerseusGraphType, PerseusWidget, PerseusWidgetsMap } from "./perseus-types";
4
4
  import type { PerseusStrings } from "./strings";
5
5
  import type { SizeClass } from "./util/sizing-utils";
6
- import type { InteractiveGraphState } from "./widgets/interactive-graphs/types";
7
6
  import type { KeypadAPI } from "@khanacademy/math-input";
8
7
  import type { AnalyticsEventHandlerFn } from "@khanacademy/perseus-core";
9
8
  import type { LinterContextProps } from "@khanacademy/perseus-linter";
@@ -63,7 +62,7 @@ export type ChangeHandler = (arg1: {
63
62
  currentValue?: string;
64
63
  selected?: number;
65
64
  plot?: any;
66
- graph?: InteractiveGraphState;
65
+ graph?: PerseusGraphType;
67
66
  }, callback?: () => unknown | null | undefined, silent?: boolean) => unknown;
68
67
  export type ImageUploader = (file: File, callback: (url: string) => unknown) => unknown;
69
68
  export type WidgetSize = "normal" | "small" | "mini";
@@ -75,7 +74,7 @@ type TrackInteractionArgs = {
75
74
  correct?: boolean;
76
75
  } & Partial<TrackingGradedGroupExtraArguments> & Partial<TrackingSequenceExtraArguments>;
77
76
  export declare const MafsGraphTypeFlags: readonly ["angle", "segment", "linear", "linear-system", "ray", "polygon", "circle", "quadratic", "sinusoid", "point", "unlimited-point", "none"];
78
- export declare const InteractiveGraphLockedFeaturesFlags: readonly ["interactive-graph-locked-features-labels", "locked-point-labels", "locked-line-labels"];
77
+ export declare const InteractiveGraphLockedFeaturesFlags: readonly ["interactive-graph-locked-features-labels", "locked-figures-aria", "locked-point-labels", "locked-line-labels", "locked-vector-labels", "locked-ellipse-labels", "locked-polygon-labels", "locked-function-labels"];
79
78
  /**
80
79
  * APIOptions provides different ways to customize the behaviour of Perseus.
81
80
  *
@@ -83,7 +82,6 @@ export declare const InteractiveGraphLockedFeaturesFlags: readonly ["interactive
83
82
  */
84
83
  export type APIOptions = Readonly<{
85
84
  isArticle?: boolean;
86
- onInputError?: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
87
85
  onFocusChange?: (newFocusPath: FocusPath, oldFocusPath: FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
88
86
  GroupMetadataEditor?: React.ComponentType<StubTagEditorType>;
89
87
  showAlignmentOptions?: boolean;
@@ -304,7 +302,6 @@ export type APIOptionsWithDefaults = Readonly<APIOptions & {
304
302
  isArticle: NonNullable<APIOptions["isArticle"]>;
305
303
  isMobile: NonNullable<APIOptions["isMobile"]>;
306
304
  onFocusChange: NonNullable<APIOptions["onFocusChange"]>;
307
- onInputError: NonNullable<APIOptions["onInputError"]>;
308
305
  readOnly: NonNullable<APIOptions["readOnly"]>;
309
306
  setDrawingAreaAvailable: NonNullable<APIOptions["setDrawingAreaAvailable"]>;
310
307
  showAlignmentOptions: NonNullable<APIOptions["showAlignmentOptions"]>;
@@ -0,0 +1,114 @@
1
+ import type { Coord } from "./interactive2/types";
2
+ import type { PerseusCategorizerWidgetOptions, PerseusCSProgramWidgetOptions, PerseusDefinitionWidgetOptions, PerseusDropdownWidgetOptions, PerseusExplanationWidgetOptions, PerseusExpressionAnswerForm, PerseusGradedGroupSetWidgetOptions, PerseusGradedGroupWidgetOptions, PerseusGrapherWidgetOptions, PerseusGraphType, PerseusIFrameWidgetOptions, PerseusImageWidgetOptions, PerseusInputNumberWidgetOptions, PerseusInteractionWidgetOptions, PerseusLabelImageWidgetOptions, PerseusMatcherWidgetOptions, PerseusMatrixWidgetOptions, PerseusNumberLineWidgetOptions, PerseusNumericInputWidgetOptions, PerseusOrdererWidgetOptions, PerseusPassageRefWidgetOptions, PerseusPassageWidgetOptions, PerseusPlotterWidgetOptions, PerseusRadioWidgetOptions, PerseusSorterWidgetOptions, PerseusTableWidgetOptions, PerseusVideoWidgetOptions } from "./perseus-types";
3
+ import type { InteractiveMarkerType } from "./widgets/label-image/types";
4
+ import type { Relationship } from "./widgets/number-line/number-line";
5
+ export type UserInputStatus = "correct" | "incorrect" | "incomplete";
6
+ export type PerseusCategorizerRubric = PerseusCategorizerWidgetOptions;
7
+ export type PerseusCategorizerUserInput = {
8
+ values: ReadonlyArray<number>;
9
+ };
10
+ export type PerseusCSProgramRubric = PerseusCSProgramWidgetOptions;
11
+ export type PerseusCSProgramUserInput = {
12
+ status: UserInputStatus;
13
+ message: string | null;
14
+ };
15
+ export type PerseusDefinitionRubric = PerseusDefinitionWidgetOptions;
16
+ export type PerseusDefinitionUserInput = Empty;
17
+ export type PerseusDropdownRubric = PerseusDropdownWidgetOptions;
18
+ export type PerseusDropdownUserInput = {
19
+ value: number;
20
+ };
21
+ export type PerseusExplanationRubric = PerseusExplanationWidgetOptions;
22
+ export type PerseusExplanationUserInput = Empty;
23
+ export type PerseusExpressionRubric = {
24
+ answerForms: ReadonlyArray<PerseusExpressionAnswerForm>;
25
+ functions: ReadonlyArray<string>;
26
+ };
27
+ export type PerseusExpressionUserInput = string;
28
+ export type PerseusGradedGroupRubric = PerseusGradedGroupWidgetOptions;
29
+ export type PerseusGradedGroupSetRubric = PerseusGradedGroupSetWidgetOptions;
30
+ export type PerseusGrapherRubric = PerseusGrapherWidgetOptions;
31
+ /**
32
+ * TODO: this is kind of just a guess right now
33
+ * based off of an old comment in grapher
34
+ */
35
+ export type PerseusGrapherUserInput = {
36
+ type: string;
37
+ asymptote: ReadonlyArray<Coord>;
38
+ coords: ReadonlyArray<Coord>;
39
+ };
40
+ export type PerseusIFrameRubric = PerseusIFrameWidgetOptions;
41
+ export type PerseusIFrameUserInput = {
42
+ status: UserInputStatus;
43
+ message: string | null;
44
+ };
45
+ export type PerseusImageRubric = PerseusImageWidgetOptions;
46
+ export type PerseusImageUserInput = null;
47
+ export type PerseusInputNumberRubric = PerseusInputNumberWidgetOptions;
48
+ export type PerseusInputNumberUserInput = {
49
+ currentValue: string;
50
+ };
51
+ export type PerseusInteractionRubric = PerseusInteractionWidgetOptions;
52
+ export type PerseusInteractionUserInput = Empty;
53
+ export type PerseusInteractiveGraphRubric = {
54
+ correct: PerseusGraphType;
55
+ graph: PerseusGraphType;
56
+ };
57
+ export type PerseusInteractiveGraphUserInput = PerseusGraphType;
58
+ export type PerseusLabelImageRubric = PerseusLabelImageWidgetOptions;
59
+ export type PerseusLabelImageUserInput = {
60
+ markers: ReadonlyArray<InteractiveMarkerType>;
61
+ };
62
+ export type PerseusMatcherRubric = PerseusMatcherWidgetOptions;
63
+ export type PerseusMatcherUserInput = {
64
+ left: ReadonlyArray<string>;
65
+ right: ReadonlyArray<string>;
66
+ };
67
+ export type PerseusMatrixRubric = PerseusMatrixWidgetOptions;
68
+ export type PerseusMatrixUserInput = {
69
+ answers: ReadonlyArray<ReadonlyArray<number>>;
70
+ };
71
+ export type PerseusMoleculeUserInput = ReadonlyArray<ReadonlyArray<string>>;
72
+ export type PerseusNumberLineRubric = PerseusNumberLineWidgetOptions & {
73
+ isInequality: boolean;
74
+ };
75
+ export type PerseusNumberLineUserInput = {
76
+ isTickCrtl?: boolean;
77
+ numLinePosition: number;
78
+ rel: Relationship | "eq";
79
+ numDivisions: number;
80
+ divisionRange: ReadonlyArray<number>;
81
+ };
82
+ export type PerseusNumericInputRubric = PerseusNumericInputWidgetOptions;
83
+ export type PerseusNumericInputUserInput = {
84
+ currentValue: string;
85
+ };
86
+ export type PerseusOrdererRubric = PerseusOrdererWidgetOptions;
87
+ export type PerseusOrdererUserInput = {
88
+ current: ReadonlyArray<string>;
89
+ };
90
+ export type PerseusPassageRubric = PerseusPassageWidgetOptions;
91
+ export type PerseusPassageUserInput = null;
92
+ export type PerseusPassageRefRubric = PerseusPassageRefWidgetOptions;
93
+ export type PerseusPassageRefUserInput = null;
94
+ export type PerseusPassageRefTargetUserInput = null;
95
+ export type PerseusPhetSimulationUserInput = null;
96
+ export type PerseusPlotterRubric = PerseusPlotterWidgetOptions;
97
+ export type PerseusPlotterUserInput = ReadonlyArray<number>;
98
+ export type PerseusRadioRubric = PerseusRadioWidgetOptions;
99
+ export type PerseusRadioUserInput = {
100
+ countChoices?: boolean;
101
+ choicesSelected: ReadonlyArray<boolean>;
102
+ numCorrect?: number;
103
+ noneOfTheAboveIndex?: number | null | undefined;
104
+ noneOfTheAboveSelected?: boolean;
105
+ };
106
+ export type PerseusSorterRubric = PerseusSorterWidgetOptions;
107
+ export type PerseusSorterUserInput = {
108
+ options: ReadonlyArray<string>;
109
+ changed: boolean;
110
+ };
111
+ export type PerseusTableRubric = PerseusTableWidgetOptions;
112
+ export type PerseusTableUserInput = ReadonlyArray<ReadonlyArray<string>>;
113
+ export type PerseusVideoRubric = PerseusVideoWidgetOptions;
114
+ export type UserInput = PerseusCategorizerUserInput | PerseusCSProgramUserInput | PerseusDefinitionUserInput | PerseusDropdownUserInput | PerseusExplanationUserInput | PerseusExpressionUserInput | PerseusGrapherUserInput | PerseusIFrameUserInput | PerseusImageUserInput | PerseusInputNumberUserInput | PerseusInteractionUserInput | PerseusInteractiveGraphUserInput | PerseusLabelImageUserInput | PerseusMatcherUserInput | PerseusMatrixUserInput | PerseusMoleculeUserInput | PerseusNumberLineUserInput | PerseusNumericInputUserInput | PerseusOrdererUserInput | PerseusPlotterUserInput | PerseusRadioUserInput | PerseusSorterUserInput | PerseusTableUserInput;
@@ -1,5 +1,5 @@
1
- import type { Rubric, UserInput } from "./categorizer.types";
2
1
  import type { PerseusStrings } from "../../strings";
3
2
  import type { PerseusScore } from "../../types";
4
- declare function categorizerValidator(userInput: UserInput, rubric: Rubric, strings: PerseusStrings): PerseusScore;
3
+ import type { PerseusCategorizerRubric, PerseusCategorizerUserInput } from "../../validation.types";
4
+ declare function categorizerValidator(userInput: PerseusCategorizerUserInput, rubric: PerseusCategorizerRubric, strings: PerseusStrings): PerseusScore;
5
5
  export default categorizerValidator;