@khanacademy/perseus-editor 2.6.0 → 2.6.2

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 (180) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/article-editor.d.ts +1 -2
  3. package/dist/components/form-wrapped-text-field.d.ts +1 -10
  4. package/dist/components/graph-points-count-selector.d.ts +1 -1
  5. package/dist/es/index.js +414 -436
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/index.js +411 -435
  8. package/dist/index.js.map +1 -1
  9. package/dist/widgets/input-number-editor.d.ts +1 -2
  10. package/dist/widgets/interactive-graph-editor.d.ts +48 -47
  11. package/dist/widgets/plotter-editor.d.ts +47 -23
  12. package/package.json +12 -12
  13. package/src/__stories__/editor.stories.tsx +3 -1
  14. package/src/__tests__/i18n.test.ts +1 -1
  15. package/src/article-editor.tsx +13 -14
  16. package/src/components/checkbox.tsx +2 -1
  17. package/src/components/dropdown-option.tsx +13 -12
  18. package/src/components/form-wrapped-text-field.tsx +5 -2
  19. package/src/components/graph-points-count-selector.tsx +3 -1
  20. package/src/components/graph-settings.tsx +1 -1
  21. package/src/components/hover-behavior.ts +2 -2
  22. package/src/components/json-editor.tsx +2 -2
  23. package/src/components/sortable.tsx +1 -1
  24. package/src/components/util.ts +1 -1
  25. package/src/components/widget-editor.tsx +8 -7
  26. package/src/diffs/__tests__/structured-item-diff.test.ts +8 -8
  27. package/src/diffs/renderer-diff.tsx +3 -3
  28. package/src/diffs/split-diff.ts +2 -2
  29. package/src/diffs/structured-item-diff.tsx +11 -10
  30. package/src/diffs/text-diff.tsx +1 -1
  31. package/src/diffs/widget-diff.tsx +2 -2
  32. package/src/editor-page.tsx +8 -8
  33. package/src/editor.tsx +37 -36
  34. package/src/hint-editor.tsx +28 -27
  35. package/src/i18n.ts +4 -4
  36. package/src/iframe-content-renderer.tsx +10 -10
  37. package/src/item-editor.tsx +4 -4
  38. package/src/katex-mhchem/parser.js +24 -24
  39. package/src/multirenderer-editor.tsx +11 -11
  40. package/src/widgets/__stories__/label-image-editor.stories.tsx +1 -0
  41. package/src/widgets/__stories__/radio-editor.stories.tsx +1 -0
  42. package/src/widgets/categorizer-editor.tsx +3 -3
  43. package/src/widgets/cs-program-editor.tsx +2 -2
  44. package/src/widgets/definition-editor.tsx +3 -2
  45. package/src/widgets/dropdown-editor.tsx +9 -8
  46. package/src/widgets/example-graphie-widget-editor.tsx +1 -1
  47. package/src/widgets/example-graphie-widget.tsx +2 -2
  48. package/src/widgets/example-widget-editor.tsx +2 -2
  49. package/src/widgets/example-widget.tsx +4 -3
  50. package/src/widgets/explanation-editor.tsx +4 -3
  51. package/src/widgets/expression-editor.tsx +9 -9
  52. package/src/widgets/graded-group-editor.tsx +7 -6
  53. package/src/widgets/graded-group-set-editor.tsx +3 -3
  54. package/src/widgets/grapher-editor.tsx +3 -2
  55. package/src/widgets/group-editor.tsx +4 -3
  56. package/src/widgets/iframe-editor.tsx +5 -4
  57. package/src/widgets/input-number-editor.tsx +6 -6
  58. package/src/widgets/interaction-editor.tsx +103 -102
  59. package/src/widgets/interactive-graph-editor.tsx +12 -8
  60. package/src/widgets/label-image/marker.tsx +2 -1
  61. package/src/widgets/label-image/question-markers.tsx +1 -1
  62. package/src/widgets/lights-puzzle-editor.tsx +5 -4
  63. package/src/widgets/matrix-editor.tsx +2 -2
  64. package/src/widgets/measurer-editor.tsx +7 -6
  65. package/src/widgets/molecule-editor.tsx +2 -2
  66. package/src/widgets/number-line-editor.tsx +2 -1
  67. package/src/widgets/numeric-input-editor.tsx +2 -2
  68. package/src/widgets/orderer-editor.tsx +3 -2
  69. package/src/widgets/passage-editor.tsx +3 -3
  70. package/src/widgets/passage-ref-editor.tsx +4 -3
  71. package/src/widgets/passage-ref-target-editor.tsx +1 -1
  72. package/src/widgets/plotter-editor.tsx +253 -243
  73. package/src/widgets/radio/editor.tsx +3 -3
  74. package/src/widgets/reaction-diagram-editor.tsx +5 -5
  75. package/src/widgets/sequence-editor.tsx +1 -1
  76. package/src/widgets/simple-markdown-tester-editor.tsx +4 -3
  77. package/src/widgets/simple-markdown-tester.tsx +2 -2
  78. package/src/widgets/simulator-editor.tsx +1 -1
  79. package/src/widgets/sorter-editor.tsx +2 -1
  80. package/src/widgets/table-editor.tsx +1 -1
  81. package/src/widgets/transformer-editor.tsx +10 -10
  82. package/src/widgets/unit-editor.tsx +5 -5
  83. package/tsconfig-build.tsbuildinfo +1 -1
  84. package/dist/all-editors.js.flow +0 -8
  85. package/dist/all-widgets.js.flow +0 -34
  86. package/dist/article-editor.js.flow +0 -72
  87. package/dist/components/blur-input.js.flow +0 -25
  88. package/dist/components/checkbox.js.flow +0 -26
  89. package/dist/components/device-framer.js.flow +0 -20
  90. package/dist/components/drag-target.js.flow +0 -8
  91. package/dist/components/dropdown-option.js.flow +0 -49
  92. package/dist/components/form-wrapped-text-field.js.flow +0 -45
  93. package/dist/components/graph-points-count-selector.js.flow +0 -12
  94. package/dist/components/graph-settings.js.flow +0 -8
  95. package/dist/components/graph-type-selector.js.flow +0 -12
  96. package/dist/components/hover-behavior.js.flow +0 -48
  97. package/dist/components/json-editor.js.flow +0 -8
  98. package/dist/components/link.js.flow +0 -50
  99. package/dist/components/section-control-button.js.flow +0 -25
  100. package/dist/components/segment-count-selector.js.flow +0 -11
  101. package/dist/components/simple-button.js.flow +0 -18
  102. package/dist/components/sortable.js.flow +0 -8
  103. package/dist/components/util.js.flow +0 -9
  104. package/dist/components/viewport-resizer.js.flow +0 -22
  105. package/dist/components/widget-editor.js.flow +0 -91
  106. package/dist/components/widget-select.js.flow +0 -16
  107. package/dist/diffs/article-diff.js.flow +0 -71
  108. package/dist/diffs/item-diff.js.flow +0 -41
  109. package/dist/diffs/renderer-diff.js.flow +0 -25
  110. package/dist/diffs/split-diff.js.flow +0 -8
  111. package/dist/diffs/string-array-diff.js.flow +0 -11
  112. package/dist/diffs/structured-item-diff.js.flow +0 -37
  113. package/dist/diffs/tags-diff.js.flow +0 -24
  114. package/dist/diffs/text-diff.js.flow +0 -21
  115. package/dist/diffs/widget-diff-performer.js.flow +0 -8
  116. package/dist/diffs/widget-diff.js.flow +0 -31
  117. package/dist/editor-page.js.flow +0 -72
  118. package/dist/editor.js.flow +0 -96
  119. package/dist/hint-editor.js.flow +0 -87
  120. package/dist/i18n.js.flow +0 -13
  121. package/dist/iframe-content-renderer.js.flow +0 -28
  122. package/dist/index.js.flow +0 -23
  123. package/dist/item-editor.js.flow +0 -46
  124. package/dist/item-extras-editor.js.flow +0 -23
  125. package/dist/katex-error-view.js.flow +0 -24
  126. package/dist/multirenderer-editor.js.flow +0 -46
  127. package/dist/stateful-article-editor.js.flow +0 -16
  128. package/dist/stateful-editor-page.js.flow +0 -8
  129. package/dist/testing-widgets.js.flow +0 -34
  130. package/dist/util/points.js.flow +0 -9
  131. package/dist/util/register-all-widgets-and-editors-for-testing.js.flow +0 -7
  132. package/dist/widgets/categorizer-editor.js.flow +0 -62
  133. package/dist/widgets/cs-program-editor.js.flow +0 -25
  134. package/dist/widgets/definition-editor.js.flow +0 -23
  135. package/dist/widgets/dropdown-editor.js.flow +0 -37
  136. package/dist/widgets/example-graphie-widget-editor.js.flow +0 -25
  137. package/dist/widgets/example-graphie-widget.js.flow +0 -102
  138. package/dist/widgets/example-widget-editor.js.flow +0 -26
  139. package/dist/widgets/example-widget.js.flow +0 -86
  140. package/dist/widgets/explanation-editor.js.flow +0 -27
  141. package/dist/widgets/expression-editor.js.flow +0 -43
  142. package/dist/widgets/graded-group-editor.js.flow +0 -68
  143. package/dist/widgets/graded-group-set-editor.js.flow +0 -66
  144. package/dist/widgets/grapher-editor.js.flow +0 -21
  145. package/dist/widgets/group-editor.js.flow +0 -64
  146. package/dist/widgets/iframe-editor.js.flow +0 -24
  147. package/dist/widgets/image-editor.js.flow +0 -8
  148. package/dist/widgets/input-number-editor.js.flow +0 -77
  149. package/dist/widgets/interaction/constraint-editor.js.flow +0 -35
  150. package/dist/widgets/interaction-editor.js.flow +0 -36
  151. package/dist/widgets/interactive-graph-editor.js.flow +0 -5803
  152. package/dist/widgets/label-image/answer-choices.js.flow +0 -16
  153. package/dist/widgets/label-image/behavior.js.flow +0 -17
  154. package/dist/widgets/label-image/marker.js.flow +0 -32
  155. package/dist/widgets/label-image/question-markers.js.flow +0 -23
  156. package/dist/widgets/label-image/select-image.js.flow +0 -13
  157. package/dist/widgets/label-image-editor.js.flow +0 -44
  158. package/dist/widgets/lights-puzzle-editor.js.flow +0 -34
  159. package/dist/widgets/matcher-editor.js.flow +0 -28
  160. package/dist/widgets/matrix-editor.js.flow +0 -26
  161. package/dist/widgets/measurer-editor.js.flow +0 -42
  162. package/dist/widgets/molecule-editor.js.flow +0 -23
  163. package/dist/widgets/number-line-editor.js.flow +0 -45
  164. package/dist/widgets/numeric-input-editor.js.flow +0 -8
  165. package/dist/widgets/orderer-editor.js.flow +0 -30
  166. package/dist/widgets/passage-editor.js.flow +0 -24
  167. package/dist/widgets/passage-ref-editor.js.flow +0 -17
  168. package/dist/widgets/passage-ref-target-editor.js.flow +0 -22
  169. package/dist/widgets/plotter-editor.js.flow +0 -53
  170. package/dist/widgets/radio/editor.js.flow +0 -81
  171. package/dist/widgets/reaction-diagram-editor.js.flow +0 -26
  172. package/dist/widgets/sequence-editor.js.flow +0 -73
  173. package/dist/widgets/simple-markdown-tester-editor.js.flow +0 -23
  174. package/dist/widgets/simple-markdown-tester.js.flow +0 -61
  175. package/dist/widgets/simulator-editor.js.flow +0 -26
  176. package/dist/widgets/sorter-editor.js.flow +0 -22
  177. package/dist/widgets/table-editor.js.flow +0 -24
  178. package/dist/widgets/transformer-editor.js.flow +0 -17
  179. package/dist/widgets/unit-editor.js.flow +0 -41
  180. package/dist/widgets/video-editor.js.flow +0 -25
