@khanacademy/perseus 78.3.0 → 78.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,10 +11,8 @@ export type AbsoluteValueCoefficients = {
11
11
  /**
12
12
  * Compute the coefficients [m, h, v] for f(x) = m * |x - h| + v from two
13
13
  * control points: p1 (vertex) and p2 (a point on one arm).
14
- *
15
- * Returns undefined if p1 and p2 share the same x-coordinate (slope undefined).
16
14
  */
17
- export declare function getAbsoluteValueCoefficients(coords: ReadonlyArray<Coord>): AbsoluteValueCoefficients | undefined;
15
+ export declare function getAbsoluteValueCoefficients(coords: ReadonlyArray<Coord>): AbsoluteValueCoefficients;
18
16
  /**
19
17
  * Keyboard constraint for absolute value control points.
20
18
  * Skips any horizontal position where both points would share the same x.
@@ -25,6 +25,7 @@ export type MafsGraphProps = {
25
25
  readOnly: boolean;
26
26
  static: boolean | null | undefined;
27
27
  widgetId: string;
28
+ ungradedDescriptionId?: string;
28
29
  apiOptions?: APIOptionsWithDefaults;
29
30
  };
30
31
  export declare const MafsGraph: (props: MafsGraphProps) => React.JSX.Element;
@@ -30,6 +30,7 @@ export type StatefulMafsGraphProps = {
30
30
  showAxisTicks: InteractiveGraphProps["showAxisTicks"];
31
31
  widgetId: string;
32
32
  graded?: boolean | null;
33
+ ungradedDescriptionId?: string;
33
34
  apiOptions?: APIOptionsWithDefaults;
34
35
  };
35
36
  export type StatefulMafsGraphType = {
@@ -139,6 +139,7 @@ type MoveAbsoluteValuePointAnnouncement = {
139
139
  pointLabel: string | number;
140
140
  x: number;
141
141
  y: number;
142
+ slope: number;
142
143
  };
143
144
  type MoveAnglePointAnnouncement = {
144
145
  type: "move-angle-point";
@@ -5,14 +5,14 @@ import type { PerseusNumericInputAnswerForm, PerseusNumericInputRubric, PerseusN
5
5
  type ExternalProps = WidgetProps<PerseusNumericInputWidgetOptions, PerseusNumericInputUserInput>;
6
6
  export type NumericInputProps = ExternalProps & {
7
7
  size: NonNullable<ExternalProps["size"]>;
8
- rightAlign: NonNullable<ExternalProps["rightAlign"]>;
8
+ textAlign: NonNullable<ExternalProps["textAlign"]>;
9
9
  apiOptions: NonNullable<ExternalProps["apiOptions"]>;
10
10
  coefficient: NonNullable<ExternalProps["coefficient"]>;
11
11
  answerForms: ReadonlyArray<PerseusNumericInputAnswerForm>;
12
12
  labelText: string;
13
13
  linterContext: NonNullable<ExternalProps["linterContext"]>;
14
14
  };
15
- type DefaultProps = Pick<NumericInputProps, "size" | "rightAlign" | "apiOptions" | "coefficient" | "answerForms" | "labelText" | "linterContext" | "userInput">;
15
+ type DefaultProps = Pick<NumericInputProps, "size" | "apiOptions" | "coefficient" | "answerForms" | "labelText" | "linterContext" | "userInput">;
16
16
  /**
17
17
  * The NumericInput widget is a numeric input field that supports a variety of
18
18
  * answer forms, including integers, decimals, fractions, and mixed numbers.
@@ -43,7 +43,7 @@ export declare class NumericInput extends React.Component<NumericInputProps> imp
43
43
  labelText: string;
44
44
  size: string;
45
45
  coefficient: boolean;
46
- rightAlign: boolean;
46
+ textAlign: "left" | "right" | "center";
47
47
  trackInteraction: (extraData?: Empty | undefined) => void;
48
48
  widgetId: string;
49
49
  widgetIndex: number;
@@ -63,7 +63,7 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
63
63
  containerSizeClass: import("../../util/sizing-utils").SizeClass;
64
64
  } & {
65
65
  size: NonNullable<string>;
66
- rightAlign: NonNullable<boolean | undefined>;
66
+ textAlign: NonNullable<"center" | "left" | "right">;
67
67
  apiOptions: NonNullable<Readonly<Readonly<{
68
68
  isArticle?: boolean;
69
69
  onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
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": "78.3.0",
6
+ "version": "78.4.1",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -43,39 +43,39 @@
43
43
  "tiny-invariant": "1.3.1",
44
44
  "uuid": "^10.0.0",
45
45
  "@khanacademy/kas": "2.2.3",
46
- "@khanacademy/keypad-context": "3.2.66",
47
- "@khanacademy/kmath": "2.4.24",
48
- "@khanacademy/math-input": "26.4.38",
49
- "@khanacademy/perseus-core": "28.3.0",
50
- "@khanacademy/perseus-linter": "5.1.5",
51
- "@khanacademy/perseus-score": "8.11.8",
46
+ "@khanacademy/keypad-context": "3.2.67",
47
+ "@khanacademy/kmath": "2.4.26",
48
+ "@khanacademy/math-input": "26.4.40",
49
+ "@khanacademy/perseus-core": "29.0.0",
50
+ "@khanacademy/perseus-linter": "5.1.7",
51
+ "@khanacademy/perseus-score": "8.11.10",
52
52
  "@khanacademy/perseus-utils": "2.1.5",
53
53
  "@khanacademy/pure-markdown": "2.3.0",
54
54
  "@khanacademy/simple-markdown": "2.2.3"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@khanacademy/wonder-blocks-announcer": "1.1.1",
58
- "@khanacademy/wonder-blocks-banner": "5.1.4",
59
- "@khanacademy/wonder-blocks-button": "11.7.1",
60
- "@khanacademy/wonder-blocks-clickable": "8.2.3",
58
+ "@khanacademy/wonder-blocks-banner": "5.1.5",
59
+ "@khanacademy/wonder-blocks-button": "11.7.2",
60
+ "@khanacademy/wonder-blocks-clickable": "8.2.4",
61
61
  "@khanacademy/wonder-blocks-core": "12.4.4",
62
62
  "@khanacademy/wonder-blocks-data": "15.0.2",
63
- "@khanacademy/wonder-blocks-dropdown": "10.11.0",
64
- "@khanacademy/wonder-blocks-form": "7.6.4",
65
- "@khanacademy/wonder-blocks-icon": "5.3.17",
66
- "@khanacademy/wonder-blocks-icon-button": "11.3.4",
67
- "@khanacademy/wonder-blocks-labeled-field": "4.1.3",
68
- "@khanacademy/wonder-blocks-layout": "3.1.54",
69
- "@khanacademy/wonder-blocks-link": "10.3.3",
70
- "@khanacademy/wonder-blocks-modal": "8.7.4",
71
- "@khanacademy/wonder-blocks-pill": "3.1.67",
72
- "@khanacademy/wonder-blocks-popover": "6.3.4",
73
- "@khanacademy/wonder-blocks-progress-spinner": "3.1.54",
74
- "@khanacademy/wonder-blocks-switch": "3.4.3",
63
+ "@khanacademy/wonder-blocks-dropdown": "10.11.1",
64
+ "@khanacademy/wonder-blocks-form": "7.6.5",
65
+ "@khanacademy/wonder-blocks-icon": "5.3.18",
66
+ "@khanacademy/wonder-blocks-icon-button": "11.3.5",
67
+ "@khanacademy/wonder-blocks-labeled-field": "4.1.4",
68
+ "@khanacademy/wonder-blocks-layout": "3.1.55",
69
+ "@khanacademy/wonder-blocks-link": "10.3.4",
70
+ "@khanacademy/wonder-blocks-modal": "8.7.5",
71
+ "@khanacademy/wonder-blocks-pill": "3.1.68",
72
+ "@khanacademy/wonder-blocks-popover": "6.3.5",
73
+ "@khanacademy/wonder-blocks-progress-spinner": "3.1.55",
74
+ "@khanacademy/wonder-blocks-switch": "3.4.4",
75
75
  "@khanacademy/wonder-blocks-timing": "7.1.0",
76
- "@khanacademy/wonder-blocks-tokens": "16.7.0",
77
- "@khanacademy/wonder-blocks-tooltip": "4.1.79",
78
- "@khanacademy/wonder-blocks-typography": "4.3.7",
76
+ "@khanacademy/wonder-blocks-tokens": "16.8.0",
77
+ "@khanacademy/wonder-blocks-tooltip": "4.1.80",
78
+ "@khanacademy/wonder-blocks-typography": "4.3.8",
79
79
  "@khanacademy/wonder-stuff-core": "3.0.0",
80
80
  "@phosphor-icons/core": "2.0.2",
81
81
  "@popperjs/core": "2.10.2",
@@ -92,27 +92,27 @@
92
92
  },
93
93
  "peerDependencies": {
94
94
  "@khanacademy/wonder-blocks-announcer": "^1.1.1",
95
- "@khanacademy/wonder-blocks-banner": "^5.1.4",
96
- "@khanacademy/wonder-blocks-button": "^11.7.1",
97
- "@khanacademy/wonder-blocks-clickable": "^8.2.3",
95
+ "@khanacademy/wonder-blocks-banner": "^5.1.5",
96
+ "@khanacademy/wonder-blocks-button": "^11.7.2",
97
+ "@khanacademy/wonder-blocks-clickable": "^8.2.4",
98
98
  "@khanacademy/wonder-blocks-core": "^12.4.4",
99
99
  "@khanacademy/wonder-blocks-data": "^15.0.2",
100
- "@khanacademy/wonder-blocks-dropdown": "^10.11.0",
101
- "@khanacademy/wonder-blocks-form": "^7.6.4",
102
- "@khanacademy/wonder-blocks-icon": "^5.3.17",
103
- "@khanacademy/wonder-blocks-icon-button": "^11.3.4",
104
- "@khanacademy/wonder-blocks-labeled-field": "^4.1.3",
105
- "@khanacademy/wonder-blocks-layout": "^3.1.54",
106
- "@khanacademy/wonder-blocks-link": "^10.3.3",
107
- "@khanacademy/wonder-blocks-modal": "^8.7.4",
108
- "@khanacademy/wonder-blocks-pill": "^3.1.67",
109
- "@khanacademy/wonder-blocks-popover": "^6.3.4",
110
- "@khanacademy/wonder-blocks-progress-spinner": "^3.1.54",
111
- "@khanacademy/wonder-blocks-switch": "^3.4.3",
100
+ "@khanacademy/wonder-blocks-dropdown": "^10.11.1",
101
+ "@khanacademy/wonder-blocks-form": "^7.6.5",
102
+ "@khanacademy/wonder-blocks-icon": "^5.3.18",
103
+ "@khanacademy/wonder-blocks-icon-button": "^11.3.5",
104
+ "@khanacademy/wonder-blocks-labeled-field": "^4.1.4",
105
+ "@khanacademy/wonder-blocks-layout": "^3.1.55",
106
+ "@khanacademy/wonder-blocks-link": "^10.3.4",
107
+ "@khanacademy/wonder-blocks-modal": "^8.7.5",
108
+ "@khanacademy/wonder-blocks-pill": "^3.1.68",
109
+ "@khanacademy/wonder-blocks-popover": "^6.3.5",
110
+ "@khanacademy/wonder-blocks-progress-spinner": "^3.1.55",
111
+ "@khanacademy/wonder-blocks-switch": "^3.4.4",
112
112
  "@khanacademy/wonder-blocks-timing": "^7.1.0",
113
- "@khanacademy/wonder-blocks-tokens": "^16.7.0",
114
- "@khanacademy/wonder-blocks-tooltip": "^4.1.79",
115
- "@khanacademy/wonder-blocks-typography": "^4.3.7",
113
+ "@khanacademy/wonder-blocks-tokens": "^16.8.0",
114
+ "@khanacademy/wonder-blocks-tooltip": "^4.1.80",
115
+ "@khanacademy/wonder-blocks-typography": "^4.3.8",
116
116
  "@khanacademy/wonder-stuff-core": "^3.0.0",
117
117
  "@phosphor-icons/core": "^2.0.2",
118
118
  "@popperjs/core": "^2.10.2",
@@ -127,7 +127,7 @@
127
127
  },
128
128
  "keywords": [],
129
129
  "khan": {
130
- "catalogHash": "f8aa8f7a427ae82b"
130
+ "catalogHash": "a4790ad979dcb9a1"
131
131
  },
132
132
  "scripts": {}
133
133
  }