@khanacademy/perseus 22.7.0 → 23.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.
- package/dist/es/index.css +2 -14
- package/dist/es/index.js +249 -73
- package/dist/es/index.js.map +1 -1
- package/dist/index.css +2 -14
- package/dist/index.d.ts +1 -1
- package/dist/index.js +254 -72
- package/dist/index.js.map +1 -1
- package/dist/perseus-api.d.ts +3 -6
- package/dist/perseus-types.d.ts +10 -3
- package/dist/server-item-renderer.d.ts +3 -2
- package/dist/types.d.ts +2 -9
- package/dist/widgets/definition.d.ts +0 -1
- package/dist/widgets/explanation.d.ts +0 -1
- package/dist/widgets/expression.d.ts +20 -26
- package/dist/widgets/interactive-graph.d.ts +2 -1
- package/dist/widgets/interactive-graphs/graphs/index.d.ts +2 -0
- package/dist/widgets/interactive-graphs/graphs/quadratic.d.ts +9 -0
- package/dist/widgets/interactive-graphs/graphs/sinusoid.d.ts +14 -0
- package/dist/widgets/interactive-graphs/interactive-graph-question-builder.d.ts +6 -1
- package/dist/widgets/interactive-graphs/locked-circle.d.ts +4 -0
- package/dist/widgets/interactive-graphs/mafs-supported-graph-types.d.ts +1 -1
- package/dist/widgets/interactive-graphs/types.d.ts +9 -1
- package/dist/widgets/label-image.d.ts +6 -4
- package/dist/widgets/matcher.d.ts +0 -2
- package/dist/widgets/sorter.d.ts +0 -2
- package/package.json +4 -4
package/dist/perseus-api.d.ts
CHANGED
|
@@ -54,10 +54,8 @@ export declare const ApiOptions: {
|
|
|
54
54
|
nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
|
|
55
55
|
isMobile: PropTypes.Requireable<boolean>;
|
|
56
56
|
setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
|
|
57
|
-
useDraftEditor: PropTypes.Requireable<boolean>;
|
|
58
57
|
hintProgressColor: PropTypes.Requireable<string>;
|
|
59
58
|
canScrollPage: PropTypes.Requireable<boolean>;
|
|
60
|
-
inModal: PropTypes.Requireable<boolean>;
|
|
61
59
|
crossOutEnabled: PropTypes.Requireable<boolean>;
|
|
62
60
|
editorChangeDelay: PropTypes.Requireable<number>;
|
|
63
61
|
}>>>;
|
|
@@ -89,10 +87,8 @@ export declare const ApiOptions: {
|
|
|
89
87
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
90
88
|
isMobile?: boolean | undefined;
|
|
91
89
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
92
|
-
useDraftEditor?: boolean | undefined;
|
|
93
90
|
hintProgressColor?: string | undefined;
|
|
94
91
|
canScrollPage?: boolean | undefined;
|
|
95
|
-
inModal?: boolean | undefined;
|
|
96
92
|
crossOutEnabled?: boolean | undefined;
|
|
97
93
|
editorChangeDelay?: number | undefined;
|
|
98
94
|
flags?: {
|
|
@@ -100,11 +96,14 @@ export declare const ApiOptions: {
|
|
|
100
96
|
circle?: boolean | undefined;
|
|
101
97
|
polygon?: boolean | undefined;
|
|
102
98
|
linear?: boolean | undefined;
|
|
99
|
+
quadratic?: boolean | undefined;
|
|
100
|
+
sinusoid?: boolean | undefined;
|
|
103
101
|
segment?: boolean | undefined;
|
|
104
102
|
"linear-system"?: boolean | undefined;
|
|
105
103
|
ray?: boolean | undefined;
|
|
106
104
|
} & {
|
|
107
105
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
106
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
108
107
|
}) | undefined;
|
|
109
108
|
} | undefined;
|
|
110
109
|
onWidgetStartProps?: ((widgets: import("./perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -117,7 +116,6 @@ export declare const ApiOptions: {
|
|
|
117
116
|
crossOutEnabled: NonNullable<boolean | undefined>;
|
|
118
117
|
editorChangeDelay: number;
|
|
119
118
|
groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
120
|
-
inModal: NonNullable<boolean | undefined>;
|
|
121
119
|
isArticle: NonNullable<boolean | undefined>;
|
|
122
120
|
isMobile: NonNullable<boolean | undefined>;
|
|
123
121
|
onFocusChange: (newFocusPath: import("./types").FocusPath, oldFocusPath: import("./types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
|
|
@@ -125,7 +123,6 @@ export declare const ApiOptions: {
|
|
|
125
123
|
readOnly: NonNullable<boolean | undefined>;
|
|
126
124
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
127
125
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
128
|
-
useDraftEditor: NonNullable<boolean | undefined>;
|
|
129
126
|
}>;
|
|
130
127
|
};
|
|
131
128
|
export declare const ClassNames: {
|
package/dist/perseus-types.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export type Range = Interval;
|
|
|
4
4
|
export type Size = [number, number];
|
|
5
5
|
export type CollinearTuple = readonly [vec.Vector2, vec.Vector2];
|
|
6
6
|
export type ShowSolutions = "all" | "selected" | "none";
|
|
7
|
-
type Empty = Record<never, never>;
|
|
8
7
|
export type PerseusWidgetsMap = {
|
|
9
8
|
[key in `categorizer ${number}`]: CategorizerWidget;
|
|
10
9
|
} & {
|
|
@@ -350,7 +349,7 @@ export type PerseusInteractiveGraphWidgetOptions = {
|
|
|
350
349
|
declare const lockedFigureColorNames: readonly ["green", "grayH", "purple", "pink", "red"];
|
|
351
350
|
export type LockedFigureColor = (typeof lockedFigureColorNames)[number];
|
|
352
351
|
export declare const lockedFigureColors: Record<LockedFigureColor, string>;
|
|
353
|
-
export type LockedFigure = LockedPointType | LockedLineType;
|
|
352
|
+
export type LockedFigure = LockedPointType | LockedLineType | LockedCircleType;
|
|
354
353
|
export type LockedFigureType = LockedFigure["type"];
|
|
355
354
|
export type LockedPointType = {
|
|
356
355
|
type: "point";
|
|
@@ -367,6 +366,14 @@ export type LockedLineType = {
|
|
|
367
366
|
showPoint1: boolean;
|
|
368
367
|
showPoint2: boolean;
|
|
369
368
|
};
|
|
369
|
+
export type LockedCircleType = {
|
|
370
|
+
type: "circle";
|
|
371
|
+
center: Coord;
|
|
372
|
+
radius: number;
|
|
373
|
+
color: LockedFigureColor;
|
|
374
|
+
fillStyle: "none" | "solid" | "translucent";
|
|
375
|
+
strokeStyle: "solid" | "dashed";
|
|
376
|
+
};
|
|
370
377
|
export type PerseusGraphType = PerseusGraphTypeAngle | PerseusGraphTypeCircle | PerseusGraphTypeLinear | PerseusGraphTypeLinearSystem | PerseusGraphTypePoint | PerseusGraphTypePolygon | PerseusGraphTypeQuadratic | PerseusGraphTypeRay | PerseusGraphTypeSegment | PerseusGraphTypeSinusoid;
|
|
371
378
|
export type PerseusGraphTypeCommon = {
|
|
372
379
|
coord?: Coord;
|
|
@@ -409,7 +416,7 @@ export type PerseusGraphTypePolygon = {
|
|
|
409
416
|
} & PerseusGraphTypeCommon;
|
|
410
417
|
export type PerseusGraphTypeQuadratic = {
|
|
411
418
|
type: "quadratic";
|
|
412
|
-
coords?:
|
|
419
|
+
coords?: [Coord, Coord, Coord];
|
|
413
420
|
} & PerseusGraphTypeCommon;
|
|
414
421
|
export type PerseusGraphTypeSegment = {
|
|
415
422
|
type: "segment";
|
|
@@ -134,10 +134,8 @@ declare const ref: React.ForwardRefExoticComponent<Omit<Pick<OwnProps & HOCProps
|
|
|
134
134
|
nativeKeypadProxy?: ((blur: () => void) => KeypadAPI) | undefined;
|
|
135
135
|
isMobile?: boolean | undefined;
|
|
136
136
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
137
|
-
useDraftEditor?: boolean | undefined;
|
|
138
137
|
hintProgressColor?: string | undefined;
|
|
139
138
|
canScrollPage?: boolean | undefined;
|
|
140
|
-
inModal?: boolean | undefined;
|
|
141
139
|
crossOutEnabled?: boolean | undefined;
|
|
142
140
|
editorChangeDelay?: number | undefined;
|
|
143
141
|
flags?: {
|
|
@@ -145,11 +143,14 @@ declare const ref: React.ForwardRefExoticComponent<Omit<Pick<OwnProps & HOCProps
|
|
|
145
143
|
circle?: boolean | undefined;
|
|
146
144
|
polygon?: boolean | undefined;
|
|
147
145
|
linear?: boolean | undefined;
|
|
146
|
+
quadratic?: boolean | undefined;
|
|
147
|
+
sinusoid?: boolean | undefined;
|
|
148
148
|
segment?: boolean | undefined;
|
|
149
149
|
"linear-system"?: boolean | undefined;
|
|
150
150
|
ray?: boolean | undefined;
|
|
151
151
|
} & {
|
|
152
152
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
153
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
153
154
|
}) | undefined;
|
|
154
155
|
} | undefined;
|
|
155
156
|
onWidgetStartProps?: ((widgets: import("./perseus-types").PerseusWidgetsMap) => void) | undefined;
|
package/dist/types.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ import type { LinterContextProps } from "@khanacademy/perseus-linter";
|
|
|
10
10
|
import type { Result } from "@khanacademy/wonder-blocks-data";
|
|
11
11
|
import type * as React from "react";
|
|
12
12
|
export type FocusPath = ReadonlyArray<string> | null | undefined;
|
|
13
|
-
type Empty = Record<never, never>;
|
|
14
13
|
export type Dimensions = {
|
|
15
14
|
width?: number;
|
|
16
15
|
height?: number;
|
|
@@ -78,8 +77,8 @@ type TrackInteractionArgs = {
|
|
|
78
77
|
id: string;
|
|
79
78
|
correct?: boolean;
|
|
80
79
|
} & Partial<TrackingGradedGroupExtraArguments> & Partial<TrackingSequenceExtraArguments>;
|
|
81
|
-
export declare const MafsGraphTypeFlags: readonly ["segment", "linear", "linear-system", "ray", "polygon", "circle"];
|
|
82
|
-
export declare const InteractiveGraphLockedFeaturesFlags: readonly ["interactive-graph-locked-features-m1"];
|
|
80
|
+
export declare const MafsGraphTypeFlags: readonly ["segment", "linear", "linear-system", "ray", "polygon", "circle", "quadratic", "sinusoid"];
|
|
81
|
+
export declare const InteractiveGraphLockedFeaturesFlags: readonly ["interactive-graph-locked-features-m1", "interactive-graph-locked-features-m2"];
|
|
83
82
|
/**
|
|
84
83
|
* APIOptions provides different ways to customize the behaviour of Perseus.
|
|
85
84
|
*
|
|
@@ -164,8 +163,6 @@ export type APIOptions = Readonly<{
|
|
|
164
163
|
* Previously handled by `Khan.scratchpad.enable/disable`
|
|
165
164
|
*/
|
|
166
165
|
setDrawingAreaAvailable?: (arg1: boolean) => unknown;
|
|
167
|
-
/** Whether to use the Draft.js editor or the legacy textarea */
|
|
168
|
-
useDraftEditor?: boolean;
|
|
169
166
|
/** The color used for the hint progress indicator (eg. 1 / 3) */
|
|
170
167
|
hintProgressColor?: string;
|
|
171
168
|
/**
|
|
@@ -177,8 +174,6 @@ export type APIOptions = Readonly<{
|
|
|
177
174
|
* Defaults to `false`.
|
|
178
175
|
*/
|
|
179
176
|
canScrollPage?: boolean;
|
|
180
|
-
/** Whether or not we are rendering content inside of a modal. */
|
|
181
|
-
inModal?: boolean;
|
|
182
177
|
/**
|
|
183
178
|
* Whether to enable the cross-out feature on multiple-choice radio
|
|
184
179
|
* widgets. This allows users to note which answers they believe to
|
|
@@ -306,7 +301,6 @@ export type APIOptionsWithDefaults = Readonly<APIOptions & {
|
|
|
306
301
|
crossOutEnabled: NonNullable<APIOptions["crossOutEnabled"]>;
|
|
307
302
|
editorChangeDelay: NonNullable<APIOptions["editorChangeDelay"]>;
|
|
308
303
|
groupAnnotator: NonNullable<APIOptions["groupAnnotator"]>;
|
|
309
|
-
inModal: NonNullable<APIOptions["inModal"]>;
|
|
310
304
|
isArticle: NonNullable<APIOptions["isArticle"]>;
|
|
311
305
|
isMobile: NonNullable<APIOptions["isMobile"]>;
|
|
312
306
|
onFocusChange: NonNullable<APIOptions["onFocusChange"]>;
|
|
@@ -314,7 +308,6 @@ export type APIOptionsWithDefaults = Readonly<APIOptions & {
|
|
|
314
308
|
readOnly: NonNullable<APIOptions["readOnly"]>;
|
|
315
309
|
setDrawingAreaAvailable: NonNullable<APIOptions["setDrawingAreaAvailable"]>;
|
|
316
310
|
showAlignmentOptions: NonNullable<APIOptions["showAlignmentOptions"]>;
|
|
317
|
-
useDraftEditor: NonNullable<APIOptions["useDraftEditor"]>;
|
|
318
311
|
}>;
|
|
319
312
|
export type Tracking = "" | "all";
|
|
320
313
|
export type TrackingGradedGroupExtraArguments = {
|
|
@@ -2,7 +2,6 @@ import * as React from "react";
|
|
|
2
2
|
import { PerseusI18nContext } from "../components/i18n-context";
|
|
3
3
|
import type { PerseusRenderer, PerseusDefinitionWidgetOptions } from "../perseus-types";
|
|
4
4
|
import type { PerseusScore, WidgetProps } from "../types";
|
|
5
|
-
type Empty = Record<never, never>;
|
|
6
5
|
type RenderProps = PerseusDefinitionWidgetOptions;
|
|
7
6
|
type Rubric = PerseusDefinitionWidgetOptions;
|
|
8
7
|
type UserInput = Empty;
|
|
@@ -2,7 +2,6 @@ import * as React from "react";
|
|
|
2
2
|
import { PerseusI18nContext } from "../components/i18n-context";
|
|
3
3
|
import type { PerseusExplanationWidgetOptions } from "../perseus-types";
|
|
4
4
|
import type { PerseusScore, WidgetProps } from "../types";
|
|
5
|
-
type Empty = Record<never, never>;
|
|
6
5
|
type RenderProps = PerseusExplanationWidgetOptions;
|
|
7
6
|
type Rubric = PerseusExplanationWidgetOptions;
|
|
8
7
|
type UserInput = Empty;
|
|
@@ -128,10 +128,8 @@ declare const _default: Readonly<{
|
|
|
128
128
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
129
129
|
isMobile?: boolean | undefined;
|
|
130
130
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
131
|
-
useDraftEditor?: boolean | undefined;
|
|
132
131
|
hintProgressColor?: string | undefined;
|
|
133
132
|
canScrollPage?: boolean | undefined;
|
|
134
|
-
inModal?: boolean | undefined;
|
|
135
133
|
crossOutEnabled?: boolean | undefined;
|
|
136
134
|
editorChangeDelay?: number | undefined;
|
|
137
135
|
flags?: {
|
|
@@ -139,11 +137,14 @@ declare const _default: Readonly<{
|
|
|
139
137
|
circle?: boolean | undefined;
|
|
140
138
|
polygon?: boolean | undefined;
|
|
141
139
|
linear?: boolean | undefined;
|
|
140
|
+
quadratic?: boolean | undefined;
|
|
141
|
+
sinusoid?: boolean | undefined;
|
|
142
142
|
segment?: boolean | undefined;
|
|
143
143
|
"linear-system"?: boolean | undefined;
|
|
144
144
|
ray?: boolean | undefined;
|
|
145
145
|
} & {
|
|
146
146
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
147
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
147
148
|
}) | undefined;
|
|
148
149
|
} | undefined;
|
|
149
150
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -156,7 +157,6 @@ declare const _default: Readonly<{
|
|
|
156
157
|
crossOutEnabled: NonNullable<boolean | undefined>;
|
|
157
158
|
editorChangeDelay: number;
|
|
158
159
|
groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
159
|
-
inModal: NonNullable<boolean | undefined>;
|
|
160
160
|
isArticle: NonNullable<boolean | undefined>;
|
|
161
161
|
isMobile: NonNullable<boolean | undefined>;
|
|
162
162
|
onFocusChange: (newFocusPath: import("../types").FocusPath, oldFocusPath: import("../types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
|
|
@@ -164,7 +164,6 @@ declare const _default: Readonly<{
|
|
|
164
164
|
readOnly: NonNullable<boolean | undefined>;
|
|
165
165
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
166
166
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
167
|
-
useDraftEditor: NonNullable<boolean | undefined>;
|
|
168
167
|
}>;
|
|
169
168
|
keypadElement?: any;
|
|
170
169
|
questionCompleted?: boolean | undefined;
|
|
@@ -173,7 +172,7 @@ declare const _default: Readonly<{
|
|
|
173
172
|
findWidgets: (arg1: import("../types").FilterCriterion) => readonly any[];
|
|
174
173
|
reviewModeRubric: PerseusExpressionWidgetOptions;
|
|
175
174
|
onChange: import("../types").ChangeHandler;
|
|
176
|
-
trackInteraction: (extraData?:
|
|
175
|
+
trackInteraction: (extraData?: Empty | undefined) => void;
|
|
177
176
|
isLastUsedWidget: boolean;
|
|
178
177
|
linterContext: import("@khanacademy/perseus-linter").LinterContextProps;
|
|
179
178
|
containerSizeClass: import("../util/sizing-utils").SizeClass;
|
|
@@ -206,10 +205,8 @@ declare const _default: Readonly<{
|
|
|
206
205
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
207
206
|
isMobile?: boolean | undefined;
|
|
208
207
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
209
|
-
useDraftEditor?: boolean | undefined;
|
|
210
208
|
hintProgressColor?: string | undefined;
|
|
211
209
|
canScrollPage?: boolean | undefined;
|
|
212
|
-
inModal?: boolean | undefined;
|
|
213
210
|
crossOutEnabled?: boolean | undefined;
|
|
214
211
|
editorChangeDelay?: number | undefined;
|
|
215
212
|
flags?: {
|
|
@@ -217,11 +214,14 @@ declare const _default: Readonly<{
|
|
|
217
214
|
circle?: boolean | undefined;
|
|
218
215
|
polygon?: boolean | undefined;
|
|
219
216
|
linear?: boolean | undefined;
|
|
217
|
+
quadratic?: boolean | undefined;
|
|
218
|
+
sinusoid?: boolean | undefined;
|
|
220
219
|
segment?: boolean | undefined;
|
|
221
220
|
"linear-system"?: boolean | undefined;
|
|
222
221
|
ray?: boolean | undefined;
|
|
223
222
|
} & {
|
|
224
223
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
224
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
225
225
|
}) | undefined;
|
|
226
226
|
} | undefined;
|
|
227
227
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -234,7 +234,6 @@ declare const _default: Readonly<{
|
|
|
234
234
|
crossOutEnabled: NonNullable<boolean | undefined>;
|
|
235
235
|
editorChangeDelay: number;
|
|
236
236
|
groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
237
|
-
inModal: NonNullable<boolean | undefined>;
|
|
238
237
|
isArticle: NonNullable<boolean | undefined>;
|
|
239
238
|
isMobile: NonNullable<boolean | undefined>;
|
|
240
239
|
onFocusChange: (newFocusPath: import("../types").FocusPath, oldFocusPath: import("../types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
|
|
@@ -242,7 +241,6 @@ declare const _default: Readonly<{
|
|
|
242
241
|
readOnly: NonNullable<boolean | undefined>;
|
|
243
242
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
244
243
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
245
|
-
useDraftEditor: NonNullable<boolean | undefined>;
|
|
246
244
|
}>;
|
|
247
245
|
buttonSets: import("../perseus-types").LegacyButtonSets;
|
|
248
246
|
functions: readonly string[];
|
|
@@ -284,10 +282,8 @@ declare const _default: Readonly<{
|
|
|
284
282
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
285
283
|
isMobile?: boolean | undefined;
|
|
286
284
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
287
|
-
useDraftEditor?: boolean | undefined;
|
|
288
285
|
hintProgressColor?: string | undefined;
|
|
289
286
|
canScrollPage?: boolean | undefined;
|
|
290
|
-
inModal?: boolean | undefined;
|
|
291
287
|
crossOutEnabled?: boolean | undefined;
|
|
292
288
|
editorChangeDelay?: number | undefined;
|
|
293
289
|
flags?: {
|
|
@@ -295,11 +291,14 @@ declare const _default: Readonly<{
|
|
|
295
291
|
circle?: boolean | undefined;
|
|
296
292
|
polygon?: boolean | undefined;
|
|
297
293
|
linear?: boolean | undefined;
|
|
294
|
+
quadratic?: boolean | undefined;
|
|
295
|
+
sinusoid?: boolean | undefined;
|
|
298
296
|
segment?: boolean | undefined;
|
|
299
297
|
"linear-system"?: boolean | undefined;
|
|
300
298
|
ray?: boolean | undefined;
|
|
301
299
|
} & {
|
|
302
300
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
301
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
303
302
|
}) | undefined;
|
|
304
303
|
} | undefined;
|
|
305
304
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -312,7 +311,6 @@ declare const _default: Readonly<{
|
|
|
312
311
|
crossOutEnabled: NonNullable<boolean | undefined>;
|
|
313
312
|
editorChangeDelay: number;
|
|
314
313
|
groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
315
|
-
inModal: NonNullable<boolean | undefined>;
|
|
316
314
|
isArticle: NonNullable<boolean | undefined>;
|
|
317
315
|
isMobile: NonNullable<boolean | undefined>;
|
|
318
316
|
onFocusChange: (newFocusPath: import("../types").FocusPath, oldFocusPath: import("../types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
|
|
@@ -320,7 +318,6 @@ declare const _default: Readonly<{
|
|
|
320
318
|
readOnly: NonNullable<boolean | undefined>;
|
|
321
319
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
322
320
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
323
|
-
useDraftEditor: NonNullable<boolean | undefined>;
|
|
324
321
|
}> | undefined;
|
|
325
322
|
functions?: readonly string[] | undefined;
|
|
326
323
|
times?: boolean | undefined;
|
|
@@ -359,10 +356,8 @@ declare const _default: Readonly<{
|
|
|
359
356
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
360
357
|
isMobile?: boolean | undefined;
|
|
361
358
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
362
|
-
useDraftEditor?: boolean | undefined;
|
|
363
359
|
hintProgressColor?: string | undefined;
|
|
364
360
|
canScrollPage?: boolean | undefined;
|
|
365
|
-
inModal?: boolean | undefined;
|
|
366
361
|
crossOutEnabled?: boolean | undefined;
|
|
367
362
|
editorChangeDelay?: number | undefined;
|
|
368
363
|
flags?: {
|
|
@@ -370,11 +365,14 @@ declare const _default: Readonly<{
|
|
|
370
365
|
circle?: boolean | undefined;
|
|
371
366
|
polygon?: boolean | undefined;
|
|
372
367
|
linear?: boolean | undefined;
|
|
368
|
+
quadratic?: boolean | undefined;
|
|
369
|
+
sinusoid?: boolean | undefined;
|
|
373
370
|
segment?: boolean | undefined;
|
|
374
371
|
"linear-system"?: boolean | undefined;
|
|
375
372
|
ray?: boolean | undefined;
|
|
376
373
|
} & {
|
|
377
374
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
375
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
378
376
|
}) | undefined;
|
|
379
377
|
} | undefined;
|
|
380
378
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -387,7 +385,6 @@ declare const _default: Readonly<{
|
|
|
387
385
|
crossOutEnabled: NonNullable<boolean | undefined>;
|
|
388
386
|
editorChangeDelay: number;
|
|
389
387
|
groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
390
|
-
inModal: NonNullable<boolean | undefined>;
|
|
391
388
|
isArticle: NonNullable<boolean | undefined>;
|
|
392
389
|
isMobile: NonNullable<boolean | undefined>;
|
|
393
390
|
onFocusChange: (newFocusPath: import("../types").FocusPath, oldFocusPath: import("../types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
|
|
@@ -395,7 +392,6 @@ declare const _default: Readonly<{
|
|
|
395
392
|
readOnly: NonNullable<boolean | undefined>;
|
|
396
393
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
397
394
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
398
|
-
useDraftEditor: NonNullable<boolean | undefined>;
|
|
399
395
|
}>;
|
|
400
396
|
keypadElement?: any;
|
|
401
397
|
questionCompleted?: boolean | undefined;
|
|
@@ -404,7 +400,7 @@ declare const _default: Readonly<{
|
|
|
404
400
|
findWidgets: (arg1: import("../types").FilterCriterion) => readonly any[];
|
|
405
401
|
reviewModeRubric: PerseusExpressionWidgetOptions;
|
|
406
402
|
onChange: import("../types").ChangeHandler;
|
|
407
|
-
trackInteraction: (extraData?:
|
|
403
|
+
trackInteraction: (extraData?: Empty | undefined) => void;
|
|
408
404
|
isLastUsedWidget: boolean;
|
|
409
405
|
linterContext: import("@khanacademy/perseus-linter").LinterContextProps;
|
|
410
406
|
containerSizeClass: import("../util/sizing-utils").SizeClass;
|
|
@@ -437,10 +433,8 @@ declare const _default: Readonly<{
|
|
|
437
433
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
438
434
|
isMobile?: boolean | undefined;
|
|
439
435
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
440
|
-
useDraftEditor?: boolean | undefined;
|
|
441
436
|
hintProgressColor?: string | undefined;
|
|
442
437
|
canScrollPage?: boolean | undefined;
|
|
443
|
-
inModal?: boolean | undefined;
|
|
444
438
|
crossOutEnabled?: boolean | undefined;
|
|
445
439
|
editorChangeDelay?: number | undefined;
|
|
446
440
|
flags?: {
|
|
@@ -448,11 +442,14 @@ declare const _default: Readonly<{
|
|
|
448
442
|
circle?: boolean | undefined;
|
|
449
443
|
polygon?: boolean | undefined;
|
|
450
444
|
linear?: boolean | undefined;
|
|
445
|
+
quadratic?: boolean | undefined;
|
|
446
|
+
sinusoid?: boolean | undefined;
|
|
451
447
|
segment?: boolean | undefined;
|
|
452
448
|
"linear-system"?: boolean | undefined;
|
|
453
449
|
ray?: boolean | undefined;
|
|
454
450
|
} & {
|
|
455
451
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
452
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
456
453
|
}) | undefined;
|
|
457
454
|
} | undefined;
|
|
458
455
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -465,7 +462,6 @@ declare const _default: Readonly<{
|
|
|
465
462
|
crossOutEnabled: NonNullable<boolean | undefined>;
|
|
466
463
|
editorChangeDelay: number;
|
|
467
464
|
groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
468
|
-
inModal: NonNullable<boolean | undefined>;
|
|
469
465
|
isArticle: NonNullable<boolean | undefined>;
|
|
470
466
|
isMobile: NonNullable<boolean | undefined>;
|
|
471
467
|
onFocusChange: (newFocusPath: import("../types").FocusPath, oldFocusPath: import("../types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
|
|
@@ -473,7 +469,6 @@ declare const _default: Readonly<{
|
|
|
473
469
|
readOnly: NonNullable<boolean | undefined>;
|
|
474
470
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
475
471
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
476
|
-
useDraftEditor: NonNullable<boolean | undefined>;
|
|
477
472
|
}>;
|
|
478
473
|
buttonSets: import("../perseus-types").LegacyButtonSets;
|
|
479
474
|
functions: readonly string[];
|
|
@@ -515,10 +510,8 @@ declare const _default: Readonly<{
|
|
|
515
510
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
516
511
|
isMobile?: boolean | undefined;
|
|
517
512
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
518
|
-
useDraftEditor?: boolean | undefined;
|
|
519
513
|
hintProgressColor?: string | undefined;
|
|
520
514
|
canScrollPage?: boolean | undefined;
|
|
521
|
-
inModal?: boolean | undefined;
|
|
522
515
|
crossOutEnabled?: boolean | undefined;
|
|
523
516
|
editorChangeDelay?: number | undefined;
|
|
524
517
|
flags?: {
|
|
@@ -526,11 +519,14 @@ declare const _default: Readonly<{
|
|
|
526
519
|
circle?: boolean | undefined;
|
|
527
520
|
polygon?: boolean | undefined;
|
|
528
521
|
linear?: boolean | undefined;
|
|
522
|
+
quadratic?: boolean | undefined;
|
|
523
|
+
sinusoid?: boolean | undefined;
|
|
529
524
|
segment?: boolean | undefined;
|
|
530
525
|
"linear-system"?: boolean | undefined;
|
|
531
526
|
ray?: boolean | undefined;
|
|
532
527
|
} & {
|
|
533
528
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
529
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
534
530
|
}) | undefined;
|
|
535
531
|
} | undefined;
|
|
536
532
|
onWidgetStartProps?: ((widgets: import("../perseus-types").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -543,7 +539,6 @@ declare const _default: Readonly<{
|
|
|
543
539
|
crossOutEnabled: NonNullable<boolean | undefined>;
|
|
544
540
|
editorChangeDelay: number;
|
|
545
541
|
groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
|
|
546
|
-
inModal: NonNullable<boolean | undefined>;
|
|
547
542
|
isArticle: NonNullable<boolean | undefined>;
|
|
548
543
|
isMobile: NonNullable<boolean | undefined>;
|
|
549
544
|
onFocusChange: (newFocusPath: import("../types").FocusPath, oldFocusPath: import("../types").FocusPath, keypadHeight?: number | undefined, focusedElement?: HTMLElement | undefined) => unknown;
|
|
@@ -551,7 +546,6 @@ declare const _default: Readonly<{
|
|
|
551
546
|
readOnly: NonNullable<boolean | undefined>;
|
|
552
547
|
setDrawingAreaAvailable: (arg1: boolean) => unknown;
|
|
553
548
|
showAlignmentOptions: NonNullable<boolean | undefined>;
|
|
554
|
-
useDraftEditor: NonNullable<boolean | undefined>;
|
|
555
549
|
}> | undefined;
|
|
556
550
|
functions?: readonly string[] | undefined;
|
|
557
551
|
times?: boolean | undefined;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { PerseusI18nContext } from "../components/i18n-context";
|
|
3
|
+
import type { QuadraticGraphState } from "./interactive-graphs/types";
|
|
3
4
|
import type { Coord } from "../interactive2/types";
|
|
4
5
|
import type { PerseusGraphType, PerseusGraphTypeAngle, PerseusGraphTypePoint, PerseusGraphTypePolygon, PerseusGraphTypeSegment, PerseusInteractiveGraphWidgetOptions } from "../perseus-types";
|
|
5
6
|
import type { Widget } from "../renderer";
|
|
@@ -152,7 +153,7 @@ declare class InteractiveGraph extends React.Component<Props, State> {
|
|
|
152
153
|
static pointsFromNormalized(props: Props, coordsList: ReadonlyArray<Coord>, noSnap?: boolean): ReadonlyArray<Coord>;
|
|
153
154
|
static getLinearEquationString(props: Props): string;
|
|
154
155
|
static getCurrentQuadraticCoefficients(props: Props): QuadraticCoefficient;
|
|
155
|
-
static defaultQuadraticCoords(props: Props):
|
|
156
|
+
static defaultQuadraticCoords(props: Props): QuadraticGraphState["coords"];
|
|
156
157
|
static getQuadraticEquationString(props: Props): string;
|
|
157
158
|
static getCurrentSinusoidCoefficients(props: Props): SineCoefficient;
|
|
158
159
|
static defaultSinusoidCoords(props: Props): ReadonlyArray<Coord>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { QuadraticGraphState, MafsGraphProps } from "../types";
|
|
3
|
+
import type { vec } from "mafs";
|
|
4
|
+
type QuadraticGraphProps = MafsGraphProps<QuadraticGraphState>;
|
|
5
|
+
type QuadraticCoefficient = [number, number, number];
|
|
6
|
+
export declare function QuadraticGraph(props: QuadraticGraphProps): JSX.Element;
|
|
7
|
+
export declare const isValidDestination: (destination: vec.Vector2, elementId: number, coords: [import("../../..").Coord, import("../../..").Coord, import("../../..").Coord]) => boolean;
|
|
8
|
+
export declare const getQuadraticCoefficients: (coords: [import("../../..").Coord, import("../../..").Coord, import("../../..").Coord]) => QuadraticCoefficient | undefined;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Coord } from "../../../interactive2/types";
|
|
3
|
+
import type { SinusoidGraphState, MafsGraphProps } from "../types";
|
|
4
|
+
type SinusoidGraphProps = MafsGraphProps<SinusoidGraphState>;
|
|
5
|
+
export type SineCoefficient = {
|
|
6
|
+
amplitude: number;
|
|
7
|
+
angularFrequency: number;
|
|
8
|
+
phase: number;
|
|
9
|
+
verticalOffset: number;
|
|
10
|
+
};
|
|
11
|
+
export declare function SinusoidGraph(props: SinusoidGraphProps): JSX.Element;
|
|
12
|
+
export declare const computeSine: (x: number, sinusoidCoefficients: SineCoefficient) => number;
|
|
13
|
+
export declare const getSinusoidCoefficients: (coords: ReadonlyArray<Coord>) => SineCoefficient;
|
|
14
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PerseusRenderer } from "../../perseus-types";
|
|
1
|
+
import type { LockedFigureColor, PerseusRenderer } from "../../perseus-types";
|
|
2
2
|
import type { vec } from "mafs";
|
|
3
3
|
export declare function interactiveGraphQuestionBuilder(): InteractiveGraphQuestionBuilder;
|
|
4
4
|
declare class InteractiveGraphQuestionBuilder {
|
|
@@ -23,6 +23,11 @@ declare class InteractiveGraphQuestionBuilder {
|
|
|
23
23
|
withCircle(): InteractiveGraphQuestionBuilder;
|
|
24
24
|
addLockedPointAt(x: number, y: number): InteractiveGraphQuestionBuilder;
|
|
25
25
|
addLockedLine(point1: vec.Vector2, point2: vec.Vector2): InteractiveGraphQuestionBuilder;
|
|
26
|
+
addLockedCircle(center: vec.Vector2, radius: number, options?: {
|
|
27
|
+
color?: LockedFigureColor;
|
|
28
|
+
fillStyle?: "none" | "solid" | "translucent";
|
|
29
|
+
strokeStyle?: "solid" | "dashed";
|
|
30
|
+
}): InteractiveGraphQuestionBuilder;
|
|
26
31
|
private createLockedPoint;
|
|
27
32
|
private addLockedFigure;
|
|
28
33
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const mafsSupportedGraphTypes: readonly ["segment", "linear", "linear-system", "ray", "polygon", "point", "circle"];
|
|
1
|
+
export declare const mafsSupportedGraphTypes: readonly ["segment", "linear", "linear-system", "ray", "polygon", "point", "circle", "quadratic", "sinusoid"];
|
|
2
2
|
export type MafsSupportedGraphType = (typeof mafsSupportedGraphTypes)[number];
|
|
3
3
|
export declare const trueForAllMafsSupportedGraphTypes: Record<MafsSupportedGraphType, true>;
|
|
@@ -13,7 +13,7 @@ export interface InitializeGraphStateParams<T extends PerseusGraphType> {
|
|
|
13
13
|
range: [Interval, Interval];
|
|
14
14
|
step: vec.Vector2;
|
|
15
15
|
}
|
|
16
|
-
export type InteractiveGraphState = SegmentGraphState | LinearGraphState | RayGraphState | PolygonGraphState | PointGraphState | CircleGraphState;
|
|
16
|
+
export type InteractiveGraphState = SegmentGraphState | LinearGraphState | RayGraphState | PolygonGraphState | PointGraphState | CircleGraphState | QuadraticGraphState | SinusoidGraphState;
|
|
17
17
|
export interface InteractiveGraphStateCommon {
|
|
18
18
|
hasBeenInteractedWith: boolean;
|
|
19
19
|
range: [xRange: Interval, yRange: Interval];
|
|
@@ -46,6 +46,14 @@ export interface CircleGraphState extends InteractiveGraphStateCommon {
|
|
|
46
46
|
center: Coord;
|
|
47
47
|
radiusPoint: Coord;
|
|
48
48
|
}
|
|
49
|
+
export interface QuadraticGraphState extends InteractiveGraphStateCommon {
|
|
50
|
+
type: "quadratic";
|
|
51
|
+
coords: [Coord, Coord, Coord];
|
|
52
|
+
}
|
|
53
|
+
export interface SinusoidGraphState extends InteractiveGraphStateCommon {
|
|
54
|
+
type: "sinusoid";
|
|
55
|
+
coords: [vec.Vector2, vec.Vector2];
|
|
56
|
+
}
|
|
49
57
|
export type PairOfPoints = [Coord, Coord];
|
|
50
58
|
export type GraphDimensions = {
|
|
51
59
|
range: [Interval, Interval];
|
|
@@ -122,10 +122,8 @@ declare const _default: Readonly<{
|
|
|
122
122
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
123
123
|
isMobile?: boolean | undefined;
|
|
124
124
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
125
|
-
useDraftEditor?: boolean | undefined;
|
|
126
125
|
hintProgressColor?: string | undefined;
|
|
127
126
|
canScrollPage?: boolean | undefined;
|
|
128
|
-
inModal?: boolean | undefined;
|
|
129
127
|
crossOutEnabled?: boolean | undefined;
|
|
130
128
|
editorChangeDelay?: number | undefined;
|
|
131
129
|
flags?: {
|
|
@@ -133,11 +131,14 @@ declare const _default: Readonly<{
|
|
|
133
131
|
circle?: boolean | undefined;
|
|
134
132
|
polygon?: boolean | undefined;
|
|
135
133
|
linear?: boolean | undefined;
|
|
134
|
+
quadratic?: boolean | undefined;
|
|
135
|
+
sinusoid?: boolean | undefined;
|
|
136
136
|
segment?: boolean | undefined;
|
|
137
137
|
"linear-system"?: boolean | undefined;
|
|
138
138
|
ray?: boolean | undefined;
|
|
139
139
|
} & {
|
|
140
140
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
141
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
141
142
|
}) | undefined;
|
|
142
143
|
} | undefined;
|
|
143
144
|
onWidgetStartProps?: ((widgets: import("..").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -182,10 +183,8 @@ declare const _default: Readonly<{
|
|
|
182
183
|
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
183
184
|
isMobile?: boolean | undefined;
|
|
184
185
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
185
|
-
useDraftEditor?: boolean | undefined;
|
|
186
186
|
hintProgressColor?: string | undefined;
|
|
187
187
|
canScrollPage?: boolean | undefined;
|
|
188
|
-
inModal?: boolean | undefined;
|
|
189
188
|
crossOutEnabled?: boolean | undefined;
|
|
190
189
|
editorChangeDelay?: number | undefined;
|
|
191
190
|
flags?: {
|
|
@@ -193,11 +192,14 @@ declare const _default: Readonly<{
|
|
|
193
192
|
circle?: boolean | undefined;
|
|
194
193
|
polygon?: boolean | undefined;
|
|
195
194
|
linear?: boolean | undefined;
|
|
195
|
+
quadratic?: boolean | undefined;
|
|
196
|
+
sinusoid?: boolean | undefined;
|
|
196
197
|
segment?: boolean | undefined;
|
|
197
198
|
"linear-system"?: boolean | undefined;
|
|
198
199
|
ray?: boolean | undefined;
|
|
199
200
|
} & {
|
|
200
201
|
"interactive-graph-locked-features-m1"?: boolean | undefined;
|
|
202
|
+
"interactive-graph-locked-features-m2"?: boolean | undefined;
|
|
201
203
|
}) | undefined;
|
|
202
204
|
} | undefined;
|
|
203
205
|
onWidgetStartProps?: ((widgets: import("..").PerseusWidgetsMap) => void) | undefined;
|
|
@@ -36,10 +36,8 @@ export declare class Matcher extends React.Component<any, any> {
|
|
|
36
36
|
nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
|
|
37
37
|
isMobile: PropTypes.Requireable<boolean>;
|
|
38
38
|
setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
|
|
39
|
-
useDraftEditor: PropTypes.Requireable<boolean>;
|
|
40
39
|
hintProgressColor: PropTypes.Requireable<string>;
|
|
41
40
|
canScrollPage: PropTypes.Requireable<boolean>;
|
|
42
|
-
inModal: PropTypes.Requireable<boolean>;
|
|
43
41
|
crossOutEnabled: PropTypes.Requireable<boolean>;
|
|
44
42
|
editorChangeDelay: PropTypes.Requireable<number>;
|
|
45
43
|
}>>>;
|
package/dist/widgets/sorter.d.ts
CHANGED
|
@@ -26,10 +26,8 @@ declare class Sorter extends React.Component<any, any> {
|
|
|
26
26
|
nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
27
|
isMobile: PropTypes.Requireable<boolean>;
|
|
28
28
|
setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
|
|
29
|
-
useDraftEditor: PropTypes.Requireable<boolean>;
|
|
30
29
|
hintProgressColor: PropTypes.Requireable<string>;
|
|
31
30
|
canScrollPage: PropTypes.Requireable<boolean>;
|
|
32
|
-
inModal: PropTypes.Requireable<boolean>;
|
|
33
31
|
crossOutEnabled: PropTypes.Requireable<boolean>;
|
|
34
32
|
editorChangeDelay: PropTypes.Requireable<number>;
|
|
35
33
|
}>>>;
|