@khanacademy/perseus 49.1.1 → 49.1.3

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.
@@ -218,6 +218,10 @@ const strings = {
218
218
  context: "Screenreader-only description of the line's intercept when the intercept is the graph's origin.",
219
219
  message: "The line crosses the x and y axes at the graph's origin."
220
220
  },
221
+ srLinearGrabHandle: {
222
+ context: "Screenreader-only label on the grab handle for the line on a linear graph.",
223
+ message: "Line from %(point1X)s comma %(point1Y)s to %(point2X)s comma %(point2Y)s."
224
+ },
221
225
  srAngleSideAtCoordinates: {
222
226
  context: "Screenreader-accessible description of the side / vertex of an angle graph",
223
227
  message: "Point %(point)s, %(side)s at %(x)s comma %(y)s"
@@ -473,6 +477,12 @@ const mockStrings = {
473
477
  yIntercept
474
478
  }) => `The line crosses the X-axis at ${xIntercept} comma 0 and the Y-axis at 0 comma ${yIntercept}.`,
475
479
  srLinearGraphOriginIntercept: "The line crosses the x and y axes at the graph's origin.",
480
+ srLinearGrabHandle: ({
481
+ point1X,
482
+ point1Y,
483
+ point2X,
484
+ point2Y
485
+ }) => `Line from ${point1X} comma ${point1Y} to ${point2X} comma ${point2Y}.`,
476
486
  srAngleSideAtCoordinates: ({
477
487
  point,
478
488
  side,
@@ -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 selectAnAnswer: string;\n // The following strings are used for interactive graph SR descriptions.\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 srCircleGraph: string;\n srCircleShape: ({\n centerX,\n centerY,\n }: {\n centerX: string;\n centerY: string;\n }) => string;\n srCircleRadiusPoint: ({\n radiusPointX,\n radiusPointY,\n }: {\n radiusPointX: string;\n radiusPointY: string;\n }) => string;\n srCircleRadius: ({radius}: {radius: number}) => string;\n srCircleOuterPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n point4X,\n point4Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n point3X: string;\n point3Y: string;\n point4X: string;\n point4Y: string;\n }) => string;\n srLinearGraph: string;\n srLinearGraphPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srLinearGraphSlopeIncreasing: string;\n srLinearGraphSlopeDecreasing: string;\n srLinearGraphSlopeHorizontal: string;\n srLinearGraphSlopeVertical: string;\n srLinearGraphXOnlyIntercept: ({xIntercept}: {xIntercept: string}) => string;\n srLinearGraphYOnlyIntercept: ({yIntercept}: {yIntercept: string}) => string;\n srLinearGraphBothIntercepts: ({\n xIntercept,\n yIntercept,\n }: {\n xIntercept: string;\n yIntercept: string;\n }) => string;\n srLinearGraphOriginIntercept: string;\n srAngleSideAtCoordinates: ({\n point,\n side,\n x,\n y,\n }: {\n point: number;\n side: string;\n x: string;\n y: string;\n }) => string;\n srAngleVertexAtCoordinatesWithAngleMeasure: ({\n x,\n y,\n angleMeasure,\n }: {\n x: string;\n y: string;\n angleMeasure: string;\n }) => string;\n srAngleGraphAriaLabel: string;\n srAngleGraphAriaDescription: ({\n angleMeasure,\n vertexX,\n vertexY,\n isX,\n isY,\n tsX,\n tsY,\n }: {\n angleMeasure: string;\n vertexX: string;\n vertexY: string;\n isX: string;\n isY: string;\n tsX: string;\n tsY: string;\n }) => string;\n // The above strings are used for interactive graph SR descriptions.\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 selectAnAnswer: \"Select an answer\",\n\n // The following strings are used for interactive graph SR descriptions.\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 // 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 srCircleGraph: {\n context: \"Aria label for the circle graph as a whole.\",\n message: \"A circle on a coordinate plane.\",\n },\n srCircleShape: {\n context:\n \"Aria label for the interactive circle shape in a circle graph.\",\n message:\n \"Circle. The center point is at %(centerX)s comma %(centerY)s.\",\n },\n srCircleRadiusPoint: {\n context:\n \"Aria label for the interactive point that sits on the edge of the circle in a circle graph. Moving this point updates the radius of the circle\",\n message: \"Radius point at %(radiusPointX)s comma %(radiusPointY)s.\",\n },\n srCircleRadius: {\n context:\n \"Screenreader-only description of the radius of a circle in a circle graph.\",\n message: \"Circle radius is %(radius)s.\",\n },\n srCircleOuterPoints: {\n context:\n \"Screenreader-only description of key points on a circle in a circle graph.\",\n message:\n \"Points on the circle at %(point1X)s comma %(point1Y)s, %(point2X)s comma %(point2Y)s, %(point3X)s comma %(point3Y)s, %(point4X)s comma %(point4Y)s.\",\n },\n srLinearGraph: {\n context: \"Aria label for the linear graph as a whole.\",\n message: \"A line on a coordinate plane.\",\n },\n srLinearGraphPoints: {\n context:\n \"Additional information about the points for the linear graph as a whole.\",\n message:\n \"The line has two points, point 1 at %(point1X)s comma %(point1Y)s and point 2 at %(point2X)s comma %(point2Y)s.\",\n },\n srLinearGraphSlopeIncreasing: {\n context:\n \"Screenreader-only description of a line's decreasing slope on a linear graph.\",\n message: \"Its slope increases from left to right.\",\n },\n srLinearGraphSlopeDecreasing: {\n context:\n \"Screenreader-only description of a line's increasing slope on a linear graph.\",\n message: \"Its slope decreases from left to right.\",\n },\n srLinearGraphSlopeHorizontal: {\n context:\n \"Screenreader-only description of a line's horizontal slope on a linear graph.\",\n message: \"Its slope is zero.\",\n },\n srLinearGraphSlopeVertical: {\n context:\n \"Screenreader-only description of a line's vertical slope on a linear graph.\",\n message: \"Its slope is undefined.\",\n },\n srLinearGraphXOnlyIntercept: {\n context:\n \"Screenreader-only description of a line's x-intercept on a linear graph when it only has an x intercept.\",\n message: \"The line crosses the X-axis at %(xIntercept)s comma 0.\",\n },\n srLinearGraphYOnlyIntercept: {\n context:\n \"Screenreader-only description of a line's y-intercept on a linear graph when it only has a y intercept.\",\n message: \"The line crosses the Y-axis at 0 comma %(yIntercept)s.\",\n },\n srLinearGraphBothIntercepts: {\n context:\n \"Screenreader-only description of a line's x and y intercepts on a linear graph when both intercepts are present.\",\n message:\n \"The line crosses the X-axis at %(xIntercept)s comma 0 and the Y-axis at 0 comma %(yIntercept)s.\",\n },\n srLinearGraphOriginIntercept: {\n context:\n \"Screenreader-only description of the line's intercept when the intercept is the graph's origin.\",\n message: \"The line crosses the x and y axes at the graph's origin.\",\n },\n srAngleSideAtCoordinates: {\n context:\n \"Screenreader-accessible description of the side / vertex of an angle graph\",\n message: \"Point %(point)s, %(side)s at %(x)s comma %(y)s\",\n },\n srAngleVertexAtCoordinatesWithAngleMeasure: {\n context:\n \"Screenreader-accessible description of a vertex on an angle graph with an angle measure\",\n message:\n \"Point 2, vertex at %(x)s comma %(y)s. Angle %(angleMeasure)s degrees\",\n },\n srAngleGraphAriaLabel: \"An angle on a coordinate plane.\",\n srAngleGraphAriaDescription: {\n context:\n \"Screenreader-only description of an angle on a coordinate plane.\",\n message:\n \"The angle measure is %(angleMeasure)s degrees with a vertex at %(vertexX)s comma %(vertexY)s, a point on the initial side at %(isX)s comma %(isY)s and a point on the terminal side at %(tsX)s comma %(tsY)s\",\n },\n // The above strings are used for interactive graph SR descriptions.\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 selectAnAnswer: \"Select an answer\",\n\n // The following strings are used for interactive graph SR descriptions.\n graphKeyboardPrompt: \"Press Shift + Enter to interact with the graph\",\n addPoint: \"Add Point\",\n removePoint: \"Remove Point\",\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 srCircleGraph: \"A circle on a coordinate plane.\",\n srCircleShape: ({centerX, centerY}) =>\n `Circle. The center point is at ${centerX} comma ${centerY}.`,\n srCircleRadiusPoint: ({radiusPointX, radiusPointY}) =>\n `Radius point at ${radiusPointX} comma ${radiusPointY}.`,\n srCircleRadius: ({radius}) => `Circle radius is ${radius}.`,\n srCircleOuterPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n point4X,\n point4Y,\n }) =>\n `Points on the circle at ${point1X} comma ${point1Y}, ${point2X} comma ${point2Y}, ${point3X} comma ${point3Y}, ${point4X} comma ${point4Y}.`,\n srLinearGraph: \"A line on a coordinate plane.\",\n srLinearGraphPoints: ({point1X, point1Y, point2X, point2Y}) =>\n `The line has two points, point 1 at ${point1X} comma ${point1Y} and point 2 at ${point2X} comma ${point2Y}.`,\n srLinearGraphSlopeIncreasing: \"Its slope increases from left to right.\",\n srLinearGraphSlopeDecreasing: \"Its slope decreases from left to right.\",\n srLinearGraphSlopeHorizontal: \"Its slope is zero.\",\n srLinearGraphSlopeVertical: \"Its slope is undefined.\",\n srLinearGraphXOnlyIntercept: ({xIntercept}) =>\n `The line crosses the X-axis at ${xIntercept} comma 0.`,\n srLinearGraphYOnlyIntercept: ({yIntercept}) =>\n `The line crosses the Y-axis at 0 comma ${yIntercept}.`,\n srLinearGraphBothIntercepts: ({xIntercept, yIntercept}) =>\n `The line crosses the X-axis at ${xIntercept} comma 0 and the Y-axis at 0 comma ${yIntercept}.`,\n srLinearGraphOriginIntercept:\n \"The line crosses the x and y axes at the graph's origin.\",\n srAngleSideAtCoordinates: ({point, side, x, y}) =>\n `Point ${point}, ${side} at ${x} comma ${y}`,\n srAngleVertexAtCoordinatesWithAngleMeasure: ({x, y, angleMeasure}) =>\n `Point 2, vertex at ${x} comma ${y}. Angle ${angleMeasure} degrees`,\n srAngleGraphAriaLabel: \"An angle on a coordinate plane.\",\n srAngleGraphAriaDescription: ({\n angleMeasure,\n vertexX,\n vertexY,\n isX,\n isY,\n tsX,\n tsY,\n }) =>\n `The angle measure is ${angleMeasure} degrees with a vertex at ${vertexX} comma ${vertexY}, a point on the initial side at ${isX} comma ${isY} and a point on the terminal side at ${tsX} comma ${tsY}.`,\n // The above strings are used for interactive graph SR descriptions.\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","selectAnAnswer","addPoint","removePoint","graphKeyboardPrompt","closePolygon","openPolygon","srInteractiveElements","srNoInteractiveElements","srPointAtCoordinates","srCircleGraph","srCircleShape","srCircleRadiusPoint","srCircleRadius","srCircleOuterPoints","srLinearGraph","srLinearGraphPoints","srLinearGraphSlopeIncreasing","srLinearGraphSlopeDecreasing","srLinearGraphSlopeHorizontal","srLinearGraphSlopeVertical","srLinearGraphXOnlyIntercept","srLinearGraphYOnlyIntercept","srLinearGraphBothIntercepts","srLinearGraphOriginIntercept","srAngleSideAtCoordinates","srAngleVertexAtCoordinatesWithAngleMeasure","srAngleGraphAriaLabel","srAngleGraphAriaDescription","mockStrings","pos","error","title","num","content","divRangeString","questionSymbol","questionNumber","sentenceSymbol","number","numCorrect","letter","x","y","elements","centerX","centerY","radiusPointX","radiusPointY","radius","point1X","point1Y","point2X","point2Y","point3X","point3Y","point4X","point4Y","xIntercept","yIntercept","point","side","angleMeasure","vertexX","vertexY","isX","isY","tsX","tsY"],"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 selectAnAnswer: string;\n // The following strings are used for interactive graph SR descriptions.\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 srCircleGraph: string;\n srCircleShape: ({\n centerX,\n centerY,\n }: {\n centerX: string;\n centerY: string;\n }) => string;\n srCircleRadiusPoint: ({\n radiusPointX,\n radiusPointY,\n }: {\n radiusPointX: string;\n radiusPointY: string;\n }) => string;\n srCircleRadius: ({radius}: {radius: number}) => string;\n srCircleOuterPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n point4X,\n point4Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n point3X: string;\n point3Y: string;\n point4X: string;\n point4Y: string;\n }) => string;\n srLinearGraph: string;\n srLinearGraphPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srLinearGraphSlopeIncreasing: string;\n srLinearGraphSlopeDecreasing: string;\n srLinearGraphSlopeHorizontal: string;\n srLinearGraphSlopeVertical: string;\n srLinearGraphXOnlyIntercept: ({xIntercept}: {xIntercept: string}) => string;\n srLinearGraphYOnlyIntercept: ({yIntercept}: {yIntercept: string}) => string;\n srLinearGraphBothIntercepts: ({\n xIntercept,\n yIntercept,\n }: {\n xIntercept: string;\n yIntercept: string;\n }) => string;\n srLinearGraphOriginIntercept: string;\n srLinearGrabHandle: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n }: {\n point1X: string;\n point1Y: string;\n point2X: string;\n point2Y: string;\n }) => string;\n srAngleSideAtCoordinates: ({\n point,\n side,\n x,\n y,\n }: {\n point: number;\n side: string;\n x: string;\n y: string;\n }) => string;\n srAngleVertexAtCoordinatesWithAngleMeasure: ({\n x,\n y,\n angleMeasure,\n }: {\n x: string;\n y: string;\n angleMeasure: string;\n }) => string;\n srAngleGraphAriaLabel: string;\n srAngleGraphAriaDescription: ({\n angleMeasure,\n vertexX,\n vertexY,\n isX,\n isY,\n tsX,\n tsY,\n }: {\n angleMeasure: string;\n vertexX: string;\n vertexY: string;\n isX: string;\n isY: string;\n tsX: string;\n tsY: string;\n }) => string;\n // The above strings are used for interactive graph SR descriptions.\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 selectAnAnswer: \"Select an answer\",\n\n // The following strings are used for interactive graph SR descriptions.\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 // 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 srCircleGraph: {\n context: \"Aria label for the circle graph as a whole.\",\n message: \"A circle on a coordinate plane.\",\n },\n srCircleShape: {\n context:\n \"Aria label for the interactive circle shape in a circle graph.\",\n message:\n \"Circle. The center point is at %(centerX)s comma %(centerY)s.\",\n },\n srCircleRadiusPoint: {\n context:\n \"Aria label for the interactive point that sits on the edge of the circle in a circle graph. Moving this point updates the radius of the circle\",\n message: \"Radius point at %(radiusPointX)s comma %(radiusPointY)s.\",\n },\n srCircleRadius: {\n context:\n \"Screenreader-only description of the radius of a circle in a circle graph.\",\n message: \"Circle radius is %(radius)s.\",\n },\n srCircleOuterPoints: {\n context:\n \"Screenreader-only description of key points on a circle in a circle graph.\",\n message:\n \"Points on the circle at %(point1X)s comma %(point1Y)s, %(point2X)s comma %(point2Y)s, %(point3X)s comma %(point3Y)s, %(point4X)s comma %(point4Y)s.\",\n },\n srLinearGraph: {\n context: \"Aria label for the linear graph as a whole.\",\n message: \"A line on a coordinate plane.\",\n },\n srLinearGraphPoints: {\n context:\n \"Additional information about the points for the linear graph as a whole.\",\n message:\n \"The line has two points, point 1 at %(point1X)s comma %(point1Y)s and point 2 at %(point2X)s comma %(point2Y)s.\",\n },\n srLinearGraphSlopeIncreasing: {\n context:\n \"Screenreader-only description of a line's decreasing slope on a linear graph.\",\n message: \"Its slope increases from left to right.\",\n },\n srLinearGraphSlopeDecreasing: {\n context:\n \"Screenreader-only description of a line's increasing slope on a linear graph.\",\n message: \"Its slope decreases from left to right.\",\n },\n srLinearGraphSlopeHorizontal: {\n context:\n \"Screenreader-only description of a line's horizontal slope on a linear graph.\",\n message: \"Its slope is zero.\",\n },\n srLinearGraphSlopeVertical: {\n context:\n \"Screenreader-only description of a line's vertical slope on a linear graph.\",\n message: \"Its slope is undefined.\",\n },\n srLinearGraphXOnlyIntercept: {\n context:\n \"Screenreader-only description of a line's x-intercept on a linear graph when it only has an x intercept.\",\n message: \"The line crosses the X-axis at %(xIntercept)s comma 0.\",\n },\n srLinearGraphYOnlyIntercept: {\n context:\n \"Screenreader-only description of a line's y-intercept on a linear graph when it only has a y intercept.\",\n message: \"The line crosses the Y-axis at 0 comma %(yIntercept)s.\",\n },\n srLinearGraphBothIntercepts: {\n context:\n \"Screenreader-only description of a line's x and y intercepts on a linear graph when both intercepts are present.\",\n message:\n \"The line crosses the X-axis at %(xIntercept)s comma 0 and the Y-axis at 0 comma %(yIntercept)s.\",\n },\n srLinearGraphOriginIntercept: {\n context:\n \"Screenreader-only description of the line's intercept when the intercept is the graph's origin.\",\n message: \"The line crosses the x and y axes at the graph's origin.\",\n },\n srLinearGrabHandle: {\n context:\n \"Screenreader-only label on the grab handle for the line on a linear graph.\",\n message:\n \"Line from %(point1X)s comma %(point1Y)s to %(point2X)s comma %(point2Y)s.\",\n },\n srAngleSideAtCoordinates: {\n context:\n \"Screenreader-accessible description of the side / vertex of an angle graph\",\n message: \"Point %(point)s, %(side)s at %(x)s comma %(y)s\",\n },\n srAngleVertexAtCoordinatesWithAngleMeasure: {\n context:\n \"Screenreader-accessible description of a vertex on an angle graph with an angle measure\",\n message:\n \"Point 2, vertex at %(x)s comma %(y)s. Angle %(angleMeasure)s degrees\",\n },\n srAngleGraphAriaLabel: \"An angle on a coordinate plane.\",\n srAngleGraphAriaDescription: {\n context:\n \"Screenreader-only description of an angle on a coordinate plane.\",\n message:\n \"The angle measure is %(angleMeasure)s degrees with a vertex at %(vertexX)s comma %(vertexY)s, a point on the initial side at %(isX)s comma %(isY)s and a point on the terminal side at %(tsX)s comma %(tsY)s\",\n },\n // The above strings are used for interactive graph SR descriptions.\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 selectAnAnswer: \"Select an answer\",\n\n // The following strings are used for interactive graph SR descriptions.\n graphKeyboardPrompt: \"Press Shift + Enter to interact with the graph\",\n addPoint: \"Add Point\",\n removePoint: \"Remove Point\",\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 srCircleGraph: \"A circle on a coordinate plane.\",\n srCircleShape: ({centerX, centerY}) =>\n `Circle. The center point is at ${centerX} comma ${centerY}.`,\n srCircleRadiusPoint: ({radiusPointX, radiusPointY}) =>\n `Radius point at ${radiusPointX} comma ${radiusPointY}.`,\n srCircleRadius: ({radius}) => `Circle radius is ${radius}.`,\n srCircleOuterPoints: ({\n point1X,\n point1Y,\n point2X,\n point2Y,\n point3X,\n point3Y,\n point4X,\n point4Y,\n }) =>\n `Points on the circle at ${point1X} comma ${point1Y}, ${point2X} comma ${point2Y}, ${point3X} comma ${point3Y}, ${point4X} comma ${point4Y}.`,\n srLinearGraph: \"A line on a coordinate plane.\",\n srLinearGraphPoints: ({point1X, point1Y, point2X, point2Y}) =>\n `The line has two points, point 1 at ${point1X} comma ${point1Y} and point 2 at ${point2X} comma ${point2Y}.`,\n srLinearGraphSlopeIncreasing: \"Its slope increases from left to right.\",\n srLinearGraphSlopeDecreasing: \"Its slope decreases from left to right.\",\n srLinearGraphSlopeHorizontal: \"Its slope is zero.\",\n srLinearGraphSlopeVertical: \"Its slope is undefined.\",\n srLinearGraphXOnlyIntercept: ({xIntercept}) =>\n `The line crosses the X-axis at ${xIntercept} comma 0.`,\n srLinearGraphYOnlyIntercept: ({yIntercept}) =>\n `The line crosses the Y-axis at 0 comma ${yIntercept}.`,\n srLinearGraphBothIntercepts: ({xIntercept, yIntercept}) =>\n `The line crosses the X-axis at ${xIntercept} comma 0 and the Y-axis at 0 comma ${yIntercept}.`,\n srLinearGraphOriginIntercept:\n \"The line crosses the x and y axes at the graph's origin.\",\n srLinearGrabHandle: ({point1X, point1Y, point2X, point2Y}) =>\n `Line from ${point1X} comma ${point1Y} to ${point2X} comma ${point2Y}.`,\n srAngleSideAtCoordinates: ({point, side, x, y}) =>\n `Point ${point}, ${side} at ${x} comma ${y}`,\n srAngleVertexAtCoordinatesWithAngleMeasure: ({x, y, angleMeasure}) =>\n `Point 2, vertex at ${x} comma ${y}. Angle ${angleMeasure} degrees`,\n srAngleGraphAriaLabel: \"An angle on a coordinate plane.\",\n srAngleGraphAriaDescription: ({\n angleMeasure,\n vertexX,\n vertexY,\n isX,\n isY,\n tsX,\n tsY,\n }) =>\n `The angle measure is ${angleMeasure} degrees with a vertex at ${vertexX} comma ${vertexY}, a point on the initial side at ${isX} comma ${isY} and a point on the terminal side at ${tsX} comma ${tsY}.`,\n // The above strings are used for interactive graph SR descriptions.\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","selectAnAnswer","addPoint","removePoint","graphKeyboardPrompt","closePolygon","openPolygon","srInteractiveElements","srNoInteractiveElements","srPointAtCoordinates","srCircleGraph","srCircleShape","srCircleRadiusPoint","srCircleRadius","srCircleOuterPoints","srLinearGraph","srLinearGraphPoints","srLinearGraphSlopeIncreasing","srLinearGraphSlopeDecreasing","srLinearGraphSlopeHorizontal","srLinearGraphSlopeVertical","srLinearGraphXOnlyIntercept","srLinearGraphYOnlyIntercept","srLinearGraphBothIntercepts","srLinearGraphOriginIntercept","srLinearGrabHandle","srAngleSideAtCoordinates","srAngleVertexAtCoordinatesWithAngleMeasure","srAngleGraphAriaLabel","srAngleGraphAriaDescription","mockStrings","pos","error","title","num","content","divRangeString","questionSymbol","questionNumber","sentenceSymbol","number","numCorrect","letter","x","y","elements","centerX","centerY","radiusPointX","radiusPointY","radius","point1X","point1Y","point2X","point2Y","point3X","point3Y","point4X","point4Y","xIntercept","yIntercept","point","side","angleMeasure","vertexX","vertexY","isX","isY","tsX","tsY"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -100,5 +100,6 @@ export type { Hint, LegacyButtonSets, LockedFigure, LockedFigureColor, LockedFig
100
100
  PerseusArticle, PerseusImageBackground, PerseusInputNumberWidgetOptions, PerseusInteractiveGraphWidgetOptions, PerseusItem, PerseusPhetSimulationWidgetOptions, PerseusPlotterWidgetOptions, PerseusPythonProgramWidgetOptions, PerseusRadioWidgetOptions, PerseusRenderer, PerseusWidget, PerseusWidgetsMap, PerseusWidgetTypes, WidgetOptions, } from "./perseus-types";
101
101
  export type { UserInputMap } from "./validation.types";
102
102
  export type { Coord } from "./interactive2/types";
103
+ export type { Coords } from "./widgets/grapher/grapher-types";
103
104
  export type { MarkerType } from "./widgets/label-image/types";
104
105
  export type { RendererPromptJSON, WidgetPromptJSON, } from "./widget-ai-utils/prompt-types";
package/dist/index.js CHANGED
@@ -455,25 +455,34 @@ const mockStrings = {
455
455
  return `The line crosses the X-axis at ${xIntercept} comma 0 and the Y-axis at 0 comma ${yIntercept}.`;
456
456
  },
457
457
  srLinearGraphOriginIntercept: "The line crosses the x and y axes at the graph's origin.",
458
- srAngleSideAtCoordinates: _ref37 => {
458
+ srLinearGrabHandle: _ref37 => {
459
+ let {
460
+ point1X,
461
+ point1Y,
462
+ point2X,
463
+ point2Y
464
+ } = _ref37;
465
+ return `Line from ${point1X} comma ${point1Y} to ${point2X} comma ${point2Y}.`;
466
+ },
467
+ srAngleSideAtCoordinates: _ref38 => {
459
468
  let {
460
469
  point,
461
470
  side,
462
471
  x,
463
472
  y
464
- } = _ref37;
473
+ } = _ref38;
465
474
  return `Point ${point}, ${side} at ${x} comma ${y}`;
466
475
  },
467
- srAngleVertexAtCoordinatesWithAngleMeasure: _ref38 => {
476
+ srAngleVertexAtCoordinatesWithAngleMeasure: _ref39 => {
468
477
  let {
469
478
  x,
470
479
  y,
471
480
  angleMeasure
472
- } = _ref38;
481
+ } = _ref39;
473
482
  return `Point 2, vertex at ${x} comma ${y}. Angle ${angleMeasure} degrees`;
474
483
  },
475
484
  srAngleGraphAriaLabel: "An angle on a coordinate plane.",
476
- srAngleGraphAriaDescription: _ref39 => {
485
+ srAngleGraphAriaDescription: _ref40 => {
477
486
  let {
478
487
  angleMeasure,
479
488
  vertexX,
@@ -482,7 +491,7 @@ const mockStrings = {
482
491
  isY,
483
492
  tsX,
484
493
  tsY
485
- } = _ref39;
494
+ } = _ref40;
486
495
  return `The angle measure is ${angleMeasure} degrees with a vertex at ${vertexX} comma ${vertexY}, a point on the initial side at ${isX} comma ${isY} and a point on the terminal side at ${tsX} comma ${tsY}.`;
487
496
  }
488
497
  // The above strings are used for interactive graph SR descriptions.
@@ -34194,15 +34203,21 @@ const noop$1 = () => {};
34194
34203
 
34195
34204
  const MovableLine = props => {
34196
34205
  const {
34206
+ points: [start, end],
34197
34207
  ariaLabels,
34198
34208
  ariaDescribedBy,
34199
- onMoveLine = () => {},
34200
- onMovePoint = () => {},
34201
34209
  color,
34202
- points: [start, end],
34203
- extend
34210
+ extend,
34211
+ onMoveLine = () => {},
34212
+ onMovePoint = () => {}
34204
34213
  } = props;
34205
34214
 
34215
+ // Aria live states for (0) point 1, (1) point 2, and (2) grab handle.
34216
+ // When moving an element, set its aria live to "polite" and the others
34217
+ // to "off". Otherwise, other connected elements that move at the same
34218
+ // time might override the currently focused element's aria live.
34219
+ const [ariaLives, setAriaLives] = React__namespace.useState(["off", "off", "off"]);
34220
+
34206
34221
  // We use separate focusableHandle elements, instead of letting the movable
34207
34222
  // points themselves be focusable, to allow the tab order of the points to
34208
34223
  // be different from the rendering order. We had to solve for the following
@@ -34220,10 +34235,14 @@ const MovableLine = props => {
34220
34235
  } = useControlPoint({
34221
34236
  ariaLabel: ariaLabels?.point1AriaLabel,
34222
34237
  ariaDescribedBy: ariaDescribedBy,
34238
+ ariaLive: ariaLives[0],
34223
34239
  point: start,
34224
34240
  sequenceNumber: 1,
34225
34241
  color,
34226
- onMove: p => onMovePoint(0, p)
34242
+ onMove: p => {
34243
+ setAriaLives(["polite", "off", "off"]);
34244
+ onMovePoint(0, p);
34245
+ }
34227
34246
  });
34228
34247
  const {
34229
34248
  visiblePoint: visiblePoint2,
@@ -34231,17 +34250,27 @@ const MovableLine = props => {
34231
34250
  } = useControlPoint({
34232
34251
  ariaLabel: ariaLabels?.point2AriaLabel,
34233
34252
  ariaDescribedBy: ariaDescribedBy,
34253
+ ariaLive: ariaLives[1],
34234
34254
  point: end,
34235
34255
  sequenceNumber: 2,
34236
34256
  color,
34237
- onMove: p => onMovePoint(1, p)
34257
+ onMove: p => {
34258
+ setAriaLives(["off", "polite", "off"]);
34259
+ onMovePoint(1, p);
34260
+ }
34238
34261
  });
34239
34262
  const line = /*#__PURE__*/React__namespace.createElement(Line$1, {
34263
+ ariaLabel: ariaLabels?.grabHandleAriaLabel,
34264
+ ariaDescribedBy: ariaDescribedBy,
34265
+ ariaLive: ariaLives[2],
34240
34266
  start: start,
34241
34267
  end: end,
34242
34268
  stroke: color,
34243
34269
  extend: extend,
34244
- onMove: onMoveLine
34270
+ onMove: delta => {
34271
+ setAriaLives(["off", "off", "polite"]);
34272
+ onMoveLine(delta);
34273
+ }
34245
34274
  });
34246
34275
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, focusableHandle1, line, focusableHandle2, visiblePoint1, visiblePoint2);
34247
34276
  };
@@ -34250,9 +34279,12 @@ const Line$1 = props => {
34250
34279
  const {
34251
34280
  start,
34252
34281
  end,
34253
- onMove,
34282
+ ariaLabel,
34283
+ ariaDescribedBy,
34284
+ ariaLive,
34254
34285
  extend,
34255
- stroke = defaultStroke
34286
+ stroke = defaultStroke,
34287
+ onMove
34256
34288
  } = props;
34257
34289
  const [startPtPx, endPtPx] = useTransformVectorsToPixels(start, end);
34258
34290
  const {
@@ -34282,11 +34314,19 @@ const Line$1 = props => {
34282
34314
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("g", {
34283
34315
  ref: line,
34284
34316
  tabIndex: disableKeyboardInteraction ? -1 : 0,
34317
+ "aria-label": ariaLabel,
34318
+ "aria-describedby": ariaDescribedBy,
34319
+ "aria-live": ariaLive,
34285
34320
  className: "movable-line",
34286
34321
  "data-testid": "movable-line",
34287
34322
  style: {
34288
34323
  cursor: dragging ? "grabbing" : "grab"
34289
34324
  }
34325
+ // Indicate that this element is interactive.
34326
+ // As a bonus, giving this group a non-group role makes
34327
+ // the screen reader skip over its empty children.
34328
+ ,
34329
+ role: "button"
34290
34330
  }, /*#__PURE__*/React__namespace.createElement(SVGLine, {
34291
34331
  start: startPtPx,
34292
34332
  end: endPtPx,
@@ -34860,6 +34900,12 @@ const LinearGraph = (props, key) => {
34860
34900
  point2X: srFormatNumber(line[1][0], locale),
34861
34901
  point2Y: srFormatNumber(line[1][1], locale)
34862
34902
  });
34903
+ const grabHandleAriaLabel = strings.srLinearGrabHandle({
34904
+ point1X: srFormatNumber(line[0][0], locale),
34905
+ point1Y: srFormatNumber(line[0][1], locale),
34906
+ point2X: srFormatNumber(line[1][0], locale),
34907
+ point2Y: srFormatNumber(line[1][1], locale)
34908
+ });
34863
34909
 
34864
34910
  // Slope description
34865
34911
  const slope = (line[1][1] - line[0][1]) / (line[1][0] - line[0][0]);
@@ -34901,9 +34947,13 @@ const LinearGraph = (props, key) => {
34901
34947
  // Outer line minimal description
34902
34948
  ,
34903
34949
  "aria-label": strings.srLinearGraph,
34904
- "aria-describedby": `${pointsDescriptionId} ${interceptDescriptionId} ${slopeDescriptionId}`
34950
+ "aria-describedby": `${pointsDescriptionId} ${interceptDescriptionId} ${slopeDescriptionId}`,
34951
+ role: "figure"
34905
34952
  }, /*#__PURE__*/React__namespace.createElement(MovableLine, {
34906
34953
  key: 0,
34954
+ ariaLabels: {
34955
+ grabHandleAriaLabel: grabHandleAriaLabel
34956
+ },
34907
34957
  ariaDescribedBy: `${interceptDescriptionId} ${slopeDescriptionId}`,
34908
34958
  points: line,
34909
34959
  onMoveLine: delta => {
@@ -45888,7 +45938,7 @@ const init = function () {
45888
45938
 
45889
45939
  // This file is processed by a Rollup plugin (replace) to inject the production
45890
45940
  const libName = "@khanacademy/perseus";
45891
- const libVersion = "49.1.1";
45941
+ const libVersion = "49.1.3";
45892
45942
  perseusCore.addLibraryVersionToPerseusDebug(libName, libVersion);
45893
45943
 
45894
45944
  const apiVersion = {