@khanacademy/perseus 78.0.0 → 78.1.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.
@@ -118,7 +118,7 @@ declare const _default: React.ForwardRefExoticComponent<Omit<Pick<SharedRenderer
118
118
  isMobile?: boolean;
119
119
  isMobileApp?: boolean;
120
120
  hintProgressColor?: string;
121
- flags?: Record<"input-number-to-numeric-input", boolean>;
121
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
122
122
  }> | undefined;
123
123
  linterContext?: PerseusLinter.LinterContextProps | undefined;
124
124
  onRendered?: ((isRendered: boolean) => void) | undefined;
@@ -4,6 +4,7 @@ declare const DEFAULT_FEATURE_FLAGS: {
4
4
  "interactive-graph-vector": boolean;
5
5
  "interactive-graph-not-scored": boolean;
6
6
  "input-number-to-numeric-input": boolean;
7
+ "grapher-to-interactive-graph": boolean;
7
8
  };
8
9
  /** Utility to get feature flags with optional overrides for testing.
9
10
  * sample usage:
@@ -15,5 +16,6 @@ export declare function getFeatureFlags(overrides?: Partial<typeof DEFAULT_FEATU
15
16
  "interactive-graph-vector": boolean;
16
17
  "interactive-graph-not-scored": boolean;
17
18
  "input-number-to-numeric-input": boolean;
19
+ "grapher-to-interactive-graph": boolean;
18
20
  };
19
21
  export {};
@@ -34,7 +34,7 @@ export declare const useItemRenderer: (item: PerseusItem, apiOptions?: APIOption
34
34
  }>) => void;
35
35
  isMobileApp?: boolean;
36
36
  hintProgressColor?: string;
37
- flags?: Record<"input-number-to-numeric-input", boolean>;
37
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
38
38
  };
39
39
  toggleMobile: (isMobile: boolean) => void;
40
40
  toggleRtl: (isRtl: boolean) => void;
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
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 { Hint, PerseusAnswerArea, PerseusFeatureFlags, PerseusWidget, PerseusWidgetsMap, AnalyticsEventHandlerFn, Version, LabelImageMarkerPublicData, PerseusLabelImageMarker, ShowSolutions } from "@khanacademy/perseus-core";
4
+ import type { Hint, PerseusAnswerArea, PerseusFeatureFlags, PerseusWidget, PerseusWidgetsMap, AnalyticsEventHandlerFn, LabelImageMarkerPublicData, PerseusLabelImageMarker, ShowSolutions } from "@khanacademy/perseus-core";
5
5
  import type { LinterContextProps } from "@khanacademy/perseus-linter";
6
6
  import type { Result } from "@khanacademy/wonder-blocks-data";
7
7
  import type $ from "jquery";
@@ -301,15 +301,6 @@ export type WidgetExports<T extends React.ComponentType<any> & Widget = React.Co
301
301
  widget: T;
302
302
  /** Supresses widget from showing up in the dropdown in the content editor */
303
303
  hidden?: boolean;
304
- /**
305
- * The widget version. Any time the _major_ version changes, the widget
306
- * should provide a new entry in the widget parser to migrate from the
307
- * older version to the current (new) version. Minor version changes must
308
- * be backwards compatible with previous minor versions widget options.
309
- *
310
- * This key defaults to `{major: 0, minor: 0}` if not provided.
311
- */
312
- version?: Version;
313
304
  isLintable?: boolean;
314
305
  tracking?: Tracking;
315
306
  /** When true, the widget editor shows a "Graded" toggle. */