@@ -6,11 +6,8 @@ import {
6
6
  InteractiveGraphWidget,
7
7
  SizingUtils,
8
8
  Util,
9
- PerseusImageBackground,
10
- PerseusInteractiveGraphWidgetOptions,
11
- APIOptionsWithDefaults,
12
9
  } from "@khanacademy/perseus";
13
- import {StyleType, View} from "@khanacademy/wonder-blocks-core";
10
+ import {View} from "@khanacademy/wonder-blocks-core";
14
11
  import Spacing from "@khanacademy/wonder-blocks-spacing";
15
12
  import * as Typography from "@khanacademy/wonder-blocks-typography";
16
13
  import * as React from "react";
@@ -22,6 +19,13 @@ import GraphTypeSelector from "../components/graph-type-selector";
22
19
  import SegmentCountSelector from "../components/segment-count-selector";
23
20
  import {parsePointCount} from "../util/points";
24
21
 
22
+ import type {
23
+ PerseusImageBackground,
24
+ PerseusInteractiveGraphWidgetOptions,
25
+ APIOptionsWithDefaults,
26
+ } from "@khanacademy/perseus";
27
+ import type {StyleType} from "@khanacademy/wonder-blocks-core";
28
+
25
29
  const {InfoTip} = components;
26
30
  const {containerSizeClass, getInteractiveBoxFromSizeClass} = SizingUtils;
