@khanacademy/perseus 41.1.1 → 41.3.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.
Files changed (154) hide show
  1. package/dist/all-widgets.d.ts +1 -1
  2. package/dist/article-renderer.d.ts +2 -2
  3. package/dist/basic-widgets.d.ts +1 -1
  4. package/dist/es/index.js +1663 -397
  5. package/dist/es/index.js.map +1 -1
  6. package/dist/extra-widgets.d.ts +1 -1
  7. package/dist/index.d.ts +4 -4
  8. package/dist/index.js +1583 -316
  9. package/dist/index.js.map +1 -1
  10. package/dist/init.d.ts +1 -8
  11. package/dist/perseus-api.d.ts +3 -3
  12. package/dist/perseus-types.d.ts +7 -2
  13. package/dist/prompt-types.d.ts +33 -0
  14. package/dist/renderer.d.ts +8 -2
  15. package/dist/server-item-renderer.d.ts +6 -4
  16. package/dist/types.d.ts +4 -2
  17. package/dist/util/parse-perseus-json/error-tracking-parse-context.d.ts +9 -0
  18. package/dist/util/parse-perseus-json/general-purpose-parsers/any.d.ts +2 -0
  19. package/dist/util/parse-perseus-json/general-purpose-parsers/array.d.ts +2 -0
  20. package/dist/util/parse-perseus-json/general-purpose-parsers/array.typetest.d.ts +1 -0
  21. package/dist/util/parse-perseus-json/general-purpose-parsers/boolean.d.ts +2 -0
  22. package/dist/util/parse-perseus-json/general-purpose-parsers/compose-parsers.d.ts +2 -0
  23. package/dist/util/parse-perseus-json/general-purpose-parsers/constant.d.ts +4 -0
  24. package/dist/util/parse-perseus-json/general-purpose-parsers/defaulted.d.ts +2 -0
  25. package/dist/util/parse-perseus-json/general-purpose-parsers/enumeration.d.ts +2 -0
  26. package/dist/util/parse-perseus-json/general-purpose-parsers/enumeration.typetest.d.ts +1 -0
  27. package/dist/util/parse-perseus-json/general-purpose-parsers/index.d.ts +15 -0
  28. package/dist/util/parse-perseus-json/general-purpose-parsers/is-object.d.ts +1 -0
  29. package/dist/util/parse-perseus-json/general-purpose-parsers/nullable.d.ts +2 -0
  30. package/dist/util/parse-perseus-json/general-purpose-parsers/number.d.ts +2 -0
  31. package/dist/util/parse-perseus-json/general-purpose-parsers/object.d.ts +6 -0
  32. package/dist/util/parse-perseus-json/general-purpose-parsers/optional.d.ts +2 -0
  33. package/dist/util/parse-perseus-json/general-purpose-parsers/pair.d.ts +2 -0
  34. package/dist/util/parse-perseus-json/general-purpose-parsers/record.d.ts +2 -0
  35. package/dist/util/parse-perseus-json/general-purpose-parsers/string.d.ts +2 -0
  36. package/dist/util/parse-perseus-json/general-purpose-parsers/test-helpers.d.ts +8 -0
  37. package/dist/util/parse-perseus-json/general-purpose-parsers/trio.d.ts +2 -0
  38. package/dist/util/parse-perseus-json/general-purpose-parsers/union.d.ts +7 -0
  39. package/dist/util/parse-perseus-json/general-purpose-parsers/union.typetest.d.ts +1 -0
  40. package/dist/util/{parse-perseus-json.d.ts → parse-perseus-json/index.d.ts} +7 -1
  41. package/dist/util/parse-perseus-json/object-path.d.ts +2 -0
  42. package/dist/util/parse-perseus-json/parse-failure-detail.d.ts +2 -0
  43. package/dist/util/parse-perseus-json/parse.d.ts +3 -0
  44. package/dist/util/parse-perseus-json/parser-types.d.ts +30 -0
  45. package/dist/util/parse-perseus-json/perseus-parsers/categorizer-widget.d.ts +3 -0
  46. package/dist/util/parse-perseus-json/perseus-parsers/cs-program-widget.d.ts +3 -0
  47. package/dist/util/parse-perseus-json/perseus-parsers/definition-widget.d.ts +3 -0
  48. package/dist/util/parse-perseus-json/perseus-parsers/dropdown-widget.d.ts +3 -0
  49. package/dist/util/parse-perseus-json/perseus-parsers/explanation-widget.d.ts +3 -0
  50. package/dist/util/parse-perseus-json/perseus-parsers/expression-widget.d.ts +3 -0
  51. package/dist/util/parse-perseus-json/perseus-parsers/hint.d.ts +3 -0
  52. package/dist/util/parse-perseus-json/perseus-parsers/interactive-graph-widget.d.ts +3 -0
  53. package/dist/util/parse-perseus-json/perseus-parsers/perseus-image-background.d.ts +3 -0
  54. package/dist/util/parse-perseus-json/perseus-parsers/perseus-item.d.ts +3 -0
  55. package/dist/util/parse-perseus-json/perseus-parsers/perseus-renderer.d.ts +3 -0
  56. package/dist/util/parse-perseus-json/perseus-parsers/widget.d.ts +3 -0
  57. package/dist/util/parse-perseus-json/perseus-parsers/widgets-map.d.ts +3 -0
  58. package/dist/util/parse-perseus-json/result.d.ts +16 -0
  59. package/dist/validation.types.d.ts +0 -3
  60. package/dist/widget-ai-utils/categorizer/prompt-utils.d.ts +14 -0
  61. package/dist/widget-ai-utils/cs-program/prompt-utils.d.ts +2 -0
  62. package/dist/widget-ai-utils/definition/prompt-utils.d.ts +8 -0
  63. package/dist/widget-ai-utils/dropdown/prompt-utils.d.ts +13 -0
  64. package/dist/widget-ai-utils/explanation/prompt-utils.d.ts +8 -0
  65. package/dist/widget-ai-utils/expression/prompt-utils.d.ts +11 -0
  66. package/dist/widget-ai-utils/graded-group/prompt-utils.d.ts +7 -0
  67. package/dist/widget-ai-utils/graded-group-set/prompt-utils.d.ts +11 -0
  68. package/dist/widget-ai-utils/grapher/prompt-utils.d.ts +18 -0
  69. package/dist/widget-ai-utils/group/prompt-utils.d.ts +5 -0
  70. package/dist/widget-ai-utils/iframe/prompt-utils.d.ts +2 -0
  71. package/dist/widget-ai-utils/image/prompt-utils.d.ts +12 -0
  72. package/dist/widget-ai-utils/input-number/prompt-utils.d.ts +14 -0
  73. package/dist/widget-ai-utils/interaction/prompt-utils.d.ts +2 -0
  74. package/dist/widget-ai-utils/interactive-graph/prompt-utils.d.ts +94 -0
  75. package/dist/widget-ai-utils/label-image/prompt-utils.d.ts +24 -0
  76. package/dist/widget-ai-utils/matcher/prompt-utils.d.ts +17 -0
  77. package/dist/widget-ai-utils/matrix/prompt-utils.d.ts +14 -0
  78. package/dist/widget-ai-utils/measurer/prompt-utils.d.ts +2 -0
  79. package/dist/widget-ai-utils/number-line/prompt-utils.d.ts +16 -0
  80. package/dist/widget-ai-utils/numeric-input/prompt-utils.d.ts +11 -0
  81. package/dist/widget-ai-utils/orderer/prompt-utils.d.ts +13 -0
  82. package/dist/widget-ai-utils/passage/prompt-utils.d.ts +11 -0
  83. package/dist/widget-ai-utils/passage-ref/prompt-utils.d.ts +11 -0
  84. package/dist/widget-ai-utils/phet-simulation/prompt-utils.d.ts +2 -0
  85. package/dist/widget-ai-utils/plotter/prompt-utils.d.ts +2 -0
  86. package/dist/widget-ai-utils/python-program/prompt-utils.d.ts +2 -0
  87. package/dist/widget-ai-utils/radio/prompt-utils.d.ts +15 -0
  88. package/dist/widget-ai-utils/sorter/prompt-utils.d.ts +9 -0
  89. package/dist/widget-ai-utils/unsupported-widget.d.ts +11 -0
  90. package/dist/widget-ai-utils/video/prompt-utils.d.ts +2 -0
  91. package/dist/widgets/__shared__/{noop-validator.d.ts → score-noop.d.ts} +4 -4
  92. package/dist/widgets/categorizer/categorizer.d.ts +10 -19
  93. package/dist/widgets/categorizer/{categorizer-validator.d.ts → score-categorizer.d.ts} +2 -2
  94. package/dist/widgets/cs-program/cs-program.d.ts +8 -19
  95. package/dist/widgets/cs-program/{cs-program-validator.d.ts → score-cs-program.d.ts} +2 -1
  96. package/dist/widgets/definition/definition.d.ts +8 -19
  97. package/dist/widgets/deprecated-standin/deprecated-standin.d.ts +4 -19
  98. package/dist/widgets/dropdown/dropdown.d.ts +10 -19
  99. package/dist/widgets/dropdown/score-dropdown.d.ts +4 -0
  100. package/dist/widgets/explanation/explanation.d.ts +9 -19
  101. package/dist/widgets/expression/expression.d.ts +26 -290
  102. package/dist/widgets/expression/{expression-validator.d.ts → score-expression.d.ts} +2 -2
  103. package/dist/widgets/graded-group/graded-group.d.ts +13 -21
  104. package/dist/widgets/graded-group-set/graded-group-set.d.ts +9 -20
  105. package/dist/widgets/grapher/grapher.d.ts +9 -19
  106. package/dist/widgets/grapher/score-grapher.d.ts +4 -0
  107. package/dist/widgets/group/group.d.ts +7 -19
  108. package/dist/widgets/iframe/iframe.d.ts +7 -19
  109. package/dist/widgets/iframe/{iframe-validator.d.ts → score-iframe.d.ts} +1 -1
  110. package/dist/widgets/image/image.d.ts +9 -19
  111. package/dist/widgets/input-number/input-number.d.ts +11 -19
  112. package/dist/widgets/input-number/{input-number-validator.d.ts → score-input-number.d.ts} +2 -2
  113. package/dist/widgets/interaction/interaction.d.ts +7 -19
  114. package/dist/widgets/interactive-graph.d.ts +8 -19
  115. package/dist/widgets/interactive-graphs/score-interactive-graph.d.ts +4 -0
  116. package/dist/widgets/interactive-graphs/utils.d.ts +6 -0
  117. package/dist/widgets/label-image/label-image.d.ts +10 -86
  118. package/dist/widgets/label-image/{label-image-validator.d.ts → score-label-image.d.ts} +2 -2
  119. package/dist/widgets/matcher/matcher.d.ts +7 -19
  120. package/dist/widgets/matcher/score-matcher.d.ts +4 -0
  121. package/dist/widgets/matrix/matrix.d.ts +10 -19
  122. package/dist/widgets/matrix/{matrix-validator.d.ts → score-matrix.d.ts} +2 -2
  123. package/dist/widgets/measurer/measurer.d.ts +13 -19
  124. package/dist/widgets/molecule/molecule.d.ts +4 -19
  125. package/dist/widgets/number-line/number-line.d.ts +8 -19
  126. package/dist/widgets/number-line/score-number-line.d.ts +4 -0
  127. package/dist/widgets/numeric-input/numeric-input.d.ts +22 -19
  128. package/dist/widgets/numeric-input/{numeric-input-validator.d.ts → score-numeric-input.d.ts} +2 -2
  129. package/dist/widgets/orderer/orderer.d.ts +8 -19
  130. package/dist/widgets/orderer/{orderer-validator.d.ts → score-orderer.d.ts} +1 -1
  131. package/dist/widgets/passage/passage.d.ts +8 -19
  132. package/dist/widgets/passage-ref/passage-ref.d.ts +12 -19
  133. package/dist/widgets/passage-ref-target/passage-ref-target.d.ts +11 -19
  134. package/dist/widgets/phet-simulation/phet-simulation.d.ts +5 -19
  135. package/dist/widgets/plotter/plotter.d.ts +8 -19
  136. package/dist/widgets/plotter/score-plotter.d.ts +4 -0
  137. package/dist/widgets/python-program/python-program.d.ts +4 -19
  138. package/dist/widgets/radio/radio-component.d.ts +3 -1
  139. package/dist/widgets/radio/radio.d.ts +18 -19
  140. package/dist/widgets/radio/{radio-validator.d.ts → score-radio.d.ts} +2 -2
  141. package/dist/widgets/sorter/score-sorter.d.ts +4 -0
  142. package/dist/widgets/sorter/sorter.d.ts +7 -19
  143. package/dist/widgets/table/{table-validator.d.ts → score-table.d.ts} +2 -2
  144. package/dist/widgets/table/table.d.ts +8 -19
  145. package/dist/widgets/video/video.d.ts +7 -19
  146. package/dist/widgets.d.ts +2 -2
  147. package/package.json +4 -4
  148. package/dist/widgets/dropdown/dropdown-validator.d.ts +0 -4
  149. package/dist/widgets/grapher/grapher-validator.d.ts +0 -4
  150. package/dist/widgets/interactive-graphs/interactive-graph-validator.d.ts +0 -4
  151. package/dist/widgets/matcher/matcher-validator.d.ts +0 -4
  152. package/dist/widgets/number-line/number-line-validator.d.ts +0 -4
  153. package/dist/widgets/plotter/plotter-validator.d.ts +0 -4
  154. package/dist/widgets/sorter/sorter-validator.d.ts +0 -4
