@khanacademy/perseus 77.11.0 → 78.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 (32) hide show
  1. package/dist/components/graphie.d.ts +0 -1
  2. package/dist/components/svg-image.d.ts +2 -3
  3. package/dist/es/index.css +1 -1
  4. package/dist/es/index.css.map +1 -1
  5. package/dist/es/index.js +33 -33
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/index.css +1 -1
  8. package/dist/index.css.map +1 -1
  9. package/dist/index.js +33 -33
  10. package/dist/index.js.map +1 -1
  11. package/dist/renderer.d.ts +0 -1
  12. package/dist/server-item-renderer.d.ts +0 -6
  13. package/dist/testing/item-renderer-hooks.d.ts +0 -5
  14. package/dist/types.d.ts +0 -48
  15. package/dist/util/graphie.d.ts +0 -1
  16. package/dist/widget-container.d.ts +0 -1
  17. package/dist/widgets/dropdown/dropdown.d.ts +0 -8
  18. package/dist/widgets/expression/expression.d.ts +0 -16
  19. package/dist/widgets/interactive-graphs/graphs/components/movable-asymptote.d.ts +0 -8
  20. package/dist/widgets/interactive-graphs/graphs/components/movable-line/line.d.ts +0 -2
  21. package/dist/widgets/interactive-graphs/graphs/components/movable-line/movable-line.d.ts +0 -2
  22. package/dist/widgets/interactive-graphs/graphs/components/movable-point.d.ts +0 -2
  23. package/dist/widgets/interactive-graphs/graphs/components/use-control-arrowhead.d.ts +0 -2
  24. package/dist/widgets/interactive-graphs/graphs/components/use-control-point.d.ts +0 -2
  25. package/dist/widgets/interactive-graphs/interactive-graph.d.ts +0 -8
  26. package/dist/widgets/interactive-graphs/types.d.ts +0 -1
  27. package/dist/widgets/label-image/label-image.d.ts +0 -8
  28. package/dist/widgets/mock-widgets/mock-widget.d.ts +0 -8
  29. package/dist/widgets/numeric-input/numeric-input.class.d.ts +0 -8
  30. package/dist/widgets/numeric-input/numeric-input.d.ts +0 -16
  31. package/dist/widgets/table/table.d.ts +0 -8
  32. package/package.json +7 -7
