@khanacademy/perseus 52.0.0 → 53.0.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 (65) hide show
  1. package/dist/components/number-input.d.ts +2 -0
  2. package/dist/components/range-input.d.ts +1 -0
  3. package/dist/components/svg-image.d.ts +2 -2
  4. package/dist/es/index.css +0 -30
  5. package/dist/es/index.js +516 -1195
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/es/strings.js +21 -13
  8. package/dist/es/strings.js.map +1 -1
  9. package/dist/index.css +0 -30
  10. package/dist/index.d.ts +1 -2
  11. package/dist/index.js +514 -1198
  12. package/dist/index.js.map +1 -1
  13. package/dist/perseus-api.d.ts +0 -1
  14. package/dist/renderer.d.ts +1 -1
  15. package/dist/strings.d.ts +1 -1
  16. package/dist/strings.js +21 -13
  17. package/dist/strings.js.map +1 -1
  18. package/dist/styles/constants.d.ts +0 -2
  19. package/dist/types.d.ts +3 -20
  20. package/dist/util/math-utils.d.ts +1 -0
  21. package/dist/util/scoring.d.ts +0 -15
  22. package/dist/util/test-utils.d.ts +1 -1
  23. package/dist/widget-ai-utils/mock-widget/prompt-utils.d.ts +1 -1
  24. package/dist/widget-container.d.ts +1 -1
  25. package/dist/widgets/categorizer/categorizer.d.ts +0 -3
  26. package/dist/widgets/cs-program/cs-program.d.ts +2 -3
  27. package/dist/widgets/definition/definition.d.ts +0 -2
  28. package/dist/widgets/deprecated-standin/deprecated-standin.d.ts +0 -1
  29. package/dist/widgets/dropdown/dropdown.d.ts +2 -4
  30. package/dist/widgets/explanation/explanation.d.ts +0 -2
  31. package/dist/widgets/expression/expression.d.ts +1 -5
  32. package/dist/widgets/grapher/grapher.d.ts +0 -2
  33. package/dist/widgets/group/group.d.ts +0 -4
  34. package/dist/widgets/iframe/iframe.d.ts +0 -2
  35. package/dist/widgets/image/image.d.ts +0 -3
  36. package/dist/widgets/input-number/input-number.d.ts +0 -3
  37. package/dist/widgets/interaction/interaction.d.ts +0 -1
  38. package/dist/widgets/interactive-graph.d.ts +0 -2
  39. package/dist/widgets/interactive-graphs/backgrounds/axis-ticks.d.ts +1 -0
  40. package/dist/widgets/label-image/label-image.d.ts +2 -2
  41. package/dist/widgets/matcher/matcher.d.ts +0 -2
  42. package/dist/widgets/matrix/matrix.d.ts +0 -3
  43. package/dist/widgets/measurer/measurer.d.ts +0 -1
  44. package/dist/widgets/mock-widgets/mock-widget-types.d.ts +0 -6
  45. package/dist/widgets/mock-widgets/mock-widget.d.ts +2 -5
  46. package/dist/widgets/molecule/molecule.d.ts +0 -1
  47. package/dist/widgets/number-line/number-line.d.ts +2 -3
  48. package/dist/widgets/numeric-input/numeric-input.d.ts +2 -3
  49. package/dist/widgets/orderer/orderer.d.ts +0 -3
  50. package/dist/widgets/passage/passage.d.ts +0 -1
  51. package/dist/widgets/passage-ref/passage-ref.d.ts +0 -2
  52. package/dist/widgets/passage-ref-target/passage-ref-target.d.ts +0 -2
  53. package/dist/widgets/plotter/plotter.d.ts +0 -3
  54. package/dist/widgets/radio/radio.d.ts +0 -3
  55. package/dist/widgets/sorter/sorter.d.ts +2 -4
  56. package/dist/widgets/table/table.d.ts +0 -3
  57. package/dist/widgets/video/video.d.ts +0 -3
  58. package/dist/widgets.d.ts +1 -32
  59. package/package.json +10 -10
  60. package/dist/renderer-util.d.ts +0 -14
  61. package/dist/widgets/__shared__/score-noop.d.ts +0 -11
  62. package/dist/widgets/group/score-group.d.ts +0 -4
  63. package/dist/widgets/group/validate-group.d.ts +0 -4
  64. package/dist/widgets/mock-widgets/score-mock-widget.d.ts +0 -5
  65. package/dist/widgets/mock-widgets/validate-mock-widget.d.ts +0 -4
