@khanacademy/perseus-editor 2.6.1 → 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 (176) hide show
  1. package/CHANGELOG.md +13 -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 +364 -364
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/index.js +366 -366
  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/package.json +12 -12
  12. package/src/__stories__/editor.stories.tsx +3 -1
  13. package/src/__tests__/i18n.test.ts +1 -1
  14. package/src/article-editor.tsx +13 -14
  15. package/src/components/checkbox.tsx +1 -1
  16. package/src/components/dropdown-option.tsx +12 -12
  17. package/src/components/form-wrapped-text-field.tsx +4 -2
  18. package/src/components/graph-points-count-selector.tsx +3 -1
  19. package/src/components/graph-settings.tsx +1 -1
  20. package/src/components/hover-behavior.ts +2 -2
  21. package/src/components/json-editor.tsx +2 -2
  22. package/src/components/sortable.tsx +1 -1
  23. package/src/components/util.ts +1 -1
  24. package/src/components/widget-editor.tsx +7 -7
  25. package/src/diffs/__tests__/structured-item-diff.test.ts +8 -8
  26. package/src/diffs/renderer-diff.tsx +3 -3
  27. package/src/diffs/split-diff.ts +2 -2
  28. package/src/diffs/structured-item-diff.tsx +10 -10
  29. package/src/diffs/text-diff.tsx +1 -1
  30. package/src/diffs/widget-diff.tsx +2 -2
  31. package/src/editor-page.tsx +8 -8
  32. package/src/editor.tsx +36 -36
  33. package/src/hint-editor.tsx +27 -27
  34. package/src/i18n.ts +4 -4
  35. package/src/iframe-content-renderer.tsx +10 -10
  36. package/src/item-editor.tsx +4 -4
  37. package/src/multirenderer-editor.tsx +11 -11
  38. package/src/widgets/categorizer-editor.tsx +3 -3
  39. package/src/widgets/cs-program-editor.tsx +2 -2
  40. package/src/widgets/definition-editor.tsx +2 -2
  41. package/src/widgets/dropdown-editor.tsx +8 -8
  42. package/src/widgets/example-graphie-widget-editor.tsx +1 -1
  43. package/src/widgets/example-graphie-widget.tsx +2 -2
  44. package/src/widgets/example-widget-editor.tsx +2 -2
  45. package/src/widgets/example-widget.tsx +3 -3
  46. package/src/widgets/explanation-editor.tsx +3 -3
  47. package/src/widgets/expression-editor.tsx +9 -9
  48. package/src/widgets/graded-group-editor.tsx +6 -6
  49. package/src/widgets/graded-group-set-editor.tsx +3 -3
  50. package/src/widgets/grapher-editor.tsx +2 -2
  51. package/src/widgets/group-editor.tsx +3 -3
  52. package/src/widgets/iframe-editor.tsx +4 -4
  53. package/src/widgets/input-number-editor.tsx +6 -6
  54. package/src/widgets/interaction-editor.tsx +102 -102
  55. package/src/widgets/interactive-graph-editor.tsx +12 -8
  56. package/src/widgets/label-image/marker.tsx +1 -1
  57. package/src/widgets/label-image/question-markers.tsx +1 -1
  58. package/src/widgets/lights-puzzle-editor.tsx +4 -4
  59. package/src/widgets/matrix-editor.tsx +2 -2
  60. package/src/widgets/measurer-editor.tsx +6 -6
  61. package/src/widgets/molecule-editor.tsx +2 -2
  62. package/src/widgets/number-line-editor.tsx +1 -1
  63. package/src/widgets/numeric-input-editor.tsx +2 -2
  64. package/src/widgets/orderer-editor.tsx +2 -2
  65. package/src/widgets/passage-editor.tsx +3 -3
  66. package/src/widgets/passage-ref-editor.tsx +3 -3
  67. package/src/widgets/passage-ref-target-editor.tsx +1 -1
  68. package/src/widgets/plotter-editor.tsx +4 -4
  69. package/src/widgets/radio/editor.tsx +3 -3
  70. package/src/widgets/reaction-diagram-editor.tsx +5 -5
  71. package/src/widgets/sequence-editor.tsx +1 -1
  72. package/src/widgets/simple-markdown-tester-editor.tsx +3 -3
  73. package/src/widgets/simple-markdown-tester.tsx +2 -2
  74. package/src/widgets/simulator-editor.tsx +1 -1
  75. package/src/widgets/sorter-editor.tsx +1 -1
  76. package/src/widgets/table-editor.tsx +1 -1
  77. package/src/widgets/transformer-editor.tsx +10 -10
  78. package/src/widgets/unit-editor.tsx +5 -5
  79. package/tsconfig-build.tsbuildinfo +1 -1
  80. package/dist/all-editors.js.flow +0 -8
  81. package/dist/all-widgets.js.flow +0 -34
  82. package/dist/article-editor.js.flow +0 -72
  83. package/dist/components/blur-input.js.flow +0 -25
  84. package/dist/components/checkbox.js.flow +0 -26
  85. package/dist/components/device-framer.js.flow +0 -20
  86. package/dist/components/drag-target.js.flow +0 -8
  87. package/dist/components/dropdown-option.js.flow +0 -49
  88. package/dist/components/form-wrapped-text-field.js.flow +0 -45
  89. package/dist/components/graph-points-count-selector.js.flow +0 -12
  90. package/dist/components/graph-settings.js.flow +0 -8
  91. package/dist/components/graph-type-selector.js.flow +0 -12
  92. package/dist/components/hover-behavior.js.flow +0 -48
  93. package/dist/components/json-editor.js.flow +0 -8
  94. package/dist/components/link.js.flow +0 -50
  95. package/dist/components/section-control-button.js.flow +0 -25
  96. package/dist/components/segment-count-selector.js.flow +0 -11
  97. package/dist/components/simple-button.js.flow +0 -18
  98. package/dist/components/sortable.js.flow +0 -8
  99. package/dist/components/util.js.flow +0 -9
  100. package/dist/components/viewport-resizer.js.flow +0 -22
  101. package/dist/components/widget-editor.js.flow +0 -91
  102. package/dist/components/widget-select.js.flow +0 -16
  103. package/dist/diffs/article-diff.js.flow +0 -71
  104. package/dist/diffs/item-diff.js.flow +0 -41
  105. package/dist/diffs/renderer-diff.js.flow +0 -25
  106. package/dist/diffs/split-diff.js.flow +0 -8
  107. package/dist/diffs/string-array-diff.js.flow +0 -11
  108. package/dist/diffs/structured-item-diff.js.flow +0 -37
  109. package/dist/diffs/tags-diff.js.flow +0 -24
  110. package/dist/diffs/text-diff.js.flow +0 -21
  111. package/dist/diffs/widget-diff-performer.js.flow +0 -8
  112. package/dist/diffs/widget-diff.js.flow +0 -31
  113. package/dist/editor-page.js.flow +0 -72
  114. package/dist/editor.js.flow +0 -96
  115. package/dist/hint-editor.js.flow +0 -87
  116. package/dist/i18n.js.flow +0 -13
  117. package/dist/iframe-content-renderer.js.flow +0 -28
  118. package/dist/index.js.flow +0 -23
  119. package/dist/item-editor.js.flow +0 -46
  120. package/dist/item-extras-editor.js.flow +0 -23
  121. package/dist/katex-error-view.js.flow +0 -24
  122. package/dist/multirenderer-editor.js.flow +0 -46
  123. package/dist/stateful-article-editor.js.flow +0 -16
  124. package/dist/stateful-editor-page.js.flow +0 -8
  125. package/dist/testing-widgets.js.flow +0 -34
  126. package/dist/util/points.js.flow +0 -9
  127. package/dist/util/register-all-widgets-and-editors-for-testing.js.flow +0 -7
  128. package/dist/widgets/categorizer-editor.js.flow +0 -62
  129. package/dist/widgets/cs-program-editor.js.flow +0 -25
  130. package/dist/widgets/definition-editor.js.flow +0 -23
  131. package/dist/widgets/dropdown-editor.js.flow +0 -37
  132. package/dist/widgets/example-graphie-widget-editor.js.flow +0 -25
  133. package/dist/widgets/example-graphie-widget.js.flow +0 -102
  134. package/dist/widgets/example-widget-editor.js.flow +0 -26
  135. package/dist/widgets/example-widget.js.flow +0 -86
  136. package/dist/widgets/explanation-editor.js.flow +0 -27
  137. package/dist/widgets/expression-editor.js.flow +0 -43
  138. package/dist/widgets/graded-group-editor.js.flow +0 -68
  139. package/dist/widgets/graded-group-set-editor.js.flow +0 -66
  140. package/dist/widgets/grapher-editor.js.flow +0 -21
  141. package/dist/widgets/group-editor.js.flow +0 -64
  142. package/dist/widgets/iframe-editor.js.flow +0 -24
  143. package/dist/widgets/image-editor.js.flow +0 -8
  144. package/dist/widgets/input-number-editor.js.flow +0 -77
  145. package/dist/widgets/interaction/constraint-editor.js.flow +0 -35
  146. package/dist/widgets/interaction-editor.js.flow +0 -36
  147. package/dist/widgets/interactive-graph-editor.js.flow +0 -5803
  148. package/dist/widgets/label-image/answer-choices.js.flow +0 -16
  149. package/dist/widgets/label-image/behavior.js.flow +0 -17
  150. package/dist/widgets/label-image/marker.js.flow +0 -32
  151. package/dist/widgets/label-image/question-markers.js.flow +0 -23
  152. package/dist/widgets/label-image/select-image.js.flow +0 -13
  153. package/dist/widgets/label-image-editor.js.flow +0 -44
  154. package/dist/widgets/lights-puzzle-editor.js.flow +0 -34
  155. package/dist/widgets/matcher-editor.js.flow +0 -28
  156. package/dist/widgets/matrix-editor.js.flow +0 -26
  157. package/dist/widgets/measurer-editor.js.flow +0 -42
  158. package/dist/widgets/molecule-editor.js.flow +0 -23
  159. package/dist/widgets/number-line-editor.js.flow +0 -45
  160. package/dist/widgets/numeric-input-editor.js.flow +0 -8
  161. package/dist/widgets/orderer-editor.js.flow +0 -30
  162. package/dist/widgets/passage-editor.js.flow +0 -24
  163. package/dist/widgets/passage-ref-editor.js.flow +0 -17
  164. package/dist/widgets/passage-ref-target-editor.js.flow +0 -22
  165. package/dist/widgets/plotter-editor.js.flow +0 -75
  166. package/dist/widgets/radio/editor.js.flow +0 -81
  167. package/dist/widgets/reaction-diagram-editor.js.flow +0 -26
  168. package/dist/widgets/sequence-editor.js.flow +0 -73
  169. package/dist/widgets/simple-markdown-tester-editor.js.flow +0 -23
  170. package/dist/widgets/simple-markdown-tester.js.flow +0 -61
  171. package/dist/widgets/simulator-editor.js.flow +0 -26
  172. package/dist/widgets/sorter-editor.js.flow +0 -22
  173. package/dist/widgets/table-editor.js.flow +0 -24
  174. package/dist/widgets/transformer-editor.js.flow +0 -17
  175. package/dist/widgets/unit-editor.js.flow +0 -41
  176. package/dist/widgets/video-editor.js.flow +0 -25
package/dist/index.js CHANGED
@@ -215,7 +215,7 @@ const JsonEditor = createReactClass__default["default"]({
215
215
  currentValue: nextString,
216
216
  valid: true
217
217
  }, function () {
218
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
218
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
219
219
  this.props.onChange(json);
220
220
  });
221
221
  } catch (ex) {
@@ -242,7 +242,7 @@ const JsonEditor = createReactClass__default["default"]({
242
242
  currentValue: JSON.stringify(json, null, 4),
243
243
  valid: true
244
244
  }, function () {
245
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
245
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
246
246
  this.props.onChange(json);
247
247
  });
248
248
  } catch (ex) {
@@ -20614,7 +20614,7 @@ const _upgradeWidgetInfo = props => {
20614
20614
  // We can't call serialize here because this.refs.widget
20615
20615
  // doesn't exist before this component is mounted.
20616
20616
  const filteredProps = ___default["default"].omit(props, perseus.WIDGET_PROP_DENYLIST);
20617
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'PerseusWidget' is not assignable to type 'ReactElement<any, string | JSXElementConstructor<any>>'. | TS2345 - Argument of type 'Partial<{ id: string; onChange: (widgetInfo: PerseusWidget, cb?: (() => unknown) | undefined, silent?: boolean | undefined) => unknown; onRemove: () => unknown; apiOptions: any; } & CategorizerWidget & { ...; }> | ... 38 more ... | Partial<...>' is not assignable to parameter of type 'PerseusWidget'.
20617
+ // @ts-expect-error - TS2322 - Type 'PerseusWidget' is not assignable to type 'ReactElement<any, string | JSXElementConstructor<any>>'. | TS2345 - Argument of type 'Partial<{ id: string; onChange: (widgetInfo: PerseusWidget, cb?: (() => unknown) | undefined, silent?: boolean | undefined) => unknown; onRemove: () => unknown; apiOptions: any; } & CategorizerWidget & { ...; }> | ... 38 more ... | Partial<...>' is not assignable to parameter of type 'PerseusWidget'.
20618
20618
  return perseus.Widgets.upgradeWidgetInfoToLatestVersion(filteredProps);
20619
20619
  };
20620
20620
 
@@ -20636,7 +20636,7 @@ class WidgetEditor extends React__namespace.Component {
20636
20636
  const newWidgetInfo = Object.assign({}, this.state.widgetInfo);
20637
20637
  newWidgetInfo.options = Object.assign(
20638
20638
  // eslint-disable-next-line react/no-string-refs
20639
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
20639
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
20640
20640
  this.refs.widget.serialize(), newProps);
20641
20641
  this.props.onChange(newWidgetInfo, cb, silent);
20642
20642
  });
@@ -20655,7 +20655,7 @@ class WidgetEditor extends React__namespace.Component {
20655
20655
  });
20656
20656
  _defineProperty(this, "getSaveWarnings", () => {
20657
20657
  // eslint-disable-next-line react/no-string-refs
20658
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
20658
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
20659
20659
  const issuesFunc = this.refs.widget.getSaveWarnings;
20660
20660
  return issuesFunc ? issuesFunc() : [];
20661
20661
  });
@@ -20670,19 +20670,19 @@ class WidgetEditor extends React__namespace.Component {
20670
20670
  static: widgetInfo.static,
20671
20671
  graded: widgetInfo.graded,
20672
20672
  // eslint-disable-next-line react/no-string-refs
20673
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
20673
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
20674
20674
  options: this.refs.widget.serialize(),
20675
20675
  version: widgetInfo.version
20676
20676
  };
20677
20677
  });
20678
20678
  this.state = {
20679
20679
  showWidget: false,
20680
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'ReactElement<any, any> | null' is not assignable to type 'PerseusWidget'.
20680
+ // @ts-expect-error - TS2322 - Type 'ReactElement<any, any> | null' is not assignable to type 'PerseusWidget'.
20681
20681
  widgetInfo: _upgradeWidgetInfo(props)
20682
20682
  };
20683
20683
  }
20684
20684
  UNSAFE_componentWillReceiveProps(nextProps) {
20685
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'ReactElement<any, any> | null' is not assignable to type 'PerseusWidget'.
20685
+ // @ts-expect-error - TS2322 - Type 'ReactElement<any, any> | null' is not assignable to type 'PerseusWidget'.
20686
20686
  this.setState({
20687
20687
  widgetInfo: _upgradeWidgetInfo(nextProps)
20688
20688
  });
@@ -20714,7 +20714,7 @@ class WidgetEditor extends React__namespace.Component {
20714
20714
  onClick: this._toggleWidget
20715
20715
  }, this.props.id, this.state.showWidget ? /*#__PURE__*/React__namespace.createElement(InlineIcon$b, iconChevronDown$1) : /*#__PURE__*/React__namespace.createElement(InlineIcon$b, iconChevronRight)), supportsStaticMode && /*#__PURE__*/React__namespace.createElement("input", {
20716
20716
  type: "button"
20717
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(e: Event) => void' is not assignable to type 'MouseEventHandler<HTMLInputElement>'.
20717
+ // @ts-expect-error - TS2322 - Type '(e: Event) => void' is not assignable to type 'MouseEventHandler<HTMLInputElement>'.
20718
20718
  ,
20719
20719
  onClick: this._toggleStatic,
20720
20720
  className: "simple-button--small",
@@ -20908,7 +20908,7 @@ const IMAGE_REGEX$1 = /!\[[^\]]*\]\(([^\s)]+)[^)]*\)/g;
20908
20908
  * ignores captures. If you don't need captures, use String::match
20909
20909
  */
