@khanacademy/perseus-editor 2.6.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/article-editor.d.ts +1 -2
  3. package/dist/components/form-wrapped-text-field.d.ts +1 -10
  4. package/dist/components/graph-points-count-selector.d.ts +1 -1
  5. package/dist/es/index.js +414 -436
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/index.js +411 -435
  8. package/dist/index.js.map +1 -1
  9. package/dist/widgets/input-number-editor.d.ts +1 -2
  10. package/dist/widgets/interactive-graph-editor.d.ts +48 -47
  11. package/dist/widgets/plotter-editor.d.ts +47 -23
  12. package/package.json +12 -12
  13. package/src/__stories__/editor.stories.tsx +3 -1
  14. package/src/__tests__/i18n.test.ts +1 -1
  15. package/src/article-editor.tsx +13 -14
  16. package/src/components/checkbox.tsx +2 -1
  17. package/src/components/dropdown-option.tsx +13 -12
  18. package/src/components/form-wrapped-text-field.tsx +5 -2
  19. package/src/components/graph-points-count-selector.tsx +3 -1
  20. package/src/components/graph-settings.tsx +1 -1
  21. package/src/components/hover-behavior.ts +2 -2
  22. package/src/components/json-editor.tsx +2 -2
  23. package/src/components/sortable.tsx +1 -1
  24. package/src/components/util.ts +1 -1
  25. package/src/components/widget-editor.tsx +8 -7
  26. package/src/diffs/__tests__/structured-item-diff.test.ts +8 -8
  27. package/src/diffs/renderer-diff.tsx +3 -3
  28. package/src/diffs/split-diff.ts +2 -2
  29. package/src/diffs/structured-item-diff.tsx +11 -10
  30. package/src/diffs/text-diff.tsx +1 -1
  31. package/src/diffs/widget-diff.tsx +2 -2
  32. package/src/editor-page.tsx +8 -8
  33. package/src/editor.tsx +37 -36
  34. package/src/hint-editor.tsx +28 -27
  35. package/src/i18n.ts +4 -4
  36. package/src/iframe-content-renderer.tsx +10 -10
  37. package/src/item-editor.tsx +4 -4
  38. package/src/katex-mhchem/parser.js +24 -24
  39. package/src/multirenderer-editor.tsx +11 -11
  40. package/src/widgets/__stories__/label-image-editor.stories.tsx +1 -0
  41. package/src/widgets/__stories__/radio-editor.stories.tsx +1 -0
  42. package/src/widgets/categorizer-editor.tsx +3 -3
  43. package/src/widgets/cs-program-editor.tsx +2 -2
  44. package/src/widgets/definition-editor.tsx +3 -2
  45. package/src/widgets/dropdown-editor.tsx +9 -8
  46. package/src/widgets/example-graphie-widget-editor.tsx +1 -1
  47. package/src/widgets/example-graphie-widget.tsx +2 -2
  48. package/src/widgets/example-widget-editor.tsx +2 -2
  49. package/src/widgets/example-widget.tsx +4 -3
  50. package/src/widgets/explanation-editor.tsx +4 -3
  51. package/src/widgets/expression-editor.tsx +9 -9
  52. package/src/widgets/graded-group-editor.tsx +7 -6
  53. package/src/widgets/graded-group-set-editor.tsx +3 -3
  54. package/src/widgets/grapher-editor.tsx +3 -2
  55. package/src/widgets/group-editor.tsx +4 -3
  56. package/src/widgets/iframe-editor.tsx +5 -4
  57. package/src/widgets/input-number-editor.tsx +6 -6
  58. package/src/widgets/interaction-editor.tsx +103 -102
  59. package/src/widgets/interactive-graph-editor.tsx +12 -8
  60. package/src/widgets/label-image/marker.tsx +2 -1
  61. package/src/widgets/label-image/question-markers.tsx +1 -1
  62. package/src/widgets/lights-puzzle-editor.tsx +5 -4
  63. package/src/widgets/matrix-editor.tsx +2 -2
  64. package/src/widgets/measurer-editor.tsx +7 -6
  65. package/src/widgets/molecule-editor.tsx +2 -2
  66. package/src/widgets/number-line-editor.tsx +2 -1
  67. package/src/widgets/numeric-input-editor.tsx +2 -2
  68. package/src/widgets/orderer-editor.tsx +3 -2
  69. package/src/widgets/passage-editor.tsx +3 -3
  70. package/src/widgets/passage-ref-editor.tsx +4 -3
  71. package/src/widgets/passage-ref-target-editor.tsx +1 -1
  72. package/src/widgets/plotter-editor.tsx +253 -243
  73. package/src/widgets/radio/editor.tsx +3 -3
  74. package/src/widgets/reaction-diagram-editor.tsx +5 -5
  75. package/src/widgets/sequence-editor.tsx +1 -1
  76. package/src/widgets/simple-markdown-tester-editor.tsx +4 -3
  77. package/src/widgets/simple-markdown-tester.tsx +2 -2
  78. package/src/widgets/simulator-editor.tsx +1 -1
  79. package/src/widgets/sorter-editor.tsx +2 -1
  80. package/src/widgets/table-editor.tsx +1 -1
  81. package/src/widgets/transformer-editor.tsx +10 -10
  82. package/src/widgets/unit-editor.tsx +5 -5
  83. package/tsconfig-build.tsbuildinfo +1 -1
  84. package/dist/all-editors.js.flow +0 -8
  85. package/dist/all-widgets.js.flow +0 -34
  86. package/dist/article-editor.js.flow +0 -72
  87. package/dist/components/blur-input.js.flow +0 -25
  88. package/dist/components/checkbox.js.flow +0 -26
  89. package/dist/components/device-framer.js.flow +0 -20
  90. package/dist/components/drag-target.js.flow +0 -8
  91. package/dist/components/dropdown-option.js.flow +0 -49
  92. package/dist/components/form-wrapped-text-field.js.flow +0 -45
  93. package/dist/components/graph-points-count-selector.js.flow +0 -12
  94. package/dist/components/graph-settings.js.flow +0 -8
  95. package/dist/components/graph-type-selector.js.flow +0 -12
  96. package/dist/components/hover-behavior.js.flow +0 -48
  97. package/dist/components/json-editor.js.flow +0 -8
  98. package/dist/components/link.js.flow +0 -50
  99. package/dist/components/section-control-button.js.flow +0 -25
  100. package/dist/components/segment-count-selector.js.flow +0 -11
  101. package/dist/components/simple-button.js.flow +0 -18
  102. package/dist/components/sortable.js.flow +0 -8
  103. package/dist/components/util.js.flow +0 -9
  104. package/dist/components/viewport-resizer.js.flow +0 -22
  105. package/dist/components/widget-editor.js.flow +0 -91
  106. package/dist/components/widget-select.js.flow +0 -16
  107. package/dist/diffs/article-diff.js.flow +0 -71
  108. package/dist/diffs/item-diff.js.flow +0 -41
  109. package/dist/diffs/renderer-diff.js.flow +0 -25
  110. package/dist/diffs/split-diff.js.flow +0 -8
  111. package/dist/diffs/string-array-diff.js.flow +0 -11
  112. package/dist/diffs/structured-item-diff.js.flow +0 -37
  113. package/dist/diffs/tags-diff.js.flow +0 -24
  114. package/dist/diffs/text-diff.js.flow +0 -21
  115. package/dist/diffs/widget-diff-performer.js.flow +0 -8
  116. package/dist/diffs/widget-diff.js.flow +0 -31
  117. package/dist/editor-page.js.flow +0 -72
  118. package/dist/editor.js.flow +0 -96
  119. package/dist/hint-editor.js.flow +0 -87
  120. package/dist/i18n.js.flow +0 -13
  121. package/dist/iframe-content-renderer.js.flow +0 -28
  122. package/dist/index.js.flow +0 -23
  123. package/dist/item-editor.js.flow +0 -46
  124. package/dist/item-extras-editor.js.flow +0 -23
  125. package/dist/katex-error-view.js.flow +0 -24
  126. package/dist/multirenderer-editor.js.flow +0 -46
  127. package/dist/stateful-article-editor.js.flow +0 -16
  128. package/dist/stateful-editor-page.js.flow +0 -8
  129. package/dist/testing-widgets.js.flow +0 -34
  130. package/dist/util/points.js.flow +0 -9
  131. package/dist/util/register-all-widgets-and-editors-for-testing.js.flow +0 -7
  132. package/dist/widgets/categorizer-editor.js.flow +0 -62
  133. package/dist/widgets/cs-program-editor.js.flow +0 -25
  134. package/dist/widgets/definition-editor.js.flow +0 -23
  135. package/dist/widgets/dropdown-editor.js.flow +0 -37
  136. package/dist/widgets/example-graphie-widget-editor.js.flow +0 -25
  137. package/dist/widgets/example-graphie-widget.js.flow +0 -102
  138. package/dist/widgets/example-widget-editor.js.flow +0 -26
  139. package/dist/widgets/example-widget.js.flow +0 -86
  140. package/dist/widgets/explanation-editor.js.flow +0 -27
  141. package/dist/widgets/expression-editor.js.flow +0 -43
  142. package/dist/widgets/graded-group-editor.js.flow +0 -68
  143. package/dist/widgets/graded-group-set-editor.js.flow +0 -66
  144. package/dist/widgets/grapher-editor.js.flow +0 -21
  145. package/dist/widgets/group-editor.js.flow +0 -64
  146. package/dist/widgets/iframe-editor.js.flow +0 -24
  147. package/dist/widgets/image-editor.js.flow +0 -8
  148. package/dist/widgets/input-number-editor.js.flow +0 -77
  149. package/dist/widgets/interaction/constraint-editor.js.flow +0 -35
  150. package/dist/widgets/interaction-editor.js.flow +0 -36
  151. package/dist/widgets/interactive-graph-editor.js.flow +0 -5803
  152. package/dist/widgets/label-image/answer-choices.js.flow +0 -16
  153. package/dist/widgets/label-image/behavior.js.flow +0 -17
  154. package/dist/widgets/label-image/marker.js.flow +0 -32
  155. package/dist/widgets/label-image/question-markers.js.flow +0 -23
  156. package/dist/widgets/label-image/select-image.js.flow +0 -13
  157. package/dist/widgets/label-image-editor.js.flow +0 -44
  158. package/dist/widgets/lights-puzzle-editor.js.flow +0 -34
  159. package/dist/widgets/matcher-editor.js.flow +0 -28
  160. package/dist/widgets/matrix-editor.js.flow +0 -26
  161. package/dist/widgets/measurer-editor.js.flow +0 -42
  162. package/dist/widgets/molecule-editor.js.flow +0 -23
  163. package/dist/widgets/number-line-editor.js.flow +0 -45
  164. package/dist/widgets/numeric-input-editor.js.flow +0 -8
  165. package/dist/widgets/orderer-editor.js.flow +0 -30
  166. package/dist/widgets/passage-editor.js.flow +0 -24
  167. package/dist/widgets/passage-ref-editor.js.flow +0 -17
  168. package/dist/widgets/passage-ref-target-editor.js.flow +0 -22
  169. package/dist/widgets/plotter-editor.js.flow +0 -53
  170. package/dist/widgets/radio/editor.js.flow +0 -81
  171. package/dist/widgets/reaction-diagram-editor.js.flow +0 -26
  172. package/dist/widgets/sequence-editor.js.flow +0 -73
  173. package/dist/widgets/simple-markdown-tester-editor.js.flow +0 -23
  174. package/dist/widgets/simple-markdown-tester.js.flow +0 -61
  175. package/dist/widgets/simulator-editor.js.flow +0 -26
  176. package/dist/widgets/sorter-editor.js.flow +0 -22
  177. package/dist/widgets/table-editor.js.flow +0 -24
  178. package/dist/widgets/transformer-editor.js.flow +0 -17
  179. package/dist/widgets/unit-editor.js.flow +0 -41
  180. package/dist/widgets/video-editor.js.flow +0 -25
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) {
@@ -18430,7 +18430,7 @@ mhchemParser.stateMachines = {
18430
18430
  }
18431
18431
  },
18432
18432
  oxidation$: {
18433
- "0": {
18433
+ 0: {
18434
18434
  action_: "oxidation-output"
18435
18435
  }
18436
18436
  },
@@ -18497,7 +18497,7 @@ mhchemParser.stateMachines = {
18497
18497
  action_: ["output", "d="],
18498
18498
  nextState: "d"
18499
18499
  },
18500
- "3": {
18500
+ 3: {
18501
18501
  action_: ["sb=false", "output", "operator"],
18502
18502
  nextState: "0"
18503
18503
  }
@@ -18591,7 +18591,7 @@ mhchemParser.stateMachines = {
18591
18591
  }],
18592
18592
  nextState: "3"
18593
18593
  },