27
31
  const DeprecationMixin = Util.DeprecationMixin;
@@ -168,7 +172,7 @@ class InteractiveGraphEditor extends React.Component<Props> {
168
172
  trackInteraction: function () {},
169
173
  onChange: (newProps: InteractiveGraphProps) => {
170
174
  let correct = this.props.correct;
171
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
175
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
172
176
  if (correct.type === newProps.graph.type) {
173
177
  correct = _.extend({}, correct, newProps.graph);
174
178
  } else {
@@ -182,7 +186,7 @@ class InteractiveGraphEditor extends React.Component<Props> {
182
186
  // There are a bunch of props that renderer.jsx passes to widgets via
183
187
  // getWidgetProps() and widget-container.jsx that the editors don't
184
188
  // bother passing.
185
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
189
+ // @ts-expect-error - TS2769 - No overload matches this call.
186
190
  <InteractiveGraph
187
191
  {...graphProps}
188
192
  containerSizeClass={sizeClass}
@@ -194,7 +198,7 @@ class InteractiveGraphEditor extends React.Component<Props> {
194
198
  );
195
199
  // TODO(kevinb): Update getEquationString to only accept the data it actually
196
200
  // needs to compute the equation string.
197
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type '{ readonly ref: "graph"; readonly box: any; readonly range: any; readonly labels: any; readonly step: any; readonly gridStep: any; readonly snapStep: any; readonly graph: any; readonly backgroundImage: any; ... 6 more ...; readonly onChange: (newProps: Pick<...> & ... 1 more ... & InexactPartial<...>) => void; }' is not assignable to parameter of type 'Props'.
201
+ // @ts-expect-error - TS2345 - Argument of type '{ readonly ref: "graph"; readonly box: any; readonly range: any; readonly labels: any; readonly step: any; readonly gridStep: any; readonly snapStep: any; readonly graph: any; readonly backgroundImage: any; ... 6 more ...; readonly onChange: (newProps: Pick<...> & ... 1 more ... & InexactPartial<...>) => void; }' is not assignable to parameter of type 'Props'.
198
202
  equationString = InteractiveGraph.getEquationString(graphProps);
199
203
  } else {
200
204
  graph = <div className="perseus-error">{this.props.valid}</div>;
@@ -556,7 +560,7 @@ class InteractiveGraphEditor extends React.Component<Props> {
556
560
  ],
557
561
  function (key) {
558
562
  if (_.has(correct, key)) {
559
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'graph' does not exist on type 'Pick<any, "step" | "range" | "backgroundImage" | "snapStep" | "labels" | "showTooltips" | "markings" | "gridStep" | "showProtractor" | "showRuler" | "rulerLabel" | "rulerTicks">'.
563
+ // @ts-expect-error - TS2339 - Property 'graph' does not exist on type 'Pick<any, "step" | "range" | "backgroundImage" | "snapStep" | "labels" | "showTooltips" | "markings" | "gridStep" | "showProtractor" | "showRuler" | "rulerLabel" | "rulerTicks">'.
560
564
  json.graph[key] = correct[key];
561
565
  }
562
566
  },
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  /* eslint-disable react/no-unsafe */
2
3
  /**
3
4
  * Controlled editor image marker on the question image.
@@ -162,7 +163,7 @@ export default class Marker extends React.Component<Props, State> {
162
163
  <OptionGroup
163
164
  onSelected={this.handleSelectAnswer}
164
165
  // TODO(WB-1096): make selectedValues immutable in wonder-blocks
165
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
166
+ // @ts-expect-error - TS2769 - No overload matches this call.
166
167
  selectedValues={answers}
167
168
  >
168
169
  {choices.map((choice) => (
@@ -33,7 +33,7 @@ export default class QuestionMarkers extends React.Component<Props> {
33
33
  // Open answer selection dropdown for each of the specified markers.
34
34
  indices.forEach((index) => {
35
35
  if (this._markers[index]) {
36
- // @ts-expect-error [FEI-5003] - TS2533 - Object is possibly 'null' or 'undefined'.
36
+ // @ts-expect-error - TS2533 - Object is possibly 'null' or 'undefined'.
37
37
  this._markers[index].openDropdown();
38
38
  }
39
39
  });
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  /* eslint-disable react/sort-comp */
2
3
  import {components, Changeable, EditorJsonify} from "@khanacademy/perseus";
3
4
  import PropTypes from "prop-types";
@@ -191,7 +192,7 @@ class LightsPuzzleEditor extends React.Component<LightsPuzzleEditorProps> {
191
192
  Flip pattern:
192
193
  <select
193
194
  value={this.props.flipPattern}
194
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
195
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
195
196
  onChange={this._handlePatternChange}
196
197
  >
197
198
  {_.map(_.keys(PATTERNS), (pattern, i) => {
@@ -229,7 +230,7 @@ class LightsPuzzleEditor extends React.Component<LightsPuzzleEditorProps> {
229
230
 
230
231
  _handlePatternChange: (arg1: React.ChangeEvent<HTMLInputElement>) => void =
231
232
  (e) => {
232
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
233
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
233
234
  this.change("flipPattern", e.target.value);
234
235
  };
235
236
 
@@ -256,7 +257,7 @@ class LightsPuzzleEditor extends React.Component<LightsPuzzleEditorProps> {
256
257
  });
257
258
  });
258
259
 
259
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
260
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
260
261
  this.change({startCells: newCells});
261
262
  };
262
263
 
@@ -265,7 +266,7 @@ class LightsPuzzleEditor extends React.Component<LightsPuzzleEditorProps> {
265
266
  return y === tileY && x === tileX;
266
267
  });
267
268
 
268
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
269
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
269
270
  this.change({startCells: newCells});
270
271
  };
271
272
 
@@ -99,7 +99,7 @@ class MatrixEditor extends React.Component<Props> {
99
99
  content={this.props.prefix}
100
100
  widgetEnabled={false}
101
101
  onChange={(newProps) => {
102
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
102
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
103
103
  this.change({prefix: newProps.content});
104
104
  }}
105
105
  />
@@ -114,7 +114,7 @@ class MatrixEditor extends React.Component<Props> {
114
114
  content={this.props.suffix}
115
115
  widgetEnabled={false}
116
116
  onChange={(newProps) => {
117
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
117
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
118
118
  this.change({suffix: newProps.content});
119
119
  }}
120
120
  />
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  /* eslint-disable react/sort-comp */
2
3
  import {components, Changeable, EditorJsonify} from "@khanacademy/perseus";
3
4
  import PropTypes from "prop-types";
@@ -94,7 +95,7 @@ class MeasurerEditor extends React.Component<Props> {
94
95
  <div>
95
96
  Containing area [width, height]:{" "}
96
97
  <RangeInput
97
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
98
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
98
99
  onChange={this.change("box")}
99
100
  value={this.props.box}
100
101
  useArrowKeys={true}
@@ -124,7 +125,7 @@ class MeasurerEditor extends React.Component<Props> {
124
125
  Ruler label:{" "}
125
126
  <select
126
127
  onChange={(e) =>
127
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
128
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
128
129
  this.change(
129
130
  "rulerLabel",
130
131
  e.target.value,
@@ -158,7 +159,7 @@ class MeasurerEditor extends React.Component<Props> {
158
159
  Ruler ticks:{" "}
159
160
  <select
160
161
  onChange={(e) =>
161
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
162
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
162
163
  this.change(
163
164
  "rulerTicks",
164
165
  +e.target.value,
@@ -181,7 +182,7 @@ class MeasurerEditor extends React.Component<Props> {
181
182
  Ruler pixels per unit:{" "}
182
183
  <NumberInput
183
184
  placeholder={40}
184
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
185
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
185
186
  onChange={this.change("rulerPixels")}
186
187
  value={this.props.rulerPixels}
187
188
  useArrowKeys={true}
@@ -193,7 +194,7 @@ class MeasurerEditor extends React.Component<Props> {
193
194
  Ruler length in units:{" "}
194
195
  <NumberInput
195
196
  placeholder={10}
196
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
197
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
197
198
  onChange={this.change("rulerLength")}
198
199
  value={this.props.rulerLength}
199
200
  useArrowKeys={true}
@@ -225,7 +226,7 @@ class MeasurerEditor extends React.Component<Props> {
225
226
  _changeImage: (arg1: string, arg2: any) => void = (subProp, newValue) => {
226
227
  const image = _.clone(this.props.image);
227
228
  image[subProp] = newValue;
228
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
229
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
229
230
  this.change("image", image);
230
231
  };
231
232
 
@@ -20,12 +20,12 @@ class MoleculeWidgetEditor extends React.Component<Props> {
20
20
  };
21
21
 
22
22
  updateMolecule: (arg1: string) => void = (newValue) => {
23
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
23
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
24
24
  this.change({smiles: newValue});
25
25
  };
26
26
 
27
27
  updateRotation: (arg1: string) => void = (newValue) => {
28
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29
29
  this.change({rotationAngle: newValue});
30
30
  };
31
31
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  import {number as knumber} from "@khanacademy/kmath";
2
3
  import {components, EditorJsonify} from "@khanacademy/perseus";
3
4
  import PropTypes from "prop-types";
@@ -211,7 +212,7 @@ class NumberLineEditor extends React.Component<Props> {
211
212
  Correct x{" "}
212
213
  <select
213
214
  value={this.props.correctRel}
214
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
215
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
215
216
  onChange={this.onChangeRelation}
216
217
  >
217
218
  <option value="eq"> = </option>
@@ -508,7 +508,7 @@ const NumericInputEditor: any = createReactClass({
508
508
  // TODO(emily): This doesn't actually work, because the value is either
509
509
  // null or undefined when undefined, probably.
510
510
  if (_.contains(_.pluck(this.props.answers, "value"), "")) {
511
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
511
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
512
512
  warnings.push("One or more answers is empty");
513
513
  }
514
514
  this.props.answers.forEach((answer, i) => {
@@ -517,7 +517,7 @@ const NumericInputEditor: any = createReactClass({
517
517
  (!answer.answerForms || answer.answerForms.length === 0);
518
518
  if (formatError) {
519
519
  warnings.push(
520
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
520
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
521
521
  `Answer ${i + 1} is set to string format ` +
522
522
  "matching, but no format was selected",
523
523
  );
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  /* eslint-disable one-var, react/forbid-prop-types, react/sort-comp */
2
3
  import {components} from "@khanacademy/perseus";
3
4
  import PropTypes from "prop-types";
@@ -73,7 +74,7 @@ class OrdererEditor extends React.Component<Props> {
73
74
  Layout:{" "}
74
75
  <select
75
76
  value={this.props.layout}
76
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
77
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
77
78
  onChange={this.onLayoutChange}
78
79
  >
79
80
  <option value={HORIZONTAL}>Horizontal</option>
@@ -94,7 +95,7 @@ class OrdererEditor extends React.Component<Props> {
94
95
  Height:{" "}
95
96
  <select
96
97
  value={this.props.height}
97
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
98
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
98
99
  onChange={this.onHeightChange}
99
100
  >
100
101
  <option value={NORMAL}>Normal</option>
@@ -45,7 +45,7 @@ class PassageEditor extends React.Component<Props> {
45
45
  widgetEnabled={false}
46
46
  placeholder="Type passage here..."
47
47
  onChange={(newProps) => {
48
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
48
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
49
49
  this.change({passageText: newProps.content});
50
50
  }}
51
51
  showWordCount={true}
@@ -60,7 +60,7 @@ class PassageEditor extends React.Component<Props> {
60
60
  widgetEnabled={false}
61
61
  placeholder="Type footnotes here..."
62
62
  onChange={(newProps) => {
63
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
63
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
64
64
  this.change({footnotes: newProps.content});
65
65
  }}
66
66
  />
@@ -88,7 +88,7 @@ class PassageEditor extends React.Component<Props> {
88
88
  type="text"
89
89
  defaultValue={this.props.passageTitle}
90
90
  onChange={(e) => {
91
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
91
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
92
92
  this.change({passageTitle: e.target.value});
93
93
  }}
94
94
  />
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  import {components, Changeable, EditorJsonify} from "@khanacademy/perseus";
2
3
  import PropTypes from "prop-types";
3
4
  import * as React from "react";
@@ -38,7 +39,7 @@ class PassageRefEditor extends React.Component<Props> {
38
39
  {"Passage Number: "}
39
40
  <NumberInput
40
41
  value={this.props.passageNumber}
41
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
42
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
42
43
  onChange={this.change("passageNumber")}
43
44
  />
44
45
  </label>
@@ -48,7 +49,7 @@ class PassageRefEditor extends React.Component<Props> {
48
49
  {"Reference Number: "}
49
50
  <NumberInput
50
51
  value={this.props.referenceNumber}
51
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
52
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
52
53
  onChange={this.change("referenceNumber")}
53
54
  />
54
55
  </label>
@@ -58,7 +59,7 @@ class PassageRefEditor extends React.Component<Props> {
58
59
  {"Summary Text: "}
59
60
  <TextInput
60
61
  value={this.props.summaryText}
61
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
62
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
62
63
  onChange={this.change("summaryText")}
63
64
  />
64
65
  <InfoTip>
@@ -24,7 +24,7 @@ class PassageRefTargetEditor extends React.Component<Props> {
24
24
  handleContentChange: (arg1: React.ChangeEvent<HTMLInputElement>) => void = (
25
25
  e,
26
26
  ) => {
27
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
27
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28
28
  this.change({content: e.target.value});
29
29
  };
30
30