@khanacademy/perseus 43.0.0 → 43.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/number-input.d.ts +5 -3
- package/dist/components/text-input.d.ts +4 -2
- package/dist/es/index.js +475 -306
- package/dist/es/index.js.map +1 -1
- package/dist/es/strings.js +7 -3
- package/dist/es/strings.js.map +1 -1
- package/dist/index.js +465 -296
- package/dist/index.js.map +1 -1
- package/dist/perseus-types.d.ts +14 -7
- package/dist/strings.js +7 -3
- package/dist/strings.js.map +1 -1
- package/dist/util/parse-perseus-json/general-purpose-parsers/defaulted.d.ts +1 -1
- package/dist/util/parse-perseus-json/general-purpose-parsers/index.d.ts +2 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/pipe-parsers.d.ts +7 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/pipe-parsers.typetest.d.ts +1 -0
- package/dist/util/parse-perseus-json/general-purpose-parsers/unknown.d.ts +2 -0
- package/dist/util/parse-perseus-json/perseus-parsers/images-map.d.ts +5 -0
- package/dist/util/parse-perseus-json/perseus-parsers/widget.d.ts +4 -0
- package/dist/validation.types.d.ts +14 -6
- package/dist/widgets/categorizer/categorizer.d.ts +2 -2
- package/dist/widgets/categorizer/score-categorizer.d.ts +2 -2
- package/dist/widgets/categorizer/validate-categorizer.d.ts +15 -0
- package/dist/widgets/dropdown/validate-dropdown.d.ts +10 -0
- package/dist/widgets/interactive-graphs/graphs/components/movable-point.d.ts +11 -7
- package/dist/widgets/interactive-graphs/graphs/components/use-control-point.d.ts +7 -3
- package/dist/widgets/interactive-graphs/types.d.ts +1 -0
- package/dist/widgets/interactive-graphs/utils.d.ts +6 -6
- package/dist/widgets/matrix/matrix.d.ts +12 -5
- package/dist/widgets/measurer/measurer.d.ts +1 -1
- package/dist/widgets/orderer/validate-orderer.d.ts +12 -0
- package/dist/widgets/plotter/plotter.d.ts +2 -2
- package/dist/widgets/plotter/score-plotter.d.ts +2 -2
- package/dist/widgets/plotter/validate-plotter.d.ts +12 -0
- package/dist/widgets/radio/radio.d.ts +1 -1
- package/dist/widgets/radio/validate-radio.d.ts +14 -0
- package/dist/widgets/sorter/validate-sorter.d.ts +13 -0
- package/package.json +4 -4
- package/dist/util/parse-perseus-json/general-purpose-parsers/compose-parsers.d.ts +0 -2
package/dist/perseus-types.d.ts
CHANGED
|
@@ -82,7 +82,14 @@ export type PerseusItem = {
|
|
|
82
82
|
question: PerseusRenderer;
|
|
83
83
|
hints: ReadonlyArray<Hint>;
|
|
84
84
|
answerArea: PerseusAnswerArea | null | undefined;
|
|
85
|
-
|
|
85
|
+
/**
|
|
86
|
+
* The version of the item.
|
|
87
|
+
* @deprecated Not used.
|
|
88
|
+
*/
|
|
89
|
+
itemDataVersion: any;
|
|
90
|
+
/**
|
|
91
|
+
* @deprecated Superseded by per-widget answers.
|
|
92
|
+
*/
|
|
86
93
|
answer: any;
|
|
87
94
|
};
|
|
88
95
|
/**
|
|
@@ -590,12 +597,12 @@ export type PerseusMatcherWidgetOptions = {
|
|
|
590
597
|
};
|
|
591
598
|
export type PerseusMatrixWidgetAnswers = ReadonlyArray<ReadonlyArray<number>>;
|
|
592
599
|
export type PerseusMatrixWidgetOptions = {
|
|
593
|
-
prefix
|
|
594
|
-
suffix
|
|
600
|
+
prefix?: string | undefined;
|
|
601
|
+
suffix?: string | undefined;
|
|
595
602
|
answers: PerseusMatrixWidgetAnswers;
|
|
596
|
-
cursorPosition
|
|
603
|
+
cursorPosition?: ReadonlyArray<number> | undefined;
|
|
597
604
|
matrixBoardSize: ReadonlyArray<number>;
|
|
598
|
-
static
|
|
605
|
+
static?: boolean | undefined;
|
|
599
606
|
};
|
|
600
607
|
export type PerseusMeasurerWidgetOptions = {
|
|
601
608
|
image: PerseusImageBackground;
|
|
@@ -651,8 +658,8 @@ export type PerseusOrdererWidgetOptions = {
|
|
|
651
658
|
options: ReadonlyArray<PerseusRenderer>;
|
|
652
659
|
correctOptions: ReadonlyArray<PerseusRenderer>;
|
|
653
660
|
otherOptions: ReadonlyArray<PerseusRenderer>;
|
|
654
|
-
height:
|
|
655
|
-
layout:
|
|
661
|
+
height: "normal" | "auto";
|
|
662
|
+
layout: "horizontal" | "vertical";
|
|
656
663
|
};
|
|
657
664
|
export type PerseusPassageWidgetOptions = {
|
|
658
665
|
footnotes: string;
|
package/dist/strings.js
CHANGED
|
@@ -150,12 +150,16 @@ const strings = {
|
|
|
150
150
|
graphKeyboardPrompt: "Press Shift + Enter to interact with the graph",
|
|
151
151
|
closePolygon: "Close shape",
|
|
152
152
|
openPolygon: "Re-open shape",
|
|
153
|
+
srInteractiveElements: "Interactive elements: %(elements)s",
|
|
154
|
+
srNoInteractiveElements: "No interactive elements",
|
|
155
|
+
// TODO(LEMS-2660): The following strings are ones that will need
|
|
156
|
+
// translation tickets after all interactive graph SR strings have
|
|
157
|
+
// been finalized. Remove this comment after the tickets have been
|
|
158
|
+
// created.
|
|
153
159
|
srPointAtCoordinates: {
|
|
154
160
|
context: "Screenreader-accessible description of a point on a graph",
|
|
155
161
|
message: "Point %(num)s at %(x)s comma %(y)s"
|
|
156
|
-
}
|
|
157
|
-
srInteractiveElements: "Interactive elements: %(elements)s",
|
|
158
|
-
srNoInteractiveElements: "No interactive elements"
|
|
162
|
+
}
|
|
159
163
|
};
|
|
160
164
|
|
|
161
165
|
/**
|
package/dist/strings.js.map
CHANGED
|
@@ -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 addPoint: string;\n removePoint: string;\n graphKeyboardPrompt: string;\n closePolygon: string;\n openPolygon: string;\n srPointAtCoordinates: ({\n num,\n x,\n y,\n }: {\n num: number;\n x: string;\n y: string;\n }) => string;\n srInteractiveElements: ({elements}: {elements: string}) => string;\n srNoInteractiveElements: 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 closePolygon: \"Close shape\",\n openPolygon: \"Re-open shape\",\n srPointAtCoordinates: {\n context: \"Screenreader-accessible description of a point on a graph\",\n message: \"Point %(num)s at %(x)s comma %(y)s\",\n },\n srInteractiveElements: \"Interactive elements: %(elements)s\",\n srNoInteractiveElements: \"No interactive elements\",\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 closePolygon: \"Close shape\",\n openPolygon: \"Re-open shape\",\n srPointAtCoordinates: ({num, x, y}) => `Point ${num} at ${x} comma ${y}`,\n srInteractiveElements: ({elements}) => `Interactive elements: ${elements}`,\n srNoInteractiveElements: \"No interactive elements\",\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","closePolygon","openPolygon","srPointAtCoordinates","srInteractiveElements","srNoInteractiveElements","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","_ref27","x","y","_ref28","elements"],"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 closePolygon: string;\n openPolygon: string;\n srPointAtCoordinates: ({\n num,\n x,\n y,\n }: {\n num: number;\n x: string;\n y: string;\n }) => string;\n srInteractiveElements: ({elements}: {elements: string}) => string;\n srNoInteractiveElements: 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 closePolygon: \"Close shape\",\n openPolygon: \"Re-open shape\",\n srInteractiveElements: \"Interactive elements: %(elements)s\",\n srNoInteractiveElements: \"No interactive elements\",\n\n // TODO(LEMS-2660): The following strings are ones that will need\n // translation tickets after all interactive graph SR strings have\n // been finalized. Remove this comment after the tickets have been\n // created.\n srPointAtCoordinates: {\n context: \"Screenreader-accessible description of a point on a graph\",\n message: \"Point %(num)s at %(x)s comma %(y)s\",\n },\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 closePolygon: \"Close shape\",\n openPolygon: \"Re-open shape\",\n srPointAtCoordinates: ({num, x, y}) => `Point ${num} at ${x} comma ${y}`,\n srInteractiveElements: ({elements}) => `Interactive elements: ${elements}`,\n srNoInteractiveElements: \"No interactive elements\",\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","closePolygon","openPolygon","srInteractiveElements","srNoInteractiveElements","srPointAtCoordinates","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","_ref27","x","y","_ref28","elements"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Parser } from "../parser-types";
|
|
2
|
-
export declare function defaulted<T, Default
|
|
2
|
+
export declare function defaulted<T, Default>(parser: Parser<T>, fallback: (missingValue: null | undefined) => Default): Parser<T | Default>;
|
|
@@ -9,7 +9,9 @@ export * from "./number";
|
|
|
9
9
|
export * from "./object";
|
|
10
10
|
export * from "./optional";
|
|
11
11
|
export * from "./pair";
|
|
12
|
+
export * from "./pipe-parsers";
|
|
12
13
|
export * from "./record";
|
|
13
14
|
export * from "./string";
|
|
14
15
|
export * from "./trio";
|
|
15
16
|
export * from "./union";
|
|
17
|
+
export * from "./unknown";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Parser, PartialParser } from "../parser-types";
|
|
2
|
+
export declare function pipeParsers<T>(p: Parser<T>): ParserPipeline<T>;
|
|
3
|
+
export declare class ParserPipeline<T> {
|
|
4
|
+
readonly parser: Parser<T>;
|
|
5
|
+
constructor(parser: Parser<T>);
|
|
6
|
+
then<U>(nextParser: PartialParser<T, U>): ParserPipeline<U>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import type { WidgetOptions } from "../../../perseus-types";
|
|
2
2
|
import type { Parser } from "../parser-types";
|
|
3
3
|
export declare function parseWidget<Type extends string, Options>(parseType: Parser<Type>, parseOptions: Parser<Options>): Parser<WidgetOptions<Type, Options>>;
|
|
4
|
+
export declare function parseWidgetWithVersion<Version extends {
|
|
5
|
+
major: number;
|
|
6
|
+
minor: number;
|
|
7
|
+
} | undefined, Type extends string, Options>(parseVersion: Parser<Version>, parseType: Parser<Type>, parseOptions: Parser<Options>): Parser<WidgetOptions<Type, Options>>;
|
|
@@ -27,15 +27,18 @@
|
|
|
27
27
|
* } & Perseus<Widget>ValidationData;
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
import type { GrapherAnswerTypes, PerseusDropdownChoice, PerseusExpressionAnswerForm, PerseusGradedGroupSetWidgetOptions, PerseusGradedGroupWidgetOptions, PerseusGraphType, PerseusGroupWidgetOptions, PerseusMatcherWidgetOptions, PerseusMatrixWidgetAnswers, PerseusNumberLineWidgetOptions, PerseusNumericInputAnswer, PerseusOrdererWidgetOptions,
|
|
30
|
+
import type { GrapherAnswerTypes, PerseusDropdownChoice, PerseusExpressionAnswerForm, PerseusGradedGroupSetWidgetOptions, PerseusGradedGroupWidgetOptions, PerseusGraphType, PerseusGroupWidgetOptions, PerseusMatcherWidgetOptions, PerseusMatrixWidgetAnswers, PerseusNumberLineWidgetOptions, PerseusNumericInputAnswer, PerseusOrdererWidgetOptions, PerseusRadioChoice, PerseusGraphCorrectType } from "./perseus-types";
|
|
31
31
|
import type { InteractiveMarkerType } from "./widgets/label-image/types";
|
|
32
32
|
import type { Relationship } from "./widgets/number-line/number-line";
|
|
33
33
|
export type UserInputStatus = "correct" | "incorrect" | "incomplete";
|
|
34
|
-
export type
|
|
34
|
+
export type PerseusCategorizerScoringData = {
|
|
35
35
|
values: ReadonlyArray<number>;
|
|
36
|
-
};
|
|
36
|
+
} & PerseusCategorizerValidationData;
|
|
37
37
|
export type PerseusCategorizerUserInput = {
|
|
38
|
-
values:
|
|
38
|
+
values: PerseusCategorizerScoringData["values"];
|
|
39
|
+
};
|
|
40
|
+
export type PerseusCategorizerValidationData = {
|
|
41
|
+
items: ReadonlyArray<string>;
|
|
39
42
|
};
|
|
40
43
|
export type PerseusCSProgramRubric = Empty;
|
|
41
44
|
export type PerseusCSProgramUserInput = {
|
|
@@ -117,7 +120,12 @@ export type PerseusOrdererRubric = PerseusOrdererWidgetOptions;
|
|
|
117
120
|
export type PerseusOrdererUserInput = {
|
|
118
121
|
current: ReadonlyArray<string>;
|
|
119
122
|
};
|
|
120
|
-
export type
|
|
123
|
+
export type PerseusPlotterScoringData = {
|
|
124
|
+
correct: ReadonlyArray<number>;
|
|
125
|
+
} & PerseusPlotterValidationData;
|
|
126
|
+
export type PerseusPlotterValidationData = {
|
|
127
|
+
starting: ReadonlyArray<number>;
|
|
128
|
+
};
|
|
121
129
|
export type PerseusPlotterUserInput = ReadonlyArray<number>;
|
|
122
130
|
export type PerseusRadioRubric = {
|
|
123
131
|
choices: ReadonlyArray<PerseusRadioChoice>;
|
|
@@ -136,7 +144,7 @@ export type PerseusTableRubric = {
|
|
|
136
144
|
answers: ReadonlyArray<ReadonlyArray<string>>;
|
|
137
145
|
};
|
|
138
146
|
export type PerseusTableUserInput = ReadonlyArray<ReadonlyArray<string>>;
|
|
139
|
-
export type Rubric =
|
|
147
|
+
export type Rubric = PerseusCategorizerScoringData | PerseusCSProgramRubric | PerseusDropdownRubric | PerseusExpressionRubric | PerseusGroupRubric | PerseusGradedGroupRubric | PerseusGradedGroupSetRubric | PerseusGrapherRubric | PerseusIFrameRubric | PerseusInputNumberRubric | PerseusInteractiveGraphRubric | PerseusLabelImageRubric | PerseusMatcherRubric | PerseusMatrixRubric | PerseusNumberLineRubric | PerseusNumericInputRubric | PerseusOrdererRubric | PerseusPlotterScoringData | PerseusRadioRubric | PerseusSorterRubric | PerseusTableRubric;
|
|
140
148
|
export type UserInput = PerseusCategorizerUserInput | PerseusCSProgramUserInput | PerseusDropdownUserInput | PerseusExpressionUserInput | PerseusGrapherUserInput | PerseusIFrameUserInput | PerseusInputNumberUserInput | PerseusInteractiveGraphUserInput | PerseusLabelImageUserInput | PerseusMatcherUserInput | PerseusMatrixUserInput | PerseusNumberLineUserInput | PerseusNumericInputUserInput | PerseusOrdererUserInput | PerseusPlotterUserInput | PerseusRadioUserInput | PerseusSorterUserInput | PerseusTableUserInput;
|
|
141
149
|
export type UserInputMap = {
|
|
142
150
|
[widgetId: string]: UserInput | UserInputMap;
|
|
@@ -3,9 +3,9 @@ import { PerseusI18nContext } from "../../components/i18n-context";
|
|
|
3
3
|
import scoreCategorizer from "./score-categorizer";
|
|
4
4
|
import type { PerseusCategorizerWidgetOptions } from "../../perseus-types";
|
|
5
5
|
import type { Widget, WidgetProps } from "../../types";
|
|
6
|
-
import type {
|
|
6
|
+
import type { PerseusCategorizerScoringData, PerseusCategorizerUserInput } from "../../validation.types";
|
|
7
7
|
import type { CategorizerPromptJSON } from "../../widget-ai-utils/categorizer/categorizer-ai-utils";
|
|
8
|
-
type Props = WidgetProps<RenderProps,
|
|
8
|
+
type Props = WidgetProps<RenderProps, PerseusCategorizerScoringData> & {
|
|
9
9
|
values: ReadonlyArray<string>;
|
|
10
10
|
};
|
|
11
11
|
type DefaultProps = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PerseusStrings } from "../../strings";
|
|
2
2
|
import type { PerseusScore } from "../../types";
|
|
3
|
-
import type {
|
|
4
|
-
declare function scoreCategorizer(userInput: PerseusCategorizerUserInput,
|
|
3
|
+
import type { PerseusCategorizerScoringData, PerseusCategorizerUserInput } from "../../validation.types";
|
|
4
|
+
declare function scoreCategorizer(userInput: PerseusCategorizerUserInput, scoringData: PerseusCategorizerScoringData, strings: PerseusStrings): PerseusScore;
|
|
5
5
|
export default scoreCategorizer;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PerseusStrings } from "../../strings";
|
|
2
|
+
import type { PerseusScore } from "../../types";
|
|
3
|
+
import type { PerseusCategorizerUserInput, PerseusCategorizerValidationData } from "../../validation.types";
|
|
4
|
+
/**
|
|
5
|
+
* Checks userInput from the categorizer widget to see if the user has selected
|
|
6
|
+
* a category for each item.
|
|
7
|
+
* @param userInput - The user's input corresponding to an array of indices that
|
|
8
|
+
* represent the selected category for each row/item.
|
|
9
|
+
* @param validationData - An array of strings corresponding to each row/item
|
|
10
|
+
* @param strings - Used to provide a validation message
|
|
11
|
+
*/
|
|
12
|
+
declare function validateCategorizer(userInput: PerseusCategorizerUserInput, validationData: PerseusCategorizerValidationData, strings: PerseusStrings): Extract<PerseusScore, {
|
|
13
|
+
type: "invalid";
|
|
14
|
+
}> | null;
|
|
15
|
+
export default validateCategorizer;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PerseusScore } from "../../types";
|
|
2
|
+
import type { PerseusDropdownUserInput } from "../../validation.types";
|
|
3
|
+
/**
|
|
4
|
+
* Checks if the user has selected an item from the dropdown before scoring.
|
|
5
|
+
* This is shown with a userInput value / index other than 0.
|
|
6
|
+
*/
|
|
7
|
+
declare function validateDropdown(userInput: PerseusDropdownUserInput): Extract<PerseusScore, {
|
|
8
|
+
type: "invalid";
|
|
9
|
+
}> | null;
|
|
10
|
+
export default validateDropdown;
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import type { CSSCursor } from "./css-cursor";
|
|
3
|
+
import type { AriaLive } from "../../types";
|
|
3
4
|
import type { KeyboardMovementConstraint } from "../use-draggable";
|
|
4
5
|
import type { vec } from "mafs";
|
|
5
6
|
type Props = {
|
|
6
7
|
point: vec.Vector2;
|
|
8
|
+
ariaDescribedBy?: string;
|
|
9
|
+
ariaLabel?: string;
|
|
10
|
+
ariaLive?: AriaLive;
|
|
11
|
+
color?: string;
|
|
12
|
+
constrain?: KeyboardMovementConstraint;
|
|
13
|
+
cursor?: CSSCursor | undefined;
|
|
7
14
|
/**
|
|
8
15
|
* Represents where this point stands in the overall point sequence.
|
|
9
16
|
* This is used to provide screen readers with context about the point.
|
|
@@ -12,14 +19,11 @@ type Props = {
|
|
|
12
19
|
* Note: This number is 1-indexed, and should restart from 1 for each
|
|
13
20
|
* interactive figure on the graph.
|
|
14
21
|
*/
|
|
15
|
-
sequenceNumber
|
|
16
|
-
|
|
22
|
+
sequenceNumber?: number;
|
|
23
|
+
onBlur?: (event: React.FocusEvent) => unknown;
|
|
17
24
|
onClick?: () => unknown;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
constrain?: KeyboardMovementConstraint;
|
|
21
|
-
onFocus?: ((event: React.FocusEvent) => unknown) | undefined;
|
|
22
|
-
onBlur?: ((event: React.FocusEvent) => unknown) | undefined;
|
|
25
|
+
onFocus?: (event: React.FocusEvent) => unknown;
|
|
26
|
+
onMove?: (newPoint: vec.Vector2) => unknown;
|
|
23
27
|
};
|
|
24
28
|
export declare const MovablePoint: React.ForwardRefExoticComponent<Props & React.RefAttributes<SVGGElement | null>>;
|
|
25
29
|
export {};
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import type { CSSCursor } from "./css-cursor";
|
|
3
|
+
import type { AriaLive } from "../../types";
|
|
3
4
|
import type { KeyboardMovementConstraint } from "../use-draggable";
|
|
4
5
|
import type { vec } from "mafs";
|
|
5
6
|
type Params = {
|
|
6
7
|
point: vec.Vector2;
|
|
8
|
+
ariaDescribedBy?: string;
|
|
9
|
+
ariaLabel?: string;
|
|
10
|
+
ariaLive?: AriaLive;
|
|
7
11
|
color?: string | undefined;
|
|
12
|
+
constrain?: KeyboardMovementConstraint;
|
|
8
13
|
cursor?: CSSCursor | undefined;
|
|
14
|
+
forwardedRef?: React.ForwardedRef<SVGGElement | null> | undefined;
|
|
9
15
|
/**
|
|
10
16
|
* Represents where this point stands in the overall point sequence.
|
|
11
17
|
* This is used to provide screen readers with context about the point.
|
|
@@ -14,13 +20,11 @@ type Params = {
|
|
|
14
20
|
* Note: This number is 1-indexed, and should restart from 1 for each
|
|
15
21
|
* interactive figure on the graph.
|
|
16
22
|
*/
|
|
17
|
-
sequenceNumber
|
|
18
|
-
constrain?: KeyboardMovementConstraint;
|
|
23
|
+
sequenceNumber?: number;
|
|
19
24
|
onMove?: ((newPoint: vec.Vector2) => unknown) | undefined;
|
|
20
25
|
onClick?: (() => unknown) | undefined;
|
|
21
26
|
onFocus?: ((event: React.FocusEvent) => unknown) | undefined;
|
|
22
27
|
onBlur?: ((event: React.FocusEvent) => unknown) | undefined;
|
|
23
|
-
forwardedRef?: React.ForwardedRef<SVGGElement | null> | undefined;
|
|
24
28
|
};
|
|
25
29
|
type Return = {
|
|
26
30
|
focusableHandle: React.ReactNode;
|
|
@@ -16,12 +16,6 @@ export declare function bound({ snapStep, range, point, }: {
|
|
|
16
16
|
point: vec.Vector2;
|
|
17
17
|
}): vec.Vector2;
|
|
18
18
|
export declare function isUnlimitedGraphState(state: InteractiveGraphState): state is UnlimitedGraphState;
|
|
19
|
-
/**
|
|
20
|
-
* Replace all text outside of the $ TeX blocks with `\\text{...}`
|
|
21
|
-
* This way, the entire resulting string can be rendered within <TeX>
|
|
22
|
-
* and the text outside of the $ blocks will be non-TeX text.
|
|
23
|
-
*/
|
|
24
|
-
export declare function replaceOutsideTeX(mathString: string): any;
|
|
25
19
|
/**
|
|
26
20
|
* Parse a string of text and math into a list of objects with type and content
|
|
27
21
|
*
|
|
@@ -32,3 +26,9 @@ export declare function replaceOutsideTeX(mathString: string): any;
|
|
|
32
26
|
* ]
|
|
33
27
|
*/
|
|
34
28
|
export declare const mathOnlyParser: import("@khanacademy/simple-markdown").Parser;
|
|
29
|
+
/**
|
|
30
|
+
* Replace all text outside of the $ TeX blocks with `\\text{...}`
|
|
31
|
+
* This way, the entire resulting string can be rendered within <TeX>
|
|
32
|
+
* and the text outside of the $ blocks will be non-TeX text.
|
|
33
|
+
*/
|
|
34
|
+
export declare function replaceOutsideTeX(mathString: string): string;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { PerseusI18nContext } from "../../components/i18n-context";
|
|
3
3
|
import scoreMatrix from "./score-matrix";
|
|
4
|
-
import type {
|
|
4
|
+
import type { PerseusMatrixWidgetAnswers } from "../../perseus-types";
|
|
5
5
|
import type { WidgetProps, Widget, FocusPath } from "../../types";
|
|
6
6
|
import type { PerseusMatrixRubric, PerseusMatrixUserInput } from "../../validation.types";
|
|
7
7
|
import type { MatrixPromptJSON } from "../../widget-ai-utils/matrix/matrix-ai-utils";
|
|
8
8
|
export declare function getMatrixSize(matrix: ReadonlyArray<ReadonlyArray<number>>): number[];
|
|
9
|
-
type ExternalProps = WidgetProps<
|
|
9
|
+
type ExternalProps = WidgetProps<{
|
|
10
|
+
prefix: string;
|
|
11
|
+
suffix: string;
|
|
12
|
+
answers: PerseusMatrixWidgetAnswers;
|
|
13
|
+
cursorPosition: ReadonlyArray<number>;
|
|
14
|
+
matrixBoardSize: ReadonlyArray<number>;
|
|
15
|
+
static?: boolean | undefined;
|
|
16
|
+
}, PerseusMatrixRubric>;
|
|
10
17
|
type Props = ExternalProps & {
|
|
11
18
|
onChange: (arg1: {
|
|
12
19
|
cursorPosition?: ReadonlyArray<number>;
|
|
@@ -17,9 +24,9 @@ type Props = ExternalProps & {
|
|
|
17
24
|
type DefaultProps = {
|
|
18
25
|
matrixBoardSize: Props["matrixBoardSize"];
|
|
19
26
|
answers: Props["answers"];
|
|
20
|
-
prefix:
|
|
21
|
-
suffix:
|
|
22
|
-
cursorPosition:
|
|
27
|
+
prefix: string;
|
|
28
|
+
suffix: string;
|
|
29
|
+
cursorPosition: ReadonlyArray<number>;
|
|
23
30
|
apiOptions: Props["apiOptions"];
|
|
24
31
|
linterContext: Props["linterContext"];
|
|
25
32
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PerseusScore } from "../../types";
|
|
2
|
+
import type { PerseusOrdererUserInput } from "../../validation.types";
|
|
3
|
+
/**
|
|
4
|
+
* Checks user input from the orderer widget to see if the user has started
|
|
5
|
+
* ordering the options, making the widget scorable.
|
|
6
|
+
* @param userInput
|
|
7
|
+
* @see `scoreOrderer` for more details.
|
|
8
|
+
*/
|
|
9
|
+
declare function validateOrderer(userInput: PerseusOrdererUserInput): Extract<PerseusScore, {
|
|
10
|
+
type: "invalid";
|
|
11
|
+
}> | null;
|
|
12
|
+
export default validateOrderer;
|
|
@@ -3,10 +3,10 @@ import { PerseusI18nContext } from "../../components/i18n-context";
|
|
|
3
3
|
import scorePlotter from "./score-plotter";
|
|
4
4
|
import type { PerseusPlotterWidgetOptions } from "../../perseus-types";
|
|
5
5
|
import type { Widget, WidgetProps } from "../../types";
|
|
6
|
-
import type {
|
|
6
|
+
import type { PerseusPlotterScoringData, PerseusPlotterUserInput } from "../../validation.types";
|
|
7
7
|
import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
|
|
8
8
|
type RenderProps = PerseusPlotterWidgetOptions;
|
|
9
|
-
type Props = WidgetProps<RenderProps,
|
|
9
|
+
type Props = WidgetProps<RenderProps, PerseusPlotterScoringData> & {
|
|
10
10
|
labelInterval: NonNullable<PerseusPlotterWidgetOptions["labelInterval"]>;
|
|
11
11
|
picSize: NonNullable<PerseusPlotterWidgetOptions["picSize"]>;
|
|
12
12
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { PerseusScore } from "../../types";
|
|
2
|
-
import type {
|
|
3
|
-
declare function scorePlotter(userInput: PerseusPlotterUserInput,
|
|
2
|
+
import type { PerseusPlotterScoringData, PerseusPlotterUserInput } from "../../validation.types";
|
|
3
|
+
declare function scorePlotter(userInput: PerseusPlotterUserInput, scoringData: PerseusPlotterScoringData): PerseusScore;
|
|
4
4
|
export default scorePlotter;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PerseusScore } from "../../types";
|
|
2
|
+
import type { PerseusPlotterUserInput, PerseusPlotterValidationData } from "../../validation.types";
|
|
3
|
+
/**
|
|
4
|
+
* Checks user input to confirm it is not the same as the starting values for the graph.
|
|
5
|
+
* This means the user has modified the graph, and the question can be scored.
|
|
6
|
+
*
|
|
7
|
+
* @see 'scorePlotter' for more details on scoring.
|
|
8
|
+
*/
|
|
9
|
+
declare function validatePlotter(userInput: PerseusPlotterUserInput, validationData: PerseusPlotterValidationData): Extract<PerseusScore, {
|
|
10
|
+
type: "invalid";
|
|
11
|
+
}> | null;
|
|
12
|
+
export default validatePlotter;
|