@@ -5,6 +5,7 @@ import * as React from "react";
5
5
  import { PerseusI18nContext } from "../../components/i18n-context";
6
6
  import type { PerseusVideoWidgetOptions } from "../../perseus-types";
7
7
  import type { Widget, WidgetProps } from "../../types";
8
+ import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
8
9
  type RenderProps = PerseusVideoWidgetOptions;
9
10
  type Props = WidgetProps<RenderProps> & {
10
11
  alignment: string;
@@ -20,28 +21,15 @@ declare class Video extends React.Component<Props> implements Widget {
20
21
  context: React.ContextType<typeof PerseusI18nContext>;
21
22
  isWidget: true;
22
23
  change: (...args: ReadonlyArray<unknown>) => any;
24
+ getPromptJSON(): UnsupportedWidgetPromptJSON;
23
25
  render(): React.ReactNode;
24
26
  }
25
- declare const _default: Readonly<{
27
+ declare const _default: {
26
28
  name: string;
27
29
  displayName: string;
28
- getWidget?: (() => typeof Video) | undefined;
30
+ defaultAlignment: "block";
31
+ supportedAlignments: ("block" | "full-width" | "float-left" | "float-right")[];
29
32
  widget: typeof Video;
30
- accessible?: boolean | ((props: any) => boolean) | undefined;
31
- hidden?: boolean | undefined;
32
- version?: import("../../types").Version | undefined;
33
- supportedAlignments?: readonly import("../../types").Alignment[] | undefined;
34
- defaultAlignment?: import("../../types").Alignment | undefined;
35
- getDefaultAlignment?: (() => import("../../types").Alignment) | undefined;
36
- isLintable?: boolean | undefined;
37
- tracking?: import("../../types").Tracking | undefined;
38
- traverseChildWidgets?: any;
39
- transform?: import("../../types").WidgetTransform | undefined;
40
- staticTransform?: import("../../types").WidgetTransform | undefined;
41
- validator?: import("../../types").WidgetValidatorFunction | undefined;
42
- getOneCorrectAnswerFromRubric?: ((rubric: import("../../validation.types").Rubric) => string | null | undefined) | undefined;
43
- propUpgrades?: {
44
- [key: string]: (arg1: any) => any;
45
- } | undefined;
46
- }>;
33
+ scorer: () => import("../../types").PerseusScore;
34
+ };
47
35
  export default _default;
package/dist/widgets.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { PerseusWidget } from "./perseus-types";
2
2
  import type { PerseusStrings } from "./strings";
3
- import type { Alignment, Tracking, Version, WidgetExports, WidgetTransform, WidgetValidatorFunction } from "./types";
3
+ import type { Alignment, Tracking, Version, WidgetExports, WidgetTransform, WidgetScorerFunction } from "./types";
4
4
  import type * as React from "react";
5
5
  type Editor = any;
6
6
  export declare const registerWidget: (name: string, widget: WidgetExports) => void;
@@ -28,7 +28,7 @@ export declare const replaceEditor: (name: string, replacementName: string) => v
28
28
  export declare const replaceDeprecatedEditors: () => void;
29
29
  export declare const getWidget: (name: string) => React.ComponentType<any> | null | undefined;
30
30
  export declare const getWidgetExport: (name: string) => WidgetExports | null;
31
- export declare const getWidgetValidator: (name: string) => WidgetValidatorFunction | null;
31
+ export declare const getWidgetScorer: (name: string) => WidgetScorerFunction | null;
32
32
  export declare const getEditor: (name: string) => Editor | null | undefined;
33
33
  export declare const getTransform: (name: string) => WidgetTransform | null | undefined;
34
34
  export declare const getVersion: (name: string) => Version | undefined;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Core Perseus API (includes renderers and widgets)",
4
4
  "author": "Khan Academy",
5
5
  "license": "MIT",
6
- "version": "41.1.1",
6
+ "version": "41.3.0",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -69,7 +69,7 @@
69
69
  "@khanacademy/wonder-blocks-popover": "3.2.13",
70
70
  "@khanacademy/wonder-blocks-progress-spinner": "2.1.5",
71
71
  "@khanacademy/wonder-blocks-switch": "1.1.20",
72
- "@khanacademy/wonder-blocks-tokens": "2.0.0",
72
+ "@khanacademy/wonder-blocks-tokens": "2.0.1",
73
73
  "@khanacademy/wonder-blocks-tooltip": "2.4.0",
74
74
  "@khanacademy/wonder-blocks-typography": "2.1.14",
75
75
  "@khanacademy/wonder-stuff-core": "1.5.2",
@@ -105,7 +105,7 @@
105
105
  "@khanacademy/wonder-blocks-popover": "3.2.13",
106
106
  "@khanacademy/wonder-blocks-progress-spinner": "2.1.5",
107
107
  "@khanacademy/wonder-blocks-switch": "1.1.20",
108
- "@khanacademy/wonder-blocks-tokens": "2.0.0",
108
+ "@khanacademy/wonder-blocks-tokens": "2.0.1",
109
109
  "@khanacademy/wonder-blocks-tooltip": "2.4.0",
110
110
  "@khanacademy/wonder-blocks-typography": "2.1.14",
111
111
  "@khanacademy/wonder-stuff-core": "1.5.2",
@@ -124,4 +124,4 @@
124
124
  "underscore": "^1.4.4"
125
125
  },
