@khanacademy/perseus 71.6.0 → 72.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.
- package/dist/es/index.js +5 -7
- package/dist/es/index.js.map +1 -1
- package/dist/index.js +5 -7
- package/dist/index.js.map +1 -1
- package/dist/server-item-renderer.d.ts +0 -2
- package/dist/types.d.ts +0 -14
- package/dist/widgets/expression/expression.d.ts +0 -9
- package/dist/widgets/grapher/grapher.d.ts +0 -3
- package/dist/widgets/interactive-graphs/interactive-graph.d.ts +0 -3
- package/dist/widgets/label-image/label-image.d.ts +0 -3
- package/dist/widgets/mock-widgets/mock-widget.d.ts +0 -3
- package/dist/widgets/numeric-input/numeric-input.class.d.ts +0 -3
- package/dist/widgets/numeric-input/numeric-input.d.ts +0 -6
- package/dist/widgets/plotter/plotter.d.ts +0 -3
- package/dist/widgets/radio/multiple-choice-widget.new.d.ts +0 -3
- package/dist/widgets/radio/radio.ff.d.ts +0 -3
- package/dist/widgets/table/table.d.ts +0 -3
- package/package.json +4 -4
- package/dist/components/stub-tag-editor.d.ts +0 -24
|
@@ -118,7 +118,6 @@ declare const _default: React.ForwardRefExoticComponent<Omit<Pick<SharedRenderer
|
|
|
118
118
|
apiOptions?: Readonly<{
|
|
119
119
|
isArticle?: boolean;
|
|
120
120
|
onFocusChange?: (newFocusPath: FocusPath, oldFocusPath: FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
121
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
122
121
|
showAlignmentOptions?: boolean;
|
|
123
122
|
readOnly?: boolean;
|
|
124
123
|
editingDisabled?: boolean;
|
|
@@ -127,7 +126,6 @@ declare const _default: React.ForwardRefExoticComponent<Omit<Pick<SharedRenderer
|
|
|
127
126
|
interactionCallback?: (widgetData: {
|
|
128
127
|
[widgetId: string]: any;
|
|
129
128
|
}) => void;
|
|
130
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
131
129
|
imagePlaceholder?: React.ReactNode;
|
|
132
130
|
widgetPlaceholder?: React.ReactNode;
|
|
133
131
|
baseElements?: {
|
package/dist/types.d.ts
CHANGED
|
@@ -90,7 +90,6 @@ export type ChangeHandler = (arg1: {
|
|
|
90
90
|
}, callback?: () => void, silent?: boolean) => unknown;
|
|
91
91
|
export type ImageUploader = (file: File, callback: (url: string) => unknown) => unknown;
|
|
92
92
|
export type Path = ReadonlyArray<string>;
|
|
93
|
-
type StubTagEditorType = any;
|
|
94
93
|
type TrackInteractionArgs = {
|
|
95
94
|
type: string;
|
|
96
95
|
id: string;
|
|
@@ -109,10 +108,6 @@ export type GenerateUrlArgs = {
|
|
|
109
108
|
export type APIOptions = Readonly<{
|
|
110
109
|
isArticle?: boolean;
|
|
111
110
|
onFocusChange?: (newFocusPath: FocusPath, oldFocusPath: FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
112
|
-
/**
|
|
113
|
-
* @deprecated - metadata is no longer used by the Group widget
|
|
114
|
-
*/
|
|
115
|
-
GroupMetadataEditor?: React.ComponentType<StubTagEditorType>;
|
|
116
111
|
showAlignmentOptions?: boolean;
|
|
117
112
|
/**
|
|
118
113
|
* A boolean that indicates whether the associated problem has been
|
|
@@ -129,14 +124,6 @@ export type APIOptions = Readonly<{
|
|
|
129
124
|
interactionCallback?: (widgetData: {
|
|
130
125
|
[widgetId: string]: any;
|
|
131
126
|
}) => void;
|
|
132
|
-
/**
|
|
133
|
-
* A function that takes in the relative problem number (starts at
|
|
134
|
-
* 0 and is incremented for each group widget), and the ID of the
|
|
135
|
-
* group widget, then returns a react component that will be added
|
|
136
|
-
* immediately above the renderer in the group widget. If the
|
|
137
|
-
* function returns null, no annotation will be added.
|
|
138
|
-
*/
|
|
139
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
140
127
|
/**
|
|
141
128
|
* If imagePlaceholder is set, Perseus will render the placeholder instead
|
|
142
129
|
* of the image node.
|
|
@@ -328,7 +315,6 @@ export type APIOptionsWithDefaults = Readonly<APIOptions & {
|
|
|
328
315
|
baseElements: NonNullable<APIOptions["baseElements"]>;
|
|
329
316
|
canScrollPage: NonNullable<APIOptions["canScrollPage"]>;
|
|
330
317
|
editorChangeDelay: NonNullable<APIOptions["editorChangeDelay"]>;
|
|
331
|
-
groupAnnotator: NonNullable<APIOptions["groupAnnotator"]>;
|
|
332
318
|
isArticle: NonNullable<APIOptions["isArticle"]>;
|
|
333
319
|
isMobile: NonNullable<APIOptions["isMobile"]>;
|
|
334
320
|
isMobileApp: NonNullable<APIOptions["isMobileApp"]>;
|
|
@@ -70,7 +70,6 @@ export declare class Expression extends React.Component<Props> implements Widget
|
|
|
70
70
|
apiOptions: Readonly<Readonly<{
|
|
71
71
|
isArticle?: boolean;
|
|
72
72
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
73
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
74
73
|
showAlignmentOptions?: boolean;
|
|
75
74
|
readOnly?: boolean;
|
|
76
75
|
editingDisabled?: boolean;
|
|
@@ -79,7 +78,6 @@ export declare class Expression extends React.Component<Props> implements Widget
|
|
|
79
78
|
interactionCallback?: (widgetData: {
|
|
80
79
|
[widgetId: string]: any;
|
|
81
80
|
}) => void;
|
|
82
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
83
81
|
imagePlaceholder?: React.ReactNode;
|
|
84
82
|
widgetPlaceholder?: React.ReactNode;
|
|
85
83
|
baseElements?: {
|
|
@@ -106,7 +104,6 @@ export declare class Expression extends React.Component<Props> implements Widget
|
|
|
106
104
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
107
105
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
108
106
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
109
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
110
107
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
111
108
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
112
109
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -157,7 +154,6 @@ declare const _default: {
|
|
|
157
154
|
apiOptions: Readonly<Readonly<{
|
|
158
155
|
isArticle?: boolean;
|
|
159
156
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
160
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
161
157
|
showAlignmentOptions?: boolean;
|
|
162
158
|
readOnly?: boolean;
|
|
163
159
|
editingDisabled?: boolean;
|
|
@@ -166,7 +162,6 @@ declare const _default: {
|
|
|
166
162
|
interactionCallback?: (widgetData: {
|
|
167
163
|
[widgetId: string]: any;
|
|
168
164
|
}) => void;
|
|
169
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
170
165
|
imagePlaceholder?: React.ReactNode;
|
|
171
166
|
widgetPlaceholder?: React.ReactNode;
|
|
172
167
|
baseElements?: {
|
|
@@ -193,7 +188,6 @@ declare const _default: {
|
|
|
193
188
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
194
189
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
195
190
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
196
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
197
191
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
198
192
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
199
193
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -231,7 +225,6 @@ declare const _default: {
|
|
|
231
225
|
apiOptions?: Readonly<Readonly<{
|
|
232
226
|
isArticle?: boolean;
|
|
233
227
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
234
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
235
228
|
showAlignmentOptions?: boolean;
|
|
236
229
|
readOnly?: boolean;
|
|
237
230
|
editingDisabled?: boolean;
|
|
@@ -240,7 +233,6 @@ declare const _default: {
|
|
|
240
233
|
interactionCallback?: (widgetData: {
|
|
241
234
|
[widgetId: string]: any;
|
|
242
235
|
}) => void;
|
|
243
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
244
236
|
imagePlaceholder?: React.ReactNode;
|
|
245
237
|
widgetPlaceholder?: React.ReactNode;
|
|
246
238
|
baseElements?: {
|
|
@@ -267,7 +259,6 @@ declare const _default: {
|
|
|
267
259
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
268
260
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
269
261
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
270
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
271
262
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
272
263
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
273
264
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -61,7 +61,6 @@ declare class Grapher extends React.Component<Props> implements Widget {
|
|
|
61
61
|
apiOptions: Readonly<Readonly<{
|
|
62
62
|
isArticle?: boolean;
|
|
63
63
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
64
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
65
64
|
showAlignmentOptions?: boolean;
|
|
66
65
|
readOnly?: boolean;
|
|
67
66
|
editingDisabled?: boolean;
|
|
@@ -70,7 +69,6 @@ declare class Grapher extends React.Component<Props> implements Widget {
|
|
|
70
69
|
interactionCallback?: (widgetData: {
|
|
71
70
|
[widgetId: string]: any;
|
|
72
71
|
}) => void;
|
|
73
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
74
72
|
imagePlaceholder?: React.ReactNode;
|
|
75
73
|
widgetPlaceholder?: React.ReactNode;
|
|
76
74
|
baseElements?: {
|
|
@@ -97,7 +95,6 @@ declare class Grapher extends React.Component<Props> implements Widget {
|
|
|
97
95
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
98
96
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
99
97
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
100
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
101
98
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
102
99
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
103
100
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -162,7 +162,6 @@ declare class InteractiveGraph extends React.Component<Props, State> {
|
|
|
162
162
|
apiOptions: Readonly<Readonly<{
|
|
163
163
|
isArticle?: boolean;
|
|
164
164
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
165
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
166
165
|
showAlignmentOptions?: boolean;
|
|
167
166
|
readOnly?: boolean;
|
|
168
167
|
editingDisabled?: boolean;
|
|
@@ -171,7 +170,6 @@ declare class InteractiveGraph extends React.Component<Props, State> {
|
|
|
171
170
|
interactionCallback?: (widgetData: {
|
|
172
171
|
[widgetId: string]: any;
|
|
173
172
|
}) => void;
|
|
174
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
175
173
|
imagePlaceholder?: React.ReactNode;
|
|
176
174
|
widgetPlaceholder?: React.ReactNode;
|
|
177
175
|
baseElements?: {
|
|
@@ -198,7 +196,6 @@ declare class InteractiveGraph extends React.Component<Props, State> {
|
|
|
198
196
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
199
197
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
200
198
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
201
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
202
199
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
203
200
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
204
201
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -121,7 +121,6 @@ declare const _default: {
|
|
|
121
121
|
apiOptions: Readonly<Readonly<{
|
|
122
122
|
isArticle?: boolean;
|
|
123
123
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
124
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
125
124
|
showAlignmentOptions?: boolean;
|
|
126
125
|
readOnly?: boolean;
|
|
127
126
|
editingDisabled?: boolean;
|
|
@@ -130,7 +129,6 @@ declare const _default: {
|
|
|
130
129
|
interactionCallback?: (widgetData: {
|
|
131
130
|
[widgetId: string]: any;
|
|
132
131
|
}) => void;
|
|
133
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
134
132
|
imagePlaceholder?: React.ReactNode;
|
|
135
133
|
widgetPlaceholder?: React.ReactNode;
|
|
136
134
|
baseElements?: {
|
|
@@ -157,7 +155,6 @@ declare const _default: {
|
|
|
157
155
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
158
156
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
159
157
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
160
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
161
158
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
162
159
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
163
160
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -45,7 +45,6 @@ declare class MockWidgetComponent extends React.Component<Props> implements Widg
|
|
|
45
45
|
apiOptions: Readonly<Readonly<{
|
|
46
46
|
isArticle?: boolean;
|
|
47
47
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
48
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
49
48
|
showAlignmentOptions?: boolean;
|
|
50
49
|
readOnly?: boolean;
|
|
51
50
|
editingDisabled?: boolean;
|
|
@@ -54,7 +53,6 @@ declare class MockWidgetComponent extends React.Component<Props> implements Widg
|
|
|
54
53
|
interactionCallback?: (widgetData: {
|
|
55
54
|
[widgetId: string]: any;
|
|
56
55
|
}) => void;
|
|
57
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
58
56
|
imagePlaceholder?: React.ReactNode;
|
|
59
57
|
widgetPlaceholder?: React.ReactNode;
|
|
60
58
|
baseElements?: {
|
|
@@ -81,7 +79,6 @@ declare class MockWidgetComponent extends React.Component<Props> implements Widg
|
|
|
81
79
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
82
80
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
83
81
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
84
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
85
82
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
86
83
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
87
84
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -52,7 +52,6 @@ export declare class NumericInput extends React.Component<NumericInputProps> imp
|
|
|
52
52
|
apiOptions: Readonly<Readonly<{
|
|
53
53
|
isArticle?: boolean;
|
|
54
54
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
55
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
56
55
|
showAlignmentOptions?: boolean;
|
|
57
56
|
readOnly?: boolean;
|
|
58
57
|
editingDisabled?: boolean;
|
|
@@ -61,7 +60,6 @@ export declare class NumericInput extends React.Component<NumericInputProps> imp
|
|
|
61
60
|
interactionCallback?: (widgetData: {
|
|
62
61
|
[widgetId: string]: any;
|
|
63
62
|
}) => void;
|
|
64
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
65
63
|
imagePlaceholder?: React.ReactNode;
|
|
66
64
|
widgetPlaceholder?: React.ReactNode;
|
|
67
65
|
baseElements?: {
|
|
@@ -88,7 +86,6 @@ export declare class NumericInput extends React.Component<NumericInputProps> imp
|
|
|
88
86
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
89
87
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
90
88
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
91
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
92
89
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
93
90
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
94
91
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -15,7 +15,6 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
|
|
|
15
15
|
apiOptions: Readonly<Readonly<{
|
|
16
16
|
isArticle?: boolean;
|
|
17
17
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
18
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
19
18
|
showAlignmentOptions?: boolean;
|
|
20
19
|
readOnly?: boolean;
|
|
21
20
|
editingDisabled?: boolean;
|
|
@@ -24,7 +23,6 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
|
|
|
24
23
|
interactionCallback?: (widgetData: {
|
|
25
24
|
[widgetId: string]: any;
|
|
26
25
|
}) => void;
|
|
27
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
28
26
|
imagePlaceholder?: React.ReactNode;
|
|
29
27
|
widgetPlaceholder?: React.ReactNode;
|
|
30
28
|
baseElements?: {
|
|
@@ -51,7 +49,6 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
|
|
|
51
49
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
52
50
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
53
51
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
54
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
55
52
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
56
53
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
57
54
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -78,7 +75,6 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
|
|
|
78
75
|
apiOptions: NonNullable<Readonly<Readonly<{
|
|
79
76
|
isArticle?: boolean;
|
|
80
77
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
81
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
82
78
|
showAlignmentOptions?: boolean;
|
|
83
79
|
readOnly?: boolean;
|
|
84
80
|
editingDisabled?: boolean;
|
|
@@ -87,7 +83,6 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
|
|
|
87
83
|
interactionCallback?: (widgetData: {
|
|
88
84
|
[widgetId: string]: any;
|
|
89
85
|
}) => void;
|
|
90
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
91
86
|
imagePlaceholder?: React.ReactNode;
|
|
92
87
|
widgetPlaceholder?: React.ReactNode;
|
|
93
88
|
baseElements?: {
|
|
@@ -114,7 +109,6 @@ export declare const NumericInputComponent: React.ForwardRefExoticComponent<impo
|
|
|
114
109
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
115
110
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
116
111
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
117
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
118
112
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
119
113
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
120
114
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -99,7 +99,6 @@ declare class Plotter extends React.Component<Props, State> implements Widget {
|
|
|
99
99
|
apiOptions: Readonly<Readonly<{
|
|
100
100
|
isArticle?: boolean;
|
|
101
101
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
102
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
103
102
|
showAlignmentOptions?: boolean;
|
|
104
103
|
readOnly?: boolean;
|
|
105
104
|
editingDisabled?: boolean;
|
|
@@ -108,7 +107,6 @@ declare class Plotter extends React.Component<Props, State> implements Widget {
|
|
|
108
107
|
interactionCallback?: (widgetData: {
|
|
109
108
|
[widgetId: string]: any;
|
|
110
109
|
}) => void;
|
|
111
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
112
110
|
imagePlaceholder?: React.ReactNode;
|
|
113
111
|
widgetPlaceholder?: React.ReactNode;
|
|
114
112
|
baseElements?: {
|
|
@@ -135,7 +133,6 @@ declare class Plotter extends React.Component<Props, State> implements Widget {
|
|
|
135
133
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
136
134
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
137
135
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
138
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
139
136
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
140
137
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
141
138
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -48,7 +48,6 @@ declare const Radio: React.ForwardRefExoticComponent<RadioProps & {
|
|
|
48
48
|
apiOptions: Readonly<Readonly<{
|
|
49
49
|
isArticle?: boolean;
|
|
50
50
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
51
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
52
51
|
showAlignmentOptions?: boolean;
|
|
53
52
|
readOnly?: boolean;
|
|
54
53
|
editingDisabled?: boolean;
|
|
@@ -57,7 +56,6 @@ declare const Radio: React.ForwardRefExoticComponent<RadioProps & {
|
|
|
57
56
|
interactionCallback?: (widgetData: {
|
|
58
57
|
[widgetId: string]: any;
|
|
59
58
|
}) => void;
|
|
60
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
61
59
|
imagePlaceholder?: React.ReactNode;
|
|
62
60
|
widgetPlaceholder?: React.ReactNode;
|
|
63
61
|
baseElements?: {
|
|
@@ -84,7 +82,6 @@ declare const Radio: React.ForwardRefExoticComponent<RadioProps & {
|
|
|
84
82
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
85
83
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
86
84
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
87
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
88
85
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
89
86
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
90
87
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -47,7 +47,6 @@ declare class Radio extends RadioOld {
|
|
|
47
47
|
apiOptions: Readonly<Readonly<{
|
|
48
48
|
isArticle?: boolean;
|
|
49
49
|
onFocusChange?: (newFocusPath: import("../..").FocusPath, oldFocusPath: import("../..").FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
50
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
51
50
|
showAlignmentOptions?: boolean;
|
|
52
51
|
readOnly?: boolean;
|
|
53
52
|
editingDisabled?: boolean;
|
|
@@ -56,7 +55,6 @@ declare class Radio extends RadioOld {
|
|
|
56
55
|
interactionCallback?: (widgetData: {
|
|
57
56
|
[widgetId: string]: any;
|
|
58
57
|
}) => void;
|
|
59
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
60
58
|
imagePlaceholder?: React.ReactNode;
|
|
61
59
|
widgetPlaceholder?: React.ReactNode;
|
|
62
60
|
baseElements?: {
|
|
@@ -83,7 +81,6 @@ declare class Radio extends RadioOld {
|
|
|
83
81
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
84
82
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
85
83
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
86
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
87
84
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
88
85
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
89
86
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
|
@@ -53,7 +53,6 @@ declare class Table extends React.Component<Props> implements Widget {
|
|
|
53
53
|
apiOptions: Readonly<Readonly<{
|
|
54
54
|
isArticle?: boolean;
|
|
55
55
|
onFocusChange?: (newFocusPath: FocusPath, oldFocusPath: FocusPath, keypadHeight?: number, focusedElement?: HTMLElement) => unknown;
|
|
56
|
-
GroupMetadataEditor?: React.ComponentType<any>;
|
|
57
56
|
showAlignmentOptions?: boolean;
|
|
58
57
|
readOnly?: boolean;
|
|
59
58
|
editingDisabled?: boolean;
|
|
@@ -62,7 +61,6 @@ declare class Table extends React.Component<Props> implements Widget {
|
|
|
62
61
|
interactionCallback?: (widgetData: {
|
|
63
62
|
[widgetId: string]: any;
|
|
64
63
|
}) => void;
|
|
65
|
-
groupAnnotator?: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
66
64
|
imagePlaceholder?: React.ReactNode;
|
|
67
65
|
widgetPlaceholder?: React.ReactNode;
|
|
68
66
|
baseElements?: {
|
|
@@ -89,7 +87,6 @@ declare class Table extends React.Component<Props> implements Widget {
|
|
|
89
87
|
baseElements: NonNullable<import("../..").APIOptions["baseElements"]>;
|
|
90
88
|
canScrollPage: NonNullable<import("../..").APIOptions["canScrollPage"]>;
|
|
91
89
|
editorChangeDelay: NonNullable<import("../..").APIOptions["editorChangeDelay"]>;
|
|
92
|
-
groupAnnotator: NonNullable<import("../..").APIOptions["groupAnnotator"]>;
|
|
93
90
|
isArticle: NonNullable<import("../..").APIOptions["isArticle"]>;
|
|
94
91
|
isMobile: NonNullable<import("../..").APIOptions["isMobile"]>;
|
|
95
92
|
isMobileApp: NonNullable<import("../..").APIOptions["isMobileApp"]>;
|
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": "
|
|
6
|
+
"version": "72.0.0",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"@khanacademy/kas": "2.1.3",
|
|
45
45
|
"@khanacademy/keypad-context": "3.2.15",
|
|
46
46
|
"@khanacademy/kmath": "2.2.15",
|
|
47
|
-
"@khanacademy/math-input": "26.2.17",
|
|
48
47
|
"@khanacademy/perseus-core": "20.1.3",
|
|
48
|
+
"@khanacademy/math-input": "26.2.17",
|
|
49
49
|
"@khanacademy/perseus-linter": "4.4.5",
|
|
50
50
|
"@khanacademy/perseus-score": "8.0.4",
|
|
51
51
|
"@khanacademy/perseus-utils": "2.1.1",
|
|
@@ -88,8 +88,8 @@
|
|
|
88
88
|
"react-dom": "18.2.0",
|
|
89
89
|
"react-popper": "^2.2.5",
|
|
90
90
|
"underscore": "1.4.4",
|
|
91
|
-
"
|
|
92
|
-
"
|
|
91
|
+
"perseus-build-settings": "0.9.0",
|
|
92
|
+
"raphael": "1.5.4"
|
|
93
93
|
},
|
|
94
94
|
"peerDependencies": {
|
|
95
95
|
"@khanacademy/wonder-blocks-announcer": "^1.0.4",
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Stub Tag Editor.
|
|
4
|
-
*
|
|
5
|
-
* This is stupidly used by Perseus Zero because I didn't implement
|
|
6
|
-
* the <TagEditor> for Perseus Zero (since everyone wants me to
|
|
7
|
-
* delete it anyways).
|
|
8
|
-
*
|
|
9
|
-
* This is a small wrapper for a TextListEditor that allows us to
|
|
10
|
-
* edit raw Tag ID strings in perseus zero (please don't use this).
|
|
11
|
-
*
|
|
12
|
-
* It also gives a nicer interface for the group metadata editor
|
|
13
|
-
* in local demo mode.
|
|
14
|
-
*/
|
|
15
|
-
declare class StubTagEditor extends React.Component<any> {
|
|
16
|
-
static propTypes: {
|
|
17
|
-
value: any;
|
|
18
|
-
onChange: any;
|
|
19
|
-
showTitle: any;
|
|
20
|
-
};
|
|
21
|
-
static defaultProps: any;
|
|
22
|
-
render(): React.ReactNode;
|
|
23
|
-
}
|
|
24
|
-
export default StubTagEditor;
|