@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
@@ -133,12 +133,12 @@ export class NumericInput extends React.Component<Props, State> {
133
133
  format = answer.answerForms[0];
134
134
  }
135
135
 
136
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'MathFormat | undefined'.
136
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'MathFormat | undefined'.
137
137
  let answerString = KhanMath.toNumericString(answer.value, format);
138
138
  if (answer.maxError) {
139
139
  answerString +=
140
140
  " \u00B1 " +
141
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'MathFormat | undefined'.
141
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'MathFormat | undefined'.
142
142
  KhanMath.toNumericString(answer.maxError, format);
143
143
  }
144
144
  return answerString;
@@ -200,10 +200,10 @@ export class NumericInput extends React.Component<Props, State> {
200
200
  let localValue = currentValue;
201
201
  if (rubric.coefficient) {
202
202
  if (!localValue) {
203
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'number' is not assignable to type 'string'.
203
+ // @ts-expect-error - TS2322 - Type 'number' is not assignable to type 'string'.
204
204
  localValue = 1;
205
205
  } else if (localValue === "-") {
206
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'number' is not assignable to type 'string'.
206
+ // @ts-expect-error - TS2322 - Type 'number' is not assignable to type 'string'.
207
207
  localValue = -1;
208
208
  }
209
209
  }
@@ -220,7 +220,7 @@ export class NumericInput extends React.Component<Props, State> {
220
220
  if (!result) {
221
221
  // Otherwise, if the guess is not correct
222
222
  const otherAnswers = [].concat(
223
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
223
+ // @ts-expect-error - TS2769 - No overload matches this call.
224
224
  rubric.answers.filter((answer) => answer.status === "ungraded"),
225
225
  rubric.answers.filter((answer) => answer.status === "wrong"),
226
226
  );
@@ -237,11 +237,11 @@ export class NumericInput extends React.Component<Props, State> {
237
237
  ).correct;
238
238
  });
239
239
  result = {
240
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'status' does not exist on type 'never'.
240
+ // @ts-expect-error - TS2339 - Property 'status' does not exist on type 'never'.
241
241
  empty: match ? match.status === "ungraded" : false,
242
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'status' does not exist on type 'never'.
242
+ // @ts-expect-error - TS2339 - Property 'status' does not exist on type 'never'.
243
243
  correct: match ? match.status === "correct" : false,
244
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'message' does not exist on type 'never'.
244
+ // @ts-expect-error - TS2339 - Property 'message' does not exist on type 'never'.
245
245
  message: match ? match.message : null,
246
246
  guess: currentValue,
247
247
  };
@@ -284,7 +284,7 @@ export class NumericInput extends React.Component<Props, State> {
284
284
  });
285
285
 
286
286
  let examples = _.map(forms, (form) => {
287
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'PerseusNumericInputAnswerForm | { name: string; simplify: string; }' is not assignable to parameter of type 'PerseusNumericInputAnswerForm'.
287
+ // @ts-expect-error - TS2345 - Argument of type 'PerseusNumericInputAnswerForm | { name: string; simplify: string; }' is not assignable to parameter of type 'PerseusNumericInputAnswerForm'.
288
288
  return formExamples[form.name](form);
289
289
  });
290
290
  // Ensure no duplicate tooltip text from simplified and unsimplified
