@khanacademy/perseus 7.2.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/article-renderer.d.ts +26 -40
  3. package/dist/components/math-input.d.ts +1 -1
  4. package/dist/components/sortable.d.ts +1 -1
  5. package/dist/components/tex-buttons.d.ts +1 -1
  6. package/dist/es/index.css +61 -61
  7. package/dist/es/index.js +1189 -1308
  8. package/dist/es/index.js.map +1 -1
  9. package/dist/hints-renderer.d.ts +1 -1
  10. package/dist/index.css +61 -61
  11. package/dist/index.js +1180 -1269
  12. package/dist/index.js.map +1 -1
  13. package/dist/mixins/provide-keypad.d.ts +15 -12
  14. package/dist/perseus-api.d.ts +1 -1
  15. package/dist/types.d.ts +3 -2
  16. package/dist/widgets/expression.d.ts +1 -1
  17. package/dist/widgets/graded-group.d.ts +1 -1
  18. package/dist/widgets/interactive-graph.d.ts +1 -1
  19. package/dist/widgets/plotter.d.ts +47 -13
  20. package/dist/widgets/sequence.d.ts +1 -1
  21. package/dist/widgets/table.d.ts +8 -1
  22. package/dist/widgets.d.ts +1 -1
  23. package/package.json +33 -33
  24. package/src/__testdata__/article-renderer.testdata.ts +3 -1
  25. package/src/__testdata__/item-renderer.testdata.ts +1 -1
  26. package/src/__testdata__/renderer.testdata.ts +1 -1
  27. package/src/__tests__/item-renderer.test.tsx +2 -2
  28. package/src/__tests__/mock-asset-loading-widget.tsx +1 -1
  29. package/src/__tests__/perseus-markdown.test.ts +17 -17
  30. package/src/__tests__/renderer-api.test.tsx +21 -21
  31. package/src/__tests__/renderer.test.tsx +13 -13
  32. package/src/__tests__/server-item-renderer.test.tsx +3 -3
  33. package/src/__tests__/tex-wrangler.test.ts +1 -1
  34. package/src/article-renderer.tsx +39 -38
  35. package/src/components/__stories__/image-loader.stories.tsx +1 -0
  36. package/src/components/__tests__/number-input.test.tsx +4 -4
  37. package/src/components/__tests__/sortable.test.tsx +2 -2
  38. package/src/components/fixed-to-responsive.tsx +1 -1
  39. package/src/components/graph.tsx +12 -11
  40. package/src/components/graphie-classes.ts +7 -7
  41. package/src/components/graphie.tsx +14 -14
  42. package/src/components/highlighting/highlightable-content.tsx +1 -1
  43. package/src/components/highlighting/ui/highlight-renderer.tsx +1 -1
  44. package/src/components/highlighting/ui/util.ts +2 -2
  45. package/src/components/highlighting/word-indexer.tsx +4 -4
  46. package/src/components/icon.tsx +2 -1
  47. package/src/components/image-loader.tsx +5 -4
  48. package/src/components/input-with-examples.tsx +2 -2
  49. package/src/components/lint.tsx +1 -1
  50. package/src/components/math-input.tsx +5 -5
  51. package/src/components/math-output.tsx +1 -1
  52. package/src/components/multi-button-group.tsx +1 -1
  53. package/src/components/number-input.tsx +11 -10
  54. package/src/components/prop-check-box.tsx +1 -1
  55. package/src/components/simple-keypad-input.tsx +4 -4
  56. package/src/components/sortable.tsx +43 -41
  57. package/src/components/svg-image.tsx +13 -12
  58. package/src/components/tex-buttons.tsx +5 -3
  59. package/src/components/text-input.tsx +9 -8
  60. package/src/components/text-list-editor.tsx +12 -11
  61. package/src/components/visibility-observer/create-visibility-observer.ts +1 -1
  62. package/src/components/visibility-observer/visibility-observer.tsx +2 -2
  63. package/src/components/zoomable-tex.tsx +3 -3
  64. package/src/components/zoomable.tsx +9 -8
  65. package/src/hint-renderer.tsx +3 -3
  66. package/src/hints-renderer.tsx +12 -11
  67. package/src/index.ts +1 -0
  68. package/src/init.ts +1 -1
  69. package/src/interaction-tracker.ts +4 -4
  70. package/src/interactive2/__tests__/movable-point.test.ts +1 -1
  71. package/src/interactive2/interactive-util.ts +6 -6
  72. package/src/interactive2/movable-helper-methods.ts +2 -2
  73. package/src/interactive2/movable-line-options.ts +37 -37
  74. package/src/interactive2/movable-line.ts +2 -2
  75. package/src/interactive2/movable-point-options.ts +29 -29
  76. package/src/interactive2/movable-point.tsx +2 -2
  77. package/src/interactive2/movable-polygon-options.ts +45 -45
  78. package/src/interactive2/movable-polygon.ts +2 -2
  79. package/src/interactive2/movable.ts +2 -2
  80. package/src/interactive2/objective_.ts +1 -1
  81. package/src/interactive2/wrapped-defaults.ts +2 -2
  82. package/src/interactive2/wrapped-ellipse.ts +9 -9
  83. package/src/interactive2/wrapped-line.ts +8 -8
  84. package/src/interactive2/wrapped-path.ts +5 -5
  85. package/src/item-renderer.tsx +6 -5
  86. package/src/mixins/changeable.ts +2 -2
  87. package/src/mixins/editor-jsonify.ts +1 -1
  88. package/src/mixins/provide-keypad.tsx +24 -37
  89. package/src/mixins/widget-jsonify-deprecated.ts +1 -1
  90. package/src/multi-items/__tests__/items.test.ts +1 -1
  91. package/src/multi-items/__tests__/multi-renderer.test.tsx +7 -7
  92. package/src/multi-items/__tests__/trees.test.ts +12 -12
  93. package/src/multi-items/item-types.ts +2 -2
  94. package/src/multi-items/items.ts +1 -1
  95. package/src/multi-items/multi-renderer.tsx +15 -14
  96. package/src/multi-items/prop-type-builders.ts +2 -2
  97. package/src/multi-items/tree-types.ts +4 -4
  98. package/src/multi-items/trees.ts +16 -16
  99. package/src/perseus-env.ts +2 -2
  100. package/src/perseus-markdown.tsx +5 -5
  101. package/src/renderer.tsx +39 -38
  102. package/src/server-item-renderer.tsx +6 -5
  103. package/src/sigfigs.ts +1 -1
  104. package/src/styles/articles.less +8 -4
  105. package/src/styles/perseus-renderer.less +47 -38
  106. package/src/styles/util.less +1 -1
  107. package/src/styles/variables.boostrap.less +158 -182
  108. package/src/styles/variables.less +20 -20
  109. package/src/styles/variables.shared.less +162 -168
  110. package/src/styles/widgets/categorizer.less +1 -2
  111. package/src/styles/widgets/expression.less +7 -4
  112. package/src/styles/widgets/grapher.less +2 -1
  113. package/src/styles/widgets/image.less +3 -2
  114. package/src/styles/widgets/interactive-graph.less +4 -2
  115. package/src/styles/widgets/label-image.less +2 -1
  116. package/src/styles/widgets/matrix.less +11 -7
  117. package/src/styles/widgets/orderer.less +2 -1
  118. package/src/styles/widgets/passage.less +2 -1
  119. package/src/styles/widgets/plotter.less +4 -3
  120. package/src/styles/widgets/radio.less +4 -2
  121. package/src/styles/widgets/sortable.less +1 -1
  122. package/src/styles/widgets/table.less +2 -1
  123. package/src/styles/widgets/transformer.less +2 -1
  124. package/src/styles/widgets/unit.less +2 -1
  125. package/src/traversal.ts +1 -1
  126. package/src/types.ts +3 -3
  127. package/src/util/answer-types.ts +14 -14
  128. package/src/util/geometry.ts +7 -7
  129. package/src/util/graphie.ts +32 -32
  130. package/src/util/interactive.ts +118 -118
  131. package/src/util/math.ts +4 -4
  132. package/src/util/react-render.tsx +1 -1
  133. package/src/util/scroll-utils.ts +2 -2
  134. package/src/util/tex.ts +3 -3
  135. package/src/util.ts +15 -15
  136. package/src/widget-container.tsx +1 -1
  137. package/src/widgets/__stories__/plotter.stories.tsx +27 -0
  138. package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +3 -3
  139. package/src/widgets/__testdata__/numeric-input.testdata.ts +1 -1
  140. package/src/widgets/__testdata__/plotter.testdata.ts +36 -0
  141. package/src/widgets/__tests__/__snapshots__/plotter.test.tsx.snap +863 -0
  142. package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +2 -2
  143. package/src/widgets/__tests__/expression.test.ts +4 -3
  144. package/src/widgets/__tests__/grapher.cypress.ts +32 -32
  145. package/src/widgets/__tests__/group.test.tsx +1 -1
  146. package/src/widgets/__tests__/interactive-graph.cypress.ts +40 -40
  147. package/src/widgets/__tests__/interactive-graph.test.ts +1 -1
  148. package/src/widgets/__tests__/numeric-input.test.ts +1 -1
  149. package/src/widgets/__tests__/passage.test.tsx +2 -2
  150. package/src/widgets/__tests__/plotter.test.tsx +66 -0
  151. package/src/widgets/__tests__/radio/base-radio.test.tsx +7 -7
  152. package/src/widgets/__tests__/renderQuestion.tsx +3 -3
  153. package/src/widgets/categorizer.tsx +5 -4
  154. package/src/widgets/cs-program.tsx +2 -2
  155. package/src/widgets/dropdown.tsx +1 -1
  156. package/src/widgets/expression.tsx +10 -9
  157. package/src/widgets/graded-group-set.tsx +6 -5
  158. package/src/widgets/graded-group.tsx +19 -19
  159. package/src/widgets/grapher/util.tsx +6 -6
  160. package/src/widgets/grapher.tsx +10 -10
  161. package/src/widgets/group.tsx +3 -3
  162. package/src/widgets/iframe.tsx +2 -2
  163. package/src/widgets/image.tsx +1 -1
  164. package/src/widgets/input-number.tsx +4 -4
  165. package/src/widgets/interaction.tsx +78 -77
  166. package/src/widgets/interactive-graph.tsx +109 -107
  167. package/src/widgets/label-image/marker.tsx +3 -2
  168. package/src/widgets/label-image.test.ts +1 -1
  169. package/src/widgets/label-image.tsx +7 -7
  170. package/src/widgets/lights-puzzle.tsx +2 -2
  171. package/src/widgets/matcher.tsx +7 -6
  172. package/src/widgets/matrix.tsx +20 -20
  173. package/src/widgets/measurer.tsx +3 -3
  174. package/src/widgets/molecule/__tests__/layout.test.ts +4 -4
  175. package/src/widgets/molecule/__tests__/parser.test.ts +14 -14
  176. package/src/widgets/molecule/smiles-parser.ts +3 -3
  177. package/src/widgets/molecule.tsx +4 -4
  178. package/src/widgets/number-line.tsx +11 -11
  179. package/src/widgets/numeric-input.tsx +11 -11
  180. package/src/widgets/orderer.tsx +39 -38
  181. package/src/widgets/passage/__tests__/passage-markdown.test.ts +1 -1
  182. package/src/widgets/passage/passage-markdown.tsx +4 -4
  183. package/src/widgets/passage-ref-target.tsx +2 -1
  184. package/src/widgets/passage-ref.tsx +4 -6
  185. package/src/widgets/passage.tsx +11 -11
  186. package/src/widgets/plotter.tsx +117 -107
  187. package/src/widgets/radio/base-radio.tsx +12 -11
  188. package/src/widgets/radio/choice-icon/choice-icon.tsx +3 -2
  189. package/src/widgets/radio/choice.tsx +1 -1
  190. package/src/widgets/radio/option-status.tsx +1 -1
  191. package/src/widgets/radio/widget.tsx +6 -6
  192. package/src/widgets/radio.ts +1 -1
  193. package/src/widgets/reaction-diagram.tsx +8 -8
  194. package/src/widgets/sequence.tsx +2 -2
  195. package/src/widgets/simulator.tsx +14 -14
  196. package/src/widgets/sorter.tsx +5 -4
  197. package/src/widgets/table.tsx +8 -8
  198. package/src/widgets/transformer.tsx +93 -92
  199. package/src/widgets/unit.tsx +17 -17
  200. package/src/widgets/video-transcript-link.test.tsx +3 -3
  201. package/src/widgets/video-transcript-link.tsx +1 -1
  202. package/src/widgets/video.tsx +1 -1
  203. package/src/widgets.ts +5 -5
  204. package/src/zoom.ts +22 -22
  205. package/tsconfig-build.tsbuildinfo +1 -1
  206. package/dist/a11y.js.flow +0 -11
  207. package/dist/all-widgets.js.flow +0 -33
  208. package/dist/article-renderer.js.flow +0 -73
  209. package/dist/asset-context.js.flow +0 -15
  210. package/dist/basic-widgets.js.flow +0 -33
  211. package/dist/components/button-group.js.flow +0 -33
  212. package/dist/components/constants.js.flow +0 -13
  213. package/dist/components/fixed-to-responsive.js.flow +0 -34
  214. package/dist/components/graph.js.flow +0 -66
  215. package/dist/components/graphie-classes.js.flow +0 -19
  216. package/dist/components/graphie-movables.js.flow +0 -22
  217. package/dist/components/graphie.js.flow +0 -69
  218. package/dist/components/highlighting/highlightable-content.js.flow +0 -56
  219. package/dist/components/highlighting/highlights.js.flow +0 -54
  220. package/dist/components/highlighting/ranges.js.flow +0 -60
  221. package/dist/components/highlighting/types.js.flow +0 -70
  222. package/dist/components/highlighting/ui/highlight-renderer.js.flow +0 -43
  223. package/dist/components/highlighting/ui/highlight-set-renderer.js.flow +0 -41
  224. package/dist/components/highlighting/ui/highlight-tooltip.js.flow +0 -22
  225. package/dist/components/highlighting/ui/highlighting-ui.js.flow +0 -30
  226. package/dist/components/highlighting/ui/selection-tracker.js.flow +0 -54
  227. package/dist/components/highlighting/ui/types.js.flow +0 -22
  228. package/dist/components/highlighting/ui/util.js.flow +0 -42
  229. package/dist/components/highlighting/word-indexer.js.flow +0 -21
  230. package/dist/components/hud.js.flow +0 -14
  231. package/dist/components/icon.js.flow +0 -31
  232. package/dist/components/image-loader.js.flow +0 -49
  233. package/dist/components/info-tip/info-tip.js.flow +0 -20
  234. package/dist/components/info-tip.js.flow +0 -18
  235. package/dist/components/inline-icon.js.flow +0 -39
  236. package/dist/components/input-with-examples.js.flow +0 -58
  237. package/dist/components/lint.js.flow +0 -58
  238. package/dist/components/math-input.js.flow +0 -49
  239. package/dist/components/math-output.js.flow +0 -33
  240. package/dist/components/multi-button-group.js.flow +0 -35
  241. package/dist/components/number-input.js.flow +0 -42
  242. package/dist/components/prop-check-box.js.flow +0 -8
  243. package/dist/components/range-input.js.flow +0 -20
  244. package/dist/components/simple-keypad-input.js.flow +0 -16
  245. package/dist/components/sortable.js.flow +0 -91
  246. package/dist/components/stub-tag-editor.js.flow +0 -18
  247. package/dist/components/svg-image.js.flow +0 -85
  248. package/dist/components/tex-buttons.js.flow +0 -26
  249. package/dist/components/tex.js.flow +0 -25
  250. package/dist/components/text-input.js.flow +0 -39
  251. package/dist/components/text-list-editor.js.flow +0 -22
  252. package/dist/components/tooltip.js.flow +0 -51
  253. package/dist/components/visibility-observer/create-visibility-observer.js.flow +0 -23
  254. package/dist/components/visibility-observer/get-scroll-parent.js.flow +0 -7
  255. package/dist/components/visibility-observer/visibility-observer.js.flow +0 -36
  256. package/dist/components/zoomable-tex.js.flow +0 -18
  257. package/dist/components/zoomable.js.flow +0 -70
  258. package/dist/components.js.flow +0 -22
  259. package/dist/definition-context.js.flow +0 -25
  260. package/dist/dependencies.js.flow +0 -9
  261. package/dist/error-boundary.js.flow +0 -19
  262. package/dist/extra-widgets.js.flow +0 -33
  263. package/dist/hint-renderer.js.flow +0 -32
  264. package/dist/hints-renderer.js.flow +0 -41
  265. package/dist/icon-paths.js.flow +0 -123
  266. package/dist/index.js.flow +0 -134
  267. package/dist/init.js.flow +0 -20
  268. package/dist/interaction-tracker.js.flow +0 -35
  269. package/dist/interactive2/interactive-util.js.flow +0 -50
  270. package/dist/interactive2/movable-helper-methods.js.flow +0 -15
  271. package/dist/interactive2/movable-line-options.js.flow +0 -44
  272. package/dist/interactive2/movable-line.js.flow +0 -8
  273. package/dist/interactive2/movable-point-options.js.flow +0 -44
  274. package/dist/interactive2/movable-point.js.flow +0 -8
  275. package/dist/interactive2/movable-polygon-options.js.flow +0 -47
  276. package/dist/interactive2/movable-polygon.js.flow +0 -8
  277. package/dist/interactive2/movable.js.flow +0 -8
  278. package/dist/interactive2/objective_.js.flow +0 -25
  279. package/dist/interactive2/types.js.flow +0 -8
  280. package/dist/interactive2/wrapped-defaults.js.flow +0 -11
  281. package/dist/interactive2/wrapped-ellipse.js.flow +0 -14
  282. package/dist/interactive2/wrapped-line.js.flow +0 -14
  283. package/dist/interactive2/wrapped-path.js.flow +0 -13
  284. package/dist/interactive2.js.flow +0 -16
  285. package/dist/item-renderer.js.flow +0 -132
  286. package/dist/item-version.js.flow +0 -11
  287. package/dist/jipt-paragraphs.js.flow +0 -14
  288. package/dist/loading-context.js.flow +0 -12
  289. package/dist/logging/log.js.flow +0 -62
  290. package/dist/mixins/changeable.js.flow +0 -33
  291. package/dist/mixins/editor-jsonify.js.flow +0 -10
  292. package/dist/mixins/provide-keypad.js.flow +0 -33
  293. package/dist/mixins/widget-jsonify-deprecated.js.flow +0 -11
  294. package/dist/mixins/widget-prop-denylist.js.flow +0 -20
  295. package/dist/multi-items/item-types.js.flow +0 -55
  296. package/dist/multi-items/items.js.flow +0 -66
  297. package/dist/multi-items/multi-renderer.js.flow +0 -213
  298. package/dist/multi-items/prop-type-builders.js.flow +0 -22
  299. package/dist/multi-items/shape-types.js.flow +0 -60
  300. package/dist/multi-items/shapes.js.flow +0 -25
  301. package/dist/multi-items/tree-types.js.flow +0 -45
  302. package/dist/multi-items/trees.js.flow +0 -147
  303. package/dist/multi-items.js.flow +0 -36
  304. package/dist/perseus-api.js.flow +0 -151
  305. package/dist/perseus-env.js.flow +0 -6
  306. package/dist/perseus-error.js.flow +0 -16
  307. package/dist/perseus-markdown.js.flow +0 -20
  308. package/dist/perseus-types.js.flow +0 -1041
  309. package/dist/question-paragraph.js.flow +0 -17
  310. package/dist/renderability.js.flow +0 -19
  311. package/dist/renderer.js.flow +0 -325
  312. package/dist/server-item-renderer.js.flow +0 -132
  313. package/dist/sigfigs.js.flow +0 -41
  314. package/dist/styles/constants.js.flow +0 -62
  315. package/dist/styles/global-constants.js.flow +0 -348
  316. package/dist/styles/global-styles.js.flow +0 -53
  317. package/dist/styles/media-queries.js.flow +0 -35
  318. package/dist/styles/shared.js.flow +0 -8
  319. package/dist/tex-wrangler.js.flow +0 -13
  320. package/dist/translation-linter.js.flow +0 -32
  321. package/dist/traversal.js.flow +0 -26
  322. package/dist/types.js.flow +0 -318
  323. package/dist/util/a11y.js.flow +0 -8
  324. package/dist/util/answer-types.js.flow +0 -49
  325. package/dist/util/colors.js.flow +0 -95
  326. package/dist/util/fix-passage-refs.js.flow +0 -8
  327. package/dist/util/geometry.js.flow +0 -37
  328. package/dist/util/graph-utils.js.flow +0 -9
  329. package/dist/util/graphie.js.flow +0 -8
  330. package/dist/util/interactive.js.flow +0 -11
  331. package/dist/util/katex-preprocess.js.flow +0 -12
  332. package/dist/util/math.js.flow +0 -62
  333. package/dist/util/mobile-native-utils.js.flow +0 -12
  334. package/dist/util/react-render.js.flow +0 -12
  335. package/dist/util/register-all-widgets-for-testing.js.flow +0 -7
  336. package/dist/util/scroll-utils.js.flow +0 -19
  337. package/dist/util/sizing-utils.js.flow +0 -20
  338. package/dist/util/tex.js.flow +0 -17
  339. package/dist/util/url-utils.js.flow +0 -11
  340. package/dist/util.graphie.js.flow +0 -14
  341. package/dist/util.js.flow +0 -319
  342. package/dist/version.js.flow +0 -17
  343. package/dist/widget-container.js.flow +0 -33
  344. package/dist/widgets/categorizer.js.flow +0 -70
  345. package/dist/widgets/cs-program.js.flow +0 -54
  346. package/dist/widgets/definition.js.flow +0 -57
  347. package/dist/widgets/dropdown.js.flow +0 -63
  348. package/dist/widgets/explanation.js.flow +0 -58
  349. package/dist/widgets/expression.js.flow +0 -116
  350. package/dist/widgets/graded-group-answer-bar.js.flow +0 -24
  351. package/dist/widgets/graded-group-set.js.flow +0 -65
  352. package/dist/widgets/graded-group.js.flow +0 -78
  353. package/dist/widgets/grapher/util.js.flow +0 -38
  354. package/dist/widgets/grapher.js.flow +0 -102
  355. package/dist/widgets/group.js.flow +0 -60
  356. package/dist/widgets/iframe.js.flow +0 -53
  357. package/dist/widgets/image.js.flow +0 -73
  358. package/dist/widgets/input-number.js.flow +0 -94
  359. package/dist/widgets/interaction/arrow-picker.js.flow +0 -21
  360. package/dist/widgets/interaction/color-picker.js.flow +0 -23
  361. package/dist/widgets/interaction/dash-picker.js.flow +0 -21
  362. package/dist/widgets/interaction/element-container.js.flow +0 -28
  363. package/dist/widgets/interaction.js.flow +0 -60
  364. package/dist/widgets/interactive-graph.js.flow +0 -239
  365. package/dist/widgets/label-image/answer-choices.js.flow +0 -55
  366. package/dist/widgets/label-image/marker.js.flow +0 -31
  367. package/dist/widgets/label-image/types.js.flow +0 -23
  368. package/dist/widgets/label-image.js.flow +0 -142
  369. package/dist/widgets/lights-puzzle.js.flow +0 -58
  370. package/dist/widgets/matcher.js.flow +0 -106
  371. package/dist/widgets/matrix.js.flow +0 -80
  372. package/dist/widgets/measurer.js.flow +0 -30
  373. package/dist/widgets/molecule/molecule-drawing.js.flow +0 -11
  374. package/dist/widgets/molecule/molecule-layout.js.flow +0 -96
  375. package/dist/widgets/molecule/smiles-parser.js.flow +0 -26
  376. package/dist/widgets/molecule.js.flow +0 -60
  377. package/dist/widgets/number-line.js.flow +0 -102
  378. package/dist/widgets/numeric-input.js.flow +0 -105
  379. package/dist/widgets/orderer.js.flow +0 -81
  380. package/dist/widgets/passage/passage-markdown.js.flow +0 -33
  381. package/dist/widgets/passage-ref-target.js.flow +0 -52
  382. package/dist/widgets/passage-ref.js.flow +0 -85
  383. package/dist/widgets/passage.js.flow +0 -157
  384. package/dist/widgets/plotter.js.flow +0 -78
  385. package/dist/widgets/radio/base-radio.js.flow +0 -50
  386. package/dist/widgets/radio/choice-a11y-text.js.flow +0 -14
  387. package/dist/widgets/radio/choice-icon/choice-icon.js.flow +0 -22
  388. package/dist/widgets/radio/choice-icon/cross-out-line.js.flow +0 -16
  389. package/dist/widgets/radio/choice-icon/shared-styles.js.flow +0 -11
  390. package/dist/widgets/radio/choice-none-above.js.flow +0 -16
  391. package/dist/widgets/radio/choice.js.flow +0 -29
  392. package/dist/widgets/radio/choice.jsx.fixture.js.flow +0 -7
  393. package/dist/widgets/radio/focus-ring.js.flow +0 -22
  394. package/dist/widgets/radio/option-status.js.flow +0 -16
  395. package/dist/widgets/radio/util.js.flow +0 -12
  396. package/dist/widgets/radio/widget.js.flow +0 -80
  397. package/dist/widgets/radio.js.flow +0 -31
  398. package/dist/widgets/reaction-diagram.js.flow +0 -46
  399. package/dist/widgets/sequence.js.flow +0 -53
  400. package/dist/widgets/simulator.js.flow +0 -107
  401. package/dist/widgets/sorter.js.flow +0 -102
  402. package/dist/widgets/table.js.flow +0 -67
  403. package/dist/widgets/transformer.js.flow +0 -127
  404. package/dist/widgets/unit.js.flow +0 -93
  405. package/dist/widgets/video-transcript-link.js.flow +0 -15
  406. package/dist/widgets/video.js.flow +0 -57
  407. package/dist/widgets.js.flow +0 -108
  408. package/dist/zoom.js.flow +0 -7
  409. package/src/multi-items/item-types.js.flow +0 -55