@@ -47,7 +47,7 @@ declare const _default: {
47
47
  isMobile?: boolean;
48
48
  isMobileApp?: boolean;
49
49
  hintProgressColor?: string;
50
- flags?: Record<"input-number-to-numeric-input", boolean>;
50
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
51
51
  }> & {
52
52
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
53
53
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -37,7 +37,7 @@ export declare const Expression: React.ForwardRefExoticComponent<PerseusExpressi
37
37
  isMobile?: boolean;
38
38
  isMobileApp?: boolean;
39
39
  hintProgressColor?: string;
40
- flags?: Record<"input-number-to-numeric-input", boolean>;
40
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
41
41
  }> & {
42
42
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
43
43
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -109,7 +109,7 @@ declare const _default: {
109
109
  isMobile?: boolean;
110
110
  isMobileApp?: boolean;
111
111
  hintProgressColor?: string;
112
- flags?: Record<"input-number-to-numeric-input", boolean>;
112
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
113
113
  }> & {
114
114
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
115
115
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -135,7 +135,6 @@ declare const _default: {
135
135
  functions: NonNullable<ExternalProps["functions"]>;
136
136
  times: NonNullable<ExternalProps["times"]>;
137
137
  } & React.RefAttributes<Widget>>;
138
- version: import("@khanacademy/perseus-core").Version | undefined;
139
138
  isLintable: true;
140
139
  getOneCorrectAnswerFromRubric: typeof getOneCorrectAnswerFromRubric;
141
140
  getStartUserInput: typeof getStartUserInput;
@@ -194,7 +194,7 @@ declare class InteractiveGraph extends React.Component<Props, State> {
194
194
  isMobile?: boolean;
195
195
  isMobileApp?: boolean;
196
196
  hintProgressColor?: string;
197
- flags?: Record<"input-number-to-numeric-input", boolean>;
197
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
198
198
  }> & {
199
199
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
200
200
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -146,7 +146,7 @@ declare const _default: {
146
146
  isMobile?: boolean;
147
147
  isMobileApp?: boolean;
148
148
  hintProgressColor?: string;
149
- flags?: Record<"input-number-to-numeric-input", boolean>;
149
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
150
150
  }> & {
151
151
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
152
152
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -35,6 +35,5 @@ declare const _default: {
35
35
  displayName: string;
36
36
  hidden: true;
37
37
  widget: typeof Measurer;
38
- version: import("@khanacademy/perseus-core").Version | undefined;
39
38
  };
40
39
  export default _default;
@@ -70,7 +70,7 @@ declare class MockWidgetComponent extends React.Component<Props> implements Widg
70
70
  isMobile?: boolean;
71
71
  isMobileApp?: boolean;
72
72
  hintProgressColor?: string;
73
- flags?: Record<"input-number-to-numeric-input", boolean>;
73
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
74
74
  }> & {
75
75
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
76
76
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -78,7 +78,7 @@ export declare class NumericInput extends React.Component<NumericInputProps> imp
78
78
  isMobile?: boolean;
79
79
  isMobileApp?: boolean;
80
80
  hintProgressColor?: string;
81
- flags?: Record<"input-number-to-numeric-input", boolean>;
81
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
82
82
  }> & {
83
83
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
84
84
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -40,7 +40,7 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
40
40
  isMobile?: boolean;
41
41
  isMobileApp?: boolean;
42
42
  hintProgressColor?: string;
43
- flags?: Record<"input-number-to-numeric-input", boolean>;
43
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
44
44
  }> & {
45
45
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
46
46
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -91,7 +91,7 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
91
91
  isMobile?: boolean;
92
92
  isMobileApp?: boolean;
93
93
  hintProgressColor?: string;
94
- flags?: Record<"input-number-to-numeric-input", boolean>;
94
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
95
95
  }> & {
96
96
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
97
97
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -6,7 +6,6 @@ declare const _default: {
6
6
  displayName: string;
7
7
  widget: typeof Radio;
8
8
  getStartUserInput: typeof getStartUserInput;
9
- version: import("@khanacademy/perseus-core").Version | undefined;
10
9
  isLintable: true;
11
10
  /**
12
11
  * @deprecated - do not use in new code.
@@ -78,7 +78,7 @@ declare class Table extends React.Component<Props> implements Widget {
78
78
  isMobile?: boolean;
79
79
  isMobileApp?: boolean;
80
80
  hintProgressColor?: string;
81
- flags?: Record<"input-number-to-numeric-input", boolean>;
81
+ flags?: Record<"input-number-to-numeric-input" | "grapher-to-interactive-graph", boolean>;
82
82
  }> & {
83
83
  baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
84
84
  isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
@@ -5,7 +5,6 @@ import * as React from "react";
5
5
  import { type PerseusDependenciesV2, type WidgetProps } from "../../types";
6
6
  import type { PerseusVideoWidgetOptions } from "@khanacademy/perseus-core";
7
7
  type Props = WidgetProps<PerseusVideoWidgetOptions> & {
8
- alignment: string;
9
8
  dependencies: PerseusDependenciesV2;
10
9
  };
11
10
  declare const _default: {
package/dist/widgets.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import type { Tracking, WidgetExports } from "./types";
2
- import type { Version } from "@khanacademy/perseus-core";
3
2
  import type * as React from "react";
4
3
  type Editor = any;
5
4
  export declare const registerWidget: (type: string, widget: WidgetExports) => void;
@@ -28,10 +27,6 @@ export declare const replaceDeprecatedEditors: () => void;
28
27
  export declare const getWidget: (type: string) => React.ComponentType<any> | null | undefined;
29
28
  export declare const getWidgetExport: (type: string) => WidgetExports | null;
30
29
  export declare const getEditor: (type: string) => Editor | null;
31
- export declare const getVersion: (type: string) => Version | undefined;
32
- export declare const getVersionVector: () => {
33
- [key: string]: Version;
34
- };
35
30
  export declare const getPublicWidgets: () => Record<string, WidgetExports>;
36
31
  export declare const getAllWidgetTypes: () => ReadonlyArray<string>;
37
32
  /**
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.0.0",
6
+ "version": "78.1.0",
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.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",
46
+ "@khanacademy/keypad-context": "3.2.64",
47
+ "@khanacademy/kmath": "2.4.22",
48
+ "@khanacademy/math-input": "26.4.36",
49
+ "@khanacademy/perseus-core": "28.1.0",
50
+ "@khanacademy/perseus-linter": "5.1.3",
51
+ "@khanacademy/perseus-score": "8.11.6",
52
52
  "@khanacademy/perseus-utils": "2.1.5",
53
53
  "@khanacademy/pure-markdown": "2.2.8",
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.2",
59
- "@khanacademy/wonder-blocks-button": "11.6.2",
60
- "@khanacademy/wonder-blocks-clickable": "8.2.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",
61
61
  "@khanacademy/wonder-blocks-core": "12.4.4",
62
62
  "@khanacademy/wonder-blocks-data": "15.0.2",
63
- "@khanacademy/wonder-blocks-dropdown": "10.9.2",
64
- "@khanacademy/wonder-blocks-form": "7.6.2",
65
- "@khanacademy/wonder-blocks-icon": "5.3.16",
66
- "@khanacademy/wonder-blocks-icon-button": "11.3.2",
67
- "@khanacademy/wonder-blocks-labeled-field": "4.1.2",
68
- "@khanacademy/wonder-blocks-layout": "3.1.53",
69
- "@khanacademy/wonder-blocks-link": "10.3.1",
70
- "@khanacademy/wonder-blocks-modal": "8.7.2",
71
- "@khanacademy/wonder-blocks-pill": "3.1.65",
72
- "@khanacademy/wonder-blocks-popover": "6.3.2",
73
- "@khanacademy/wonder-blocks-progress-spinner": "3.1.53",
74
- "@khanacademy/wonder-blocks-switch": "3.4.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",
75
75
  "@khanacademy/wonder-blocks-timing": "7.1.0",
76
- "@khanacademy/wonder-blocks-tokens": "16.6.0",
77
- "@khanacademy/wonder-blocks-tooltip": "4.1.77",
78
- "@khanacademy/wonder-blocks-typography": "4.3.6",
76
+ "@khanacademy/wonder-blocks-tokens": "16.7.0",
77
+ "@khanacademy/wonder-blocks-tooltip": "4.1.79",
78
+ "@khanacademy/wonder-blocks-typography": "4.3.7",
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.2",
96
- "@khanacademy/wonder-blocks-button": "^11.6.2",
97
- "@khanacademy/wonder-blocks-clickable": "^8.2.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",
98
98
  "@khanacademy/wonder-blocks-core": "^12.4.4",
99
99
  "@khanacademy/wonder-blocks-data": "^15.0.2",
100
- "@khanacademy/wonder-blocks-dropdown": "^10.9.2",
101
- "@khanacademy/wonder-blocks-form": "^7.6.2",
102
- "@khanacademy/wonder-blocks-icon": "^5.3.16",
103
- "@khanacademy/wonder-blocks-icon-button": "^11.3.2",
104
- "@khanacademy/wonder-blocks-labeled-field": "^4.1.2",
105
- "@khanacademy/wonder-blocks-layout": "^3.1.53",
106
- "@khanacademy/wonder-blocks-link": "^10.3.1",
107
- "@khanacademy/wonder-blocks-modal": "^8.7.2",
108
- "@khanacademy/wonder-blocks-pill": "^3.1.65",
109
- "@khanacademy/wonder-blocks-popover": "^6.3.2",
110
- "@khanacademy/wonder-blocks-progress-spinner": "^3.1.53",
111
- "@khanacademy/wonder-blocks-switch": "^3.4.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",
112
112
  "@khanacademy/wonder-blocks-timing": "^7.1.0",
113
- "@khanacademy/wonder-blocks-tokens": "^16.6.0",
114
- "@khanacademy/wonder-blocks-tooltip": "^4.1.77",
115
- "@khanacademy/wonder-blocks-typography": "^4.3.6",
113
+ "@khanacademy/wonder-blocks-tokens": "^16.7.0",
114
+ "@khanacademy/wonder-blocks-tooltip": "^4.1.79",
115
+ "@khanacademy/wonder-blocks-typography": "^4.3.7",
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": "8560a5ad63db87f8"
130
+ "catalogHash": "f8aa8f7a427ae82b"
131
131
  },
132
132
  "scripts": {}
133
133
  }
@@ -1,4 +0,0 @@
1
- declare const ItemVersion: {
2
- [key: string]: import("@khanacademy/perseus-core").Version;
3
- };
4
- export default ItemVersion;