@@ -460,7 +460,7 @@ export const unionAnswerForms: (
460
460
  // two elements are equal, and returns a list of unique elements. This is
461
461
  // just a helper function here, but works generally.
462
462
  const uniqueBy = function (list, iteratee: any) {
463
- // @ts-expect-error [FEI-5003] - TS2347 - Untyped function calls may not accept type arguments.
463
+ // @ts-expect-error - TS2347 - Untyped function calls may not accept type arguments.
464
464
  return list.reduce<Array<any>>((uniqueList, element) => {
465
465
  // For each element, decide whether it's already in the list of
466
466
  // unique items.
@@ -539,7 +539,7 @@ const propsTransform = function (
539
539
  // Pull out the name of each form and whether that form has
540
540
  // required simplification.
541
541
  widgetOptions.answers.map((answer) => {
542
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly MathFormat[] | undefined' is not assignable to parameter of type 'Collection<any>'.
542
+ // @ts-expect-error - TS2345 - Argument of type 'readonly MathFormat[] | undefined' is not assignable to parameter of type 'Collection<any>'.
543
543
  return _.map(answer.answerForms, (form) => {
544
544
  return {
545
545
  simplify: answer.simplify,
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  /* eslint-disable @babel/no-invalid-this, @typescript-eslint/no-unused-vars, one-var, react/no-unsafe, react/sort-comp */
2
3
  import {
3
4
  linterContextProps,
@@ -55,7 +56,7 @@ const PropTypePosition = PropTypes.shape({
55
56
  });
56
57
 
57
58
  class Card extends React.Component<any, any> {
58
- // @ts-expect-error [FEI-5003] - TS2564 - Property 'mouseMoveUpBound' has no initializer and is not definitely assigned in the constructor.
59
+ // @ts-expect-error - TS2564 - Property 'mouseMoveUpBound' has no initializer and is not definitely assigned in the constructor.
59
60
  mouseMoveUpBound: boolean;
60
61
 
61
62
  static propTypes = {
@@ -190,7 +191,7 @@ class Card extends React.Component<any, any> {
190
191
  ),
191
192
  ),
192
193
  );
193
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'animate' does not exist on type 'JQueryStatic'.
194
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'animate' does not exist on type 'JQueryStatic'.
194
195
  $(ReactDOM.findDOMNode(this)).animate(
195
196
  this.props.animateTo,
196
197
  Math.max(ms, 1),
@@ -378,14 +379,14 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
378
379
  floating={false}
379
380
  content={opt.content}
380
381
  width={opt.width}
381
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
382
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
382
383
  linterContext={this.props.linterContext}
383
384
  // eslint-disable-next-line react/jsx-no-bind
384
385
  onMouseDown={
385
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
386
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
386
387
  this.state.animating
387
388
  ? $.noop
388
- : // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
389
+ : // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
389
390
  this.onClick.bind(null, "current", i)
390
391
  }
391
392
  />
@@ -408,7 +409,7 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
408
409
  }
409
410
 
410
411
  const anySortableCards = sortableCards.length > 0;
411
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'false | Element' is not assignable to parameter of type 'Element'.
412
+ // @ts-expect-error - TS2345 - Argument of type 'false | Element' is not assignable to parameter of type 'Element'.
412
413
  sortableCards.push(dragging, animating);
413
414
 
414
415
  // If there are no cards in the list, then add a "hint" card
@@ -480,7 +481,7 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
480
481
  loc,
481
482
  draggable,
482
483
  ) => {
483
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
484
+ // @ts-expect-error - TS2769 - No overload matches this call.
484
485
  const $draggable = $(ReactDOM.findDOMNode(draggable));
485
486
  const list = this.state.current.slice();
486
487
 
@@ -492,7 +493,7 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
492
493
  // card from the list
493
494
  list.splice(index, 1);
494
495
  opt = this.state.current[index];
495
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'number' is not assignable to type 'null'.
496
+ // @ts-expect-error - TS2322 - Type 'number' is not assignable to type 'null'.
496
497
  placeholderIndex = index;
497
498
  } else if (type === "bank") {
498
499
  opt = this.props.options[index];
@@ -504,13 +505,13 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
504
505
  placeholderIndex: placeholderIndex,
505
506
  dragKey: opt.key,
506
507
  dragContent: opt.content,
507
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'width' does not exist on type 'JQueryStatic'.
508
+ // @ts-expect-error - TS2339 - Property 'width' does not exist on type 'JQueryStatic'.
508
509
  dragWidth: $draggable.width(),
509
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'height' does not exist on type 'JQueryStatic'.
510
+ // @ts-expect-error - TS2339 - Property 'height' does not exist on type 'JQueryStatic'.
510
511
  dragHeight: $draggable.height(),
511
512
  grabPos: loc,
512
513
  mousePos: loc,
513
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'position' does not exist on type 'JQueryStatic'.
514
+ // @ts-expect-error - TS2339 - Property 'position' does not exist on type 'JQueryStatic'.
514
515
  offsetPos: $draggable.position(),
515
516
  });
516
517
  };
@@ -541,7 +542,7 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
541
542
  }
542
543
 
543
544
  this.props.onChange({
544
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type '{ current: any[]; }' is not assignable to parameter of type '{ hints?: readonly Hint[] | undefined; replace?: boolean | undefined; content?: string | undefined; widgets?: WidgetDict | undefined; images?: ImageDict | undefined; ... 13 more ...; plot?: any; }'.
545
+ // @ts-expect-error - TS2345 - Argument of type '{ current: any[]; }' is not assignable to parameter of type '{ hints?: readonly Hint[] | undefined; replace?: boolean | undefined; content?: string | undefined; widgets?: WidgetDict | undefined; images?: ImageDict | undefined; ... 13 more ...; plot?: any; }'.
545
546
  current: list,
546
547
  });
547
548
  this.setState({
@@ -555,7 +556,7 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
555
556
 
556
557
  // Find the position of the card we should animate to
557
558
  // TODO(alpert): Update mouse position once more before animating?
558
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'position' does not exist on type 'JQueryStatic'.
559
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'position' does not exist on type 'JQueryStatic'.
559
560
  const offset = $(ReactDOM.findDOMNode(draggable)).position();
560
561
  let finalOffset = null;
561
562
  if (inCardBank) {
@@ -564,14 +565,14 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
564
565
  _.each(
565
566
  this.props.options,
566
567
  function (opt, i) {
567
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
568
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
568
569
  if (opt.content === this.state.dragContent) {
569
570
  const card = ReactDOM.findDOMNode(
570
571
  // eslint-disable-next-line react/no-string-refs
571
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
572
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
572
573
  this.refs["bank" + i],
573
574
  );
574
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'position' does not exist on type 'JQueryStatic'.
575
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'position' does not exist on type 'JQueryStatic'.
575
576
  finalOffset = $(card).position();
576
577
  }
577
578
  },
@@ -582,9 +583,9 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
582
583
  // Otherwise, go to the position that the placeholder is at
583
584
  finalOffset = $(
584
585
  // eslint-disable-next-line react/no-string-refs
585
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
586
+ // @ts-expect-error - TS2769 - No overload matches this call.
586
587
  ReactDOM.findDOMNode(this.refs.placeholder),
587
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'position' does not exist on type 'JQueryStatic'.
588
+ // @ts-expect-error - TS2339 - Property 'position' does not exist on type 'JQueryStatic'.
588
589
  ).position();
589
590
  }
590
591
 
@@ -628,17 +629,17 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
628
629
  // Find the correct index for a card given the current cards.
629
630
  const isHorizontal = this.props.layout === HORIZONTAL;
630
631
  // eslint-disable-next-line react/no-string-refs
631
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
632
+ // @ts-expect-error - TS2769 - No overload matches this call.
632
633
  const $dragList = $(ReactDOM.findDOMNode(this.refs.dragList));
633
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
634
+ // @ts-expect-error - TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
634
635
  const leftEdge = $dragList.offset().left;
635
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
636
+ // @ts-expect-error - TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
636
637
  const topEdge = $dragList.offset().top;
637
638
  const midWidth =
638
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
639
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
639
640
  $(ReactDOM.findDOMNode(draggable)).offset().left - leftEdge;
640
641
  const midHeight =
641
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
642
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
642
643
  $(ReactDOM.findDOMNode(draggable)).offset().top - topEdge;
643
644
  let index = 0;
644
645
  let sumWidth = 0;
@@ -650,10 +651,10 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
650
651
  function (opt, i) {
651
652
  const card = ReactDOM.findDOMNode(
652
653
  // eslint-disable-next-line react/no-string-refs
653
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
654
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
654
655
  this.refs["sortable" + i],
655
656
  );
656
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'outerWidth' does not exist on type 'JQueryStatic'.
657
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'outerWidth' does not exist on type 'JQueryStatic'.
657
658
  const outerWidth = $(card).outerWidth(true);
658
659
  if (midWidth > sumWidth + outerWidth / 2) {
659
660
  index += 1;
@@ -668,10 +669,10 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
668
669
  function (opt, i) {
669
670
  const card = ReactDOM.findDOMNode(
670
671
  // eslint-disable-next-line react/no-string-refs
671
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
672
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
672
673
  this.refs["sortable" + i],
673
674
  );
674
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'outerHeight' does not exist on type 'JQueryStatic'.
675
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'outerHeight' does not exist on type 'JQueryStatic'.
675
676
  const outerHeight = $(card).outerHeight(true);
676
677
  if (midHeight > sumHeight + outerHeight / 2) {
677
678
  index += 1;
@@ -691,26 +692,26 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
691
692
  }
692
693
 
693
694
  const isHorizontal = this.props.layout === HORIZONTAL,
694
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
695
+ // @ts-expect-error - TS2769 - No overload matches this call.
695
696
  $draggable = $(ReactDOM.findDOMNode(draggable)),
696
697
  // eslint-disable-next-line react/no-string-refs
697
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
698
+ // @ts-expect-error - TS2769 - No overload matches this call.
698
699
  $bank = $(ReactDOM.findDOMNode(this.refs.bank)),
699
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
700
+ // @ts-expect-error - TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
700
701
  draggableOffset = $draggable.offset(),
701
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
702
+ // @ts-expect-error - TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
702
703
  bankOffset = $bank.offset(),
703
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'outerHeight' does not exist on type 'JQueryStatic'.
704
+ // @ts-expect-error - TS2339 - Property 'outerHeight' does not exist on type 'JQueryStatic'.
704
705
  draggableHeight = $draggable.outerHeight(true),
705
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'outerHeight' does not exist on type 'JQueryStatic'.
706
+ // @ts-expect-error - TS2339 - Property 'outerHeight' does not exist on type 'JQueryStatic'.
706
707
  bankHeight = $bank.outerHeight(true),
707
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'outerWidth' does not exist on type 'JQueryStatic'.
708
+ // @ts-expect-error - TS2339 - Property 'outerWidth' does not exist on type 'JQueryStatic'.
708
709
  bankWidth = $bank.outerWidth(true),
709
710
  // eslint-disable-next-line react/no-string-refs
710
711
  dragList = ReactDOM.findDOMNode(this.refs.dragList),
711
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'width' does not exist on type 'JQueryStatic'.
712
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'width' does not exist on type 'JQueryStatic'.
712
713
  dragListWidth = $(dragList).width(),
713
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'outerWidth' does not exist on type 'JQueryStatic'.
714
+ // @ts-expect-error - TS2339 - Property 'outerWidth' does not exist on type 'JQueryStatic'.
714
715
  draggableWidth = $draggable.outerWidth(true);
715
716
 
716
717
  if (isHorizontal) {
@@ -733,7 +734,7 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
733
734
  return {content: value};
734
735
  });
735
736
  this.props.onChange({
736
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type '{ current: { content: string; }[]; }' is not assignable to parameter of type '{ hints?: readonly Hint[] | undefined; replace?: boolean | undefined; content?: string | undefined; widgets?: WidgetDict | undefined; images?: ImageDict | undefined; ... 13 more ...; plot?: any; }'.
737
+ // @ts-expect-error - TS2345 - Argument of type '{ current: { content: string; }[]; }' is not assignable to parameter of type '{ hints?: readonly Hint[] | undefined; replace?: boolean | undefined; content?: string | undefined; widgets?: WidgetDict | undefined; images?: ImageDict | undefined; ... 13 more ...; plot?: any; }'.
737
738
  current: list,
738
739
  });
739
740
 
@@ -749,7 +750,7 @@ class Orderer extends React.Component<OrdererProps, OrdererState> {
749
750
  };
750
751
 
751
752
  simpleValidate: (arg1: any) => any = (rubric) => {
752
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'validate' does not exist on type 'typeof Orderer'.
753
+ // @ts-expect-error - TS2339 - Property 'validate' does not exist on type 'typeof Orderer'.
753
754
  return Orderer.validate(this.getUserInput(), rubric);
754
755
  };
755
756
  }
@@ -30,7 +30,7 @@ const validateParse = (parsed: Array<SingleASTNode>, expected) => {
30
30
 
31
31
  const htmlThroughReact = function (parsed: Array<SingleASTNode>) {
32
32
  const output = PassageMarkdown.output(parsed);
33
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'DOM' does not exist on type 'typeof React'.
33
+ // @ts-expect-error - TS2339 - Property 'DOM' does not exist on type 'typeof React'.
34
34
  // eslint-disable-next-line import/namespace
35
35
  const rawHtml = renderToStaticMarkup(React.DOM.div(null, output));
36
36
  const innerHtml = rawHtml.replace(/^<div>/, "").replace(/<\/div>$/, "");
@@ -68,7 +68,7 @@ class RefStart extends React.Component<Props> {
68
68
  return <span style={REF_STYLE}>{i18n.doNotTranslate("_")}</span>;
69
69
  }
70
70
 
71
- // @ts-expect-error [FEI-5003] - TS2322 - Type '() => React.ReactNode' is not assignable to type '() => ReactElement<any, string | JSXElementConstructor<any>>'.
71
+ // @ts-expect-error - TS2322 - Type '() => React.ReactNode' is not assignable to type '() => ReactElement<any, string | JSXElementConstructor<any>>'.
72
72
  getRefContent: () => React.ReactElement = () => {
73
73
  return this.props.refContent;
74
74
  };
@@ -304,7 +304,7 @@ const rules = {
304
304
  output: OutputFun,
305
305
  state: ParseState,
306
306
  ): React.ReactElement => {
307
- // @ts-expect-error [FEI-5003] - TS2739 - Type '(string | Element | null)[]' is missing the following properties from type 'ReactElement<any, string | JSXElementConstructor<any>>': type, props, key
307
+ // @ts-expect-error - TS2739 - Type '(string | Element | null)[]' is missing the following properties from type 'ReactElement<any, string | JSXElementConstructor<any>>': type, props, key
308
308
  return [
309
309
  <span
310
310
  key="visual-circle"
@@ -453,7 +453,7 @@ const parse: (
453
453
  arg1: string,
454
454
  arg2?: ParseState | null | undefined,
455
455
  ) => Array<SingleASTNode> = (source, state) => {
456
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'ParseState | {}' is not assignable to type 'ParseState | null | undefined'.
456
+ // @ts-expect-error - TS2322 - Type 'ParseState | {}' is not assignable to type 'ParseState | null | undefined'.
457
457
  state = state || {};
458
458
  const paragraphedSource = source + "\n\n";
459
459
  return builtParser(
@@ -462,7 +462,7 @@ const parse: (
462
462
  );
463
463
  };
464
464
 
465
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'ReactOutput' is not assignable to type '(arg1: SingleASTNode[]) => ReactElement<any, string | JSXElementConstructor<any>>'.
465
+ // @ts-expect-error - TS2322 - Type 'ReactOutput' is not assignable to type '(arg1: SingleASTNode[]) => ReactElement<any, string | JSXElementConstructor<any>>'.
466
466
  const output: (arg1: Array<SingleASTNode>) => React.ReactElement =
467
467
  SimpleMarkdown.reactFor(SimpleMarkdown.ruleOutput(rules, "react"));
468
468
 
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  import {
2
3
  linterContextProps,
3
4
  linterContextDefault,
@@ -49,7 +50,7 @@ class PassageRefTarget extends React.Component<any> {
49
50
  return (
50
51
  <Renderer
51
52
  content={this.props.content}
52
- // @ts-expect-error [FEI-5003] - TS2322 - Type '{ content: any; inline: boolean; apiOptions: any; linterContext: any; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Renderer> & Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "children" | ... 3 more ... | "legacyPerseusLint"> & InexactPartial<...> & InexactPartial<...>'.
53
+ // @ts-expect-error - TS2322 - Type '{ content: any; inline: boolean; apiOptions: any; linterContext: any; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Renderer> & Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "children" | ... 3 more ... | "legacyPerseusLint"> & InexactPartial<...> & InexactPartial<...>'.
53
54
  inline={true}
54
55
  apiOptions={this.props.apiOptions}
55
56
  linterContext={this.props.linterContext}
@@ -7,8 +7,6 @@ import * as Changeable from "../mixins/changeable";
7
7
  import {removeDenylistProps} from "../mixins/widget-prop-denylist";
8
8
  import PerseusMarkdown from "../perseus-markdown";
9
9
 
10
- import {Passage} from "./passage";
11
-
12
10
  import type {PerseusPassageRefWidgetOptions} from "../perseus-types";
13
11
  import type {
14
12
  ChangeFn,
@@ -17,7 +15,7 @@ import type {
17
15
  WidgetProps,
18
16
  LinterContextProps,
19
17
  } from "../types";
20
- import type {Reference} from "./passage";
18
+ import type {Passage, Reference} from "./passage";
21
19
 
22
20
  const EN_DASH = "\u2013";
23
21
 
@@ -52,9 +50,9 @@ type State = {
52
50
 
53
51
  class PassageRef extends React.Component<Props, State> {
54
52
  displayName = "PassageRef";
55
- // @ts-expect-error [FEI-5003] - TS2564 - Property '_isMounted' has no initializer and is not definitely assigned in the constructor.
53
+ // @ts-expect-error - TS2564 - Property '_isMounted' has no initializer and is not definitely assigned in the constructor.
56
54
  _isMounted: boolean;
57
- // @ts-expect-error [FEI-5003] - TS2564 - Property '_throttledUpdateRange' has no initializer and is not definitely assigned in the constructor.
55
+ // @ts-expect-error - TS2564 - Property '_throttledUpdateRange' has no initializer and is not definitely assigned in the constructor.
58
56
  _throttledUpdateRange: () => void;
59
57
 
60
58
  static defaultProps: DefaultProps = {
@@ -100,7 +98,7 @@ class PassageRef extends React.Component<Props, State> {
100
98
 
101
99
  let summaryOutput;
102
100
  if (this.props.summaryText) {
103
- // @ts-expect-error [FEI-5003] - TS2554 - Expected 2 arguments, but got 1.
101
+ // @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
104
102
  const summaryTree = PerseusMarkdown.parseInline(
105
103
  this.props.summaryText,
106
104
  );
@@ -104,9 +104,9 @@ export type Reference = {
104
104
  export class Passage extends React.Component<PassageProps, PassageState> {
105
105
  _contentRef: HTMLDivElement | null | undefined;
106
106
  _lineHeightMeasurerRef: LineHeightMeasurer | null | undefined;
107
- // @ts-expect-error [FEI-5003] - TS2564 - Property '_onResize' has no initializer and is not definitely assigned in the constructor.
107
+ // @ts-expect-error - TS2564 - Property '_onResize' has no initializer and is not definitely assigned in the constructor.
108
108
  _onResize: () => Record<any, any>;
109
- // @ts-expect-error [FEI-5003] - TS2564 - Property '_stylesAppiedTimer' has no initializer and is not definitely assigned in the constructor.
109
+ // @ts-expect-error - TS2564 - Property '_stylesAppiedTimer' has no initializer and is not definitely assigned in the constructor.
110
110
  _stylesAppiedTimer: number;
111
111
 
112
112
  static defaultProps: DefaultPassageProps = {
@@ -127,7 +127,7 @@ export class Passage extends React.Component<PassageProps, PassageState> {
127
127
  componentDidMount() {
128
128
  this._updateState();
129
129
 
130
- // @ts-expect-error [FEI-5003] - TS2322 - Type '(() => void) & Cancelable' is not assignable to type '() => Record<any, any>'.
130
+ // @ts-expect-error - TS2322 - Type '(() => void) & Cancelable' is not assignable to type '() => Record<any, any>'.
131
131
  this._onResize = _.throttle(() => {
132
132
  // If we're rendering JIPT text, we won't have line numbers or a
133
133
  // line height measurer, so skip handling this resize.
@@ -214,7 +214,7 @@ export class Passage extends React.Component<PassageProps, PassageState> {
214
214
 
215
215
  _measureLines(): number {
216
216
  const renderer = ReactDOM.findDOMNode(this._contentRef);
217
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'height' does not exist on type 'JQueryStatic'.
217
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'height' does not exist on type 'JQueryStatic'.
218
218
  const contentsHeight: number = $(renderer).height();
219
219
  const lineHeight = this._getLineHeight();
220
220
  const nLines = Math.round(contentsHeight / lineHeight);
@@ -271,11 +271,11 @@ export class Passage extends React.Component<PassageProps, PassageState> {
271
271
  return null;
272
272
  }
273
273
 
274
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
274
+ // @ts-expect-error - TS2769 - No overload matches this call.
275
275
  const $ref = $(ReactDOM.findDOMNode(ref));
276
276
  // We really care about the first text after the ref, not the
277
277
  // ref element itself:
278
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'next' does not exist on type 'JQueryStatic'.
278
+ // @ts-expect-error - TS2339 - Property 'next' does not exist on type 'JQueryStatic'.
279
279
  let $refText = $ref.next();
280
280
  if ($refText.length === 0) {
281
281
  // But if there are no elements after the ref, just
@@ -298,11 +298,11 @@ export class Passage extends React.Component<PassageProps, PassageState> {
298
298
  return null;
299
299
  }
300
300
 
301
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
301
+ // @ts-expect-error - TS2769 - No overload matches this call.
302
302
  const $ref = $(ReactDOM.findDOMNode(ref));
303
303
  // We really care about the last text before the ref, not the
304
304
  // ref element itself:
305
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'prev' does not exist on type 'JQueryStatic'.
305
+ // @ts-expect-error - TS2339 - Property 'prev' does not exist on type 'JQueryStatic'.
306
306
  let $refText = $ref.prev();
307
307
  if ($refText.length === 0) {
308
308
  // But if there are no elements before the ref, just
@@ -328,7 +328,7 @@ export class Passage extends React.Component<PassageProps, PassageState> {
328
328
 
329
329
  _convertPosToLineNumber(absoluteVPos: number): number {
330
330
  const content = ReactDOM.findDOMNode(this._contentRef);
331
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call. | TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
331
+ // @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'offset' does not exist on type 'JQueryStatic'.
332
332
  const relativeVPos = absoluteVPos - $(content).offset().top;
333
333
  const lineHeight = this._getLineHeight();
334
334
 
@@ -342,7 +342,7 @@ export class Passage extends React.Component<PassageProps, PassageState> {
342
342
  if (!ref) {
343
343
  return null;
344
344
  }
345
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'getRefContent' does not exist on type 'ReactInstance'.
345
+ // @ts-expect-error - TS2339 - Property 'getRefContent' does not exist on type 'ReactInstance'.
346
346
  return ref.getRefContent();
347
347
  }
348
348
 
@@ -523,7 +523,7 @@ export class Passage extends React.Component<PassageProps, PassageState> {
523
523
  />
524
524
  </h3>
525
525
  )}
526
- {/* @ts-expect-error [FEI-5003] - TS2454 - Variable 'lineNumbers' is used before being assigned. */}
526
+ {/* @ts-expect-error - TS2454 - Variable 'lineNumbers' is used before being assigned. */}
527
527
  {lineNumbers && (
528
528
  <div className="line-numbers" aria-hidden={true}>
529
529
  {lineNumbers}