@khanacademy/perseus-editor 2.6.1 → 2.6.3

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 +24 -0
  2. package/dist/article-editor.d.ts +1 -2
  3. package/dist/components/form-wrapped-text-field.d.ts +1 -10
  4. package/dist/components/graph-points-count-selector.d.ts +1 -1
  5. package/dist/es/index.js +373 -364
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/index.js +375 -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 +140 -139
  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 +17 -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
@@ -25429,6 +25429,15 @@ class MultiRendererEditor extends React__namespace.Component {
25429
25429
  item: item,
25430
25430
  shape: itemShape,
25431
25431
  apiOptions: apiOptions
25432
+ // Today, with analytics being the only thing in
25433
+ // dependencies, we send in a dummy function as we don't
25434
+ // want to gather analytics events from within the editor.
25435
+ ,
25436
+ dependencies: {
25437
+ analytics: {
25438
+ onAnalyticsEvent: async () => {}
25439
+ }
25440
+ }
25432
25441
  }, _ref4 => {
25433
25442
  let {
25434
25443
  renderers
@@ -25445,19 +25454,19 @@ class MultiRendererEditor extends React__namespace.Component {
25445
25454
  });
25446
25455
  _defineProperty(this, "score", () => {
25447
25456
  if (this.layout) {
25448
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25457
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25449
25458
  return this.layout.score();
25450
25459
  }
25451
25460
  });
25452
25461
  _defineProperty(this, "getSerializedState", () => {
25453
25462
  if (this.layout) {
25454
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25463
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25455
25464
  return this.layout.getSerializedState();
25456
25465
  }
25457
25466
  });
25458
25467
  _defineProperty(this, "restoreSerializedState", state => {
25459
25468
  if (this.layout) {
25460
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25469
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25461
25470
  this.layout.restoreSerializedState(state);
25462
25471
  }
25463
25472
  });
@@ -25789,14 +25798,14 @@ class CategorizerEditor extends React__namespace.Component {
25789
25798
  })), "Categories:", /*#__PURE__*/React__namespace.createElement(TextListEditor$4, {
25790
25799
  options: this.props.categories,
25791
25800
  onChange: cat => {
25792
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
25801
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
25793
25802
  this.change("categories", cat);
25794
25803
  },
25795
25804
  layout: "horizontal"
25796
25805
  }), "Items:", /*#__PURE__*/React__namespace.createElement(TextListEditor$4, {
25797
25806
  options: this.props.items,
25798
25807
  onChange: items => {
25799
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
25808
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
25800
25809
  this.change({
25801
25810
  items: items,
25802
25811
  // TODO(eater): This truncates props.values so there
@@ -26012,7 +26021,7 @@ class CSProgramEditor extends React__namespace.Component {
26012
26021
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
26013
26022
  args[_key3] = arguments[_key3];
26014
26023
  }
26015
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
26024
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
26016
26025
  return perseus.Changeable.change.apply(_this3, args);
26017
26026
  });
26018
26027
  _defineProperty(this, "_handleSettingsChange", settings => {
@@ -26038,7 +26047,7 @@ class CSProgramEditor extends React__namespace.Component {
26038
26047
  });
26039
26048
  }).fail((jqxhr, textStatus, error) => {
26040
26049
  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'.
26050
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'Error | null | undefined'.
26042
26051
  cause: error,
26043
26052
  loggedMetadata: {
26044
26053
  textStatus,
@@ -26121,7 +26130,7 @@ class DefinitionEditor extends React__namespace.Component {
26121
26130
  className: "perseus-widget-row"
26122
26131
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Word to be defined:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$8, {
26123
26132
  value: this.props.togglePrompt
26124
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26133
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26125
26134
  ,
26126
26135
  onChange: this.change("togglePrompt"),
26127
26136
  placeholder: "define me"
@@ -26137,7 +26146,7 @@ class DefinitionEditor extends React__namespace.Component {
26137
26146
  if (___default["default"].has(props, "content")) {
26138
26147
  newProps.definition = props.content;
26139
26148
  }
26140
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26149
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26141
26150
  this.change(newProps);
26142
26151
  }
26143
26152
  })));
@@ -26211,7 +26220,7 @@ class DropdownEditor extends React__namespace.Component {
26211
26220
  });
26212
26221
  });
26213
26222
  _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'.
26223
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
26215
26224
  ReactDOM__default["default"].findDOMNode(this.refs["editor" + i]).focus(); // eslint-disable-line react/no-string-refs
26216
26225
  return true;
26217
26226
  });