@@ -1,4 +1,4 @@
1
- import { scoreDropdown, validateDropdown } from "@khanacademy/perseus-score";
1
+ import { getDropdownPublicWidgetOptions } from "@khanacademy/perseus-core";
2
2
  import * as React from "react";
3
3
  import { PerseusI18nContext } from "../../components/i18n-context";
4
4
  import type { Widget, WidgetProps } from "../../types";
@@ -34,11 +34,9 @@ type RenderProps = {
34
34
  declare const _default: {
35
35
  name: string;
36
36
  displayName: string;
37
- defaultAlignment: "inline-block";
38
37
  accessible: true;
39
38
  widget: typeof Dropdown;
40
39
  transform: (arg1: PerseusDropdownWidgetOptions) => RenderProps;
41
- scorer: typeof scoreDropdown;
42
- validator: typeof validateDropdown;
40
+ getPublicWidgetOptions: typeof getDropdownPublicWidgetOptions;
43
41
  };
44
42
  export default _default;
@@ -33,10 +33,8 @@ declare const _default: {
33
33
  name: string;
34
34
  displayName: string;
35
35
  accessible: true;
36
- defaultAlignment: "inline";
37
36
  widget: typeof Explanation;
38
37
  transform: <T>(value: T) => T;
39
38
  isLintable: true;
40
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
41
39
  };
42
40
  export default _default;
@@ -1,5 +1,4 @@
1
1
  import { type PerseusExpressionWidgetOptions, getExpressionPublicWidgetOptions } from "@khanacademy/perseus-core";
2
- import { scoreExpression, validateExpression } from "@khanacademy/perseus-score";
3
2
  import * as React from "react";
4
3
  import { PerseusI18nContext } from "../../components/i18n-context";
5
4
  import type { DependenciesContext } from "../../dependencies";
@@ -89,7 +88,6 @@ declare const _default: {
89
88
  name: string;
90
89
  displayName: string;
91
90
  accessible: true;
92
- defaultAlignment: "inline-block";
93
91
  widget: React.ForwardRefExoticComponent<Omit<Pick<RenderProps & {
94
92
  widgetId: string;
95
93
  alignment: string | null | undefined;
@@ -169,7 +167,7 @@ declare const _default: {
169
167
  visibleLabel: PerseusExpressionWidgetOptions["visibleLabel"];
170
168
  ariaLabel: PerseusExpressionWidgetOptions["ariaLabel"];
171
169
  value: string;
172
- }, "static" | "containerSizeClass" | "widgetId" | "onChange" | "problemNum" | "questionCompleted" | "findWidgets" | "trackInteraction" | "keypadElement" | "ariaLabel" | "alignment" | "reviewMode" | keyof import("../..").PerseusDependenciesV2 | "reviewModeRubric" | "isLastUsedWidget" | "visibleLabel" | "buttonsVisible" | "keypadConfiguration"> & {
170
+ }, "static" | "containerSizeClass" | "widgetId" | "onChange" | "problemNum" | "questionCompleted" | "findWidgets" | "trackInteraction" | "keypadElement" | "ariaLabel" | "reviewMode" | keyof import("../..").PerseusDependenciesV2 | "alignment" | "reviewModeRubric" | "isLastUsedWidget" | "visibleLabel" | "buttonsVisible" | "keypadConfiguration"> & {
173
171
  value?: string | undefined;
174
172
  apiOptions?: Readonly<Readonly<{
175
173
  isArticle?: boolean;
@@ -233,8 +231,6 @@ declare const _default: {
233
231
  version: import("@khanacademy/perseus-core").Version | undefined;
234
232
  propUpgrades: import("@khanacademy/perseus-core").WidgetOptionsUpgradeMap | undefined;
235
233
  isLintable: true;
236
- scorer: typeof scoreExpression;
237
- validator: typeof validateExpression;
238
234
  getPublicWidgetOptions: typeof getExpressionPublicWidgetOptions;
239
235
  getOneCorrectAnswerFromRubric(rubric: PerseusExpressionRubric): string | null | undefined;
240
236
  };
@@ -1,4 +1,3 @@
1
- import { scoreGrapher } from "@khanacademy/perseus-score";
2
1
  import * as React from "react";
3
2
  import Graphie from "../../components/graphie";
4
3
  import type { Coord } from "../../interactive2/types";
@@ -47,6 +46,5 @@ declare const _default: {
47
46
  widget: typeof Grapher;
48
47
  transform: (arg1: PerseusGrapherWidgetOptions) => RenderProps;
49
48
  staticTransform: (arg1: PerseusGrapherWidgetOptions) => RenderProps;
50
- scorer: typeof scoreGrapher;
51
49
  };
52
50
  export default _default;
@@ -1,8 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { PerseusI18nContext } from "../../components/i18n-context";
3
3
  import Renderer from "../../renderer";
4
- import scoreGroup from "./score-group";
5
- import validateGroup from "./validate-group";
6
4
  import type { ChangeFn, FocusPath, Widget, WidgetProps } from "../../types";
7
5
  import type { GroupPromptJSON } from "../../widget-ai-utils/group/group-ai-utils";
8
6
  import type { PerseusGroupWidgetOptions } from "@khanacademy/perseus-core";
@@ -43,8 +41,6 @@ declare const _default: {
43
41
  displayName: string;
44
42
  widget: typeof Group;
45
43
  traverseChildWidgets: (props: any, traverseRenderer: any) => any;
46
- scorer: typeof scoreGroup;
47
- validator: typeof validateGroup;
48
44
  hidden: true;
49
45
  isLintable: true;
50
46
  };
@@ -6,7 +6,6 @@
6
6
  * It's particularly well suited for embedding our ProcessingJS programs,
7
7
  * but could also be used for embedding viz's hosted elsewhere.
8
8
  */
9
- import { scoreIframe } from "@khanacademy/perseus-score";
10
9
  import * as React from "react";
11
10
  import type { WidgetProps, Widget } from "../../types";
12
11
  import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
@@ -40,6 +39,5 @@ declare const _default: {
40
39
  displayName: string;
41
40
  widget: typeof Iframe;
42
41
  hidden: true;
43
- scorer: typeof scoreIframe;
44
42
  };
45
43
  export default _default;
@@ -39,11 +39,8 @@ declare class ImageWidget extends React.Component<Props> implements Widget {
39
39
  declare const _default: {
40
40
  name: string;
41
41
  accessible: (widgetOptions: PerseusImageWidgetOptions) => boolean;
42
- defaultAlignment: "block";
43
- supportedAlignments: readonly ["block", "full-width"];
44
42
  displayName: string;
45
43
  widget: typeof ImageWidget;
46
44
  isLintable: true;
47
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
48
45
  };
49
46
  export default _default;
@@ -1,4 +1,3 @@
1
- import { scoreInputNumber } from "@khanacademy/perseus-score";
2
1
  import * as React from "react";
3
2
  import { PerseusI18nContext } from "../../components/i18n-context";
4
3
  import type { Path, Widget, WidgetProps } from "../../types";
@@ -52,12 +51,10 @@ declare class InputNumber extends React.Component<Props> implements Widget {
52
51
  declare const _default: {
53
52
  name: string;
54
53
  displayName: string;
55
- defaultAlignment: "inline-block";
56
54
  hidden: true;
57
55
  widget: typeof InputNumber;
58
56
  transform: (widgetOptions: PerseusInputNumberWidgetOptions) => RenderProps;
59
57
  isLintable: true;
60
- scorer: typeof scoreInputNumber;
61
58
  getOneCorrectAnswerFromRubric(rubric: any): string | null | undefined;
62
59
  };
63
60
  export default _default;
@@ -33,6 +33,5 @@ declare const _default: {
33
33
  widget: typeof Interaction;
34
34
  transform: <T>(value: T) => T;
35
35
  hidden: true;
36
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
37
36
  };
38
37
  export default _default;
@@ -1,4 +1,3 @@
1
- import { scoreInteractiveGraph } from "@khanacademy/perseus-score";
2
1
  import * as React from "react";
3
2
  import { PerseusI18nContext } from "../components/i18n-context";
4
3
  import type { StatefulMafsGraphType } from "./interactive-graphs/stateful-mafs-graph";
@@ -261,6 +260,5 @@ declare const _default: {
261
260
  displayName: string;
262
261
  widget: typeof InteractiveGraph;
263
262
  staticTransform: <T>(value: T) => T;
264
- scorer: typeof scoreInteractiveGraph;
265
263
  };
266
264
  export default _default;
@@ -3,4 +3,5 @@ import type { Interval } from "mafs";
3
3
  export declare const shouldShowLabel: (currentTick: number, range: [Interval, Interval], tickStep: number) => boolean;
4
4
  export declare function generateTickLocations(tickStep: number, min: number, max: number): number[];
5
5
  export declare const countSignificantDecimals: (number: number) => number;
6
+ export declare function divideByAndShowPi(value: number): string;
6
7
  export declare const AxisTicks: () => React.JSX.Element;
@@ -5,7 +5,7 @@
5
5
  * that involve the use of images, and enable learners to demonstrate their
6
6
  * knowledge by directly interacting with the image.
7
7
  */
8
- import { scoreLabelImage } from "@khanacademy/perseus-score";
8
+ import { getLabelImagePublicWidgetOptions } from "@khanacademy/perseus-core";
9
9
  import * as React from "react";
10
10
  import { PerseusI18nContext } from "../../components/i18n-context";
11
11
  import Marker from "./marker";
@@ -92,6 +92,6 @@ declare const _default: {
92
92
  }, keyof import("../..").PerseusDependenciesV2> & React.RefAttributes<LabelImage>>;
93
93
  accessible: true;
94
94
  isLintable: true;
95
- scorer: typeof scoreLabelImage;
95
+ getPublicWidgetOptions: typeof getLabelImagePublicWidgetOptions;
96
96
  };
97
97
  export default _default;
@@ -1,4 +1,3 @@
1
- import { scoreMatcher } from "@khanacademy/perseus-score";
2
1
  import * as React from "react";
3
2
  import { PerseusI18nContext } from "../../components/i18n-context";
4
3
  import type { SortableOption } from "../../components/sortable";
@@ -42,6 +41,5 @@ declare const _default: {
42
41
  displayName: string;
43
42
  widget: typeof Matcher;
44
43
  isLintable: true;
45
- scorer: typeof scoreMatcher;
46
44
  };
47
45
  export default _default;
@@ -1,5 +1,4 @@
1
1
  import { type PerseusMatrixWidgetAnswers } from "@khanacademy/perseus-core";
2
- import { scoreMatrix, validateMatrix } from "@khanacademy/perseus-score";
3
2
  import * as React from "react";
4
3
  import { PerseusI18nContext } from "../../components/i18n-context";
5
4
  import type { FocusPath, Widget, WidgetProps } from "../../types";
@@ -61,7 +60,5 @@ declare const _default: {
61
60
  transform: (arg1: any) => any;
62
61
  staticTransform: (arg1: any) => any;
63
62
  isLintable: true;
64
- scorer: typeof scoreMatrix;
65
- validator: typeof validateMatrix;
66
63
  };
67
64
  export default _default;
@@ -37,6 +37,5 @@ declare const _default: {
37
37
  widget: typeof Measurer;
38
38
  version: import("@khanacademy/perseus-core").Version | undefined;
39
39
  propUpgrades: import("@khanacademy/perseus-core").WidgetOptionsUpgradeMap | undefined;
40
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
41
40
  };
42
41
  export default _default;
@@ -4,12 +4,6 @@ export type MockWidgetOptions = {
4
4
  static?: boolean;
5
5
  value: string;
6
6
  };
7
- export type PerseusMockWidgetRubric = {
8
- value: string;
9
- };
10
- export type PerseusMockWidgetUserInput = {
11
- currentValue: string;
12
- };
13
7
  declare module "@khanacademy/perseus-core" {
14
8
  interface PerseusWidgetTypes {
15
9
  "mock-widget": MockWidget;
@@ -1,9 +1,8 @@
1
1
  import * as React from "react";
2
- import scoreMockWidget from "./score-mock-widget";
3
- import validateMockWidget from "./validate-mock-widget";
4
- import type { MockWidgetOptions, PerseusMockWidgetRubric, PerseusMockWidgetUserInput } from "./mock-widget-types";
2
+ import type { MockWidgetOptions } from "./mock-widget-types";
5
3
  import type { WidgetProps, Widget, FocusPath } from "../../types";
6
4
  import type { MockWidgetPromptJSON } from "../../widget-ai-utils/mock-widget/prompt-utils";
5
+ import type { PerseusMockWidgetRubric, PerseusMockWidgetUserInput } from "@khanacademy/perseus-score";
7
6
  type ExternalProps = WidgetProps<MockWidgetOptions, PerseusMockWidgetRubric>;
8
7
  type DefaultProps = {
9
8
  currentValue: Props["currentValue"];
@@ -42,7 +41,5 @@ declare const _default: {
42
41
  displayName: string;
43
42
  widget: typeof MockWidgetComponent;
44
43
  isLintable: true;
45
- scorer: typeof scoreMockWidget;
46
- validator: typeof validateMockWidget;
47
44
  };
48
45
  export default _default;
@@ -19,6 +19,5 @@ declare const _default: {
19
19
  displayName: string;
20
20
  hidden: true;
21
21
  widget: typeof MoleculeWidget;
22
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
23
22
  };
24
23
  export default _default;
@@ -1,4 +1,4 @@
1
- import { scoreNumberLine, validateNumberLine } from "@khanacademy/perseus-score";
1
+ import { getNumberLinePublicWidgetOptions } from "@khanacademy/perseus-core";
2
2
  import * as React from "react";
3
3
  import { PerseusI18nContext } from "../../components/i18n-context";
4
4
  import type { ChangeableProps } from "../../mixins/changeable";
@@ -79,7 +79,6 @@ declare const _default: {
79
79
  widget: typeof NumberLine;
80
80
  transform: (arg1: any) => any;
81
81
  staticTransform: (arg1: any) => any;
82
- scorer: typeof scoreNumberLine;
83
- validator: typeof validateNumberLine;
82
+ getPublicWidgetOptions: typeof getNumberLinePublicWidgetOptions;
84
83
  };
85
84
  export default _default;
@@ -1,4 +1,4 @@
1
- import { scoreNumericInput } from "@khanacademy/perseus-score";
1
+ import { getNumericInputPublicWidgetOptions } from "@khanacademy/perseus-core";
2
2
  import * as React from "react";
3
3
  import { PerseusI18nContext } from "../../components/i18n-context";
4
4
  import InputWithExamples from "../../components/input-with-examples";
@@ -72,12 +72,11 @@ type RenderProps = {
72
72
  declare const _default: {
73
73
  name: string;
74
74
  displayName: string;
75
- defaultAlignment: "inline-block";
76
75
  accessible: true;
77
76
  widget: typeof NumericInput;
78
77
  transform: (widgetOptions: PerseusNumericInputWidgetOptions) => RenderProps;
79
78
  isLintable: true;
80
- scorer: typeof scoreNumericInput;
79
+ getPublicWidgetOptions: typeof getNumericInputPublicWidgetOptions;
81
80
  getOneCorrectAnswerFromRubric(rubric: PerseusNumericInputRubric): string | null | undefined;
82
81
  };
83
82
  export default _default;
@@ -1,5 +1,4 @@
1
1
  import { getOrdererPublicWidgetOptions } from "@khanacademy/perseus-core";
2
- import { scoreOrderer, validateOrderer } from "@khanacademy/perseus-score";
3
2
  import * as React from "react";
4
3
  import type { Widget, WidgetProps } from "../../types";
5
4
  import type { OrdererPromptJSON } from "../../widget-ai-utils/orderer/orderer-ai-utils";
@@ -56,8 +55,6 @@ declare const _default: {
56
55
  hidden: true;
57
56
  widget: typeof Orderer;
58
57
  isLintable: true;
59
- scorer: typeof scoreOrderer;
60
- validator: typeof validateOrderer;
61
58
  getPublicWidgetOptions: typeof getOrdererPublicWidgetOptions;
62
59
  };
63
60
  export default _default;
@@ -105,6 +105,5 @@ declare const _default: {
105
105
  widget: typeof Passage;
106
106
  transform: (editorProps: any) => RenderProps;
107
107
  isLintable: true;
108
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
109
108
  };
110
109
  export default _default;
@@ -41,7 +41,6 @@ declare const _default: {
41
41
  name: string;
42
42
  displayName: string;
43
43
  hidden: true;
44
- defaultAlignment: "inline";
45
44
  widget: typeof PassageRef;
46
45
  transform: (widgetOptions: PerseusPassageRefWidgetOptions) => {
47
46
  passageNumber: number;
@@ -49,6 +48,5 @@ declare const _default: {
49
48
  summaryText: string | undefined;
50
49
  };
51
50
  version: import("@khanacademy/perseus-core").Version | undefined;
52
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
53
51
  };
54
52
  export default _default;
@@ -24,11 +24,9 @@ declare class PassageRefTarget extends React.Component<Props> implements Widget
24
24
  declare const _default: {
25
25
  name: string;
26
26
  displayName: string;
27
- defaultAlignment: "inline";
28
27
  widget: typeof PassageRefTarget;
29
28
  hidden: true;
30
29
  transform: (editorProps: any) => any;
31
30
  isLintable: true;
32
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
33
31
  };
34
32
  export default _default;
@@ -1,4 +1,3 @@
1
- import { scorePlotter, validatePlotter } from "@khanacademy/perseus-score";
2
1
  import * as React from "react";
3
2
  import { PerseusI18nContext } from "../../components/i18n-context";
4
3
  import type { Widget, WidgetProps } from "../../types";
@@ -76,7 +75,5 @@ declare const _default: {
76
75
  hidden: true;
77
76
  widget: typeof Plotter;
78
77
  staticTransform: <T>(value: T) => T;
79
- scorer: typeof scorePlotter;
80
- validator: typeof validatePlotter;
81
78
  };
82
79
  export default _default;
@@ -1,5 +1,4 @@
1
1
  import { type PerseusRadioWidgetOptions } from "@khanacademy/perseus-core";
2
- import { scoreRadio, validateRadio } from "@khanacademy/perseus-score";
3
2
  import Radio from "./radio-component";
4
3
  import type { RenderProps } from "./radio-component";
5
4
  import type { PerseusStrings } from "../../strings";
@@ -13,7 +12,5 @@ declare const _default: {
13
12
  version: import("@khanacademy/perseus-core").Version | undefined;
14
13
  propUpgrades: import("@khanacademy/perseus-core").WidgetOptionsUpgradeMap | undefined;
15
14
  isLintable: true;
16
- scorer: typeof scoreRadio;
17
- validator: typeof validateRadio;
18
15
  };
19
16
  export default _default;
@@ -1,9 +1,8 @@
1
- import { scoreSorter, validateSorter } from "@khanacademy/perseus-score";
1
+ import { type PerseusSorterWidgetOptions, getSorterPublicWidgetOptions } from "@khanacademy/perseus-core";
2
2
  import * as React from "react";
3
3
  import type { SortableOption } from "../../components/sortable";
4
4
  import type { Widget, WidgetProps } from "../../types";
5
5
  import type { SorterPromptJSON } from "../../widget-ai-utils/sorter/sorter-ai-utils";
6
- import type { PerseusSorterWidgetOptions } from "@khanacademy/perseus-core";
7
6
  import type { PerseusSorterRubric, PerseusSorterUserInput } from "@khanacademy/perseus-score";
8
7
  type RenderProps = PerseusSorterWidgetOptions;
9
8
  type Props = WidgetProps<RenderProps, PerseusSorterRubric>;
@@ -35,7 +34,6 @@ declare const _default: {
35
34
  displayName: string;
36
35
  widget: typeof Sorter;
37
36
  isLintable: true;
38
- scorer: typeof scoreSorter;
39
- validator: typeof validateSorter;
37
+ getPublicWidgetOptions: typeof getSorterPublicWidgetOptions;
40
38
  };
41
39
  export default _default;
@@ -1,4 +1,3 @@
1
- import { scoreTable, validateTable } from "@khanacademy/perseus-score";
2
1
  import * as React from "react";
3
2
  import { PerseusI18nContext } from "../../components/i18n-context";
4
3
  import type { ChangeableProps } from "../../mixins/changeable";
@@ -46,7 +45,5 @@ declare const _default: {
46
45
  transform: (arg1: any) => any;
47
46
  hidden: true;
48
47
  isLintable: true;
49
- scorer: typeof scoreTable;
50
- validator: typeof validateTable;
51
48
  };
52
49
  export default _default;
@@ -24,9 +24,6 @@ declare class Video extends React.Component<Props> implements Widget {
24
24
  declare const _default: {
25
25
  name: string;
26
26
  displayName: string;
27
- defaultAlignment: "block";
28
- supportedAlignments: ("block" | "full-width" | "float-left" | "float-right")[];
29
27
  widget: typeof Video;
30
- scorer: () => import("@khanacademy/perseus-score").PerseusScore;
31
28
  };
32
29
  export default _default;
package/dist/widgets.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { PerseusStrings } from "./strings";
2
- import type { Alignment, Tracking, WidgetExports, WidgetTransform, WidgetScorerFunction, WidgetValidatorFunction, PublicWidgetOptionsFunction } from "./types";
2
+ import type { Tracking, WidgetExports, WidgetTransform, PublicWidgetOptionsFunction } from "./types";
3
3
  import type { PerseusWidget, Version } from "@khanacademy/perseus-core";
4
4
  import type * as React from "react";
5
5
  type Editor = any;
@@ -28,8 +28,6 @@ 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;
32
- export declare const getWidgetScorer: (name: string) => WidgetScorerFunction | null;
33
31
  export declare const getPublicWidgetOptionsFunction: (name: string) => PublicWidgetOptionsFunction;
34
32
  export declare const getEditor: (name: string) => Editor | null | undefined;
35
33
  export declare const getTransform: (name: string) => WidgetTransform | null | undefined;
@@ -40,37 +38,8 @@ export declare const getVersionVector: () => {
40
38
  export declare const getPublicWidgets: () => ReadonlyArray<WidgetExports>;
41
39
  export declare const isAccessible: (widgetInfo: PerseusWidget) => boolean;
42
40
  export declare const getAllWidgetTypes: () => ReadonlyArray<string>;
43
- export declare const upgradeWidgetInfoToLatestVersion: (oldWidgetInfo: PerseusWidget) => PerseusWidget;
44
41
  export declare const getRendererPropsForWidgetInfo: (widgetInfo: PerseusWidget, strings: PerseusStrings, problemNum?: number) => PerseusWidget;
45
42
  export declare const traverseChildWidgets: (widgetInfo: PerseusWidget, traverseRenderer: any) => PerseusWidget;
46
- /**
47
- * Handling for the optional alignments for widgets
48
- * See widget-container.jsx for details on how alignments are implemented.
49
- */
50
- /**
51
- * Returns the list of supported alignments for the given (string) widget
52
- * type. This is used primarily at editing time to display the choices
53
- * for the user.
54
- *
55
- * Supported alignments are given as an array of strings in the exports of
56
- * a widget's module.
57
- */
58
- export declare const getSupportedAlignments: (type: string) => ReadonlyArray<Alignment>;
59
- /**
60
- * For the given (string) widget type, determine the default alignment for
61
- * the widget. This is used at rendering time to go from "default" alignment
62
- * to the actual alignment displayed on the screen.
63
- *
64
- * The default alignment is given either as a string (called
65
- * `defaultAlignment`) or a function (called `getDefaultAlignment`) on
66
- * the exports of a widget's module.
67
- */
68
- export declare const getDefaultAlignment: (type: string) => Alignment;
69
- /**
70
- * Used at startup to fail fast if an alignment given by a widget is
71
- * invalid.
72
- */
73
- export declare const validateAlignments: () => void;
74
43
  /**
75
44
  * Handling for static mode for widgets that support it.
76
45
  */
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": "52.0.0",
6
+ "version": "53.0.0",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -41,15 +41,15 @@
41
41
  "test": "bash -c 'yarn --silent --cwd \"../..\" test ${@:0} $($([[ ${@: -1} = -* ]] || [[ ${@: -1} = bash ]]) && echo $PWD)'"
42
42
  },
43
43
  "dependencies": {
44
- "@khanacademy/kas": "^0.4.12",
45
- "@khanacademy/keypad-context": "^1.0.15",
46
- "@khanacademy/kmath": "^0.3.1",
47
- "@khanacademy/math-input": "^22.2.2",
48
- "@khanacademy/perseus-core": "3.3.0",
49
- "@khanacademy/perseus-linter": "^1.2.14",
50
- "@khanacademy/perseus-score": "^2.0.0",
51
- "@khanacademy/pure-markdown": "^0.3.23",
52
- "@khanacademy/simple-markdown": "^0.13.16",
44
+ "@khanacademy/kas": "^0.4.13",
45
+ "@khanacademy/keypad-context": "^1.0.16",
46
+ "@khanacademy/kmath": "^0.3.2",
47
+ "@khanacademy/math-input": "^22.2.3",
48
+ "@khanacademy/perseus-core": "3.4.0",
49
+ "@khanacademy/perseus-linter": "^1.2.15",
50
+ "@khanacademy/perseus-score": "^2.1.0",
51
+ "@khanacademy/pure-markdown": "^0.3.24",
52
+ "@khanacademy/simple-markdown": "^0.13.17",
53
53
  "@types/classnames": "2.2.0",
54
54
  "@use-gesture/react": "^10.2.27",
55
55
  "mafs": "0.19.0",
@@ -1,14 +0,0 @@
1
- import type { PerseusStrings } from "./strings";
2
- import type { PerseusRenderer, PerseusWidgetsMap } from "@khanacademy/perseus-core";
3
- import type { UserInputMap, PerseusScore, ValidationDataMap } from "@khanacademy/perseus-score";
4
- export declare function getUpgradedWidgetOptions(oldWidgetOptions: PerseusWidgetsMap): PerseusWidgetsMap;
5
- /**
6
- * Checks the given user input to see if any answerable widgets have not been
7
- * "filled in" (ie. if they're empty). Another way to think about this
8
- * function is that its a check to see if we can score the provided input.
9
- */
10
- export declare function emptyWidgetsFunctional(widgets: ValidationDataMap, widgetIds: ReadonlyArray<string>, userInputMap: UserInputMap, strings: PerseusStrings, locale: string): ReadonlyArray<string>;
11
- export declare function scorePerseusItem(perseusRenderData: PerseusRenderer, userInputMap: UserInputMap, strings: PerseusStrings, locale: string): PerseusScore;
12
- export declare function scoreWidgetsFunctional(widgets: PerseusWidgetsMap, widgetIds: ReadonlyArray<string>, userInputMap: UserInputMap, strings: PerseusStrings, locale: string): {
13
- [widgetId: string]: PerseusScore;
14
- };
@@ -1,11 +0,0 @@
1
- import type { PerseusScore } from "@khanacademy/perseus-score";
2
- /**
3
- * Several widgets don't have "right"/"wrong" scoring logic,
4
- * so this just says to move on past those widgets
5
- *
6
- * TODO(LEMS-2543) widgets that use this probably shouldn't have any
7
- * scoring logic and the thing scoring an exercise
8
- * should just know to skip these
9
- */
10
- declare function scoreNoop(points?: number): PerseusScore;
11
- export default scoreNoop;
@@ -1,4 +0,0 @@
1
- import type { PerseusStrings } from "../../strings";
2
- import type { PerseusGroupRubric, PerseusGroupUserInput, PerseusScore } from "@khanacademy/perseus-score";
3
- declare function scoreGroup(userInput: PerseusGroupUserInput, rubric: PerseusGroupRubric, strings: PerseusStrings, locale: string): PerseusScore;
4
- export default scoreGroup;
@@ -1,4 +0,0 @@
1
- import type { PerseusStrings } from "../../strings";
2
- import type { PerseusGroupUserInput, PerseusGroupValidationData, ValidationResult } from "@khanacademy/perseus-score";
3
- declare function validateGroup(userInput: PerseusGroupUserInput, validationData: PerseusGroupValidationData, strings: PerseusStrings, locale: string): ValidationResult;
4
- export default validateGroup;
@@ -1,5 +0,0 @@
1
- import type { PerseusMockWidgetUserInput, PerseusMockWidgetRubric } from "./mock-widget-types";
2
- import type { PerseusStrings } from "../../strings";
3
- import type { PerseusScore } from "@khanacademy/perseus-score";
4
- declare function scoreMockWidget(userInput: PerseusMockWidgetUserInput, rubric: PerseusMockWidgetRubric, strings: PerseusStrings): PerseusScore;
5
- export default scoreMockWidget;
@@ -1,4 +0,0 @@
1
- import type { PerseusMockWidgetUserInput } from "./mock-widget-types";
2
- import type { ValidationResult } from "@khanacademy/perseus-score";
3
- declare function validateMockWidget(userInput: PerseusMockWidgetUserInput): ValidationResult;
4
- export default validateMockWidget;