@@ -34,7 +34,6 @@ type Props = Partial<React.ContextType<typeof DependenciesContext>> & {
34
34
  onRender: (node?: any) => void;
35
35
  problemNum?: number;
36
36
  reviewMode?: boolean | null | undefined;
37
- highlightEmptyWidgets?: boolean;
38
37
  /**
39
38
  * If set to "all", all rationales or solutions will be shown. If set to
40
39
  * "selected", soltions will only be shown for selected choices. If set to
@@ -19,7 +19,6 @@ type OwnProps = {
19
19
  item: PerseusItem;
20
20
  problemNum?: number;
21
21
  reviewMode?: boolean;
22
- highlightEmptyWidgets?: boolean;
23
22
  keypadElement?: KeypadAPI | null | undefined;
24
23
  dependencies: PerseusDependenciesV2;
25
24
  showSolutions?: ShowSolutions;
@@ -108,7 +107,6 @@ declare const _default: React.ForwardRefExoticComponent<Omit<Pick<SharedRenderer
108
107
  baseElements?: {
109
108
  Link: React.ComponentType<any>;
110
109
  };
111
- imagePreloader?: (dimensions: import("./types").Dimensions) => React.ReactNode;
112
110
  trackInteraction?: (args: {
113
111
  type: string;
114
112
  id: string;
@@ -117,13 +115,9 @@ declare const _default: React.ForwardRefExoticComponent<Omit<Pick<SharedRenderer
117
115
  visible: number;
118
116
  }>) => void;
119
117
  customKeypad?: boolean;
120
- nativeKeypadProxy?: (blur: () => void) => KeypadAPI;
121
118
  isMobile?: boolean;
122
119
  isMobileApp?: boolean;
123
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
124
120
  hintProgressColor?: string;
125
- canScrollPage?: boolean;
126
- editorChangeDelay?: number;
127
121
  flags?: Record<"input-number-to-numeric-input", boolean>;
128
122
  }> | undefined;
129
123
  linterContext?: PerseusLinter.LinterContextProps | undefined;
@@ -25,7 +25,6 @@ export declare const useItemRenderer: (item: PerseusItem, apiOptions?: APIOption
25
25
  baseElements?: {
26
26
  Link: React.ComponentType<any>;
27
27
  };
28
- imagePreloader?: (dimensions: import("../types").Dimensions) => React.ReactNode;
29
28
  trackInteraction?: (args: {
30
29
  type: string;
31
30
  id: string;
@@ -33,12 +32,8 @@ export declare const useItemRenderer: (item: PerseusItem, apiOptions?: APIOption
33
32
  } & Partial<import("../types").TrackingGradedGroupExtraArguments> & Partial<{
34
33
  visible: number;
35
34
  }>) => void;
36
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
37
35
  isMobileApp?: boolean;
38
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
39
36
  hintProgressColor?: string;
40
- canScrollPage?: boolean;
41
- editorChangeDelay?: number;
42
37
  flags?: Record<"input-number-to-numeric-input", boolean>;
43
38
  };
44
39
  toggleMobile: (isMobile: boolean) => void;
package/dist/types.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import type { ILogger } from "./logging/log";
2
2
  import type { SizeClass } from "./util/sizing-utils";
3
3
  import type { WidgetPromptJSON } from "./widget-ai-utils/prompt-types";
4
- import type { KeypadAPI } from "@khanacademy/math-input";
5
4
  import type { Hint, PerseusAnswerArea, PerseusFeatureFlags, PerseusWidget, PerseusWidgetsMap, AnalyticsEventHandlerFn, Version, LabelImageMarkerPublicData, PerseusLabelImageMarker, ShowSolutions } from "@khanacademy/perseus-core";
6
5
  import type { LinterContextProps } from "@khanacademy/perseus-linter";
7
6
  import type { Result } from "@khanacademy/wonder-blocks-data";
@@ -144,11 +143,6 @@ export type APIOptions = Readonly<{
144
143
  */
145
144
  Link: React.ComponentType<any>;
146
145
  };
147
- /**
148
- * Function that takes dimensions and returns a React component
149
- * to display while an image is loading.
150
- */
151
- imagePreloader?: (dimensions: Dimensions) => React.ReactNode;
152
146
  /**
153
147
  * A function that is called when the user has interacted with a widget. It
154
148
  * also includes any extra parameters that the originating widget provided.
@@ -163,51 +157,12 @@ export type APIOptions = Readonly<{
163
157
  * input components.
164
158
  */
165
159
  customKeypad?: boolean;
166
- /**
167
- * If this is provided, it is called instead of appending an instance
168
- * of `math-input`'s keypad to the body. This is used by the native
169
- * apps so they can have the keypad be defined on the native side.
170
- * It is called with an function that, when called, blurs the input,
171
- * and is expected to return an object of the shape
172
- * keypadElementPropType from math-input/src/prop-types.js.
173
- */
174
- nativeKeypadProxy?: (blur: () => void) => KeypadAPI;
175
160
  /** Indicates whether or not to use mobile styling. */
176
161
  isMobile?: boolean;
177
162
  /** Indicates whether or not to use mobile app styling. */
178
163
  isMobileApp?: boolean;
179
- /** A function, called with a bool indicating whether use of the
180
- * drawing area (scratchpad) should be allowed/disallowed.
181
- *
182
- * Previously handled by `Khan.scratchpad.enable/disable`
183
- * @deprecated setDrawingAreaAvailable is not used in frontend code.
184
- */
185
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
186
164
  /** The color used for the hint progress indicator (eg. 1 / 3) */