@@ -26244,24 +26253,24 @@ class DropdownEditor extends React__namespace.Component {
26244
26253
  ref: "radio" + i,
26245
26254
  type: "radio",
26246
26255
  name: dropdownGroupName
26247
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'boolean | undefined'.
26256
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'boolean | undefined'.
26248
26257
  ,
26249
26258
  checked: choice.correct ? "checked" : ""
26250
26259
  // 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.
26260
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26252
26261
  ,
26253
26262
  onChange: this.onCorrectChange.bind(
26254
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26263
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26255
26264
  this, i),
26256
26265
  value: i
26257
26266
  }), /*#__PURE__*/React__namespace.createElement("input", {
26258
26267
  type: "text",
26259
26268
  ref: "editor" + i
26260
26269
  // 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.
26270
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26262
26271
  ,
26263
26272
  onChange: this.onContentChange.bind(
26264
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26273
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26265
26274
  this, i),
26266
26275
  className: checkedClass,
26267
26276
  value: choice.content
@@ -26269,10 +26278,10 @@ class DropdownEditor extends React__namespace.Component {
26269
26278
  href: "#",
26270
26279
  className: "simple-button orange"
26271
26280
  // 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.
26281
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26273
26282
  ,
26274
26283
  onClick: this.removeChoice.bind(
26275
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26284
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26276
26285
  this, i)
26277
26286
  }, /*#__PURE__*/React__namespace.createElement("span", {
26278
26287
  className: "remove-choice"
@@ -26306,7 +26315,7 @@ const {
26306
26315
  Graphie
26307
26316
  } = perseus.components;
26308
26317
 
26309
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
26318
+ // @ts-expect-error - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
26310
26319
  const MovablePoint = Graphie.MovablePoint;
26311
26320
  /**
26312
26321
  * This is the widget's renderer. It shows up in the right column
@@ -26328,7 +26337,7 @@ class ExampleGraphieWidget$1 extends React__namespace.Component {
26328
26337
  return perseus.Changeable.change.apply(_this, args);
26329
26338
  });
26330
26339
  _defineProperty(this, "movePoint", newCoord => {
26331
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26340
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26332
26341
  this.change({
26333
26342
  coord: newCoord
26334
26343
  });
@@ -26454,7 +26463,7 @@ class ExampleGraphieWidgetEditor extends React__namespace.Component {
26454
26463
  });
26455
26464
  _defineProperty(this, "handleChange", newProps => {
26456
26465
  if (newProps.coord) {
26457
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26466
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26458
26467
  this.change({
26459
26468
  correct: newProps.coord
26460
26469
  });
@@ -26502,7 +26511,7 @@ class ExampleWidgetEditor extends React__namespace.Component {
26502
26511
  super(...arguments);
26503
26512
  _this = this;
26504
26513
  _defineProperty(this, "handleAnswerChange", event => {
26505
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26514
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26506
26515
  this.change({
26507
26516
  correct: event.target.value
26508
26517
  });
@@ -26515,7 +26524,7 @@ class ExampleWidgetEditor extends React__namespace.Component {
26515
26524
  });
26516
26525
  _defineProperty(this, "focus", () => {
26517
26526
  // eslint-disable-next-line react/no-string-refs
26518
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
26527
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
26519
26528
  this.refs.input.focus();
26520
26529
  return true;
26521
26530
  });
@@ -26573,14 +26582,14 @@ class ExplanationEditor extends React__namespace.Component {
26573
26582
  className: "perseus-widget-row"
26574
26583
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to show explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$7, {
26575
26584
  value: this.props.showPrompt
26576
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26585
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26577
26586
  ,
26578
26587
  onChange: this.change("showPrompt")
26579
26588
  }))), /*#__PURE__*/React__namespace.createElement("div", {
26580
26589
  className: "perseus-widget-row"
26581
26590
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to hide explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$7, {
26582
26591
  value: this.props.hidePrompt
26583
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26592
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26584
26593
  ,
26585
26594
  onChange: this.change("hidePrompt")
26586
26595
  }))), /*#__PURE__*/React__namespace.createElement("div", {
@@ -26599,7 +26608,7 @@ class ExplanationEditor extends React__namespace.Component {
26599
26608
  if (___default["default"].has(props, "widgets")) {
26600
26609
  newProps.widgets = props.widgets;
26601
26610
  }
26602
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26611
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26603
26612
  this.change(newProps);
26604
26613
  }
26605
26614
  })));
@@ -26699,7 +26708,7 @@ const SortableArea = createReactClass__default["default"]({
26699
26708
  _setDragEvents: function () {
26700
26709
  this._dragItems = this._dragItems || [];
26701
26710
  const items =
26702
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'
26711
+ // @ts-expect-error - TS2531 - Object is possibly 'null'
26703
26712
  ReactDOM__default["default"].findDOMNode(this).querySelectorAll("[draggable=true]");
26704
26713
  const oldItems = [];
26705
26714
  const newItems = [];
@@ -26898,7 +26907,7 @@ class ExpressionEditor extends React__namespace.Component {
26898
26907
  _defineProperty(this, "newAnswer", () => {
26899
26908
  const answerForms = this.props.answerForms.slice();
26900
26909
  answerForms.push(this._newEmptyAnswerForm());
26901
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26910
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26902
26911
  this.change({
26903
26912
  answerForms
26904
26913
  });
@@ -26906,7 +26915,7 @@ class ExpressionEditor extends React__namespace.Component {
26906
26915
  _defineProperty(this, "handleRemoveForm", i => {
26907
26916
  const answerForms = this.props.answerForms.slice();
26908
26917
  answerForms.splice(i, 1);
26909
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26918
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26910
26919
  this.change({
26911
26920
  answerForms
26912
26921
  });
@@ -26914,7 +26923,7 @@ class ExpressionEditor extends React__namespace.Component {
26914
26923
  _defineProperty(this, "updateForm", (i, props) => {
26915
26924
  const answerForms = lens(this.props.answerForms).merge([i], props).freeze();
26916
26925
 
26917
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26926
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26918
26927
  this.change({
26919
26928
  answerForms
26920
26929
  });
@@ -26922,12 +26931,12 @@ class ExpressionEditor extends React__namespace.Component {
26922
26931
  _defineProperty(this, "handleReorder", components => {
26923
26932
  const answerForms = ___default["default"](components).map(component => {
26924
26933
  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">'.
26934
+ // @ts-expect-error - TS2339 - Property 'key' does not exist on type 'Pick<any, "form" | "value" | "simplify" | "considered">'.
26926
26935
  form.key = component.key;
26927
26936
  return form;
26928
26937
  });
26929
26938
 
26930
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26939
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26931
26940
  this.change({
26932
26941
  answerForms
26933
26942
  });
@@ -26959,12 +26968,12 @@ class ExpressionEditor extends React__namespace.Component {
26959
26968
  }
26960
26969
  const buttonSets = ___default["default"](this.props.buttonSets).reject(set => set === remove).concat(keep);
26961
26970
 
26962
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
26971
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
26963
26972
  this.change("buttonSets", buttonSets);
26964
26973
  });
26965
26974
  _defineProperty(this, "handleTexInsert", str => {
26966
26975
  // eslint-disable-next-line react/no-string-refs
26967
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
26976
+ // @ts-expect-error - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
26968
26977
  this.refs.expression.insert(str);
26969
26978
  });
26970
26979
  _defineProperty(this, "handleFunctions", e => {
@@ -27148,7 +27157,7 @@ class AnswerOption extends React__namespace.Component {
27148
27157
  render() {
27149
27158
  let removeButton = null;
27150
27159
  if (this.state.deleteFocused) {
27151
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
27160
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
27152
27161
  removeButton = /*#__PURE__*/React__namespace.createElement("button", {
27153
27162
  type: "button",
27154
27163
  className: "simple-button orange",
@@ -27156,7 +27165,7 @@ class AnswerOption extends React__namespace.Component {
27156
27165
  onBlur: this.handleDeleteBlur
27157
27166
  }, "I'm sure!");
27158
27167
  } else {
27159
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
27168
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
27160
27169
  removeButton = /*#__PURE__*/React__namespace.createElement("button", {
27161
27170
  type: "button",
27162
27171
  className: "simple-button orange",
@@ -27234,7 +27243,7 @@ class GradedGroupEditor extends React__namespace.Component {
27234
27243
  hint
27235
27244
  }, () => {
27236
27245
  // eslint-disable-next-line react/no-string-refs
27237
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
27246
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
27238
27247
  this.refs["hint-editor"].focus();
27239
27248
  });
27240
27249
  });
@@ -27245,20 +27254,20 @@ class GradedGroupEditor extends React__namespace.Component {
27245
27254
  });
27246
27255
  _defineProperty(this, "getSaveWarnings", () => {
27247
27256
  // eslint-disable-next-line react/no-string-refs
27248
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
27257
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
27249
27258
  return this.refs.editor.getSaveWarnings();
27250
27259
  });
27251
27260
  _defineProperty(this, "serialize", () => {
27252
27261
  return {
27253
27262
  title: this.props.title,
27254
27263
  // eslint-disable-next-line react/no-string-refs
27255
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27264
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27256
27265
  ...this.refs.editor.serialize(),
27257
27266
  hint:
27258
27267
  // eslint-disable-next-line react/no-string-refs
27259
27268
  this.refs["hint-editor"] &&
27260
27269
  // eslint-disable-next-line react/no-string-refs
27261
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27270
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27262
27271
  this.refs["hint-editor"].serialize()
27263
27272
  };
27264
27273
  });
@@ -27273,7 +27282,7 @@ class GradedGroupEditor extends React__namespace.Component {
27273
27282
  }, "Title:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$6, {
27274
27283
  value: this.props.title,
27275
27284
  className: aphrodite.css(styles$a.input)
27276
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
27285
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
27277
27286
  ,
27278
27287
  onChange: this.change("title")
27279
27288
  }))), /*#__PURE__*/React__namespace.createElement(Editor
@@ -27313,7 +27322,7 @@ class GradedGroupEditor extends React__namespace.Component {
27313
27322
  onChange: props => {
27314
27323
  // Copy all props over from the existing hint
27315
27324
  // and then add new props.
27316
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27325
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27317
27326
  this.change("hint", Object.assign({}, this.props.hint, props));
27318
27327
  }
27319
27328
  }), /*#__PURE__*/React__namespace.createElement("button", {
@@ -27386,7 +27395,7 @@ class GradedGroupSetEditor extends React__namespace.Component {
27386
27395
  widgetEnabled: true,
27387
27396
  immutableWidgets: false,
27388
27397
  onChange: data =>
27389
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27398
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27390
27399
  this.change("gradedGroups", setArrayItem(this.props.gradedGroups, i, {
27391
27400
  ...this.props.gradedGroups[i],
27392
27401
  ...data
@@ -27395,7 +27404,7 @@ class GradedGroupSetEditor extends React__namespace.Component {
27395
27404
  });
27396
27405
  _defineProperty(this, "addGroup", () => {
27397
27406
  const groups = this.props.gradedGroups || [];
27398
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27407
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27399
27408
  this.change("gradedGroups", groups.concat([GradedGroupEditor.defaultProps]));
27400
27409
  });
27401
27410
  }
@@ -27542,7 +27551,7 @@ const GraphSettings = createReactClass__default["default"]({
27542
27551
  }, this.changeGraph);
27543
27552
  };
27544
27553
 
27545
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
27554
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
27546
27555
  const url = ReactDOM__default["default"].findDOMNode(this.refs["bg-url"]).value; // eslint-disable-line react/no-string-refs
27547
27556
  if (url) {
27548
27557
  perseus.Util.getImageSize(url, (width, height) => {
@@ -27975,7 +27984,7 @@ class GrapherEditor extends React__namespace.Component {
27975
27984
  // NOTE(jeremy): This editor doesn't pass in a bunch of
27976
27985
  // standard props that the Renderer provides normally (eg.
27977
27986
  // alignment, findWidgets, etc).
27978
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
27987
+ // @ts-expect-error - TS2769 - No overload matches this call.
27979
27988
  React__namespace.createElement(Grapher, _extends({}, graphProps, {
27980
27989
  apiOptions: this.props.apiOptions,
27981
27990
  containerSizeClass: sizeClass
@@ -28000,7 +28009,7 @@ class GrapherEditor extends React__namespace.Component {
28000
28009
  rulerLabel: this.props.graph.rulerLabel,
28001
28010
  rulerTicks: this.props.graph.rulerTicks,
28002
28011
  showTooltips: this.props.graph.showTooltips
28003
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28012
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28004
28013
  ,
28005
28014
  onChange: this.change("graph")
28006
28015
  }), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28032,7 +28041,7 @@ class GroupEditor extends React__namespace.Component {
28032
28041
  const GroupMetadataEditor = this.props.apiOptions.GroupMetadataEditor;
28033
28042
  return /*#__PURE__*/React__namespace.createElement(GroupMetadataEditor, {
28034
28043
  value: this.props.metadata
28035
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28044
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28036
28045
  ,
28037
28046
  onChange: this.change("metadata")
28038
28047
  });
@@ -28045,12 +28054,12 @@ class GroupEditor extends React__namespace.Component {
28045
28054
  });
28046
28055
  _defineProperty(this, "getSaveWarnings", () => {
28047
28056
  // eslint-disable-next-line react/no-string-refs
28048
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
28057
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
28049
28058
  return this.refs.editor.getSaveWarnings();
28050
28059
  });
28051
28060
  _defineProperty(this, "serialize", () => {
28052
28061
  // eslint-disable-next-line react/no-string-refs
28053
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
28062
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
28054
28063
  return ___default["default"].extend({}, this.refs.editor.serialize(), {
28055
28064
  metadata: this.props.metadata
28056
28065
  });
@@ -28198,7 +28207,7 @@ class IframeEditor extends React__namespace.Component {
28198
28207
  return perseus.Changeable.change.apply(_this3, args);
28199
28208
  });
28200
28209
  _defineProperty(this, "handleSettingsChange", settings => {
28201
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28210
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28202
28211
  this.change({
28203
28212
  settings: settings.pairs
28204
28213
  });
@@ -28215,7 +28224,7 @@ class IframeEditor extends React__namespace.Component {
28215
28224
  }
28216
28225
  }, "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
28226
  value: this.props.url
28218
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28227
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28219
28228
  ,
28220
28229
  onChange: this.change("url")
28221
28230
  })), /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("label", null, "Settings:", /*#__PURE__*/React__namespace.createElement(PairsEditor, {
@@ -28224,12 +28233,12 @@ class IframeEditor extends React__namespace.Component {
28224
28233
  onChange: this.handleSettingsChange
28225
28234
  })), /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("label", null, "Width:", /*#__PURE__*/React__namespace.createElement(BlurInput, {
28226
28235
  value: this.props.width
28227
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28236
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28228
28237
  ,
28229
28238
  onChange: this.change("width")
28230
28239
  })), /*#__PURE__*/React__namespace.createElement("label", null, "Height:", /*#__PURE__*/React__namespace.createElement(BlurInput, {
28231
28240
  value: this.props.height
28232
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28241
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28233
28242
  ,
28234
28243
  onChange: this.change("height")
28235
28244
  })), /*#__PURE__*/React__namespace.createElement(PropCheckBox$9, {
@@ -28550,7 +28559,7 @@ class InputNumberEditor extends React__namespace.Component {
28550
28559
  });
28551
28560
  });
28552
28561
  _defineProperty(this, "focus", () => {
28553
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
28562
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
28554
28563
  ReactDOM__default["default"].findDOMNode(this.refs.input).focus(); // eslint-disable-line react/no-string-refs
28555
28564
  return true;
28556
28565
  });
@@ -28581,7 +28590,7 @@ class InputNumberEditor extends React__namespace.Component {
28581
28590
  value: this.props.simplify,
28582
28591
  onChange: e => {
28583
28592
  this.props.onChange({
28584
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"optional" | "required" | "enforced" | undefined'.
28593
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"optional" | "required" | "enforced" | undefined'.
28585
28594
  simplify: e.target.value
28586
28595
  });
28587
28596
  }
@@ -28620,7 +28629,7 @@ class InputNumberEditor extends React__namespace.Component {
28620
28629
  }))), /*#__PURE__*/React__namespace.createElement("div", null, "Answer type:", " ", /*#__PURE__*/React__namespace.createElement("select", {
28621
28630
  value: this.props.answerType,
28622
28631
  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'.
28632
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"number" | "integer" | "mixed" | "decimal" | "improper" | "percent" | "pi" | "rational" | undefined'.
28624
28633
  this.props.onChange({
28625
28634
  answerType: e.target.value
28626
28635
  });
@@ -28628,7 +28637,7 @@ class InputNumberEditor extends React__namespace.Component {
28628
28637
  }, 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
28638
  value: this.props.size,
28630
28639
  onChange: e => {
28631
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"small" | "normal" | undefined'.
28640
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"small" | "normal" | undefined'.
28632
28641
  this.props.onChange({
28633
28642
  size: e.target.value
28634
28643
  });
@@ -28813,21 +28822,21 @@ class PointEditor extends React__namespace.Component {
28813
28822
  buttonSets: [],
28814
28823
  buttonsVisible: "never",
28815
28824
  value: this.props.coordX
28816
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28825
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28817
28826
  ,
28818
28827
  onChange: this.change("coordX")
28819
28828
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28820
28829
  buttonSets: [],
28821
28830
  buttonsVisible: "never",
28822
28831
  value: this.props.coordY
28823
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28832
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28824
28833
  ,
28825
28834
  onChange: this.change("coordY")
28826
28835
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
28827
28836
  className: "perseus-widget-row"
28828
28837
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
28829
28838
  value: this.props.color
28830
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28839
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28831
28840
  ,
28832
28841
  onChange: this.change("color")
28833
28842
  })));
@@ -28876,14 +28885,14 @@ class LineEditor extends React__namespace.Component {
28876
28885
  buttonSets: [],
28877
28886
  buttonsVisible: "never",
28878
28887
  value: this.props.startX
28879
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28888
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28880
28889
  ,
28881
28890
  onChange: this.change("startX")
28882
28891
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28883
28892
  buttonSets: [],
28884
28893
  buttonsVisible: "never",
28885
28894
  value: this.props.startY
28886
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28895
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28887
28896
  ,
28888
28897
  onChange: this.change("startY")
28889
28898
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28892,33 +28901,33 @@ class LineEditor extends React__namespace.Component {
28892
28901
  buttonSets: [],
28893
28902
  buttonsVisible: "never",
28894
28903
  value: this.props.endX
28895
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28904
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28896
28905
  ,
28897
28906
  onChange: this.change("endX")
28898
28907
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28899
28908
  buttonSets: [],
28900
28909
  buttonsVisible: "never",
28901
28910
  value: this.props.endY
28902
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28911
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28903
28912
  ,
28904
28913
  onChange: this.change("endY")
28905
28914
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
28906
28915
  className: "perseus-widget-row"
28907
28916
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
28908
28917
  value: this.props.color
28909
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28918
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28910
28919
  ,
28911
28920
  onChange: this.change("color")
28912
28921
  })), /*#__PURE__*/React__namespace.createElement("div", {
28913
28922
  className: "perseus-widget-row"
28914
28923
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
28915
28924
  value: this.props.strokeDasharray
28916
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28925
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28917
28926
  ,
28918
28927
  onChange: this.change("strokeDasharray")
28919
28928
  }), "\xA0 \xA0", /*#__PURE__*/React__namespace.createElement(perseus.ArrowPicker, {
28920
28929
  value: this.props.arrows
28921
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28930
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28922
28931
  ,
28923
28932
  onChange: this.change("arrows")
28924
28933
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28928,7 +28937,7 @@ class LineEditor extends React__namespace.Component {
28928
28937
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
28929
28938
  value: this.props.strokeWidth,
28930
28939
  placeholder: 2
28931
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28940
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28932
28941
  ,
28933
28942
  onChange: this.change("strokeWidth")
28934
28943
  }))));
@@ -29145,7 +29154,7 @@ class FunctionEditor extends React__namespace.Component {
29145
29154
  buttonSets: [],
29146
29155
  buttonsVisible: "never",
29147
29156
  value: this.props.value
29148
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29157
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29149
29158
  ,
29150
29159
  onChange: this.change("value")
29151
29160
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29154,28 +29163,28 @@ class FunctionEditor extends React__namespace.Component {
29154
29163
  buttonSets: [],
29155
29164
  buttonsVisible: "never",
29156
29165
  value: this.props.rangeMin
29157
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29166
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29158
29167
  ,
29159
29168
  onChange: this.change("rangeMin")
29160
29169
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29161
29170
  buttonSets: [],
29162
29171
  buttonsVisible: "never",
29163
29172
  value: this.props.rangeMax
29164
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29173
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29165
29174
  ,
29166
29175
  onChange: this.change("rangeMax")
29167
29176
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29168
29177
  className: "perseus-widget-row"
29169
29178
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29170
29179
  value: this.props.color
29171
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29180
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29172
29181
  ,
29173
29182
  onChange: this.change("color")
29174
29183
  })), /*#__PURE__*/React__namespace.createElement("div", {
29175
29184
  className: "perseus-widget-row"
29176
29185
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
29177
29186
  value: this.props.strokeDasharray
29178
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29187
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29179
29188
  ,
29180
29189
  onChange: this.change("strokeDasharray")
29181
29190
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29185,7 +29194,7 @@ class FunctionEditor extends React__namespace.Component {
29185
29194
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
29186
29195
  value: this.props.strokeWidth,
29187
29196
  placeholder: 2
29188
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29197
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29189
29198
  ,
29190
29199
  onChange: this.change("strokeWidth")
29191
29200
  }))));
@@ -29240,7 +29249,7 @@ class ParametricEditor extends React__namespace.Component {
29240
29249
  buttonSets: [],
29241
29250
  buttonsVisible: "never",
29242
29251
  value: this.props.x
29243
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29252
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29244
29253
  ,
29245
29254
  onChange: this.change("x")
29246
29255
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29249,7 +29258,7 @@ class ParametricEditor extends React__namespace.Component {
29249
29258
  buttonSets: [],
29250
29259
  buttonsVisible: "never",
29251
29260
  value: this.props.y
29252
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29261
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29253
29262
  ,
29254
29263
  onChange: this.change("y")
29255
29264
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29258,28 +29267,28 @@ class ParametricEditor extends React__namespace.Component {
29258
29267
  buttonSets: [],
29259
29268
  buttonsVisible: "never",
29260
29269
  value: this.props.rangeMin
29261
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29270
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29262
29271
  ,
29263
29272
  onChange: this.change("rangeMin")
29264
29273
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29265
29274
  buttonSets: [],
29266
29275
  buttonsVisible: "never",
29267
29276
  value: this.props.rangeMax
29268
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29277
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29269
29278
  ,
29270
29279
  onChange: this.change("rangeMax")
29271
29280
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29272
29281
  className: "perseus-widget-row"
29273
29282
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29274
29283
  value: this.props.color
29275
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29284
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29276
29285
  ,
29277
29286
  onChange: this.change("color")
29278
29287
  })), /*#__PURE__*/React__namespace.createElement("div", {
29279
29288
  className: "perseus-widget-row"
29280
29289
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
29281
29290
  value: this.props.strokeDasharray
29282
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29291
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29283
29292
  ,
29284
29293
  onChange: this.change("strokeDasharray")
29285
29294
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29289,7 +29298,7 @@ class ParametricEditor extends React__namespace.Component {
29289
29298
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
29290
29299
  value: this.props.strokeWidth,
29291
29300
  placeholder: 2
29292
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29301
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29293
29302
  ,
29294
29303
  onChange: this.change("strokeWidth")
29295
29304
  }))));
@@ -29345,7 +29354,7 @@ class LabelEditor extends React__namespace.Component {
29345
29354
  className: "perseus-widget-row"
29346
29355
  }, /*#__PURE__*/React__namespace.createElement(TextInput$5, {
29347
29356
  value: this.props.label
29348
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29357
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29349
29358
  ,
29350
29359
  onChange: this.change("label"),
29351
29360
  style: {
@@ -29357,21 +29366,21 @@ class LabelEditor extends React__namespace.Component {
29357
29366
  buttonSets: [],
29358
29367
  buttonsVisible: "never",
29359
29368
  value: this.props.coordX
29360
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29369
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29361
29370
  ,
29362
29371
  onChange: this.change("coordX")
29363
29372
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29364
29373
  buttonSets: [],
29365
29374
  buttonsVisible: "never",
29366
29375
  value: this.props.coordY
29367
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29376
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29368
29377
  ,
29369
29378
  onChange: this.change("coordY")
29370
29379
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29371
29380
  className: "perseus-widget-row"
29372
29381
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29373
29382
  value: this.props.color
29374
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29383
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29375
29384
  ,
29376
29385
  onChange: this.change("color")
29377
29386
  })));
@@ -29422,14 +29431,14 @@ class RectangleEditor extends React__namespace.Component {
29422
29431
  buttonSets: [],
29423
29432
  buttonsVisible: "never",
29424
29433
  value: this.props.coordX
29425
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29434
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29426
29435
  ,
29427
29436
  onChange: this.change("coordX")
29428
29437
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29429
29438
  buttonSets: [],
29430
29439
  buttonsVisible: "never",
29431
29440
  value: this.props.coordY
29432
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29441
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29433
29442
  ,
29434
29443
  onChange: this.change("coordY")
29435
29444
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29438,7 +29447,7 @@ class RectangleEditor extends React__namespace.Component {
29438
29447
  buttonSets: [],
29439
29448
  buttonsVisible: "never",
29440
29449
  value: this.props.width
29441
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29450
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29442
29451
  ,
29443
29452
  onChange: this.change("width")
29444
29453
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29447,7 +29456,7 @@ class RectangleEditor extends React__namespace.Component {
29447
29456
  buttonSets: [],
29448
29457
  buttonsVisible: "never",
29449
29458
  value: this.props.height
29450
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29459
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29451
29460
  ,
29452
29461
  onChange: this.change("height")
29453
29462
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29455,7 +29464,7 @@ class RectangleEditor extends React__namespace.Component {
29455
29464
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29456
29465
  value: this.props.color,
29457
29466
  lightColors: true
29458
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29467
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29459
29468
  ,
29460
29469
  onChange: this.change("color")
29461
29470
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29490,7 +29499,7 @@ class InteractionEditor extends React__namespace.Component {
29490
29499
  _defineProperty(this, "_updateGraphProps", newProps => {
29491
29500
  // TODO(eater): GraphSettings should name this tickStep instead
29492
29501
  // of step. Grr..
29493
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29502
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29494
29503
  this.change({
29495
29504
  graph: ___default["default"].extend(___default["default"].omit(newProps, "step"), {
29496
29505
  tickStep: newProps.step
@@ -29511,13 +29520,13 @@ class InteractionEditor extends React__namespace.Component {
29511
29520
  let nextSubscript;
29512
29521
  if (elementType === "movable-point") {
29513
29522
  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 '{}'.
29523
+ // @ts-expect-error - TS2339 - Property 'varSubscript' does not exist on type '{}'.
29515
29524
  newElement.options.varSubscript = nextSubscript;
29516
29525
  } else if (elementType === "movable-line") {
29517
29526
  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 '{}'.
29527
+ // @ts-expect-error - TS2339 - Property 'startSubscript' does not exist on type '{}'.
29519
29528
  newElement.options.startSubscript = nextSubscript;
29520
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'endSubscript' does not exist on type '{}'.
29529
+ // @ts-expect-error - TS2339 - Property 'endSubscript' does not exist on type '{}'.
29521
29530
  newElement.options.endSubscript = nextSubscript + 1;
29522
29531
  } else if (elementType === "function") {
29523
29532
  // TODO(eater): The 22nd function added will be {(x) since '{'
@@ -29525,17 +29534,17 @@ class InteractionEditor extends React__namespace.Component {
29525
29534
  const nextLetter = String.fromCharCode(___default["default"].max([___default["default"].max(___default["default"].map(this.state.usedFunctionNames, function (c) {
29526
29535
  return c.charCodeAt(0);
29527
29536
  })), "e".charCodeAt(0)]) + 1);
29528
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'funcName' does not exist on type '{}'.
29537
+ // @ts-expect-error - TS2339 - Property 'funcName' does not exist on type '{}'.
29529
29538
  newElement.options.funcName = nextLetter;
29530
29539
  }
29531
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29540
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29532
29541
  this.change({
29533
29542
  elements: this.props.elements.concat(newElement)
29534
29543
  });
29535
29544
  });
29536
29545
  _defineProperty(this, "_deleteElement", index => {
29537
29546
  const element = this.props.elements[index];
29538
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29547
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29539
29548
  this.change({
29540
29549
  elements: ___default["default"].without(this.props.elements, element)
29541
29550
  });
@@ -29544,7 +29553,7 @@ class InteractionEditor extends React__namespace.Component {
29544
29553
  const element = this.props.elements[index];
29545
29554
  const newElements = ___default["default"].without(this.props.elements, element);
29546
29555
  newElements.splice(index - 1, 0, element);
29547
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29556
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29548
29557
  this.change({
29549
29558
  elements: newElements
29550
29559
  });
@@ -29553,7 +29562,7 @@ class InteractionEditor extends React__namespace.Component {
29553
29562
  const element = this.props.elements[index];
29554
29563
  const newElements = ___default["default"].without(this.props.elements, element);
29555
29564
  newElements.splice(index + 1, 0, element);
29556
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29565
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29557
29566
  this.change({
29558
29567
  elements: newElements
29559
29568
  });
@@ -29612,29 +29621,29 @@ class InteractionEditor extends React__namespace.Component {
29612
29621
  // eslint-disable-next-line react/jsx-no-bind
29613
29622
  ,
29614
29623
  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.
29624
+ // @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
29625
  this._moveElementUp.bind(this, n)
29617
29626
  // eslint-disable-next-line react/jsx-no-bind
29618
29627
  ,
29619
29628
  onDown:
29620
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29629
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29621
29630
  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.
29631
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29623
29632
  this._moveElementDown.bind(
29624
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29633
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29625
29634
  this, n)
29626
29635
  // 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.
29636
+ // @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
29637
  ,
29629
29638
  onDelete: this._deleteElement.bind(this, n),
29630
29639
  key: element.key
29631
29640
  }, /*#__PURE__*/React__namespace.createElement(MovablePointEditor, _extends({}, element.options, {
29632
29641
  onChange: newProps => {
29633
29642
  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.
29643
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29635
29644
  this.props.elements));
29636
29645
  ___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.
29646
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29638
29647
  this.change({
29639
29648
  elements: elements
29640
29649
  });
@@ -29647,29 +29656,29 @@ class InteractionEditor extends React__namespace.Component {
29647
29656
  // eslint-disable-next-line react/jsx-no-bind
29648
29657
  ,
29649
29658
  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.
29659
+ // @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
29660
  this._moveElementUp.bind(this, n)
29652
29661
  // eslint-disable-next-line react/jsx-no-bind
29653
29662
  ,
29654
29663
  onDown:
29655
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29664
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29656
29665
  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.
29666
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29658
29667
  this._moveElementDown.bind(
29659
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29668
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29660
29669
  this, n)
29661
29670
  // 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.
29671
+ // @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
29672
  ,
29664
29673
  onDelete: this._deleteElement.bind(this, n),
29665
29674
  key: element.key
29666
29675
  }, /*#__PURE__*/React__namespace.createElement(MovableLineEditor, _extends({}, element.options, {
29667
29676
  onChange: newProps => {
29668
29677
  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.
29678
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29670
29679
  this.props.elements));
29671
29680
  ___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.
29681
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29673
29682
  this.change({
29674
29683
  elements: elements
29675
29684
  });
@@ -29682,29 +29691,29 @@ class InteractionEditor extends React__namespace.Component {
29682
29691
  // eslint-disable-next-line react/jsx-no-bind
29683
29692
  ,
29684
29693
  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.
29694
+ // @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
29695
  this._moveElementUp.bind(this, n)
29687
29696
  // eslint-disable-next-line react/jsx-no-bind
29688
29697
  ,
29689
29698
  onDown:
29690
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29699
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29691
29700
  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.
29701
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29693
29702
  this._moveElementDown.bind(
29694
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29703
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29695
29704
  this, n)
29696
29705
  // 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.
29706
+ // @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
29707
  ,
29699
29708
  onDelete: this._deleteElement.bind(this, n),
29700
29709
  key: element.key
29701
29710
  }, /*#__PURE__*/React__namespace.createElement(PointEditor, _extends({}, element.options, {
29702
29711
  onChange: newProps => {
29703
29712
  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.
29713
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29705
29714
  this.props.elements));
29706
29715
  ___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.
29716
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29708
29717
  this.change({
29709
29718
  elements: elements
29710
29719
  });
@@ -29717,29 +29726,29 @@ class InteractionEditor extends React__namespace.Component {
29717
29726
  // eslint-disable-next-line react/jsx-no-bind
29718
29727
  ,
29719
29728
  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.
29729
+ // @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
29730
  this._moveElementUp.bind(this, n)
29722
29731
  // eslint-disable-next-line react/jsx-no-bind
29723
29732
  ,
29724
29733
  onDown:
29725
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29734
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29726
29735
  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.
29736
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29728
29737
  this._moveElementDown.bind(
29729
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29738
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29730
29739
  this, n)
29731
29740
  // 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.
29741
+ // @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
29742
  ,
29734
29743
  onDelete: this._deleteElement.bind(this, n),
29735
29744
  key: element.key
29736
29745
  }, /*#__PURE__*/React__namespace.createElement(LineEditor, _extends({}, element.options, {
29737
29746
  onChange: newProps => {
29738
29747
  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.
29748
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29740
29749
  this.props.elements));
29741
29750
  ___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.
29751
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29743
29752
  this.change({
29744
29753
  elements: elements
29745
29754
  });
@@ -29752,28 +29761,28 @@ class InteractionEditor extends React__namespace.Component {
29752
29761
  // eslint-disable-next-line react/jsx-no-bind
29753
29762
  ,
29754
29763
  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.
29764
+ // @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
29765
  this._moveElementUp.bind(this, n)
29757
29766
  // eslint-disable-next-line react/jsx-no-bind
29758
29767
  ,
29759
29768
  onDown:
29760
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29769
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29761
29770
  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.
29771
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29763
29772
  this._moveElementDown.bind(
29764
- // @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.
29765
29774
  this, n)
29766
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29775
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29767
29776
  ,
29768
29777
  onDelete: this._deleteElement,
29769
29778
  key: element.key
29770
29779
  }, /*#__PURE__*/React__namespace.createElement(FunctionEditor, _extends({}, element.options, {
29771
29780
  onChange: newProps => {
29772
29781
  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.
29782
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29774
29783
  this.props.elements));
29775
29784
  ___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.
29785
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29777
29786
  this.change({
29778
29787
  elements: elements
29779
29788
  });
@@ -29786,28 +29795,28 @@ class InteractionEditor extends React__namespace.Component {
29786
29795
  // eslint-disable-next-line react/jsx-no-bind
29787
29796
  ,
29788
29797
  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.
29798
+ // @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
29799
  this._moveElementUp.bind(this, n)
29791
29800
  // eslint-disable-next-line react/jsx-no-bind
29792
29801
  ,
29793
29802
  onDown:
29794
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29803
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29795
29804
  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.
29805
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29797
29806
  this._moveElementDown.bind(
29798
- // @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.
29799
29808
  this, n)
29800
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29809
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29801
29810
  ,
29802
29811
  onDelete: this._deleteElement,
29803
29812
  key: element.key
29804
29813
  }, /*#__PURE__*/React__namespace.createElement(ParametricEditor, _extends({}, element.options, {
29805
29814
  onChange: newProps => {
29806
29815
  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.
29816
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29808
29817
  this.props.elements));
29809
29818
  ___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.
29819
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29811
29820
  this.change({
29812
29821
  elements: elements
29813
29822
  });
@@ -29820,28 +29829,28 @@ class InteractionEditor extends React__namespace.Component {
29820
29829
  // eslint-disable-next-line react/jsx-no-bind
29821
29830
  ,
29822
29831
  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.
29832
+ // @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
29833
  this._moveElementUp.bind(this, n)
29825
29834
  // eslint-disable-next-line react/jsx-no-bind
29826
29835
  ,
29827
29836
  onDown:
29828
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29837
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29829
29838
  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.
29839
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29831
29840
  this._moveElementDown.bind(
29832
- // @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.
29833
29842
  this, n)
29834
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29843
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29835
29844
  ,
29836
29845
  onDelete: this._deleteElement,
29837
29846
  key: element.key
29838
29847
  }, /*#__PURE__*/React__namespace.createElement(LabelEditor, _extends({}, element.options, {
29839
29848
  onChange: newProps => {
29840
29849
  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.
29850
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29842
29851
  this.props.elements));
29843
29852
  ___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.
29853
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29845
29854
  this.change({
29846
29855
  elements: elements
29847
29856
  });
@@ -29854,28 +29863,28 @@ class InteractionEditor extends React__namespace.Component {
29854
29863
  // eslint-disable-next-line react/jsx-no-bind
29855
29864
  ,
29856
29865
  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.
29866
+ // @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
29867
  this._moveElementUp.bind(this, n)
29859
29868
  // eslint-disable-next-line react/jsx-no-bind
29860
29869
  ,
29861
29870
  onDown:
29862
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29871
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29863
29872
  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.
29873
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29865
29874
  this._moveElementDown.bind(
29866
- // @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.
29867
29876
  this, n)
29868
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29877
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29869
29878
  ,
29870
29879
  onDelete: this._deleteElement,
29871
29880
  key: element.key
29872
29881
  }, /*#__PURE__*/React__namespace.createElement(RectangleEditor, _extends({}, element.options, {
29873
29882
  onChange: newProps => {
29874
29883
  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.
29884
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29876
29885
  this.props.elements));
29877
29886
  ___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.
29887
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29879
29888
  this.change({
29880
29889
  elements: elements
29881
29890
  });
@@ -30077,7 +30086,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30077
30086
  trackInteraction: function () {},
30078
30087
  onChange: newProps => {
30079
30088
  let correct = this.props.correct;
30080
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
30089
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
30081
30090
  if (correct.type === newProps.graph.type) {
30082
30091
  correct = ___default["default"].extend({}, correct, newProps.graph);
30083
30092
  } else {
@@ -30094,7 +30103,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30094
30103
  // There are a bunch of props that renderer.jsx passes to widgets via
30095
30104
  // getWidgetProps() and widget-container.jsx that the editors don't
30096
30105
  // bother passing.
30097
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
30106
+ // @ts-expect-error - TS2769 - No overload matches this call.
30098
30107
  React__namespace.createElement(InteractiveGraph, _extends({}, graphProps, {
30099
30108
  containerSizeClass: sizeClass,
30100
30109
  apiOptions: {
@@ -30104,7 +30113,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30104
30113
  }));
30105
30114
  // TODO(kevinb): Update getEquationString to only accept the data it actually
30106
30115
  // 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'.
30116
+ // @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
30117
  equationString = InteractiveGraph.getEquationString(graphProps);
30109
30118
  } else {
30110
30119
  graph = /*#__PURE__*/React__namespace.createElement("div", {
@@ -30286,7 +30295,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30286
30295
  });
30287
30296
  ___default["default"].each(["allowReflexAngles", "angleOffsetDeg", "numPoints", "numSides", "numSegments", "showAngles", "showSides", "snapTo", "snapDegrees"], function (key) {
30288
30297
  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">'.
30298
+ // @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
30299
  json.graph[key] = correct[key];
30291
30300
  }
30292
30301
  });
@@ -30390,7 +30399,7 @@ class FormWrappedTextField extends React__namespace.Component {
30390
30399
  return /*#__PURE__*/React__namespace.createElement("form", {
30391
30400
  className: aphrodite.css(...spanStyle),
30392
30401
  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'.
30402
+ // @ts-expect-error - TS2322 - Type '((arg1: ChangeEvent<HTMLInputElement>) => unknown) | ((e: Event) => void)' is not assignable to type 'FormEventHandler<HTMLFormElement> | undefined'.
30394
30403
  ,
30395
30404
  onSubmit: onSubmit || this.disableDefault
30396
30405
  }, leftSideIcon && wrappedIcon, /*#__PURE__*/React__namespace.createElement("input", _extends({}, allProps, {
@@ -30814,7 +30823,7 @@ class HoverBehavior extends React__namespace.Component {
30814
30823
  };
30815
30824
  }
30816
30825
 
30817
- // @ts-expect-error [FEI-5003] - TS2564 - Property 'focusFlag' has no initializer and is not definitely assigned in the constructor.
30826
+ // @ts-expect-error - TS2564 - Property 'focusFlag' has no initializer and is not definitely assigned in the constructor.
30818
30827
 
30819
30828
  render() {
30820
30829
  const handlers = {
@@ -30904,7 +30913,7 @@ class Checkbox extends React__namespace.Component {
30904
30913
  className: aphrodite.css(styles$6.checkbox, disabled && styles$6.defaultCursor),
30905
30914
  disabled: disabled,
30906
30915
  onChange: onChange
30907
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string | number | undefined' is not assignable to type 'number | undefined'.
30916
+ // @ts-expect-error - TS2322 - Type 'string | number | undefined' is not assignable to type 'number | undefined'.
30908
30917
  ,
30909
30918
  tabIndex: tabIndex
30910
30919
  }));
@@ -31054,7 +31063,7 @@ function focusWithChromeStickyFocusBugWorkaround(element) {
31054
31063
  // this is an issue, however, so there isn't currently a way to out of the
31055
31064
  // `preventScroll` behavior.
31056
31065
 
31057
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'Element'.
31066
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'Element'.
31058
31067
  element.focus({
31059
31068
  preventScroll: true
31060
31069
  });
@@ -31069,7 +31078,7 @@ const {
31069
31078
  const findAndFocusElement = component => {
31070
31079
  const DOMNode = ReactDOM__default["default"].findDOMNode(component);
31071
31080
  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?
31081
+ // @ts-expect-error - TS2774 - This condition will always return true since this function is always defined. Did you mean to call it instead?
31073
31082
  if (button.focus) {
31074
31083
  focusWithChromeStickyFocusBugWorkaround(button);
31075
31084
  }
@@ -31116,21 +31125,21 @@ class Option extends React__namespace.Component {
31116
31125
  ariaLabel
31117
31126
  } = this.props;
31118
31127
  return /*#__PURE__*/React__namespace.createElement("button", {
31119
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'HTMLButtonElement | null' is not assignable to type 'HTMLDivElement'.
31128
+ // @ts-expect-error - TS2322 - Type 'HTMLButtonElement | null' is not assignable to type 'HTMLDivElement'.
31120
31129
  ref: node => this.node = node,
31121
31130
  value: value,
31122
31131
  role: "menuitemradio",
31123
31132
  "aria-checked": selected,
31124
31133
  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>'.
31134
+ // @ts-expect-error - TS2322 - Type '(value: string) => void' is not assignable to type 'MouseEventHandler<HTMLButtonElement>'.
31126
31135
  ,
31127
31136
  onClick: value => {
31128
31137
  if (!disabled && onClick) {
31129
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 0 arguments, but got 1.
31138
+ // @ts-expect-error - TS2554 - Expected 0 arguments, but got 1.
31130
31139
  onClick(value);
31131
31140
  }
31132
31141
  }
31133
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(event: KeyboardEvent) => void' is not assignable to type 'KeyboardEventHandler<HTMLButtonElement>'.
31142
+ // @ts-expect-error - TS2322 - Type '(event: KeyboardEvent) => void' is not assignable to type 'KeyboardEventHandler<HTMLButtonElement>'.
31134
31143
  ,
31135
31144
  onKeyDown: event => this.handleKeyDown(event),
31136
31145
  "aria-disabled": disabled,
@@ -31178,23 +31187,23 @@ class OptionGroup extends React__namespace.Component {
31178
31187
  hideFocusState
31179
31188
  } = this.props;
31180
31189
  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'.
31190
+ // @ts-expect-error - TS2322 - Type 'Window | null' is not assignable to type 'Top<string | number> | undefined'.
31182
31191
  style: {
31183
31192
  top
31184
31193
  },
31185
31194
  className: aphrodite.css(styles$4.optionGroup, noMargin && styles$4.optionGroupNoMargin)
31186
31195
  }, React__namespace.Children.map(children, (child, index) => {
31187
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31196
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31188
31197
  const selected = selectedValues.includes(child.props.value);
31189
31198
  const reference = selected || index === 0 ? node => this.focusedElement = node : null;
31190
31199
 
31191
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
31200
+ // @ts-expect-error - TS2769 - No overload matches this call.
31192
31201
  return /*#__PURE__*/React__namespace.cloneElement(child, {
31193
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31202
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31194
31203
  ...child.props,
31195
31204
  key: index,
31196
31205
  selected: selected,
31197
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31206
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31198
31207
  onClick: () => onSelected(child.props.value),
31199
31208
  optionRenderer: optionRenderer,
31200
31209
  ref: reference,
@@ -31386,7 +31395,7 @@ class Marker extends React__namespace.Component {
31386
31395
  }), /*#__PURE__*/React__namespace.createElement(OptionGroup, {
31387
31396
  onSelected: this.handleSelectAnswer
31388
31397
  // TODO(WB-1096): make selectedValues immutable in wonder-blocks
31389
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
31398
+ // @ts-expect-error - TS2769 - No overload matches this call.
31390
31399
  ,
31391
31400
  selectedValues: answers
31392
31401
  }, choices.map(choice => /*#__PURE__*/React__namespace.createElement(Option, {
@@ -31514,7 +31523,7 @@ class QuestionMarkers extends React__namespace.Component {
31514
31523
  // Open answer selection dropdown for each of the specified markers.
31515
31524
  indices.forEach(index => {
31516
31525
  if (this._markers[index]) {
31517
- // @ts-expect-error [FEI-5003] - TS2533 - Object is possibly 'null' or 'undefined'.
31526
+ // @ts-expect-error - TS2533 - Object is possibly 'null' or 'undefined'.
31518
31527
  this._markers[index].openDropdown();
31519
31528
  }
31520
31529
  });
@@ -31928,7 +31937,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31928
31937
  return perseus.Changeable.change.apply(_this, args);
31929
31938
  });
31930
31939
  _defineProperty(this, "_handlePatternChange", e => {
31931
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
31940
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
31932
31941
  this.change("flipPattern", e.target.value);
31933
31942
  });
31934
31943
  _defineProperty(this, "_changeWidth", newWidth => {
@@ -31947,7 +31956,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31947
31956
  });
31948
31957
  });
31949
31958
 
31950
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
31959
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
31951
31960
  this.change({
31952
31961
  startCells: newCells
31953
31962
  });
@@ -31957,7 +31966,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31957
31966
  return y === tileY && x === tileX;
31958
31967
  });
31959
31968
 
31960
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
31969
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
31961
31970
  this.change({
31962
31971
  startCells: newCells
31963
31972
  });
@@ -31977,7 +31986,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31977
31986
  onChange: this._changeHeight
31978
31987
  })), /*#__PURE__*/React__namespace.createElement("div", null, "Flip pattern:", /*#__PURE__*/React__namespace.createElement("select", {
31979
31988
  value: this.props.flipPattern
31980
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
31989
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
31981
31990
  ,
31982
31991
  onChange: this._handlePatternChange
31983
31992
  }, ___default["default"].map(___default["default"].keys(PATTERNS), (pattern, i) => {
@@ -32186,7 +32195,7 @@ class MatrixEditor extends React__namespace.Component {
32186
32195
  content: this.props.prefix,
32187
32196
  widgetEnabled: false,
32188
32197
  onChange: newProps => {
32189
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32198
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32190
32199
  this.change({
32191
32200
  prefix: newProps.content
32192
32201
  });
@@ -32201,7 +32210,7 @@ class MatrixEditor extends React__namespace.Component {
32201
32210
  content: this.props.suffix,
32202
32211
  widgetEnabled: false,
32203
32212
  onChange: newProps => {
32204
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32213
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32205
32214
  this.change({
32206
32215
  suffix: newProps.content
32207
32216
  });
@@ -32261,7 +32270,7 @@ class MeasurerEditor extends React__namespace.Component {
32261
32270
  _defineProperty(this, "_changeImage", (subProp, newValue) => {
32262
32271
  const image = ___default["default"].clone(this.props.image);
32263
32272
  image[subProp] = newValue;
32264
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32273
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32265
32274
  this.change("image", image);
32266
32275
  });
32267
32276
  _defineProperty(this, "renderLabelChoices", choices => {
@@ -32306,7 +32315,7 @@ class MeasurerEditor extends React__namespace.Component {
32306
32315
  value: image.left,
32307
32316
  useArrowKeys: true
32308
32317
  }))), /*#__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.
32318
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32310
32319
  , {
32311
32320
  onChange: this.change("box"),
32312
32321
  value: this.props.box,
@@ -32327,7 +32336,7 @@ class MeasurerEditor extends React__namespace.Component {
32327
32336
  onChange: this.props.onChange
32328
32337
  }))), 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
32338
  onChange: e =>
32330
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32339
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32331
32340
  this.change("rulerLabel", e.target.value),
32332
32341
  value: this.props.rulerLabel
32333
32342
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -32338,7 +32347,7 @@ class MeasurerEditor extends React__namespace.Component {
32338
32347
  label: "Imperial"
32339
32348
  }, 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
32349
  onChange: e =>
32341
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32350
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32342
32351
  this.change("rulerTicks", +e.target.value),
32343
32352
  value: this.props.rulerTicks
32344
32353
  }, ___default["default"].map([1, 2, 4, 8, 10, 16], function (n) {
@@ -32348,14 +32357,14 @@ class MeasurerEditor extends React__namespace.Component {
32348
32357
  }, n);
32349
32358
  })))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler pixels per unit:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$9, {
32350
32359
  placeholder: 40
32351
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32360
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32352
32361
  ,
32353
32362
  onChange: this.change("rulerPixels"),
32354
32363
  value: this.props.rulerPixels,
32355
32364
  useArrowKeys: true
32356
32365
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler length in units:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$9, {
32357
32366
  placeholder: 10
32358
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32367
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32359
32368
  ,
32360
32369
  onChange: this.change("rulerLength"),
32361
32370
  value: this.props.rulerLength,
@@ -32406,13 +32415,13 @@ class MoleculeWidgetEditor extends React__namespace.Component {
32406
32415
  return perseus.Changeable.change.apply(_this, args);
32407
32416
  });
32408
32417
  _defineProperty(this, "updateMolecule", newValue => {
32409
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32418
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32410
32419
  this.change({
32411
32420
  smiles: newValue
32412
32421
  });
32413
32422
  });
32414
32423
  _defineProperty(this, "updateRotation", newValue => {
32415
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32424
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32416
32425
  this.change({
32417
32426
  rotationAngle: newValue
32418
32427
  });
@@ -32573,7 +32582,7 @@ class NumberLineEditor extends React__namespace.Component {
32573
32582
  className: "perseus-widget-row"
32574
32583
  }, "Correct x", " ", /*#__PURE__*/React__namespace.createElement("select", {
32575
32584
  value: this.props.correctRel
32576
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
32585
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
32577
32586
  ,
32578
32587
  onChange: this.onChangeRelation
32579
32588
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33078,14 +33087,14 @@ const NumericInputEditor = createReactClass__default["default"]({
33078
33087
  // TODO(emily): This doesn't actually work, because the value is either
33079
33088
  // null or undefined when undefined, probably.
33080
33089
  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'.
33090
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33082
33091
  warnings.push("One or more answers is empty");
33083
33092
  }
33084
33093
  this.props.answers.forEach((answer, i) => {
33085
33094
  const formatError = answer.strict && (!answer.answerForms || answer.answerForms.length === 0);
33086
33095
  if (formatError) {
33087
33096
  warnings.push(
33088
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33097
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33089
33098
  "Answer ".concat(i + 1, " is set to string format ") + "matching, but no format was selected");
33090
33099
  }
33091
33100
  });
@@ -33171,7 +33180,7 @@ class OrdererEditor extends React__namespace.Component {
33171
33180
  layout: this.props.layout
33172
33181
  }), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Layout:", " ", /*#__PURE__*/React__namespace.createElement("select", {
33173
33182
  value: this.props.layout
33174
- // @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>'.
33175
33184
  ,
33176
33185
  onChange: this.onLayoutChange
33177
33186
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33180,7 +33189,7 @@ class OrdererEditor extends React__namespace.Component {
33180
33189
  value: VERTICAL$1
33181
33190
  }, "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
33191
  value: this.props.height
33183
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
33192
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
33184
33193
  ,
33185
33194
  onChange: this.onHeightChange
33186
33195
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33238,7 +33247,7 @@ class PassageEditor extends React__namespace.Component {
33238
33247
  widgetEnabled: false,
33239
33248
  placeholder: "Type passage here...",
33240
33249
  onChange: newProps => {
33241
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33250
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33242
33251
  this.change({
33243
33252
  passageText: newProps.content
33244
33253
  });
@@ -33254,7 +33263,7 @@ class PassageEditor extends React__namespace.Component {
33254
33263
  widgetEnabled: false,
33255
33264
  placeholder: "Type footnotes here...",
33256
33265
  onChange: newProps => {
33257
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33266
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33258
33267
  this.change({
33259
33268
  footnotes: newProps.content
33260
33269
  });
@@ -33273,7 +33282,7 @@ class PassageEditor extends React__namespace.Component {
33273
33282
  type: "text",
33274
33283
  defaultValue: this.props.passageTitle,
33275
33284
  onChange: e => {
33276
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33285
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33277
33286
  this.change({
33278
33287
  passageTitle: e.target.value
33279
33288
  });
@@ -33319,17 +33328,17 @@ class PassageRefEditor extends React__namespace.Component {
33319
33328
  render() {
33320
33329
  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
33330
  value: this.props.passageNumber
33322
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33331
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33323
33332
  ,
33324
33333
  onChange: this.change("passageNumber")
33325
33334
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Reference Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$5, {
33326
33335
  value: this.props.referenceNumber
33327
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33336
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33328
33337
  ,
33329
33338
  onChange: this.change("referenceNumber")
33330
33339
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Summary Text: ", /*#__PURE__*/React__namespace.createElement(TextInput$2, {
33331
33340
  value: this.props.summaryText
33332
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33341
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33333
33342
  ,
33334
33343
  onChange: this.change("summaryText")
33335
33344
  }), /*#__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 +33369,7 @@ class PassageRefTargetEditor extends React__namespace.Component {
33360
33369
  return perseus.Changeable.change.apply(_this, args);
33361
33370
  });
33362
33371
  _defineProperty(this, "handleContentChange", e => {
33363
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33372
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33364
33373
  this.change({
33365
33374
  content: e.target.value
33366
33375
  });
@@ -33486,7 +33495,7 @@ class PlotterEditor extends React__namespace.Component {
33486
33495
  if (categories) {
33487
33496
  // eslint-disable-next-line react/no-string-refs
33488
33497
  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'.
33498
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33490
33499
  node.value = categories.join(", ");
33491
33500
  }
33492
33501
  });
@@ -33533,7 +33542,7 @@ class PlotterEditor extends React__namespace.Component {
33533
33542
  starting: ___default["default"].map(this.props.starting, scale)
33534
33543
  });
33535
33544
 
33536
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33545
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33537
33546
  ReactDOM__default["default"].findDOMNode(this.refs.maxY).value = maxY; // eslint-disable-line react/no-string-refs
33538
33547
  });
33539
33548
  _defineProperty(this, "changeMax", e => {
@@ -33570,13 +33579,13 @@ class PlotterEditor extends React__namespace.Component {
33570
33579
  // eslint-disable-next-line react/no-string-refs
33571
33580
  const node = ReactDOM__default["default"].findDOMNode(this.refs.categories);
33572
33581
 
33573
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33582
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33574
33583
  node.value = categories.join(", ");
33575
33584
  });
33576
33585
  _defineProperty(this, "serialize", () => {
33577
33586
  const json = ___default["default"].pick(this.props, "correct", "starting", "type", "labels", "categories", "scaleY", "maxY", "snapsPerLine", "labelInterval");
33578
33587
  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">'.
33588
+ // @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
33589
  json.picUrl = this.props.picUrl;
33581
33590
  }
33582
33591
  return json;
@@ -33777,7 +33786,7 @@ class RadioEditor extends React__namespace.Component {
33777
33786
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33778
33787
  args[_key] = arguments[_key];
33779
33788
  }
33780
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
33789
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
33781
33790
  return perseus.Changeable.change.apply(_this, args);
33782
33791
  });
33783
33792
  _defineProperty(this, "onMultipleSelectChange", allowMultiple => {
@@ -33864,7 +33873,7 @@ class RadioEditor extends React__namespace.Component {
33864
33873
  hasNoneOfTheAbove: noneOfTheAbove || this.props.hasNoneOfTheAbove
33865
33874
  }, () => {
33866
33875
  // eslint-disable-next-line react/no-string-refs
33867
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33876
+ // @ts-expect-error - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33868
33877
  this.refs["choice-editor".concat(addIndex)].refs["content-editor"].focus();
33869
33878
  });
33870
33879
  });
@@ -33875,7 +33884,7 @@ class RadioEditor extends React__namespace.Component {
33875
33884
  });
33876
33885
  _defineProperty(this, "focus", () => {
33877
33886
  // eslint-disable-next-line react/no-string-refs
33878
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33887
+ // @ts-expect-error - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33879
33888
  this.refs["choice-editor0"].refs["content-editor"].focus();
33880
33889
  return true;
33881
33890
  });
@@ -34016,10 +34025,10 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34016
34025
  });
34017
34026
  _defineProperty(this, "updateMolecule", idx => {
34018
34027
  return function (newValue) {
34019
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34028
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34020
34029
  const newSmiles = [...this.props.smiles];
34021
34030
  newSmiles[idx] = newValue;
34022
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34031
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34023
34032
  this.change({
34024
34033
  smiles: newSmiles
34025
34034
  });
@@ -34027,10 +34036,10 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34027
34036
  });
34028
34037
  _defineProperty(this, "updateRotation", idx => {
34029
34038
  return function (newValue) {
34030
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34039
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34031
34040
  const newRot = [...this.props.rotationAngle];
34032
34041
  newRot[idx] = newValue;
34033
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34042
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34034
34043
  this.change({
34035
34044
  rotationAngle: newRot
34036
34045
  });
@@ -34044,7 +34053,7 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34044
34053
  };
34045
34054
  });
34046
34055
  newSep[idx][propName] = newValue;
34047
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
34056
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
34048
34057
  this.change({
34049
34058
  separators: newSep
34050
34059
  });
@@ -34130,7 +34139,7 @@ class SequenceEditor extends React__namespace.Component {
34130
34139
  return {
34131
34140
  json: ___default["default"].times(this.props.json.length, i => {
34132
34141
  // eslint-disable-next-line react/no-string-refs
34133
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
34142
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
34134
34143
  return this.refs["editor" + i].serialize();
34135
34144
  })
34136
34145
  };
@@ -34255,7 +34264,7 @@ class TextArea extends React__namespace.Component {
34255
34264
  super(...arguments);
34256
34265
  _defineProperty(this, "focus", () => {
34257
34266
  // eslint-disable-next-line react/no-string-refs
34258
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34267
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34259
34268
  this.refs.input.focus();
34260
34269
  return true;
34261
34270
  });
@@ -34287,7 +34296,7 @@ class SimpleMarkdownTesterEditor extends React__namespace.Component {
34287
34296
  });
34288
34297
  _defineProperty(this, "focus", () => {
34289
34298
  // eslint-disable-next-line react/no-string-refs
34290
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34299
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34291
34300
  this.refs.input.focus();
34292
34301
  return true;
34293
34302
  });
@@ -34298,7 +34307,7 @@ class SimpleMarkdownTesterEditor extends React__namespace.Component {
34298
34307
  render() {
34299
34308
  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
34309
  value: this.props.value
34301
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
34310
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
34302
34311
  ,
34303
34312
  onChange: this.change("value")
34304
34313
  // eslint-disable-next-line react/no-string-refs
@@ -34329,7 +34338,7 @@ class SimulatorEditor extends React__namespace.Component {
34329
34338
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34330
34339
  args[_key] = arguments[_key];
34331
34340
  }
34332
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
34341
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
34333
34342
  return perseus.Changeable.change.apply(_this, args);
34334
34343
  });
34335
34344
  _defineProperty(this, "handleTargetValueChange", (propName, e) => {
@@ -34426,7 +34435,7 @@ class SorterEditor extends React__namespace.Component {
34426
34435
  layout: this.props.layout
34427
34436
  }), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Layout:", " ", /*#__PURE__*/React__namespace.createElement("select", {
34428
34437
  value: this.props.layout
34429
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
34438
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
34430
34439
  ,
34431
34440
  onChange: this.onLayoutChange
34432
34441
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -34461,7 +34470,7 @@ class TableEditor extends React__namespace.Component {
34461
34470
  constructor() {
34462
34471
  super(...arguments);
34463
34472
  _defineProperty(this, "focus", () => {
34464
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
34473
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
34465
34474
  ReactDOM__default["default"].findDOMNode(this.refs.numberOfColumns).focus(); // eslint-disable-line react/no-string-refs
34466
34475
  });
34467
34476
  _defineProperty(this, "onSizeInput", (numRawRows, numRawColumns) => {
@@ -35057,7 +35066,7 @@ const ShapeTypes = {
35057
35066
  const coord0 = points[0].coord || points[0];
35058
35067
  const coord1 = points[1].coord || points[1];
35059
35068
  const radius = kmath.point.distanceToPoint(coord0, coord1);
35060
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 1 arguments, but got 0.
35069
+ // @ts-expect-error - TS2554 - Expected 1 arguments, but got 0.
35061
35070
  perimeter.remove();
35062
35071
  perimeter = graphie.circle(coord0, radius, ___default["default"].extend({
35063
35072
  stroke: perseus.KhanColors.DYNAMIC,
@@ -35073,7 +35082,7 @@ const ShapeTypes = {
35073
35082
  remove: function () {
35074
35083
  // Not _.bind because the remove function changes
35075
35084
  // when the perimeter is redrawn
35076
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 1 arguments, but got 0.
35085
+ // @ts-expect-error - TS2554 - Expected 1 arguments, but got 0.
35077
35086
  perimeter.remove();
35078
35087
  }
35079
35088
  };
@@ -35112,10 +35121,10 @@ const ShapeTypes = {
35112
35121
  const line2_0 = [points2[1], points2[0]];
35113
35122
  const line2_2 = [points2[1], points2[2]];
35114
35123
  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'.
35124
+ // @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
35125
  kmath.ray.equal(line1_0, line2_0) && kmath.ray.equal(line1_2, line2_2);
35117
35126
  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'.
35127
+ // @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
35128
  kmath.ray.equal(line1_0, line2_2) && kmath.ray.equal(line1_2, line2_0);
35120
35129
  return equalUnflipped || equalFlipped;
35121
35130
  },
@@ -35151,7 +35160,7 @@ class TransformationsShapeEditor extends React__namespace.Component {
35151
35160
  const pointCount = arraySum(___default["default"].map(types, ShapeTypes.getPointCountForType));
35152
35161
 
35153
35162
  // eslint-disable-next-line react/no-string-refs
35154
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'props' does not exist on type 'ReactInstance'.
35163
+ // @ts-expect-error - TS2339 - Property 'props' does not exist on type 'ReactInstance'.
35155
35164
  const radius = scaleToRange(4, this.refs.graph.props.range);
35156
35165
  const offset = (1 / 2 - 1 / pointCount) * 180;
35157
35166
  const coords = ___default["default"].times(pointCount, function (i) {
@@ -35167,12 +35176,12 @@ class TransformationsShapeEditor extends React__namespace.Component {
35167
35176
  });
35168
35177
  _defineProperty(this, "updateCoords", () => {
35169
35178
  this.props.onChange({
35170
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35179
+ // @ts-expect-error - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35171
35180
  shape: this.shape.toJSON()
35172
35181
  });
35173
35182
  });
35174
35183
  _defineProperty(this, "setupGraphie", graphie => {
35175
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35184
+ // @ts-expect-error - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35176
35185
  this.shape = ShapeTypes.addMovableShape(graphie, {
35177
35186
  editable: true,
35178
35187
  snap: graphie.snap,
@@ -35225,13 +35234,13 @@ class TransformationsShapeEditor extends React__namespace.Component {
35225
35234
 
35226
35235
  componentDidMount() {
35227
35236
  // eslint-disable-next-line react/no-string-refs
35228
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'graphie' does not exist on type 'ReactInstance'.
35237
+ // @ts-expect-error - TS2339 - Property 'graphie' does not exist on type 'ReactInstance'.
35229
35238
  this.setupGraphie(this.refs.graph.graphie());
35230
35239
  }
35231
35240
  componentDidUpdate(prevProps) {
35232
35241
  if (!deepEq(prevProps.shape, this.props.shape)) {
35233
35242
  // eslint-disable-next-line react/no-string-refs
35234
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'reset' does not exist on type 'ReactInstance'.
35243
+ // @ts-expect-error - TS2339 - Property 'reset' does not exist on type 'ReactInstance'.
35235
35244
  this.refs.graph.reset();
35236
35245
  }
35237
35246
  }
@@ -35263,7 +35272,7 @@ class TransformerEditor extends React__namespace.Component {
35263
35272
  });
35264
35273
  _defineProperty(this, "serialize", () => {
35265
35274
  // eslint-disable-next-line react/no-string-refs
35266
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getEditorJSON' does not exist on type 'ReactInstance'.
35275
+ // @ts-expect-error - TS2339 - Property 'getEditorJSON' does not exist on type 'ReactInstance'.
35267
35276
  const json = this.refs.explorer.getEditorJSON();
35268
35277
  json.correct = json.answer;
35269
35278
  delete json.answer;
@@ -35405,7 +35414,7 @@ class UnitExample extends React__namespace.Component {
35405
35414
  }
35406
35415
  // TODO(jangmi, CP-3288): Remove usage of `UNSAFE_componentWillMount`
35407
35416
  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; }'.
35417
+ // @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
35418
  this._checkValidity(this.props);
35410
35419
  }
35411
35420
  UNSAFE_componentWillReceiveProps(nextProps) {
@@ -35441,13 +35450,13 @@ class UnitInputEditor extends React__namespace.Component {
35441
35450
  });
35442
35451
  _defineProperty(this, "handleAcceptingUnitsChange", event => {
35443
35452
  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.
35453
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35445
35454
  this.change({
35446
35455
  acceptingUnits
35447
35456
  });
35448
35457
  });
35449
35458
  _defineProperty(this, "handleSigfigChange", sigfigs => {
35450
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35459
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35451
35460
  this.change({
35452
35461
  sigfigs
35453
35462
  });
@@ -35456,7 +35465,7 @@ class UnitInputEditor extends React__namespace.Component {
35456
35465
  return sigfigs > 0 && sigfigs <= MAX_SIGFIGS;
35457
35466
  });
35458
35467
  _defineProperty(this, "_setAccepting", val => {
35459
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35468
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35460
35469
  this.change({
35461
35470
  accepting: val
35462
35471
  });
@@ -35517,7 +35526,7 @@ class UnitInputEditor extends React__namespace.Component {
35517
35526
  key: i
35518
35527
  }));
35519
35528
 
35520
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
35529
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
35521
35530
  acceptingElem = /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("input", {
35522
35531
  type: "text",
35523
35532
  defaultValue: acceptingUnits.join(", "),
@@ -35632,7 +35641,7 @@ class TextInput extends React__namespace.Component {
35632
35641
  super(...arguments);
35633
35642
  _defineProperty(this, "focus", () => {
35634
35643
  // eslint-disable-next-line react/no-string-refs
35635
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35644
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35636
35645
  this.refs.input.focus();
35637
35646
  return true;
35638
35647
  });
@@ -35673,7 +35682,7 @@ class ExampleWidget extends React__namespace.Component {
35673
35682
  });
35674
35683
  _defineProperty(this, "focus", () => {
35675
35684
  // eslint-disable-next-line react/no-string-refs
35676
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35685
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35677
35686
  this.refs.input.focus();
35678
35687
  return true;
35679
35688
  });
@@ -35721,7 +35730,7 @@ class ExampleWidget extends React__namespace.Component {
35721
35730
  , {
35722
35731
  ref: "input",
35723
35732
  value: this.props.value
35724
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35733
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35725
35734
  ,
35726
35735
  onChange: this.change("value")
35727
35736
  });
@@ -35767,7 +35776,7 @@ class SimpleMarkdownTester extends React__namespace.Component {
35767
35776
  });
35768
35777
  _defineProperty(this, "focus", () => {
35769
35778
  // eslint-disable-next-line react/no-string-refs
35770
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35779
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35771
35780
  this.refs.input.focus();
35772
35781
  return true;
35773
35782
  });
@@ -35792,7 +35801,7 @@ class SimpleMarkdownTester extends React__namespace.Component {
35792
35801
  };
35793
35802
  }
35794
35803
  render() {
35795
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 2 arguments, but got 1.
35804
+ // @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
35796
35805
  const parsed = mdParse(this.props.value);
35797
35806
  const output = mdOutput(parsed);
35798
35807
  return /*#__PURE__*/React__namespace.createElement("div", null, output);