@khanacademy/perseus-editor 2.2.1 → 2.3.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 (48) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/all-widgets.d.ts +2 -2
  3. package/dist/all-widgets.js.flow +2 -2
  4. package/dist/components/graph-points-count-selector.d.ts +7 -0
  5. package/dist/components/graph-points-count-selector.js.flow +12 -0
  6. package/dist/components/graph-type-selector.d.ts +7 -0
  7. package/dist/components/graph-type-selector.js.flow +12 -0
  8. package/dist/components/segment-count-selector.d.ts +6 -0
  9. package/dist/components/segment-count-selector.js.flow +11 -0
  10. package/dist/components/widget-editor.d.ts +31 -0
  11. package/dist/components/widget-editor.js.flow +91 -0
  12. package/dist/components/widget-select.d.ts +10 -0
  13. package/dist/components/widget-select.js.flow +16 -0
  14. package/dist/es/index.js +423 -229
  15. package/dist/es/index.js.map +1 -1
  16. package/dist/index.js +431 -225
  17. package/dist/index.js.map +1 -1
  18. package/dist/testing-widgets.d.ts +2 -2
  19. package/dist/testing-widgets.js.flow +2 -2
  20. package/dist/util/points.d.ts +3 -0
  21. package/dist/util/points.js.flow +9 -0
  22. package/dist/widgets/example-graphie-widget.d.ts +2 -2
  23. package/dist/widgets/example-graphie-widget.js.flow +2 -2
  24. package/dist/widgets/example-widget.d.ts +2 -2
  25. package/dist/widgets/example-widget.js.flow +2 -2
  26. package/dist/widgets/interactive-graph-editor.d.ts +3182 -1
  27. package/dist/widgets/interactive-graph-editor.js.flow +5290 -1
  28. package/package.json +9 -3
  29. package/src/__stories__/editor.stories.tsx +105 -4
  30. package/src/article-editor.tsx +1 -1
  31. package/src/{__stories__ → components/__stories__}/section-control-button.stories.tsx +1 -1
  32. package/src/components/graph-points-count-selector.tsx +29 -0
  33. package/src/components/graph-type-selector.tsx +31 -0
  34. package/src/components/json-editor.tsx +0 -1
  35. package/src/components/segment-count-selector.tsx +27 -0
  36. package/src/components/widget-editor.tsx +232 -0
  37. package/src/components/widget-select.tsx +48 -0
  38. package/src/editor.tsx +4 -270
  39. package/src/util/points.test.ts +24 -0
  40. package/src/util/points.ts +13 -0
  41. package/src/widgets/interactive-graph-editor.tsx +294 -48
  42. package/tsconfig-build.json +0 -1
  43. package/tsconfig-build.tsbuildinfo +1 -1
  44. package/dist/diffs/__stories__/perseus-diff-wrapper.d.ts +0 -6
  45. package/dist/diffs/__stories__/perseus-diff-wrapper.js.flow +0 -12
  46. /package/dist/{section-control-button.d.ts → components/section-control-button.d.ts} +0 -0
  47. /package/dist/{section-control-button.js.flow → components/section-control-button.js.flow} +0 -0
  48. /package/src/{section-control-button.tsx → components/section-control-button.tsx} +0 -0