187
165
  hintProgressColor?: string;
188
- /**
189
- * Whether this Renderer is allowed to auto-scroll the rest of the
190
- * page. For example, if this is enabled, the most recently used
191
- * radio widget will attempt to keep the "selected" answer in view
192
- * after entering review mode.
193
- *
194
- * Defaults to `false`.
195
- * @deprecated canScrollPage has no effect.
196
- */
197
- canScrollPage?: boolean;
198
- /**
199
- * The value in milliseconds by which the local state of content
200
- * in a editor is delayed before propagated to a prop. For example,
201
- * when text is typed in the text area of an Editor component,
202
- * there will be a delay equal to the value of `editorChangeDelay`
203
- * before the change is propagated. This is added for better
204
- * responsiveness of the editor when used in certain contexts such
205
- * as StructuredItem exercises where constant re-rendering for each
206
- * keystroke caused text typed in the text area to appear in it
207
- * only after a good few seconds.
208
- * @deprecated editorChangeDelay has no effect.
209
- */
210
- editorChangeDelay?: number;
211
166
  /**
212
167
  * Feature flags that can be passed from consuming application.
213
168
  * Define the feature flag name in packages/perseus-core/src/feature-flags.ts
@@ -323,15 +278,12 @@ export interface PerseusDependenciesV2 {
323
278
  */
324
279
  export type APIOptionsWithDefaults = Readonly<APIOptions & {
325
280
  baseElements: NonNullable<APIOptions["baseElements"]>;
326
- canScrollPage: NonNullable<APIOptions["canScrollPage"]>;
327
- editorChangeDelay: NonNullable<APIOptions["editorChangeDelay"]>;
328
281
  isArticle: NonNullable<APIOptions["isArticle"]>;
329
282
  isMobile: NonNullable<APIOptions["isMobile"]>;
330
283
  isMobileApp: NonNullable<APIOptions["isMobileApp"]>;
331
284
  editingDisabled: NonNullable<APIOptions["editingDisabled"]>;
332
285
  onFocusChange: NonNullable<APIOptions["onFocusChange"]>;
333
286
  readOnly: NonNullable<APIOptions["readOnly"]>;
334
- setDrawingAreaAvailable: NonNullable<APIOptions["setDrawingAreaAvailable"]>;
335
287
  showAlignmentOptions: NonNullable<APIOptions["showAlignmentOptions"]>;
336
288
  }>;
337
289
  export type Tracking = "" | "all";
@@ -116,7 +116,6 @@ export declare class Graphie {
116
116
  onMouseOut?: MouseHandler | null;
117
117
  onMouseUp?: MouseHandler | null;
118
118
  allowScratchpad?: boolean;
119
- setDrawingAreaAvailable?: (available: boolean) => void;
120
119
  }): void;
121
120
  addToMouseLayerWrapper(el: HTMLElement): void;
122
121
  addToVisibleLayerWrapper(el: HTMLElement): void;
@@ -3,7 +3,6 @@ import * as React from "react";
3
3
  import type { WidgetProps } from "./types";
4
4
  import type { LinterContextProps } from "@khanacademy/perseus-linter";