20910
20910
  const allMatches = function (regex, str) {
20911
- // @ts-expect-error [FEI-5003] - TS2702 - 'RegExp' only refers to a type, but is being used as a namespace here.
20911
+ // @ts-expect-error - TS2702 - 'RegExp' only refers to a type, but is being used as a namespace here.
20912
20912
  const result = [];
20913
20913
  // eslint-disable-next-line no-constant-condition
20914
20914
  while (true) {
@@ -20943,12 +20943,12 @@ class Editor extends React__namespace.Component {
20943
20943
  return;
20944
20944
  }
20945
20945
  return /*#__PURE__*/React__namespace.createElement(WidgetEditor
20946
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
20946
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
20947
20947
  , _extends({
20948
20948
  key: id,
20949
20949
  ref: id,
20950
20950
  id: id
20951
- // @ts-expect-error [FEI-5003] - TS2783 - 'type' is specified more than once, so this usage will be overwritten.
20951
+ // @ts-expect-error - TS2783 - 'type' is specified more than once, so this usage will be overwritten.
20952
20952
  ,
20953
20953
  type: type
20954
20954
  // eslint-disable-next-line react/jsx-no-bind
@@ -20971,7 +20971,7 @@ class Editor extends React__namespace.Component {
20971
20971
  // eslint-disable-next-line react/no-string-refs
20972
20972
  const textarea = this.refs.textarea;
20973
20973
  const re = new RegExp(widgetRegExp.replace("{id}", id), "gm");
20974
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'value' does not exist on type 'ReactInstance'.
20974
+ // @ts-expect-error - TS2339 - Property 'value' does not exist on type 'ReactInstance'.
20975
20975
  this.props.onChange({
20976
20976
  content: textarea.value.replace(re, "")
20977
20977
  });
@@ -21007,7 +21007,7 @@ class Editor extends React__namespace.Component {
21007
21007
  props.onChange({
21008
21008
  images: ___default["default"].clone(images)
21009
21009
  },
21010
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'null' is not assignable to parameter of type '(() => unknown) | undefined'.
21010
+ // @ts-expect-error - TS2345 - Argument of type 'null' is not assignable to parameter of type '(() => unknown) | undefined'.
21011
21011
  null,
21012
21012
  // callback
21013
21013
  true // silent
@@ -21081,13 +21081,13 @@ class Editor extends React__namespace.Component {
21081
21081
  content: content
21082
21082
  });
21083
21083
  }).each(fileAndSentinel => {
21084
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2345 - Argument of type 'File' is not assignable to parameter of type 'string'.
21084
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2345 - Argument of type 'File' is not assignable to parameter of type 'string'.
21085
21085
  imageUploader(fileAndSentinel.file, url => {
21086
21086
  // See componentDidUpdate() for how this flag is used
21087
21087
  this.lastUserValue = origContent;
21088
21088
  this.props.onChange({
21089
21089
  content: this.state.textAreaValue.replace(
21090
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'.
21090
+ // @ts-expect-error - TS2531 - Object is possibly 'null'.
21091
21091
  fileAndSentinel.sentinel, url)
21092
21092
  });
21093
21093
  });
@@ -21119,7 +21119,7 @@ class Editor extends React__namespace.Component {
21119
21119
  const textarea = ReactDOM__namespace.findDOMNode(this.refs.textarea);
21120
21120
 
21121
21121
  // findDOMNode can also return Text, but we know it's an element.
21122
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'Element | Text | null' is not assignable to parameter of type 'HTMLTextAreaElement'.
21122
+ // @ts-expect-error - TS2345 - Argument of type 'Element | Text | null' is not assignable to parameter of type 'HTMLTextAreaElement'.
21123
21123
  const word = perseus.Util.textarea.getWordBeforeCursor(textarea);
21124
21124
  const matches = word.string.toLowerCase().match(shortcutRegexp);
21125
21125
  if (matches != null) {
@@ -21145,9 +21145,9 @@ class Editor extends React__namespace.Component {
21145
21145
  const textarea = e.currentTarget;
21146
21146
  const selectedText = textarea.value.substring(textarea.selectionStart, textarea.selectionEnd);
21147
21147
  const widgetNames = ___default["default"].map(
21148
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'RegExpMatchArray | null' is not assignable to parameter of type 'Collection<any>'.
21148
+ // @ts-expect-error - TS2345 - Argument of type 'RegExpMatchArray | null' is not assignable to parameter of type 'Collection<any>'.
21149
21149
  selectedText.match(rWidgetSplit), syntax => {
21150
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'.
21150
+ // @ts-expect-error - TS2531 - Object is possibly 'null'.
21151
21151
  return perseus.Util.rWidgetParts.exec(syntax)[1];
21152
21152
  });
21153
21153
  const widgetData = ___default["default"].pick(this.serialize().widgets, widgetNames);
@@ -21165,7 +21165,7 @@ class Editor extends React__namespace.Component {
21165
21165
  const widgetJSON = localStorage.perseusLastCopiedWidgets;
21166
21166
  const lastCopiedText = localStorage.perseusLastCopiedText;
21167
21167
  const textToBePasted =
21168
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'originalEvent' does not exist on type 'SyntheticEvent<HTMLTextAreaElement, Event>'.
21168
+ // @ts-expect-error - TS2339 - Property 'originalEvent' does not exist on type 'SyntheticEvent<HTMLTextAreaElement, Event>'.
21169
21169
  e.originalEvent.clipboardData.getData("text");
21170
21170
 
21171
21171
  // Only intercept if we have widget data to paste and the user is
@@ -21192,9 +21192,9 @@ class Editor extends React__namespace.Component {
21192
21192
  // Use safe widget name map to construct new text
21193
21193
  const safeText = lastCopiedText.replace(rWidgetSplit, syntax => {
21194
21194
  const match = perseus.Util.rWidgetParts.exec(syntax);
21195
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'.
21195
+ // @ts-expect-error - TS2531 - Object is possibly 'null'.
21196
21196
  const completeWidget = match[0];
21197
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'.
21197
+ // @ts-expect-error - TS2531 - Object is possibly 'null'.
21198
21198
  const widget = match[1];
21199
21199
  return completeWidget.replace(widget, safeWidgetMapping[widget]);
21200
21200
  });
@@ -21259,12 +21259,12 @@ class Editor extends React__namespace.Component {
21259
21259
  // Note: we have to use _.map here instead of Array::map
21260
21260
  // because the results of a .match might be null if no
21261
21261
  // widgets were found.
21262
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'RegExpMatchArray | null' is not assignable to parameter of type 'Collection<any>'.
21262
+ // @ts-expect-error - TS2345 - Argument of type 'RegExpMatchArray | null' is not assignable to parameter of type 'Collection<any>'.
21263
21263
  const allWidgetIds = ___default["default"].map(oldContent.match(rWidgetSplit), syntax => {
21264
21264
  const match = perseus.Util.rWidgetParts.exec(syntax);
21265
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'.
21265
+ // @ts-expect-error - TS2531 - Object is possibly 'null'.
21266
21266
  const type = match[2];
21267
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'.
21267
+ // @ts-expect-error - TS2531 - Object is possibly 'null'.
21268
21268
  const num = +match[3];
21269
21269
  return [type, num];
21270
21270
  });
@@ -21288,12 +21288,12 @@ class Editor extends React__namespace.Component {
21288
21288
  const newWidgets = ___default["default"].clone(this.props.widgets);
21289
21289
  newWidgets[id] = {
21290
21290
  options: (_Widgets$getEditor = perseus.Widgets.getEditor(widgetType)) === null || _Widgets$getEditor === void 0 ? void 0 : _Widgets$getEditor.defaultProps,
21291
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"video" | "image" | "iframe" | "table" | "radio" | "definition" | "group" | "matrix" | "categorizer" | "cs-program" | "dropdown" | "example-graphie-widget" | "example-widget" | ... 26 more ... | "unit-input"'.
21291
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"video" | "image" | "iframe" | "table" | "radio" | "definition" | "group" | "matrix" | "categorizer" | "cs-program" | "dropdown" | "example-graphie-widget" | "example-widget" | ... 26 more ... | "unit-input"'.
21292
21292
  type: widgetType,
21293
21293
  // Track widget version on creation, so that a widget editor
21294
21294
  // without a valid version prop can only possibly refer to a
21295
21295
  // pre-versioning creation time.
21296
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Version | null | undefined' is not assignable to type 'Version | undefined'.
21296
+ // @ts-expect-error - TS2322 - Type 'Version | null | undefined' is not assignable to type 'Version | undefined'.
21297
21297
  version: perseus.Widgets.getVersion(widgetType)
21298
21298
  };
21299
21299
 
@@ -21305,7 +21305,7 @@ class Editor extends React__namespace.Component {
21305
21305
  }, function () {
21306
21306
  perseus.Util.textarea.moveCursor(
21307
21307
  // findDOMNode can return Text but we know this is Element
21308
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'Element | Text | null' is not assignable to parameter of type 'HTMLTextAreaElement'.
21308
+ // @ts-expect-error - TS2345 - Argument of type 'Element | Text | null' is not assignable to parameter of type 'HTMLTextAreaElement'.
21309
21309
  textarea,
21310
21310
  // We want to put the cursor after the widget
21311
21311
  // and after any added newlines
@@ -21316,9 +21316,9 @@ class Editor extends React__namespace.Component {
21316
21316
  // eslint-disable-next-line react/no-string-refs
21317
21317
  const textarea = this.refs.textarea;
21318
21318
  this._addWidgetToContent(this.props.content,
21319
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'selectionStart' does not exist on type 'ReactInstance'. | TS2339 - Property 'selectionEnd' does not exist on type 'ReactInstance'.
21319
+ // @ts-expect-error - TS2339 - Property 'selectionStart' does not exist on type 'ReactInstance'. | TS2339 - Property 'selectionEnd' does not exist on type 'ReactInstance'.
21320
21320
  [textarea.selectionStart, textarea.selectionEnd], widgetType);
21321
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
21321
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
21322
21322
  textarea.focus();
21323
21323
  });
21324
21324
  _defineProperty(this, "addTemplate", e => {
@@ -21364,7 +21364,7 @@ class Editor extends React__namespace.Component {
21364
21364
  const widgetIds = ___default["default"].intersection(this.widgetIds, ___default["default"].keys(this.refs));
21365
21365
  const warnings = ___default["default"](widgetIds).chain().map(id => {
21366
21366
  // eslint-disable-next-line react/no-string-refs
21367
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
21367
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
21368
21368
  const issuesFunc = this.refs[id].getSaveWarnings;
21369
21369
  const issues = issuesFunc ? issuesFunc() : [];
21370
21370
  return ___default["default"].map(issues, issue => id + ": " + issue);
@@ -21380,7 +21380,7 @@ class Editor extends React__namespace.Component {
21380
21380
  * textarea should be refined with an instanceof check to
21381
21381
  * HTMLTextAreaElement so that these props are available.
21382
21382
  */
21383
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'Element | Text'.
21383
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'Element | Text'.
21384
21384
  textarea.focus();
21385
21385
  }
21386
21386
  });
@@ -21394,9 +21394,9 @@ class Editor extends React__namespace.Component {
21394
21394
  * textarea should be refined with an instanceof check to
21395
21395
  * HTMLTextAreaElement so that these props are available.
21396
21396
  */
21397
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'selectionStart' does not exist on type 'Element | Text'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
21397
+ // @ts-expect-error - TS2339 - Property 'selectionStart' does not exist on type 'Element | Text'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
21398
21398
  textarea.selectionStart = textarea.value.length;
21399
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'selectionEnd' does not exist on type 'Element | Text'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
21399
+ // @ts-expect-error - TS2339 - Property 'selectionEnd' does not exist on type 'Element | Text'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
21400
21400
  textarea.selectionEnd = textarea.value.length;
21401
21401
  }
21402
21402
  });
@@ -21409,7 +21409,7 @@ class Editor extends React__namespace.Component {
21409
21409
  const widgetIds = ___default["default"].intersection(this.widgetIds, ___default["default"].keys(this.refs));
21410
21410
  ___default["default"].each(widgetIds, id => {
21411
21411
  // eslint-disable-next-line react/no-string-refs
21412
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
21412
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
21413
21413
  widgets[id] = this.refs[id].serialize();
21414
21414
  });
21415
21415
 
@@ -21443,9 +21443,9 @@ class Editor extends React__namespace.Component {
21443
21443
  // setState
21444
21444
  this._sizeImages(this.props);
21445
21445
  // eslint-disable-next-line react/no-string-refs
21446
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
21446
+ // @ts-expect-error - TS2769 - No overload matches this call.
21447
21447
  $__default["default"](ReactDOM__namespace.findDOMNode(this.refs.textarea))
21448
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'on' does not exist on type 'JQueryStatic'.
21448
+ // @ts-expect-error - TS2339 - Property 'on' does not exist on type 'JQueryStatic'.
21449
21449
  .on("copy cut", this._maybeCopyWidgets).on("paste", this._maybePasteWidgets);
21450
21450
  }
21451
21451
 
@@ -21475,18 +21475,18 @@ class Editor extends React__namespace.Component {
21475
21475
  * textarea should be refined with an instanceof check to
21476
21476
  * HTMLTextAreaElement so that these props are available.
21477
21477
  */
21478
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'Element | Text'.
21478
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'Element | Text'.
21479
21479
  textarea.focus();
21480
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'value' does not exist on type 'Element | Text'.
21480
+ // @ts-expect-error - TS2339 - Property 'value' does not exist on type 'Element | Text'.
21481
21481
  textarea.value = this.lastUserValue;
21482
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'selectionStart' does not exist on type 'Element | Text'.
21482
+ // @ts-expect-error - TS2339 - Property 'selectionStart' does not exist on type 'Element | Text'.
21483
21483
  textarea.selectionStart = 0;
21484
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'select' does not exist on type 'Element | Text'.
21484
+ // @ts-expect-error - TS2339 - Property 'select' does not exist on type 'Element | Text'.
21485
21485
  textarea.select(0, prevProps.content.length);
21486
21486
  if (document.execCommand("insertText", false, this.props.content) === false) {
21487
21487
  // This command is not implemented. Fall back to setting `value`
21488
21488
  // directly.
21489
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'value' does not exist on type 'Element | Text'.
21489
+ // @ts-expect-error - TS2339 - Property 'value' does not exist on type 'Element | Text'.
21490
21490
  textarea.value = this.props.content;
21491
21491
  }
21492
21492
  this.lastUserValue = null;
@@ -21529,7 +21529,7 @@ class Editor extends React__namespace.Component {
21529
21529
  // Normal text
21530
21530
  underlayPieces.push(pieces[i]);
21531
21531
 
21532
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 2 arguments, but got 1.
21532
+ // @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
21533
21533
  const ast = perseus.PerseusMarkdown.parse(pieces[i]);
21534
21534
  perseus.PerseusMarkdown.traverseContent(ast, node => {
21535
21535
  if (node.type === "math" || node.type === "blockMath") {
@@ -21541,7 +21541,7 @@ class Editor extends React__namespace.Component {
21541
21541
  } catch (e) {
21542
21542
  katexErrorList.push({
21543
21543
  math: content,
21544
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'any' is not assignable to type 'never'.
21544
+ // @ts-expect-error - TS2322 - Type 'any' is not assignable to type 'never'.
21545
21545
  message: e.message
21546
21546
  });
21547
21547
  }
@@ -21593,7 +21593,7 @@ class Editor extends React__namespace.Component {
21593
21593
  const insertTemplateString = "Insert template\u2026";
21594
21594
  templatesDropDown =
21595
21595
  /*#__PURE__*/
21596
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(e: SyntheticEvent<HTMLTextAreaElement, Event>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
21596
+ // @ts-expect-error - TS2322 - Type '(e: SyntheticEvent<HTMLTextAreaElement, Event>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
21597
21597
  React__namespace.createElement("select", {
21598
21598
  onChange: this.addTemplate
21599
21599
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -21694,7 +21694,7 @@ _defineProperty(Editor, "defaultProps", {
21694
21694
  let nextIframeID = 0;
21695
21695
  const requestIframeData = {};
21696
21696
  const updateIframeHeight = {};
21697
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'iframeDataStore' does not exist on type 'Window & typeof globalThis'.
21697
+ // @ts-expect-error - TS2339 - Property 'iframeDataStore' does not exist on type 'Window & typeof globalThis'.
21698
21698
  window.iframeDataStore = {};
21699
21699
 
21700
21700
  // This is called once after Perseus is loaded and the iframe
@@ -21748,7 +21748,7 @@ class IframeContentRenderer extends React__namespace.Component {
21748
21748
  this._lastHeight = height;
21749
21749
  if (this._isMounted && this.props.seamless) {
21750
21750
  // eslint-disable-next-line react/no-string-refs
21751
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'style' does not exist on type 'ReactInstance'.
21751
+ // @ts-expect-error - TS2339 - Property 'style' does not exist on type 'ReactInstance'.
21752
21752
  this.refs.container.style.height = height + "px";
21753
21753
  }
21754
21754
  };
@@ -21759,11 +21759,11 @@ class IframeContentRenderer extends React__namespace.Component {
21759
21759
  componentDidUpdate(prevProps) {
21760
21760
  if (!this.props.seamless) {
21761
21761
  // eslint-disable-next-line react/no-string-refs
21762
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'style' does not exist on type 'ReactInstance'.
21762
+ // @ts-expect-error - TS2339 - Property 'style' does not exist on type 'ReactInstance'.
21763
21763
  this.refs.container.style.height = "100%";
21764
21764
  } else {
21765
21765
  // eslint-disable-next-line react/no-string-refs
21766
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'style' does not exist on type 'ReactInstance'.
21766
+ // @ts-expect-error - TS2339 - Property 'style' does not exist on type 'ReactInstance'.
21767
21767
  this.refs.container.style.height = this._lastHeight + "px";
21768
21768
  }
21769
21769
  if (prevProps.datasetValue !== this.props.datasetValue) {
@@ -21780,7 +21780,7 @@ class IframeContentRenderer extends React__namespace.Component {
21780
21780
  // Don't initialize the iframe until the page has loaded
21781
21781
  if (this._frame) {
21782
21782
  // eslint-disable-next-line react/no-string-refs
21783
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'removeChild' does not exist on type 'ReactInstance'.
21783
+ // @ts-expect-error - TS2339 - Property 'removeChild' does not exist on type 'ReactInstance'.
21784
21784
  this.refs.container.removeChild(this._frame);
21785
21785
  }
21786
21786
  const frame = document.createElement("iframe");
@@ -21805,7 +21805,7 @@ class IframeContentRenderer extends React__namespace.Component {
21805
21805
  }
21806
21806
 
21807
21807
  // eslint-disable-next-line react/no-string-refs
21808
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'appendChild' does not exist on type 'ReactInstance'.
21808
+ // @ts-expect-error - TS2339 - Property 'appendChild' does not exist on type 'ReactInstance'.
21809
21809
  this.refs.container.appendChild(frame);
21810
21810
  this._frame = frame;
21811
21811
  }
@@ -21817,7 +21817,7 @@ class IframeContentRenderer extends React__namespace.Component {
21817
21817
  // We can't use JSON.stringify/parse for this because the apiOptions
21818
21818
  // includes the functions GroupMetadataEditor, groupAnnotator,
21819
21819
  // onFocusChange, and onInputError.
21820
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'iframeDataStore' does not exist on type 'Window & typeof globalThis'.
21820
+ // @ts-expect-error - TS2339 - Property 'iframeDataStore' does not exist on type 'Window & typeof globalThis'.
21821
21821
  window.iframeDataStore[this.iframeID] = data;
21822
21822
  frame.contentWindow.postMessage(this.iframeID, "*");
21823
21823
  }
@@ -21857,7 +21857,7 @@ class ArticleEditor extends React__namespace.Component {
21857
21857
  });
21858
21858
  _defineProperty(this, "_handleEditorChange", (i, newProps) => {
21859
21859
  const sections = ___default["default"].clone(this._sections());
21860
- // @ts-expect-error [FEI-5003] - TS2542 - Index signature in type 'readonly RendererProps[]' only permits reading.
21860
+ // @ts-expect-error - TS2542 - Index signature in type 'readonly RendererProps[]' only permits reading.
21861
21861
  sections[i] = ___default["default"].extend({}, sections[i], newProps);
21862
21862
  this.props.onChange({
21863
21863
  json: sections
@@ -21873,7 +21873,7 @@ class ArticleEditor extends React__namespace.Component {
21873
21873
  _updatePreviewFrames() {
21874
21874
  if (this.props.mode === "preview") {
21875
21875
  // eslint-disable-next-line react/no-string-refs
21876
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'sendNewData' does not exist on type 'ReactInstance'.
21876
+ // @ts-expect-error - TS2339 - Property 'sendNewData' does not exist on type 'ReactInstance'.
21877
21877
  this.refs["frame-all"].sendNewData({
21878
21878
  type: "article-all",
21879
21879
  data: this._sections().map((section, i) => {
@@ -21883,7 +21883,7 @@ class ArticleEditor extends React__namespace.Component {
21883
21883
  } else if (this.props.mode === "edit") {
21884
21884
  this._sections().forEach((section, i) => {
21885
21885
  // eslint-disable-next-line react/no-string-refs
21886
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'sendNewData' does not exist on type 'ReactInstance'.
21886
+ // @ts-expect-error - TS2339 - Property 'sendNewData' does not exist on type 'ReactInstance'.
21887
21887
  this.refs["frame-" + i].sendNewData({
21888
21888
  type: "article",
21889
21889
  data: this._apiOptionsForSection(section, i)
@@ -21910,7 +21910,7 @@ class ArticleEditor extends React__namespace.Component {
21910
21910
  highlightLint: this.state.highlightLint,
21911
21911
  paths: this.props.contentPaths
21912
21912
  },
21913
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
21913
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
21914
21914
  legacyPerseusLint: editor ? editor.getSaveWarnings() : []
21915
21915
  };
21916
21916
  }
@@ -22037,9 +22037,9 @@ class ArticleEditor extends React__namespace.Component {
22037
22037
  }
22038
22038
  const sections = ___default["default"].clone(this._sections());
22039
22039
  const section = sections[i];
22040
- // @ts-expect-error [FEI-5003] - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22040
+ // @ts-expect-error - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22041
22041
  sections.splice(i, 1);
22042
- // @ts-expect-error [FEI-5003] - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22042
+ // @ts-expect-error - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22043
22043
  sections.splice(i - 1, 0, section);
22044
22044
  this.props.onChange({
22045
22045
  json: sections
@@ -22051,9 +22051,9 @@ class ArticleEditor extends React__namespace.Component {
22051
22051
  return;
22052
22052
  }
22053
22053
  const section = sections[i];
22054
- // @ts-expect-error [FEI-5003] - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22054
+ // @ts-expect-error - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22055
22055
  sections.splice(i, 1);
22056
- // @ts-expect-error [FEI-5003] - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22056
+ // @ts-expect-error - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22057
22057
  sections.splice(i + 1, 0, section);
22058
22058
  this.props.onChange({
22059
22059
  json: sections
@@ -22072,7 +22072,7 @@ class ArticleEditor extends React__namespace.Component {
22072
22072
  const newSection = i >= 0 ? {
22073
22073
  widgets: sections[i].widgets
22074
22074
  } : {};
22075
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'splice' does not exist on type 'JsonType'.
22075
+ // @ts-expect-error - TS2339 - Property 'splice' does not exist on type 'JsonType'.
22076
22076
  sections.splice(i + 1, 0, newSection);
22077
22077
  this.props.onChange({
22078
22078
  json: sections
@@ -22080,7 +22080,7 @@ class ArticleEditor extends React__namespace.Component {
22080
22080
  }
22081
22081
  _handleRemoveSection(i) {
22082
22082
  const sections = ___default["default"].clone(this._sections());
22083
- // @ts-expect-error [FEI-5003] - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22083
+ // @ts-expect-error - TS2551 - Property 'splice' does not exist on type 'readonly RendererProps[]'. Did you mean 'slice'?
22084
22084
  sections.splice(i, 1);
22085
22085
  this.props.onChange({
22086
22086
  json: sections
@@ -22090,7 +22090,7 @@ class ArticleEditor extends React__namespace.Component {
22090
22090
  if (this.props.mode === "edit") {
22091
22091
  return this._sections().map((section, i) => {
22092
22092
  // eslint-disable-next-line react/no-string-refs
22093
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
22093
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
22094
22094
  return this.refs["editor" + i].serialize();
22095
22095
  });
22096
22096
  }
@@ -22114,7 +22114,7 @@ class ArticleEditor extends React__namespace.Component {
22114
22114
  }
22115
22115
  return this._sections().map((section, i) => {
22116
22116
  // eslint-disable-next-line react/no-string-refs
22117
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
22117
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
22118
22118
  return this.refs["editor" + i].getSaveWarnings();
22119
22119
  });
22120
22120
  }
@@ -22618,7 +22618,7 @@ const splitDiff = function (diffEntries) {
22618
22618
  ___default["default"].each(values, (value, i) => {
22619
22619
  const isNewline = i > 0;
22620
22620
  if (isNewline) {
22621
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'never'.
22621
+ // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'never'.
22622
22622
  lines.push(currentLine);
22623
22623
  currentLine = [];
22624
22624
  }
@@ -22629,7 +22629,7 @@ const splitDiff = function (diffEntries) {
22629
22629
  });
22630
22630
  });
22631
22631
  if (currentLine.length) {
22632
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'never'.
22632
+ // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'never'.
22633
22633
  lines.push(currentLine);
22634
22634
  }
22635
22635
  return lines;
@@ -23138,16 +23138,16 @@ const filterWidgetInfo = function (widgetInfo, showAlignmentOptions) {
23138
23138
 
23139
23139
  // Show alignment options iff multiple valid ones exist for this widget
23140
23140
  if (showAlignmentOptions && perseus.Widgets.getSupportedAlignments(type).length > 1) {
23141
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'alignment' does not exist on type '{ readonly options: any; }'.
23141
+ // @ts-expect-error - TS2339 - Property 'alignment' does not exist on type '{ readonly options: any; }'.
23142
23142
  filteredWidgetInfo.alignment = alignment;
23143
23143
  }
23144
23144
  if (type === "transformer") {
23145
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'graded' does not exist on type '{ readonly options: any; }'.
23145
+ // @ts-expect-error - TS2339 - Property 'graded' does not exist on type '{ readonly options: any; }'.
23146
23146
  filteredWidgetInfo.graded = graded;
23147
23147
  }
23148
23148
  if (perseus.Widgets.supportsStaticMode(type)) {
23149
23149
  var _widgetInfo$static;
23150
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'static' does not exist on type '{ readonly options: any; }'.
23150
+ // @ts-expect-error - TS2339 - Property 'static' does not exist on type '{ readonly options: any; }'.
23151
23151
  filteredWidgetInfo.static = (_widgetInfo$static = widgetInfo === null || widgetInfo === void 0 ? void 0 : widgetInfo.static) !== null && _widgetInfo$static !== void 0 ? _widgetInfo$static : undefined;
23152
23152
  }
23153
23153
  return filteredWidgetInfo;
@@ -23370,10 +23370,10 @@ function getTitle(path) {
23370
23370
  const title = [];
23371
23371
  for (let i = 0; i < path.length; i++) {
23372
23372
  if (typeof path[i] === "number") {
23373
- // @ts-expect-error [FEI-5003] - TS2365 - Operator '+' cannot be applied to types 'string | number' and 'number'.
23373
+ // @ts-expect-error - TS2365 - Operator '+' cannot be applied to types 'string | number' and 'number'.
23374
23374
  title.push((path[i] + 1).toString() + ":");
23375
23375
  } else {
23376
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string | number' is not assignable to parameter of type 'string'.
23376
+ // @ts-expect-error - TS2345 - Argument of type 'string | number' is not assignable to parameter of type 'string'.
23377
23377
  title.push(path[i]);
23378
23378
  }
23379
23379
  }
@@ -23433,11 +23433,11 @@ class StructuredItemDiff extends React__namespace.Component {
23433
23433
  const afterList = [];
23434
23434
  perseus.buildMapper().setContentMapper((c, _, p) => beforeList.push([c, p])).setHintMapper((c, _, p) => beforeList.push([c, p])).setTagsMapper((c, _, p) => beforeList.push([c, p])).mapTree(perseus.itemToTree(before), shape);
23435
23435
  perseus.buildMapper()
23436
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'unknown' is not assignable to type 'never'. | TS2322 - Type 'Path' is not assignable to type 'never'.
23436
+ // @ts-expect-error - TS2322 - Type 'unknown' is not assignable to type 'never'. | TS2322 - Type 'Path' is not assignable to type 'never'.
23437
23437
  .setContentMapper((c, _, p) => afterList.push([c, p]))
23438
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'unknown' is not assignable to type 'never'. | TS2322 - Type 'Path' is not assignable to type 'never'.
23438
+ // @ts-expect-error - TS2322 - Type 'unknown' is not assignable to type 'never'. | TS2322 - Type 'Path' is not assignable to type 'never'.
23439
23439
  .setHintMapper((c, _, p) => afterList.push([c, p]))
23440
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'unknown' is not assignable to type 'never'. | TS2322 - Type 'Path' is not assignable to type 'never'.
23440
+ // @ts-expect-error - TS2322 - Type 'unknown' is not assignable to type 'never'. | TS2322 - Type 'Path' is not assignable to type 'never'.
23441
23441
  .setTagsMapper((c, _, p) => afterList.push([c, p])).mapTree(perseus.itemToTree(after), shape);
23442
23442
 
23443
23443
  // These are used in generateCompletePathsList()
@@ -23461,7 +23461,7 @@ class StructuredItemDiff extends React__namespace.Component {
23461
23461
  before = [[], path];
23462
23462
  }
23463
23463
  if (!after) {
23464
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Path[]' is not assignable to type 'undefined'.
23464
+ // @ts-expect-error - TS2322 - Type 'Path[]' is not assignable to type 'undefined'.
23465
23465
  after = [[], path];
23466
23466
  }
23467
23467
  const beforeTags = [];
@@ -23473,9 +23473,9 @@ class StructuredItemDiff extends React__namespace.Component {
23473
23473
  });
23474
23474
  }
23475
23475
  const afterTags = [];
23476
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
23476
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
23477
23477
  if (Array.isArray(after[0])) {
23478
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
23478
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
23479
23479
  after[0].forEach(tagId => {
23480
23480
  if (typeof tagId === "string") {
23481
23481
  afterTags.push(tags.idToName(tagId));
@@ -23498,12 +23498,12 @@ class StructuredItemDiff extends React__namespace.Component {
23498
23498
  before = [perseus.buildEmptyItemTreeForShape(perseus.shapes.content), path];
23499
23499
  }
23500
23500
  if (!after) {
23501
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'any[]' is not assignable to type 'undefined'.
23501
+ // @ts-expect-error - TS2322 - Type 'any[]' is not assignable to type 'undefined'.
23502
23502
  after = [perseus.buildEmptyItemTreeForShape(perseus.shapes.content), path];
23503
23503
  }
23504
23504
  return /*#__PURE__*/React__namespace.createElement(RendererDiff, {
23505
23505
  before: before[0]
23506
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
23506
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
23507
23507
  ,
23508
23508
  after: after[0],
23509
23509
  title: currentTitle,
@@ -23546,17 +23546,17 @@ class HintEditor extends React__namespace.Component {
23546
23546
  });
23547
23547
  _defineProperty(this, "focus", () => {
23548
23548
  // eslint-disable-next-line react/no-string-refs
23549
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
23549
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
23550
23550
  this.refs.editor.focus();
23551
23551
  });
23552
23552
  _defineProperty(this, "getSaveWarnings", () => {
23553
23553
  // eslint-disable-next-line react/no-string-refs
23554
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
23554
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
23555
23555
  return this.refs.editor.getSaveWarnings();
23556
23556
  });
23557
23557
  _defineProperty(this, "serialize", options => {
23558
23558
  // eslint-disable-next-line react/no-string-refs
23559
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23559
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23560
23560
  return this.refs.editor.serialize(options);
23561
23561
  });
23562
23562
  }
@@ -23597,7 +23597,7 @@ class HintEditor extends React__namespace.Component {
23597
23597
  onClick: ___default["default"].partial(this.props.onMove, -1)
23598
23598
  }, /*#__PURE__*/React__namespace.createElement(InlineIcon$8, iconCircleArrowUp$1)), " ", this.props.isLast && /*#__PURE__*/React__namespace.createElement(InfoTip$n, null, /*#__PURE__*/React__namespace.createElement("p", null, "The last hint is automatically bolded."))), /*#__PURE__*/React__namespace.createElement("input", {
23599
23599
  type: "checkbox"
23600
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'boolean | null | undefined' is not assignable to type 'boolean | undefined'.
23600
+ // @ts-expect-error - TS2322 - Type 'boolean | null | undefined' is not assignable to type 'boolean | undefined'.
23601
23601
  ,
23602
23602
  checked: this.props.replace,
23603
23603
  onChange: this.handleChange
@@ -23624,7 +23624,7 @@ class CombinedHintEditor extends React__namespace.Component {
23624
23624
  const shouldBold = this.props.isLast && !/\*\*/.test(this.props.hint.content);
23625
23625
 
23626
23626
  // eslint-disable-next-line react/no-string-refs
23627
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'sendNewData' does not exist on type 'ReactInstance'.
23627
+ // @ts-expect-error - TS2339 - Property 'sendNewData' does not exist on type 'ReactInstance'.
23628
23628
  this.refs.frame.sendNewData({
23629
23629
  type: "hint",
23630
23630
  data: {
@@ -23642,17 +23642,17 @@ class CombinedHintEditor extends React__namespace.Component {
23642
23642
  });
23643
23643
  _defineProperty(this, "getSaveWarnings", () => {
23644
23644
  // eslint-disable-next-line react/no-string-refs
23645
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
23645
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
23646
23646
  return this.refs.editor.getSaveWarnings();
23647
23647
  });
23648
23648
  _defineProperty(this, "serialize", options => {
23649
23649
  // eslint-disable-next-line react/no-string-refs
23650
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23650
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23651
23651
  return this.refs.editor.serialize(options);
23652
23652
  });
23653
23653
  _defineProperty(this, "focus", () => {
23654
23654
  // eslint-disable-next-line react/no-string-refs
23655
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
23655
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
23656
23656
  this.refs.editor.focus();
23657
23657
  });
23658
23658
  }
@@ -23720,38 +23720,38 @@ class CombinedHintsEditor extends React__namespace.Component {
23720
23720
  keepDeletedWidgets: true
23721
23721
  }), newProps);
23722
23722
 
23723
- // @ts-expect-error [FEI-5003] - TS2740 - Type 'Hint' is missing the following properties from type 'readonly Hint[]': length, concat, join, slice, and 18 more.
23723
+ // @ts-expect-error - TS2740 - Type 'Hint' is missing the following properties from type 'readonly Hint[]': length, concat, join, slice, and 18 more.
23724
23724
  this.props.onChange({
23725
23725
  hints: hints
23726
23726
  }, cb, silent);
23727
23727
  });
23728
23728
  _defineProperty(this, "handleHintRemove", i => {
23729
23729
  const hints = ___default["default"](this.props.hints).clone();
23730
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'splice' does not exist on type 'Hint'.
23730
+ // @ts-expect-error - TS2339 - Property 'splice' does not exist on type 'Hint'.
23731
23731
  hints.splice(i, 1);
23732
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Hint' is not assignable to type 'readonly Hint[]'.
23732
+ // @ts-expect-error - TS2322 - Type 'Hint' is not assignable to type 'readonly Hint[]'.
23733
23733
  this.props.onChange({
23734
23734
  hints: hints
23735
23735
  });
23736
23736
  });
23737
23737
  _defineProperty(this, "handleHintMove", (i, dir) => {
23738
23738
  const hints = ___default["default"](this.props.hints).clone();
23739
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'splice' does not exist on type 'Hint'.
23739
+ // @ts-expect-error - TS2339 - Property 'splice' does not exist on type 'Hint'.
23740
23740
  const hint = hints.splice(i, 1)[0];
23741
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'splice' does not exist on type 'Hint'.
23741
+ // @ts-expect-error - TS2339 - Property 'splice' does not exist on type 'Hint'.
23742
23742
  hints.splice(i + dir, 0, hint);
23743
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Hint' is not assignable to type 'readonly Hint[]'.
23743
+ // @ts-expect-error - TS2322 - Type 'Hint' is not assignable to type 'readonly Hint[]'.
23744
23744
  this.props.onChange({
23745
23745
  hints: hints
23746
23746
  }, () => {
23747
23747
  // eslint-disable-next-line react/no-string-refs
23748
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
23748
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
23749
23749
  this.refs["hintEditor" + (i + dir)].focus();
23750
23750
  });
23751
23751
  });
23752
23752
  _defineProperty(this, "addHint", () => {
23753
23753
  const hints = ___default["default"](this.props.hints).clone()
23754
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'concat' does not exist on type 'Hint'.
23754
+ // @ts-expect-error - TS2339 - Property 'concat' does not exist on type 'Hint'.
23755
23755
  .concat([{
23756
23756
  content: ""
23757
23757
  }]);
@@ -23760,7 +23760,7 @@ class CombinedHintsEditor extends React__namespace.Component {
23760
23760
  }, () => {
23761
23761
  const i = hints.length - 1;
23762
23762
  // eslint-disable-next-line react/no-string-refs
23763
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
23763
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
23764
23764
  this.refs["hintEditor" + i].focus();
23765
23765
  });
23766
23766
  });
@@ -23768,7 +23768,7 @@ class CombinedHintsEditor extends React__namespace.Component {
23768
23768
  return ___default["default"].chain(this.props.hints).map((hint, i) => {
23769
23769
  return ___default["default"].map(
23770
23770
  // eslint-disable-next-line react/no-string-refs
23771
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
23771
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
23772
23772
  this.refs["hintEditor" + i].getSaveWarnings(), issue => "Hint " + (i + 1) + ": " + issue);
23773
23773
  }).flatten(true).value();
23774
23774
  });
@@ -23779,7 +23779,7 @@ class CombinedHintsEditor extends React__namespace.Component {
23779
23779
  });
23780
23780
  _defineProperty(this, "serializeHint", (index, options) => {
23781
23781
  // eslint-disable-next-line react/no-string-refs
23782
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23782
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23783
23783
  return this.refs["hintEditor" + index].serialize(options);
23784
23784
  });
23785
23785
  }
@@ -23797,31 +23797,31 @@ class CombinedHintsEditor extends React__namespace.Component {
23797
23797
  itemId: itemId,
23798
23798
  hint: hint,
23799
23799
  pos: i
23800
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23800
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23801
23801
  ,
23802
23802
  imageUploader: this.props.imageUploader
23803
23803
  // eslint-disable-next-line react/jsx-no-bind
23804
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23804
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23805
23805
  ,
23806
23806
  onChange: this.handleHintChange.bind(this, i)
23807
23807
  // eslint-disable-next-line react/jsx-no-bind
23808
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23808
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23809
23809
  ,
23810
23810
  onRemove: this.handleHintRemove.bind(this, i)
23811
23811
  // eslint-disable-next-line react/jsx-no-bind
23812
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23812
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23813
23813
  ,
23814
23814
  onMove: this.handleHintMove.bind(this, i)
23815
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23815
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23816
23816
  ,
23817
23817
  deviceType: this.props.deviceType
23818
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23818
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23819
23819
  ,
23820
23820
  apiOptions: this.props.apiOptions
23821
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23821
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23822
23822
  ,
23823
23823
  highlightLint: this.props.highlightLint
23824
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23824
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23825
23825
  ,
23826
23826
  previewURL: this.props.previewURL
23827
23827
  // TODO(CP-4838): what should be passed here?
@@ -23940,7 +23940,7 @@ class ItemEditor extends React__namespace.Component {
23940
23940
  });
23941
23941
  _defineProperty(this, "triggerPreviewUpdate", newData => {
23942
23942
  // eslint-disable-next-line react/no-string-refs
23943
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'sendNewData' does not exist on type 'ReactInstance'.
23943
+ // @ts-expect-error - TS2339 - Property 'sendNewData' does not exist on type 'ReactInstance'.
23944
23944
  this.refs.frame.sendNewData(newData);
23945
23945
  });
23946
23946
  _defineProperty(this, "handleEditorChange", (newProps, cb, silent) => {
@@ -23957,16 +23957,16 @@ class ItemEditor extends React__namespace.Component {
23957
23957
  });
23958
23958
  _defineProperty(this, "getSaveWarnings", () => {
23959
23959
  // eslint-disable-next-line react/no-string-refs
23960
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
23960
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
23961
23961
  return this.refs.questionEditor.getSaveWarnings();
23962
23962
  });
23963
23963
  _defineProperty(this, "serialize", options => {
23964
23964
  return {
23965
23965
  // eslint-disable-next-line react/no-string-refs
23966
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23966
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23967
23967
  question: this.refs.questionEditor.serialize(options),
23968
23968
  // eslint-disable-next-line react/no-string-refs
23969
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23969
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
23970
23970
  answerArea: this.refs.itemExtrasEditor.serialize(options),
23971
23971
  itemDataVersion: ITEM_DATA_VERSION
23972
23972
  };
@@ -24048,7 +24048,7 @@ const {
24048
24048
  HUD
24049
24049
  } = perseus.components;
24050
24050
  class EditorPage extends React__namespace.Component {
24051
- // @ts-expect-error [FEI-5003] - TS2564 - Property 'rendererMountNode' has no initializer and is not definitely assigned in the constructor.
24051
+ // @ts-expect-error - TS2564 - Property 'rendererMountNode' has no initializer and is not definitely assigned in the constructor.
24052
24052
 
24053
24053
  constructor(props) {
24054
24054
  super(props);
@@ -24078,7 +24078,7 @@ class EditorPage extends React__namespace.Component {
24078
24078
  this.props.onChange(newJson);
24079
24079
  });
24080
24080
  this.state = {
24081
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "hints" | "question" | "answerArea" | "itemDataVersion">' is not assignable to type 'PerseusJson'.
24081
+ // @ts-expect-error - TS2322 - Type 'Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "hints" | "question" | "answerArea" | "itemDataVersion">' is not assignable to type 'PerseusJson'.
24082
24082
  json: ___default["default"].pick(this.props, "question", "answerArea", "hints", "itemDataVersion"),
24083
24083
  gradeMessage: "",
24084
24084
  wasAnswered: false,
@@ -24124,7 +24124,7 @@ class EditorPage extends React__namespace.Component {
24124
24124
  };
24125
24125
 
24126
24126
  // eslint-disable-next-line react/no-string-refs
24127
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'triggerPreviewUpdate' does not exist on type 'ReactInstance'.
24127
+ // @ts-expect-error - TS2339 - Property 'triggerPreviewUpdate' does not exist on type 'ReactInstance'.
24128
24128
  this.refs.itemEditor.triggerPreviewUpdate({
24129
24129
  type: "question",
24130
24130
  data: ___default["default"]({
@@ -24140,7 +24140,7 @@ class EditorPage extends React__namespace.Component {
24140
24140
  },
24141
24141
  reviewMode: true,
24142
24142
  // eslint-disable-next-line react/no-string-refs
24143
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
24143
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
24144
24144
  legacyPerseusLint: this.refs.itemEditor.getSaveWarnings()
24145
24145
  }).extend(___default["default"](this.props).pick("workAreaSelector", "solutionAreaSelector", "hintsAreaSelector", "problemNum"))
24146
24146
  });
@@ -24153,10 +24153,10 @@ class EditorPage extends React__namespace.Component {
24153
24153
  }
24154
24154
  getSaveWarnings() {
24155
24155
  // eslint-disable-next-line react/no-string-refs
24156
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
24156
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
24157
24157
  const issues1 = this.refs.itemEditor.getSaveWarnings();
24158
24158
  // eslint-disable-next-line react/no-string-refs
24159
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
24159
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
24160
24160
  const issues2 = this.refs.hintsEditor.getSaveWarnings();
24161
24161
  return issues1.concat(issues2);
24162
24162
  }
@@ -24165,10 +24165,10 @@ class EditorPage extends React__namespace.Component {
24165
24165
  return this.state.json;
24166
24166
  }
24167
24167
  // eslint-disable-next-line react/no-string-refs
24168
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
24168
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
24169
24169
  return ___default["default"].extend(this.refs.itemEditor.serialize(options), {
24170
24170
  // eslint-disable-next-line react/no-string-refs
24171
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
24171
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
24172
24172
  hints: this.refs.hintsEditor.serialize(options)
24173
24173
  });
24174
24174
  }
@@ -24262,7 +24262,7 @@ const {
24262
24262
 
24263
24263
  // Takes a renderer content and parses the markdown for images
24264
24264
  function findImagesInContent(content, images) {
24265
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 2 arguments, but got 1.
24265
+ // @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
24266
24266
  const parsed = perseus.PerseusMarkdown.parse(content);
24267
24267
  perseus.PerseusMarkdown.traverseContent(parsed, function (node) {
24268
24268
  if (node.type === "image") {
@@ -24363,12 +24363,12 @@ function findImagesInItemData(itemData) {
24363
24363
  let renderers = [];
24364
24364
  if (itemData._multi) {
24365
24365
  const shape = inferItemShape(itemData);
24366
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'ContentNode' is not assignable to parameter of type 'never'.
24366
+ // @ts-expect-error - TS2345 - Argument of type 'ContentNode' is not assignable to parameter of type 'never'.
24367
24367
  findContentNodesInItem(itemData, shape, node => renderers.push(node));
24368
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'HintNode' is not assignable to parameter of type 'never'.
24368
+ // @ts-expect-error - TS2345 - Argument of type 'HintNode' is not assignable to parameter of type 'never'.
24369
24369
  findHintNodesInItem(itemData, shape, node => renderers.push(node));
24370
24370
  } else {
24371
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'any' is not assignable to type 'never'. | TS2322 - Type 'any' is not assignable to type 'never'.
24371
+ // @ts-expect-error - TS2322 - Type 'any' is not assignable to type 'never'. | TS2322 - Type 'any' is not assignable to type 'never'.
24372
24372
  renderers = [itemData.question, ...itemData.hints];
24373
24373
  }
24374
24374
  return findImagesInRenderers(renderers);
@@ -25121,7 +25121,7 @@ const withStickiness = WrappedComponent => {
25121
25121
  });
25122
25122
  _defineProperty(this, "updateStickiness", () => {
25123
25123
  const domNode = ReactDOM__default["default"].findDOMNode(this);
25124
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'offsetHeight' does not exist on type 'Element | Text'.
25124
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'offsetHeight' does not exist on type 'Element | Text'.
25125
25125
  const height = domNode.offsetHeight;
25126
25126
  const windowHeight = window.innerHeight;
25127
25127
  const sticky = height > windowHeight;
@@ -25135,7 +25135,7 @@ const withStickiness = WrappedComponent => {
25135
25135
  componentDidMount() {
25136
25136
  // TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
25137
25137
  // eslint-disable-next-line no-restricted-syntax
25138
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Timer' is not assignable to type 'number'.
25138
+ // @ts-expect-error - TS2322 - Type 'Timer' is not assignable to type 'number'.
25139
25139
  this.stickynessTimer = setInterval(this.updateStickiness, 1000);
25140
25140
  this.updateStickiness();
25141
25141
  }
@@ -25147,7 +25147,7 @@ const withStickiness = WrappedComponent => {
25147
25147
  render() {
25148
25148
  return (
25149
25149
  /*#__PURE__*/
25150
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Readonly<Config> & { sticky: boolean; children?: ReactNode; }' is not assignable to type 'IntrinsicAttributes & LibraryManagedAttributes<Component, PropsWithChildren<WithStickiness<Config>>>'.
25150
+ // @ts-expect-error - TS2322 - Type 'Readonly<Config> & { sticky: boolean; children?: ReactNode; }' is not assignable to type 'IntrinsicAttributes & LibraryManagedAttributes<Component, PropsWithChildren<WithStickiness<Config>>>'.
25151
25151
  React__namespace.createElement(WrappedComponent, _extends({}, this.props, {
25152
25152
  sticky: this.state.sticky
25153
25153
  }))
@@ -25175,7 +25175,7 @@ const ItemNodeContent = withStickiness(props => {
25175
25175
  className: aphrodite.css(sticky && styles$c.sticky)
25176
25176
  },
25177
25177
  /*#__PURE__*/
25178
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
25178
+ // @ts-expect-error - TS2769 - No overload matches this call.
25179
25179
  React__namespace.createElement(Editor, _extends({}, data, {
25180
25180
  onChange: newVal => actions.mergeValueAtPath(path, newVal),
25181
25181
  apiOptions: apiOptions
@@ -25445,19 +25445,19 @@ class MultiRendererEditor extends React__namespace.Component {
25445
25445
  });
25446
25446
  _defineProperty(this, "score", () => {
25447
25447
  if (this.layout) {
25448
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25448
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25449
25449
  return this.layout.score();
25450
25450
  }
25451
25451
  });
25452
25452
  _defineProperty(this, "getSerializedState", () => {
25453
25453
  if (this.layout) {
25454
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25454
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25455
25455
  return this.layout.getSerializedState();
25456
25456
  }
25457
25457
  });
25458
25458
  _defineProperty(this, "restoreSerializedState", state => {
25459
25459
  if (this.layout) {
25460
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25460
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25461
25461
  this.layout.restoreSerializedState(state);
25462
25462
  }
25463
25463
  });
@@ -25789,14 +25789,14 @@ class CategorizerEditor extends React__namespace.Component {
25789
25789
  })), "Categories:", /*#__PURE__*/React__namespace.createElement(TextListEditor$4, {
25790
25790
  options: this.props.categories,
25791
25791
  onChange: cat => {
25792
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
25792
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
25793
25793
  this.change("categories", cat);
25794
25794
  },
25795
25795
  layout: "horizontal"
25796
25796
  }), "Items:", /*#__PURE__*/React__namespace.createElement(TextListEditor$4, {
25797
25797
  options: this.props.items,
25798
25798
  onChange: items => {
25799
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
25799
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
25800
25800
  this.change({
25801
25801
  items: items,
25802
25802
  // TODO(eater): This truncates props.values so there
@@ -26012,7 +26012,7 @@ class CSProgramEditor extends React__namespace.Component {
26012
26012
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
26013
26013
  args[_key3] = arguments[_key3];
26014
26014
  }
26015
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
26015
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
26016
26016
  return perseus.Changeable.change.apply(_this3, args);
26017
26017
  });
26018
26018
  _defineProperty(this, "_handleSettingsChange", settings => {
@@ -26038,7 +26038,7 @@ class CSProgramEditor extends React__namespace.Component {
26038
26038
  });
26039
26039
  }).fail((jqxhr, textStatus, error) => {
26040
26040
  perseus.Log.error("Error retrieving scratchpad info for program ID ", perseus.Errors.TransientService, {
26041
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'Error | null | undefined'.
26041
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'Error | null | undefined'.
26042
26042
  cause: error,
26043
26043
  loggedMetadata: {
26044
26044
  textStatus,
@@ -26121,7 +26121,7 @@ class DefinitionEditor extends React__namespace.Component {
26121
26121
  className: "perseus-widget-row"
26122
26122
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Word to be defined:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$8, {
26123
26123
  value: this.props.togglePrompt
26124
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26124
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26125
26125
  ,
26126
26126
  onChange: this.change("togglePrompt"),
26127
26127
  placeholder: "define me"
@@ -26137,7 +26137,7 @@ class DefinitionEditor extends React__namespace.Component {
26137
26137
  if (___default["default"].has(props, "content")) {
26138
26138
  newProps.definition = props.content;
26139
26139
  }
26140
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26140
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26141
26141
  this.change(newProps);
26142
26142
  }
26143
26143
  })));
@@ -26211,7 +26211,7 @@ class DropdownEditor extends React__namespace.Component {
26211
26211
  });
26212
26212
  });
26213
26213
  _defineProperty(this, "focus", i => {
26214
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
26214
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
26215
26215
  ReactDOM__default["default"].findDOMNode(this.refs["editor" + i]).focus(); // eslint-disable-line react/no-string-refs
26216
26216
  return true;
26217
26217
  });
@@ -26244,24 +26244,24 @@ class DropdownEditor extends React__namespace.Component {
26244
26244
  ref: "radio" + i,
26245
26245
  type: "radio",
26246
26246
  name: dropdownGroupName
26247
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'boolean | undefined'.
26247
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'boolean | undefined'.
26248
26248
  ,
26249
26249
  checked: choice.correct ? "checked" : ""
26250
26250
  // eslint-disable-next-line react/jsx-no-bind
26251
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26251
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26252
26252
  ,
26253
26253
  onChange: this.onCorrectChange.bind(
26254
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26254
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26255
26255
  this, i),
26256
26256
  value: i
26257
26257
  }), /*#__PURE__*/React__namespace.createElement("input", {
26258
26258
  type: "text",
26259
26259
  ref: "editor" + i
26260
26260
  // eslint-disable-next-line react/jsx-no-bind
26261
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26261
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26262
26262
  ,
26263
26263
  onChange: this.onContentChange.bind(
26264
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26264
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26265
26265
  this, i),
26266
26266
  className: checkedClass,
26267
26267
  value: choice.content
@@ -26269,10 +26269,10 @@ class DropdownEditor extends React__namespace.Component {
26269
26269
  href: "#",
26270
26270
  className: "simple-button orange"
26271
26271
  // eslint-disable-next-line react/jsx-no-bind
26272
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26272
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26273
26273
  ,
26274
26274
  onClick: this.removeChoice.bind(
26275
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26275
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26276
26276
  this, i)
26277
26277
  }, /*#__PURE__*/React__namespace.createElement("span", {
26278
26278
  className: "remove-choice"
@@ -26306,7 +26306,7 @@ const {
26306
26306
  Graphie
26307
26307
  } = perseus.components;
26308
26308
 
26309
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
26309
+ // @ts-expect-error - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
26310
26310
  const MovablePoint = Graphie.MovablePoint;
26311
26311
  /**
26312
26312
  * This is the widget's renderer. It shows up in the right column
@@ -26328,7 +26328,7 @@ class ExampleGraphieWidget$1 extends React__namespace.Component {
26328
26328
  return perseus.Changeable.change.apply(_this, args);
26329
26329
  });
26330
26330
  _defineProperty(this, "movePoint", newCoord => {
26331
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26331
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26332
26332
  this.change({
26333
26333
  coord: newCoord
26334
26334
  });
@@ -26454,7 +26454,7 @@ class ExampleGraphieWidgetEditor extends React__namespace.Component {
26454
26454
  });
26455
26455
  _defineProperty(this, "handleChange", newProps => {
26456
26456
  if (newProps.coord) {
26457
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26457
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26458
26458
  this.change({
26459
26459
  correct: newProps.coord
26460
26460
  });
@@ -26502,7 +26502,7 @@ class ExampleWidgetEditor extends React__namespace.Component {
26502
26502
  super(...arguments);
26503
26503
  _this = this;
26504
26504
  _defineProperty(this, "handleAnswerChange", event => {
26505
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26505
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26506
26506
  this.change({
26507
26507
  correct: event.target.value
26508
26508
  });
@@ -26515,7 +26515,7 @@ class ExampleWidgetEditor extends React__namespace.Component {
26515
26515
  });
26516
26516
  _defineProperty(this, "focus", () => {
26517
26517
  // eslint-disable-next-line react/no-string-refs
26518
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
26518
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
26519
26519
  this.refs.input.focus();
26520
26520
  return true;
26521
26521
  });
@@ -26573,14 +26573,14 @@ class ExplanationEditor extends React__namespace.Component {
26573
26573
  className: "perseus-widget-row"
26574
26574
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to show explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$7, {
26575
26575
  value: this.props.showPrompt
26576
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26576
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26577
26577
  ,
26578
26578
  onChange: this.change("showPrompt")
26579
26579
  }))), /*#__PURE__*/React__namespace.createElement("div", {
26580
26580
  className: "perseus-widget-row"
26581
26581
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to hide explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$7, {
26582
26582
  value: this.props.hidePrompt
26583
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26583
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26584
26584
  ,
26585
26585
  onChange: this.change("hidePrompt")
26586
26586
  }))), /*#__PURE__*/React__namespace.createElement("div", {
@@ -26599,7 +26599,7 @@ class ExplanationEditor extends React__namespace.Component {
26599
26599
  if (___default["default"].has(props, "widgets")) {
26600
26600
  newProps.widgets = props.widgets;
26601
26601
  }
26602
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26602
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26603
26603
  this.change(newProps);
26604
26604
  }
26605
26605
  })));
@@ -26699,7 +26699,7 @@ const SortableArea = createReactClass__default["default"]({
26699
26699
  _setDragEvents: function () {
26700
26700
  this._dragItems = this._dragItems || [];
26701
26701
  const items =
26702
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'
26702
+ // @ts-expect-error - TS2531 - Object is possibly 'null'
26703
26703
  ReactDOM__default["default"].findDOMNode(this).querySelectorAll("[draggable=true]");
26704
26704
  const oldItems = [];
26705
26705
  const newItems = [];
@@ -26898,7 +26898,7 @@ class ExpressionEditor extends React__namespace.Component {
26898
26898
  _defineProperty(this, "newAnswer", () => {
26899
26899
  const answerForms = this.props.answerForms.slice();
26900
26900
  answerForms.push(this._newEmptyAnswerForm());
26901
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26901
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26902
26902
  this.change({
26903
26903
  answerForms
26904
26904
  });
@@ -26906,7 +26906,7 @@ class ExpressionEditor extends React__namespace.Component {
26906
26906
  _defineProperty(this, "handleRemoveForm", i => {
26907
26907
  const answerForms = this.props.answerForms.slice();
26908
26908
  answerForms.splice(i, 1);
26909
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26909
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26910
26910
  this.change({
26911
26911
  answerForms
26912
26912
  });
@@ -26914,7 +26914,7 @@ class ExpressionEditor extends React__namespace.Component {
26914
26914
  _defineProperty(this, "updateForm", (i, props) => {
26915
26915
  const answerForms = lens(this.props.answerForms).merge([i], props).freeze();
26916
26916
 
26917
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26917
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26918
26918
  this.change({
26919
26919
  answerForms
26920
26920
  });
@@ -26922,12 +26922,12 @@ class ExpressionEditor extends React__namespace.Component {
26922
26922
  _defineProperty(this, "handleReorder", components => {
26923
26923
  const answerForms = ___default["default"](components).map(component => {
26924
26924
  const form = ___default["default"](component.props).pick("considered", "form", "simplify", "value");
26925
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'key' does not exist on type 'Pick<any, "form" | "value" | "simplify" | "considered">'.
26925
+ // @ts-expect-error - TS2339 - Property 'key' does not exist on type 'Pick<any, "form" | "value" | "simplify" | "considered">'.
26926
26926
  form.key = component.key;
26927
26927
  return form;
26928
26928
  });
26929
26929
 
26930
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26930
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26931
26931
  this.change({
26932
26932
  answerForms
26933
26933
  });
@@ -26959,12 +26959,12 @@ class ExpressionEditor extends React__namespace.Component {
26959
26959
  }
26960
26960
  const buttonSets = ___default["default"](this.props.buttonSets).reject(set => set === remove).concat(keep);
26961
26961
 
26962
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
26962
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
26963
26963
  this.change("buttonSets", buttonSets);
26964
26964
  });
26965
26965
  _defineProperty(this, "handleTexInsert", str => {
26966
26966
  // eslint-disable-next-line react/no-string-refs
26967
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
26967
+ // @ts-expect-error - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
26968
26968
  this.refs.expression.insert(str);
26969
26969
  });
26970
26970
  _defineProperty(this, "handleFunctions", e => {
@@ -27148,7 +27148,7 @@ class AnswerOption extends React__namespace.Component {
27148
27148
  render() {
27149
27149
  let removeButton = null;
27150
27150
  if (this.state.deleteFocused) {
27151
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
27151
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
27152
27152
  removeButton = /*#__PURE__*/React__namespace.createElement("button", {
27153
27153
  type: "button",
27154
27154
  className: "simple-button orange",
@@ -27156,7 +27156,7 @@ class AnswerOption extends React__namespace.Component {
27156
27156
  onBlur: this.handleDeleteBlur
27157
27157
  }, "I'm sure!");
27158
27158
  } else {
27159
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
27159
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
27160
27160
  removeButton = /*#__PURE__*/React__namespace.createElement("button", {
27161
27161
  type: "button",
27162
27162
  className: "simple-button orange",
@@ -27234,7 +27234,7 @@ class GradedGroupEditor extends React__namespace.Component {
27234
27234
  hint
27235
27235
  }, () => {
27236
27236
  // eslint-disable-next-line react/no-string-refs
27237
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
27237
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
27238
27238
  this.refs["hint-editor"].focus();
27239
27239
  });
27240
27240
  });
@@ -27245,20 +27245,20 @@ class GradedGroupEditor extends React__namespace.Component {
27245
27245
  });
27246
27246
  _defineProperty(this, "getSaveWarnings", () => {
27247
27247
  // eslint-disable-next-line react/no-string-refs
27248
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
27248
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
27249
27249
  return this.refs.editor.getSaveWarnings();
27250
27250
  });
27251
27251
  _defineProperty(this, "serialize", () => {
27252
27252
  return {
27253
27253
  title: this.props.title,
27254
27254
  // eslint-disable-next-line react/no-string-refs
27255
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27255
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27256
27256
  ...this.refs.editor.serialize(),
27257
27257
  hint:
27258
27258
  // eslint-disable-next-line react/no-string-refs
27259
27259
  this.refs["hint-editor"] &&
27260
27260
  // eslint-disable-next-line react/no-string-refs
27261
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27261
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27262
27262
  this.refs["hint-editor"].serialize()
27263
27263
  };
27264
27264
  });
@@ -27273,7 +27273,7 @@ class GradedGroupEditor extends React__namespace.Component {
27273
27273
  }, "Title:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$6, {
27274
27274
  value: this.props.title,
27275
27275
  className: aphrodite.css(styles$a.input)
27276
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
27276
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
27277
27277
  ,
27278
27278
  onChange: this.change("title")
27279
27279
  }))), /*#__PURE__*/React__namespace.createElement(Editor
@@ -27313,7 +27313,7 @@ class GradedGroupEditor extends React__namespace.Component {
27313
27313
  onChange: props => {
27314
27314
  // Copy all props over from the existing hint
27315
27315
  // and then add new props.
27316
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27316
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27317
27317
  this.change("hint", Object.assign({}, this.props.hint, props));
27318
27318
  }
27319
27319
  }), /*#__PURE__*/React__namespace.createElement("button", {
@@ -27386,7 +27386,7 @@ class GradedGroupSetEditor extends React__namespace.Component {
27386
27386
  widgetEnabled: true,
27387
27387
  immutableWidgets: false,
27388
27388
  onChange: data =>
27389
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27389
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27390
27390
  this.change("gradedGroups", setArrayItem(this.props.gradedGroups, i, {
27391
27391
  ...this.props.gradedGroups[i],
27392
27392
  ...data
@@ -27395,7 +27395,7 @@ class GradedGroupSetEditor extends React__namespace.Component {
27395
27395
  });
27396
27396
  _defineProperty(this, "addGroup", () => {
27397
27397
  const groups = this.props.gradedGroups || [];
27398
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27398
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27399
27399
  this.change("gradedGroups", groups.concat([GradedGroupEditor.defaultProps]));
27400
27400
  });
27401
27401
  }
@@ -27542,7 +27542,7 @@ const GraphSettings = createReactClass__default["default"]({
27542
27542
  }, this.changeGraph);
27543
27543
  };
27544
27544
 
27545
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
27545
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
27546
27546
  const url = ReactDOM__default["default"].findDOMNode(this.refs["bg-url"]).value; // eslint-disable-line react/no-string-refs
27547
27547
  if (url) {
27548
27548
  perseus.Util.getImageSize(url, (width, height) => {
@@ -27975,7 +27975,7 @@ class GrapherEditor extends React__namespace.Component {
27975
27975
  // NOTE(jeremy): This editor doesn't pass in a bunch of
27976
27976
  // standard props that the Renderer provides normally (eg.
27977
27977
  // alignment, findWidgets, etc).
27978
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
27978
+ // @ts-expect-error - TS2769 - No overload matches this call.
27979
27979
  React__namespace.createElement(Grapher, _extends({}, graphProps, {
27980
27980
  apiOptions: this.props.apiOptions,
27981
27981
  containerSizeClass: sizeClass
@@ -28000,7 +28000,7 @@ class GrapherEditor extends React__namespace.Component {
28000
28000
  rulerLabel: this.props.graph.rulerLabel,
28001
28001
  rulerTicks: this.props.graph.rulerTicks,
28002
28002
  showTooltips: this.props.graph.showTooltips
28003
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28003
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28004
28004
  ,
28005
28005
  onChange: this.change("graph")
28006
28006
  }), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28032,7 +28032,7 @@ class GroupEditor extends React__namespace.Component {
28032
28032
  const GroupMetadataEditor = this.props.apiOptions.GroupMetadataEditor;
28033
28033
  return /*#__PURE__*/React__namespace.createElement(GroupMetadataEditor, {
28034
28034
  value: this.props.metadata
28035
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28035
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28036
28036
  ,
28037
28037
  onChange: this.change("metadata")
28038
28038
  });
@@ -28045,12 +28045,12 @@ class GroupEditor extends React__namespace.Component {
28045
28045
  });
28046
28046
  _defineProperty(this, "getSaveWarnings", () => {
28047
28047
  // eslint-disable-next-line react/no-string-refs
28048
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
28048
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
28049
28049
  return this.refs.editor.getSaveWarnings();
28050
28050
  });
28051
28051
  _defineProperty(this, "serialize", () => {
28052
28052
  // eslint-disable-next-line react/no-string-refs
28053
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
28053
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
28054
28054
  return ___default["default"].extend({}, this.refs.editor.serialize(), {
28055
28055
  metadata: this.props.metadata
28056
28056
  });
@@ -28198,7 +28198,7 @@ class IframeEditor extends React__namespace.Component {
28198
28198
  return perseus.Changeable.change.apply(_this3, args);
28199
28199
  });
28200
28200
  _defineProperty(this, "handleSettingsChange", settings => {
28201
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28201
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28202
28202
  this.change({
28203
28203
  settings: settings.pairs
28204
28204
  });
@@ -28215,7 +28215,7 @@ class IframeEditor extends React__namespace.Component {
28215
28215
  }
28216
28216
  }, "This widget is deprecated! ", /*#__PURE__*/React__namespace.createElement("br", null), "Try using the Video or CS Program widgets instead."), /*#__PURE__*/React__namespace.createElement("label", null, "Url or Program ID:", /*#__PURE__*/React__namespace.createElement(BlurInput, {
28217
28217
  value: this.props.url
28218
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28218
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28219
28219
  ,
28220
28220
  onChange: this.change("url")
28221
28221
  })), /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("label", null, "Settings:", /*#__PURE__*/React__namespace.createElement(PairsEditor, {
@@ -28224,12 +28224,12 @@ class IframeEditor extends React__namespace.Component {
28224
28224
  onChange: this.handleSettingsChange
28225
28225
  })), /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("label", null, "Width:", /*#__PURE__*/React__namespace.createElement(BlurInput, {
28226
28226
  value: this.props.width
28227
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28227
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28228
28228
  ,
28229
28229
  onChange: this.change("width")
28230
28230
  })), /*#__PURE__*/React__namespace.createElement("label", null, "Height:", /*#__PURE__*/React__namespace.createElement(BlurInput, {
28231
28231
  value: this.props.height
28232
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28232
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28233
28233
  ,
28234
28234
  onChange: this.change("height")
28235
28235
  })), /*#__PURE__*/React__namespace.createElement(PropCheckBox$9, {
@@ -28550,7 +28550,7 @@ class InputNumberEditor extends React__namespace.Component {
28550
28550
  });
28551
28551
  });
28552
28552
  _defineProperty(this, "focus", () => {
28553
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
28553
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
28554
28554
  ReactDOM__default["default"].findDOMNode(this.refs.input).focus(); // eslint-disable-line react/no-string-refs
28555
28555
  return true;
28556
28556
  });
@@ -28581,7 +28581,7 @@ class InputNumberEditor extends React__namespace.Component {
28581
28581
  value: this.props.simplify,
28582
28582
  onChange: e => {
28583
28583
  this.props.onChange({
28584
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"optional" | "required" | "enforced" | undefined'.
28584
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"optional" | "required" | "enforced" | undefined'.
28585
28585
  simplify: e.target.value
28586
28586
  });
28587
28587
  }
@@ -28620,7 +28620,7 @@ class InputNumberEditor extends React__namespace.Component {
28620
28620
  }))), /*#__PURE__*/React__namespace.createElement("div", null, "Answer type:", " ", /*#__PURE__*/React__namespace.createElement("select", {
28621
28621
  value: this.props.answerType,
28622
28622
  onChange: e => {
28623
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"number" | "integer" | "mixed" | "decimal" | "improper" | "percent" | "pi" | "rational" | undefined'.
28623
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"number" | "integer" | "mixed" | "decimal" | "improper" | "percent" | "pi" | "rational" | undefined'.
28624
28624
  this.props.onChange({
28625
28625
  answerType: e.target.value
28626
28626
  });
@@ -28628,7 +28628,7 @@ class InputNumberEditor extends React__namespace.Component {
28628
28628
  }, answerTypeOptions), /*#__PURE__*/React__namespace.createElement(InfoTip$f, null, /*#__PURE__*/React__namespace.createElement("p", null, "Use the default \"Numbers\" unless the answer must be in a specific form (e.g., question is about converting decimals to fractions)."))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Width", " ", /*#__PURE__*/React__namespace.createElement("select", {
28629
28629
  value: this.props.size,
28630
28630
  onChange: e => {
28631
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"small" | "normal" | undefined'.
28631
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"small" | "normal" | undefined'.
28632
28632
  this.props.onChange({
28633
28633
  size: e.target.value
28634
28634
  });
@@ -28813,21 +28813,21 @@ class PointEditor extends React__namespace.Component {
28813
28813
  buttonSets: [],
28814
28814
  buttonsVisible: "never",
28815
28815
  value: this.props.coordX
28816
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28816
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28817
28817
  ,
28818
28818
  onChange: this.change("coordX")
28819
28819
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28820
28820
  buttonSets: [],
28821
28821
  buttonsVisible: "never",
28822
28822
  value: this.props.coordY
28823
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28823
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28824
28824
  ,
28825
28825
  onChange: this.change("coordY")
28826
28826
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
28827
28827
  className: "perseus-widget-row"
28828
28828
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
28829
28829
  value: this.props.color
28830
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28830
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28831
28831
  ,
28832
28832
  onChange: this.change("color")
28833
28833
  })));
@@ -28876,14 +28876,14 @@ class LineEditor extends React__namespace.Component {
28876
28876
  buttonSets: [],
28877
28877
  buttonsVisible: "never",
28878
28878
  value: this.props.startX
28879
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28879
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28880
28880
  ,
28881
28881
  onChange: this.change("startX")
28882
28882
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28883
28883
  buttonSets: [],
28884
28884
  buttonsVisible: "never",
28885
28885
  value: this.props.startY
28886
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28886
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28887
28887
  ,
28888
28888
  onChange: this.change("startY")
28889
28889
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28892,33 +28892,33 @@ class LineEditor extends React__namespace.Component {
28892
28892
  buttonSets: [],
28893
28893
  buttonsVisible: "never",
28894
28894
  value: this.props.endX
28895
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28895
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28896
28896
  ,
28897
28897
  onChange: this.change("endX")
28898
28898
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28899
28899
  buttonSets: [],
28900
28900
  buttonsVisible: "never",
28901
28901
  value: this.props.endY
28902
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28902
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28903
28903
  ,
28904
28904
  onChange: this.change("endY")
28905
28905
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
28906
28906
  className: "perseus-widget-row"
28907
28907
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
28908
28908
  value: this.props.color
28909
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28909
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28910
28910
  ,
28911
28911
  onChange: this.change("color")
28912
28912
  })), /*#__PURE__*/React__namespace.createElement("div", {
28913
28913
  className: "perseus-widget-row"
28914
28914
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
28915
28915
  value: this.props.strokeDasharray
28916
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28916
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28917
28917
  ,
28918
28918
  onChange: this.change("strokeDasharray")
28919
28919
  }), "\xA0 \xA0", /*#__PURE__*/React__namespace.createElement(perseus.ArrowPicker, {
28920
28920
  value: this.props.arrows
28921
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28921
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28922
28922
  ,
28923
28923
  onChange: this.change("arrows")
28924
28924
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28928,7 +28928,7 @@ class LineEditor extends React__namespace.Component {
28928
28928
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
28929
28929
  value: this.props.strokeWidth,
28930
28930
  placeholder: 2
28931
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28931
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28932
28932
  ,
28933
28933
  onChange: this.change("strokeWidth")
28934
28934
  }))));
@@ -29145,7 +29145,7 @@ class FunctionEditor extends React__namespace.Component {
29145
29145
  buttonSets: [],
29146
29146
  buttonsVisible: "never",
29147
29147
  value: this.props.value
29148
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29148
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29149
29149
  ,
29150
29150
  onChange: this.change("value")
29151
29151
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29154,28 +29154,28 @@ class FunctionEditor extends React__namespace.Component {
29154
29154
  buttonSets: [],
29155
29155
  buttonsVisible: "never",
29156
29156
  value: this.props.rangeMin
29157
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29157
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29158
29158
  ,
29159
29159
  onChange: this.change("rangeMin")
29160
29160
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29161
29161
  buttonSets: [],
29162
29162
  buttonsVisible: "never",
29163
29163
  value: this.props.rangeMax
29164
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29164
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29165
29165
  ,
29166
29166
  onChange: this.change("rangeMax")
29167
29167
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29168
29168
  className: "perseus-widget-row"
29169
29169
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29170
29170
  value: this.props.color
29171
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29171
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29172
29172
  ,
29173
29173
  onChange: this.change("color")
29174
29174
  })), /*#__PURE__*/React__namespace.createElement("div", {
29175
29175
  className: "perseus-widget-row"
29176
29176
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
29177
29177
  value: this.props.strokeDasharray
29178
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29178
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29179
29179
  ,
29180
29180
  onChange: this.change("strokeDasharray")
29181
29181
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29185,7 +29185,7 @@ class FunctionEditor extends React__namespace.Component {
29185
29185
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
29186
29186
  value: this.props.strokeWidth,
29187
29187
  placeholder: 2
29188
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29188
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29189
29189
  ,
29190
29190
  onChange: this.change("strokeWidth")
29191
29191
  }))));
@@ -29240,7 +29240,7 @@ class ParametricEditor extends React__namespace.Component {
29240
29240
  buttonSets: [],
29241
29241
  buttonsVisible: "never",
29242
29242
  value: this.props.x
29243
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29243
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29244
29244
  ,
29245
29245
  onChange: this.change("x")
29246
29246
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29249,7 +29249,7 @@ class ParametricEditor extends React__namespace.Component {
29249
29249
  buttonSets: [],
29250
29250
  buttonsVisible: "never",
29251
29251
  value: this.props.y
29252
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29252
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29253
29253
  ,
29254
29254
  onChange: this.change("y")
29255
29255
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29258,28 +29258,28 @@ class ParametricEditor extends React__namespace.Component {
29258
29258
  buttonSets: [],
29259
29259
  buttonsVisible: "never",
29260
29260
  value: this.props.rangeMin
29261
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29261
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29262
29262
  ,
29263
29263
  onChange: this.change("rangeMin")
29264
29264
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29265
29265
  buttonSets: [],
29266
29266
  buttonsVisible: "never",
29267
29267
  value: this.props.rangeMax
29268
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29268
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29269
29269
  ,
29270
29270
  onChange: this.change("rangeMax")
29271
29271
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29272
29272
  className: "perseus-widget-row"
29273
29273
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29274
29274
  value: this.props.color
29275
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29275
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29276
29276
  ,
29277
29277
  onChange: this.change("color")
29278
29278
  })), /*#__PURE__*/React__namespace.createElement("div", {
29279
29279
  className: "perseus-widget-row"
29280
29280
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
29281
29281
  value: this.props.strokeDasharray
29282
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29282
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29283
29283
  ,
29284
29284
  onChange: this.change("strokeDasharray")
29285
29285
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29289,7 +29289,7 @@ class ParametricEditor extends React__namespace.Component {
29289
29289
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
29290
29290
  value: this.props.strokeWidth,
29291
29291
  placeholder: 2
29292
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29292
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29293
29293
  ,
29294
29294
  onChange: this.change("strokeWidth")
29295
29295
  }))));
@@ -29345,7 +29345,7 @@ class LabelEditor extends React__namespace.Component {
29345
29345
  className: "perseus-widget-row"
29346
29346
  }, /*#__PURE__*/React__namespace.createElement(TextInput$5, {
29347
29347
  value: this.props.label
29348
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29348
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29349
29349
  ,
29350
29350
  onChange: this.change("label"),
29351
29351
  style: {
@@ -29357,21 +29357,21 @@ class LabelEditor extends React__namespace.Component {
29357
29357
  buttonSets: [],
29358
29358
  buttonsVisible: "never",
29359
29359
  value: this.props.coordX
29360
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29360
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29361
29361
  ,
29362
29362
  onChange: this.change("coordX")
29363
29363
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29364
29364
  buttonSets: [],
29365
29365
  buttonsVisible: "never",
29366
29366
  value: this.props.coordY
29367
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29367
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29368
29368
  ,
29369
29369
  onChange: this.change("coordY")
29370
29370
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29371
29371
  className: "perseus-widget-row"
29372
29372
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29373
29373
  value: this.props.color
29374
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29374
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29375
29375
  ,
29376
29376
  onChange: this.change("color")
29377
29377
  })));
@@ -29422,14 +29422,14 @@ class RectangleEditor extends React__namespace.Component {
29422
29422
  buttonSets: [],
29423
29423
  buttonsVisible: "never",
29424
29424
  value: this.props.coordX
29425
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29425
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29426
29426
  ,
29427
29427
  onChange: this.change("coordX")
29428
29428
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29429
29429
  buttonSets: [],
29430
29430
  buttonsVisible: "never",
29431
29431
  value: this.props.coordY
29432
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29432
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29433
29433
  ,
29434
29434
  onChange: this.change("coordY")
29435
29435
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29438,7 +29438,7 @@ class RectangleEditor extends React__namespace.Component {
29438
29438
  buttonSets: [],
29439
29439
  buttonsVisible: "never",
29440
29440
  value: this.props.width
29441
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29441
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29442
29442
  ,
29443
29443
  onChange: this.change("width")
29444
29444
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29447,7 +29447,7 @@ class RectangleEditor extends React__namespace.Component {
29447
29447
  buttonSets: [],
29448
29448
  buttonsVisible: "never",
29449
29449
  value: this.props.height
29450
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29450
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29451
29451
  ,
29452
29452
  onChange: this.change("height")
29453
29453
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29455,7 +29455,7 @@ class RectangleEditor extends React__namespace.Component {
29455
29455
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29456
29456
  value: this.props.color,
29457
29457
  lightColors: true
29458
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29458
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29459
29459
  ,
29460
29460
  onChange: this.change("color")
29461
29461
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29490,7 +29490,7 @@ class InteractionEditor extends React__namespace.Component {
29490
29490
  _defineProperty(this, "_updateGraphProps", newProps => {
29491
29491
  // TODO(eater): GraphSettings should name this tickStep instead
29492
29492
  // of step. Grr..
29493
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29493
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29494
29494
  this.change({
29495
29495
  graph: ___default["default"].extend(___default["default"].omit(newProps, "step"), {
29496
29496
  tickStep: newProps.step
@@ -29511,13 +29511,13 @@ class InteractionEditor extends React__namespace.Component {
29511
29511
  let nextSubscript;
29512
29512
  if (elementType === "movable-point") {
29513
29513
  nextSubscript = ___default["default"].max([___default["default"].max(this.state.usedVarSubscripts), -1]) + 1;
29514
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'varSubscript' does not exist on type '{}'.
29514
+ // @ts-expect-error - TS2339 - Property 'varSubscript' does not exist on type '{}'.
29515
29515
  newElement.options.varSubscript = nextSubscript;
29516
29516
  } else if (elementType === "movable-line") {
29517
29517
  nextSubscript = ___default["default"].max([___default["default"].max(this.state.usedVarSubscripts), -1]) + 1;
29518
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'startSubscript' does not exist on type '{}'.
29518
+ // @ts-expect-error - TS2339 - Property 'startSubscript' does not exist on type '{}'.
29519
29519
  newElement.options.startSubscript = nextSubscript;
29520
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'endSubscript' does not exist on type '{}'.
29520
+ // @ts-expect-error - TS2339 - Property 'endSubscript' does not exist on type '{}'.
29521
29521
  newElement.options.endSubscript = nextSubscript + 1;
29522
29522
  } else if (elementType === "function") {
29523
29523
  // TODO(eater): The 22nd function added will be {(x) since '{'
@@ -29525,17 +29525,17 @@ class InteractionEditor extends React__namespace.Component {
29525
29525
  const nextLetter = String.fromCharCode(___default["default"].max([___default["default"].max(___default["default"].map(this.state.usedFunctionNames, function (c) {
29526
29526
  return c.charCodeAt(0);
29527
29527
  })), "e".charCodeAt(0)]) + 1);
29528
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'funcName' does not exist on type '{}'.
29528
+ // @ts-expect-error - TS2339 - Property 'funcName' does not exist on type '{}'.
29529
29529
  newElement.options.funcName = nextLetter;
29530
29530
  }
29531
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29531
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29532
29532
  this.change({
29533
29533
  elements: this.props.elements.concat(newElement)
29534
29534
  });
29535
29535
  });
29536
29536
  _defineProperty(this, "_deleteElement", index => {
29537
29537
  const element = this.props.elements[index];
29538
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29538
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29539
29539
  this.change({
29540
29540
  elements: ___default["default"].without(this.props.elements, element)
29541
29541
  });
@@ -29544,7 +29544,7 @@ class InteractionEditor extends React__namespace.Component {
29544
29544
  const element = this.props.elements[index];
29545
29545
  const newElements = ___default["default"].without(this.props.elements, element);
29546
29546
  newElements.splice(index - 1, 0, element);
29547
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29547
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29548
29548
  this.change({
29549
29549
  elements: newElements
29550
29550
  });
@@ -29553,7 +29553,7 @@ class InteractionEditor extends React__namespace.Component {
29553
29553
  const element = this.props.elements[index];
29554
29554
  const newElements = ___default["default"].without(this.props.elements, element);
29555
29555
  newElements.splice(index + 1, 0, element);
29556
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29556
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29557
29557
  this.change({
29558
29558
  elements: newElements
29559
29559
  });
@@ -29612,29 +29612,29 @@ class InteractionEditor extends React__namespace.Component {
29612
29612
  // eslint-disable-next-line react/jsx-no-bind
29613
29613
  ,
29614
29614
  onUp: n === 0 ? null :
29615
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29615
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29616
29616
  this._moveElementUp.bind(this, n)
29617
29617
  // eslint-disable-next-line react/jsx-no-bind
29618
29618
  ,
29619
29619
  onDown:
29620
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29620
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29621
29621
  n === this.props.elements.length - 1 ? null :
29622
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29622
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29623
29623
  this._moveElementDown.bind(
29624
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29624
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29625
29625
  this, n)
29626
29626
  // eslint-disable-next-line react/jsx-no-bind
29627
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29627
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29628
29628
  ,
29629
29629
  onDelete: this._deleteElement.bind(this, n),
29630
29630
  key: element.key
29631
29631
  }, /*#__PURE__*/React__namespace.createElement(MovablePointEditor, _extends({}, element.options, {
29632
29632
  onChange: newProps => {
29633
29633
  const elements = JSON.parse(JSON.stringify(
29634
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29634
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29635
29635
  this.props.elements));
29636
29636
  ___default["default"].extend(elements[n].options, newProps);
29637
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29637
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29638
29638
  this.change({
29639
29639
  elements: elements
29640
29640
  });
@@ -29647,29 +29647,29 @@ class InteractionEditor extends React__namespace.Component {
29647
29647
  // eslint-disable-next-line react/jsx-no-bind
29648
29648
  ,
29649
29649
  onUp: n === 0 ? null :
29650
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29650
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29651
29651
  this._moveElementUp.bind(this, n)
29652
29652
  // eslint-disable-next-line react/jsx-no-bind
29653
29653
  ,
29654
29654
  onDown:
29655
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29655
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29656
29656
  n === this.props.elements.length - 1 ? null :
29657
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29657
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29658
29658
  this._moveElementDown.bind(
29659
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29659
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29660
29660
  this, n)
29661
29661
  // eslint-disable-next-line react/jsx-no-bind
29662
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29662
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29663
29663
  ,
29664
29664
  onDelete: this._deleteElement.bind(this, n),
29665
29665
  key: element.key
29666
29666
  }, /*#__PURE__*/React__namespace.createElement(MovableLineEditor, _extends({}, element.options, {
29667
29667
  onChange: newProps => {
29668
29668
  const elements = JSON.parse(JSON.stringify(
29669
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29669
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29670
29670
  this.props.elements));
29671
29671
  ___default["default"].extend(elements[n].options, newProps);
29672
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29672
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29673
29673
  this.change({
29674
29674
  elements: elements
29675
29675
  });
@@ -29682,29 +29682,29 @@ class InteractionEditor extends React__namespace.Component {
29682
29682
  // eslint-disable-next-line react/jsx-no-bind
29683
29683
  ,
29684
29684
  onUp: n === 0 ? null :
29685
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29685
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29686
29686
  this._moveElementUp.bind(this, n)
29687
29687
  // eslint-disable-next-line react/jsx-no-bind
29688
29688
  ,
29689
29689
  onDown:
29690
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29690
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29691
29691
  n === this.props.elements.length - 1 ? null :
29692
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29692
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29693
29693
  this._moveElementDown.bind(
29694
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29694
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29695
29695
  this, n)
29696
29696
  // eslint-disable-next-line react/jsx-no-bind
29697
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29697
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29698
29698
  ,
29699
29699
  onDelete: this._deleteElement.bind(this, n),
29700
29700
  key: element.key
29701
29701
  }, /*#__PURE__*/React__namespace.createElement(PointEditor, _extends({}, element.options, {
29702
29702
  onChange: newProps => {
29703
29703
  const elements = JSON.parse(JSON.stringify(
29704
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29704
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29705
29705
  this.props.elements));
29706
29706
  ___default["default"].extend(elements[n].options, newProps);
29707
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29707
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29708
29708
  this.change({
29709
29709
  elements: elements
29710
29710
  });
@@ -29717,29 +29717,29 @@ class InteractionEditor extends React__namespace.Component {
29717
29717
  // eslint-disable-next-line react/jsx-no-bind
29718
29718
  ,
29719
29719
  onUp: n === 0 ? null :
29720
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29720
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29721
29721
  this._moveElementUp.bind(this, n)
29722
29722
  // eslint-disable-next-line react/jsx-no-bind
29723
29723
  ,
29724
29724
  onDown:
29725
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29725
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29726
29726
  n === this.props.elements.length - 1 ? null :
29727
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29727
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29728
29728
  this._moveElementDown.bind(
29729
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29729
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29730
29730
  this, n)
29731
29731
  // eslint-disable-next-line react/jsx-no-bind
29732
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29732
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29733
29733
  ,
29734
29734
  onDelete: this._deleteElement.bind(this, n),
29735
29735
  key: element.key
29736
29736
  }, /*#__PURE__*/React__namespace.createElement(LineEditor, _extends({}, element.options, {
29737
29737
  onChange: newProps => {
29738
29738
  const elements = JSON.parse(JSON.stringify(
29739
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29739
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29740
29740
  this.props.elements));
29741
29741
  ___default["default"].extend(elements[n].options, newProps);
29742
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29742
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29743
29743
  this.change({
29744
29744
  elements: elements
29745
29745
  });
@@ -29752,28 +29752,28 @@ class InteractionEditor extends React__namespace.Component {
29752
29752
  // eslint-disable-next-line react/jsx-no-bind
29753
29753
  ,
29754
29754
  onUp: n === 0 ? null :
29755
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29755
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29756
29756
  this._moveElementUp.bind(this, n)
29757
29757
  // eslint-disable-next-line react/jsx-no-bind
29758
29758
  ,
29759
29759
  onDown:
29760
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29760
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29761
29761
  n === this.props.elements.length - 1 ? null :
29762
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29762
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29763
29763
  this._moveElementDown.bind(
29764
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29764
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29765
29765
  this, n)
29766
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29766
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29767
29767
  ,
29768
29768
  onDelete: this._deleteElement,
29769
29769
  key: element.key
29770
29770
  }, /*#__PURE__*/React__namespace.createElement(FunctionEditor, _extends({}, element.options, {
29771
29771
  onChange: newProps => {
29772
29772
  const elements = JSON.parse(JSON.stringify(
29773
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29773
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29774
29774
  this.props.elements));
29775
29775
  ___default["default"].extend(elements[n].options, newProps);
29776
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29776
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29777
29777
  this.change({
29778
29778
  elements: elements
29779
29779
  });
@@ -29786,28 +29786,28 @@ class InteractionEditor extends React__namespace.Component {
29786
29786
  // eslint-disable-next-line react/jsx-no-bind
29787
29787
  ,
29788
29788
  onUp: n === 0 ? null :
29789
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29789
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29790
29790
  this._moveElementUp.bind(this, n)
29791
29791
  // eslint-disable-next-line react/jsx-no-bind
29792
29792
  ,
29793
29793
  onDown:
29794
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29794
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29795
29795
  n === this.props.elements.length - 1 ? null :
29796
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29796
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29797
29797
  this._moveElementDown.bind(
29798
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29798
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29799
29799
  this, n)
29800
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29800
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29801
29801
  ,
29802
29802
  onDelete: this._deleteElement,
29803
29803
  key: element.key
29804
29804
  }, /*#__PURE__*/React__namespace.createElement(ParametricEditor, _extends({}, element.options, {
29805
29805
  onChange: newProps => {
29806
29806
  const elements = JSON.parse(JSON.stringify(
29807
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29807
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29808
29808
  this.props.elements));
29809
29809
  ___default["default"].extend(elements[n].options, newProps);
29810
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29810
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29811
29811
  this.change({
29812
29812
  elements: elements
29813
29813
  });
@@ -29820,28 +29820,28 @@ class InteractionEditor extends React__namespace.Component {
29820
29820
  // eslint-disable-next-line react/jsx-no-bind
29821
29821
  ,
29822
29822
  onUp: n === 0 ? null :
29823
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29823
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29824
29824
  this._moveElementUp.bind(this, n)
29825
29825
  // eslint-disable-next-line react/jsx-no-bind
29826
29826
  ,
29827
29827
  onDown:
29828
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29828
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29829
29829
  n === this.props.elements.length - 1 ? null :
29830
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29830
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29831
29831
  this._moveElementDown.bind(
29832
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29832
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29833
29833
  this, n)
29834
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29834
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29835
29835
  ,
29836
29836
  onDelete: this._deleteElement,
29837
29837
  key: element.key
29838
29838
  }, /*#__PURE__*/React__namespace.createElement(LabelEditor, _extends({}, element.options, {
29839
29839
  onChange: newProps => {
29840
29840
  const elements = JSON.parse(JSON.stringify(
29841
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29841
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29842
29842
  this.props.elements));
29843
29843
  ___default["default"].extend(elements[n].options, newProps);
29844
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29844
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29845
29845
  this.change({
29846
29846
  elements: elements
29847
29847
  });
@@ -29854,28 +29854,28 @@ class InteractionEditor extends React__namespace.Component {
29854
29854
  // eslint-disable-next-line react/jsx-no-bind
29855
29855
  ,
29856
29856
  onUp: n === 0 ? null :
29857
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29857
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29858
29858
  this._moveElementUp.bind(this, n)
29859
29859
  // eslint-disable-next-line react/jsx-no-bind
29860
29860
  ,
29861
29861
  onDown:
29862
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29862
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29863
29863
  n === this.props.elements.length - 1 ? null :
29864
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29864
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29865
29865
  this._moveElementDown.bind(
29866
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29866
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29867
29867
  this, n)
29868
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29868
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29869
29869
  ,
29870
29870
  onDelete: this._deleteElement,
29871
29871
  key: element.key
29872
29872
  }, /*#__PURE__*/React__namespace.createElement(RectangleEditor, _extends({}, element.options, {
29873
29873
  onChange: newProps => {
29874
29874
  const elements = JSON.parse(JSON.stringify(
29875
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29875
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29876
29876
  this.props.elements));
29877
29877
  ___default["default"].extend(elements[n].options, newProps);
29878
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29878
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29879
29879
  this.change({
29880
29880
  elements: elements
29881
29881
  });
@@ -30077,7 +30077,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30077
30077
  trackInteraction: function () {},
30078
30078
  onChange: newProps => {
30079
30079
  let correct = this.props.correct;
30080
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
30080
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
30081
30081
  if (correct.type === newProps.graph.type) {
30082
30082
  correct = ___default["default"].extend({}, correct, newProps.graph);
30083
30083
  } else {
@@ -30094,7 +30094,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30094
30094
  // There are a bunch of props that renderer.jsx passes to widgets via
30095
30095
  // getWidgetProps() and widget-container.jsx that the editors don't
30096
30096
  // bother passing.
30097
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
30097
+ // @ts-expect-error - TS2769 - No overload matches this call.
30098
30098
  React__namespace.createElement(InteractiveGraph, _extends({}, graphProps, {
30099
30099
  containerSizeClass: sizeClass,
30100
30100
  apiOptions: {
@@ -30104,7 +30104,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30104
30104
  }));
30105
30105
  // TODO(kevinb): Update getEquationString to only accept the data it actually
30106
30106
  // needs to compute the equation string.
30107
- // @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'.
30107
+ // @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'.
30108
30108
  equationString = InteractiveGraph.getEquationString(graphProps);
30109
30109
  } else {
30110
30110
  graph = /*#__PURE__*/React__namespace.createElement("div", {
@@ -30286,7 +30286,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30286
30286
  });
30287
30287
  ___default["default"].each(["allowReflexAngles", "angleOffsetDeg", "numPoints", "numSides", "numSegments", "showAngles", "showSides", "snapTo", "snapDegrees"], function (key) {
30288
30288
  if (___default["default"].has(correct, key)) {
30289
- // @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">'.
30289
+ // @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">'.
30290
30290
  json.graph[key] = correct[key];
30291
30291
  }
30292
30292
  });
@@ -30390,7 +30390,7 @@ class FormWrappedTextField extends React__namespace.Component {
30390
30390
  return /*#__PURE__*/React__namespace.createElement("form", {
30391
30391
  className: aphrodite.css(...spanStyle),
30392
30392
  style: extraStyles
30393
- // @ts-expect-error [FEI-5003] - TS2322 - Type '((arg1: ChangeEvent<HTMLInputElement>) => unknown) | ((e: Event) => void)' is not assignable to type 'FormEventHandler<HTMLFormElement> | undefined'.
30393
+ // @ts-expect-error - TS2322 - Type '((arg1: ChangeEvent<HTMLInputElement>) => unknown) | ((e: Event) => void)' is not assignable to type 'FormEventHandler<HTMLFormElement> | undefined'.
30394
30394
  ,
30395
30395
  onSubmit: onSubmit || this.disableDefault
30396
30396
  }, leftSideIcon && wrappedIcon, /*#__PURE__*/React__namespace.createElement("input", _extends({}, allProps, {
@@ -30814,7 +30814,7 @@ class HoverBehavior extends React__namespace.Component {
30814
30814
  };
30815
30815
  }
30816
30816
 
30817
- // @ts-expect-error [FEI-5003] - TS2564 - Property 'focusFlag' has no initializer and is not definitely assigned in the constructor.
30817
+ // @ts-expect-error - TS2564 - Property 'focusFlag' has no initializer and is not definitely assigned in the constructor.
30818
30818
 
30819
30819
  render() {
30820
30820
  const handlers = {
@@ -30904,7 +30904,7 @@ class Checkbox extends React__namespace.Component {
30904
30904
  className: aphrodite.css(styles$6.checkbox, disabled && styles$6.defaultCursor),
30905
30905
  disabled: disabled,
30906
30906
  onChange: onChange
30907
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string | number | undefined' is not assignable to type 'number | undefined'.
30907
+ // @ts-expect-error - TS2322 - Type 'string | number | undefined' is not assignable to type 'number | undefined'.
30908
30908
  ,
30909
30909
  tabIndex: tabIndex
30910
30910
  }));
@@ -31054,7 +31054,7 @@ function focusWithChromeStickyFocusBugWorkaround(element) {
31054
31054
  // this is an issue, however, so there isn't currently a way to out of the
31055
31055
  // `preventScroll` behavior.
31056
31056
 
31057
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'Element'.
31057
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'Element'.
31058
31058
  element.focus({
31059
31059
  preventScroll: true
31060
31060
  });
@@ -31069,7 +31069,7 @@ const {
31069
31069
  const findAndFocusElement = component => {
31070
31070
  const DOMNode = ReactDOM__default["default"].findDOMNode(component);
31071
31071
  const button = DOMNode;
31072
- // @ts-expect-error [FEI-5003] - TS2774 - This condition will always return true since this function is always defined. Did you mean to call it instead?
31072
+ // @ts-expect-error - TS2774 - This condition will always return true since this function is always defined. Did you mean to call it instead?
31073
31073
  if (button.focus) {
31074
31074
  focusWithChromeStickyFocusBugWorkaround(button);
31075
31075
  }
@@ -31116,21 +31116,21 @@ class Option extends React__namespace.Component {
31116
31116
  ariaLabel
31117
31117
  } = this.props;
31118
31118
  return /*#__PURE__*/React__namespace.createElement("button", {
31119
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'HTMLButtonElement | null' is not assignable to type 'HTMLDivElement'.
31119
+ // @ts-expect-error - TS2322 - Type 'HTMLButtonElement | null' is not assignable to type 'HTMLDivElement'.
31120
31120
  ref: node => this.node = node,
31121
31121
  value: value,
31122
31122
  role: "menuitemradio",
31123
31123
  "aria-checked": selected,
31124
31124
  className: aphrodite.css(styles$4.notAButton, disabled && styles$4.cursorDefault, hideFocusState && styles$4.noFocus)
31125
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(value: string) => void' is not assignable to type 'MouseEventHandler<HTMLButtonElement>'.
31125
+ // @ts-expect-error - TS2322 - Type '(value: string) => void' is not assignable to type 'MouseEventHandler<HTMLButtonElement>'.
31126
31126
  ,
31127
31127
  onClick: value => {
31128
31128
  if (!disabled && onClick) {
31129
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 0 arguments, but got 1.
31129
+ // @ts-expect-error - TS2554 - Expected 0 arguments, but got 1.
31130
31130
  onClick(value);
31131
31131
  }
31132
31132
  }
31133
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(event: KeyboardEvent) => void' is not assignable to type 'KeyboardEventHandler<HTMLButtonElement>'.
31133
+ // @ts-expect-error - TS2322 - Type '(event: KeyboardEvent) => void' is not assignable to type 'KeyboardEventHandler<HTMLButtonElement>'.
31134
31134
  ,
31135
31135
  onKeyDown: event => this.handleKeyDown(event),
31136
31136
  "aria-disabled": disabled,
@@ -31178,23 +31178,23 @@ class OptionGroup extends React__namespace.Component {
31178
31178
  hideFocusState
31179
31179
  } = this.props;
31180
31180
  return /*#__PURE__*/React__namespace.createElement("div", {
31181
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Window | null' is not assignable to type 'Top<string | number> | undefined'.
31181
+ // @ts-expect-error - TS2322 - Type 'Window | null' is not assignable to type 'Top<string | number> | undefined'.
31182
31182
  style: {
31183
31183
  top
31184
31184
  },
31185
31185
  className: aphrodite.css(styles$4.optionGroup, noMargin && styles$4.optionGroupNoMargin)
31186
31186
  }, React__namespace.Children.map(children, (child, index) => {
31187
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31187
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31188
31188
  const selected = selectedValues.includes(child.props.value);
31189
31189
  const reference = selected || index === 0 ? node => this.focusedElement = node : null;
31190
31190
 
31191
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
31191
+ // @ts-expect-error - TS2769 - No overload matches this call.
31192
31192
  return /*#__PURE__*/React__namespace.cloneElement(child, {
31193
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31193
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31194
31194
  ...child.props,
31195
31195
  key: index,
31196
31196
  selected: selected,
31197
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31197
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31198
31198
  onClick: () => onSelected(child.props.value),
31199
31199
  optionRenderer: optionRenderer,
31200
31200
  ref: reference,
@@ -31386,7 +31386,7 @@ class Marker extends React__namespace.Component {
31386
31386
  }), /*#__PURE__*/React__namespace.createElement(OptionGroup, {
31387
31387
  onSelected: this.handleSelectAnswer
31388
31388
  // TODO(WB-1096): make selectedValues immutable in wonder-blocks
31389
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
31389
+ // @ts-expect-error - TS2769 - No overload matches this call.
31390
31390
  ,
31391
31391
  selectedValues: answers
31392
31392
  }, choices.map(choice => /*#__PURE__*/React__namespace.createElement(Option, {
@@ -31514,7 +31514,7 @@ class QuestionMarkers extends React__namespace.Component {
31514
31514
  // Open answer selection dropdown for each of the specified markers.
31515
31515
  indices.forEach(index => {
31516
31516
  if (this._markers[index]) {
31517
- // @ts-expect-error [FEI-5003] - TS2533 - Object is possibly 'null' or 'undefined'.
31517
+ // @ts-expect-error - TS2533 - Object is possibly 'null' or 'undefined'.
31518
31518
  this._markers[index].openDropdown();
31519
31519
  }
31520
31520
  });
@@ -31928,7 +31928,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31928
31928
  return perseus.Changeable.change.apply(_this, args);
31929
31929
  });
31930
31930
  _defineProperty(this, "_handlePatternChange", e => {
31931
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
31931
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
31932
31932
  this.change("flipPattern", e.target.value);
31933
31933
  });
31934
31934
  _defineProperty(this, "_changeWidth", newWidth => {
@@ -31947,7 +31947,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31947
31947
  });
31948
31948
  });
31949
31949
 
31950
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
31950
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
31951
31951
  this.change({
31952
31952
  startCells: newCells
31953
31953
  });
@@ -31957,7 +31957,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31957
31957
  return y === tileY && x === tileX;
31958
31958
  });
31959
31959
 
31960
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
31960
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
31961
31961
  this.change({
31962
31962
  startCells: newCells
31963
31963
  });
@@ -31977,7 +31977,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31977
31977
  onChange: this._changeHeight
31978
31978
  })), /*#__PURE__*/React__namespace.createElement("div", null, "Flip pattern:", /*#__PURE__*/React__namespace.createElement("select", {
31979
31979
  value: this.props.flipPattern
31980
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
31980
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
31981
31981
  ,
31982
31982
  onChange: this._handlePatternChange
31983
31983
  }, ___default["default"].map(___default["default"].keys(PATTERNS), (pattern, i) => {
@@ -32186,7 +32186,7 @@ class MatrixEditor extends React__namespace.Component {
32186
32186
  content: this.props.prefix,
32187
32187
  widgetEnabled: false,
32188
32188
  onChange: newProps => {
32189
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32189
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32190
32190
  this.change({
32191
32191
  prefix: newProps.content
32192
32192
  });
@@ -32201,7 +32201,7 @@ class MatrixEditor extends React__namespace.Component {
32201
32201
  content: this.props.suffix,
32202
32202
  widgetEnabled: false,
32203
32203
  onChange: newProps => {
32204
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32204
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32205
32205
  this.change({
32206
32206
  suffix: newProps.content
32207
32207
  });
@@ -32261,7 +32261,7 @@ class MeasurerEditor extends React__namespace.Component {
32261
32261
  _defineProperty(this, "_changeImage", (subProp, newValue) => {
32262
32262
  const image = ___default["default"].clone(this.props.image);
32263
32263
  image[subProp] = newValue;
32264
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32264
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32265
32265
  this.change("image", image);
32266
32266
  });
32267
32267
  _defineProperty(this, "renderLabelChoices", choices => {
@@ -32306,7 +32306,7 @@ class MeasurerEditor extends React__namespace.Component {
32306
32306
  value: image.left,
32307
32307
  useArrowKeys: true
32308
32308
  }))), /*#__PURE__*/React__namespace.createElement("div", null, "Containing area [width, height]:", " ", /*#__PURE__*/React__namespace.createElement(RangeInput$2
32309
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32309
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32310
32310
  , {
32311
32311
  onChange: this.change("box"),
32312
32312
  value: this.props.box,
@@ -32327,7 +32327,7 @@ class MeasurerEditor extends React__namespace.Component {
32327
32327
  onChange: this.props.onChange
32328
32328
  }))), this.props.showRuler && /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Ruler label:", " ", /*#__PURE__*/React__namespace.createElement("select", {
32329
32329
  onChange: e =>
32330
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32330
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32331
32331
  this.change("rulerLabel", e.target.value),
32332
32332
  value: this.props.rulerLabel
32333
32333
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -32338,7 +32338,7 @@ class MeasurerEditor extends React__namespace.Component {
32338
32338
  label: "Imperial"
32339
32339
  }, this.renderLabelChoices([["inches", "in"], ["feet", "ft"], ["yards", "yd"], ["miles", "mi"]]))))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Ruler ticks:", " ", /*#__PURE__*/React__namespace.createElement("select", {
32340
32340
  onChange: e =>
32341
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32341
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32342
32342
  this.change("rulerTicks", +e.target.value),
32343
32343
  value: this.props.rulerTicks
32344
32344
  }, ___default["default"].map([1, 2, 4, 8, 10, 16], function (n) {
@@ -32348,14 +32348,14 @@ class MeasurerEditor extends React__namespace.Component {
32348
32348
  }, n);
32349
32349
  })))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler pixels per unit:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$9, {
32350
32350
  placeholder: 40
32351
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32351
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32352
32352
  ,
32353
32353
  onChange: this.change("rulerPixels"),
32354
32354
  value: this.props.rulerPixels,
32355
32355
  useArrowKeys: true
32356
32356
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler length in units:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$9, {
32357
32357
  placeholder: 10
32358
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32358
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32359
32359
  ,
32360
32360
  onChange: this.change("rulerLength"),
32361
32361
  value: this.props.rulerLength,
@@ -32406,13 +32406,13 @@ class MoleculeWidgetEditor extends React__namespace.Component {
32406
32406
  return perseus.Changeable.change.apply(_this, args);
32407
32407
  });
32408
32408
  _defineProperty(this, "updateMolecule", newValue => {
32409
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32409
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32410
32410
  this.change({
32411
32411
  smiles: newValue
32412
32412
  });
32413
32413
  });
32414
32414
  _defineProperty(this, "updateRotation", newValue => {
32415
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32415
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32416
32416
  this.change({
32417
32417
  rotationAngle: newValue
32418
32418
  });
@@ -32573,7 +32573,7 @@ class NumberLineEditor extends React__namespace.Component {
32573
32573
  className: "perseus-widget-row"
32574
32574
  }, "Correct x", " ", /*#__PURE__*/React__namespace.createElement("select", {
32575
32575
  value: this.props.correctRel
32576
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
32576
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
32577
32577
  ,
32578
32578
  onChange: this.onChangeRelation
32579
32579
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33078,14 +33078,14 @@ const NumericInputEditor = createReactClass__default["default"]({
33078
33078
  // TODO(emily): This doesn't actually work, because the value is either
33079
33079
  // null or undefined when undefined, probably.
33080
33080
  if (___default["default"].contains(___default["default"].pluck(this.props.answers, "value"), "")) {
33081
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33081
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33082
33082
  warnings.push("One or more answers is empty");
33083
33083
  }
33084
33084
  this.props.answers.forEach((answer, i) => {
33085
33085
  const formatError = answer.strict && (!answer.answerForms || answer.answerForms.length === 0);
33086
33086
  if (formatError) {
33087
33087
  warnings.push(
33088
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33088
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33089
33089
  "Answer ".concat(i + 1, " is set to string format ") + "matching, but no format was selected");
33090
33090
  }
33091
33091
  });
@@ -33171,7 +33171,7 @@ class OrdererEditor extends React__namespace.Component {
33171
33171
  layout: this.props.layout
33172
33172
  }), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Layout:", " ", /*#__PURE__*/React__namespace.createElement("select", {
33173
33173
  value: this.props.layout
33174
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
33174
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
33175
33175
  ,
33176
33176
  onChange: this.onLayoutChange
33177
33177
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33180,7 +33180,7 @@ class OrdererEditor extends React__namespace.Component {
33180
33180
  value: VERTICAL$1
33181
33181
  }, "Vertical"))), /*#__PURE__*/React__namespace.createElement(InfoTip$8, null, /*#__PURE__*/React__namespace.createElement("p", null, "Use the horizontal layout for short text and small images. The vertical layout is best for longer text (e.g. proofs)."))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Height:", " ", /*#__PURE__*/React__namespace.createElement("select", {
33182
33182
  value: this.props.height
33183
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
33183
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
33184
33184
  ,
33185
33185
  onChange: this.onHeightChange
33186
33186
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33238,7 +33238,7 @@ class PassageEditor extends React__namespace.Component {
33238
33238
  widgetEnabled: false,
33239
33239
  placeholder: "Type passage here...",
33240
33240
  onChange: newProps => {
33241
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33241
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33242
33242
  this.change({
33243
33243
  passageText: newProps.content
33244
33244
  });
@@ -33254,7 +33254,7 @@ class PassageEditor extends React__namespace.Component {
33254
33254
  widgetEnabled: false,
33255
33255
  placeholder: "Type footnotes here...",
33256
33256
  onChange: newProps => {
33257
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33257
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33258
33258
  this.change({
33259
33259
  footnotes: newProps.content
33260
33260
  });
@@ -33273,7 +33273,7 @@ class PassageEditor extends React__namespace.Component {
33273
33273
  type: "text",
33274
33274
  defaultValue: this.props.passageTitle,
33275
33275
  onChange: e => {
33276
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33276
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33277
33277
  this.change({
33278
33278
  passageTitle: e.target.value
33279
33279
  });
@@ -33319,17 +33319,17 @@ class PassageRefEditor extends React__namespace.Component {
33319
33319
  render() {
33320
33320
  return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Passage Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$5, {
33321
33321
  value: this.props.passageNumber
33322
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33322
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33323
33323
  ,
33324
33324
  onChange: this.change("passageNumber")
33325
33325
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Reference Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$5, {
33326
33326
  value: this.props.referenceNumber
33327
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33327
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33328
33328
  ,
33329
33329
  onChange: this.change("referenceNumber")
33330
33330
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Summary Text: ", /*#__PURE__*/React__namespace.createElement(TextInput$2, {
33331
33331
  value: this.props.summaryText
33332
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33332
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33333
33333
  ,
33334
33334
  onChange: this.change("summaryText")
33335
33335
  }), /*#__PURE__*/React__namespace.createElement(InfoTip$6, null, /*#__PURE__*/React__namespace.createElement("p", null, "Short summary of the referenced section. This will be included in parentheses and quotes automatically."), /*#__PURE__*/React__namespace.createElement("p", null, "Ex: The start ... the end")))));
@@ -33360,7 +33360,7 @@ class PassageRefTargetEditor extends React__namespace.Component {
33360
33360
  return perseus.Changeable.change.apply(_this, args);
33361
33361
  });
33362
33362
  _defineProperty(this, "handleContentChange", e => {
33363
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33363
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33364
33364
  this.change({
33365
33365
  content: e.target.value
33366
33366
  });
@@ -33486,7 +33486,7 @@ class PlotterEditor extends React__namespace.Component {
33486
33486
  if (categories) {
33487
33487
  // eslint-disable-next-line react/no-string-refs
33488
33488
  const node = ReactDOM__default["default"].findDOMNode(this.refs.categories);
33489
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33489
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33490
33490
  node.value = categories.join(", ");
33491
33491
  }
33492
33492
  });
@@ -33533,7 +33533,7 @@ class PlotterEditor extends React__namespace.Component {
33533
33533
  starting: ___default["default"].map(this.props.starting, scale)
33534
33534
  });
33535
33535
 
33536
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33536
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33537
33537
  ReactDOM__default["default"].findDOMNode(this.refs.maxY).value = maxY; // eslint-disable-line react/no-string-refs
33538
33538
  });
33539
33539
  _defineProperty(this, "changeMax", e => {
@@ -33570,13 +33570,13 @@ class PlotterEditor extends React__namespace.Component {
33570
33570
  // eslint-disable-next-line react/no-string-refs
33571
33571
  const node = ReactDOM__default["default"].findDOMNode(this.refs.categories);
33572
33572
 
33573
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33573
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33574
33574
  node.value = categories.join(", ");
33575
33575
  });
33576
33576
  _defineProperty(this, "serialize", () => {
33577
33577
  const json = ___default["default"].pick(this.props, "correct", "starting", "type", "labels", "categories", "scaleY", "maxY", "snapsPerLine", "labelInterval");
33578
33578
  if (this.props.type === PIC) {
33579
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'picUrl' does not exist on type 'Pick<Readonly<any> & Readonly<{ children?: ReactNode; }>, "type" | "correct" | "labels" | "categories" | "starting" | "scaleY" | "maxY" | "snapsPerLine" | "labelInterval">'.
33579
+ // @ts-expect-error - TS2339 - Property 'picUrl' does not exist on type 'Pick<Readonly<any> & Readonly<{ children?: ReactNode; }>, "type" | "correct" | "labels" | "categories" | "starting" | "scaleY" | "maxY" | "snapsPerLine" | "labelInterval">'.
33580
33580
  json.picUrl = this.props.picUrl;
33581
33581
  }
33582
33582
  return json;
@@ -33777,7 +33777,7 @@ class RadioEditor extends React__namespace.Component {
33777
33777
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33778
33778
  args[_key] = arguments[_key];
33779
33779
  }
33780
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
33780
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
33781
33781
  return perseus.Changeable.change.apply(_this, args);
33782
33782
  });
33783
33783
  _defineProperty(this, "onMultipleSelectChange", allowMultiple => {
@@ -33864,7 +33864,7 @@ class RadioEditor extends React__namespace.Component {
33864
33864
  hasNoneOfTheAbove: noneOfTheAbove || this.props.hasNoneOfTheAbove
33865
33865
  }, () => {
33866
33866
  // eslint-disable-next-line react/no-string-refs
33867
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33867
+ // @ts-expect-error - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33868
33868
  this.refs["choice-editor".concat(addIndex)].refs["content-editor"].focus();
33869
33869
  });
33870
33870
  });
@@ -33875,7 +33875,7 @@ class RadioEditor extends React__namespace.Component {
33875
33875
  });
33876
33876
  _defineProperty(this, "focus", () => {
33877
33877
  // eslint-disable-next-line react/no-string-refs
33878
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33878
+ // @ts-expect-error - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33879
33879
  this.refs["choice-editor0"].refs["content-editor"].focus();
33880
33880
  return true;
33881
33881
  });
@@ -34016,10 +34016,10 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34016
34016
  });
34017
34017
  _defineProperty(this, "updateMolecule", idx => {
34018
34018
  return function (newValue) {
34019
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34019
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34020
34020
  const newSmiles = [...this.props.smiles];
34021
34021
  newSmiles[idx] = newValue;
34022
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34022
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34023
34023
  this.change({
34024
34024
  smiles: newSmiles
34025
34025
  });
@@ -34027,10 +34027,10 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34027
34027
  });
34028
34028
  _defineProperty(this, "updateRotation", idx => {
34029
34029
  return function (newValue) {
34030
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34030
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34031
34031
  const newRot = [...this.props.rotationAngle];
34032
34032
  newRot[idx] = newValue;
34033
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34033
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34034
34034
  this.change({
34035
34035
  rotationAngle: newRot
34036
34036
  });
@@ -34044,7 +34044,7 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34044
34044
  };
34045
34045
  });
34046
34046
  newSep[idx][propName] = newValue;
34047
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
34047
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
34048
34048
  this.change({
34049
34049
  separators: newSep
34050
34050
  });
@@ -34130,7 +34130,7 @@ class SequenceEditor extends React__namespace.Component {
34130
34130
  return {
34131
34131
  json: ___default["default"].times(this.props.json.length, i => {
34132
34132
  // eslint-disable-next-line react/no-string-refs
34133
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
34133
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
34134
34134
  return this.refs["editor" + i].serialize();
34135
34135
  })
34136
34136
  };
@@ -34255,7 +34255,7 @@ class TextArea extends React__namespace.Component {
34255
34255
  super(...arguments);
34256
34256
  _defineProperty(this, "focus", () => {
34257
34257
  // eslint-disable-next-line react/no-string-refs
34258
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34258
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34259
34259
  this.refs.input.focus();
34260
34260
  return true;
34261
34261
  });
@@ -34287,7 +34287,7 @@ class SimpleMarkdownTesterEditor extends React__namespace.Component {
34287
34287
  });
34288
34288
  _defineProperty(this, "focus", () => {
34289
34289
  // eslint-disable-next-line react/no-string-refs
34290
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34290
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34291
34291
  this.refs.input.focus();
34292
34292
  return true;
34293
34293
  });
@@ -34298,7 +34298,7 @@ class SimpleMarkdownTesterEditor extends React__namespace.Component {
34298
34298
  render() {
34299
34299
  return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, /*#__PURE__*/React__namespace.createElement("div", null, "Simple markdown contents:"), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement(TextArea, {
34300
34300
  value: this.props.value
34301
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
34301
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
34302
34302
  ,
34303
34303
  onChange: this.change("value")
34304
34304
  // eslint-disable-next-line react/no-string-refs
@@ -34329,7 +34329,7 @@ class SimulatorEditor extends React__namespace.Component {
34329
34329
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34330
34330
  args[_key] = arguments[_key];
34331
34331
  }
34332
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
34332
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
34333
34333
  return perseus.Changeable.change.apply(_this, args);
34334
34334
  });
34335
34335
  _defineProperty(this, "handleTargetValueChange", (propName, e) => {
@@ -34426,7 +34426,7 @@ class SorterEditor extends React__namespace.Component {
34426
34426
  layout: this.props.layout
34427
34427
  }), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Layout:", " ", /*#__PURE__*/React__namespace.createElement("select", {
34428
34428
  value: this.props.layout
34429
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
34429
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
34430
34430
  ,
34431
34431
  onChange: this.onLayoutChange
34432
34432
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -34461,7 +34461,7 @@ class TableEditor extends React__namespace.Component {
34461
34461
  constructor() {
34462
34462
  super(...arguments);
34463
34463
  _defineProperty(this, "focus", () => {
34464
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
34464
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
34465
34465
  ReactDOM__default["default"].findDOMNode(this.refs.numberOfColumns).focus(); // eslint-disable-line react/no-string-refs
34466
34466
  });
34467
34467
  _defineProperty(this, "onSizeInput", (numRawRows, numRawColumns) => {
@@ -35057,7 +35057,7 @@ const ShapeTypes = {
35057
35057
  const coord0 = points[0].coord || points[0];
35058
35058
  const coord1 = points[1].coord || points[1];
35059
35059
  const radius = kmath.point.distanceToPoint(coord0, coord1);
35060
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 1 arguments, but got 0.
35060
+ // @ts-expect-error - TS2554 - Expected 1 arguments, but got 0.
35061
35061
  perimeter.remove();
35062
35062
  perimeter = graphie.circle(coord0, radius, ___default["default"].extend({
35063
35063
  stroke: perseus.KhanColors.DYNAMIC,
@@ -35073,7 +35073,7 @@ const ShapeTypes = {
35073
35073
  remove: function () {
35074
35074
  // Not _.bind because the remove function changes
35075
35075
  // when the perimeter is redrawn
35076
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 1 arguments, but got 0.
35076
+ // @ts-expect-error - TS2554 - Expected 1 arguments, but got 0.
35077
35077
  perimeter.remove();
35078
35078
  }
35079
35079
  };
@@ -35112,10 +35112,10 @@ const ShapeTypes = {
35112
35112
  const line2_0 = [points2[1], points2[0]];
35113
35113
  const line2_2 = [points2[1], points2[2]];
35114
35114
  const equalUnflipped =
35115
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'. | TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'.
35115
+ // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'. | TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'.
35116
35116
  kmath.ray.equal(line1_0, line2_0) && kmath.ray.equal(line1_2, line2_2);
35117
35117
  const equalFlipped =
35118
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'. | TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'.
35118
+ // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'. | TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'.
35119
35119
  kmath.ray.equal(line1_0, line2_2) && kmath.ray.equal(line1_2, line2_0);
35120
35120
  return equalUnflipped || equalFlipped;
35121
35121
  },
@@ -35151,7 +35151,7 @@ class TransformationsShapeEditor extends React__namespace.Component {
35151
35151
  const pointCount = arraySum(___default["default"].map(types, ShapeTypes.getPointCountForType));
35152
35152
 
35153
35153
  // eslint-disable-next-line react/no-string-refs
35154
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'props' does not exist on type 'ReactInstance'.
35154
+ // @ts-expect-error - TS2339 - Property 'props' does not exist on type 'ReactInstance'.
35155
35155
  const radius = scaleToRange(4, this.refs.graph.props.range);
35156
35156
  const offset = (1 / 2 - 1 / pointCount) * 180;
35157
35157
  const coords = ___default["default"].times(pointCount, function (i) {
@@ -35167,12 +35167,12 @@ class TransformationsShapeEditor extends React__namespace.Component {
35167
35167
  });
35168
35168
  _defineProperty(this, "updateCoords", () => {
35169
35169
  this.props.onChange({
35170
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35170
+ // @ts-expect-error - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35171
35171
  shape: this.shape.toJSON()
35172
35172
  });
35173
35173
  });
35174
35174
  _defineProperty(this, "setupGraphie", graphie => {
35175
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35175
+ // @ts-expect-error - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35176
35176
  this.shape = ShapeTypes.addMovableShape(graphie, {
35177
35177
  editable: true,
35178
35178
  snap: graphie.snap,
@@ -35225,13 +35225,13 @@ class TransformationsShapeEditor extends React__namespace.Component {
35225
35225
 
35226
35226
  componentDidMount() {
35227
35227
  // eslint-disable-next-line react/no-string-refs
35228
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'graphie' does not exist on type 'ReactInstance'.
35228
+ // @ts-expect-error - TS2339 - Property 'graphie' does not exist on type 'ReactInstance'.
35229
35229
  this.setupGraphie(this.refs.graph.graphie());
35230
35230
  }
35231
35231
  componentDidUpdate(prevProps) {
35232
35232
  if (!deepEq(prevProps.shape, this.props.shape)) {
35233
35233
  // eslint-disable-next-line react/no-string-refs
35234
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'reset' does not exist on type 'ReactInstance'.
35234
+ // @ts-expect-error - TS2339 - Property 'reset' does not exist on type 'ReactInstance'.
35235
35235
  this.refs.graph.reset();
35236
35236
  }
35237
35237
  }
@@ -35263,7 +35263,7 @@ class TransformerEditor extends React__namespace.Component {
35263
35263
  });
35264
35264
  _defineProperty(this, "serialize", () => {
35265
35265
  // eslint-disable-next-line react/no-string-refs
35266
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getEditorJSON' does not exist on type 'ReactInstance'.
35266
+ // @ts-expect-error - TS2339 - Property 'getEditorJSON' does not exist on type 'ReactInstance'.
35267
35267
  const json = this.refs.explorer.getEditorJSON();
35268
35268
  json.correct = json.answer;
35269
35269
  delete json.answer;
@@ -35405,7 +35405,7 @@ class UnitExample extends React__namespace.Component {
35405
35405
  }
35406
35406
  // TODO(jangmi, CP-3288): Remove usage of `UNSAFE_componentWillMount`
35407
35407
  UNSAFE_componentWillMount() {
35408
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'Readonly<any> & Readonly<{ children?: ReactNode; }>' is not assignable to parameter of type '{ name: any; original: any; sigfigs: any; }'.
35408
+ // @ts-expect-error - TS2345 - Argument of type 'Readonly<any> & Readonly<{ children?: ReactNode; }>' is not assignable to parameter of type '{ name: any; original: any; sigfigs: any; }'.
35409
35409
  this._checkValidity(this.props);
35410
35410
  }
35411
35411
  UNSAFE_componentWillReceiveProps(nextProps) {
@@ -35441,13 +35441,13 @@ class UnitInputEditor extends React__namespace.Component {
35441
35441
  });
35442
35442
  _defineProperty(this, "handleAcceptingUnitsChange", event => {
35443
35443
  const acceptingUnits = event.target.value.split(",").map(str => str.trim()).filter(str => str !== "");
35444
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35444
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35445
35445
  this.change({
35446
35446
  acceptingUnits
35447
35447
  });
35448
35448
  });
35449
35449
  _defineProperty(this, "handleSigfigChange", sigfigs => {
35450
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35450
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35451
35451
  this.change({
35452
35452
  sigfigs
35453
35453
  });
@@ -35456,7 +35456,7 @@ class UnitInputEditor extends React__namespace.Component {
35456
35456
  return sigfigs > 0 && sigfigs <= MAX_SIGFIGS;
35457
35457
  });
35458
35458
  _defineProperty(this, "_setAccepting", val => {
35459
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35459
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35460
35460
  this.change({
35461
35461
  accepting: val
35462
35462
  });
@@ -35517,7 +35517,7 @@ class UnitInputEditor extends React__namespace.Component {
35517
35517
  key: i
35518
35518
  }));
35519
35519
 
35520
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
35520
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
35521
35521
  acceptingElem = /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("input", {
35522
35522
  type: "text",
35523
35523
  defaultValue: acceptingUnits.join(", "),
@@ -35632,7 +35632,7 @@ class TextInput extends React__namespace.Component {
35632
35632
  super(...arguments);
35633
35633
  _defineProperty(this, "focus", () => {
35634
35634
  // eslint-disable-next-line react/no-string-refs
35635
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35635
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35636
35636
  this.refs.input.focus();
35637
35637
  return true;
35638
35638
  });
@@ -35673,7 +35673,7 @@ class ExampleWidget extends React__namespace.Component {
35673
35673
  });
35674
35674
  _defineProperty(this, "focus", () => {
35675
35675
  // eslint-disable-next-line react/no-string-refs
35676
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35676
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35677
35677
  this.refs.input.focus();
35678
35678
  return true;
35679
35679
  });
@@ -35721,7 +35721,7 @@ class ExampleWidget extends React__namespace.Component {
35721
35721
  , {
35722
35722
  ref: "input",
35723
35723
  value: this.props.value
35724
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35724
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35725
35725
  ,
35726
35726
  onChange: this.change("value")
35727
35727
  });
@@ -35767,7 +35767,7 @@ class SimpleMarkdownTester extends React__namespace.Component {
35767
35767
  });
35768
35768
  _defineProperty(this, "focus", () => {
35769
35769
  // eslint-disable-next-line react/no-string-refs
35770
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35770
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35771
35771
  this.refs.input.focus();
35772
35772
  return true;
35773
35773
  });
@@ -35792,7 +35792,7 @@ class SimpleMarkdownTester extends React__namespace.Component {
35792
35792
  };
35793
35793
  }
35794
35794
  render() {
35795
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 2 arguments, but got 1.
35795
+ // @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
35796
35796
  const parsed = mdParse(this.props.value);
35797
35797
  const output = mdOutput(parsed);
35798
35798
  return /*#__PURE__*/React__namespace.createElement("div", null, output);