126
126
  "keywords": []
127
- }
127
+ }
@@ -1,4 +0,0 @@
1
- import type { PerseusScore } from "../../types";
2
- import type { PerseusDropdownRubric, PerseusDropdownUserInput } from "../../validation.types";
3
- declare function dropdownValidator(userInput: PerseusDropdownUserInput, rubric: PerseusDropdownRubric): PerseusScore;
4
- export default dropdownValidator;
@@ -1,4 +0,0 @@
1
- import type { PerseusScore } from "../../types";
2
- import type { PerseusGrapherRubric, PerseusGrapherUserInput } from "../../validation.types";
3
- declare function grapherValidator(userInput: PerseusGrapherUserInput, rubric: PerseusGrapherRubric): PerseusScore;
4
- export default grapherValidator;
@@ -1,4 +0,0 @@
1
- import type { PerseusScore } from "../../types";
2
- import type { PerseusInteractiveGraphRubric, PerseusInteractiveGraphUserInput } from "../../validation.types";
3
- declare function interactiveGraphValidator(userInput: PerseusInteractiveGraphUserInput, rubric: PerseusInteractiveGraphRubric): PerseusScore;
4
- export default interactiveGraphValidator;
@@ -1,4 +0,0 @@
1
- import type { PerseusScore } from "../../types";
2
- import type { PerseusMatcherRubric, PerseusMatcherUserInput } from "../../validation.types";
3
- declare function matcherValidator(state: PerseusMatcherUserInput, rubric: PerseusMatcherRubric): PerseusScore;
4
- export default matcherValidator;
@@ -1,4 +0,0 @@
1
- import type { PerseusScore } from "../../types";
2
- import type { PerseusNumberLineRubric, PerseusNumberLineUserInput } from "../../validation.types";
3
- declare function numberLineValidator(state: PerseusNumberLineUserInput, rubric: PerseusNumberLineRubric): PerseusScore;
4
- export default numberLineValidator;
@@ -1,4 +0,0 @@
1
- import type { PerseusScore } from "../../types";
2
- import type { PerseusPlotterRubric, PerseusPlotterUserInput } from "../../validation.types";
3
- declare function plotterValidator(userInput: PerseusPlotterUserInput, rubric: PerseusPlotterRubric): PerseusScore;
4
- export default plotterValidator;
@@ -1,4 +0,0 @@
1
- import type { PerseusScore } from "../../types";
2
- import type { PerseusSorterRubric, PerseusSorterUserInput } from "../../validation.types";
3
- declare function sorterValidator(userInput: PerseusSorterUserInput, rubric: PerseusSorterRubric): PerseusScore;
4
- export default sorterValidator;