5
5
  type Props = {
6
- shouldHighlight: boolean;
7
6
  type: string;
8
7
  id: string;
9
8
  widgetProps: WidgetProps<any, PerseusWidgetOptions>;
@@ -36,7 +36,6 @@ declare const _default: {
36
36
  baseElements?: {
37
37
  Link: React.ComponentType<any>;
38
38
  };
39
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
40
39
  trackInteraction?: (args: {
41
40
  type: string;
42
41
  id: string;
@@ -45,25 +44,18 @@ declare const _default: {
45
44
  visible: number;
46
45
  }>) => void;
47
46
  customKeypad?: boolean;
48
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
49
47
  isMobile?: boolean;
50
48
  isMobileApp?: boolean;
51
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
52
49
  hintProgressColor?: string;
53
- canScrollPage?: boolean;
54
- editorChangeDelay?: number;
55
50
  flags?: Record<"input-number-to-numeric-input", boolean>;
56
51
  }> & {
57
52
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
58
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
59
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
60
53
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
61
54
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
62
55
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
63
56
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
64
57
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
65
58
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
66
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
67
59
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
68
60
  }>;
69
61
  keypadElement?: any;
@@ -26,7 +26,6 @@ export declare const Expression: React.ForwardRefExoticComponent<PerseusExpressi
26
26
  baseElements?: {
27
27
  Link: React.ComponentType<any>;
28
28
  };
29
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
30
29
  trackInteraction?: (args: {
31
30
  type: string;
32
31
  id: string;
@@ -35,25 +34,18 @@ export declare const Expression: React.ForwardRefExoticComponent<PerseusExpressi
35
34
  visible: number;
36
35
  }>) => void;
37
36
  customKeypad?: boolean;
38
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
39
37
  isMobile?: boolean;
40
38
  isMobileApp?: boolean;
41
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
42
39
  hintProgressColor?: string;
43
- canScrollPage?: boolean;
44
- editorChangeDelay?: number;
45
40
  flags?: Record<"input-number-to-numeric-input", boolean>;
46
41
  }> & {
47
42
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
48
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
49
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
50
43
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
51
44
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
52
45
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
53
46
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
54
47
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
55
48
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
56
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
57
49
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
58
50
  }>;
59
51
  keypadElement?: any;
@@ -106,7 +98,6 @@ declare const _default: {
106
98
  baseElements?: {
107
99
  Link: React.ComponentType<any>;
108
100
  };
109
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
110
101
  trackInteraction?: (args: {
111
102
  type: string;
112
103
  id: string;
@@ -115,25 +106,18 @@ declare const _default: {
115
106
  visible: number;
116
107
  }>) => void;
117
108
  customKeypad?: boolean;
118
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
119
109
  isMobile?: boolean;
120
110
  isMobileApp?: boolean;
121
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
122
111
  hintProgressColor?: string;
123
- canScrollPage?: boolean;
124
- editorChangeDelay?: number;
125
112
  flags?: Record<"input-number-to-numeric-input", boolean>;
126
113
  }> & {
127
114
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
128
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
129
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
130
115
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
131
116
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
132
117
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
133
118
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
134
119
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
135
120
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
136
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
137
121
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
138
122
  }>;
139
123
  keypadElement?: any;
@@ -1,5 +1,4 @@
1
1
  import * as React from "react";
2
- import type { AriaLive } from "../../types";
3
2
  import type { KeyboardMovementConstraint } from "../use-draggable";
4
3
  import type { vec } from "mafs";
5
4
  type Props = {
@@ -22,13 +21,6 @@ type Props = {
22
21
  orientation: "horizontal" | "vertical";
23
22
  /** Accessible label for the asymptote drag target. */
24
23
  ariaLabel: string;
25
- /**
26
- * Overrides the internal aria-live used to announce moves. Defaults to
27
- * "polite".
28
- * TODO(LEMS-4189): Remove once exponential is also wired to the announcer
29
- * and the internal aria-live can be dropped.
30
- */
31
- ariaLive?: AriaLive;
32
24
  /**
33
25
  * Content rendered between the asymptote lines and the drag handle.
34
26
  * Use this to render the curve so it appears above the dashed line
@@ -1,12 +1,10 @@
1
1
  import * as React from "react";
2
- import type { AriaLive } from "../../../types";
3
2
  import type { vec } from "mafs";
4
3
  export interface LineProps {
5
4
  start: vec.Vector2;
6
5
  end: vec.Vector2;
7
6
  ariaLabel?: string;
8
7
  ariaDescribedBy?: string;
9
- ariaLive?: AriaLive;
10
8
  extend?: undefined | {
11
9
  start: boolean;
12
10
  end: boolean;
@@ -1,5 +1,4 @@
1
1
  import * as React from "react";
2
- import type { AriaLive } from "../../../types";
3
2
  import type { vec } from "mafs";
4
3
  export interface MovableLineProps {
5
4
  points: Readonly<[vec.Vector2, vec.Vector2]>;
@@ -9,7 +8,6 @@ export interface MovableLineProps {
9
8
  grabHandleAriaLabel?: string;
10
9
  };
11
10
  ariaDescribedBy?: string;
12
- ariaLive?: AriaLive;
13
11
  extend?: {
14
12
  start: boolean;
15
13
  end: boolean;
@@ -1,13 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { CSSCursor } from "./css-cursor";
3
- import type { AriaLive } from "../../types";
4
3
  import type { KeyboardMovementConstraint } from "../use-draggable";
5
4
  import type { vec } from "mafs";
6
5
  type Props = {
7
6
  point: vec.Vector2;
8
7
  ariaDescribedBy?: string;
9
8
  ariaLabel?: string;
10
- ariaLive?: AriaLive;
11
9
  color?: string;
12
10
  constrain?: KeyboardMovementConstraint;
13
11
  cursor?: CSSCursor | undefined;
@@ -1,5 +1,4 @@
1
1
  import * as React from "react";
2
- import type { AriaLive } from "../../types";
3
2
  import type { KeyboardMovementConstraint } from "../use-draggable";
4
3
  import type { vec } from "mafs";
5
4
  type Params = {
@@ -7,7 +6,6 @@ type Params = {
7
6
  angle: number;
8
7
  ariaDescribedBy?: string;
9
8
  ariaLabel?: string;
10
- ariaLive?: AriaLive;
11
9
  constrain?: KeyboardMovementConstraint;
12
10
  sequenceNumber?: number;
13
11
  onMove?: ((newPoint: vec.Vector2) => unknown) | undefined;
@@ -1,13 +1,11 @@
1
1
  import * as React from "react";
2
2
  import type { CSSCursor } from "./css-cursor";
3
- import type { AriaLive } from "../../types";
4
3
  import type { KeyboardMovementConstraint } from "../use-draggable";
5
4
  import type { vec } from "mafs";
6
5
  type Params = {
7
6
  point: vec.Vector2;
8
7
  ariaDescribedBy?: string;
9
8
  ariaLabel?: string;
10
- ariaLive?: AriaLive;
11
9
  color?: string | undefined;
12
10
  constrain?: KeyboardMovementConstraint;
13
11
  cursor?: CSSCursor | undefined;
@@ -183,7 +183,6 @@ declare class InteractiveGraph extends React.Component<Props, State> {
183
183
  baseElements?: {
184
184
  Link: React.ComponentType<any>;
185
185
  };
186
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
187
186
  trackInteraction?: (args: {
188
187
  type: string;
189
188
  id: string;
@@ -192,25 +191,18 @@ declare class InteractiveGraph extends React.Component<Props, State> {
192
191
  visible: number;
193
192
  }>) => void;
194
193
  customKeypad?: boolean;
195
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
196
194
  isMobile?: boolean;
197
195
  isMobileApp?: boolean;
198
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
199
196
  hintProgressColor?: string;
200
- canScrollPage?: boolean;
201
- editorChangeDelay?: number;
202
197
  flags?: Record<"input-number-to-numeric-input", boolean>;
203
198
  }> & {
204
199
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
205
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
206
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
207
200
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
208
201
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
209
202
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
210
203
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
211
204
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
212
205
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
213
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
214
206
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
215
207
  }>;
216
208
  keypadElement?: any;
@@ -253,6 +253,5 @@ export type GraphDimensions = {
253
253
  width: number;
254
254
  height: number;
255
255
  };
256
- export type AriaLive = "off" | "assertive" | "polite" | undefined;
257
256
  export type SnapTo = "grid" | "angles" | "sides";
258
257
  export {};
@@ -135,7 +135,6 @@ declare const _default: {
135
135
  baseElements?: {
136
136
  Link: React.ComponentType<any>;
137
137
  };
138
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
139
138
  trackInteraction?: (args: {
140
139
  type: string;
141
140
  id: string;
@@ -144,25 +143,18 @@ declare const _default: {
144
143
  visible: number;
145
144
  }>) => void;
146
145
  customKeypad?: boolean;
147
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
148
146
  isMobile?: boolean;
149
147
  isMobileApp?: boolean;
150
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
151
148
  hintProgressColor?: string;
152
- canScrollPage?: boolean;
153
- editorChangeDelay?: number;
154
149
  flags?: Record<"input-number-to-numeric-input", boolean>;
155
150
  }> & {
156
151
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
157
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
158
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
159
152
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
160
153
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
161
154
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
162
155
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
163
156
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
164
157
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
165
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
166
158
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
167
159
  }>;
168
160
  keypadElement?: any;
@@ -59,7 +59,6 @@ declare class MockWidgetComponent extends React.Component<Props> implements Widg
59
59
  baseElements?: {
60
60
  Link: React.ComponentType<any>;
61
61
  };
62
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
63
62
  trackInteraction?: (args: {
64
63
  type: string;
65
64
  id: string;
@@ -68,25 +67,18 @@ declare class MockWidgetComponent extends React.Component<Props> implements Widg
68
67
  visible: number;
69
68
  }>) => void;
70
69
  customKeypad?: boolean;
71
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
72
70
  isMobile?: boolean;
73
71
  isMobileApp?: boolean;
74
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
75
72
  hintProgressColor?: string;
76
- canScrollPage?: boolean;
77
- editorChangeDelay?: number;
78
73
  flags?: Record<"input-number-to-numeric-input", boolean>;
79
74
  }> & {
80
75
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
81
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
82
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
83
76
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
84
77
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
85
78
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
86
79
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
87
80
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
88
81
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
89
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
90
82
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
91
83
  }>;
92
84
  keypadElement?: any;
@@ -67,7 +67,6 @@ export declare class NumericInput extends React.Component<NumericInputProps> imp
67
67
  baseElements?: {
68
68
  Link: React.ComponentType<any>;
69
69
  };
70
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
71
70
  trackInteraction?: (args: {
72
71
  type: string;
73
72
  id: string;
@@ -76,25 +75,18 @@ export declare class NumericInput extends React.Component<NumericInputProps> imp
76
75
  visible: number;
77
76
  }>) => void;
78
77
  customKeypad?: boolean;
79
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
80
78
  isMobile?: boolean;
81
79
  isMobileApp?: boolean;
82
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
83
80
  hintProgressColor?: string;
84
- canScrollPage?: boolean;
85
- editorChangeDelay?: number;
86
81
  flags?: Record<"input-number-to-numeric-input", boolean>;
87
82
  }> & {
88
83
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
89
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
90
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
91
84
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
92
85
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
93
86
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
94
87
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
95
88
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
96
89
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
97
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
98
90
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
99
91
  }>;
100
92
  keypadElement?: any;
@@ -29,7 +29,6 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
29
29
  baseElements?: {
30
30
  Link: React.ComponentType<any>;
31
31
  };
32
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
33
32
  trackInteraction?: (args: {
34
33
  type: string;
35
34
  id: string;
@@ -38,25 +37,18 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
38
37
  visible: number;
39
38
  }>) => void;
40
39
  customKeypad?: boolean;
41
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
42
40
  isMobile?: boolean;
43
41
  isMobileApp?: boolean;
44
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
45
42
  hintProgressColor?: string;
46
- canScrollPage?: boolean;
47
- editorChangeDelay?: number;
48
43
  flags?: Record<"input-number-to-numeric-input", boolean>;
49
44
  }> & {
50
45
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
51
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
52
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
53
46
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
54
47
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
55
48
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
56
49
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
57
50
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
58
51
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
59
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
60
52
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
61
53
  }>;
62
54
  keypadElement?: any;
@@ -88,7 +80,6 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
88
80
  baseElements?: {
89
81
  Link: React.ComponentType<any>;
90
82
  };
91
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
92
83
  trackInteraction?: (args: {
93
84
  type: string;
94
85
  id: string;
@@ -97,25 +88,18 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
97
88
  visible: number;
98
89
  }>) => void;
99
90
  customKeypad?: boolean;
100
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
101
91
  isMobile?: boolean;
102
92
  isMobileApp?: boolean;
103
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
104
93
  hintProgressColor?: string;
105
- canScrollPage?: boolean;
106
- editorChangeDelay?: number;
107
94
  flags?: Record<"input-number-to-numeric-input", boolean>;
108
95
  }> & {
109
96
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
110
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
111
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
112
97
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
113
98
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
114
99
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
115
100
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
116
101
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
117
102
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
118
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
119
103
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
120
104
  }>>;
121
105
  coefficient: NonNullable<boolean>;
@@ -67,7 +67,6 @@ declare class Table extends React.Component<Props> implements Widget {
67
67
  baseElements?: {
68
68
  Link: React.ComponentType<any>;
69
69
  };
70
- imagePreloader?: (dimensions: import("../../types").Dimensions) => React.ReactNode;
71
70
  trackInteraction?: (args: {
72
71
  type: string;
73
72
  id: string;
@@ -76,25 +75,18 @@ declare class Table extends React.Component<Props> implements Widget {
76
75
  visible: number;
77
76
  }>) => void;
78
77
  customKeypad?: boolean;
79
- nativeKeypadProxy?: (blur: () => void) => import("@khanacademy/math-input").KeypadAPI;
80
78
  isMobile?: boolean;
81
79
  isMobileApp?: boolean;
82
- setDrawingAreaAvailable?: (arg1: boolean) => unknown;
83
80
  hintProgressColor?: string;
84
- canScrollPage?: boolean;
85
- editorChangeDelay?: number;
86
81
  flags?: Record<"input-number-to-numeric-input", boolean>;
87
82
  }> & {
88
83
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
89
- canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
90
- editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
91
84
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
92
85
  isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
93
86
  isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
94
87
  editingDisabled: NonNullable<import("../..").APIOptions["editingDisabled"]>;
95
88
  onFocusChange: NonNullable<import("../..").APIOptions["onFocusChange"]>;
96
89
  readOnly: NonNullable<import("../..").APIOptions["readOnly"]>;
97
- setDrawingAreaAvailable: NonNullable<import("../..").APIOptions["setDrawingAreaAvailable"]>;
98
90
  showAlignmentOptions: NonNullable<import("../..").APIOptions["showAlignmentOptions"]>;
99
91
  }>;
100
92
  keypadElement?: any;
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": "77.11.0",
6
+ "version": "78.0.0",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -43,12 +43,12 @@
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.61",
47
- "@khanacademy/kmath": "2.4.19",
48
- "@khanacademy/math-input": "26.4.33",
49
- "@khanacademy/perseus-core": "27.4.0",
50
- "@khanacademy/perseus-linter": "5.1.0",
51
- "@khanacademy/perseus-score": "8.11.3",
46
+ "@khanacademy/keypad-context": "3.2.62",
47
+ "@khanacademy/kmath": "2.4.20",
48
+ "@khanacademy/math-input": "26.4.34",
49
+ "@khanacademy/perseus-core": "28.0.0",
50
+ "@khanacademy/perseus-linter": "5.1.1",
51
+ "@khanacademy/perseus-score": "8.11.4",
52
52
  "@khanacademy/perseus-utils": "2.1.5",
53
53
  "@khanacademy/pure-markdown": "2.2.8",
54
54
  "@khanacademy/simple-markdown": "2.2.3"