18594
- "3": {
18594
+ 3: {
18595
18595
  action_: {
18596
18596
  type_: "bond",
18597
18597
  option: "-"
@@ -18691,7 +18691,7 @@ mhchemParser.stateMachines = {
18691
18691
  a: {
18692
18692
  nextState: "as"
18693
18693
  },
18694
- "0": {
18694
+ 0: {
18695
18695
  action_: "sb=false"
18696
18696
  },
18697
18697
  "1|2": {
@@ -19302,12 +19302,12 @@ mhchemParser.stateMachines = {
19302
19302
  "*": {}
19303
19303
  },
19304
19304
  "1/2$": {
19305
- "0": {
19305
+ 0: {
19306
19306
  action_: "1/2"
19307
19307
  }
19308
19308
  },
19309
19309
  else: {
19310
- "0": {
19310
+ 0: {
19311
19311
  nextState: "1",
19312
19312
  revisit: true
19313
19313
  }
@@ -19340,12 +19340,12 @@ mhchemParser.stateMachines = {
19340
19340
  "*": {}
19341
19341
  },
19342
19342
  "1/2$": {
19343
- "0": {
19343
+ 0: {
19344
19344
  action_: "1/2"
19345
19345
  }
19346
19346
  },
19347
19347
  else: {
19348
- "0": {
19348
+ 0: {
19349
19349
  nextState: "1",
19350
19350
  revisit: true
19351
19351
  }
@@ -19446,30 +19446,30 @@ mhchemParser.stateMachines = {
19446
19446
  }
19447
19447
  },
19448
19448
  i$: {
19449
- "0": {
19449
+ 0: {
19450
19450
  nextState: "!f",
19451
19451
  revisit: true
19452
19452
  }
19453
19453
  },
19454
19454
  "(KV letters),": {
19455
- "0": {
19455
+ 0: {
19456
19456
  action_: "rm",
19457
19457
  nextState: "0"
19458
19458
  }
19459
19459
  },
19460
19460
  formula$: {
19461
- "0": {
19461
+ 0: {
19462
19462
  nextState: "f",
19463
19463
  revisit: true
19464
19464
  }
19465
19465
  },
19466
19466
  "1/2$": {
19467
- "0": {
19467
+ 0: {
19468
19468
  action_: "1/2"
19469
19469
  }
19470
19470
  },
19471
19471
  else: {
19472
- "0": {
19472
+ 0: {
19473
19473
  nextState: "!f",
19474
19474
  revisit: true
19475
19475
  }
@@ -19555,19 +19555,19 @@ mhchemParser.stateMachines = {
19555
19555
  "*": {}
19556
19556
  },
19557
19557
  x$: {
19558
- "0": {
19558
+ 0: {
19559
19559
  nextState: "!f",
19560
19560
  revisit: true
19561
19561
  }
19562
19562
  },
19563
19563
  formula$: {
19564
- "0": {
19564
+ 0: {
19565
19565
  nextState: "f",
19566
19566
  revisit: true
19567
19567
  }
19568
19568
  },
19569
19569
  else: {
19570
- "0": {
19570
+ 0: {
19571
19571
  nextState: "!f",
19572
19572
  revisit: true
19573
19573
  }
@@ -19820,13 +19820,13 @@ mhchemParser.stateMachines = {
19820
19820
  }
19821
19821
  },
19822
19822
  "(-)(9)^(-9)": {
19823
- "0": {
19823
+ 0: {
19824
19824
  action_: "number^",
19825
19825
  nextState: "a"
19826
19826
  }
19827
19827
  },
19828
19828
  "(-)(9.,9)(e)(99)": {
19829
- "0": {
19829
+ 0: {
19830
19830
  action_: "enumber",
19831
19831
  nextState: "a"
19832
19832
  }
@@ -20014,16 +20014,16 @@ mhchemParser.stateMachines = {
20014
20014
  }
20015
20015
  },
20016
20016
  "^{(...)}|^(-1)": {
20017
- "1": {
20017
+ 1: {
20018
20018
  action_: "^(-1)"
20019
20019
  }
20020
20020
  },
20021
20021
  "-9.,9": {
20022
- "0": {
20022
+ 0: {
20023
20023
  action_: "rm=",
20024
20024
  nextState: "0"
20025
20025
  },
20026
- "1": {
20026
+ 1: {
20027
20027
  action_: "^(-1)",
20028
20028
  nextState: "0"
20029
20029
  }
@@ -20073,7 +20073,7 @@ mhchemParser.stateMachines = {
20073
20073
  "pu-9,9": {
20074
20074
  transitions: mhchemParser.createTransitions({
20075
20075
  empty: {
20076
- "0": {
20076
+ 0: {
20077
20077
  action_: "output-0"
20078
20078
  },
20079
20079
  o: {
@@ -20081,13 +20081,13 @@ mhchemParser.stateMachines = {
20081
20081
  }
20082
20082
  },
20083
20083
  ",": {
20084
- "0": {
20084
+ 0: {
20085
20085
  action_: ["output-0", "comma"],
20086
20086
  nextState: "o"
20087
20087
  }
20088
20088
  },
20089
20089
  ".": {
20090
- "0": {
20090
+ 0: {
20091
20091
  action_: ["output-0", "copy"],
20092
20092
  nextState: "o"
20093
20093
  }
@@ -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;
@@ -23331,10 +23331,7 @@ _defineProperty(TagsDiff, "defaultProps", {
23331
23331
  title: "Question tags"
23332
23332
  });
23333
23333
 
23334
- /**
23335
- * A side by side diff view for Perseus exercise items
23336
- * that do not have the standard question layout.
23337
- */
23334
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
23338
23335
  /**
23339
23336
  * Outputs true if path begins with beginPath, false otherwise.
23340
23337
  */
@@ -23373,10 +23370,10 @@ function getTitle(path) {
23373
23370
  const title = [];
23374
23371
  for (let i = 0; i < path.length; i++) {
23375
23372
  if (typeof path[i] === "number") {
23376
- // @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'.
23377
23374
  title.push((path[i] + 1).toString() + ":");
23378
23375
  } else {
23379
- // @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'.
23380
23377
  title.push(path[i]);
23381
23378
  }
23382
23379
  }
@@ -23436,11 +23433,11 @@ class StructuredItemDiff extends React__namespace.Component {
23436
23433
  const afterList = [];
23437
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);
23438
23435
  perseus.buildMapper()
23439
- // @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'.
23440
23437
  .setContentMapper((c, _, p) => afterList.push([c, p]))
23441
- // @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'.
23442
23439
  .setHintMapper((c, _, p) => afterList.push([c, p]))
23443
- // @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'.
23444
23441
  .setTagsMapper((c, _, p) => afterList.push([c, p])).mapTree(perseus.itemToTree(after), shape);
23445
23442
 
23446
23443
  // These are used in generateCompletePathsList()
@@ -23464,7 +23461,7 @@ class StructuredItemDiff extends React__namespace.Component {
23464
23461
  before = [[], path];
23465
23462
  }
23466
23463
  if (!after) {
23467
- // @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'.
23468
23465
  after = [[], path];
23469
23466
  }
23470
23467
  const beforeTags = [];
@@ -23476,9 +23473,9 @@ class StructuredItemDiff extends React__namespace.Component {
23476
23473
  });
23477
23474
  }
23478
23475
  const afterTags = [];
23479
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
23476
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
23480
23477
  if (Array.isArray(after[0])) {
23481
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
23478
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
23482
23479
  after[0].forEach(tagId => {
23483
23480
  if (typeof tagId === "string") {
23484
23481
  afterTags.push(tags.idToName(tagId));
@@ -23501,12 +23498,12 @@ class StructuredItemDiff extends React__namespace.Component {
23501
23498
  before = [perseus.buildEmptyItemTreeForShape(perseus.shapes.content), path];
23502
23499
  }
23503
23500
  if (!after) {
23504
- // @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'.
23505
23502
  after = [perseus.buildEmptyItemTreeForShape(perseus.shapes.content), path];
23506
23503
  }
23507
23504
  return /*#__PURE__*/React__namespace.createElement(RendererDiff, {
23508
23505
  before: before[0]
23509
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
23506
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
23510
23507
  ,
23511
23508
  after: after[0],
23512
23509
  title: currentTitle,
@@ -23549,17 +23546,17 @@ class HintEditor extends React__namespace.Component {
23549
23546
  });
23550
23547
  _defineProperty(this, "focus", () => {
23551
23548
  // eslint-disable-next-line react/no-string-refs
23552
- // @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'.
23553
23550
  this.refs.editor.focus();
23554
23551
  });
23555
23552
  _defineProperty(this, "getSaveWarnings", () => {
23556
23553
  // eslint-disable-next-line react/no-string-refs
23557
- // @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'.
23558
23555
  return this.refs.editor.getSaveWarnings();
23559
23556
  });
23560
23557
  _defineProperty(this, "serialize", options => {
23561
23558
  // eslint-disable-next-line react/no-string-refs
23562
- // @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'.
23563
23560
  return this.refs.editor.serialize(options);
23564
23561
  });
23565
23562
  }
@@ -23600,7 +23597,7 @@ class HintEditor extends React__namespace.Component {
23600
23597
  onClick: ___default["default"].partial(this.props.onMove, -1)
23601
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", {
23602
23599
  type: "checkbox"
23603
- // @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'.
23604
23601
  ,
23605
23602
  checked: this.props.replace,
23606
23603
  onChange: this.handleChange
@@ -23627,7 +23624,7 @@ class CombinedHintEditor extends React__namespace.Component {
23627
23624
  const shouldBold = this.props.isLast && !/\*\*/.test(this.props.hint.content);
23628
23625
 
23629
23626
  // eslint-disable-next-line react/no-string-refs
23630
- // @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'.
23631
23628
  this.refs.frame.sendNewData({
23632
23629
  type: "hint",
23633
23630
  data: {
@@ -23645,17 +23642,17 @@ class CombinedHintEditor extends React__namespace.Component {
23645
23642
  });
23646
23643
  _defineProperty(this, "getSaveWarnings", () => {
23647
23644
  // eslint-disable-next-line react/no-string-refs
23648
- // @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'.
23649
23646
  return this.refs.editor.getSaveWarnings();
23650
23647
  });
23651
23648
  _defineProperty(this, "serialize", options => {
23652
23649
  // eslint-disable-next-line react/no-string-refs
23653
- // @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'.
23654
23651
  return this.refs.editor.serialize(options);
23655
23652
  });
23656
23653
  _defineProperty(this, "focus", () => {
23657
23654
  // eslint-disable-next-line react/no-string-refs
23658
- // @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'.
23659
23656
  this.refs.editor.focus();
23660
23657
  });
23661
23658
  }
@@ -23723,38 +23720,38 @@ class CombinedHintsEditor extends React__namespace.Component {
23723
23720
  keepDeletedWidgets: true
23724
23721
  }), newProps);
23725
23722
 
23726
- // @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.
23727
23724
  this.props.onChange({
23728
23725
  hints: hints
23729
23726
  }, cb, silent);
23730
23727
  });
23731
23728
  _defineProperty(this, "handleHintRemove", i => {
23732
23729
  const hints = ___default["default"](this.props.hints).clone();
23733
- // @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'.
23734
23731
  hints.splice(i, 1);
23735
- // @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[]'.
23736
23733
  this.props.onChange({
23737
23734
  hints: hints
23738
23735
  });
23739
23736
  });
23740
23737
  _defineProperty(this, "handleHintMove", (i, dir) => {
23741
23738
  const hints = ___default["default"](this.props.hints).clone();
23742
- // @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'.
23743
23740
  const hint = hints.splice(i, 1)[0];
23744
- // @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'.
23745
23742
  hints.splice(i + dir, 0, hint);
23746
- // @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[]'.
23747
23744
  this.props.onChange({
23748
23745
  hints: hints
23749
23746
  }, () => {
23750
23747
  // eslint-disable-next-line react/no-string-refs
23751
- // @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'.
23752
23749
  this.refs["hintEditor" + (i + dir)].focus();
23753
23750
  });
23754
23751
  });
23755
23752
  _defineProperty(this, "addHint", () => {
23756
23753
  const hints = ___default["default"](this.props.hints).clone()
23757
- // @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'.
23758
23755
  .concat([{
23759
23756
  content: ""
23760
23757
  }]);
@@ -23763,7 +23760,7 @@ class CombinedHintsEditor extends React__namespace.Component {
23763
23760
  }, () => {
23764
23761
  const i = hints.length - 1;
23765
23762
  // eslint-disable-next-line react/no-string-refs
23766
- // @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'.
23767
23764
  this.refs["hintEditor" + i].focus();
23768
23765
  });
23769
23766
  });
@@ -23771,7 +23768,7 @@ class CombinedHintsEditor extends React__namespace.Component {
23771
23768
  return ___default["default"].chain(this.props.hints).map((hint, i) => {
23772
23769
  return ___default["default"].map(
23773
23770
  // eslint-disable-next-line react/no-string-refs
23774
- // @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'.
23775
23772
  this.refs["hintEditor" + i].getSaveWarnings(), issue => "Hint " + (i + 1) + ": " + issue);
23776
23773
  }).flatten(true).value();
23777
23774
  });
@@ -23782,7 +23779,7 @@ class CombinedHintsEditor extends React__namespace.Component {
23782
23779
  });
23783
23780
  _defineProperty(this, "serializeHint", (index, options) => {
23784
23781
  // eslint-disable-next-line react/no-string-refs
23785
- // @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'.
23786
23783
  return this.refs["hintEditor" + index].serialize(options);
23787
23784
  });
23788
23785
  }
@@ -23800,31 +23797,31 @@ class CombinedHintsEditor extends React__namespace.Component {
23800
23797
  itemId: itemId,
23801
23798
  hint: hint,
23802
23799
  pos: i
23803
- // @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.
23804
23801
  ,
23805
23802
  imageUploader: this.props.imageUploader
23806
23803
  // eslint-disable-next-line react/jsx-no-bind
23807
- // @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.
23808
23805
  ,
23809
23806
  onChange: this.handleHintChange.bind(this, i)
23810
23807
  // eslint-disable-next-line react/jsx-no-bind
23811
- // @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.
23812
23809
  ,
23813
23810
  onRemove: this.handleHintRemove.bind(this, i)
23814
23811
  // eslint-disable-next-line react/jsx-no-bind
23815
- // @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.
23816
23813
  ,
23817
23814
  onMove: this.handleHintMove.bind(this, i)
23818
- // @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.
23819
23816
  ,
23820
23817
  deviceType: this.props.deviceType
23821
- // @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.
23822
23819
  ,
23823
23820
  apiOptions: this.props.apiOptions
23824
- // @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.
23825
23822
  ,
23826
23823
  highlightLint: this.props.highlightLint
23827
- // @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.
23828
23825
  ,
23829
23826
  previewURL: this.props.previewURL
23830
23827
  // TODO(CP-4838): what should be passed here?
@@ -23943,7 +23940,7 @@ class ItemEditor extends React__namespace.Component {
23943
23940
  });
23944
23941
  _defineProperty(this, "triggerPreviewUpdate", newData => {
23945
23942
  // eslint-disable-next-line react/no-string-refs
23946
- // @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'.
23947
23944
  this.refs.frame.sendNewData(newData);
23948
23945
  });
23949
23946
  _defineProperty(this, "handleEditorChange", (newProps, cb, silent) => {
@@ -23960,16 +23957,16 @@ class ItemEditor extends React__namespace.Component {
23960
23957
  });
23961
23958
  _defineProperty(this, "getSaveWarnings", () => {
23962
23959
  // eslint-disable-next-line react/no-string-refs
23963
- // @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'.
23964
23961
  return this.refs.questionEditor.getSaveWarnings();
23965
23962
  });
23966
23963
  _defineProperty(this, "serialize", options => {
23967
23964
  return {
23968
23965
  // eslint-disable-next-line react/no-string-refs
23969
- // @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'.
23970
23967
  question: this.refs.questionEditor.serialize(options),
23971
23968
  // eslint-disable-next-line react/no-string-refs
23972
- // @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'.
23973
23970
  answerArea: this.refs.itemExtrasEditor.serialize(options),
23974
23971
  itemDataVersion: ITEM_DATA_VERSION
23975
23972
  };
@@ -24051,7 +24048,7 @@ const {
24051
24048
  HUD
24052
24049
  } = perseus.components;
24053
24050
  class EditorPage extends React__namespace.Component {
24054
- // @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.
24055
24052
 
24056
24053
  constructor(props) {
24057
24054
  super(props);
@@ -24081,7 +24078,7 @@ class EditorPage extends React__namespace.Component {
24081
24078
  this.props.onChange(newJson);
24082
24079
  });
24083
24080
  this.state = {
24084
- // @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'.
24085
24082
  json: ___default["default"].pick(this.props, "question", "answerArea", "hints", "itemDataVersion"),
24086
24083
  gradeMessage: "",
24087
24084
  wasAnswered: false,
@@ -24127,7 +24124,7 @@ class EditorPage extends React__namespace.Component {
24127
24124
  };
24128
24125
 
24129
24126
  // eslint-disable-next-line react/no-string-refs
24130
- // @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'.
24131
24128
  this.refs.itemEditor.triggerPreviewUpdate({
24132
24129
  type: "question",
24133
24130
  data: ___default["default"]({
@@ -24143,7 +24140,7 @@ class EditorPage extends React__namespace.Component {
24143
24140
  },
24144
24141
  reviewMode: true,
24145
24142
  // eslint-disable-next-line react/no-string-refs
24146
- // @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'.
24147
24144
  legacyPerseusLint: this.refs.itemEditor.getSaveWarnings()
24148
24145
  }).extend(___default["default"](this.props).pick("workAreaSelector", "solutionAreaSelector", "hintsAreaSelector", "problemNum"))
24149
24146
  });
@@ -24156,10 +24153,10 @@ class EditorPage extends React__namespace.Component {
24156
24153
  }
24157
24154
  getSaveWarnings() {
24158
24155
  // eslint-disable-next-line react/no-string-refs
24159
- // @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'.
24160
24157
  const issues1 = this.refs.itemEditor.getSaveWarnings();
24161
24158
  // eslint-disable-next-line react/no-string-refs
24162
- // @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'.
24163
24160
  const issues2 = this.refs.hintsEditor.getSaveWarnings();
24164
24161
  return issues1.concat(issues2);
24165
24162
  }
@@ -24168,10 +24165,10 @@ class EditorPage extends React__namespace.Component {
24168
24165
  return this.state.json;
24169
24166
  }
24170
24167
  // eslint-disable-next-line react/no-string-refs
24171
- // @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'.
24172
24169
  return ___default["default"].extend(this.refs.itemEditor.serialize(options), {
24173
24170
  // eslint-disable-next-line react/no-string-refs
24174
- // @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'.
24175
24172
  hints: this.refs.hintsEditor.serialize(options)
24176
24173
  });
24177
24174
  }
@@ -24265,7 +24262,7 @@ const {
24265
24262
 
24266
24263
  // Takes a renderer content and parses the markdown for images
24267
24264
  function findImagesInContent(content, images) {
24268
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 2 arguments, but got 1.
24265
+ // @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
24269
24266
  const parsed = perseus.PerseusMarkdown.parse(content);
24270
24267
  perseus.PerseusMarkdown.traverseContent(parsed, function (node) {
24271
24268
  if (node.type === "image") {
@@ -24366,12 +24363,12 @@ function findImagesInItemData(itemData) {
24366
24363
  let renderers = [];
24367
24364
  if (itemData._multi) {
24368
24365
  const shape = inferItemShape(itemData);
24369
- // @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'.
24370
24367
  findContentNodesInItem(itemData, shape, node => renderers.push(node));
24371
- // @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'.
24372
24369
  findHintNodesInItem(itemData, shape, node => renderers.push(node));
24373
24370
  } else {
24374
- // @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'.
24375
24372
  renderers = [itemData.question, ...itemData.hints];
24376
24373
  }
24377
24374
  return findImagesInRenderers(renderers);
@@ -25124,7 +25121,7 @@ const withStickiness = WrappedComponent => {
25124
25121
  });
25125
25122
  _defineProperty(this, "updateStickiness", () => {
25126
25123
  const domNode = ReactDOM__default["default"].findDOMNode(this);
25127
- // @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'.
25128
25125
  const height = domNode.offsetHeight;
25129
25126
  const windowHeight = window.innerHeight;
25130
25127
  const sticky = height > windowHeight;
@@ -25138,7 +25135,7 @@ const withStickiness = WrappedComponent => {
25138
25135
  componentDidMount() {
25139
25136
  // TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
25140
25137
  // eslint-disable-next-line no-restricted-syntax
25141
- // @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'.
25142
25139
  this.stickynessTimer = setInterval(this.updateStickiness, 1000);
25143
25140
  this.updateStickiness();
25144
25141
  }
@@ -25150,7 +25147,7 @@ const withStickiness = WrappedComponent => {
25150
25147
  render() {
25151
25148
  return (
25152
25149
  /*#__PURE__*/
25153
- // @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>>>'.
25154
25151
  React__namespace.createElement(WrappedComponent, _extends({}, this.props, {
25155
25152
  sticky: this.state.sticky
25156
25153
  }))
@@ -25178,7 +25175,7 @@ const ItemNodeContent = withStickiness(props => {
25178
25175
  className: aphrodite.css(sticky && styles$c.sticky)
25179
25176
  },
25180
25177
  /*#__PURE__*/
25181
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
25178
+ // @ts-expect-error - TS2769 - No overload matches this call.
25182
25179
  React__namespace.createElement(Editor, _extends({}, data, {
25183
25180
  onChange: newVal => actions.mergeValueAtPath(path, newVal),
25184
25181
  apiOptions: apiOptions
@@ -25448,19 +25445,19 @@ class MultiRendererEditor extends React__namespace.Component {
25448
25445
  });
25449
25446
  _defineProperty(this, "score", () => {
25450
25447
  if (this.layout) {
25451
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25448
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25452
25449
  return this.layout.score();
25453
25450
  }
25454
25451
  });
25455
25452
  _defineProperty(this, "getSerializedState", () => {
25456
25453
  if (this.layout) {
25457
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25454
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25458
25455
  return this.layout.getSerializedState();
25459
25456
  }
25460
25457
  });
25461
25458
  _defineProperty(this, "restoreSerializedState", state => {
25462
25459
  if (this.layout) {
25463
- // @ts-expect-error [FEI-5003] - TS2571 - Object is of type 'unknown'.
25460
+ // @ts-expect-error - TS2571 - Object is of type 'unknown'.
25464
25461
  this.layout.restoreSerializedState(state);
25465
25462
  }
25466
25463
  });
@@ -25792,14 +25789,14 @@ class CategorizerEditor extends React__namespace.Component {
25792
25789
  })), "Categories:", /*#__PURE__*/React__namespace.createElement(TextListEditor$4, {
25793
25790
  options: this.props.categories,
25794
25791
  onChange: cat => {
25795
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
25792
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
25796
25793
  this.change("categories", cat);
25797
25794
  },
25798
25795
  layout: "horizontal"
25799
25796
  }), "Items:", /*#__PURE__*/React__namespace.createElement(TextListEditor$4, {
25800
25797
  options: this.props.items,
25801
25798
  onChange: items => {
25802
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
25799
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
25803
25800
  this.change({
25804
25801
  items: items,
25805
25802
  // TODO(eater): This truncates props.values so there
@@ -26015,7 +26012,7 @@ class CSProgramEditor extends React__namespace.Component {
26015
26012
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
26016
26013
  args[_key3] = arguments[_key3];
26017
26014
  }
26018
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
26015
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
26019
26016
  return perseus.Changeable.change.apply(_this3, args);
26020
26017
  });
26021
26018
  _defineProperty(this, "_handleSettingsChange", settings => {
@@ -26041,7 +26038,7 @@ class CSProgramEditor extends React__namespace.Component {
26041
26038
  });
26042
26039
  }).fail((jqxhr, textStatus, error) => {
26043
26040
  perseus.Log.error("Error retrieving scratchpad info for program ID ", perseus.Errors.TransientService, {
26044
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'Error | null | undefined'.
26041
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'Error | null | undefined'.
26045
26042
  cause: error,
26046
26043
  loggedMetadata: {
26047
26044
  textStatus,
@@ -26124,7 +26121,7 @@ class DefinitionEditor extends React__namespace.Component {
26124
26121
  className: "perseus-widget-row"
26125
26122
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Word to be defined:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$8, {
26126
26123
  value: this.props.togglePrompt
26127
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26124
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26128
26125
  ,
26129
26126
  onChange: this.change("togglePrompt"),
26130
26127
  placeholder: "define me"
@@ -26140,7 +26137,7 @@ class DefinitionEditor extends React__namespace.Component {
26140
26137
  if (___default["default"].has(props, "content")) {
26141
26138
  newProps.definition = props.content;
26142
26139
  }
26143
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26140
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26144
26141
  this.change(newProps);
26145
26142
  }
26146
26143
  })));
@@ -26214,7 +26211,7 @@ class DropdownEditor extends React__namespace.Component {
26214
26211
  });
26215
26212
  });
26216
26213
  _defineProperty(this, "focus", i => {
26217
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
26214
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
26218
26215
  ReactDOM__default["default"].findDOMNode(this.refs["editor" + i]).focus(); // eslint-disable-line react/no-string-refs
26219
26216
  return true;
26220
26217
  });
@@ -26247,24 +26244,24 @@ class DropdownEditor extends React__namespace.Component {
26247
26244
  ref: "radio" + i,
26248
26245
  type: "radio",
26249
26246
  name: dropdownGroupName
26250
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'boolean | undefined'.
26247
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'boolean | undefined'.
26251
26248
  ,
26252
26249
  checked: choice.correct ? "checked" : ""
26253
26250
  // eslint-disable-next-line react/jsx-no-bind
26254
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26251
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26255
26252
  ,
26256
26253
  onChange: this.onCorrectChange.bind(
26257
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26254
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26258
26255
  this, i),
26259
26256
  value: i
26260
26257
  }), /*#__PURE__*/React__namespace.createElement("input", {
26261
26258
  type: "text",
26262
26259
  ref: "editor" + i
26263
26260
  // eslint-disable-next-line react/jsx-no-bind
26264
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26261
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26265
26262
  ,
26266
26263
  onChange: this.onContentChange.bind(
26267
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26264
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26268
26265
  this, i),
26269
26266
  className: checkedClass,
26270
26267
  value: choice.content
@@ -26272,10 +26269,10 @@ class DropdownEditor extends React__namespace.Component {
26272
26269
  href: "#",
26273
26270
  className: "simple-button orange"
26274
26271
  // eslint-disable-next-line react/jsx-no-bind
26275
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26272
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26276
26273
  ,
26277
26274
  onClick: this.removeChoice.bind(
26278
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26275
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
26279
26276
  this, i)
26280
26277
  }, /*#__PURE__*/React__namespace.createElement("span", {
26281
26278
  className: "remove-choice"
@@ -26309,7 +26306,7 @@ const {
26309
26306
  Graphie
26310
26307
  } = perseus.components;
26311
26308
 
26312
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
26309
+ // @ts-expect-error - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
26313
26310
  const MovablePoint = Graphie.MovablePoint;
26314
26311
  /**
26315
26312
  * This is the widget's renderer. It shows up in the right column
@@ -26331,7 +26328,7 @@ class ExampleGraphieWidget$1 extends React__namespace.Component {
26331
26328
  return perseus.Changeable.change.apply(_this, args);
26332
26329
  });
26333
26330
  _defineProperty(this, "movePoint", newCoord => {
26334
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26331
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26335
26332
  this.change({
26336
26333
  coord: newCoord
26337
26334
  });
@@ -26457,7 +26454,7 @@ class ExampleGraphieWidgetEditor extends React__namespace.Component {
26457
26454
  });
26458
26455
  _defineProperty(this, "handleChange", newProps => {
26459
26456
  if (newProps.coord) {
26460
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26457
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26461
26458
  this.change({
26462
26459
  correct: newProps.coord
26463
26460
  });
@@ -26505,7 +26502,7 @@ class ExampleWidgetEditor extends React__namespace.Component {
26505
26502
  super(...arguments);
26506
26503
  _this = this;
26507
26504
  _defineProperty(this, "handleAnswerChange", event => {
26508
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26505
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26509
26506
  this.change({
26510
26507
  correct: event.target.value
26511
26508
  });
@@ -26518,7 +26515,7 @@ class ExampleWidgetEditor extends React__namespace.Component {
26518
26515
  });
26519
26516
  _defineProperty(this, "focus", () => {
26520
26517
  // eslint-disable-next-line react/no-string-refs
26521
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
26518
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
26522
26519
  this.refs.input.focus();
26523
26520
  return true;
26524
26521
  });
@@ -26576,14 +26573,14 @@ class ExplanationEditor extends React__namespace.Component {
26576
26573
  className: "perseus-widget-row"
26577
26574
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to show explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$7, {
26578
26575
  value: this.props.showPrompt
26579
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26576
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26580
26577
  ,
26581
26578
  onChange: this.change("showPrompt")
26582
26579
  }))), /*#__PURE__*/React__namespace.createElement("div", {
26583
26580
  className: "perseus-widget-row"
26584
26581
  }, /*#__PURE__*/React__namespace.createElement("label", null, "Prompt to hide explanation:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$7, {
26585
26582
  value: this.props.hidePrompt
26586
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26583
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26587
26584
  ,
26588
26585
  onChange: this.change("hidePrompt")
26589
26586
  }))), /*#__PURE__*/React__namespace.createElement("div", {
@@ -26602,7 +26599,7 @@ class ExplanationEditor extends React__namespace.Component {
26602
26599
  if (___default["default"].has(props, "widgets")) {
26603
26600
  newProps.widgets = props.widgets;
26604
26601
  }
26605
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26602
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26606
26603
  this.change(newProps);
26607
26604
  }
26608
26605
  })));
@@ -26702,7 +26699,7 @@ const SortableArea = createReactClass__default["default"]({
26702
26699
  _setDragEvents: function () {
26703
26700
  this._dragItems = this._dragItems || [];
26704
26701
  const items =
26705
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'
26702
+ // @ts-expect-error - TS2531 - Object is possibly 'null'
26706
26703
  ReactDOM__default["default"].findDOMNode(this).querySelectorAll("[draggable=true]");
26707
26704
  const oldItems = [];
26708
26705
  const newItems = [];
@@ -26901,7 +26898,7 @@ class ExpressionEditor extends React__namespace.Component {
26901
26898
  _defineProperty(this, "newAnswer", () => {
26902
26899
  const answerForms = this.props.answerForms.slice();
26903
26900
  answerForms.push(this._newEmptyAnswerForm());
26904
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26901
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26905
26902
  this.change({
26906
26903
  answerForms
26907
26904
  });
@@ -26909,7 +26906,7 @@ class ExpressionEditor extends React__namespace.Component {
26909
26906
  _defineProperty(this, "handleRemoveForm", i => {
26910
26907
  const answerForms = this.props.answerForms.slice();
26911
26908
  answerForms.splice(i, 1);
26912
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26909
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26913
26910
  this.change({
26914
26911
  answerForms
26915
26912
  });
@@ -26917,7 +26914,7 @@ class ExpressionEditor extends React__namespace.Component {
26917
26914
  _defineProperty(this, "updateForm", (i, props) => {
26918
26915
  const answerForms = lens(this.props.answerForms).merge([i], props).freeze();
26919
26916
 
26920
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26917
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26921
26918
  this.change({
26922
26919
  answerForms
26923
26920
  });
@@ -26925,12 +26922,12 @@ class ExpressionEditor extends React__namespace.Component {
26925
26922
  _defineProperty(this, "handleReorder", components => {
26926
26923
  const answerForms = ___default["default"](components).map(component => {
26927
26924
  const form = ___default["default"](component.props).pick("considered", "form", "simplify", "value");
26928
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'key' does not exist on type 'Pick<any, "form" | "value" | "simplify" | "considered">'.
26925
+ // @ts-expect-error - TS2339 - Property 'key' does not exist on type 'Pick<any, "form" | "value" | "simplify" | "considered">'.
26929
26926
  form.key = component.key;
26930
26927
  return form;
26931
26928
  });
26932
26929
 
26933
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
26930
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
26934
26931
  this.change({
26935
26932
  answerForms
26936
26933
  });
@@ -26962,12 +26959,12 @@ class ExpressionEditor extends React__namespace.Component {
26962
26959
  }
26963
26960
  const buttonSets = ___default["default"](this.props.buttonSets).reject(set => set === remove).concat(keep);
26964
26961
 
26965
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
26962
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
26966
26963
  this.change("buttonSets", buttonSets);
26967
26964
  });
26968
26965
  _defineProperty(this, "handleTexInsert", str => {
26969
26966
  // eslint-disable-next-line react/no-string-refs
26970
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
26967
+ // @ts-expect-error - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
26971
26968
  this.refs.expression.insert(str);
26972
26969
  });
26973
26970
  _defineProperty(this, "handleFunctions", e => {
@@ -27151,7 +27148,7 @@ class AnswerOption extends React__namespace.Component {
27151
27148
  render() {
27152
27149
  let removeButton = null;
27153
27150
  if (this.state.deleteFocused) {
27154
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
27151
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
27155
27152
  removeButton = /*#__PURE__*/React__namespace.createElement("button", {
27156
27153
  type: "button",
27157
27154
  className: "simple-button orange",
@@ -27159,7 +27156,7 @@ class AnswerOption extends React__namespace.Component {
27159
27156
  onBlur: this.handleDeleteBlur
27160
27157
  }, "I'm sure!");
27161
27158
  } else {
27162
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
27159
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
27163
27160
  removeButton = /*#__PURE__*/React__namespace.createElement("button", {
27164
27161
  type: "button",
27165
27162
  className: "simple-button orange",
@@ -27237,7 +27234,7 @@ class GradedGroupEditor extends React__namespace.Component {
27237
27234
  hint
27238
27235
  }, () => {
27239
27236
  // eslint-disable-next-line react/no-string-refs
27240
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
27237
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
27241
27238
  this.refs["hint-editor"].focus();
27242
27239
  });
27243
27240
  });
@@ -27248,20 +27245,20 @@ class GradedGroupEditor extends React__namespace.Component {
27248
27245
  });
27249
27246
  _defineProperty(this, "getSaveWarnings", () => {
27250
27247
  // eslint-disable-next-line react/no-string-refs
27251
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
27248
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
27252
27249
  return this.refs.editor.getSaveWarnings();
27253
27250
  });
27254
27251
  _defineProperty(this, "serialize", () => {
27255
27252
  return {
27256
27253
  title: this.props.title,
27257
27254
  // eslint-disable-next-line react/no-string-refs
27258
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27255
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27259
27256
  ...this.refs.editor.serialize(),
27260
27257
  hint:
27261
27258
  // eslint-disable-next-line react/no-string-refs
27262
27259
  this.refs["hint-editor"] &&
27263
27260
  // eslint-disable-next-line react/no-string-refs
27264
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27261
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
27265
27262
  this.refs["hint-editor"].serialize()
27266
27263
  };
27267
27264
  });
@@ -27276,7 +27273,7 @@ class GradedGroupEditor extends React__namespace.Component {
27276
27273
  }, "Title:", " ", /*#__PURE__*/React__namespace.createElement(TextInput$6, {
27277
27274
  value: this.props.title,
27278
27275
  className: aphrodite.css(styles$a.input)
27279
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
27276
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
27280
27277
  ,
27281
27278
  onChange: this.change("title")
27282
27279
  }))), /*#__PURE__*/React__namespace.createElement(Editor
@@ -27316,7 +27313,7 @@ class GradedGroupEditor extends React__namespace.Component {
27316
27313
  onChange: props => {
27317
27314
  // Copy all props over from the existing hint
27318
27315
  // and then add new props.
27319
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27316
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27320
27317
  this.change("hint", Object.assign({}, this.props.hint, props));
27321
27318
  }
27322
27319
  }), /*#__PURE__*/React__namespace.createElement("button", {
@@ -27389,7 +27386,7 @@ class GradedGroupSetEditor extends React__namespace.Component {
27389
27386
  widgetEnabled: true,
27390
27387
  immutableWidgets: false,
27391
27388
  onChange: data =>
27392
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27389
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27393
27390
  this.change("gradedGroups", setArrayItem(this.props.gradedGroups, i, {
27394
27391
  ...this.props.gradedGroups[i],
27395
27392
  ...data
@@ -27398,7 +27395,7 @@ class GradedGroupSetEditor extends React__namespace.Component {
27398
27395
  });
27399
27396
  _defineProperty(this, "addGroup", () => {
27400
27397
  const groups = this.props.gradedGroups || [];
27401
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
27398
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
27402
27399
  this.change("gradedGroups", groups.concat([GradedGroupEditor.defaultProps]));
27403
27400
  });
27404
27401
  }
@@ -27545,7 +27542,7 @@ const GraphSettings = createReactClass__default["default"]({
27545
27542
  }, this.changeGraph);
27546
27543
  };
27547
27544
 
27548
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
27545
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
27549
27546
  const url = ReactDOM__default["default"].findDOMNode(this.refs["bg-url"]).value; // eslint-disable-line react/no-string-refs
27550
27547
  if (url) {
27551
27548
  perseus.Util.getImageSize(url, (width, height) => {
@@ -27978,7 +27975,7 @@ class GrapherEditor extends React__namespace.Component {
27978
27975
  // NOTE(jeremy): This editor doesn't pass in a bunch of
27979
27976
  // standard props that the Renderer provides normally (eg.
27980
27977
  // alignment, findWidgets, etc).
27981
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
27978
+ // @ts-expect-error - TS2769 - No overload matches this call.
27982
27979
  React__namespace.createElement(Grapher, _extends({}, graphProps, {
27983
27980
  apiOptions: this.props.apiOptions,
27984
27981
  containerSizeClass: sizeClass
@@ -28003,7 +28000,7 @@ class GrapherEditor extends React__namespace.Component {
28003
28000
  rulerLabel: this.props.graph.rulerLabel,
28004
28001
  rulerTicks: this.props.graph.rulerTicks,
28005
28002
  showTooltips: this.props.graph.showTooltips
28006
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28003
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28007
28004
  ,
28008
28005
  onChange: this.change("graph")
28009
28006
  }), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28035,7 +28032,7 @@ class GroupEditor extends React__namespace.Component {
28035
28032
  const GroupMetadataEditor = this.props.apiOptions.GroupMetadataEditor;
28036
28033
  return /*#__PURE__*/React__namespace.createElement(GroupMetadataEditor, {
28037
28034
  value: this.props.metadata
28038
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28035
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28039
28036
  ,
28040
28037
  onChange: this.change("metadata")
28041
28038
  });
@@ -28048,12 +28045,12 @@ class GroupEditor extends React__namespace.Component {
28048
28045
  });
28049
28046
  _defineProperty(this, "getSaveWarnings", () => {
28050
28047
  // eslint-disable-next-line react/no-string-refs
28051
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
28048
+ // @ts-expect-error - TS2339 - Property 'getSaveWarnings' does not exist on type 'ReactInstance'.
28052
28049
  return this.refs.editor.getSaveWarnings();
28053
28050
  });
28054
28051
  _defineProperty(this, "serialize", () => {
28055
28052
  // eslint-disable-next-line react/no-string-refs
28056
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
28053
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
28057
28054
  return ___default["default"].extend({}, this.refs.editor.serialize(), {
28058
28055
  metadata: this.props.metadata
28059
28056
  });
@@ -28201,7 +28198,7 @@ class IframeEditor extends React__namespace.Component {
28201
28198
  return perseus.Changeable.change.apply(_this3, args);
28202
28199
  });
28203
28200
  _defineProperty(this, "handleSettingsChange", settings => {
28204
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28201
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28205
28202
  this.change({
28206
28203
  settings: settings.pairs
28207
28204
  });
@@ -28218,7 +28215,7 @@ class IframeEditor extends React__namespace.Component {
28218
28215
  }
28219
28216
  }, "This widget is deprecated! ", /*#__PURE__*/React__namespace.createElement("br", null), "Try using the Video or CS Program widgets instead."), /*#__PURE__*/React__namespace.createElement("label", null, "Url or Program ID:", /*#__PURE__*/React__namespace.createElement(BlurInput, {
28220
28217
  value: this.props.url
28221
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28218
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28222
28219
  ,
28223
28220
  onChange: this.change("url")
28224
28221
  })), /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("label", null, "Settings:", /*#__PURE__*/React__namespace.createElement(PairsEditor, {
@@ -28227,12 +28224,12 @@ class IframeEditor extends React__namespace.Component {
28227
28224
  onChange: this.handleSettingsChange
28228
28225
  })), /*#__PURE__*/React__namespace.createElement("br", null), /*#__PURE__*/React__namespace.createElement("label", null, "Width:", /*#__PURE__*/React__namespace.createElement(BlurInput, {
28229
28226
  value: this.props.width
28230
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28227
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28231
28228
  ,
28232
28229
  onChange: this.change("width")
28233
28230
  })), /*#__PURE__*/React__namespace.createElement("label", null, "Height:", /*#__PURE__*/React__namespace.createElement(BlurInput, {
28234
28231
  value: this.props.height
28235
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28232
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28236
28233
  ,
28237
28234
  onChange: this.change("height")
28238
28235
  })), /*#__PURE__*/React__namespace.createElement(PropCheckBox$9, {
@@ -28553,7 +28550,7 @@ class InputNumberEditor extends React__namespace.Component {
28553
28550
  });
28554
28551
  });
28555
28552
  _defineProperty(this, "focus", () => {
28556
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
28553
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
28557
28554
  ReactDOM__default["default"].findDOMNode(this.refs.input).focus(); // eslint-disable-line react/no-string-refs
28558
28555
  return true;
28559
28556
  });
@@ -28584,7 +28581,7 @@ class InputNumberEditor extends React__namespace.Component {
28584
28581
  value: this.props.simplify,
28585
28582
  onChange: e => {
28586
28583
  this.props.onChange({
28587
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"optional" | "required" | "enforced" | undefined'.
28584
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"optional" | "required" | "enforced" | undefined'.
28588
28585
  simplify: e.target.value
28589
28586
  });
28590
28587
  }
@@ -28623,7 +28620,7 @@ class InputNumberEditor extends React__namespace.Component {
28623
28620
  }))), /*#__PURE__*/React__namespace.createElement("div", null, "Answer type:", " ", /*#__PURE__*/React__namespace.createElement("select", {
28624
28621
  value: this.props.answerType,
28625
28622
  onChange: e => {
28626
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"number" | "integer" | "mixed" | "decimal" | "improper" | "percent" | "pi" | "rational" | undefined'.
28623
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"number" | "integer" | "mixed" | "decimal" | "improper" | "percent" | "pi" | "rational" | undefined'.
28627
28624
  this.props.onChange({
28628
28625
  answerType: e.target.value
28629
28626
  });
@@ -28631,7 +28628,7 @@ class InputNumberEditor extends React__namespace.Component {
28631
28628
  }, answerTypeOptions), /*#__PURE__*/React__namespace.createElement(InfoTip$f, null, /*#__PURE__*/React__namespace.createElement("p", null, "Use the default \"Numbers\" unless the answer must be in a specific form (e.g., question is about converting decimals to fractions)."))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Width", " ", /*#__PURE__*/React__namespace.createElement("select", {
28632
28629
  value: this.props.size,
28633
28630
  onChange: e => {
28634
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type '"small" | "normal" | undefined'.
28631
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"small" | "normal" | undefined'.
28635
28632
  this.props.onChange({
28636
28633
  size: e.target.value
28637
28634
  });
@@ -28816,21 +28813,21 @@ class PointEditor extends React__namespace.Component {
28816
28813
  buttonSets: [],
28817
28814
  buttonsVisible: "never",
28818
28815
  value: this.props.coordX
28819
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28816
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28820
28817
  ,
28821
28818
  onChange: this.change("coordX")
28822
28819
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28823
28820
  buttonSets: [],
28824
28821
  buttonsVisible: "never",
28825
28822
  value: this.props.coordY
28826
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28823
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28827
28824
  ,
28828
28825
  onChange: this.change("coordY")
28829
28826
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
28830
28827
  className: "perseus-widget-row"
28831
28828
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
28832
28829
  value: this.props.color
28833
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28830
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28834
28831
  ,
28835
28832
  onChange: this.change("color")
28836
28833
  })));
@@ -28879,14 +28876,14 @@ class LineEditor extends React__namespace.Component {
28879
28876
  buttonSets: [],
28880
28877
  buttonsVisible: "never",
28881
28878
  value: this.props.startX
28882
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28879
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28883
28880
  ,
28884
28881
  onChange: this.change("startX")
28885
28882
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28886
28883
  buttonSets: [],
28887
28884
  buttonsVisible: "never",
28888
28885
  value: this.props.startY
28889
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28886
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28890
28887
  ,
28891
28888
  onChange: this.change("startY")
28892
28889
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28895,33 +28892,33 @@ class LineEditor extends React__namespace.Component {
28895
28892
  buttonSets: [],
28896
28893
  buttonsVisible: "never",
28897
28894
  value: this.props.endX
28898
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28895
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28899
28896
  ,
28900
28897
  onChange: this.change("endX")
28901
28898
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
28902
28899
  buttonSets: [],
28903
28900
  buttonsVisible: "never",
28904
28901
  value: this.props.endY
28905
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28902
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28906
28903
  ,
28907
28904
  onChange: this.change("endY")
28908
28905
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
28909
28906
  className: "perseus-widget-row"
28910
28907
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
28911
28908
  value: this.props.color
28912
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28909
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28913
28910
  ,
28914
28911
  onChange: this.change("color")
28915
28912
  })), /*#__PURE__*/React__namespace.createElement("div", {
28916
28913
  className: "perseus-widget-row"
28917
28914
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
28918
28915
  value: this.props.strokeDasharray
28919
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28916
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28920
28917
  ,
28921
28918
  onChange: this.change("strokeDasharray")
28922
28919
  }), "\xA0 \xA0", /*#__PURE__*/React__namespace.createElement(perseus.ArrowPicker, {
28923
28920
  value: this.props.arrows
28924
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28921
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28925
28922
  ,
28926
28923
  onChange: this.change("arrows")
28927
28924
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -28931,7 +28928,7 @@ class LineEditor extends React__namespace.Component {
28931
28928
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
28932
28929
  value: this.props.strokeWidth,
28933
28930
  placeholder: 2
28934
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
28931
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
28935
28932
  ,
28936
28933
  onChange: this.change("strokeWidth")
28937
28934
  }))));
@@ -29148,7 +29145,7 @@ class FunctionEditor extends React__namespace.Component {
29148
29145
  buttonSets: [],
29149
29146
  buttonsVisible: "never",
29150
29147
  value: this.props.value
29151
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29148
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29152
29149
  ,
29153
29150
  onChange: this.change("value")
29154
29151
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29157,28 +29154,28 @@ class FunctionEditor extends React__namespace.Component {
29157
29154
  buttonSets: [],
29158
29155
  buttonsVisible: "never",
29159
29156
  value: this.props.rangeMin
29160
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29157
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29161
29158
  ,
29162
29159
  onChange: this.change("rangeMin")
29163
29160
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29164
29161
  buttonSets: [],
29165
29162
  buttonsVisible: "never",
29166
29163
  value: this.props.rangeMax
29167
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29164
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29168
29165
  ,
29169
29166
  onChange: this.change("rangeMax")
29170
29167
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29171
29168
  className: "perseus-widget-row"
29172
29169
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29173
29170
  value: this.props.color
29174
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29171
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29175
29172
  ,
29176
29173
  onChange: this.change("color")
29177
29174
  })), /*#__PURE__*/React__namespace.createElement("div", {
29178
29175
  className: "perseus-widget-row"
29179
29176
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
29180
29177
  value: this.props.strokeDasharray
29181
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29178
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29182
29179
  ,
29183
29180
  onChange: this.change("strokeDasharray")
29184
29181
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29188,7 +29185,7 @@ class FunctionEditor extends React__namespace.Component {
29188
29185
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
29189
29186
  value: this.props.strokeWidth,
29190
29187
  placeholder: 2
29191
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29188
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29192
29189
  ,
29193
29190
  onChange: this.change("strokeWidth")
29194
29191
  }))));
@@ -29243,7 +29240,7 @@ class ParametricEditor extends React__namespace.Component {
29243
29240
  buttonSets: [],
29244
29241
  buttonsVisible: "never",
29245
29242
  value: this.props.x
29246
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29243
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29247
29244
  ,
29248
29245
  onChange: this.change("x")
29249
29246
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29252,7 +29249,7 @@ class ParametricEditor extends React__namespace.Component {
29252
29249
  buttonSets: [],
29253
29250
  buttonsVisible: "never",
29254
29251
  value: this.props.y
29255
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29252
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29256
29253
  ,
29257
29254
  onChange: this.change("y")
29258
29255
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29261,28 +29258,28 @@ class ParametricEditor extends React__namespace.Component {
29261
29258
  buttonSets: [],
29262
29259
  buttonsVisible: "never",
29263
29260
  value: this.props.rangeMin
29264
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29261
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29265
29262
  ,
29266
29263
  onChange: this.change("rangeMin")
29267
29264
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29268
29265
  buttonSets: [],
29269
29266
  buttonsVisible: "never",
29270
29267
  value: this.props.rangeMax
29271
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29268
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29272
29269
  ,
29273
29270
  onChange: this.change("rangeMax")
29274
29271
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29275
29272
  className: "perseus-widget-row"
29276
29273
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29277
29274
  value: this.props.color
29278
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29275
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29279
29276
  ,
29280
29277
  onChange: this.change("color")
29281
29278
  })), /*#__PURE__*/React__namespace.createElement("div", {
29282
29279
  className: "perseus-widget-row"
29283
29280
  }, /*#__PURE__*/React__namespace.createElement(perseus.DashPicker, {
29284
29281
  value: this.props.strokeDasharray
29285
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29282
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29286
29283
  ,
29287
29284
  onChange: this.change("strokeDasharray")
29288
29285
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29292,7 +29289,7 @@ class ParametricEditor extends React__namespace.Component {
29292
29289
  }, "Width:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$b, {
29293
29290
  value: this.props.strokeWidth,
29294
29291
  placeholder: 2
29295
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29292
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29296
29293
  ,
29297
29294
  onChange: this.change("strokeWidth")
29298
29295
  }))));
@@ -29348,7 +29345,7 @@ class LabelEditor extends React__namespace.Component {
29348
29345
  className: "perseus-widget-row"
29349
29346
  }, /*#__PURE__*/React__namespace.createElement(TextInput$5, {
29350
29347
  value: this.props.label
29351
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29348
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29352
29349
  ,
29353
29350
  onChange: this.change("label"),
29354
29351
  style: {
@@ -29360,21 +29357,21 @@ class LabelEditor extends React__namespace.Component {
29360
29357
  buttonSets: [],
29361
29358
  buttonsVisible: "never",
29362
29359
  value: this.props.coordX
29363
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29360
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29364
29361
  ,
29365
29362
  onChange: this.change("coordX")
29366
29363
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29367
29364
  buttonSets: [],
29368
29365
  buttonsVisible: "never",
29369
29366
  value: this.props.coordY
29370
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29367
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29371
29368
  ,
29372
29369
  onChange: this.change("coordY")
29373
29370
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
29374
29371
  className: "perseus-widget-row"
29375
29372
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29376
29373
  value: this.props.color
29377
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29374
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29378
29375
  ,
29379
29376
  onChange: this.change("color")
29380
29377
  })));
@@ -29425,14 +29422,14 @@ class RectangleEditor extends React__namespace.Component {
29425
29422
  buttonSets: [],
29426
29423
  buttonsVisible: "never",
29427
29424
  value: this.props.coordX
29428
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29425
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29429
29426
  ,
29430
29427
  onChange: this.change("coordX")
29431
29428
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, ","), " ", /*#__PURE__*/React__namespace.createElement(MathInput, {
29432
29429
  buttonSets: [],
29433
29430
  buttonsVisible: "never",
29434
29431
  value: this.props.coordY
29435
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29432
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29436
29433
  ,
29437
29434
  onChange: this.change("coordY")
29438
29435
  }), /*#__PURE__*/React__namespace.createElement(TeX, null, "\\Large)")), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29441,7 +29438,7 @@ class RectangleEditor extends React__namespace.Component {
29441
29438
  buttonSets: [],
29442
29439
  buttonsVisible: "never",
29443
29440
  value: this.props.width
29444
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29441
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29445
29442
  ,
29446
29443
  onChange: this.change("width")
29447
29444
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29450,7 +29447,7 @@ class RectangleEditor extends React__namespace.Component {
29450
29447
  buttonSets: [],
29451
29448
  buttonsVisible: "never",
29452
29449
  value: this.props.height
29453
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29450
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29454
29451
  ,
29455
29452
  onChange: this.change("height")
29456
29453
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29458,7 +29455,7 @@ class RectangleEditor extends React__namespace.Component {
29458
29455
  }, /*#__PURE__*/React__namespace.createElement(perseus.ColorPicker, {
29459
29456
  value: this.props.color,
29460
29457
  lightColors: true
29461
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29458
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29462
29459
  ,
29463
29460
  onChange: this.change("color")
29464
29461
  })), /*#__PURE__*/React__namespace.createElement("div", {
@@ -29493,7 +29490,7 @@ class InteractionEditor extends React__namespace.Component {
29493
29490
  _defineProperty(this, "_updateGraphProps", newProps => {
29494
29491
  // TODO(eater): GraphSettings should name this tickStep instead
29495
29492
  // of step. Grr..
29496
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29493
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29497
29494
  this.change({
29498
29495
  graph: ___default["default"].extend(___default["default"].omit(newProps, "step"), {
29499
29496
  tickStep: newProps.step
@@ -29514,13 +29511,13 @@ class InteractionEditor extends React__namespace.Component {
29514
29511
  let nextSubscript;
29515
29512
  if (elementType === "movable-point") {
29516
29513
  nextSubscript = ___default["default"].max([___default["default"].max(this.state.usedVarSubscripts), -1]) + 1;
29517
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'varSubscript' does not exist on type '{}'.
29514
+ // @ts-expect-error - TS2339 - Property 'varSubscript' does not exist on type '{}'.
29518
29515
  newElement.options.varSubscript = nextSubscript;
29519
29516
  } else if (elementType === "movable-line") {
29520
29517
  nextSubscript = ___default["default"].max([___default["default"].max(this.state.usedVarSubscripts), -1]) + 1;
29521
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'startSubscript' does not exist on type '{}'.
29518
+ // @ts-expect-error - TS2339 - Property 'startSubscript' does not exist on type '{}'.
29522
29519
  newElement.options.startSubscript = nextSubscript;
29523
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'endSubscript' does not exist on type '{}'.
29520
+ // @ts-expect-error - TS2339 - Property 'endSubscript' does not exist on type '{}'.
29524
29521
  newElement.options.endSubscript = nextSubscript + 1;
29525
29522
  } else if (elementType === "function") {
29526
29523
  // TODO(eater): The 22nd function added will be {(x) since '{'
@@ -29528,17 +29525,17 @@ class InteractionEditor extends React__namespace.Component {
29528
29525
  const nextLetter = String.fromCharCode(___default["default"].max([___default["default"].max(___default["default"].map(this.state.usedFunctionNames, function (c) {
29529
29526
  return c.charCodeAt(0);
29530
29527
  })), "e".charCodeAt(0)]) + 1);
29531
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'funcName' does not exist on type '{}'.
29528
+ // @ts-expect-error - TS2339 - Property 'funcName' does not exist on type '{}'.
29532
29529
  newElement.options.funcName = nextLetter;
29533
29530
  }
29534
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29531
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29535
29532
  this.change({
29536
29533
  elements: this.props.elements.concat(newElement)
29537
29534
  });
29538
29535
  });
29539
29536
  _defineProperty(this, "_deleteElement", index => {
29540
29537
  const element = this.props.elements[index];
29541
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29538
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29542
29539
  this.change({
29543
29540
  elements: ___default["default"].without(this.props.elements, element)
29544
29541
  });
@@ -29547,7 +29544,7 @@ class InteractionEditor extends React__namespace.Component {
29547
29544
  const element = this.props.elements[index];
29548
29545
  const newElements = ___default["default"].without(this.props.elements, element);
29549
29546
  newElements.splice(index - 1, 0, element);
29550
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29547
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29551
29548
  this.change({
29552
29549
  elements: newElements
29553
29550
  });
@@ -29556,7 +29553,7 @@ class InteractionEditor extends React__namespace.Component {
29556
29553
  const element = this.props.elements[index];
29557
29554
  const newElements = ___default["default"].without(this.props.elements, element);
29558
29555
  newElements.splice(index + 1, 0, element);
29559
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
29556
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
29560
29557
  this.change({
29561
29558
  elements: newElements
29562
29559
  });
@@ -29615,29 +29612,29 @@ class InteractionEditor extends React__namespace.Component {
29615
29612
  // eslint-disable-next-line react/jsx-no-bind
29616
29613
  ,
29617
29614
  onUp: n === 0 ? null :
29618
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29615
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29619
29616
  this._moveElementUp.bind(this, n)
29620
29617
  // eslint-disable-next-line react/jsx-no-bind
29621
29618
  ,
29622
29619
  onDown:
29623
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29620
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29624
29621
  n === this.props.elements.length - 1 ? null :
29625
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29622
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29626
29623
  this._moveElementDown.bind(
29627
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29624
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29628
29625
  this, n)
29629
29626
  // eslint-disable-next-line react/jsx-no-bind
29630
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29627
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29631
29628
  ,
29632
29629
  onDelete: this._deleteElement.bind(this, n),
29633
29630
  key: element.key
29634
29631
  }, /*#__PURE__*/React__namespace.createElement(MovablePointEditor, _extends({}, element.options, {
29635
29632
  onChange: newProps => {
29636
29633
  const elements = JSON.parse(JSON.stringify(
29637
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29634
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29638
29635
  this.props.elements));
29639
29636
  ___default["default"].extend(elements[n].options, newProps);
29640
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29637
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29641
29638
  this.change({
29642
29639
  elements: elements
29643
29640
  });
@@ -29650,29 +29647,29 @@ class InteractionEditor extends React__namespace.Component {
29650
29647
  // eslint-disable-next-line react/jsx-no-bind
29651
29648
  ,
29652
29649
  onUp: n === 0 ? null :
29653
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29650
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29654
29651
  this._moveElementUp.bind(this, n)
29655
29652
  // eslint-disable-next-line react/jsx-no-bind
29656
29653
  ,
29657
29654
  onDown:
29658
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29655
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29659
29656
  n === this.props.elements.length - 1 ? null :
29660
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29657
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29661
29658
  this._moveElementDown.bind(
29662
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29659
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29663
29660
  this, n)
29664
29661
  // eslint-disable-next-line react/jsx-no-bind
29665
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29662
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29666
29663
  ,
29667
29664
  onDelete: this._deleteElement.bind(this, n),
29668
29665
  key: element.key
29669
29666
  }, /*#__PURE__*/React__namespace.createElement(MovableLineEditor, _extends({}, element.options, {
29670
29667
  onChange: newProps => {
29671
29668
  const elements = JSON.parse(JSON.stringify(
29672
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29669
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29673
29670
  this.props.elements));
29674
29671
  ___default["default"].extend(elements[n].options, newProps);
29675
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29672
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29676
29673
  this.change({
29677
29674
  elements: elements
29678
29675
  });
@@ -29685,29 +29682,29 @@ class InteractionEditor extends React__namespace.Component {
29685
29682
  // eslint-disable-next-line react/jsx-no-bind
29686
29683
  ,
29687
29684
  onUp: n === 0 ? null :
29688
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29685
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29689
29686
  this._moveElementUp.bind(this, n)
29690
29687
  // eslint-disable-next-line react/jsx-no-bind
29691
29688
  ,
29692
29689
  onDown:
29693
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29690
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29694
29691
  n === this.props.elements.length - 1 ? null :
29695
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29692
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29696
29693
  this._moveElementDown.bind(
29697
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29694
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29698
29695
  this, n)
29699
29696
  // eslint-disable-next-line react/jsx-no-bind
29700
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29697
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29701
29698
  ,
29702
29699
  onDelete: this._deleteElement.bind(this, n),
29703
29700
  key: element.key
29704
29701
  }, /*#__PURE__*/React__namespace.createElement(PointEditor, _extends({}, element.options, {
29705
29702
  onChange: newProps => {
29706
29703
  const elements = JSON.parse(JSON.stringify(
29707
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29704
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29708
29705
  this.props.elements));
29709
29706
  ___default["default"].extend(elements[n].options, newProps);
29710
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29707
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29711
29708
  this.change({
29712
29709
  elements: elements
29713
29710
  });
@@ -29720,29 +29717,29 @@ class InteractionEditor extends React__namespace.Component {
29720
29717
  // eslint-disable-next-line react/jsx-no-bind
29721
29718
  ,
29722
29719
  onUp: n === 0 ? null :
29723
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29720
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29724
29721
  this._moveElementUp.bind(this, n)
29725
29722
  // eslint-disable-next-line react/jsx-no-bind
29726
29723
  ,
29727
29724
  onDown:
29728
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29725
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29729
29726
  n === this.props.elements.length - 1 ? null :
29730
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29727
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29731
29728
  this._moveElementDown.bind(
29732
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29729
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29733
29730
  this, n)
29734
29731
  // eslint-disable-next-line react/jsx-no-bind
29735
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29732
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29736
29733
  ,
29737
29734
  onDelete: this._deleteElement.bind(this, n),
29738
29735
  key: element.key
29739
29736
  }, /*#__PURE__*/React__namespace.createElement(LineEditor, _extends({}, element.options, {
29740
29737
  onChange: newProps => {
29741
29738
  const elements = JSON.parse(JSON.stringify(
29742
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29739
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29743
29740
  this.props.elements));
29744
29741
  ___default["default"].extend(elements[n].options, newProps);
29745
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29742
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29746
29743
  this.change({
29747
29744
  elements: elements
29748
29745
  });
@@ -29755,28 +29752,28 @@ class InteractionEditor extends React__namespace.Component {
29755
29752
  // eslint-disable-next-line react/jsx-no-bind
29756
29753
  ,
29757
29754
  onUp: n === 0 ? null :
29758
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29755
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29759
29756
  this._moveElementUp.bind(this, n)
29760
29757
  // eslint-disable-next-line react/jsx-no-bind
29761
29758
  ,
29762
29759
  onDown:
29763
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29760
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29764
29761
  n === this.props.elements.length - 1 ? null :
29765
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29762
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29766
29763
  this._moveElementDown.bind(
29767
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29764
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29768
29765
  this, n)
29769
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29766
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29770
29767
  ,
29771
29768
  onDelete: this._deleteElement,
29772
29769
  key: element.key
29773
29770
  }, /*#__PURE__*/React__namespace.createElement(FunctionEditor, _extends({}, element.options, {
29774
29771
  onChange: newProps => {
29775
29772
  const elements = JSON.parse(JSON.stringify(
29776
- // @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.
29777
29774
  this.props.elements));
29778
29775
  ___default["default"].extend(elements[n].options, newProps);
29779
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29776
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29780
29777
  this.change({
29781
29778
  elements: elements
29782
29779
  });
@@ -29789,28 +29786,28 @@ class InteractionEditor extends React__namespace.Component {
29789
29786
  // eslint-disable-next-line react/jsx-no-bind
29790
29787
  ,
29791
29788
  onUp: n === 0 ? null :
29792
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29789
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29793
29790
  this._moveElementUp.bind(this, n)
29794
29791
  // eslint-disable-next-line react/jsx-no-bind
29795
29792
  ,
29796
29793
  onDown:
29797
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29794
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29798
29795
  n === this.props.elements.length - 1 ? null :
29799
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29796
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29800
29797
  this._moveElementDown.bind(
29801
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29798
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29802
29799
  this, n)
29803
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29800
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29804
29801
  ,
29805
29802
  onDelete: this._deleteElement,
29806
29803
  key: element.key
29807
29804
  }, /*#__PURE__*/React__namespace.createElement(ParametricEditor, _extends({}, element.options, {
29808
29805
  onChange: newProps => {
29809
29806
  const elements = JSON.parse(JSON.stringify(
29810
- // @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.
29811
29808
  this.props.elements));
29812
29809
  ___default["default"].extend(elements[n].options, newProps);
29813
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29810
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29814
29811
  this.change({
29815
29812
  elements: elements
29816
29813
  });
@@ -29823,28 +29820,28 @@ class InteractionEditor extends React__namespace.Component {
29823
29820
  // eslint-disable-next-line react/jsx-no-bind
29824
29821
  ,
29825
29822
  onUp: n === 0 ? null :
29826
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29823
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29827
29824
  this._moveElementUp.bind(this, n)
29828
29825
  // eslint-disable-next-line react/jsx-no-bind
29829
29826
  ,
29830
29827
  onDown:
29831
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29828
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29832
29829
  n === this.props.elements.length - 1 ? null :
29833
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29830
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29834
29831
  this._moveElementDown.bind(
29835
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29832
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29836
29833
  this, n)
29837
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29834
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29838
29835
  ,
29839
29836
  onDelete: this._deleteElement,
29840
29837
  key: element.key
29841
29838
  }, /*#__PURE__*/React__namespace.createElement(LabelEditor, _extends({}, element.options, {
29842
29839
  onChange: newProps => {
29843
29840
  const elements = JSON.parse(JSON.stringify(
29844
- // @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.
29845
29842
  this.props.elements));
29846
29843
  ___default["default"].extend(elements[n].options, newProps);
29847
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29844
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29848
29845
  this.change({
29849
29846
  elements: elements
29850
29847
  });
@@ -29857,28 +29854,28 @@ class InteractionEditor extends React__namespace.Component {
29857
29854
  // eslint-disable-next-line react/jsx-no-bind
29858
29855
  ,
29859
29856
  onUp: n === 0 ? null :
29860
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29857
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29861
29858
  this._moveElementUp.bind(this, n)
29862
29859
  // eslint-disable-next-line react/jsx-no-bind
29863
29860
  ,
29864
29861
  onDown:
29865
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29862
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29866
29863
  n === this.props.elements.length - 1 ? null :
29867
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29864
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29868
29865
  this._moveElementDown.bind(
29869
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29866
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29870
29867
  this, n)
29871
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29868
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29872
29869
  ,
29873
29870
  onDelete: this._deleteElement,
29874
29871
  key: element.key
29875
29872
  }, /*#__PURE__*/React__namespace.createElement(RectangleEditor, _extends({}, element.options, {
29876
29873
  onChange: newProps => {
29877
29874
  const elements = JSON.parse(JSON.stringify(
29878
- // @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.
29879
29876
  this.props.elements));
29880
29877
  ___default["default"].extend(elements[n].options, newProps);
29881
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29878
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29882
29879
  this.change({
29883
29880
  elements: elements
29884
29881
  });
@@ -30080,7 +30077,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30080
30077
  trackInteraction: function () {},
30081
30078
  onChange: newProps => {
30082
30079
  let correct = this.props.correct;
30083
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
30080
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
30084
30081
  if (correct.type === newProps.graph.type) {
30085
30082
  correct = ___default["default"].extend({}, correct, newProps.graph);
30086
30083
  } else {
@@ -30097,7 +30094,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30097
30094
  // There are a bunch of props that renderer.jsx passes to widgets via
30098
30095
  // getWidgetProps() and widget-container.jsx that the editors don't
30099
30096
  // bother passing.
30100
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
30097
+ // @ts-expect-error - TS2769 - No overload matches this call.
30101
30098
  React__namespace.createElement(InteractiveGraph, _extends({}, graphProps, {
30102
30099
  containerSizeClass: sizeClass,
30103
30100
  apiOptions: {
@@ -30107,7 +30104,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30107
30104
  }));
30108
30105
  // TODO(kevinb): Update getEquationString to only accept the data it actually
30109
30106
  // needs to compute the equation string.
30110
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type '{ readonly ref: "graph"; readonly box: any; readonly range: any; readonly labels: any; readonly step: any; readonly gridStep: any; readonly snapStep: any; readonly graph: any; readonly backgroundImage: any; ... 6 more ...; readonly onChange: (newProps: Pick<...> & ... 1 more ... & InexactPartial<...>) => void; }' is not assignable to parameter of type 'Props'.
30107
+ // @ts-expect-error - TS2345 - Argument of type '{ readonly ref: "graph"; readonly box: any; readonly range: any; readonly labels: any; readonly step: any; readonly gridStep: any; readonly snapStep: any; readonly graph: any; readonly backgroundImage: any; ... 6 more ...; readonly onChange: (newProps: Pick<...> & ... 1 more ... & InexactPartial<...>) => void; }' is not assignable to parameter of type 'Props'.
30111
30108
  equationString = InteractiveGraph.getEquationString(graphProps);
30112
30109
  } else {
30113
30110
  graph = /*#__PURE__*/React__namespace.createElement("div", {
@@ -30289,7 +30286,7 @@ class InteractiveGraphEditor extends React__namespace.Component {
30289
30286
  });
30290
30287
  ___default["default"].each(["allowReflexAngles", "angleOffsetDeg", "numPoints", "numSides", "numSegments", "showAngles", "showSides", "snapTo", "snapDegrees"], function (key) {
30291
30288
  if (___default["default"].has(correct, key)) {
30292
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'graph' does not exist on type 'Pick<any, "step" | "range" | "backgroundImage" | "snapStep" | "labels" | "showTooltips" | "markings" | "gridStep" | "showProtractor" | "showRuler" | "rulerLabel" | "rulerTicks">'.
30289
+ // @ts-expect-error - TS2339 - Property 'graph' does not exist on type 'Pick<any, "step" | "range" | "backgroundImage" | "snapStep" | "labels" | "showTooltips" | "markings" | "gridStep" | "showProtractor" | "showRuler" | "rulerLabel" | "rulerTicks">'.
30293
30290
  json.graph[key] = correct[key];
30294
30291
  }
30295
30292
  });
@@ -30393,7 +30390,7 @@ class FormWrappedTextField extends React__namespace.Component {
30393
30390
  return /*#__PURE__*/React__namespace.createElement("form", {
30394
30391
  className: aphrodite.css(...spanStyle),
30395
30392
  style: extraStyles
30396
- // @ts-expect-error [FEI-5003] - TS2322 - Type '((arg1: ChangeEvent<HTMLInputElement>) => unknown) | ((e: Event) => void)' is not assignable to type 'FormEventHandler<HTMLFormElement> | undefined'.
30393
+ // @ts-expect-error - TS2322 - Type '((arg1: ChangeEvent<HTMLInputElement>) => unknown) | ((e: Event) => void)' is not assignable to type 'FormEventHandler<HTMLFormElement> | undefined'.
30397
30394
  ,
30398
30395
  onSubmit: onSubmit || this.disableDefault
30399
30396
  }, leftSideIcon && wrappedIcon, /*#__PURE__*/React__namespace.createElement("input", _extends({}, allProps, {
@@ -30817,7 +30814,7 @@ class HoverBehavior extends React__namespace.Component {
30817
30814
  };
30818
30815
  }
30819
30816
 
30820
- // @ts-expect-error [FEI-5003] - TS2564 - Property 'focusFlag' has no initializer and is not definitely assigned in the constructor.
30817
+ // @ts-expect-error - TS2564 - Property 'focusFlag' has no initializer and is not definitely assigned in the constructor.
30821
30818
 
30822
30819
  render() {
30823
30820
  const handlers = {
@@ -30907,7 +30904,7 @@ class Checkbox extends React__namespace.Component {
30907
30904
  className: aphrodite.css(styles$6.checkbox, disabled && styles$6.defaultCursor),
30908
30905
  disabled: disabled,
30909
30906
  onChange: onChange
30910
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string | number | undefined' is not assignable to type 'number | undefined'.
30907
+ // @ts-expect-error - TS2322 - Type 'string | number | undefined' is not assignable to type 'number | undefined'.
30911
30908
  ,
30912
30909
  tabIndex: tabIndex
30913
30910
  }));
@@ -31057,7 +31054,7 @@ function focusWithChromeStickyFocusBugWorkaround(element) {
31057
31054
  // this is an issue, however, so there isn't currently a way to out of the
31058
31055
  // `preventScroll` behavior.
31059
31056
 
31060
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'Element'.
31057
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'Element'.
31061
31058
  element.focus({
31062
31059
  preventScroll: true
31063
31060
  });
@@ -31072,7 +31069,7 @@ const {
31072
31069
  const findAndFocusElement = component => {
31073
31070
  const DOMNode = ReactDOM__default["default"].findDOMNode(component);
31074
31071
  const button = DOMNode;
31075
- // @ts-expect-error [FEI-5003] - TS2774 - This condition will always return true since this function is always defined. Did you mean to call it instead?
31072
+ // @ts-expect-error - TS2774 - This condition will always return true since this function is always defined. Did you mean to call it instead?
31076
31073
  if (button.focus) {
31077
31074
  focusWithChromeStickyFocusBugWorkaround(button);
31078
31075
  }
@@ -31119,21 +31116,21 @@ class Option extends React__namespace.Component {
31119
31116
  ariaLabel
31120
31117
  } = this.props;
31121
31118
  return /*#__PURE__*/React__namespace.createElement("button", {
31122
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'HTMLButtonElement | null' is not assignable to type 'HTMLDivElement'.
31119
+ // @ts-expect-error - TS2322 - Type 'HTMLButtonElement | null' is not assignable to type 'HTMLDivElement'.
31123
31120
  ref: node => this.node = node,
31124
31121
  value: value,
31125
31122
  role: "menuitemradio",
31126
31123
  "aria-checked": selected,
31127
31124
  className: aphrodite.css(styles$4.notAButton, disabled && styles$4.cursorDefault, hideFocusState && styles$4.noFocus)
31128
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(value: string) => void' is not assignable to type 'MouseEventHandler<HTMLButtonElement>'.
31125
+ // @ts-expect-error - TS2322 - Type '(value: string) => void' is not assignable to type 'MouseEventHandler<HTMLButtonElement>'.
31129
31126
  ,
31130
31127
  onClick: value => {
31131
31128
  if (!disabled && onClick) {
31132
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 0 arguments, but got 1.
31129
+ // @ts-expect-error - TS2554 - Expected 0 arguments, but got 1.
31133
31130
  onClick(value);
31134
31131
  }
31135
31132
  }
31136
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(event: KeyboardEvent) => void' is not assignable to type 'KeyboardEventHandler<HTMLButtonElement>'.
31133
+ // @ts-expect-error - TS2322 - Type '(event: KeyboardEvent) => void' is not assignable to type 'KeyboardEventHandler<HTMLButtonElement>'.
31137
31134
  ,
31138
31135
  onKeyDown: event => this.handleKeyDown(event),
31139
31136
  "aria-disabled": disabled,
@@ -31181,23 +31178,23 @@ class OptionGroup extends React__namespace.Component {
31181
31178
  hideFocusState
31182
31179
  } = this.props;
31183
31180
  return /*#__PURE__*/React__namespace.createElement("div", {
31184
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Window | null' is not assignable to type 'Top<string | number> | undefined'.
31181
+ // @ts-expect-error - TS2322 - Type 'Window | null' is not assignable to type 'Top<string | number> | undefined'.
31185
31182
  style: {
31186
31183
  top
31187
31184
  },
31188
31185
  className: aphrodite.css(styles$4.optionGroup, noMargin && styles$4.optionGroupNoMargin)
31189
31186
  }, React__namespace.Children.map(children, (child, index) => {
31190
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31187
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31191
31188
  const selected = selectedValues.includes(child.props.value);
31192
31189
  const reference = selected || index === 0 ? node => this.focusedElement = node : null;
31193
31190
 
31194
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
31191
+ // @ts-expect-error - TS2769 - No overload matches this call.
31195
31192
  return /*#__PURE__*/React__namespace.cloneElement(child, {
31196
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31193
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31197
31194
  ...child.props,
31198
31195
  key: index,
31199
31196
  selected: selected,
31200
- // @ts-expect-error [FEI-5003] - TS2532 - Object is possibly 'undefined'.
31197
+ // @ts-expect-error - TS2532 - Object is possibly 'undefined'.
31201
31198
  onClick: () => onSelected(child.props.value),
31202
31199
  optionRenderer: optionRenderer,
31203
31200
  ref: reference,
@@ -31389,7 +31386,7 @@ class Marker extends React__namespace.Component {
31389
31386
  }), /*#__PURE__*/React__namespace.createElement(OptionGroup, {
31390
31387
  onSelected: this.handleSelectAnswer
31391
31388
  // TODO(WB-1096): make selectedValues immutable in wonder-blocks
31392
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
31389
+ // @ts-expect-error - TS2769 - No overload matches this call.
31393
31390
  ,
31394
31391
  selectedValues: answers
31395
31392
  }, choices.map(choice => /*#__PURE__*/React__namespace.createElement(Option, {
@@ -31517,7 +31514,7 @@ class QuestionMarkers extends React__namespace.Component {
31517
31514
  // Open answer selection dropdown for each of the specified markers.
31518
31515
  indices.forEach(index => {
31519
31516
  if (this._markers[index]) {
31520
- // @ts-expect-error [FEI-5003] - TS2533 - Object is possibly 'null' or 'undefined'.
31517
+ // @ts-expect-error - TS2533 - Object is possibly 'null' or 'undefined'.
31521
31518
  this._markers[index].openDropdown();
31522
31519
  }
31523
31520
  });
@@ -31931,7 +31928,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31931
31928
  return perseus.Changeable.change.apply(_this, args);
31932
31929
  });
31933
31930
  _defineProperty(this, "_handlePatternChange", e => {
31934
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
31931
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
31935
31932
  this.change("flipPattern", e.target.value);
31936
31933
  });
31937
31934
  _defineProperty(this, "_changeWidth", newWidth => {
@@ -31950,7 +31947,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31950
31947
  });
31951
31948
  });
31952
31949
 
31953
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
31950
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
31954
31951
  this.change({
31955
31952
  startCells: newCells
31956
31953
  });
@@ -31960,7 +31957,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31960
31957
  return y === tileY && x === tileX;
31961
31958
  });
31962
31959
 
31963
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
31960
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
31964
31961
  this.change({
31965
31962
  startCells: newCells
31966
31963
  });
@@ -31980,7 +31977,7 @@ class LightsPuzzleEditor extends React__namespace.Component {
31980
31977
  onChange: this._changeHeight
31981
31978
  })), /*#__PURE__*/React__namespace.createElement("div", null, "Flip pattern:", /*#__PURE__*/React__namespace.createElement("select", {
31982
31979
  value: this.props.flipPattern
31983
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
31980
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
31984
31981
  ,
31985
31982
  onChange: this._handlePatternChange
31986
31983
  }, ___default["default"].map(___default["default"].keys(PATTERNS), (pattern, i) => {
@@ -32189,7 +32186,7 @@ class MatrixEditor extends React__namespace.Component {
32189
32186
  content: this.props.prefix,
32190
32187
  widgetEnabled: false,
32191
32188
  onChange: newProps => {
32192
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32189
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32193
32190
  this.change({
32194
32191
  prefix: newProps.content
32195
32192
  });
@@ -32204,7 +32201,7 @@ class MatrixEditor extends React__namespace.Component {
32204
32201
  content: this.props.suffix,
32205
32202
  widgetEnabled: false,
32206
32203
  onChange: newProps => {
32207
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32204
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32208
32205
  this.change({
32209
32206
  suffix: newProps.content
32210
32207
  });
@@ -32264,7 +32261,7 @@ class MeasurerEditor extends React__namespace.Component {
32264
32261
  _defineProperty(this, "_changeImage", (subProp, newValue) => {
32265
32262
  const image = ___default["default"].clone(this.props.image);
32266
32263
  image[subProp] = newValue;
32267
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32264
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32268
32265
  this.change("image", image);
32269
32266
  });
32270
32267
  _defineProperty(this, "renderLabelChoices", choices => {
@@ -32309,7 +32306,7 @@ class MeasurerEditor extends React__namespace.Component {
32309
32306
  value: image.left,
32310
32307
  useArrowKeys: true
32311
32308
  }))), /*#__PURE__*/React__namespace.createElement("div", null, "Containing area [width, height]:", " ", /*#__PURE__*/React__namespace.createElement(RangeInput$2
32312
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32309
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32313
32310
  , {
32314
32311
  onChange: this.change("box"),
32315
32312
  value: this.props.box,
@@ -32330,7 +32327,7 @@ class MeasurerEditor extends React__namespace.Component {
32330
32327
  onChange: this.props.onChange
32331
32328
  }))), this.props.showRuler && /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Ruler label:", " ", /*#__PURE__*/React__namespace.createElement("select", {
32332
32329
  onChange: e =>
32333
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32330
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32334
32331
  this.change("rulerLabel", e.target.value),
32335
32332
  value: this.props.rulerLabel
32336
32333
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -32341,7 +32338,7 @@ class MeasurerEditor extends React__namespace.Component {
32341
32338
  label: "Imperial"
32342
32339
  }, this.renderLabelChoices([["inches", "in"], ["feet", "ft"], ["yards", "yd"], ["miles", "mi"]]))))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Ruler ticks:", " ", /*#__PURE__*/React__namespace.createElement("select", {
32343
32340
  onChange: e =>
32344
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 2.
32341
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
32345
32342
  this.change("rulerTicks", +e.target.value),
32346
32343
  value: this.props.rulerTicks
32347
32344
  }, ___default["default"].map([1, 2, 4, 8, 10, 16], function (n) {
@@ -32351,14 +32348,14 @@ class MeasurerEditor extends React__namespace.Component {
32351
32348
  }, n);
32352
32349
  })))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler pixels per unit:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$9, {
32353
32350
  placeholder: 40
32354
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32351
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32355
32352
  ,
32356
32353
  onChange: this.change("rulerPixels"),
32357
32354
  value: this.props.rulerPixels,
32358
32355
  useArrowKeys: true
32359
32356
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Ruler length in units:", " ", /*#__PURE__*/React__namespace.createElement(NumberInput$9, {
32360
32357
  placeholder: 10
32361
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32358
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32362
32359
  ,
32363
32360
  onChange: this.change("rulerLength"),
32364
32361
  value: this.props.rulerLength,
@@ -32409,13 +32406,13 @@ class MoleculeWidgetEditor extends React__namespace.Component {
32409
32406
  return perseus.Changeable.change.apply(_this, args);
32410
32407
  });
32411
32408
  _defineProperty(this, "updateMolecule", newValue => {
32412
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32409
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32413
32410
  this.change({
32414
32411
  smiles: newValue
32415
32412
  });
32416
32413
  });
32417
32414
  _defineProperty(this, "updateRotation", newValue => {
32418
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
32415
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
32419
32416
  this.change({
32420
32417
  rotationAngle: newValue
32421
32418
  });
@@ -32576,7 +32573,7 @@ class NumberLineEditor extends React__namespace.Component {
32576
32573
  className: "perseus-widget-row"
32577
32574
  }, "Correct x", " ", /*#__PURE__*/React__namespace.createElement("select", {
32578
32575
  value: this.props.correctRel
32579
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
32576
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
32580
32577
  ,
32581
32578
  onChange: this.onChangeRelation
32582
32579
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33081,14 +33078,14 @@ const NumericInputEditor = createReactClass__default["default"]({
33081
33078
  // TODO(emily): This doesn't actually work, because the value is either
33082
33079
  // null or undefined when undefined, probably.
33083
33080
  if (___default["default"].contains(___default["default"].pluck(this.props.answers, "value"), "")) {
33084
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33081
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33085
33082
  warnings.push("One or more answers is empty");
33086
33083
  }
33087
33084
  this.props.answers.forEach((answer, i) => {
33088
33085
  const formatError = answer.strict && (!answer.answerForms || answer.answerForms.length === 0);
33089
33086
  if (formatError) {
33090
33087
  warnings.push(
33091
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33088
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'never'.
33092
33089
  "Answer ".concat(i + 1, " is set to string format ") + "matching, but no format was selected");
33093
33090
  }
33094
33091
  });
@@ -33174,7 +33171,7 @@ class OrdererEditor extends React__namespace.Component {
33174
33171
  layout: this.props.layout
33175
33172
  }), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Layout:", " ", /*#__PURE__*/React__namespace.createElement("select", {
33176
33173
  value: this.props.layout
33177
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
33174
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
33178
33175
  ,
33179
33176
  onChange: this.onLayoutChange
33180
33177
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33183,7 +33180,7 @@ class OrdererEditor extends React__namespace.Component {
33183
33180
  value: VERTICAL$1
33184
33181
  }, "Vertical"))), /*#__PURE__*/React__namespace.createElement(InfoTip$8, null, /*#__PURE__*/React__namespace.createElement("p", null, "Use the horizontal layout for short text and small images. The vertical layout is best for longer text (e.g. proofs)."))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Height:", " ", /*#__PURE__*/React__namespace.createElement("select", {
33185
33182
  value: this.props.height
33186
- // @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>'.
33187
33184
  ,
33188
33185
  onChange: this.onHeightChange
33189
33186
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -33241,7 +33238,7 @@ class PassageEditor extends React__namespace.Component {
33241
33238
  widgetEnabled: false,
33242
33239
  placeholder: "Type passage here...",
33243
33240
  onChange: newProps => {
33244
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33241
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33245
33242
  this.change({
33246
33243
  passageText: newProps.content
33247
33244
  });
@@ -33257,7 +33254,7 @@ class PassageEditor extends React__namespace.Component {
33257
33254
  widgetEnabled: false,
33258
33255
  placeholder: "Type footnotes here...",
33259
33256
  onChange: newProps => {
33260
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33257
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33261
33258
  this.change({
33262
33259
  footnotes: newProps.content
33263
33260
  });
@@ -33276,7 +33273,7 @@ class PassageEditor extends React__namespace.Component {
33276
33273
  type: "text",
33277
33274
  defaultValue: this.props.passageTitle,
33278
33275
  onChange: e => {
33279
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33276
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33280
33277
  this.change({
33281
33278
  passageTitle: e.target.value
33282
33279
  });
@@ -33322,17 +33319,17 @@ class PassageRefEditor extends React__namespace.Component {
33322
33319
  render() {
33323
33320
  return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Passage Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$5, {
33324
33321
  value: this.props.passageNumber
33325
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33322
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33326
33323
  ,
33327
33324
  onChange: this.change("passageNumber")
33328
33325
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Reference Number: ", /*#__PURE__*/React__namespace.createElement(NumberInput$5, {
33329
33326
  value: this.props.referenceNumber
33330
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33327
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33331
33328
  ,
33332
33329
  onChange: this.change("referenceNumber")
33333
33330
  }))), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, "Summary Text: ", /*#__PURE__*/React__namespace.createElement(TextInput$2, {
33334
33331
  value: this.props.summaryText
33335
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33332
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33336
33333
  ,
33337
33334
  onChange: this.change("summaryText")
33338
33335
  }), /*#__PURE__*/React__namespace.createElement(InfoTip$6, null, /*#__PURE__*/React__namespace.createElement("p", null, "Short summary of the referenced section. This will be included in parentheses and quotes automatically."), /*#__PURE__*/React__namespace.createElement("p", null, "Ex: The start ... the end")))));
@@ -33363,7 +33360,7 @@ class PassageRefTargetEditor extends React__namespace.Component {
33363
33360
  return perseus.Changeable.change.apply(_this, args);
33364
33361
  });
33365
33362
  _defineProperty(this, "handleContentChange", e => {
33366
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
33363
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
33367
33364
  this.change({
33368
33365
  content: e.target.value
33369
33366
  });
@@ -33396,12 +33393,15 @@ const {
33396
33393
  TextListEditor: TextListEditor$1
33397
33394
  } = perseus.components;
33398
33395
  const Plotter = perseus.PlotterWidget.widget;
33399
- const BAR = "bar",
33400
- LINE = "line",
33401
- PIC = "pic",
33402
- HISTOGRAM = "histogram",
33403
- DOTPLOT = "dotplot";
33404
-
33396
+ const BAR = "bar";
33397
+ const LINE = "line";
33398
+ const PIC = "pic";
33399
+ const HISTOGRAM = "histogram";
33400
+ const DOTPLOT = "dotplot";
33401
+ const plotTypes = [BAR, LINE, PIC, HISTOGRAM, DOTPLOT];
33402
+ const STARTING = "starting";
33403
+ const CORRECT = "correct";
33404
+ const editingStates = [STARTING, CORRECT];
33405
33405
  // Return a copy of array with length n, padded with given value
33406
33406
  function padArray(array, n, value) {
33407
33407
  const copy = ___default["default"].clone(array);
@@ -33416,29 +33416,12 @@ const editorDefaults = {
33416
33416
  maxY: 10,
33417
33417
  snapsPerLine: 2
33418
33418
  };
33419
- const widgetPropTypes = {
33420
- type: PropTypes__default["default"].oneOf([BAR, LINE, PIC, HISTOGRAM, DOTPLOT]),
33421
- labels: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
33422
- categories: PropTypes__default["default"].arrayOf(PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string])),
33423
- scaleY: PropTypes__default["default"].number,
33424
- maxY: PropTypes__default["default"].number,
33425
- snapsPerLine: PropTypes__default["default"].number,
33426
- picSize: PropTypes__default["default"].number,
33427
- pixBoxHeight: PropTypes__default["default"].number,
33428
- picUrl: PropTypes__default["default"].string,
33429
- plotDimensions: PropTypes__default["default"].arrayOf(PropTypes__default["default"].number),
33430
- labelInterval: PropTypes__default["default"].number,
33431
- starting: PropTypes__default["default"].arrayOf(PropTypes__default["default"].number),
33432
- correct: PropTypes__default["default"].arrayOf(PropTypes__default["default"].number),
33433
- static: PropTypes__default["default"].bool,
33434
- onChange: PropTypes__default["default"].func
33435
- };
33436
33419
  const formatNumber = num => "$" + kmath.number.round(num, 2) + "$";
33437
33420
  class PlotterEditor extends React__namespace.Component {
33438
33421
  constructor() {
33439
33422
  super(...arguments);
33440
33423
  _defineProperty(this, "state", {
33441
- editing: this.props.static ? "starting" : "correct",
33424
+ editing: this.props.static ? STARTING : CORRECT,
33442
33425
  pic: null,
33443
33426
  loadedUrl: null,
33444
33427
  minX: null,
@@ -33482,6 +33465,7 @@ class PlotterEditor extends React__namespace.Component {
33482
33465
  let categories;
33483
33466
  if (type === HISTOGRAM) {
33484
33467
  // Switching to histogram, add a label (0) to the left
33468
+ // @ts-expect-error - TS2769
33485
33469
  categories = [formatNumber(0)].concat(this.props.categories);
33486
33470
  this.props.onChange({
33487
33471
  type: type,
@@ -33502,7 +33486,7 @@ class PlotterEditor extends React__namespace.Component {
33502
33486
  if (categories) {
33503
33487
  // eslint-disable-next-line react/no-string-refs
33504
33488
  const node = ReactDOM__default["default"].findDOMNode(this.refs.categories);
33505
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33489
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33506
33490
  node.value = categories.join(", ");
33507
33491
  }
33508
33492
  });
@@ -33549,7 +33533,7 @@ class PlotterEditor extends React__namespace.Component {
33549
33533
  starting: ___default["default"].map(this.props.starting, scale)
33550
33534
  });
33551
33535
 
33552
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33536
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33553
33537
  ReactDOM__default["default"].findDOMNode(this.refs.maxY).value = maxY; // eslint-disable-line react/no-string-refs
33554
33538
  });
33555
33539
  _defineProperty(this, "changeMax", e => {
@@ -33586,13 +33570,13 @@ class PlotterEditor extends React__namespace.Component {
33586
33570
  // eslint-disable-next-line react/no-string-refs
33587
33571
  const node = ReactDOM__default["default"].findDOMNode(this.refs.categories);
33588
33572
 
33589
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33573
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
33590
33574
  node.value = categories.join(", ");
33591
33575
  });
33592
33576
  _defineProperty(this, "serialize", () => {
33593
33577
  const json = ___default["default"].pick(this.props, "correct", "starting", "type", "labels", "categories", "scaleY", "maxY", "snapsPerLine", "labelInterval");
33594
33578
  if (this.props.type === PIC) {
33595
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'picUrl' does not exist on type 'Pick<Readonly<any> & Readonly<{ children?: ReactNode; }>, "type" | "correct" | "labels" | "categories" | "starting" | "scaleY" | "maxY" | "snapsPerLine" | "labelInterval">'.
33579
+ // @ts-expect-error - TS2339 - Property 'picUrl' does not exist on type 'Pick<Readonly<any> & Readonly<{ children?: ReactNode; }>, "type" | "correct" | "labels" | "categories" | "starting" | "scaleY" | "maxY" | "snapsPerLine" | "labelInterval">'.
33596
33580
  json.picUrl = this.props.picUrl;
33597
33581
  }
33598
33582
  return json;
@@ -33619,29 +33603,21 @@ class PlotterEditor extends React__namespace.Component {
33619
33603
  };
33620
33604
  return /*#__PURE__*/React__namespace.createElement("div", {
33621
33605
  className: "perseus-widget-plotter-editor"
33622
- }, /*#__PURE__*/React__namespace.createElement("div", null, "Chart type:", " ", ___default["default"].map([BAR, LINE, PIC, HISTOGRAM, DOTPLOT], function (type) {
33606
+ }, /*#__PURE__*/React__namespace.createElement("div", null, "Chart type:", " ", plotTypes.map(type => {
33623
33607
  return /*#__PURE__*/React__namespace.createElement("label", {
33624
33608
  key: type
33625
33609
  }, /*#__PURE__*/React__namespace.createElement("input", {
33626
33610
  type: "radio",
33627
- name: "chart-type"
33628
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
33629
- ,
33611
+ name: "chart-type",
33630
33612
  checked: this.props.type === type,
33631
- onChange: ___default["default"].partial(
33632
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
33633
- this.changeType, type)
33613
+ onChange: ___default["default"].partial(this.changeType, type)
33634
33614
  }), type);
33635
- }, this)), /*#__PURE__*/React__namespace.createElement("div", null, "Labels:", " ", ___default["default"].map(["x", "y"], function (axis, i) {
33615
+ }, this)), /*#__PURE__*/React__namespace.createElement("div", null, "Labels:", " ", ["x", "y"].map((axis, i) => {
33636
33616
  return /*#__PURE__*/React__namespace.createElement("label", {
33637
33617
  key: axis
33638
33618
  }, axis + ":", /*#__PURE__*/React__namespace.createElement("input", {
33639
33619
  type: "text",
33640
- onChange: ___default["default"].partial(
33641
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
33642
- this.changeLabel, i)
33643
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
33644
- ,
33620
+ onChange: ___default["default"].partial(this.changeLabel, i),
33645
33621
  defaultValue: this.props.labels[i]
33646
33622
  }));
33647
33623
  }, this)), setFromScale && /*#__PURE__*/React__namespace.createElement("div", {
@@ -33692,12 +33668,12 @@ class PlotterEditor extends React__namespace.Component {
33692
33668
  type: "text",
33693
33669
  onChange: this.changeSnaps,
33694
33670
  defaultValue: this.props.snapsPerLine
33695
- })), /*#__PURE__*/React__namespace.createElement(InfoTip$5, null, /*#__PURE__*/React__namespace.createElement("p", null, "Creates the specified number of divisions between the horizontal lines. Fewer snaps between lines makes the graph easier for the student to create correctly."))), /*#__PURE__*/React__namespace.createElement("div", null, "Editing values:", " ", ["correct", "starting"].map(editing => /*#__PURE__*/React__namespace.createElement("label", {
33671
+ })), /*#__PURE__*/React__namespace.createElement(InfoTip$5, null, /*#__PURE__*/React__namespace.createElement("p", null, "Creates the specified number of divisions between the horizontal lines. Fewer snaps between lines makes the graph easier for the student to create correctly."))), /*#__PURE__*/React__namespace.createElement("div", null, "Editing values:", " ", editingStates.map(editing => /*#__PURE__*/React__namespace.createElement("label", {
33696
33672
  key: editing
33697
33673
  }, /*#__PURE__*/React__namespace.createElement("input", {
33698
33674
  type: "radio",
33699
- disabled: editing === "correct" && this.props.static,
33700
- checked: this.props.static ? editing === "starting" : this.state.editing === editing,
33675
+ disabled: editing === CORRECT && this.props.static,
33676
+ checked: this.props.static ? editing === STARTING : this.state.editing === editing,
33701
33677
  onChange: e => this.changeEditing(editing)
33702
33678
  }), editing)), /*#__PURE__*/React__namespace.createElement(InfoTip$5, null, /*#__PURE__*/React__namespace.createElement("p", null, "Use this toggle to switch between editing the correct answer (what the student will be graded on) and the starting values (what the student will see plotted when they start the problem). Note: These cannot be the same."), /*#__PURE__*/React__namespace.createElement("p", null, "In static mode, the starting values are rendered out to the displayed widget."))), /*#__PURE__*/React__namespace.createElement(Plotter, _extends({}, props, {
33703
33679
  starting: this.props[this.state.editing],
@@ -33705,7 +33681,6 @@ class PlotterEditor extends React__namespace.Component {
33705
33681
  })));
33706
33682
  }
33707
33683
  }
33708
- _defineProperty(PlotterEditor, "propTypes", widgetPropTypes);
33709
33684
  _defineProperty(PlotterEditor, "widgetName", "plotter");
33710
33685
  _defineProperty(PlotterEditor, "defaultProps", {
33711
33686
  ...editorDefaults,
@@ -33718,6 +33693,7 @@ _defineProperty(PlotterEditor, "defaultProps", {
33718
33693
  picBoxHeight: 36,
33719
33694
  plotDimensions: [275, 200],
33720
33695
  labelInterval: 1,
33696
+ // @ts-expect-error - TS2322
33721
33697
  get picUrl() {
33722
33698
  const staticUrl = perseus.Dependencies.getDependencies().staticUrl;
33723
33699
  if (staticUrl) {
@@ -33801,7 +33777,7 @@ class RadioEditor extends React__namespace.Component {
33801
33777
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33802
33778
  args[_key] = arguments[_key];
33803
33779
  }
33804
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
33780
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
33805
33781
  return perseus.Changeable.change.apply(_this, args);
33806
33782
  });
33807
33783
  _defineProperty(this, "onMultipleSelectChange", allowMultiple => {
@@ -33888,7 +33864,7 @@ class RadioEditor extends React__namespace.Component {
33888
33864
  hasNoneOfTheAbove: noneOfTheAbove || this.props.hasNoneOfTheAbove
33889
33865
  }, () => {
33890
33866
  // eslint-disable-next-line react/no-string-refs
33891
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33867
+ // @ts-expect-error - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33892
33868
  this.refs["choice-editor".concat(addIndex)].refs["content-editor"].focus();
33893
33869
  });
33894
33870
  });
@@ -33899,7 +33875,7 @@ class RadioEditor extends React__namespace.Component {
33899
33875
  });
33900
33876
  _defineProperty(this, "focus", () => {
33901
33877
  // eslint-disable-next-line react/no-string-refs
33902
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33878
+ // @ts-expect-error - TS2339 - Property 'refs' does not exist on type 'ReactInstance'.
33903
33879
  this.refs["choice-editor0"].refs["content-editor"].focus();
33904
33880
  return true;
33905
33881
  });
@@ -34040,10 +34016,10 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34040
34016
  });
34041
34017
  _defineProperty(this, "updateMolecule", idx => {
34042
34018
  return function (newValue) {
34043
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34019
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34044
34020
  const newSmiles = [...this.props.smiles];
34045
34021
  newSmiles[idx] = newValue;
34046
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34022
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34047
34023
  this.change({
34048
34024
  smiles: newSmiles
34049
34025
  });
@@ -34051,10 +34027,10 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34051
34027
  });
34052
34028
  _defineProperty(this, "updateRotation", idx => {
34053
34029
  return function (newValue) {
34054
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34030
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34055
34031
  const newRot = [...this.props.rotationAngle];
34056
34032
  newRot[idx] = newValue;
34057
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34033
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
34058
34034
  this.change({
34059
34035
  rotationAngle: newRot
34060
34036
  });
@@ -34068,7 +34044,7 @@ class ReactionDiagramWidgetEditor extends React__namespace.Component {
34068
34044
  };
34069
34045
  });
34070
34046
  newSep[idx][propName] = newValue;
34071
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
34047
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
34072
34048
  this.change({
34073
34049
  separators: newSep
34074
34050
  });
@@ -34154,7 +34130,7 @@ class SequenceEditor extends React__namespace.Component {
34154
34130
  return {
34155
34131
  json: ___default["default"].times(this.props.json.length, i => {
34156
34132
  // eslint-disable-next-line react/no-string-refs
34157
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
34133
+ // @ts-expect-error - TS2339 - Property 'serialize' does not exist on type 'ReactInstance'.
34158
34134
  return this.refs["editor" + i].serialize();
34159
34135
  })
34160
34136
  };
@@ -34279,7 +34255,7 @@ class TextArea extends React__namespace.Component {
34279
34255
  super(...arguments);
34280
34256
  _defineProperty(this, "focus", () => {
34281
34257
  // eslint-disable-next-line react/no-string-refs
34282
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34258
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34283
34259
  this.refs.input.focus();
34284
34260
  return true;
34285
34261
  });
@@ -34311,7 +34287,7 @@ class SimpleMarkdownTesterEditor extends React__namespace.Component {
34311
34287
  });
34312
34288
  _defineProperty(this, "focus", () => {
34313
34289
  // eslint-disable-next-line react/no-string-refs
34314
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34290
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
34315
34291
  this.refs.input.focus();
34316
34292
  return true;
34317
34293
  });
@@ -34322,7 +34298,7 @@ class SimpleMarkdownTesterEditor extends React__namespace.Component {
34322
34298
  render() {
34323
34299
  return /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, /*#__PURE__*/React__namespace.createElement("div", null, "Simple markdown contents:"), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement(TextArea, {
34324
34300
  value: this.props.value
34325
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
34301
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
34326
34302
  ,
34327
34303
  onChange: this.change("value")
34328
34304
  // eslint-disable-next-line react/no-string-refs
@@ -34353,7 +34329,7 @@ class SimulatorEditor extends React__namespace.Component {
34353
34329
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34354
34330
  args[_key] = arguments[_key];
34355
34331
  }
34356
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
34332
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
34357
34333
  return perseus.Changeable.change.apply(_this, args);
34358
34334
  });
34359
34335
  _defineProperty(this, "handleTargetValueChange", (propName, e) => {
@@ -34450,7 +34426,7 @@ class SorterEditor extends React__namespace.Component {
34450
34426
  layout: this.props.layout
34451
34427
  }), /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("label", null, " ", "Layout:", " ", /*#__PURE__*/React__namespace.createElement("select", {
34452
34428
  value: this.props.layout
34453
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
34429
+ // @ts-expect-error - TS2322 - Type '(arg1: ChangeEvent<HTMLInputElement>) => void' is not assignable to type 'ChangeEventHandler<HTMLSelectElement>'.
34454
34430
  ,
34455
34431
  onChange: this.onLayoutChange
34456
34432
  }, /*#__PURE__*/React__namespace.createElement("option", {
@@ -34485,7 +34461,7 @@ class TableEditor extends React__namespace.Component {
34485
34461
  constructor() {
34486
34462
  super(...arguments);
34487
34463
  _defineProperty(this, "focus", () => {
34488
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
34464
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
34489
34465
  ReactDOM__default["default"].findDOMNode(this.refs.numberOfColumns).focus(); // eslint-disable-line react/no-string-refs
34490
34466
  });
34491
34467
  _defineProperty(this, "onSizeInput", (numRawRows, numRawColumns) => {
@@ -35081,7 +35057,7 @@ const ShapeTypes = {
35081
35057
  const coord0 = points[0].coord || points[0];
35082
35058
  const coord1 = points[1].coord || points[1];
35083
35059
  const radius = kmath.point.distanceToPoint(coord0, coord1);
35084
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 1 arguments, but got 0.
35060
+ // @ts-expect-error - TS2554 - Expected 1 arguments, but got 0.
35085
35061
  perimeter.remove();
35086
35062
  perimeter = graphie.circle(coord0, radius, ___default["default"].extend({
35087
35063
  stroke: perseus.KhanColors.DYNAMIC,
@@ -35097,7 +35073,7 @@ const ShapeTypes = {
35097
35073
  remove: function () {
35098
35074
  // Not _.bind because the remove function changes
35099
35075
  // when the perimeter is redrawn
35100
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 1 arguments, but got 0.
35076
+ // @ts-expect-error - TS2554 - Expected 1 arguments, but got 0.
35101
35077
  perimeter.remove();
35102
35078
  }
35103
35079
  };
@@ -35136,10 +35112,10 @@ const ShapeTypes = {
35136
35112
  const line2_0 = [points2[1], points2[0]];
35137
35113
  const line2_2 = [points2[1], points2[2]];
35138
35114
  const equalUnflipped =
35139
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'. | TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'.
35115
+ // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'. | TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'.
35140
35116
  kmath.ray.equal(line1_0, line2_0) && kmath.ray.equal(line1_2, line2_2);
35141
35117
  const equalFlipped =
35142
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'. | TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'.
35118
+ // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'. | TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'Ray'.
35143
35119
  kmath.ray.equal(line1_0, line2_2) && kmath.ray.equal(line1_2, line2_0);
35144
35120
  return equalUnflipped || equalFlipped;
35145
35121
  },
@@ -35175,7 +35151,7 @@ class TransformationsShapeEditor extends React__namespace.Component {
35175
35151
  const pointCount = arraySum(___default["default"].map(types, ShapeTypes.getPointCountForType));
35176
35152
 
35177
35153
  // eslint-disable-next-line react/no-string-refs
35178
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'props' does not exist on type 'ReactInstance'.
35154
+ // @ts-expect-error - TS2339 - Property 'props' does not exist on type 'ReactInstance'.
35179
35155
  const radius = scaleToRange(4, this.refs.graph.props.range);
35180
35156
  const offset = (1 / 2 - 1 / pointCount) * 180;
35181
35157
  const coords = ___default["default"].times(pointCount, function (i) {
@@ -35191,12 +35167,12 @@ class TransformationsShapeEditor extends React__namespace.Component {
35191
35167
  });
35192
35168
  _defineProperty(this, "updateCoords", () => {
35193
35169
  this.props.onChange({
35194
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35170
+ // @ts-expect-error - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35195
35171
  shape: this.shape.toJSON()
35196
35172
  });
35197
35173
  });
35198
35174
  _defineProperty(this, "setupGraphie", graphie => {
35199
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35175
+ // @ts-expect-error - TS2339 - Property 'shape' does not exist on type 'TransformationsShapeEditor'.
35200
35176
  this.shape = ShapeTypes.addMovableShape(graphie, {
35201
35177
  editable: true,
35202
35178
  snap: graphie.snap,
@@ -35249,13 +35225,13 @@ class TransformationsShapeEditor extends React__namespace.Component {
35249
35225
 
35250
35226
  componentDidMount() {
35251
35227
  // eslint-disable-next-line react/no-string-refs
35252
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'graphie' does not exist on type 'ReactInstance'.
35228
+ // @ts-expect-error - TS2339 - Property 'graphie' does not exist on type 'ReactInstance'.
35253
35229
  this.setupGraphie(this.refs.graph.graphie());
35254
35230
  }
35255
35231
  componentDidUpdate(prevProps) {
35256
35232
  if (!deepEq(prevProps.shape, this.props.shape)) {
35257
35233
  // eslint-disable-next-line react/no-string-refs
35258
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'reset' does not exist on type 'ReactInstance'.
35234
+ // @ts-expect-error - TS2339 - Property 'reset' does not exist on type 'ReactInstance'.
35259
35235
  this.refs.graph.reset();
35260
35236
  }
35261
35237
  }
@@ -35287,7 +35263,7 @@ class TransformerEditor extends React__namespace.Component {
35287
35263
  });
35288
35264
  _defineProperty(this, "serialize", () => {
35289
35265
  // eslint-disable-next-line react/no-string-refs
35290
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getEditorJSON' does not exist on type 'ReactInstance'.
35266
+ // @ts-expect-error - TS2339 - Property 'getEditorJSON' does not exist on type 'ReactInstance'.
35291
35267
  const json = this.refs.explorer.getEditorJSON();
35292
35268
  json.correct = json.answer;
35293
35269
  delete json.answer;
@@ -35429,7 +35405,7 @@ class UnitExample extends React__namespace.Component {
35429
35405
  }
35430
35406
  // TODO(jangmi, CP-3288): Remove usage of `UNSAFE_componentWillMount`
35431
35407
  UNSAFE_componentWillMount() {
35432
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'Readonly<any> & Readonly<{ children?: ReactNode; }>' is not assignable to parameter of type '{ name: any; original: any; sigfigs: any; }'.
35408
+ // @ts-expect-error - TS2345 - Argument of type 'Readonly<any> & Readonly<{ children?: ReactNode; }>' is not assignable to parameter of type '{ name: any; original: any; sigfigs: any; }'.
35433
35409
  this._checkValidity(this.props);
35434
35410
  }
35435
35411
  UNSAFE_componentWillReceiveProps(nextProps) {
@@ -35465,13 +35441,13 @@ class UnitInputEditor extends React__namespace.Component {
35465
35441
  });
35466
35442
  _defineProperty(this, "handleAcceptingUnitsChange", event => {
35467
35443
  const acceptingUnits = event.target.value.split(",").map(str => str.trim()).filter(str => str !== "");
35468
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35444
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35469
35445
  this.change({
35470
35446
  acceptingUnits
35471
35447
  });
35472
35448
  });
35473
35449
  _defineProperty(this, "handleSigfigChange", sigfigs => {
35474
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35450
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35475
35451
  this.change({
35476
35452
  sigfigs
35477
35453
  });
@@ -35480,7 +35456,7 @@ class UnitInputEditor extends React__namespace.Component {
35480
35456
  return sigfigs > 0 && sigfigs <= MAX_SIGFIGS;
35481
35457
  });
35482
35458
  _defineProperty(this, "_setAccepting", val => {
35483
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35459
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35484
35460
  this.change({
35485
35461
  accepting: val
35486
35462
  });
@@ -35541,7 +35517,7 @@ class UnitInputEditor extends React__namespace.Component {
35541
35517
  key: i
35542
35518
  }));
35543
35519
 
35544
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
35520
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
35545
35521
  acceptingElem = /*#__PURE__*/React__namespace.createElement("div", null, /*#__PURE__*/React__namespace.createElement("input", {
35546
35522
  type: "text",
35547
35523
  defaultValue: acceptingUnits.join(", "),
@@ -35656,7 +35632,7 @@ class TextInput extends React__namespace.Component {
35656
35632
  super(...arguments);
35657
35633
  _defineProperty(this, "focus", () => {
35658
35634
  // eslint-disable-next-line react/no-string-refs
35659
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35635
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35660
35636
  this.refs.input.focus();
35661
35637
  return true;
35662
35638
  });
@@ -35697,7 +35673,7 @@ class ExampleWidget extends React__namespace.Component {
35697
35673
  });
35698
35674
  _defineProperty(this, "focus", () => {
35699
35675
  // eslint-disable-next-line react/no-string-refs
35700
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35676
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35701
35677
  this.refs.input.focus();
35702
35678
  return true;
35703
35679
  });
@@ -35745,7 +35721,7 @@ class ExampleWidget extends React__namespace.Component {
35745
35721
  , {
35746
35722
  ref: "input",
35747
35723
  value: this.props.value
35748
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 3 arguments, but got 1.
35724
+ // @ts-expect-error - TS2554 - Expected 3 arguments, but got 1.
35749
35725
  ,
35750
35726
  onChange: this.change("value")
35751
35727
  });
@@ -35791,7 +35767,7 @@ class SimpleMarkdownTester extends React__namespace.Component {
35791
35767
  });
35792
35768
  _defineProperty(this, "focus", () => {
35793
35769
  // eslint-disable-next-line react/no-string-refs
35794
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35770
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
35795
35771
  this.refs.input.focus();
35796
35772
  return true;
35797
35773
  });
@@ -35816,7 +35792,7 @@ class SimpleMarkdownTester extends React__namespace.Component {
35816
35792
  };
35817
35793
  }
35818
35794
  render() {
35819
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 2 arguments, but got 1.
35795
+ // @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
35820
35796
  const parsed = mdParse(this.props.value);
35821
35797
  const output = mdOutput(parsed);
35822
35798
  return /*#__PURE__*/React__namespace.createElement("div", null, output);