@@ -1,5 +1,5 @@
1
1
  import * as KAS from "@khanacademy/kas";
2
- import {KeypadInput, KeypadType, Keys as Key} from "@khanacademy/math-input";
2
+ import {KeypadInput, KeypadType} from "@khanacademy/math-input";
3
3
  import {linterContextDefault} from "@khanacademy/perseus-linter";
4
4
  import * as i18n from "@khanacademy/wonder-blocks-i18n";
5
5
  import classNames from "classnames";
@@ -24,6 +24,7 @@ import type {
24
24
  PerseusExpressionAnswerForm,
25
25
  } from "../perseus-types";
26
26
  import type {PerseusScore, WidgetExports, WidgetProps} from "../types";
27
+ import type {Keys as Key} from "@khanacademy/math-input";
27
28
 
28
29
  const sendExpressionEvaluatedEvent = (
29
30
  result: "correct" | "incorrect" | "invalid",
@@ -126,7 +127,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
126
127
  static validate(
127
128
  userInput: string,
128
129
  rubric: Rubric,
129
- // @ts-expect-error [FEI-5003] - TS2322 - Type '() => void' is not assignable to type 'OnInputErrorFunctionType'.
130
+ // @ts-expect-error - TS2322 - Type '() => void' is not assignable to type 'OnInputErrorFunctionType'.
130
131
  onInputError: OnInputErrorFunctionType = function () {},
131
132
  ): PerseusScore {
132
133
  const options = _.clone(rubric);
@@ -329,7 +330,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
329
330
  ) {
330
331
  // TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
331
332
  // eslint-disable-next-line no-restricted-syntax
332
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
333
+ // @ts-expect-error - TS2769 - No overload matches this call.
333
334
  clearTimeout(this.errorTimeout);
334
335
 
335
336
  if (this.parse(this.props.value, this.props).parsed) {
@@ -339,7 +340,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
339
340
  // Store timeout ID so that we can clear it above
340
341
  // TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
341
342
  // eslint-disable-next-line no-restricted-syntax
342
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Timeout' is not assignable to type 'number'.
343
+ // @ts-expect-error - TS2322 - Type 'Timeout' is not assignable to type 'number'.
343
344
  this.errorTimeout = setTimeout(() => {
344
345
  const apiResult = this.props.apiOptions.onInputError(
345
346
  null, // reserved for some widget identifier
@@ -357,7 +358,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
357
358
  componentWillUnmount: () => void = () => {
358
359
  // TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
359
360
  // eslint-disable-next-line no-restricted-syntax
360
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
361
+ // @ts-expect-error - TS2769 - No overload matches this call.
361
362
  clearTimeout(this.errorTimeout);
362
363
 
363
364
  this._isMounted = false;
@@ -413,7 +414,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
413
414
  focus: () => boolean = () => {
414
415
  if (this.props.apiOptions.customKeypad) {
415
416
  // eslint-disable-next-line react/no-string-refs
416
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
417
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
417
418
  this.refs.input.focus();
418
419
  } else {
419
420
  // The buttons are often on top of text you're trying to read, so
@@ -425,20 +426,20 @@ export class Expression extends React.Component<Props, ExpressionState> {
425
426
 
426
427
  focusInputPath: (inputPath: InputPath) => void = (inputPath: InputPath) => {
427
428
  // eslint-disable-next-line react/no-string-refs
428
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
429
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
429
430
  this.refs.input.focus();
430
431
  };
431
432
 
432
433
  blurInputPath: (inputPath: InputPath) => void = (inputPath: InputPath) => {
433
434
  // eslint-disable-next-line react/no-string-refs
434
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'blur' does not exist on type 'ReactInstance'.
435
+ // @ts-expect-error - TS2339 - Property 'blur' does not exist on type 'ReactInstance'.
435
436
  this.refs.input.blur();
436
437
  };
437
438
 
438
439
  // HACK(joel)
439
440
  insert(keyPressed: Key) {
440
441
  // eslint-disable-next-line react/no-string-refs
441
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
442
+ // @ts-expect-error - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
442
443
  this.refs.input.insert(keyPressed);
443
444
  }
444
445
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  import {linterContextDefault} from "@khanacademy/perseus-linter";
2
3
  import Color from "@khanacademy/wonder-blocks-color";
3
4
  import * as i18n from "@khanacademy/wonder-blocks-i18n";
@@ -86,7 +87,7 @@ type State = {
86
87
  // TODO(jared): find a better name for this :) and for GradedGroup; the names
87
88
  // are currently a little confusing.
88
89
  class GradedGroupSet extends React.Component<Props, State> {
89
- // @ts-expect-error [FEI-5003] - TS2564 - Property '_childGroup' has no initializer and is not definitely assigned in the constructor.
90
+ // @ts-expect-error - TS2564 - Property '_childGroup' has no initializer and is not definitely assigned in the constructor.
90
91
  _childGroup: GradedGroup;
91
92
 
92
93
  static defaultProps: DefaultProps = {
@@ -104,7 +105,7 @@ class GradedGroupSet extends React.Component<Props, State> {
104
105
  }
105
106
 
106
107
  change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
107
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
108
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
108
109
  return Changeable.change.apply(this, args);
109
110
  };
110
111
 
@@ -156,7 +157,7 @@ class GradedGroupSet extends React.Component<Props, State> {
156
157
  return (
157
158
  // TODO(jeremy): Don't spread this.props, instead
158
159
  // pass in all props GradedGroup needs explicilty
159
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
160
+ // @ts-expect-error - TS2769 - No overload matches this call.
160
161
  <GradedGroup
161
162
  key={i}
162
163
  {...this.props}
@@ -199,10 +200,10 @@ class GradedGroupSet extends React.Component<Props, State> {
199
200
  </div>
200
201
  {/* TODO(jeremy): Don't spread this.props, instead
201
202
  pass in all props GradedGroup needs explicitly */}
202
- {/* @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. */}
203
+ {/* @ts-expect-error - TS2769 - No overload matches this call. */}
203
204
  <GradedGroup
204
205
  key={this.state.currentGroup}
205
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'GradedGroup | null' is not assignable to type 'GradedGroup'.
206
+ // @ts-expect-error - TS2322 - Type 'GradedGroup | null' is not assignable to type 'GradedGroup'.
206
207
  // Type 'null' is not assignable to type 'GradedGroup'.
207
208
  ref={(comp) => (this._childGroup = comp)}
208
209
  // We should pass in the set of props explicitly
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  import {linterContextDefault} from "@khanacademy/perseus-linter";
2
3
  import Button from "@khanacademy/wonder-blocks-button";
3
4
  import Color from "@khanacademy/wonder-blocks-color";
@@ -21,12 +22,11 @@ import {
21
22
  } from "../styles/constants";
22
23
  import a11y from "../util/a11y";
23
24
 
24
- import GradedGroupAnswerBar, {
25
- ANSWER_BAR_STATES,
26
- } from "./graded-group-answer-bar";
25
+ import GradedGroupAnswerBar from "./graded-group-answer-bar";
27
26
 
28
27
  import type {PerseusGradedGroupWidgetOptions} from "../perseus-types";
29
28
  import type {PerseusScore, WidgetExports, WidgetProps} from "../types";
29
+ import type {ANSWER_BAR_STATES} from "./graded-group-answer-bar";
30
30
 
31
31
  const GRADING_STATUSES = {
32
32
  ungraded: "ungraded" as const,
@@ -113,7 +113,7 @@ export class GradedGroup extends React.Component<Props, State> {
113
113
  }
114
114
 
115
115
  change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
116
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
116
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
117
117
  return Changeable.change.apply(this, args);
118
118
  };
119
119
 
@@ -133,7 +133,7 @@ export class GradedGroup extends React.Component<Props, State> {
133
133
  if (this.refs.renderer) {
134
134
  this.change("widgets", this.props.widgets);
135
135
  // eslint-disable-next-line react/no-string-refs
136
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'emptyWidgets' does not exist on type 'ReactInstance'.
136
+ // @ts-expect-error - TS2339 - Property 'emptyWidgets' does not exist on type 'ReactInstance'.
137
137
  const emptyWidgets = this.refs.renderer.emptyWidgets();
138
138
  const answerable = emptyWidgets.length === 0;
139
139
  const answerBarState = this.state.answerBarState;
@@ -145,10 +145,10 @@ export class GradedGroup extends React.Component<Props, State> {
145
145
 
146
146
  _checkAnswer: () => void = () => {
147
147
  // eslint-disable-next-line react/no-string-refs
148
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'showRationalesForCurrentlySelectedChoices' does not exist on type 'ReactInstance'.
148
+ // @ts-expect-error - TS2339 - Property 'showRationalesForCurrentlySelectedChoices' does not exist on type 'ReactInstance'.
149
149
  this.refs.renderer.showRationalesForCurrentlySelectedChoices();
150
150
  // eslint-disable-next-line react/no-string-refs
151
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'score' does not exist on type 'ReactInstance'.
151
+ // @ts-expect-error - TS2339 - Property 'score' does not exist on type 'ReactInstance'.
152
152
  const score: PerseusScore = this.refs.renderer.score();
153
153
 
154
154
  const status =
@@ -179,7 +179,7 @@ export class GradedGroup extends React.Component<Props, State> {
179
179
  // Mobile API
180
180
  getInputPaths: () => ReadonlyArray<ReadonlyArray<string>> = () => {
181
181
  // eslint-disable-next-line react/no-string-refs
182
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getInputPaths' does not exist on type 'ReactInstance'.
182
+ // @ts-expect-error - TS2339 - Property 'getInputPaths' does not exist on type 'ReactInstance'.
183
183
  return this.refs.renderer.getInputPaths();
184
184
  };
185
185
 
@@ -189,25 +189,25 @@ export class GradedGroup extends React.Component<Props, State> {
189
189
  cb,
190
190
  ) => {
191
191
  // eslint-disable-next-line react/no-string-refs
192
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'setInputValue' does not exist on type 'ReactInstance'.
192
+ // @ts-expect-error - TS2339 - Property 'setInputValue' does not exist on type 'ReactInstance'.
193
193
  return this.refs.renderer.setInputValue(path, newValue, cb);
194
194
  };
195
195
 
196
196
  focus: () => boolean = () => {
197
197
  // eslint-disable-next-line react/no-string-refs
198
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
198
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
199
199
  return this.refs.renderer.focus();
200
200
  };
201
201
 
202
202
  focusInputPath: (arg1: any) => void = (path) => {
203
203
  // eslint-disable-next-line react/no-string-refs
204
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focusPath' does not exist on type 'ReactInstance'.
204
+ // @ts-expect-error - TS2339 - Property 'focusPath' does not exist on type 'ReactInstance'.
205
205
  this.refs.renderer.focusPath(path);
206
206
  };
207
207
 
208
208
  blurInputPath: (arg1: any) => void = (path) => {
209
209
  // eslint-disable-next-line react/no-string-refs
210
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'blurPath' does not exist on type 'ReactInstance'.
210
+ // @ts-expect-error - TS2339 - Property 'blurPath' does not exist on type 'ReactInstance'.
211
211
  this.refs.renderer.blurPath(path);
212
212
  };
213
213
 
@@ -235,15 +235,15 @@ export class GradedGroup extends React.Component<Props, State> {
235
235
  // Colors are 10% darker than the colors in graded-group.less
236
236
  if (this.state.status === GRADING_STATUSES.correct) {
237
237
  // TODO(jeremy): update to a WB colour
238
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
238
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
239
239
  icon = <InlineIcon {...iconOk} style={{color: "#526f03"}} />;
240
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'null'.
240
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'null'.
241
241
  gradeStatus = i18n._("Correct");
242
242
  } else if (this.state.status === GRADING_STATUSES.incorrect) {
243
243
  // TODO(jeremy): update to a WB colour
244
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
244
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
245
245
  icon = <InlineIcon {...iconRemove} style={{color: "#ff5454"}} />;
246
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'null'.
246
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'null'.
247
247
  gradeStatus = i18n._("Incorrect");
248
248
  }
249
249
 
@@ -282,7 +282,7 @@ export class GradedGroup extends React.Component<Props, State> {
282
282
  * props that are needed.
283
283
  * TODO(FEI-4034): Only pass what the Renderer expects.
284
284
  */}
285
- {/* @ts-expect-error [FEI-5003] - TS2322 - Type '{ ref: string; apiOptions: any; onInteractWithWidget: (arg1: string) => void; linterContext: LinterContextProps; title: string; hasHint?: boolean | null | undefined; ... 22 more ...; children?: ReactNode; }' is not assignable to type 'Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "children" | "keypadElement" | "problemNum" | "apiOptions" | "legacyPerseusLint">'. */}
285
+ {/* @ts-expect-error - TS2322 - Type '{ ref: string; apiOptions: any; onInteractWithWidget: (arg1: string) => void; linterContext: LinterContextProps; title: string; hasHint?: boolean | null | undefined; ... 22 more ...; children?: ReactNode; }' is not assignable to type 'Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "children" | "keypadElement" | "problemNum" | "apiOptions" | "legacyPerseusLint">'. */}
286
286
  <Renderer
287
287
  {...this.props}
288
288
  // eslint-disable-next-line react/no-string-refs
@@ -336,7 +336,7 @@ export class GradedGroup extends React.Component<Props, State> {
336
336
  <div>
337
337
  {/* Not using Button here bc the styles won't work. */}
338
338
  <button
339
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
339
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
340
340
  tabIndex="0"
341
341
  className={css(styles.explanationTitle)}
342
342
  onClick={() => this.setState({showHint: false})}
@@ -363,7 +363,7 @@ export class GradedGroup extends React.Component<Props, State> {
363
363
  ) : (
364
364
  // Not using Button here bc the styles won't work.
365
365
  <button
366
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
366
+ // @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
367
367
  tabIndex="0"
368
368
  onClick={() => this.setState({showHint: true})}
369
369
  onKeyPress={(e) => {
@@ -10,7 +10,7 @@ import Util from "../../util";
10
10
  import type {Coord} from "../../interactive2/types";
11
11
  import type {PerseusScore} from "../../types";
12
12
 
13
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'Plot' does not exist on type 'typeof Graphie'.
13
+ // @ts-expect-error - TS2339 - Property 'Plot' does not exist on type 'typeof Graphie'.
14
14
  const Plot = Graphie.Plot;
15
15
 
16
16
  export const DEFAULT_BACKGROUND_IMAGE = {
@@ -98,7 +98,7 @@ const PlotDefaults = {
98
98
 
99
99
  getPropsForCoeffs: function (coeffs) {
100
100
  return {
101
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getFunctionForCoeffs' does not exist on type '{ readonly areEqual: (coeffs1: any, coeffs2: any) => boolean; readonly Movable: any; readonly getPropsForCoeffs: (coeffs: any) => any; }'.
101
+ // @ts-expect-error - TS2339 - Property 'getFunctionForCoeffs' does not exist on type '{ readonly areEqual: (coeffs1: any, coeffs2: any) => boolean; readonly Movable: any; readonly getPropsForCoeffs: (coeffs: any) => any; }'.
102
102
  fn: _.partial(this.getFunctionForCoeffs, coeffs),
103
103
  };
104
104
  },
@@ -149,7 +149,7 @@ const Quadratic = _.extend({}, PlotDefaults, {
149
149
  [0.5, 0.5],
150
150
  [0.75, 0.75],
151
151
  ],
152
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'Parabola' does not exist on type 'typeof Graphie'.
152
+ // @ts-expect-error - TS2339 - Property 'Parabola' does not exist on type 'typeof Graphie'.
153
153
  Movable: Graphie.Parabola,
154
154
 
155
155
  getCoefficients: function (coords) {
@@ -206,7 +206,7 @@ const Sinusoid = _.extend({}, PlotDefaults, {
206
206
  [0.5, 0.5],
207
207
  [0.6, 0.6],
208
208
  ],
209
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'Sinusoid' does not exist on type 'typeof Graphie'.
209
+ // @ts-expect-error - TS2339 - Property 'Sinusoid' does not exist on type 'typeof Graphie'.
210
210
  Movable: Graphie.Sinusoid,
211
211
 
212
212
  getCoefficients: function (coords) {
@@ -664,7 +664,7 @@ export const pointsFromNormalized = (
664
664
  return Math.floor((range[1] - range[0]) / step);
665
665
  };
666
666
 
667
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'number[][]' is not assignable to type 'readonly Coord[]'.
667
+ // @ts-expect-error - TS2322 - Type 'number[][]' is not assignable to type 'readonly Coord[]'.
668
668
  return coordsList.map((coords) => {
669
669
  const unsnappedPoint = coords.map((coord, i) => {
670
670
  const currRange = range[i];
@@ -719,7 +719,7 @@ export const defaultPlotProps = (type: string, graph: any): any => {
719
719
  // might get a free win.
720
720
  const model = functionForType(type);
721
721
  const gridStep = [1, 1];
722
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'number[]' is not assignable to parameter of type '[number, number]'.
722
+ // @ts-expect-error - TS2345 - Argument of type 'number[]' is not assignable to parameter of type '[number, number]'.
723
723
  const snapStep = Util.snapStepFromGridStep(gridStep);
724
724
  return {
725
725
  type,
@@ -37,9 +37,9 @@ import type {PerseusGrapherWidgetOptions} from "../perseus-types";
37
37
  import type {PerseusScore, WidgetExports, WidgetProps} from "../types";
38
38
  import type {GridDimensions} from "../util";
39
39
 
40
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
40
+ // @ts-expect-error - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
41
41
  const MovablePoint = Graphie.MovablePoint;
42
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'MovableLine' does not exist on type 'typeof Graphie'.
42
+ // @ts-expect-error - TS2339 - Property 'MovableLine' does not exist on type 'typeof Graphie'.
43
43
  const MovableLine = Graphie.MovableLine;
44
44
 
45
45
  function isFlipped(newCoord: Coord, oldCoord: Coord, line: Line) {
@@ -118,9 +118,9 @@ class FunctionGrapher extends React.Component<FunctionGrapherProps> {
118
118
  coord={coord}
119
119
  static={this.props.static}
120
120
  constraints={[
121
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
121
+ // @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
122
122
  Interactive2.MovablePoint.constraints.bound(),
123
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
123
+ // @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
124
124
  Interactive2.MovablePoint.constraints.snap(),
125
125
  (coord: any) => {
126
126
  // Always enforce that this is a function
@@ -200,9 +200,9 @@ class FunctionGrapher extends React.Component<FunctionGrapherProps> {
200
200
  let image = null;
201
201
  if (imageDescription.url) {
202
202
  const scale = box[0] / interactiveSizes.defaultBoxSize;
203
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Element' is not assignable to type 'null'.
203
+ // @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
204
204
  image = (
205
- // @ts-expect-error [FEI-5003] - TS2741 - Property 'alt' is missing in type '{ src: any; width: any; height: any; scale: number; }' but required in type 'Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "children" | "height" | "width" | "title" | "alt" | "trackInteraction" | "preloader" | "allowFullBleed" | "extraGraphie" | "overrideAriaHidden">'.
205
+ // @ts-expect-error - TS2741 - Property 'alt' is missing in type '{ src: any; width: any; height: any; scale: number; }' but required in type 'Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "children" | "height" | "width" | "title" | "alt" | "trackInteraction" | "preloader" | "allowFullBleed" | "extraGraphie" | "overrideAriaHidden">'.
206
206
  <SvgImage
207
207
  src={imageDescription.url}
208
208
  width={imageDescription.width}
@@ -291,9 +291,9 @@ class FunctionGrapher extends React.Component<FunctionGrapherProps> {
291
291
  });
292
292
  }}
293
293
  constraints={[
294
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
294
+ // @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
295
295
  Interactive2.MovableLine.constraints.bound(),
296
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
296
+ // @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
297
297
  Interactive2.MovableLine.constraints.snap(),
298
298
  (newCoord, oldCoord: any) => {
299
299
  // Calculate and apply proposed displacement
@@ -429,7 +429,7 @@ class Grapher extends React.Component<Props> {
429
429
 
430
430
  return (
431
431
  <div>
432
- {/* @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. */}
432
+ {/* @ts-expect-error - TS2769 - No overload matches this call. */}
433
433
  <FunctionGrapher {...grapherProps} />
434
434
  {this.props.availableTypes.length > 1 && typeSelector}
435
435
  </div>
@@ -638,7 +638,7 @@ const propTransform: (arg1: PerseusGrapherWidgetOptions) => RenderProps = (
638
638
  if (widgetProps.availableTypes.length === 1) {
639
639
  const graph = widgetProps.graph;
640
640
  const type = chooseType(widgetProps.availableTypes);
641
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
641
+ // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
642
642
  widgetProps.plot = defaultPlotProps(type, graph);
643
643
  }
644
644
 
@@ -127,7 +127,7 @@ class Group extends React.Component<Props> {
127
127
  // really we should have a more unidirectional flow. TODO(marcia): fix.
128
128
  const groupWidgets: ReadonlyArray<Widget> =
129
129
  this.props.findWidgets("group");
130
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'this' is not assignable to parameter of type 'Widget'.
130
+ // @ts-expect-error - TS2345 - Argument of type 'this' is not assignable to parameter of type 'Widget'.
131
131
  const number: number = groupWidgets.indexOf(this);
132
132
  const problemNumComponent = this.props.apiOptions.groupAnnotator(
133
133
  number,
@@ -171,9 +171,9 @@ class Group extends React.Component<Props> {
171
171
  onInteractWithWidget={onInteractWithWidget}
172
172
  linterContext={this.props.linterContext}
173
173
  />
174
- {/* @ts-expect-error [FEI-5003] - TS2339 - Property 'icon' does not exist on type 'Readonly<Props> & Readonly<{ children?: ReactNode; }>'. */}
174
+ {/* @ts-expect-error - TS2339 - Property 'icon' does not exist on type 'Readonly<Props> & Readonly<{ children?: ReactNode; }>'. */}
175
175
  {this.props.icon && (
176
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'icon' does not exist on type 'Readonly<Props> & Readonly<{ children?: ReactNode; }>'.
176
+ // @ts-expect-error - TS2339 - Property 'icon' does not exist on type 'Readonly<Props> & Readonly<{ children?: ReactNode; }>'.
177
177
  <div className="group-icon">{this.props.icon}</div>
178
178
  )}
179
179
  </div>
@@ -146,12 +146,12 @@ class Iframe extends React.Component<any> {
146
146
  }
147
147
 
148
148
  change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
149
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
149
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
150
150
  return Changeable.change.apply(this, args);
151
151
  };
152
152
 
153
153
  simpleValidate: (arg1: any) => any = (rubric) => {
154
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'validate' does not exist on type 'typeof Iframe'.
154
+ // @ts-expect-error - TS2339 - Property 'validate' does not exist on type 'typeof Iframe'.
155
155
  return Iframe.validate(this.getUserInput(), rubric);
156
156
  };
157
157
  }
@@ -204,7 +204,7 @@ class ImageWidget extends React.Component<Props> {
204
204
  <div
205
205
  className={css(styles.caption)}
206
206
  style={{
207
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string | null' is not assignable to type 'MinWidth<string | number> | undefined'.
207
+ // @ts-expect-error - TS2322 - Type 'string | null' is not assignable to type 'MinWidth<string | number> | undefined'.
208
208
  minWidth: minWidth,
209
209
  }}
210
210
  >
@@ -217,20 +217,20 @@ class InputNumber extends React.Component<Props> {
217
217
 
218
218
  focus: () => boolean = () => {
219
219
  // eslint-disable-next-line react/no-string-refs
220
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
220
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
221
221
  this.refs.input.focus();
222
222
  return true;
223
223
  };
224
224
 
225
225
  focusInputPath: (arg1: Path) => void = (inputPath) => {
226
226
  // eslint-disable-next-line react/no-string-refs
227
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
227
+ // @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
228
228
  this.refs.input.focus();
229
229
  };
230
230
 
231
231
  blurInputPath: (arg1: Path) => void = (inputPath) => {
232
232
  // eslint-disable-next-line react/no-string-refs
233
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'blur' does not exist on type 'ReactInstance'.
233
+ // @ts-expect-error - TS2339 - Property 'blur' does not exist on type 'ReactInstance'.
234
234
  this.refs.input.blur();
235
235
  };
236
236
 
@@ -281,7 +281,7 @@ class InputNumber extends React.Component<Props> {
281
281
  forms,
282
282
  function (form) {
283
283
  // eslint-disable-next-line @babel/no-invalid-this
284
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
284
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
285
285
  // eslint-disable-next-line @babel/no-invalid-this
286
286
  return formExamples[form](this.props);
287
287
  },