@@ -1,2 +1,3183 @@
1
- declare const InteractiveGraphEditor: any;
1
+ import { SizingUtils, PerseusImageBackground, PerseusInteractiveGraphWidgetOptions, APIOptionsWithDefaults } from "@khanacademy/perseus";
2
+ import * as React from "react";
3
+ declare const InteractiveGraph: {
4
+ new (props: (PerseusInteractiveGraphWidgetOptions & {
5
+ widgetId: string;
6
+ alignment: string | null | undefined;
7
+ static: boolean | null | undefined;
8
+ problemNum: number | null | undefined;
9
+ apiOptions: Readonly<Readonly<{
10
+ isArticle?: boolean | undefined;
11
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
12
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
13
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
14
+ showAlignmentOptions?: boolean | undefined;
15
+ readOnly?: boolean | undefined;
16
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
17
+ getAnotherHint?: (() => unknown) | undefined;
18
+ interactionCallback?: (() => unknown) | undefined;
19
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
20
+ imagePlaceholder?: React.ReactNode;
21
+ widgetPlaceholder?: React.ReactNode;
22
+ baseElements?: {
23
+ Link: React.ComponentType<any>;
24
+ } | undefined;
25
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
26
+ trackInteraction?: (() => unknown) | undefined;
27
+ customKeypad?: boolean | undefined;
28
+ nativeKeypadProxy?: (() => unknown) | undefined;
29
+ isMobile?: boolean | undefined;
30
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
31
+ useDraftEditor?: boolean | undefined;
32
+ hintProgressColor?: string | undefined;
33
+ canScrollPage?: boolean | undefined;
34
+ inModal?: boolean | undefined;
35
+ crossOutEnabled?: boolean | undefined;
36
+ editorChangeDelay?: number | undefined;
37
+ }> & {
38
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
39
+ baseElements: {
40
+ Link: React.ComponentType<any>;
41
+ };
42
+ canScrollPage: NonNullable<boolean | undefined>;
43
+ crossOutEnabled: NonNullable<boolean | undefined>;
44
+ editorChangeDelay: number;
45
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
46
+ inModal: NonNullable<boolean | undefined>;
47
+ isArticle: NonNullable<boolean | undefined>;
48
+ isMobile: NonNullable<boolean | undefined>;
49
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
50
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
51
+ readOnly: NonNullable<boolean | undefined>;
52
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
53
+ showAlignmentOptions: NonNullable<boolean | undefined>;
54
+ useDraftEditor: NonNullable<boolean | undefined>;
55
+ }>;
56
+ keypadElement?: any;
57
+ questionCompleted?: boolean | undefined;
58
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
59
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
60
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
61
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
62
+ onChange: import("@khanacademy/perseus").ChangeHandler;
63
+ trackInteraction: (extraData?: any) => void;
64
+ isLastUsedWidget: boolean;
65
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
66
+ containerSizeClass: SizingUtils.SizeClass;
67
+ }) | Readonly<PerseusInteractiveGraphWidgetOptions & {
68
+ widgetId: string;
69
+ alignment: string | null | undefined;
70
+ static: boolean | null | undefined;
71
+ problemNum: number | null | undefined;
72
+ apiOptions: Readonly<Readonly<{
73
+ isArticle?: boolean | undefined;
74
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
75
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
76
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
77
+ showAlignmentOptions?: boolean | undefined;
78
+ readOnly?: boolean | undefined;
79
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
80
+ getAnotherHint?: (() => unknown) | undefined;
81
+ interactionCallback?: (() => unknown) | undefined;
82
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
83
+ imagePlaceholder?: React.ReactNode;
84
+ widgetPlaceholder?: React.ReactNode;
85
+ baseElements?: {
86
+ Link: React.ComponentType<any>;
87
+ } | undefined;
88
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
89
+ trackInteraction?: (() => unknown) | undefined;
90
+ customKeypad?: boolean | undefined;
91
+ nativeKeypadProxy?: (() => unknown) | undefined;
92
+ isMobile?: boolean | undefined;
93
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
94
+ useDraftEditor?: boolean | undefined;
95
+ hintProgressColor?: string | undefined;
96
+ canScrollPage?: boolean | undefined;
97
+ inModal?: boolean | undefined;
98
+ crossOutEnabled?: boolean | undefined;
99
+ editorChangeDelay?: number | undefined;
100
+ }> & {
101
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
102
+ baseElements: {
103
+ Link: React.ComponentType<any>;
104
+ };
105
+ canScrollPage: NonNullable<boolean | undefined>;
106
+ crossOutEnabled: NonNullable<boolean | undefined>;
107
+ editorChangeDelay: number;
108
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
109
+ inModal: NonNullable<boolean | undefined>;
110
+ isArticle: NonNullable<boolean | undefined>;
111
+ isMobile: NonNullable<boolean | undefined>;
112
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
113
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
114
+ readOnly: NonNullable<boolean | undefined>;
115
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
116
+ showAlignmentOptions: NonNullable<boolean | undefined>;
117
+ useDraftEditor: NonNullable<boolean | undefined>;
118
+ }>;
119
+ keypadElement?: any;
120
+ questionCompleted?: boolean | undefined;
121
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
122
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
123
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
124
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
125
+ onChange: import("@khanacademy/perseus").ChangeHandler;
126
+ trackInteraction: (extraData?: any) => void;
127
+ isLastUsedWidget: boolean;
128
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
129
+ containerSizeClass: SizingUtils.SizeClass;
130
+ }>): {
131
+ angle: any;
132
+ circle: any;
133
+ graphie: any;
134
+ horizHairline: any;
135
+ line: any;
136
+ lines: readonly (readonly import("@khanacademy/perseus").Coord[])[] | null | undefined;
137
+ parabola: any;
138
+ pointA: any;
139
+ pointB: any;
140
+ pointC: any;
141
+ points: any[];
142
+ polygon: any;
143
+ shouldResetGraphie: boolean;
144
+ sinusoid: any;
145
+ trashCan: any;
146
+ vertHairline: any;
147
+ state: any;
148
+ UNSAFE_componentWillMount(): void;
149
+ componentDidMount(): void;
150
+ UNSAFE_componentWillReceiveProps(nextProps: PerseusInteractiveGraphWidgetOptions & {
151
+ widgetId: string;
152
+ alignment: string | null | undefined;
153
+ static: boolean | null | undefined;
154
+ problemNum: number | null | undefined;
155
+ apiOptions: Readonly<Readonly<{
156
+ isArticle?: boolean | undefined;
157
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
158
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
159
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
160
+ showAlignmentOptions?: boolean | undefined;
161
+ readOnly?: boolean | undefined;
162
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
163
+ getAnotherHint?: (() => unknown) | undefined;
164
+ interactionCallback?: (() => unknown) | undefined;
165
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
166
+ imagePlaceholder?: React.ReactNode;
167
+ widgetPlaceholder?: React.ReactNode;
168
+ baseElements?: {
169
+ Link: React.ComponentType<any>;
170
+ } | undefined;
171
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
172
+ trackInteraction?: (() => unknown) | undefined;
173
+ customKeypad?: boolean | undefined;
174
+ nativeKeypadProxy?: (() => unknown) | undefined;
175
+ isMobile?: boolean | undefined;
176
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
177
+ useDraftEditor?: boolean | undefined;
178
+ hintProgressColor?: string | undefined;
179
+ canScrollPage?: boolean | undefined;
180
+ inModal?: boolean | undefined;
181
+ crossOutEnabled?: boolean | undefined;
182
+ editorChangeDelay?: number | undefined;
183
+ }> & {
184
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
185
+ baseElements: {
186
+ Link: React.ComponentType<any>;
187
+ };
188
+ canScrollPage: NonNullable<boolean | undefined>;
189
+ crossOutEnabled: NonNullable<boolean | undefined>;
190
+ editorChangeDelay: number;
191
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
192
+ inModal: NonNullable<boolean | undefined>;
193
+ isArticle: NonNullable<boolean | undefined>;
194
+ isMobile: NonNullable<boolean | undefined>;
195
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
196
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
197
+ readOnly: NonNullable<boolean | undefined>;
198
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
199
+ showAlignmentOptions: NonNullable<boolean | undefined>;
200
+ useDraftEditor: NonNullable<boolean | undefined>;
201
+ }>;
202
+ keypadElement?: any;
203
+ questionCompleted?: boolean | undefined;
204
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
205
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
206
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
207
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
208
+ onChange: import("@khanacademy/perseus").ChangeHandler;
209
+ trackInteraction: (extraData?: any) => void;
210
+ isLastUsedWidget: boolean;
211
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
212
+ containerSizeClass: SizingUtils.SizeClass;
213
+ }): void;
214
+ componentDidUpdate(prevProps: PerseusInteractiveGraphWidgetOptions & {
215
+ widgetId: string;
216
+ alignment: string | null | undefined;
217
+ static: boolean | null | undefined;
218
+ problemNum: number | null | undefined;
219
+ apiOptions: Readonly<Readonly<{
220
+ isArticle?: boolean | undefined;
221
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
222
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
223
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
224
+ showAlignmentOptions?: boolean | undefined;
225
+ readOnly?: boolean | undefined;
226
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
227
+ getAnotherHint?: (() => unknown) | undefined;
228
+ interactionCallback?: (() => unknown) | undefined;
229
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
230
+ imagePlaceholder?: React.ReactNode;
231
+ widgetPlaceholder?: React.ReactNode;
232
+ baseElements?: {
233
+ Link: React.ComponentType<any>;
234
+ } | undefined;
235
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
236
+ trackInteraction?: (() => unknown) | undefined;
237
+ customKeypad?: boolean | undefined;
238
+ nativeKeypadProxy?: (() => unknown) | undefined;
239
+ isMobile?: boolean | undefined;
240
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
241
+ useDraftEditor?: boolean | undefined;
242
+ hintProgressColor?: string | undefined;
243
+ canScrollPage?: boolean | undefined;
244
+ inModal?: boolean | undefined;
245
+ crossOutEnabled?: boolean | undefined;
246
+ editorChangeDelay?: number | undefined;
247
+ }> & {
248
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
249
+ baseElements: {
250
+ Link: React.ComponentType<any>;
251
+ };
252
+ canScrollPage: NonNullable<boolean | undefined>;
253
+ crossOutEnabled: NonNullable<boolean | undefined>;
254
+ editorChangeDelay: number;
255
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
256
+ inModal: NonNullable<boolean | undefined>;
257
+ isArticle: NonNullable<boolean | undefined>;
258
+ isMobile: NonNullable<boolean | undefined>;
259
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
260
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
261
+ readOnly: NonNullable<boolean | undefined>;
262
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
263
+ showAlignmentOptions: NonNullable<boolean | undefined>;
264
+ useDraftEditor: NonNullable<boolean | undefined>;
265
+ }>;
266
+ keypadElement?: any;
267
+ questionCompleted?: boolean | undefined;
268
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
269
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
270
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
271
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
272
+ onChange: import("@khanacademy/perseus").ChangeHandler;
273
+ trackInteraction: (extraData?: any) => void;
274
+ isLastUsedWidget: boolean;
275
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
276
+ containerSizeClass: SizingUtils.SizeClass;
277
+ }, prevState: any): void;
278
+ _getShouldShowInstructions: (arg1?: (PerseusInteractiveGraphWidgetOptions & {
279
+ widgetId: string;
280
+ alignment: string | null | undefined;
281
+ static: boolean | null | undefined;
282
+ problemNum: number | null | undefined;
283
+ apiOptions: Readonly<Readonly<{
284
+ isArticle?: boolean | undefined;
285
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
286
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
287
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
288
+ showAlignmentOptions?: boolean | undefined;
289
+ readOnly?: boolean | undefined;
290
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
291
+ getAnotherHint?: (() => unknown) | undefined;
292
+ interactionCallback?: (() => unknown) | undefined;
293
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
294
+ imagePlaceholder?: React.ReactNode;
295
+ widgetPlaceholder?: React.ReactNode;
296
+ baseElements?: {
297
+ Link: React.ComponentType<any>;
298
+ } | undefined;
299
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
300
+ trackInteraction?: (() => unknown) | undefined;
301
+ customKeypad?: boolean | undefined;
302
+ nativeKeypadProxy?: (() => unknown) | undefined;
303
+ isMobile?: boolean | undefined;
304
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
305
+ useDraftEditor?: boolean | undefined;
306
+ hintProgressColor?: string | undefined;
307
+ canScrollPage?: boolean | undefined;
308
+ inModal?: boolean | undefined;
309
+ crossOutEnabled?: boolean | undefined;
310
+ editorChangeDelay?: number | undefined;
311
+ }> & {
312
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
313
+ baseElements: {
314
+ Link: React.ComponentType<any>;
315
+ };
316
+ canScrollPage: NonNullable<boolean | undefined>;
317
+ crossOutEnabled: NonNullable<boolean | undefined>;
318
+ editorChangeDelay: number;
319
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
320
+ inModal: NonNullable<boolean | undefined>;
321
+ isArticle: NonNullable<boolean | undefined>;
322
+ isMobile: NonNullable<boolean | undefined>;
323
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
324
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
325
+ readOnly: NonNullable<boolean | undefined>;
326
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
327
+ showAlignmentOptions: NonNullable<boolean | undefined>;
328
+ useDraftEditor: NonNullable<boolean | undefined>;
329
+ }>;
330
+ keypadElement?: any;
331
+ questionCompleted?: boolean | undefined;
332
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
333
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
334
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
335
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
336
+ onChange: import("@khanacademy/perseus").ChangeHandler;
337
+ trackInteraction: (extraData?: any) => void;
338
+ isLastUsedWidget: boolean;
339
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
340
+ containerSizeClass: SizingUtils.SizeClass;
341
+ }) | null | undefined) => boolean;
342
+ deprecatedProps: any;
343
+ setGraphie: (arg1: any) => void;
344
+ handleAddPointsMouseDown: (arg1: import("@khanacademy/perseus").Coord) => void;
345
+ resetGraphie: () => void;
346
+ setupGraphie: () => void;
347
+ showHairlines: (arg1: import("@khanacademy/perseus").Coord) => void;
348
+ hideHairlines: () => void;
349
+ setTrashCanVisibility: (arg1: number) => void;
350
+ isClickToAddPoints: (arg1?: (PerseusInteractiveGraphWidgetOptions & {
351
+ widgetId: string;
352
+ alignment: string | null | undefined;
353
+ static: boolean | null | undefined;
354
+ problemNum: number | null | undefined;
355
+ apiOptions: Readonly<Readonly<{
356
+ isArticle?: boolean | undefined;
357
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
358
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
359
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
360
+ showAlignmentOptions?: boolean | undefined;
361
+ readOnly?: boolean | undefined;
362
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
363
+ getAnotherHint?: (() => unknown) | undefined;
364
+ interactionCallback?: (() => unknown) | undefined;
365
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
366
+ imagePlaceholder?: React.ReactNode;
367
+ widgetPlaceholder?: React.ReactNode;
368
+ baseElements?: {
369
+ Link: React.ComponentType<any>;
370
+ } | undefined;
371
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
372
+ trackInteraction?: (() => unknown) | undefined;
373
+ customKeypad?: boolean | undefined;
374
+ nativeKeypadProxy?: (() => unknown) | undefined;
375
+ isMobile?: boolean | undefined;
376
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
377
+ useDraftEditor?: boolean | undefined;
378
+ hintProgressColor?: string | undefined;
379
+ canScrollPage?: boolean | undefined;
380
+ inModal?: boolean | undefined;
381
+ crossOutEnabled?: boolean | undefined;
382
+ editorChangeDelay?: number | undefined;
383
+ }> & {
384
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
385
+ baseElements: {
386
+ Link: React.ComponentType<any>;
387
+ };
388
+ canScrollPage: NonNullable<boolean | undefined>;
389
+ crossOutEnabled: NonNullable<boolean | undefined>;
390
+ editorChangeDelay: number;
391
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
392
+ inModal: NonNullable<boolean | undefined>;
393
+ isArticle: NonNullable<boolean | undefined>;
394
+ isMobile: NonNullable<boolean | undefined>;
395
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
396
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
397
+ readOnly: NonNullable<boolean | undefined>;
398
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
399
+ showAlignmentOptions: NonNullable<boolean | undefined>;
400
+ useDraftEditor: NonNullable<boolean | undefined>;
401
+ }>;
402
+ keypadElement?: any;
403
+ questionCompleted?: boolean | undefined;
404
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
405
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
406
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
407
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
408
+ onChange: import("@khanacademy/perseus").ChangeHandler;
409
+ trackInteraction: (extraData?: any) => void;
410
+ isLastUsedWidget: boolean;
411
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
412
+ containerSizeClass: SizingUtils.SizeClass;
413
+ }) | null | undefined) => boolean;
414
+ areAngleGraphsEqual(prevGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypeAngle, currentGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypeAngle): boolean;
415
+ arePointGraphsEqual(prevGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypePoint, currentGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypePoint): boolean;
416
+ arePolygonGraphsEqual(prevGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypePolygon, currentGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypePolygon): boolean;
417
+ areSegmentGraphsEqual(prevGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypeSegment, currentGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypeSegment): boolean;
418
+ _lineStroke: () => {
419
+ "stroke-width"?: number | undefined;
420
+ };
421
+ addLine: (arg1: string) => void;
422
+ removeLine: () => void;
423
+ addLinearControls: () => void;
424
+ removeLinearControls: () => void;
425
+ addQuadraticControls: () => void;
426
+ updateQuadratic: () => void;
427
+ removeQuadraticControls: () => void;
428
+ addSinusoidControls: () => void;
429
+ updateSinusoid: () => void;
430
+ removeSinusoidControls: () => void;
431
+ addCircleControls: () => void;
432
+ removeCircleControls: () => void;
433
+ addLinearSystemControls: () => void;
434
+ removeLinearSystemControls: () => void;
435
+ isCoordInTrash: (arg1: import("@khanacademy/perseus").Coord) => boolean;
436
+ createPointForPointsType: (arg1: import("@khanacademy/perseus").Coord, arg2: number) => any;
437
+ removePoint: (arg1: import("@khanacademy/perseus").Coord) => number | null | undefined;
438
+ createPointForPolygonType: (arg1: import("@khanacademy/perseus").Coord, arg2: number) => any;
439
+ updateCoordsFromPoints: () => void;
440
+ clearCoords: () => void;
441
+ onChange: (arg1: any) => void;
442
+ addPointControls: () => void;
443
+ removePointControls: () => void;
444
+ addSegmentControls: () => void;
445
+ removeSegmentControls: () => void;
446
+ addRayControls: () => void;
447
+ removeRayControls: () => void;
448
+ addPolygonControls: () => void;
449
+ updatePolygon: () => void;
450
+ removePolygonControls: () => void;
451
+ addAngleControls: () => void;
452
+ removeAngleControls: () => void;
453
+ toggleShowSides: () => void;
454
+ getUserInput: () => import("../../../perseus/src/perseus-types").PerseusGraphType;
455
+ simpleValidate: (rubric: PerseusInteractiveGraphWidgetOptions) => import("@khanacademy/perseus").PerseusScore;
456
+ focus: () => void;
457
+ render(): React.ReactNode;
458
+ context: any;
459
+ setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
460
+ forceUpdate(callback?: (() => void) | undefined): void;
461
+ readonly props: Readonly<PerseusInteractiveGraphWidgetOptions & {
462
+ widgetId: string;
463
+ alignment: string | null | undefined;
464
+ static: boolean | null | undefined;
465
+ problemNum: number | null | undefined;
466
+ apiOptions: Readonly<Readonly<{
467
+ isArticle?: boolean | undefined;
468
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
469
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
470
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
471
+ showAlignmentOptions?: boolean | undefined;
472
+ readOnly?: boolean | undefined;
473
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
474
+ getAnotherHint?: (() => unknown) | undefined;
475
+ interactionCallback?: (() => unknown) | undefined;
476
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
477
+ imagePlaceholder?: React.ReactNode;
478
+ widgetPlaceholder?: React.ReactNode;
479
+ baseElements?: {
480
+ Link: React.ComponentType<any>;
481
+ } | undefined;
482
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
483
+ trackInteraction?: (() => unknown) | undefined;
484
+ customKeypad?: boolean | undefined;
485
+ nativeKeypadProxy?: (() => unknown) | undefined;
486
+ isMobile?: boolean | undefined;
487
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
488
+ useDraftEditor?: boolean | undefined;
489
+ hintProgressColor?: string | undefined;
490
+ canScrollPage?: boolean | undefined;
491
+ inModal?: boolean | undefined;
492
+ crossOutEnabled?: boolean | undefined;
493
+ editorChangeDelay?: number | undefined;
494
+ }> & {
495
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
496
+ baseElements: {
497
+ Link: React.ComponentType<any>;
498
+ };
499
+ canScrollPage: NonNullable<boolean | undefined>;
500
+ crossOutEnabled: NonNullable<boolean | undefined>;
501
+ editorChangeDelay: number;
502
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
503
+ inModal: NonNullable<boolean | undefined>;
504
+ isArticle: NonNullable<boolean | undefined>;
505
+ isMobile: NonNullable<boolean | undefined>;
506
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
507
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
508
+ readOnly: NonNullable<boolean | undefined>;
509
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
510
+ showAlignmentOptions: NonNullable<boolean | undefined>;
511
+ useDraftEditor: NonNullable<boolean | undefined>;
512
+ }>;
513
+ keypadElement?: any;
514
+ questionCompleted?: boolean | undefined;
515
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
516
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
517
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
518
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
519
+ onChange: import("@khanacademy/perseus").ChangeHandler;
520
+ trackInteraction: (extraData?: any) => void;
521
+ isLastUsedWidget: boolean;
522
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
523
+ containerSizeClass: SizingUtils.SizeClass;
524
+ }> & Readonly<{
525
+ children?: React.ReactNode;
526
+ }>;
527
+ refs: {
528
+ [key: string]: React.ReactInstance;
529
+ };
530
+ shouldComponentUpdate?(nextProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
531
+ widgetId: string;
532
+ alignment: string | null | undefined;
533
+ static: boolean | null | undefined;
534
+ problemNum: number | null | undefined;
535
+ apiOptions: Readonly<Readonly<{
536
+ isArticle?: boolean | undefined;
537
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
538
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
539
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
540
+ showAlignmentOptions?: boolean | undefined;
541
+ readOnly?: boolean | undefined;
542
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
543
+ getAnotherHint?: (() => unknown) | undefined;
544
+ interactionCallback?: (() => unknown) | undefined;
545
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
546
+ imagePlaceholder?: React.ReactNode;
547
+ widgetPlaceholder?: React.ReactNode;
548
+ baseElements?: {
549
+ Link: React.ComponentType<any>;
550
+ } | undefined;
551
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
552
+ trackInteraction?: (() => unknown) | undefined;
553
+ customKeypad?: boolean | undefined;
554
+ nativeKeypadProxy?: (() => unknown) | undefined;
555
+ isMobile?: boolean | undefined;
556
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
557
+ useDraftEditor?: boolean | undefined;
558
+ hintProgressColor?: string | undefined;
559
+ canScrollPage?: boolean | undefined;
560
+ inModal?: boolean | undefined;
561
+ crossOutEnabled?: boolean | undefined;
562
+ editorChangeDelay?: number | undefined;
563
+ }> & {
564
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
565
+ baseElements: {
566
+ Link: React.ComponentType<any>;
567
+ };
568
+ canScrollPage: NonNullable<boolean | undefined>;
569
+ crossOutEnabled: NonNullable<boolean | undefined>;
570
+ editorChangeDelay: number;
571
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
572
+ inModal: NonNullable<boolean | undefined>;
573
+ isArticle: NonNullable<boolean | undefined>;
574
+ isMobile: NonNullable<boolean | undefined>;
575
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
576
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
577
+ readOnly: NonNullable<boolean | undefined>;
578
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
579
+ showAlignmentOptions: NonNullable<boolean | undefined>;
580
+ useDraftEditor: NonNullable<boolean | undefined>;
581
+ }>;
582
+ keypadElement?: any;
583
+ questionCompleted?: boolean | undefined;
584
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
585
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
586
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
587
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
588
+ onChange: import("@khanacademy/perseus").ChangeHandler;
589
+ trackInteraction: (extraData?: any) => void;
590
+ isLastUsedWidget: boolean;
591
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
592
+ containerSizeClass: SizingUtils.SizeClass;
593
+ }>, nextState: Readonly<any>, nextContext: any): boolean;
594
+ componentWillUnmount?(): void;
595
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
596
+ getSnapshotBeforeUpdate?(prevProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
597
+ widgetId: string;
598
+ alignment: string | null | undefined;
599
+ static: boolean | null | undefined;
600
+ problemNum: number | null | undefined;
601
+ apiOptions: Readonly<Readonly<{
602
+ isArticle?: boolean | undefined;
603
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
604
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
605
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
606
+ showAlignmentOptions?: boolean | undefined;
607
+ readOnly?: boolean | undefined;
608
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
609
+ getAnotherHint?: (() => unknown) | undefined;
610
+ interactionCallback?: (() => unknown) | undefined;
611
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
612
+ imagePlaceholder?: React.ReactNode;
613
+ widgetPlaceholder?: React.ReactNode;
614
+ baseElements?: {
615
+ Link: React.ComponentType<any>;
616
+ } | undefined;
617
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
618
+ trackInteraction?: (() => unknown) | undefined;
619
+ customKeypad?: boolean | undefined;
620
+ nativeKeypadProxy?: (() => unknown) | undefined;
621
+ isMobile?: boolean | undefined;
622
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
623
+ useDraftEditor?: boolean | undefined;
624
+ hintProgressColor?: string | undefined;
625
+ canScrollPage?: boolean | undefined;
626
+ inModal?: boolean | undefined;
627
+ crossOutEnabled?: boolean | undefined;
628
+ editorChangeDelay?: number | undefined;
629
+ }> & {
630
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
631
+ baseElements: {
632
+ Link: React.ComponentType<any>;
633
+ };
634
+ canScrollPage: NonNullable<boolean | undefined>;
635
+ crossOutEnabled: NonNullable<boolean | undefined>;
636
+ editorChangeDelay: number;
637
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
638
+ inModal: NonNullable<boolean | undefined>;
639
+ isArticle: NonNullable<boolean | undefined>;
640
+ isMobile: NonNullable<boolean | undefined>;
641
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
642
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
643
+ readOnly: NonNullable<boolean | undefined>;
644
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
645
+ showAlignmentOptions: NonNullable<boolean | undefined>;
646
+ useDraftEditor: NonNullable<boolean | undefined>;
647
+ }>;
648
+ keypadElement?: any;
649
+ questionCompleted?: boolean | undefined;
650
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
651
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
652
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
653
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
654
+ onChange: import("@khanacademy/perseus").ChangeHandler;
655
+ trackInteraction: (extraData?: any) => void;
656
+ isLastUsedWidget: boolean;
657
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
658
+ containerSizeClass: SizingUtils.SizeClass;
659
+ }>, prevState: Readonly<any>): any;
660
+ componentWillMount?(): void;
661
+ componentWillReceiveProps?(nextProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
662
+ widgetId: string;
663
+ alignment: string | null | undefined;
664
+ static: boolean | null | undefined;
665
+ problemNum: number | null | undefined;
666
+ apiOptions: Readonly<Readonly<{
667
+ isArticle?: boolean | undefined;
668
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
669
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
670
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
671
+ showAlignmentOptions?: boolean | undefined;
672
+ readOnly?: boolean | undefined;
673
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
674
+ getAnotherHint?: (() => unknown) | undefined;
675
+ interactionCallback?: (() => unknown) | undefined;
676
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
677
+ imagePlaceholder?: React.ReactNode;
678
+ widgetPlaceholder?: React.ReactNode;
679
+ baseElements?: {
680
+ Link: React.ComponentType<any>;
681
+ } | undefined;
682
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
683
+ trackInteraction?: (() => unknown) | undefined;
684
+ customKeypad?: boolean | undefined;
685
+ nativeKeypadProxy?: (() => unknown) | undefined;
686
+ isMobile?: boolean | undefined;
687
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
688
+ useDraftEditor?: boolean | undefined;
689
+ hintProgressColor?: string | undefined;
690
+ canScrollPage?: boolean | undefined;
691
+ inModal?: boolean | undefined;
692
+ crossOutEnabled?: boolean | undefined;
693
+ editorChangeDelay?: number | undefined;
694
+ }> & {
695
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
696
+ baseElements: {
697
+ Link: React.ComponentType<any>;
698
+ };
699
+ canScrollPage: NonNullable<boolean | undefined>;
700
+ crossOutEnabled: NonNullable<boolean | undefined>;
701
+ editorChangeDelay: number;
702
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
703
+ inModal: NonNullable<boolean | undefined>;
704
+ isArticle: NonNullable<boolean | undefined>;
705
+ isMobile: NonNullable<boolean | undefined>;
706
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
707
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
708
+ readOnly: NonNullable<boolean | undefined>;
709
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
710
+ showAlignmentOptions: NonNullable<boolean | undefined>;
711
+ useDraftEditor: NonNullable<boolean | undefined>;
712
+ }>;
713
+ keypadElement?: any;
714
+ questionCompleted?: boolean | undefined;
715
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
716
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
717
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
718
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
719
+ onChange: import("@khanacademy/perseus").ChangeHandler;
720
+ trackInteraction: (extraData?: any) => void;
721
+ isLastUsedWidget: boolean;
722
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
723
+ containerSizeClass: SizingUtils.SizeClass;
724
+ }>, nextContext: any): void;
725
+ componentWillUpdate?(nextProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
726
+ widgetId: string;
727
+ alignment: string | null | undefined;
728
+ static: boolean | null | undefined;
729
+ problemNum: number | null | undefined;
730
+ apiOptions: Readonly<Readonly<{
731
+ isArticle?: boolean | undefined;
732
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
733
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
734
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
735
+ showAlignmentOptions?: boolean | undefined;
736
+ readOnly?: boolean | undefined;
737
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
738
+ getAnotherHint?: (() => unknown) | undefined;
739
+ interactionCallback?: (() => unknown) | undefined;
740
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
741
+ imagePlaceholder?: React.ReactNode;
742
+ widgetPlaceholder?: React.ReactNode;
743
+ baseElements?: {
744
+ Link: React.ComponentType<any>;
745
+ } | undefined;
746
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
747
+ trackInteraction?: (() => unknown) | undefined;
748
+ customKeypad?: boolean | undefined;
749
+ nativeKeypadProxy?: (() => unknown) | undefined;
750
+ isMobile?: boolean | undefined;
751
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
752
+ useDraftEditor?: boolean | undefined;
753
+ hintProgressColor?: string | undefined;
754
+ canScrollPage?: boolean | undefined;
755
+ inModal?: boolean | undefined;
756
+ crossOutEnabled?: boolean | undefined;
757
+ editorChangeDelay?: number | undefined;
758
+ }> & {
759
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
760
+ baseElements: {
761
+ Link: React.ComponentType<any>;
762
+ };
763
+ canScrollPage: NonNullable<boolean | undefined>;
764
+ crossOutEnabled: NonNullable<boolean | undefined>;
765
+ editorChangeDelay: number;
766
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
767
+ inModal: NonNullable<boolean | undefined>;
768
+ isArticle: NonNullable<boolean | undefined>;
769
+ isMobile: NonNullable<boolean | undefined>;
770
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
771
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
772
+ readOnly: NonNullable<boolean | undefined>;
773
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
774
+ showAlignmentOptions: NonNullable<boolean | undefined>;
775
+ useDraftEditor: NonNullable<boolean | undefined>;
776
+ }>;
777
+ keypadElement?: any;
778
+ questionCompleted?: boolean | undefined;
779
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
780
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
781
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
782
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
783
+ onChange: import("@khanacademy/perseus").ChangeHandler;
784
+ trackInteraction: (extraData?: any) => void;
785
+ isLastUsedWidget: boolean;
786
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
787
+ containerSizeClass: SizingUtils.SizeClass;
788
+ }>, nextState: Readonly<any>, nextContext: any): void;
789
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
790
+ widgetId: string;
791
+ alignment: string | null | undefined;
792
+ static: boolean | null | undefined;
793
+ problemNum: number | null | undefined;
794
+ apiOptions: Readonly<Readonly<{
795
+ isArticle?: boolean | undefined;
796
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
797
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
798
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
799
+ showAlignmentOptions?: boolean | undefined;
800
+ readOnly?: boolean | undefined;
801
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
802
+ getAnotherHint?: (() => unknown) | undefined;
803
+ interactionCallback?: (() => unknown) | undefined;
804
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
805
+ imagePlaceholder?: React.ReactNode;
806
+ widgetPlaceholder?: React.ReactNode;
807
+ baseElements?: {
808
+ Link: React.ComponentType<any>;
809
+ } | undefined;
810
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
811
+ trackInteraction?: (() => unknown) | undefined;
812
+ customKeypad?: boolean | undefined;
813
+ nativeKeypadProxy?: (() => unknown) | undefined;
814
+ isMobile?: boolean | undefined;
815
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
816
+ useDraftEditor?: boolean | undefined;
817
+ hintProgressColor?: string | undefined;
818
+ canScrollPage?: boolean | undefined;
819
+ inModal?: boolean | undefined;
820
+ crossOutEnabled?: boolean | undefined;
821
+ editorChangeDelay?: number | undefined;
822
+ }> & {
823
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
824
+ baseElements: {
825
+ Link: React.ComponentType<any>;
826
+ };
827
+ canScrollPage: NonNullable<boolean | undefined>;
828
+ crossOutEnabled: NonNullable<boolean | undefined>;
829
+ editorChangeDelay: number;
830
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
831
+ inModal: NonNullable<boolean | undefined>;
832
+ isArticle: NonNullable<boolean | undefined>;
833
+ isMobile: NonNullable<boolean | undefined>;
834
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
835
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
836
+ readOnly: NonNullable<boolean | undefined>;
837
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
838
+ showAlignmentOptions: NonNullable<boolean | undefined>;
839
+ useDraftEditor: NonNullable<boolean | undefined>;
840
+ }>;
841
+ keypadElement?: any;
842
+ questionCompleted?: boolean | undefined;
843
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
844
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
845
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
846
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
847
+ onChange: import("@khanacademy/perseus").ChangeHandler;
848
+ trackInteraction: (extraData?: any) => void;
849
+ isLastUsedWidget: boolean;
850
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
851
+ containerSizeClass: SizingUtils.SizeClass;
852
+ }>, nextState: Readonly<any>, nextContext: any): void;
853
+ };
854
+ new (props: PerseusInteractiveGraphWidgetOptions & {
855
+ widgetId: string;
856
+ alignment: string | null | undefined;
857
+ static: boolean | null | undefined;
858
+ problemNum: number | null | undefined;
859
+ apiOptions: Readonly<Readonly<{
860
+ isArticle?: boolean | undefined;
861
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
862
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
863
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
864
+ showAlignmentOptions?: boolean | undefined;
865
+ readOnly?: boolean | undefined;
866
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
867
+ getAnotherHint?: (() => unknown) | undefined;
868
+ interactionCallback?: (() => unknown) | undefined;
869
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
870
+ imagePlaceholder?: React.ReactNode;
871
+ widgetPlaceholder?: React.ReactNode;
872
+ baseElements?: {
873
+ Link: React.ComponentType<any>;
874
+ } | undefined;
875
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
876
+ trackInteraction?: (() => unknown) | undefined;
877
+ customKeypad?: boolean | undefined;
878
+ nativeKeypadProxy?: (() => unknown) | undefined;
879
+ isMobile?: boolean | undefined;
880
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
881
+ useDraftEditor?: boolean | undefined;
882
+ hintProgressColor?: string | undefined;
883
+ canScrollPage?: boolean | undefined;
884
+ inModal?: boolean | undefined;
885
+ crossOutEnabled?: boolean | undefined;
886
+ editorChangeDelay?: number | undefined;
887
+ }> & {
888
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
889
+ baseElements: {
890
+ Link: React.ComponentType<any>;
891
+ };
892
+ canScrollPage: NonNullable<boolean | undefined>;
893
+ crossOutEnabled: NonNullable<boolean | undefined>;
894
+ editorChangeDelay: number;
895
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
896
+ inModal: NonNullable<boolean | undefined>;
897
+ isArticle: NonNullable<boolean | undefined>;
898
+ isMobile: NonNullable<boolean | undefined>;
899
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
900
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
901
+ readOnly: NonNullable<boolean | undefined>;
902
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
903
+ showAlignmentOptions: NonNullable<boolean | undefined>;
904
+ useDraftEditor: NonNullable<boolean | undefined>;
905
+ }>;
906
+ keypadElement?: any;
907
+ questionCompleted?: boolean | undefined;
908
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
909
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
910
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
911
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
912
+ onChange: import("@khanacademy/perseus").ChangeHandler;
913
+ trackInteraction: (extraData?: any) => void;
914
+ isLastUsedWidget: boolean;
915
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
916
+ containerSizeClass: SizingUtils.SizeClass;
917
+ }, context: any): {
918
+ angle: any;
919
+ circle: any;
920
+ graphie: any;
921
+ horizHairline: any;
922
+ line: any;
923
+ lines: readonly (readonly import("@khanacademy/perseus").Coord[])[] | null | undefined;
924
+ parabola: any;
925
+ pointA: any;
926
+ pointB: any;
927
+ pointC: any;
928
+ points: any[];
929
+ polygon: any;
930
+ shouldResetGraphie: boolean;
931
+ sinusoid: any;
932
+ trashCan: any;
933
+ vertHairline: any;
934
+ state: any;
935
+ UNSAFE_componentWillMount(): void;
936
+ componentDidMount(): void;
937
+ UNSAFE_componentWillReceiveProps(nextProps: PerseusInteractiveGraphWidgetOptions & {
938
+ widgetId: string;
939
+ alignment: string | null | undefined;
940
+ static: boolean | null | undefined;
941
+ problemNum: number | null | undefined;
942
+ apiOptions: Readonly<Readonly<{
943
+ isArticle?: boolean | undefined;
944
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
945
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
946
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
947
+ showAlignmentOptions?: boolean | undefined;
948
+ readOnly?: boolean | undefined;
949
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
950
+ getAnotherHint?: (() => unknown) | undefined;
951
+ interactionCallback?: (() => unknown) | undefined;
952
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
953
+ imagePlaceholder?: React.ReactNode;
954
+ widgetPlaceholder?: React.ReactNode;
955
+ baseElements?: {
956
+ Link: React.ComponentType<any>;
957
+ } | undefined;
958
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
959
+ trackInteraction?: (() => unknown) | undefined;
960
+ customKeypad?: boolean | undefined;
961
+ nativeKeypadProxy?: (() => unknown) | undefined;
962
+ isMobile?: boolean | undefined;
963
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
964
+ useDraftEditor?: boolean | undefined;
965
+ hintProgressColor?: string | undefined;
966
+ canScrollPage?: boolean | undefined;
967
+ inModal?: boolean | undefined;
968
+ crossOutEnabled?: boolean | undefined;
969
+ editorChangeDelay?: number | undefined;
970
+ }> & {
971
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
972
+ baseElements: {
973
+ Link: React.ComponentType<any>;
974
+ };
975
+ canScrollPage: NonNullable<boolean | undefined>;
976
+ crossOutEnabled: NonNullable<boolean | undefined>;
977
+ editorChangeDelay: number;
978
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
979
+ inModal: NonNullable<boolean | undefined>;
980
+ isArticle: NonNullable<boolean | undefined>;
981
+ isMobile: NonNullable<boolean | undefined>;
982
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
983
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
984
+ readOnly: NonNullable<boolean | undefined>;
985
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
986
+ showAlignmentOptions: NonNullable<boolean | undefined>;
987
+ useDraftEditor: NonNullable<boolean | undefined>;
988
+ }>;
989
+ keypadElement?: any;
990
+ questionCompleted?: boolean | undefined;
991
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
992
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
993
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
994
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
995
+ onChange: import("@khanacademy/perseus").ChangeHandler;
996
+ trackInteraction: (extraData?: any) => void;
997
+ isLastUsedWidget: boolean;
998
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
999
+ containerSizeClass: SizingUtils.SizeClass;
1000
+ }): void;
1001
+ componentDidUpdate(prevProps: PerseusInteractiveGraphWidgetOptions & {
1002
+ widgetId: string;
1003
+ alignment: string | null | undefined;
1004
+ static: boolean | null | undefined;
1005
+ problemNum: number | null | undefined;
1006
+ apiOptions: Readonly<Readonly<{
1007
+ isArticle?: boolean | undefined;
1008
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1009
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1010
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1011
+ showAlignmentOptions?: boolean | undefined;
1012
+ readOnly?: boolean | undefined;
1013
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1014
+ getAnotherHint?: (() => unknown) | undefined;
1015
+ interactionCallback?: (() => unknown) | undefined;
1016
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1017
+ imagePlaceholder?: React.ReactNode;
1018
+ widgetPlaceholder?: React.ReactNode;
1019
+ baseElements?: {
1020
+ Link: React.ComponentType<any>;
1021
+ } | undefined;
1022
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1023
+ trackInteraction?: (() => unknown) | undefined;
1024
+ customKeypad?: boolean | undefined;
1025
+ nativeKeypadProxy?: (() => unknown) | undefined;
1026
+ isMobile?: boolean | undefined;
1027
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1028
+ useDraftEditor?: boolean | undefined;
1029
+ hintProgressColor?: string | undefined;
1030
+ canScrollPage?: boolean | undefined;
1031
+ inModal?: boolean | undefined;
1032
+ crossOutEnabled?: boolean | undefined;
1033
+ editorChangeDelay?: number | undefined;
1034
+ }> & {
1035
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1036
+ baseElements: {
1037
+ Link: React.ComponentType<any>;
1038
+ };
1039
+ canScrollPage: NonNullable<boolean | undefined>;
1040
+ crossOutEnabled: NonNullable<boolean | undefined>;
1041
+ editorChangeDelay: number;
1042
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1043
+ inModal: NonNullable<boolean | undefined>;
1044
+ isArticle: NonNullable<boolean | undefined>;
1045
+ isMobile: NonNullable<boolean | undefined>;
1046
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1047
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1048
+ readOnly: NonNullable<boolean | undefined>;
1049
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1050
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1051
+ useDraftEditor: NonNullable<boolean | undefined>;
1052
+ }>;
1053
+ keypadElement?: any;
1054
+ questionCompleted?: boolean | undefined;
1055
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1056
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1057
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1058
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1059
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1060
+ trackInteraction: (extraData?: any) => void;
1061
+ isLastUsedWidget: boolean;
1062
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1063
+ containerSizeClass: SizingUtils.SizeClass;
1064
+ }, prevState: any): void;
1065
+ _getShouldShowInstructions: (arg1?: (PerseusInteractiveGraphWidgetOptions & {
1066
+ widgetId: string;
1067
+ alignment: string | null | undefined;
1068
+ static: boolean | null | undefined;
1069
+ problemNum: number | null | undefined;
1070
+ apiOptions: Readonly<Readonly<{
1071
+ isArticle?: boolean | undefined;
1072
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1073
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1074
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1075
+ showAlignmentOptions?: boolean | undefined;
1076
+ readOnly?: boolean | undefined;
1077
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1078
+ getAnotherHint?: (() => unknown) | undefined;
1079
+ interactionCallback?: (() => unknown) | undefined;
1080
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1081
+ imagePlaceholder?: React.ReactNode;
1082
+ widgetPlaceholder?: React.ReactNode;
1083
+ baseElements?: {
1084
+ Link: React.ComponentType<any>;
1085
+ } | undefined;
1086
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1087
+ trackInteraction?: (() => unknown) | undefined;
1088
+ customKeypad?: boolean | undefined;
1089
+ nativeKeypadProxy?: (() => unknown) | undefined;
1090
+ isMobile?: boolean | undefined;
1091
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1092
+ useDraftEditor?: boolean | undefined;
1093
+ hintProgressColor?: string | undefined;
1094
+ canScrollPage?: boolean | undefined;
1095
+ inModal?: boolean | undefined;
1096
+ crossOutEnabled?: boolean | undefined;
1097
+ editorChangeDelay?: number | undefined;
1098
+ }> & {
1099
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1100
+ baseElements: {
1101
+ Link: React.ComponentType<any>;
1102
+ };
1103
+ canScrollPage: NonNullable<boolean | undefined>;
1104
+ crossOutEnabled: NonNullable<boolean | undefined>;
1105
+ editorChangeDelay: number;
1106
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1107
+ inModal: NonNullable<boolean | undefined>;
1108
+ isArticle: NonNullable<boolean | undefined>;
1109
+ isMobile: NonNullable<boolean | undefined>;
1110
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1111
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1112
+ readOnly: NonNullable<boolean | undefined>;
1113
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1114
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1115
+ useDraftEditor: NonNullable<boolean | undefined>;
1116
+ }>;
1117
+ keypadElement?: any;
1118
+ questionCompleted?: boolean | undefined;
1119
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1120
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1121
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1122
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1123
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1124
+ trackInteraction: (extraData?: any) => void;
1125
+ isLastUsedWidget: boolean;
1126
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1127
+ containerSizeClass: SizingUtils.SizeClass;
1128
+ }) | null | undefined) => boolean;
1129
+ deprecatedProps: any;
1130
+ setGraphie: (arg1: any) => void;
1131
+ handleAddPointsMouseDown: (arg1: import("@khanacademy/perseus").Coord) => void;
1132
+ resetGraphie: () => void;
1133
+ setupGraphie: () => void;
1134
+ showHairlines: (arg1: import("@khanacademy/perseus").Coord) => void;
1135
+ hideHairlines: () => void;
1136
+ setTrashCanVisibility: (arg1: number) => void;
1137
+ isClickToAddPoints: (arg1?: (PerseusInteractiveGraphWidgetOptions & {
1138
+ widgetId: string;
1139
+ alignment: string | null | undefined;
1140
+ static: boolean | null | undefined;
1141
+ problemNum: number | null | undefined;
1142
+ apiOptions: Readonly<Readonly<{
1143
+ isArticle?: boolean | undefined;
1144
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1145
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1146
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1147
+ showAlignmentOptions?: boolean | undefined;
1148
+ readOnly?: boolean | undefined;
1149
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1150
+ getAnotherHint?: (() => unknown) | undefined;
1151
+ interactionCallback?: (() => unknown) | undefined;
1152
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1153
+ imagePlaceholder?: React.ReactNode;
1154
+ widgetPlaceholder?: React.ReactNode;
1155
+ baseElements?: {
1156
+ Link: React.ComponentType<any>;
1157
+ } | undefined;
1158
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1159
+ trackInteraction?: (() => unknown) | undefined;
1160
+ customKeypad?: boolean | undefined;
1161
+ nativeKeypadProxy?: (() => unknown) | undefined;
1162
+ isMobile?: boolean | undefined;
1163
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1164
+ useDraftEditor?: boolean | undefined;
1165
+ hintProgressColor?: string | undefined;
1166
+ canScrollPage?: boolean | undefined;
1167
+ inModal?: boolean | undefined;
1168
+ crossOutEnabled?: boolean | undefined;
1169
+ editorChangeDelay?: number | undefined;
1170
+ }> & {
1171
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1172
+ baseElements: {
1173
+ Link: React.ComponentType<any>;
1174
+ };
1175
+ canScrollPage: NonNullable<boolean | undefined>;
1176
+ crossOutEnabled: NonNullable<boolean | undefined>;
1177
+ editorChangeDelay: number;
1178
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1179
+ inModal: NonNullable<boolean | undefined>;
1180
+ isArticle: NonNullable<boolean | undefined>;
1181
+ isMobile: NonNullable<boolean | undefined>;
1182
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1183
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1184
+ readOnly: NonNullable<boolean | undefined>;
1185
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1186
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1187
+ useDraftEditor: NonNullable<boolean | undefined>;
1188
+ }>;
1189
+ keypadElement?: any;
1190
+ questionCompleted?: boolean | undefined;
1191
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1192
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1193
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1194
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1195
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1196
+ trackInteraction: (extraData?: any) => void;
1197
+ isLastUsedWidget: boolean;
1198
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1199
+ containerSizeClass: SizingUtils.SizeClass;
1200
+ }) | null | undefined) => boolean;
1201
+ areAngleGraphsEqual(prevGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypeAngle, currentGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypeAngle): boolean;
1202
+ arePointGraphsEqual(prevGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypePoint, currentGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypePoint): boolean;
1203
+ arePolygonGraphsEqual(prevGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypePolygon, currentGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypePolygon): boolean;
1204
+ areSegmentGraphsEqual(prevGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypeSegment, currentGraph: import("../../../perseus/src/perseus-types").PerseusGraphTypeSegment): boolean;
1205
+ _lineStroke: () => {
1206
+ "stroke-width"?: number | undefined;
1207
+ };
1208
+ addLine: (arg1: string) => void;
1209
+ removeLine: () => void;
1210
+ addLinearControls: () => void;
1211
+ removeLinearControls: () => void;
1212
+ addQuadraticControls: () => void;
1213
+ updateQuadratic: () => void;
1214
+ removeQuadraticControls: () => void;
1215
+ addSinusoidControls: () => void;
1216
+ updateSinusoid: () => void;
1217
+ removeSinusoidControls: () => void;
1218
+ addCircleControls: () => void;
1219
+ removeCircleControls: () => void;
1220
+ addLinearSystemControls: () => void;
1221
+ removeLinearSystemControls: () => void;
1222
+ isCoordInTrash: (arg1: import("@khanacademy/perseus").Coord) => boolean;
1223
+ createPointForPointsType: (arg1: import("@khanacademy/perseus").Coord, arg2: number) => any;
1224
+ removePoint: (arg1: import("@khanacademy/perseus").Coord) => number | null | undefined;
1225
+ createPointForPolygonType: (arg1: import("@khanacademy/perseus").Coord, arg2: number) => any;
1226
+ updateCoordsFromPoints: () => void;
1227
+ clearCoords: () => void;
1228
+ onChange: (arg1: any) => void;
1229
+ addPointControls: () => void;
1230
+ removePointControls: () => void;
1231
+ addSegmentControls: () => void;
1232
+ removeSegmentControls: () => void;
1233
+ addRayControls: () => void;
1234
+ removeRayControls: () => void;
1235
+ addPolygonControls: () => void;
1236
+ updatePolygon: () => void;
1237
+ removePolygonControls: () => void;
1238
+ addAngleControls: () => void;
1239
+ removeAngleControls: () => void;
1240
+ toggleShowSides: () => void;
1241
+ getUserInput: () => import("../../../perseus/src/perseus-types").PerseusGraphType;
1242
+ simpleValidate: (rubric: PerseusInteractiveGraphWidgetOptions) => import("@khanacademy/perseus").PerseusScore;
1243
+ focus: () => void;
1244
+ render(): React.ReactNode;
1245
+ context: any;
1246
+ setState<K extends string | number | symbol>(state: any, callback?: (() => void) | undefined): void;
1247
+ forceUpdate(callback?: (() => void) | undefined): void;
1248
+ readonly props: Readonly<PerseusInteractiveGraphWidgetOptions & {
1249
+ widgetId: string;
1250
+ alignment: string | null | undefined;
1251
+ static: boolean | null | undefined;
1252
+ problemNum: number | null | undefined;
1253
+ apiOptions: Readonly<Readonly<{
1254
+ isArticle?: boolean | undefined;
1255
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1256
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1257
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1258
+ showAlignmentOptions?: boolean | undefined;
1259
+ readOnly?: boolean | undefined;
1260
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1261
+ getAnotherHint?: (() => unknown) | undefined;
1262
+ interactionCallback?: (() => unknown) | undefined;
1263
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1264
+ imagePlaceholder?: React.ReactNode;
1265
+ widgetPlaceholder?: React.ReactNode;
1266
+ baseElements?: {
1267
+ Link: React.ComponentType<any>;
1268
+ } | undefined;
1269
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1270
+ trackInteraction?: (() => unknown) | undefined;
1271
+ customKeypad?: boolean | undefined;
1272
+ nativeKeypadProxy?: (() => unknown) | undefined;
1273
+ isMobile?: boolean | undefined;
1274
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1275
+ useDraftEditor?: boolean | undefined;
1276
+ hintProgressColor?: string | undefined;
1277
+ canScrollPage?: boolean | undefined;
1278
+ inModal?: boolean | undefined;
1279
+ crossOutEnabled?: boolean | undefined;
1280
+ editorChangeDelay?: number | undefined;
1281
+ }> & {
1282
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1283
+ baseElements: {
1284
+ Link: React.ComponentType<any>;
1285
+ };
1286
+ canScrollPage: NonNullable<boolean | undefined>;
1287
+ crossOutEnabled: NonNullable<boolean | undefined>;
1288
+ editorChangeDelay: number;
1289
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1290
+ inModal: NonNullable<boolean | undefined>;
1291
+ isArticle: NonNullable<boolean | undefined>;
1292
+ isMobile: NonNullable<boolean | undefined>;
1293
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1294
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1295
+ readOnly: NonNullable<boolean | undefined>;
1296
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1297
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1298
+ useDraftEditor: NonNullable<boolean | undefined>;
1299
+ }>;
1300
+ keypadElement?: any;
1301
+ questionCompleted?: boolean | undefined;
1302
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1303
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1304
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1305
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1306
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1307
+ trackInteraction: (extraData?: any) => void;
1308
+ isLastUsedWidget: boolean;
1309
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1310
+ containerSizeClass: SizingUtils.SizeClass;
1311
+ }> & Readonly<{
1312
+ children?: React.ReactNode;
1313
+ }>;
1314
+ refs: {
1315
+ [key: string]: React.ReactInstance;
1316
+ };
1317
+ shouldComponentUpdate?(nextProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
1318
+ widgetId: string;
1319
+ alignment: string | null | undefined;
1320
+ static: boolean | null | undefined;
1321
+ problemNum: number | null | undefined;
1322
+ apiOptions: Readonly<Readonly<{
1323
+ isArticle?: boolean | undefined;
1324
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1325
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1326
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1327
+ showAlignmentOptions?: boolean | undefined;
1328
+ readOnly?: boolean | undefined;
1329
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1330
+ getAnotherHint?: (() => unknown) | undefined;
1331
+ interactionCallback?: (() => unknown) | undefined;
1332
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1333
+ imagePlaceholder?: React.ReactNode;
1334
+ widgetPlaceholder?: React.ReactNode;
1335
+ baseElements?: {
1336
+ Link: React.ComponentType<any>;
1337
+ } | undefined;
1338
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1339
+ trackInteraction?: (() => unknown) | undefined;
1340
+ customKeypad?: boolean | undefined;
1341
+ nativeKeypadProxy?: (() => unknown) | undefined;
1342
+ isMobile?: boolean | undefined;
1343
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1344
+ useDraftEditor?: boolean | undefined;
1345
+ hintProgressColor?: string | undefined;
1346
+ canScrollPage?: boolean | undefined;
1347
+ inModal?: boolean | undefined;
1348
+ crossOutEnabled?: boolean | undefined;
1349
+ editorChangeDelay?: number | undefined;
1350
+ }> & {
1351
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1352
+ baseElements: {
1353
+ Link: React.ComponentType<any>;
1354
+ };
1355
+ canScrollPage: NonNullable<boolean | undefined>;
1356
+ crossOutEnabled: NonNullable<boolean | undefined>;
1357
+ editorChangeDelay: number;
1358
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1359
+ inModal: NonNullable<boolean | undefined>;
1360
+ isArticle: NonNullable<boolean | undefined>;
1361
+ isMobile: NonNullable<boolean | undefined>;
1362
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1363
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1364
+ readOnly: NonNullable<boolean | undefined>;
1365
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1366
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1367
+ useDraftEditor: NonNullable<boolean | undefined>;
1368
+ }>;
1369
+ keypadElement?: any;
1370
+ questionCompleted?: boolean | undefined;
1371
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1372
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1373
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1374
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1375
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1376
+ trackInteraction: (extraData?: any) => void;
1377
+ isLastUsedWidget: boolean;
1378
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1379
+ containerSizeClass: SizingUtils.SizeClass;
1380
+ }>, nextState: Readonly<any>, nextContext: any): boolean;
1381
+ componentWillUnmount?(): void;
1382
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
1383
+ getSnapshotBeforeUpdate?(prevProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
1384
+ widgetId: string;
1385
+ alignment: string | null | undefined;
1386
+ static: boolean | null | undefined;
1387
+ problemNum: number | null | undefined;
1388
+ apiOptions: Readonly<Readonly<{
1389
+ isArticle?: boolean | undefined;
1390
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1391
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1392
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1393
+ showAlignmentOptions?: boolean | undefined;
1394
+ readOnly?: boolean | undefined;
1395
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1396
+ getAnotherHint?: (() => unknown) | undefined;
1397
+ interactionCallback?: (() => unknown) | undefined;
1398
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1399
+ imagePlaceholder?: React.ReactNode;
1400
+ widgetPlaceholder?: React.ReactNode;
1401
+ baseElements?: {
1402
+ Link: React.ComponentType<any>;
1403
+ } | undefined;
1404
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1405
+ trackInteraction?: (() => unknown) | undefined;
1406
+ customKeypad?: boolean | undefined;
1407
+ nativeKeypadProxy?: (() => unknown) | undefined;
1408
+ isMobile?: boolean | undefined;
1409
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1410
+ useDraftEditor?: boolean | undefined;
1411
+ hintProgressColor?: string | undefined;
1412
+ canScrollPage?: boolean | undefined;
1413
+ inModal?: boolean | undefined;
1414
+ crossOutEnabled?: boolean | undefined;
1415
+ editorChangeDelay?: number | undefined;
1416
+ }> & {
1417
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1418
+ baseElements: {
1419
+ Link: React.ComponentType<any>;
1420
+ };
1421
+ canScrollPage: NonNullable<boolean | undefined>;
1422
+ crossOutEnabled: NonNullable<boolean | undefined>;
1423
+ editorChangeDelay: number;
1424
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1425
+ inModal: NonNullable<boolean | undefined>;
1426
+ isArticle: NonNullable<boolean | undefined>;
1427
+ isMobile: NonNullable<boolean | undefined>;
1428
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1429
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1430
+ readOnly: NonNullable<boolean | undefined>;
1431
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1432
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1433
+ useDraftEditor: NonNullable<boolean | undefined>;
1434
+ }>;
1435
+ keypadElement?: any;
1436
+ questionCompleted?: boolean | undefined;
1437
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1438
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1439
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1440
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1441
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1442
+ trackInteraction: (extraData?: any) => void;
1443
+ isLastUsedWidget: boolean;
1444
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1445
+ containerSizeClass: SizingUtils.SizeClass;
1446
+ }>, prevState: Readonly<any>): any;
1447
+ componentWillMount?(): void;
1448
+ componentWillReceiveProps?(nextProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
1449
+ widgetId: string;
1450
+ alignment: string | null | undefined;
1451
+ static: boolean | null | undefined;
1452
+ problemNum: number | null | undefined;
1453
+ apiOptions: Readonly<Readonly<{
1454
+ isArticle?: boolean | undefined;
1455
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1456
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1457
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1458
+ showAlignmentOptions?: boolean | undefined;
1459
+ readOnly?: boolean | undefined;
1460
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1461
+ getAnotherHint?: (() => unknown) | undefined;
1462
+ interactionCallback?: (() => unknown) | undefined;
1463
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1464
+ imagePlaceholder?: React.ReactNode;
1465
+ widgetPlaceholder?: React.ReactNode;
1466
+ baseElements?: {
1467
+ Link: React.ComponentType<any>;
1468
+ } | undefined;
1469
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1470
+ trackInteraction?: (() => unknown) | undefined;
1471
+ customKeypad?: boolean | undefined;
1472
+ nativeKeypadProxy?: (() => unknown) | undefined;
1473
+ isMobile?: boolean | undefined;
1474
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1475
+ useDraftEditor?: boolean | undefined;
1476
+ hintProgressColor?: string | undefined;
1477
+ canScrollPage?: boolean | undefined;
1478
+ inModal?: boolean | undefined;
1479
+ crossOutEnabled?: boolean | undefined;
1480
+ editorChangeDelay?: number | undefined;
1481
+ }> & {
1482
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1483
+ baseElements: {
1484
+ Link: React.ComponentType<any>;
1485
+ };
1486
+ canScrollPage: NonNullable<boolean | undefined>;
1487
+ crossOutEnabled: NonNullable<boolean | undefined>;
1488
+ editorChangeDelay: number;
1489
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1490
+ inModal: NonNullable<boolean | undefined>;
1491
+ isArticle: NonNullable<boolean | undefined>;
1492
+ isMobile: NonNullable<boolean | undefined>;
1493
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1494
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1495
+ readOnly: NonNullable<boolean | undefined>;
1496
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1497
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1498
+ useDraftEditor: NonNullable<boolean | undefined>;
1499
+ }>;
1500
+ keypadElement?: any;
1501
+ questionCompleted?: boolean | undefined;
1502
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1503
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1504
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1505
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1506
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1507
+ trackInteraction: (extraData?: any) => void;
1508
+ isLastUsedWidget: boolean;
1509
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1510
+ containerSizeClass: SizingUtils.SizeClass;
1511
+ }>, nextContext: any): void;
1512
+ componentWillUpdate?(nextProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
1513
+ widgetId: string;
1514
+ alignment: string | null | undefined;
1515
+ static: boolean | null | undefined;
1516
+ problemNum: number | null | undefined;
1517
+ apiOptions: Readonly<Readonly<{
1518
+ isArticle?: boolean | undefined;
1519
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1520
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1521
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1522
+ showAlignmentOptions?: boolean | undefined;
1523
+ readOnly?: boolean | undefined;
1524
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1525
+ getAnotherHint?: (() => unknown) | undefined;
1526
+ interactionCallback?: (() => unknown) | undefined;
1527
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1528
+ imagePlaceholder?: React.ReactNode;
1529
+ widgetPlaceholder?: React.ReactNode;
1530
+ baseElements?: {
1531
+ Link: React.ComponentType<any>;
1532
+ } | undefined;
1533
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1534
+ trackInteraction?: (() => unknown) | undefined;
1535
+ customKeypad?: boolean | undefined;
1536
+ nativeKeypadProxy?: (() => unknown) | undefined;
1537
+ isMobile?: boolean | undefined;
1538
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1539
+ useDraftEditor?: boolean | undefined;
1540
+ hintProgressColor?: string | undefined;
1541
+ canScrollPage?: boolean | undefined;
1542
+ inModal?: boolean | undefined;
1543
+ crossOutEnabled?: boolean | undefined;
1544
+ editorChangeDelay?: number | undefined;
1545
+ }> & {
1546
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1547
+ baseElements: {
1548
+ Link: React.ComponentType<any>;
1549
+ };
1550
+ canScrollPage: NonNullable<boolean | undefined>;
1551
+ crossOutEnabled: NonNullable<boolean | undefined>;
1552
+ editorChangeDelay: number;
1553
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1554
+ inModal: NonNullable<boolean | undefined>;
1555
+ isArticle: NonNullable<boolean | undefined>;
1556
+ isMobile: NonNullable<boolean | undefined>;
1557
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1558
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1559
+ readOnly: NonNullable<boolean | undefined>;
1560
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1561
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1562
+ useDraftEditor: NonNullable<boolean | undefined>;
1563
+ }>;
1564
+ keypadElement?: any;
1565
+ questionCompleted?: boolean | undefined;
1566
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1567
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1568
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1569
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1570
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1571
+ trackInteraction: (extraData?: any) => void;
1572
+ isLastUsedWidget: boolean;
1573
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1574
+ containerSizeClass: SizingUtils.SizeClass;
1575
+ }>, nextState: Readonly<any>, nextContext: any): void;
1576
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<PerseusInteractiveGraphWidgetOptions & {
1577
+ widgetId: string;
1578
+ alignment: string | null | undefined;
1579
+ static: boolean | null | undefined;
1580
+ problemNum: number | null | undefined;
1581
+ apiOptions: Readonly<Readonly<{
1582
+ isArticle?: boolean | undefined;
1583
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1584
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1585
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1586
+ showAlignmentOptions?: boolean | undefined;
1587
+ readOnly?: boolean | undefined;
1588
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1589
+ getAnotherHint?: (() => unknown) | undefined;
1590
+ interactionCallback?: (() => unknown) | undefined;
1591
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1592
+ imagePlaceholder?: React.ReactNode;
1593
+ widgetPlaceholder?: React.ReactNode;
1594
+ baseElements?: {
1595
+ Link: React.ComponentType<any>;
1596
+ } | undefined;
1597
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1598
+ trackInteraction?: (() => unknown) | undefined;
1599
+ customKeypad?: boolean | undefined;
1600
+ nativeKeypadProxy?: (() => unknown) | undefined;
1601
+ isMobile?: boolean | undefined;
1602
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1603
+ useDraftEditor?: boolean | undefined;
1604
+ hintProgressColor?: string | undefined;
1605
+ canScrollPage?: boolean | undefined;
1606
+ inModal?: boolean | undefined;
1607
+ crossOutEnabled?: boolean | undefined;
1608
+ editorChangeDelay?: number | undefined;
1609
+ }> & {
1610
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1611
+ baseElements: {
1612
+ Link: React.ComponentType<any>;
1613
+ };
1614
+ canScrollPage: NonNullable<boolean | undefined>;
1615
+ crossOutEnabled: NonNullable<boolean | undefined>;
1616
+ editorChangeDelay: number;
1617
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1618
+ inModal: NonNullable<boolean | undefined>;
1619
+ isArticle: NonNullable<boolean | undefined>;
1620
+ isMobile: NonNullable<boolean | undefined>;
1621
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1622
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1623
+ readOnly: NonNullable<boolean | undefined>;
1624
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1625
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1626
+ useDraftEditor: NonNullable<boolean | undefined>;
1627
+ }>;
1628
+ keypadElement?: any;
1629
+ questionCompleted?: boolean | undefined;
1630
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1631
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1632
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1633
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1634
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1635
+ trackInteraction: (extraData?: any) => void;
1636
+ isLastUsedWidget: boolean;
1637
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1638
+ containerSizeClass: SizingUtils.SizeClass;
1639
+ }>, nextState: Readonly<any>, nextContext: any): void;
1640
+ };
1641
+ defaultProps: {
1642
+ labels: readonly string[];
1643
+ range: [[number, number], [number, number]];
1644
+ step: [number, number];
1645
+ backgroundImage: PerseusImageBackground | undefined;
1646
+ markings: string;
1647
+ showTooltips: boolean | undefined;
1648
+ showProtractor: boolean;
1649
+ showRuler: boolean;
1650
+ rulerLabel: string;
1651
+ rulerTicks: number;
1652
+ graph: import("../../../perseus/src/perseus-types").PerseusGraphType;
1653
+ };
1654
+ getQuadraticCoefficients(coords: readonly import("@khanacademy/perseus").Coord[]): import("../../../perseus/src/util/geometry").QuadraticCoefficient;
1655
+ getSinusoidCoefficients(coords: readonly import("@khanacademy/perseus").Coord[]): import("../../../perseus/src/util/geometry").SineCoefficient;
1656
+ getLineCoords(graph: import("../../../perseus/src/perseus-types").PerseusGraphType, props: PerseusInteractiveGraphWidgetOptions & {
1657
+ widgetId: string;
1658
+ alignment: string | null | undefined;
1659
+ static: boolean | null | undefined;
1660
+ problemNum: number | null | undefined;
1661
+ apiOptions: Readonly<Readonly<{
1662
+ isArticle?: boolean | undefined;
1663
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1664
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1665
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1666
+ showAlignmentOptions?: boolean | undefined;
1667
+ readOnly?: boolean | undefined;
1668
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1669
+ getAnotherHint?: (() => unknown) | undefined;
1670
+ interactionCallback?: (() => unknown) | undefined;
1671
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1672
+ imagePlaceholder?: React.ReactNode;
1673
+ widgetPlaceholder?: React.ReactNode;
1674
+ baseElements?: {
1675
+ Link: React.ComponentType<any>;
1676
+ } | undefined;
1677
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1678
+ trackInteraction?: (() => unknown) | undefined;
1679
+ customKeypad?: boolean | undefined;
1680
+ nativeKeypadProxy?: (() => unknown) | undefined;
1681
+ isMobile?: boolean | undefined;
1682
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1683
+ useDraftEditor?: boolean | undefined;
1684
+ hintProgressColor?: string | undefined;
1685
+ canScrollPage?: boolean | undefined;
1686
+ inModal?: boolean | undefined;
1687
+ crossOutEnabled?: boolean | undefined;
1688
+ editorChangeDelay?: number | undefined;
1689
+ }> & {
1690
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1691
+ baseElements: {
1692
+ Link: React.ComponentType<any>;
1693
+ };
1694
+ canScrollPage: NonNullable<boolean | undefined>;
1695
+ crossOutEnabled: NonNullable<boolean | undefined>;
1696
+ editorChangeDelay: number;
1697
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1698
+ inModal: NonNullable<boolean | undefined>;
1699
+ isArticle: NonNullable<boolean | undefined>;
1700
+ isMobile: NonNullable<boolean | undefined>;
1701
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1702
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1703
+ readOnly: NonNullable<boolean | undefined>;
1704
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1705
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1706
+ useDraftEditor: NonNullable<boolean | undefined>;
1707
+ }>;
1708
+ keypadElement?: any;
1709
+ questionCompleted?: boolean | undefined;
1710
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1711
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1712
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1713
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1714
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1715
+ trackInteraction: (extraData?: any) => void;
1716
+ isLastUsedWidget: boolean;
1717
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1718
+ containerSizeClass: SizingUtils.SizeClass;
1719
+ }): readonly import("@khanacademy/perseus").Coord[];
1720
+ getPointCoords(graph: import("../../../perseus/src/perseus-types").PerseusGraphTypePoint, props: PerseusInteractiveGraphWidgetOptions & {
1721
+ widgetId: string;
1722
+ alignment: string | null | undefined;
1723
+ static: boolean | null | undefined;
1724
+ problemNum: number | null | undefined;
1725
+ apiOptions: Readonly<Readonly<{
1726
+ isArticle?: boolean | undefined;
1727
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1728
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1729
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1730
+ showAlignmentOptions?: boolean | undefined;
1731
+ readOnly?: boolean | undefined;
1732
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1733
+ getAnotherHint?: (() => unknown) | undefined;
1734
+ interactionCallback?: (() => unknown) | undefined;
1735
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1736
+ imagePlaceholder?: React.ReactNode;
1737
+ widgetPlaceholder?: React.ReactNode;
1738
+ baseElements?: {
1739
+ Link: React.ComponentType<any>;
1740
+ } | undefined;
1741
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1742
+ trackInteraction?: (() => unknown) | undefined;
1743
+ customKeypad?: boolean | undefined;
1744
+ nativeKeypadProxy?: (() => unknown) | undefined;
1745
+ isMobile?: boolean | undefined;
1746
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1747
+ useDraftEditor?: boolean | undefined;
1748
+ hintProgressColor?: string | undefined;
1749
+ canScrollPage?: boolean | undefined;
1750
+ inModal?: boolean | undefined;
1751
+ crossOutEnabled?: boolean | undefined;
1752
+ editorChangeDelay?: number | undefined;
1753
+ }> & {
1754
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1755
+ baseElements: {
1756
+ Link: React.ComponentType<any>;
1757
+ };
1758
+ canScrollPage: NonNullable<boolean | undefined>;
1759
+ crossOutEnabled: NonNullable<boolean | undefined>;
1760
+ editorChangeDelay: number;
1761
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1762
+ inModal: NonNullable<boolean | undefined>;
1763
+ isArticle: NonNullable<boolean | undefined>;
1764
+ isMobile: NonNullable<boolean | undefined>;
1765
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1766
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1767
+ readOnly: NonNullable<boolean | undefined>;
1768
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1769
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1770
+ useDraftEditor: NonNullable<boolean | undefined>;
1771
+ }>;
1772
+ keypadElement?: any;
1773
+ questionCompleted?: boolean | undefined;
1774
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1775
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1776
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1777
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1778
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1779
+ trackInteraction: (extraData?: any) => void;
1780
+ isLastUsedWidget: boolean;
1781
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1782
+ containerSizeClass: SizingUtils.SizeClass;
1783
+ }): readonly import("@khanacademy/perseus").Coord[];
1784
+ getLinearSystemCoords(graph: import("../../../perseus/src/perseus-types").PerseusGraphType, props: PerseusInteractiveGraphWidgetOptions & {
1785
+ widgetId: string;
1786
+ alignment: string | null | undefined;
1787
+ static: boolean | null | undefined;
1788
+ problemNum: number | null | undefined;
1789
+ apiOptions: Readonly<Readonly<{
1790
+ isArticle?: boolean | undefined;
1791
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1792
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1793
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1794
+ showAlignmentOptions?: boolean | undefined;
1795
+ readOnly?: boolean | undefined;
1796
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1797
+ getAnotherHint?: (() => unknown) | undefined;
1798
+ interactionCallback?: (() => unknown) | undefined;
1799
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1800
+ imagePlaceholder?: React.ReactNode;
1801
+ widgetPlaceholder?: React.ReactNode;
1802
+ baseElements?: {
1803
+ Link: React.ComponentType<any>;
1804
+ } | undefined;
1805
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1806
+ trackInteraction?: (() => unknown) | undefined;
1807
+ customKeypad?: boolean | undefined;
1808
+ nativeKeypadProxy?: (() => unknown) | undefined;
1809
+ isMobile?: boolean | undefined;
1810
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1811
+ useDraftEditor?: boolean | undefined;
1812
+ hintProgressColor?: string | undefined;
1813
+ canScrollPage?: boolean | undefined;
1814
+ inModal?: boolean | undefined;
1815
+ crossOutEnabled?: boolean | undefined;
1816
+ editorChangeDelay?: number | undefined;
1817
+ }> & {
1818
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1819
+ baseElements: {
1820
+ Link: React.ComponentType<any>;
1821
+ };
1822
+ canScrollPage: NonNullable<boolean | undefined>;
1823
+ crossOutEnabled: NonNullable<boolean | undefined>;
1824
+ editorChangeDelay: number;
1825
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1826
+ inModal: NonNullable<boolean | undefined>;
1827
+ isArticle: NonNullable<boolean | undefined>;
1828
+ isMobile: NonNullable<boolean | undefined>;
1829
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1830
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1831
+ readOnly: NonNullable<boolean | undefined>;
1832
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1833
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1834
+ useDraftEditor: NonNullable<boolean | undefined>;
1835
+ }>;
1836
+ keypadElement?: any;
1837
+ questionCompleted?: boolean | undefined;
1838
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1839
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1840
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1841
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1842
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1843
+ trackInteraction: (extraData?: any) => void;
1844
+ isLastUsedWidget: boolean;
1845
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1846
+ containerSizeClass: SizingUtils.SizeClass;
1847
+ }): readonly (readonly import("@khanacademy/perseus").Coord[])[];
1848
+ getPolygonCoords(graph: import("../../../perseus/src/perseus-types").PerseusGraphType, props: PerseusInteractiveGraphWidgetOptions & {
1849
+ widgetId: string;
1850
+ alignment: string | null | undefined;
1851
+ static: boolean | null | undefined;
1852
+ problemNum: number | null | undefined;
1853
+ apiOptions: Readonly<Readonly<{
1854
+ isArticle?: boolean | undefined;
1855
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1856
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1857
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1858
+ showAlignmentOptions?: boolean | undefined;
1859
+ readOnly?: boolean | undefined;
1860
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1861
+ getAnotherHint?: (() => unknown) | undefined;
1862
+ interactionCallback?: (() => unknown) | undefined;
1863
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1864
+ imagePlaceholder?: React.ReactNode;
1865
+ widgetPlaceholder?: React.ReactNode;
1866
+ baseElements?: {
1867
+ Link: React.ComponentType<any>;
1868
+ } | undefined;
1869
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1870
+ trackInteraction?: (() => unknown) | undefined;
1871
+ customKeypad?: boolean | undefined;
1872
+ nativeKeypadProxy?: (() => unknown) | undefined;
1873
+ isMobile?: boolean | undefined;
1874
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1875
+ useDraftEditor?: boolean | undefined;
1876
+ hintProgressColor?: string | undefined;
1877
+ canScrollPage?: boolean | undefined;
1878
+ inModal?: boolean | undefined;
1879
+ crossOutEnabled?: boolean | undefined;
1880
+ editorChangeDelay?: number | undefined;
1881
+ }> & {
1882
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1883
+ baseElements: {
1884
+ Link: React.ComponentType<any>;
1885
+ };
1886
+ canScrollPage: NonNullable<boolean | undefined>;
1887
+ crossOutEnabled: NonNullable<boolean | undefined>;
1888
+ editorChangeDelay: number;
1889
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1890
+ inModal: NonNullable<boolean | undefined>;
1891
+ isArticle: NonNullable<boolean | undefined>;
1892
+ isMobile: NonNullable<boolean | undefined>;
1893
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1894
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1895
+ readOnly: NonNullable<boolean | undefined>;
1896
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1897
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1898
+ useDraftEditor: NonNullable<boolean | undefined>;
1899
+ }>;
1900
+ keypadElement?: any;
1901
+ questionCompleted?: boolean | undefined;
1902
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1903
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1904
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1905
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1906
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1907
+ trackInteraction: (extraData?: any) => void;
1908
+ isLastUsedWidget: boolean;
1909
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1910
+ containerSizeClass: SizingUtils.SizeClass;
1911
+ }): readonly import("@khanacademy/perseus").Coord[];
1912
+ getSegmentCoords(graph: import("../../../perseus/src/perseus-types").PerseusGraphTypeSegment, props: PerseusInteractiveGraphWidgetOptions & {
1913
+ widgetId: string;
1914
+ alignment: string | null | undefined;
1915
+ static: boolean | null | undefined;
1916
+ problemNum: number | null | undefined;
1917
+ apiOptions: Readonly<Readonly<{
1918
+ isArticle?: boolean | undefined;
1919
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1920
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1921
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1922
+ showAlignmentOptions?: boolean | undefined;
1923
+ readOnly?: boolean | undefined;
1924
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1925
+ getAnotherHint?: (() => unknown) | undefined;
1926
+ interactionCallback?: (() => unknown) | undefined;
1927
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1928
+ imagePlaceholder?: React.ReactNode;
1929
+ widgetPlaceholder?: React.ReactNode;
1930
+ baseElements?: {
1931
+ Link: React.ComponentType<any>;
1932
+ } | undefined;
1933
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1934
+ trackInteraction?: (() => unknown) | undefined;
1935
+ customKeypad?: boolean | undefined;
1936
+ nativeKeypadProxy?: (() => unknown) | undefined;
1937
+ isMobile?: boolean | undefined;
1938
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
1939
+ useDraftEditor?: boolean | undefined;
1940
+ hintProgressColor?: string | undefined;
1941
+ canScrollPage?: boolean | undefined;
1942
+ inModal?: boolean | undefined;
1943
+ crossOutEnabled?: boolean | undefined;
1944
+ editorChangeDelay?: number | undefined;
1945
+ }> & {
1946
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
1947
+ baseElements: {
1948
+ Link: React.ComponentType<any>;
1949
+ };
1950
+ canScrollPage: NonNullable<boolean | undefined>;
1951
+ crossOutEnabled: NonNullable<boolean | undefined>;
1952
+ editorChangeDelay: number;
1953
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
1954
+ inModal: NonNullable<boolean | undefined>;
1955
+ isArticle: NonNullable<boolean | undefined>;
1956
+ isMobile: NonNullable<boolean | undefined>;
1957
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
1958
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
1959
+ readOnly: NonNullable<boolean | undefined>;
1960
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
1961
+ showAlignmentOptions: NonNullable<boolean | undefined>;
1962
+ useDraftEditor: NonNullable<boolean | undefined>;
1963
+ }>;
1964
+ keypadElement?: any;
1965
+ questionCompleted?: boolean | undefined;
1966
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1967
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
1968
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
1969
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
1970
+ onChange: import("@khanacademy/perseus").ChangeHandler;
1971
+ trackInteraction: (extraData?: any) => void;
1972
+ isLastUsedWidget: boolean;
1973
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
1974
+ containerSizeClass: SizingUtils.SizeClass;
1975
+ }): readonly (readonly import("@khanacademy/perseus").Coord[])[];
1976
+ getAngleCoords(graph: import("../../../perseus/src/perseus-types").PerseusGraphTypeAngle, props: PerseusInteractiveGraphWidgetOptions & {
1977
+ widgetId: string;
1978
+ alignment: string | null | undefined;
1979
+ static: boolean | null | undefined;
1980
+ problemNum: number | null | undefined;
1981
+ apiOptions: Readonly<Readonly<{
1982
+ isArticle?: boolean | undefined;
1983
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
1984
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
1985
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
1986
+ showAlignmentOptions?: boolean | undefined;
1987
+ readOnly?: boolean | undefined;
1988
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
1989
+ getAnotherHint?: (() => unknown) | undefined;
1990
+ interactionCallback?: (() => unknown) | undefined;
1991
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
1992
+ imagePlaceholder?: React.ReactNode;
1993
+ widgetPlaceholder?: React.ReactNode;
1994
+ baseElements?: {
1995
+ Link: React.ComponentType<any>;
1996
+ } | undefined;
1997
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
1998
+ trackInteraction?: (() => unknown) | undefined;
1999
+ customKeypad?: boolean | undefined;
2000
+ nativeKeypadProxy?: (() => unknown) | undefined;
2001
+ isMobile?: boolean | undefined;
2002
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2003
+ useDraftEditor?: boolean | undefined;
2004
+ hintProgressColor?: string | undefined;
2005
+ canScrollPage?: boolean | undefined;
2006
+ inModal?: boolean | undefined;
2007
+ crossOutEnabled?: boolean | undefined;
2008
+ editorChangeDelay?: number | undefined;
2009
+ }> & {
2010
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2011
+ baseElements: {
2012
+ Link: React.ComponentType<any>;
2013
+ };
2014
+ canScrollPage: NonNullable<boolean | undefined>;
2015
+ crossOutEnabled: NonNullable<boolean | undefined>;
2016
+ editorChangeDelay: number;
2017
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2018
+ inModal: NonNullable<boolean | undefined>;
2019
+ isArticle: NonNullable<boolean | undefined>;
2020
+ isMobile: NonNullable<boolean | undefined>;
2021
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2022
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2023
+ readOnly: NonNullable<boolean | undefined>;
2024
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2025
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2026
+ useDraftEditor: NonNullable<boolean | undefined>;
2027
+ }>;
2028
+ keypadElement?: any;
2029
+ questionCompleted?: boolean | undefined;
2030
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2031
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2032
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2033
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2034
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2035
+ trackInteraction: (extraData?: any) => void;
2036
+ isLastUsedWidget: boolean;
2037
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2038
+ containerSizeClass: SizingUtils.SizeClass;
2039
+ }): readonly import("@khanacademy/perseus").Coord[];
2040
+ normalizeCoords(coordsList: readonly import("@khanacademy/perseus").Coord[], ranges: [import("../../../perseus/src/util/geometry").Range, import("../../../perseus/src/util/geometry").Range]): readonly import("@khanacademy/perseus").Coord[];
2041
+ getEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2042
+ widgetId: string;
2043
+ alignment: string | null | undefined;
2044
+ static: boolean | null | undefined;
2045
+ problemNum: number | null | undefined;
2046
+ apiOptions: Readonly<Readonly<{
2047
+ isArticle?: boolean | undefined;
2048
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2049
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2050
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2051
+ showAlignmentOptions?: boolean | undefined;
2052
+ readOnly?: boolean | undefined;
2053
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2054
+ getAnotherHint?: (() => unknown) | undefined;
2055
+ interactionCallback?: (() => unknown) | undefined;
2056
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2057
+ imagePlaceholder?: React.ReactNode;
2058
+ widgetPlaceholder?: React.ReactNode;
2059
+ baseElements?: {
2060
+ Link: React.ComponentType<any>;
2061
+ } | undefined;
2062
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2063
+ trackInteraction?: (() => unknown) | undefined;
2064
+ customKeypad?: boolean | undefined;
2065
+ nativeKeypadProxy?: (() => unknown) | undefined;
2066
+ isMobile?: boolean | undefined;
2067
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2068
+ useDraftEditor?: boolean | undefined;
2069
+ hintProgressColor?: string | undefined;
2070
+ canScrollPage?: boolean | undefined;
2071
+ inModal?: boolean | undefined;
2072
+ crossOutEnabled?: boolean | undefined;
2073
+ editorChangeDelay?: number | undefined;
2074
+ }> & {
2075
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2076
+ baseElements: {
2077
+ Link: React.ComponentType<any>;
2078
+ };
2079
+ canScrollPage: NonNullable<boolean | undefined>;
2080
+ crossOutEnabled: NonNullable<boolean | undefined>;
2081
+ editorChangeDelay: number;
2082
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2083
+ inModal: NonNullable<boolean | undefined>;
2084
+ isArticle: NonNullable<boolean | undefined>;
2085
+ isMobile: NonNullable<boolean | undefined>;
2086
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2087
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2088
+ readOnly: NonNullable<boolean | undefined>;
2089
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2090
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2091
+ useDraftEditor: NonNullable<boolean | undefined>;
2092
+ }>;
2093
+ keypadElement?: any;
2094
+ questionCompleted?: boolean | undefined;
2095
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2096
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2097
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2098
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2099
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2100
+ trackInteraction: (extraData?: any) => void;
2101
+ isLastUsedWidget: boolean;
2102
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2103
+ containerSizeClass: SizingUtils.SizeClass;
2104
+ }): string;
2105
+ pointsFromNormalized(props: PerseusInteractiveGraphWidgetOptions & {
2106
+ widgetId: string;
2107
+ alignment: string | null | undefined;
2108
+ static: boolean | null | undefined;
2109
+ problemNum: number | null | undefined;
2110
+ apiOptions: Readonly<Readonly<{
2111
+ isArticle?: boolean | undefined;
2112
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2113
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2114
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2115
+ showAlignmentOptions?: boolean | undefined;
2116
+ readOnly?: boolean | undefined;
2117
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2118
+ getAnotherHint?: (() => unknown) | undefined;
2119
+ interactionCallback?: (() => unknown) | undefined;
2120
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2121
+ imagePlaceholder?: React.ReactNode;
2122
+ widgetPlaceholder?: React.ReactNode;
2123
+ baseElements?: {
2124
+ Link: React.ComponentType<any>;
2125
+ } | undefined;
2126
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2127
+ trackInteraction?: (() => unknown) | undefined;
2128
+ customKeypad?: boolean | undefined;
2129
+ nativeKeypadProxy?: (() => unknown) | undefined;
2130
+ isMobile?: boolean | undefined;
2131
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2132
+ useDraftEditor?: boolean | undefined;
2133
+ hintProgressColor?: string | undefined;
2134
+ canScrollPage?: boolean | undefined;
2135
+ inModal?: boolean | undefined;
2136
+ crossOutEnabled?: boolean | undefined;
2137
+ editorChangeDelay?: number | undefined;
2138
+ }> & {
2139
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2140
+ baseElements: {
2141
+ Link: React.ComponentType<any>;
2142
+ };
2143
+ canScrollPage: NonNullable<boolean | undefined>;
2144
+ crossOutEnabled: NonNullable<boolean | undefined>;
2145
+ editorChangeDelay: number;
2146
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2147
+ inModal: NonNullable<boolean | undefined>;
2148
+ isArticle: NonNullable<boolean | undefined>;
2149
+ isMobile: NonNullable<boolean | undefined>;
2150
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2151
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2152
+ readOnly: NonNullable<boolean | undefined>;
2153
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2154
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2155
+ useDraftEditor: NonNullable<boolean | undefined>;
2156
+ }>;
2157
+ keypadElement?: any;
2158
+ questionCompleted?: boolean | undefined;
2159
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2160
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2161
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2162
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2163
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2164
+ trackInteraction: (extraData?: any) => void;
2165
+ isLastUsedWidget: boolean;
2166
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2167
+ containerSizeClass: SizingUtils.SizeClass;
2168
+ }, coordsList: readonly import("@khanacademy/perseus").Coord[], noSnap?: boolean | undefined): readonly import("@khanacademy/perseus").Coord[];
2169
+ getLinearEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2170
+ widgetId: string;
2171
+ alignment: string | null | undefined;
2172
+ static: boolean | null | undefined;
2173
+ problemNum: number | null | undefined;
2174
+ apiOptions: Readonly<Readonly<{
2175
+ isArticle?: boolean | undefined;
2176
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2177
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2178
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2179
+ showAlignmentOptions?: boolean | undefined;
2180
+ readOnly?: boolean | undefined;
2181
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2182
+ getAnotherHint?: (() => unknown) | undefined;
2183
+ interactionCallback?: (() => unknown) | undefined;
2184
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2185
+ imagePlaceholder?: React.ReactNode;
2186
+ widgetPlaceholder?: React.ReactNode;
2187
+ baseElements?: {
2188
+ Link: React.ComponentType<any>;
2189
+ } | undefined;
2190
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2191
+ trackInteraction?: (() => unknown) | undefined;
2192
+ customKeypad?: boolean | undefined;
2193
+ nativeKeypadProxy?: (() => unknown) | undefined;
2194
+ isMobile?: boolean | undefined;
2195
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2196
+ useDraftEditor?: boolean | undefined;
2197
+ hintProgressColor?: string | undefined;
2198
+ canScrollPage?: boolean | undefined;
2199
+ inModal?: boolean | undefined;
2200
+ crossOutEnabled?: boolean | undefined;
2201
+ editorChangeDelay?: number | undefined;
2202
+ }> & {
2203
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2204
+ baseElements: {
2205
+ Link: React.ComponentType<any>;
2206
+ };
2207
+ canScrollPage: NonNullable<boolean | undefined>;
2208
+ crossOutEnabled: NonNullable<boolean | undefined>;
2209
+ editorChangeDelay: number;
2210
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2211
+ inModal: NonNullable<boolean | undefined>;
2212
+ isArticle: NonNullable<boolean | undefined>;
2213
+ isMobile: NonNullable<boolean | undefined>;
2214
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2215
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2216
+ readOnly: NonNullable<boolean | undefined>;
2217
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2218
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2219
+ useDraftEditor: NonNullable<boolean | undefined>;
2220
+ }>;
2221
+ keypadElement?: any;
2222
+ questionCompleted?: boolean | undefined;
2223
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2224
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2225
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2226
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2227
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2228
+ trackInteraction: (extraData?: any) => void;
2229
+ isLastUsedWidget: boolean;
2230
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2231
+ containerSizeClass: SizingUtils.SizeClass;
2232
+ }): string;
2233
+ getCurrentQuadraticCoefficients(props: PerseusInteractiveGraphWidgetOptions & {
2234
+ widgetId: string;
2235
+ alignment: string | null | undefined;
2236
+ static: boolean | null | undefined;
2237
+ problemNum: number | null | undefined;
2238
+ apiOptions: Readonly<Readonly<{
2239
+ isArticle?: boolean | undefined;
2240
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2241
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2242
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2243
+ showAlignmentOptions?: boolean | undefined;
2244
+ readOnly?: boolean | undefined;
2245
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2246
+ getAnotherHint?: (() => unknown) | undefined;
2247
+ interactionCallback?: (() => unknown) | undefined;
2248
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2249
+ imagePlaceholder?: React.ReactNode;
2250
+ widgetPlaceholder?: React.ReactNode;
2251
+ baseElements?: {
2252
+ Link: React.ComponentType<any>;
2253
+ } | undefined;
2254
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2255
+ trackInteraction?: (() => unknown) | undefined;
2256
+ customKeypad?: boolean | undefined;
2257
+ nativeKeypadProxy?: (() => unknown) | undefined;
2258
+ isMobile?: boolean | undefined;
2259
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2260
+ useDraftEditor?: boolean | undefined;
2261
+ hintProgressColor?: string | undefined;
2262
+ canScrollPage?: boolean | undefined;
2263
+ inModal?: boolean | undefined;
2264
+ crossOutEnabled?: boolean | undefined;
2265
+ editorChangeDelay?: number | undefined;
2266
+ }> & {
2267
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2268
+ baseElements: {
2269
+ Link: React.ComponentType<any>;
2270
+ };
2271
+ canScrollPage: NonNullable<boolean | undefined>;
2272
+ crossOutEnabled: NonNullable<boolean | undefined>;
2273
+ editorChangeDelay: number;
2274
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2275
+ inModal: NonNullable<boolean | undefined>;
2276
+ isArticle: NonNullable<boolean | undefined>;
2277
+ isMobile: NonNullable<boolean | undefined>;
2278
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2279
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2280
+ readOnly: NonNullable<boolean | undefined>;
2281
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2282
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2283
+ useDraftEditor: NonNullable<boolean | undefined>;
2284
+ }>;
2285
+ keypadElement?: any;
2286
+ questionCompleted?: boolean | undefined;
2287
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2288
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2289
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2290
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2291
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2292
+ trackInteraction: (extraData?: any) => void;
2293
+ isLastUsedWidget: boolean;
2294
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2295
+ containerSizeClass: SizingUtils.SizeClass;
2296
+ }): import("../../../perseus/src/util/geometry").QuadraticCoefficient;
2297
+ defaultQuadraticCoords(props: PerseusInteractiveGraphWidgetOptions & {
2298
+ widgetId: string;
2299
+ alignment: string | null | undefined;
2300
+ static: boolean | null | undefined;
2301
+ problemNum: number | null | undefined;
2302
+ apiOptions: Readonly<Readonly<{
2303
+ isArticle?: boolean | undefined;
2304
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2305
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2306
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2307
+ showAlignmentOptions?: boolean | undefined;
2308
+ readOnly?: boolean | undefined;
2309
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2310
+ getAnotherHint?: (() => unknown) | undefined;
2311
+ interactionCallback?: (() => unknown) | undefined;
2312
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2313
+ imagePlaceholder?: React.ReactNode;
2314
+ widgetPlaceholder?: React.ReactNode;
2315
+ baseElements?: {
2316
+ Link: React.ComponentType<any>;
2317
+ } | undefined;
2318
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2319
+ trackInteraction?: (() => unknown) | undefined;
2320
+ customKeypad?: boolean | undefined;
2321
+ nativeKeypadProxy?: (() => unknown) | undefined;
2322
+ isMobile?: boolean | undefined;
2323
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2324
+ useDraftEditor?: boolean | undefined;
2325
+ hintProgressColor?: string | undefined;
2326
+ canScrollPage?: boolean | undefined;
2327
+ inModal?: boolean | undefined;
2328
+ crossOutEnabled?: boolean | undefined;
2329
+ editorChangeDelay?: number | undefined;
2330
+ }> & {
2331
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2332
+ baseElements: {
2333
+ Link: React.ComponentType<any>;
2334
+ };
2335
+ canScrollPage: NonNullable<boolean | undefined>;
2336
+ crossOutEnabled: NonNullable<boolean | undefined>;
2337
+ editorChangeDelay: number;
2338
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2339
+ inModal: NonNullable<boolean | undefined>;
2340
+ isArticle: NonNullable<boolean | undefined>;
2341
+ isMobile: NonNullable<boolean | undefined>;
2342
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2343
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2344
+ readOnly: NonNullable<boolean | undefined>;
2345
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2346
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2347
+ useDraftEditor: NonNullable<boolean | undefined>;
2348
+ }>;
2349
+ keypadElement?: any;
2350
+ questionCompleted?: boolean | undefined;
2351
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2352
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2353
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2354
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2355
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2356
+ trackInteraction: (extraData?: any) => void;
2357
+ isLastUsedWidget: boolean;
2358
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2359
+ containerSizeClass: SizingUtils.SizeClass;
2360
+ }): readonly import("@khanacademy/perseus").Coord[];
2361
+ getQuadraticEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2362
+ widgetId: string;
2363
+ alignment: string | null | undefined;
2364
+ static: boolean | null | undefined;
2365
+ problemNum: number | null | undefined;
2366
+ apiOptions: Readonly<Readonly<{
2367
+ isArticle?: boolean | undefined;
2368
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2369
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2370
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2371
+ showAlignmentOptions?: boolean | undefined;
2372
+ readOnly?: boolean | undefined;
2373
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2374
+ getAnotherHint?: (() => unknown) | undefined;
2375
+ interactionCallback?: (() => unknown) | undefined;
2376
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2377
+ imagePlaceholder?: React.ReactNode;
2378
+ widgetPlaceholder?: React.ReactNode;
2379
+ baseElements?: {
2380
+ Link: React.ComponentType<any>;
2381
+ } | undefined;
2382
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2383
+ trackInteraction?: (() => unknown) | undefined;
2384
+ customKeypad?: boolean | undefined;
2385
+ nativeKeypadProxy?: (() => unknown) | undefined;
2386
+ isMobile?: boolean | undefined;
2387
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2388
+ useDraftEditor?: boolean | undefined;
2389
+ hintProgressColor?: string | undefined;
2390
+ canScrollPage?: boolean | undefined;
2391
+ inModal?: boolean | undefined;
2392
+ crossOutEnabled?: boolean | undefined;
2393
+ editorChangeDelay?: number | undefined;
2394
+ }> & {
2395
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2396
+ baseElements: {
2397
+ Link: React.ComponentType<any>;
2398
+ };
2399
+ canScrollPage: NonNullable<boolean | undefined>;
2400
+ crossOutEnabled: NonNullable<boolean | undefined>;
2401
+ editorChangeDelay: number;
2402
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2403
+ inModal: NonNullable<boolean | undefined>;
2404
+ isArticle: NonNullable<boolean | undefined>;
2405
+ isMobile: NonNullable<boolean | undefined>;
2406
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2407
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2408
+ readOnly: NonNullable<boolean | undefined>;
2409
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2410
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2411
+ useDraftEditor: NonNullable<boolean | undefined>;
2412
+ }>;
2413
+ keypadElement?: any;
2414
+ questionCompleted?: boolean | undefined;
2415
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2416
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2417
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2418
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2419
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2420
+ trackInteraction: (extraData?: any) => void;
2421
+ isLastUsedWidget: boolean;
2422
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2423
+ containerSizeClass: SizingUtils.SizeClass;
2424
+ }): string;
2425
+ getCurrentSinusoidCoefficients(props: PerseusInteractiveGraphWidgetOptions & {
2426
+ widgetId: string;
2427
+ alignment: string | null | undefined;
2428
+ static: boolean | null | undefined;
2429
+ problemNum: number | null | undefined;
2430
+ apiOptions: Readonly<Readonly<{
2431
+ isArticle?: boolean | undefined;
2432
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2433
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2434
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2435
+ showAlignmentOptions?: boolean | undefined;
2436
+ readOnly?: boolean | undefined;
2437
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2438
+ getAnotherHint?: (() => unknown) | undefined;
2439
+ interactionCallback?: (() => unknown) | undefined;
2440
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2441
+ imagePlaceholder?: React.ReactNode;
2442
+ widgetPlaceholder?: React.ReactNode;
2443
+ baseElements?: {
2444
+ Link: React.ComponentType<any>;
2445
+ } | undefined;
2446
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2447
+ trackInteraction?: (() => unknown) | undefined;
2448
+ customKeypad?: boolean | undefined;
2449
+ nativeKeypadProxy?: (() => unknown) | undefined;
2450
+ isMobile?: boolean | undefined;
2451
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2452
+ useDraftEditor?: boolean | undefined;
2453
+ hintProgressColor?: string | undefined;
2454
+ canScrollPage?: boolean | undefined;
2455
+ inModal?: boolean | undefined;
2456
+ crossOutEnabled?: boolean | undefined;
2457
+ editorChangeDelay?: number | undefined;
2458
+ }> & {
2459
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2460
+ baseElements: {
2461
+ Link: React.ComponentType<any>;
2462
+ };
2463
+ canScrollPage: NonNullable<boolean | undefined>;
2464
+ crossOutEnabled: NonNullable<boolean | undefined>;
2465
+ editorChangeDelay: number;
2466
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2467
+ inModal: NonNullable<boolean | undefined>;
2468
+ isArticle: NonNullable<boolean | undefined>;
2469
+ isMobile: NonNullable<boolean | undefined>;
2470
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2471
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2472
+ readOnly: NonNullable<boolean | undefined>;
2473
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2474
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2475
+ useDraftEditor: NonNullable<boolean | undefined>;
2476
+ }>;
2477
+ keypadElement?: any;
2478
+ questionCompleted?: boolean | undefined;
2479
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2480
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2481
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2482
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2483
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2484
+ trackInteraction: (extraData?: any) => void;
2485
+ isLastUsedWidget: boolean;
2486
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2487
+ containerSizeClass: SizingUtils.SizeClass;
2488
+ }): import("../../../perseus/src/util/geometry").SineCoefficient;
2489
+ defaultSinusoidCoords(props: PerseusInteractiveGraphWidgetOptions & {
2490
+ widgetId: string;
2491
+ alignment: string | null | undefined;
2492
+ static: boolean | null | undefined;
2493
+ problemNum: number | null | undefined;
2494
+ apiOptions: Readonly<Readonly<{
2495
+ isArticle?: boolean | undefined;
2496
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2497
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2498
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2499
+ showAlignmentOptions?: boolean | undefined;
2500
+ readOnly?: boolean | undefined;
2501
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2502
+ getAnotherHint?: (() => unknown) | undefined;
2503
+ interactionCallback?: (() => unknown) | undefined;
2504
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2505
+ imagePlaceholder?: React.ReactNode;
2506
+ widgetPlaceholder?: React.ReactNode;
2507
+ baseElements?: {
2508
+ Link: React.ComponentType<any>;
2509
+ } | undefined;
2510
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2511
+ trackInteraction?: (() => unknown) | undefined;
2512
+ customKeypad?: boolean | undefined;
2513
+ nativeKeypadProxy?: (() => unknown) | undefined;
2514
+ isMobile?: boolean | undefined;
2515
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2516
+ useDraftEditor?: boolean | undefined;
2517
+ hintProgressColor?: string | undefined;
2518
+ canScrollPage?: boolean | undefined;
2519
+ inModal?: boolean | undefined;
2520
+ crossOutEnabled?: boolean | undefined;
2521
+ editorChangeDelay?: number | undefined;
2522
+ }> & {
2523
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2524
+ baseElements: {
2525
+ Link: React.ComponentType<any>;
2526
+ };
2527
+ canScrollPage: NonNullable<boolean | undefined>;
2528
+ crossOutEnabled: NonNullable<boolean | undefined>;
2529
+ editorChangeDelay: number;
2530
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2531
+ inModal: NonNullable<boolean | undefined>;
2532
+ isArticle: NonNullable<boolean | undefined>;
2533
+ isMobile: NonNullable<boolean | undefined>;
2534
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2535
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2536
+ readOnly: NonNullable<boolean | undefined>;
2537
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2538
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2539
+ useDraftEditor: NonNullable<boolean | undefined>;
2540
+ }>;
2541
+ keypadElement?: any;
2542
+ questionCompleted?: boolean | undefined;
2543
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2544
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2545
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2546
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2547
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2548
+ trackInteraction: (extraData?: any) => void;
2549
+ isLastUsedWidget: boolean;
2550
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2551
+ containerSizeClass: SizingUtils.SizeClass;
2552
+ }): readonly import("@khanacademy/perseus").Coord[];
2553
+ getSinusoidEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2554
+ widgetId: string;
2555
+ alignment: string | null | undefined;
2556
+ static: boolean | null | undefined;
2557
+ problemNum: number | null | undefined;
2558
+ apiOptions: Readonly<Readonly<{
2559
+ isArticle?: boolean | undefined;
2560
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2561
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2562
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2563
+ showAlignmentOptions?: boolean | undefined;
2564
+ readOnly?: boolean | undefined;
2565
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2566
+ getAnotherHint?: (() => unknown) | undefined;
2567
+ interactionCallback?: (() => unknown) | undefined;
2568
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2569
+ imagePlaceholder?: React.ReactNode;
2570
+ widgetPlaceholder?: React.ReactNode;
2571
+ baseElements?: {
2572
+ Link: React.ComponentType<any>;
2573
+ } | undefined;
2574
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2575
+ trackInteraction?: (() => unknown) | undefined;
2576
+ customKeypad?: boolean | undefined;
2577
+ nativeKeypadProxy?: (() => unknown) | undefined;
2578
+ isMobile?: boolean | undefined;
2579
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2580
+ useDraftEditor?: boolean | undefined;
2581
+ hintProgressColor?: string | undefined;
2582
+ canScrollPage?: boolean | undefined;
2583
+ inModal?: boolean | undefined;
2584
+ crossOutEnabled?: boolean | undefined;
2585
+ editorChangeDelay?: number | undefined;
2586
+ }> & {
2587
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2588
+ baseElements: {
2589
+ Link: React.ComponentType<any>;
2590
+ };
2591
+ canScrollPage: NonNullable<boolean | undefined>;
2592
+ crossOutEnabled: NonNullable<boolean | undefined>;
2593
+ editorChangeDelay: number;
2594
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2595
+ inModal: NonNullable<boolean | undefined>;
2596
+ isArticle: NonNullable<boolean | undefined>;
2597
+ isMobile: NonNullable<boolean | undefined>;
2598
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2599
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2600
+ readOnly: NonNullable<boolean | undefined>;
2601
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2602
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2603
+ useDraftEditor: NonNullable<boolean | undefined>;
2604
+ }>;
2605
+ keypadElement?: any;
2606
+ questionCompleted?: boolean | undefined;
2607
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2608
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2609
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2610
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2611
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2612
+ trackInteraction: (extraData?: any) => void;
2613
+ isLastUsedWidget: boolean;
2614
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2615
+ containerSizeClass: SizingUtils.SizeClass;
2616
+ }): string;
2617
+ getCircleEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2618
+ widgetId: string;
2619
+ alignment: string | null | undefined;
2620
+ static: boolean | null | undefined;
2621
+ problemNum: number | null | undefined;
2622
+ apiOptions: Readonly<Readonly<{
2623
+ isArticle?: boolean | undefined;
2624
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2625
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2626
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2627
+ showAlignmentOptions?: boolean | undefined;
2628
+ readOnly?: boolean | undefined;
2629
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2630
+ getAnotherHint?: (() => unknown) | undefined;
2631
+ interactionCallback?: (() => unknown) | undefined;
2632
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2633
+ imagePlaceholder?: React.ReactNode;
2634
+ widgetPlaceholder?: React.ReactNode;
2635
+ baseElements?: {
2636
+ Link: React.ComponentType<any>;
2637
+ } | undefined;
2638
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2639
+ trackInteraction?: (() => unknown) | undefined;
2640
+ customKeypad?: boolean | undefined;
2641
+ nativeKeypadProxy?: (() => unknown) | undefined;
2642
+ isMobile?: boolean | undefined;
2643
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2644
+ useDraftEditor?: boolean | undefined;
2645
+ hintProgressColor?: string | undefined;
2646
+ canScrollPage?: boolean | undefined;
2647
+ inModal?: boolean | undefined;
2648
+ crossOutEnabled?: boolean | undefined;
2649
+ editorChangeDelay?: number | undefined;
2650
+ }> & {
2651
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2652
+ baseElements: {
2653
+ Link: React.ComponentType<any>;
2654
+ };
2655
+ canScrollPage: NonNullable<boolean | undefined>;
2656
+ crossOutEnabled: NonNullable<boolean | undefined>;
2657
+ editorChangeDelay: number;
2658
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2659
+ inModal: NonNullable<boolean | undefined>;
2660
+ isArticle: NonNullable<boolean | undefined>;
2661
+ isMobile: NonNullable<boolean | undefined>;
2662
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2663
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2664
+ readOnly: NonNullable<boolean | undefined>;
2665
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2666
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2667
+ useDraftEditor: NonNullable<boolean | undefined>;
2668
+ }>;
2669
+ keypadElement?: any;
2670
+ questionCompleted?: boolean | undefined;
2671
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2672
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2673
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2674
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2675
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2676
+ trackInteraction: (extraData?: any) => void;
2677
+ isLastUsedWidget: boolean;
2678
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2679
+ containerSizeClass: SizingUtils.SizeClass;
2680
+ }): string;
2681
+ getLinearSystemEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2682
+ widgetId: string;
2683
+ alignment: string | null | undefined;
2684
+ static: boolean | null | undefined;
2685
+ problemNum: number | null | undefined;
2686
+ apiOptions: Readonly<Readonly<{
2687
+ isArticle?: boolean | undefined;
2688
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2689
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2690
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2691
+ showAlignmentOptions?: boolean | undefined;
2692
+ readOnly?: boolean | undefined;
2693
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2694
+ getAnotherHint?: (() => unknown) | undefined;
2695
+ interactionCallback?: (() => unknown) | undefined;
2696
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2697
+ imagePlaceholder?: React.ReactNode;
2698
+ widgetPlaceholder?: React.ReactNode;
2699
+ baseElements?: {
2700
+ Link: React.ComponentType<any>;
2701
+ } | undefined;
2702
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2703
+ trackInteraction?: (() => unknown) | undefined;
2704
+ customKeypad?: boolean | undefined;
2705
+ nativeKeypadProxy?: (() => unknown) | undefined;
2706
+ isMobile?: boolean | undefined;
2707
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2708
+ useDraftEditor?: boolean | undefined;
2709
+ hintProgressColor?: string | undefined;
2710
+ canScrollPage?: boolean | undefined;
2711
+ inModal?: boolean | undefined;
2712
+ crossOutEnabled?: boolean | undefined;
2713
+ editorChangeDelay?: number | undefined;
2714
+ }> & {
2715
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2716
+ baseElements: {
2717
+ Link: React.ComponentType<any>;
2718
+ };
2719
+ canScrollPage: NonNullable<boolean | undefined>;
2720
+ crossOutEnabled: NonNullable<boolean | undefined>;
2721
+ editorChangeDelay: number;
2722
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2723
+ inModal: NonNullable<boolean | undefined>;
2724
+ isArticle: NonNullable<boolean | undefined>;
2725
+ isMobile: NonNullable<boolean | undefined>;
2726
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2727
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2728
+ readOnly: NonNullable<boolean | undefined>;
2729
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2730
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2731
+ useDraftEditor: NonNullable<boolean | undefined>;
2732
+ }>;
2733
+ keypadElement?: any;
2734
+ questionCompleted?: boolean | undefined;
2735
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2736
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2737
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2738
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2739
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2740
+ trackInteraction: (extraData?: any) => void;
2741
+ isLastUsedWidget: boolean;
2742
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2743
+ containerSizeClass: SizingUtils.SizeClass;
2744
+ }): string;
2745
+ getPointEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2746
+ widgetId: string;
2747
+ alignment: string | null | undefined;
2748
+ static: boolean | null | undefined;
2749
+ problemNum: number | null | undefined;
2750
+ apiOptions: Readonly<Readonly<{
2751
+ isArticle?: boolean | undefined;
2752
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2753
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2754
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2755
+ showAlignmentOptions?: boolean | undefined;
2756
+ readOnly?: boolean | undefined;
2757
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2758
+ getAnotherHint?: (() => unknown) | undefined;
2759
+ interactionCallback?: (() => unknown) | undefined;
2760
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2761
+ imagePlaceholder?: React.ReactNode;
2762
+ widgetPlaceholder?: React.ReactNode;
2763
+ baseElements?: {
2764
+ Link: React.ComponentType<any>;
2765
+ } | undefined;
2766
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2767
+ trackInteraction?: (() => unknown) | undefined;
2768
+ customKeypad?: boolean | undefined;
2769
+ nativeKeypadProxy?: (() => unknown) | undefined;
2770
+ isMobile?: boolean | undefined;
2771
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2772
+ useDraftEditor?: boolean | undefined;
2773
+ hintProgressColor?: string | undefined;
2774
+ canScrollPage?: boolean | undefined;
2775
+ inModal?: boolean | undefined;
2776
+ crossOutEnabled?: boolean | undefined;
2777
+ editorChangeDelay?: number | undefined;
2778
+ }> & {
2779
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2780
+ baseElements: {
2781
+ Link: React.ComponentType<any>;
2782
+ };
2783
+ canScrollPage: NonNullable<boolean | undefined>;
2784
+ crossOutEnabled: NonNullable<boolean | undefined>;
2785
+ editorChangeDelay: number;
2786
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2787
+ inModal: NonNullable<boolean | undefined>;
2788
+ isArticle: NonNullable<boolean | undefined>;
2789
+ isMobile: NonNullable<boolean | undefined>;
2790
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2791
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2792
+ readOnly: NonNullable<boolean | undefined>;
2793
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2794
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2795
+ useDraftEditor: NonNullable<boolean | undefined>;
2796
+ }>;
2797
+ keypadElement?: any;
2798
+ questionCompleted?: boolean | undefined;
2799
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2800
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2801
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2802
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2803
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2804
+ trackInteraction: (extraData?: any) => void;
2805
+ isLastUsedWidget: boolean;
2806
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2807
+ containerSizeClass: SizingUtils.SizeClass;
2808
+ }): string;
2809
+ getSegmentEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2810
+ widgetId: string;
2811
+ alignment: string | null | undefined;
2812
+ static: boolean | null | undefined;
2813
+ problemNum: number | null | undefined;
2814
+ apiOptions: Readonly<Readonly<{
2815
+ isArticle?: boolean | undefined;
2816
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2817
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2818
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2819
+ showAlignmentOptions?: boolean | undefined;
2820
+ readOnly?: boolean | undefined;
2821
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2822
+ getAnotherHint?: (() => unknown) | undefined;
2823
+ interactionCallback?: (() => unknown) | undefined;
2824
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2825
+ imagePlaceholder?: React.ReactNode;
2826
+ widgetPlaceholder?: React.ReactNode;
2827
+ baseElements?: {
2828
+ Link: React.ComponentType<any>;
2829
+ } | undefined;
2830
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2831
+ trackInteraction?: (() => unknown) | undefined;
2832
+ customKeypad?: boolean | undefined;
2833
+ nativeKeypadProxy?: (() => unknown) | undefined;
2834
+ isMobile?: boolean | undefined;
2835
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2836
+ useDraftEditor?: boolean | undefined;
2837
+ hintProgressColor?: string | undefined;
2838
+ canScrollPage?: boolean | undefined;
2839
+ inModal?: boolean | undefined;
2840
+ crossOutEnabled?: boolean | undefined;
2841
+ editorChangeDelay?: number | undefined;
2842
+ }> & {
2843
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2844
+ baseElements: {
2845
+ Link: React.ComponentType<any>;
2846
+ };
2847
+ canScrollPage: NonNullable<boolean | undefined>;
2848
+ crossOutEnabled: NonNullable<boolean | undefined>;
2849
+ editorChangeDelay: number;
2850
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2851
+ inModal: NonNullable<boolean | undefined>;
2852
+ isArticle: NonNullable<boolean | undefined>;
2853
+ isMobile: NonNullable<boolean | undefined>;
2854
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2855
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2856
+ readOnly: NonNullable<boolean | undefined>;
2857
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2858
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2859
+ useDraftEditor: NonNullable<boolean | undefined>;
2860
+ }>;
2861
+ keypadElement?: any;
2862
+ questionCompleted?: boolean | undefined;
2863
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2864
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2865
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2866
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2867
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2868
+ trackInteraction: (extraData?: any) => void;
2869
+ isLastUsedWidget: boolean;
2870
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2871
+ containerSizeClass: SizingUtils.SizeClass;
2872
+ }): string;
2873
+ getRayEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2874
+ widgetId: string;
2875
+ alignment: string | null | undefined;
2876
+ static: boolean | null | undefined;
2877
+ problemNum: number | null | undefined;
2878
+ apiOptions: Readonly<Readonly<{
2879
+ isArticle?: boolean | undefined;
2880
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2881
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2882
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2883
+ showAlignmentOptions?: boolean | undefined;
2884
+ readOnly?: boolean | undefined;
2885
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2886
+ getAnotherHint?: (() => unknown) | undefined;
2887
+ interactionCallback?: (() => unknown) | undefined;
2888
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2889
+ imagePlaceholder?: React.ReactNode;
2890
+ widgetPlaceholder?: React.ReactNode;
2891
+ baseElements?: {
2892
+ Link: React.ComponentType<any>;
2893
+ } | undefined;
2894
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2895
+ trackInteraction?: (() => unknown) | undefined;
2896
+ customKeypad?: boolean | undefined;
2897
+ nativeKeypadProxy?: (() => unknown) | undefined;
2898
+ isMobile?: boolean | undefined;
2899
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2900
+ useDraftEditor?: boolean | undefined;
2901
+ hintProgressColor?: string | undefined;
2902
+ canScrollPage?: boolean | undefined;
2903
+ inModal?: boolean | undefined;
2904
+ crossOutEnabled?: boolean | undefined;
2905
+ editorChangeDelay?: number | undefined;
2906
+ }> & {
2907
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2908
+ baseElements: {
2909
+ Link: React.ComponentType<any>;
2910
+ };
2911
+ canScrollPage: NonNullable<boolean | undefined>;
2912
+ crossOutEnabled: NonNullable<boolean | undefined>;
2913
+ editorChangeDelay: number;
2914
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2915
+ inModal: NonNullable<boolean | undefined>;
2916
+ isArticle: NonNullable<boolean | undefined>;
2917
+ isMobile: NonNullable<boolean | undefined>;
2918
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2919
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2920
+ readOnly: NonNullable<boolean | undefined>;
2921
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2922
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2923
+ useDraftEditor: NonNullable<boolean | undefined>;
2924
+ }>;
2925
+ keypadElement?: any;
2926
+ questionCompleted?: boolean | undefined;
2927
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2928
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2929
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2930
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2931
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2932
+ trackInteraction: (extraData?: any) => void;
2933
+ isLastUsedWidget: boolean;
2934
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2935
+ containerSizeClass: SizingUtils.SizeClass;
2936
+ }): string;
2937
+ getPolygonEquationString(props: PerseusInteractiveGraphWidgetOptions & {
2938
+ widgetId: string;
2939
+ alignment: string | null | undefined;
2940
+ static: boolean | null | undefined;
2941
+ problemNum: number | null | undefined;
2942
+ apiOptions: Readonly<Readonly<{
2943
+ isArticle?: boolean | undefined;
2944
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
2945
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
2946
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
2947
+ showAlignmentOptions?: boolean | undefined;
2948
+ readOnly?: boolean | undefined;
2949
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
2950
+ getAnotherHint?: (() => unknown) | undefined;
2951
+ interactionCallback?: (() => unknown) | undefined;
2952
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
2953
+ imagePlaceholder?: React.ReactNode;
2954
+ widgetPlaceholder?: React.ReactNode;
2955
+ baseElements?: {
2956
+ Link: React.ComponentType<any>;
2957
+ } | undefined;
2958
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
2959
+ trackInteraction?: (() => unknown) | undefined;
2960
+ customKeypad?: boolean | undefined;
2961
+ nativeKeypadProxy?: (() => unknown) | undefined;
2962
+ isMobile?: boolean | undefined;
2963
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
2964
+ useDraftEditor?: boolean | undefined;
2965
+ hintProgressColor?: string | undefined;
2966
+ canScrollPage?: boolean | undefined;
2967
+ inModal?: boolean | undefined;
2968
+ crossOutEnabled?: boolean | undefined;
2969
+ editorChangeDelay?: number | undefined;
2970
+ }> & {
2971
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
2972
+ baseElements: {
2973
+ Link: React.ComponentType<any>;
2974
+ };
2975
+ canScrollPage: NonNullable<boolean | undefined>;
2976
+ crossOutEnabled: NonNullable<boolean | undefined>;
2977
+ editorChangeDelay: number;
2978
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
2979
+ inModal: NonNullable<boolean | undefined>;
2980
+ isArticle: NonNullable<boolean | undefined>;
2981
+ isMobile: NonNullable<boolean | undefined>;
2982
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
2983
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
2984
+ readOnly: NonNullable<boolean | undefined>;
2985
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
2986
+ showAlignmentOptions: NonNullable<boolean | undefined>;
2987
+ useDraftEditor: NonNullable<boolean | undefined>;
2988
+ }>;
2989
+ keypadElement?: any;
2990
+ questionCompleted?: boolean | undefined;
2991
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2992
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
2993
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
2994
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
2995
+ onChange: import("@khanacademy/perseus").ChangeHandler;
2996
+ trackInteraction: (extraData?: any) => void;
2997
+ isLastUsedWidget: boolean;
2998
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
2999
+ containerSizeClass: SizingUtils.SizeClass;
3000
+ }): string;
3001
+ getAngleEquationString(props: PerseusInteractiveGraphWidgetOptions & {
3002
+ widgetId: string;
3003
+ alignment: string | null | undefined;
3004
+ static: boolean | null | undefined;
3005
+ problemNum: number | null | undefined;
3006
+ apiOptions: Readonly<Readonly<{
3007
+ isArticle?: boolean | undefined;
3008
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3009
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3010
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
3011
+ showAlignmentOptions?: boolean | undefined;
3012
+ readOnly?: boolean | undefined;
3013
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
3014
+ getAnotherHint?: (() => unknown) | undefined;
3015
+ interactionCallback?: (() => unknown) | undefined;
3016
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
3017
+ imagePlaceholder?: React.ReactNode;
3018
+ widgetPlaceholder?: React.ReactNode;
3019
+ baseElements?: {
3020
+ Link: React.ComponentType<any>;
3021
+ } | undefined;
3022
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
3023
+ trackInteraction?: (() => unknown) | undefined;
3024
+ customKeypad?: boolean | undefined;
3025
+ nativeKeypadProxy?: (() => unknown) | undefined;
3026
+ isMobile?: boolean | undefined;
3027
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
3028
+ useDraftEditor?: boolean | undefined;
3029
+ hintProgressColor?: string | undefined;
3030
+ canScrollPage?: boolean | undefined;
3031
+ inModal?: boolean | undefined;
3032
+ crossOutEnabled?: boolean | undefined;
3033
+ editorChangeDelay?: number | undefined;
3034
+ }> & {
3035
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
3036
+ baseElements: {
3037
+ Link: React.ComponentType<any>;
3038
+ };
3039
+ canScrollPage: NonNullable<boolean | undefined>;
3040
+ crossOutEnabled: NonNullable<boolean | undefined>;
3041
+ editorChangeDelay: number;
3042
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
3043
+ inModal: NonNullable<boolean | undefined>;
3044
+ isArticle: NonNullable<boolean | undefined>;
3045
+ isMobile: NonNullable<boolean | undefined>;
3046
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3047
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3048
+ readOnly: NonNullable<boolean | undefined>;
3049
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
3050
+ showAlignmentOptions: NonNullable<boolean | undefined>;
3051
+ useDraftEditor: NonNullable<boolean | undefined>;
3052
+ }>;
3053
+ keypadElement?: any;
3054
+ questionCompleted?: boolean | undefined;
3055
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3056
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3057
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
3058
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
3059
+ onChange: import("@khanacademy/perseus").ChangeHandler;
3060
+ trackInteraction: (extraData?: any) => void;
3061
+ isLastUsedWidget: boolean;
3062
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
3063
+ containerSizeClass: SizingUtils.SizeClass;
3064
+ }): string;
3065
+ validate(state: import("../../../perseus/src/perseus-types").PerseusGraphType, rubric: PerseusInteractiveGraphWidgetOptions, component: any): import("@khanacademy/perseus").PerseusScore;
3066
+ getUserInputFromProps(props: PerseusInteractiveGraphWidgetOptions & {
3067
+ widgetId: string;
3068
+ alignment: string | null | undefined;
3069
+ static: boolean | null | undefined;
3070
+ problemNum: number | null | undefined;
3071
+ apiOptions: Readonly<Readonly<{
3072
+ isArticle?: boolean | undefined;
3073
+ onInputError?: ((widgetId: any, value: string, message?: string | null | undefined) => unknown) | undefined;
3074
+ onFocusChange?: ((newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown) | undefined;
3075
+ GroupMetadataEditor?: React.ComponentType<any> | undefined;
3076
+ showAlignmentOptions?: boolean | undefined;
3077
+ readOnly?: boolean | undefined;
3078
+ answerableCallback?: ((arg1: boolean) => unknown) | undefined;
3079
+ getAnotherHint?: (() => unknown) | undefined;
3080
+ interactionCallback?: (() => unknown) | undefined;
3081
+ groupAnnotator?: ((groupNumber: number, widgetId: string) => React.ReactNode) | undefined;
3082
+ imagePlaceholder?: React.ReactNode;
3083
+ widgetPlaceholder?: React.ReactNode;
3084
+ baseElements?: {
3085
+ Link: React.ComponentType<any>;
3086
+ } | undefined;
3087
+ imagePreloader?: ((dimensions: import("../../../perseus/src/types").Dimensions) => React.ReactNode) | undefined;
3088
+ trackInteraction?: (() => unknown) | undefined;
3089
+ customKeypad?: boolean | undefined;
3090
+ nativeKeypadProxy?: (() => unknown) | undefined;
3091
+ isMobile?: boolean | undefined;
3092
+ setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
3093
+ useDraftEditor?: boolean | undefined;
3094
+ hintProgressColor?: string | undefined;
3095
+ canScrollPage?: boolean | undefined;
3096
+ inModal?: boolean | undefined;
3097
+ crossOutEnabled?: boolean | undefined;
3098
+ editorChangeDelay?: number | undefined;
3099
+ }> & {
3100
+ GroupMetadataEditor: NonNullable<React.ComponentType<any> | undefined>;
3101
+ baseElements: {
3102
+ Link: React.ComponentType<any>;
3103
+ };
3104
+ canScrollPage: NonNullable<boolean | undefined>;
3105
+ crossOutEnabled: NonNullable<boolean | undefined>;
3106
+ editorChangeDelay: number;
3107
+ groupAnnotator: (groupNumber: number, widgetId: string) => React.ReactNode;
3108
+ inModal: NonNullable<boolean | undefined>;
3109
+ isArticle: NonNullable<boolean | undefined>;
3110
+ isMobile: NonNullable<boolean | undefined>;
3111
+ onFocusChange: (newFocusPath: import("@khanacademy/perseus").FocusPath, oldFocusPath: import("@khanacademy/perseus").FocusPath, keypadElement?: HTMLElement | undefined, focusedElement?: HTMLElement | undefined) => unknown;
3112
+ onInputError: (widgetId: any, value: string, message?: string | null | undefined) => unknown;
3113
+ readOnly: NonNullable<boolean | undefined>;
3114
+ setDrawingAreaAvailable: (arg1: boolean) => unknown;
3115
+ showAlignmentOptions: NonNullable<boolean | undefined>;
3116
+ useDraftEditor: NonNullable<boolean | undefined>;
3117
+ }>;
3118
+ keypadElement?: any;
3119
+ questionCompleted?: boolean | undefined;
3120
+ onFocus: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3121
+ onBlur: (blurPath: import("@khanacademy/perseus").FocusPath) => void;
3122
+ findWidgets: (arg1: import("../../../perseus/src/types").FilterCriterion) => readonly any[];
3123
+ reviewModeRubric: PerseusInteractiveGraphWidgetOptions;
3124
+ onChange: import("@khanacademy/perseus").ChangeHandler;
3125
+ trackInteraction: (extraData?: any) => void;
3126
+ isLastUsedWidget: boolean;
3127
+ linterContext: import("@khanacademy/perseus").LinterContextProps;
3128
+ containerSizeClass: SizingUtils.SizeClass;
3129
+ }): import("../../../perseus/src/perseus-types").PerseusGraphType;
3130
+ contextType?: React.Context<any> | undefined;
3131
+ };
3132
+ type InteractiveGraphProps = JSX.LibraryManagedAttributes<typeof InteractiveGraph, React.ComponentProps<typeof InteractiveGraph>>;
3133
+ type Range = [number, number];
3134
+ type Props = {
3135
+ apiOptions: APIOptionsWithDefaults;
3136
+ labels: ReadonlyArray<string>;
3137
+ range: [Range, Range];
3138
+ step: [number, number];
3139
+ gridStep: [number, number];
3140
+ snapStep: [number, number];
3141
+ box: [number, number];
3142
+ valid: boolean;
3143
+ backgroundImage: PerseusImageBackground;
3144
+ markings: string;
3145
+ showProtractor: boolean;
3146
+ showRuler: boolean;
3147
+ showTooltips: boolean;
3148
+ rulerLabel: string;
3149
+ rulerTicks: number;
3150
+ correct: any;
3151
+ graph: InteractiveGraphProps["graph"];
3152
+ onChange: (props: Partial<Props>) => void;
3153
+ };
3154
+ type DefaultProps = {
3155
+ labels: Props["labels"];
3156
+ range: Props["range"];
3157
+ step: Props["step"];
3158
+ valid: Props["valid"];
3159
+ backgroundImage: Props["backgroundImage"];
3160
+ markings: Props["markings"];
3161
+ showProtractor: Props["showProtractor"];
3162
+ showRuler: Props["showRuler"];
3163
+ showTooltips: Props["showTooltips"];
3164
+ rulerLabel: Props["rulerLabel"];
3165
+ rulerTicks: Props["rulerTicks"];
3166
+ correct: Props["correct"];
3167
+ };
3168
+ declare class InteractiveGraphEditor extends React.Component<Props> {
3169
+ displayName: string;
3170
+ className: string;
3171
+ static widgetName: string;
3172
+ static defaultProps: DefaultProps;
3173
+ deprecatedProps: {
3174
+ readonly showGraph: (props: any) => {
3175
+ markings: string;
3176
+ };
3177
+ };
3178
+ UNSAFE_componentWillMount(): void;
3179
+ render(): JSX.Element;
3180
+ changeMatchType(e: any): void;
3181
+ serialize(): PerseusInteractiveGraphWidgetOptions;
3182
+ }
2
3183
  export default InteractiveGraphEditor;