@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
@@ -46,21 +46,21 @@ describe("Interactive graph", () => {
46
46
  cy.get(POINTS)
47
47
  .eq(1)
48
48
  .should("exist")
49
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
49
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
50
50
  .dragTo({x: left + 160, y: top + 240});
51
51
 
52
52
  // Move first ray to point B
53
53
  cy.get(POINTS)
54
54
  .eq(0)
55
55
  .should("exist")
56
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
56
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
57
57
  .dragTo({x: left + 300, y: top + 100});
58
58
 
59
59
  // Move second ray to top-left dot
60
60
  cy.get(POINTS)
61
61
  .eq(2)
62
62
  .should("exist")
63
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
63
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
64
64
  .dragTo({x: left + 70, y: top + 35});
65
65
  });
66
66
 
@@ -90,21 +90,21 @@ describe("Interactive graph", () => {
90
90
  cy.get(POINTS)
91
91
  .eq(1)
92
92
  .should("exist")
93
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
93
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
94
94
  .dragTo({x: left + 0, y: top + 240});
95
95
 
96
96
  // Move first ray to top-left black dot
97
97
  cy.get(POINTS)
98
98
  .eq(0)
99
99
  .should("exist")
100
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
100
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
101
101
  .dragTo({x: left + 300, y: top + 120});
102
102
 
103
103
  // Move second ray to point through B
104
104
  cy.get(POINTS)
105
105
  .eq(2)
106
106
  .should("exist")
107
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
107
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
108
108
  .dragTo({x: left + 70, y: top + 0});
109
109
  });
110
110
 
@@ -136,14 +136,14 @@ describe("Interactive graph", () => {
136
136
  cy.get(POINTS)
137
137
  .eq(0)
138
138
  .should("exist")
139
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
139
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
140
140
  .dragTo({x: left + 160, y: top + 280});
141
141
 
142
142
  // Resize the circle
143
143
  cy.get(CIRCLES)
144
144
  .eq(0)
145
145
  .should("exist")
146
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
146
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
147
147
  .dragTo({x: left + 160, y: top + 320});
148
148
  });
149
149
 
@@ -173,14 +173,14 @@ describe("Interactive graph", () => {
173
173
  cy.get(POINTS)
174
174
  .eq(0)
175
175
  .should("exist")
176
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
176
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
177
177
  .dragTo({x: left + 160, y: top + 280});
178
178
 
179
179
  // Resize the circle
180
180
  cy.get(CIRCLES)
181
181
  .eq(0)
182
182
  .should("exist")
183
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
183
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
184
184
  .dragTo({x: left + 160, y: top + 390});
185
185
  });
186
186
 
@@ -214,7 +214,7 @@ describe("Interactive graph", () => {
214
214
  cy.get(POINTS)
215
215
  .eq(0)
216
216
  .should("exist")
217
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
217
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
218
218
  .dragTo({
219
219
  x: left + (-1 + 10) * grid,
220
220
  y: top + topOffset + Math.abs(1 + 10 - 20) * grid,
@@ -222,7 +222,7 @@ describe("Interactive graph", () => {
222
222
  cy.get(POINTS)
223
223
  .eq(1)
224
224
  .should("exist")
225
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
225
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
226
226
  .dragTo({
227
227
  x: left + (0 + 10) * grid,
228
228
  y: top + topOffset + Math.abs(-2 + 10 - 20) * grid,
@@ -254,7 +254,7 @@ describe("Interactive graph", () => {
254
254
  cy.get(POINTS)
255
255
  .eq(0)
256
256
  .should("exist")
257
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
257
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
258
258
  .dragTo({
259
259
  x: left + grid * 1,
260
260
  y: top + topOffset + grid * 1,
@@ -262,7 +262,7 @@ describe("Interactive graph", () => {
262
262
  cy.get(POINTS)
263
263
  .eq(1)
264
264
  .should("exist")
265
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
265
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
266
266
  .dragTo({
267
267
  x: left + grid * 1,
268
268
  y: top + topOffset + grid * 19,
@@ -299,7 +299,7 @@ describe("Interactive graph", () => {
299
299
  cy.get(POINTS)
300
300
  .eq(0)
301
301
  .should("exist")
302
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
302
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
303
303
  .dragTo({
304
304
  x: left + (-7 + 10) * grid,
305
305
  y: top + Math.abs(7 + 10 - 20) * grid,
@@ -309,7 +309,7 @@ describe("Interactive graph", () => {
309
309
  cy.get(POINTS)
310
310
  .eq(1)
311
311
  .should("exist")
312
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
312
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
313
313
  .dragTo({
314
314
  x: left + (0 + 10) * grid,
315
315
  y: top + Math.abs(-2 + 10 - 20) * grid,
@@ -319,7 +319,7 @@ describe("Interactive graph", () => {
319
319
  cy.get(POINTS)
320
320
  .eq(2)
321
321
  .should("exist")
322
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
322
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
323
323
  .dragTo({
324
324
  x: left + (-3 + 10) * grid,
325
325
  y: top + Math.abs(-7 + 10 - 20) * grid,
@@ -329,7 +329,7 @@ describe("Interactive graph", () => {
329
329
  cy.get(POINTS)
330
330
  .eq(3)
331
331
  .should("exist")
332
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
332
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
333
333
  .dragTo({
334
334
  x: left + (7 + 10) * grid,
335
335
  y: top + Math.abs(-3 + 10 - 20) * grid,
@@ -362,7 +362,7 @@ describe("Interactive graph", () => {
362
362
  cy.get(POINTS)
363
363
  .eq(0)
364
364
  .should("exist")
365
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
365
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
366
366
  .dragTo({
367
367
  x: left + (-9 + 10) * grid,
368
368
  y: top + Math.abs(9 + 10 - 20) * grid,
@@ -372,7 +372,7 @@ describe("Interactive graph", () => {
372
372
  cy.get(POINTS)
373
373
  .eq(1)
374
374
  .should("exist")
375
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
375
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
376
376
  .dragTo({
377
377
  x: left + (9 + 10) * grid,
378
378
  y: top + Math.abs(9 + 10 - 20) * grid,
@@ -382,7 +382,7 @@ describe("Interactive graph", () => {
382
382
  cy.get(POINTS)
383
383
  .eq(2)
384
384
  .should("exist")
385
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
385
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
386
386
  .dragTo({
387
387
  x: left + (-9 + 10) * grid,
388
388
  y: top + Math.abs(-9 + 10 - 20) * grid,
@@ -392,7 +392,7 @@ describe("Interactive graph", () => {
392
392
  cy.get(POINTS)
393
393
  .eq(3)
394
394
  .should("exist")
395
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
395
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
396
396
  .dragTo({
397
397
  x: left + (9 + 10) * grid,
398
398
  y: top + Math.abs(-9 + 10 - 20) * grid,
@@ -482,17 +482,17 @@ describe("Interactive graph", () => {
482
482
  cy.get(POINTS)
483
483
  .eq(0)
484
484
  .should("exist")
485
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
485
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
486
486
  .dragTo({x: 92, y: 126});
487
487
  cy.get(POINTS)
488
488
  .eq(1)
489
489
  .should("exist")
490
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
490
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
491
491
  .dragTo({x: 92, y: 298});
492
492
  cy.get(POINTS)
493
493
  .eq(2)
494
494
  .should("exist")
495
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
495
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
496
496
  .dragTo({x: 320, y: 298});
497
497
  });
498
498
 
@@ -525,19 +525,19 @@ describe("Interactive graph", () => {
525
525
  cy.get(POINTS)
526
526
  .eq(0)
527
527
  .should("exist")
528
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
528
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
529
529
  .dragTo({x: x + grid * 2, y: y});
530
530
 
531
531
  cy.get(POINTS)
532
532
  .eq(1)
533
533
  .should("exist")
534
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
534
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
535
535
  .dragTo({x: x, y: y + grid * 3});
536
536
 
537
537
  cy.get(POINTS)
538
538
  .eq(2)
539
539
  .should("exist")
540
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
540
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
541
541
  .dragTo({x: x + grid * 4, y: y + grid * 3});
542
542
  });
543
543
 
@@ -570,7 +570,7 @@ describe("Interactive graph", () => {
570
570
  cy.get(POINTS)
571
571
  .eq(0)
572
572
  .should("exist")
573
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
573
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
574
574
  .dragTo({
575
575
  x: left + (5 + 10) * grid,
576
576
  y: top + Math.abs(3 + 10 - 20) * grid,
@@ -579,7 +579,7 @@ describe("Interactive graph", () => {
579
579
  cy.get(POINTS)
580
580
  .eq(1)
581
581
  .should("exist")
582
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
582
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
583
583
  .dragTo({
584
584
  x: left + (-5 + 10) * grid,
585
585
  y: top + Math.abs(-5 + 10 - 20) * grid,
@@ -612,7 +612,7 @@ describe("Interactive graph", () => {
612
612
  cy.get(POINTS)
613
613
  .eq(0)
614
614
  .should("exist")
615
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
615
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
616
616
  .dragTo({
617
617
  x: left + (7 + 10) * grid,
618
618
  y: top + Math.abs(-7 + 10 - 20) * grid,
@@ -621,7 +621,7 @@ describe("Interactive graph", () => {
621
621
  cy.get(POINTS)
622
622
  .eq(1)
623
623
  .should("exist")
624
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
624
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
625
625
  .dragTo({
626
626
  x: left + (3 + 10) * grid,
627
627
  y: top + Math.abs(3 + 10 - 20) * grid,
@@ -657,7 +657,7 @@ describe("Interactive graph", () => {
657
657
  cy.get(POINTS)
658
658
  .eq(0)
659
659
  .should("exist")
660
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
660
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
661
661
  .dragTo({
662
662
  x: left + (-7 + 10) * grid,
663
663
  y: top + Math.abs(7 + 10 - 20) * grid,
@@ -666,7 +666,7 @@ describe("Interactive graph", () => {
666
666
  cy.get(POINTS)
667
667
  .eq(1)
668
668
  .should("exist")
669
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
669
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
670
670
  .dragTo({
671
671
  x: left + (2 + 10) * grid,
672
672
  y: top + Math.abs(5 + 10 - 20) * grid,
@@ -698,7 +698,7 @@ describe("Interactive graph", () => {
698
698
  cy.get(POINTS)
699
699
  .eq(0)
700
700
  .should("exist")
701
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
701
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
702
702
  .dragTo({
703
703
  x: left + (8 + 10) * grid,
704
704
  y: top + Math.abs(2 + 10 - 20) * grid,
@@ -707,7 +707,7 @@ describe("Interactive graph", () => {
707
707
  cy.get(POINTS)
708
708
  .eq(1)
709
709
  .should("exist")
710
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
710
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
711
711
  .dragTo({
712
712
  x: left + (8 + 10) * grid,
713
713
  y: top + Math.abs(-8 + 10 - 20) * grid,
@@ -743,7 +743,7 @@ describe("Interactive graph", () => {
743
743
  cy.get(POINTS)
744
744
  .eq(0)
745
745
  .should("exist")
746
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
746
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
747
747
  .dragTo({
748
748
  x: left + (1 + 10) * grid,
749
749
  y: top + Math.abs(2 + 10 - 20) * grid,
@@ -752,7 +752,7 @@ describe("Interactive graph", () => {
752
752
  cy.get(POINTS)
753
753
  .eq(1)
754
754
  .should("exist")
755
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
755
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
756
756
  .dragTo({
757
757
  x: left + (1.5 + 10) * grid,
758
758
  y: top + Math.abs(5 + 10 - 20) * grid,
@@ -784,7 +784,7 @@ describe("Interactive graph", () => {
784
784
  cy.get(POINTS)
785
785
  .eq(0)
786
786
  .should("exist")
787
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
787
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
788
788
  .dragTo({
789
789
  x: left + (0 + 10) * grid,
790
790
  y: top + Math.abs(0 + 10 - 20) * grid,
@@ -793,7 +793,7 @@ describe("Interactive graph", () => {
793
793
  cy.get(POINTS)
794
794
  .eq(1)
795
795
  .should("exist")
796
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
796
+ // @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
797
797
  .dragTo({
798
798
  x: left + (5 + 10) * grid,
799
799
  y: top + Math.abs(9 + 10 - 20) * grid,
@@ -4,13 +4,13 @@ import {clone} from "../../../../../testing/object-utils";
4
4
  import {testDependencies} from "../../../../../testing/test-dependencies";
5
5
  import * as Dependencies from "../../dependencies";
6
6
  import {ApiOptions} from "../../perseus-api";
7
- import Renderer from "../../renderer";
8
7
  import {questionsAndAnswers} from "../__testdata__/interactive-graph.testdata";
9
8
 
10
9
  import {renderQuestion} from "./renderQuestion";
11
10
 
12
11
  import type {Coord} from "../../interactive2/types";
13
12
  import type {PerseusRenderer} from "../../perseus-types";
13
+ import type Renderer from "../../renderer";
14
14
  import type {APIOptions} from "../../types";
15
15
 
16
16
  const updateWidgetState = (renderer: Renderer, widgetId: string, update) => {
@@ -505,7 +505,7 @@ describe("unionAnswerForms utility function", () => {
505
505
  ];
506
506
 
507
507
  // act
508
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type '{ simplify: string; name: string; }[][]' is not assignable to parameter of type 'readonly (readonly PerseusNumericInputAnswerForm[])[]'.
508
+ // @ts-expect-error - TS2345 - Argument of type '{ simplify: string; name: string; }[][]' is not assignable to parameter of type 'readonly (readonly PerseusNumericInputAnswerForm[])[]'.
509
509
  const result = unionAnswerForms(forms);
510
510
 
511
511
  // assert
@@ -143,7 +143,7 @@ describe("passage widget", () => {
143
143
  const {renderer} = renderQuestion(question2, apiOptions);
144
144
  jest.runOnlyPendingTimers();
145
145
 
146
- // @ts-expect-error [FEI-5003] - TS2503 - Cannot find namespace 'PassageWidgetExport'
146
+ // @ts-expect-error - TS2503 - Cannot find namespace 'PassageWidgetExport'
147
147
  const [passage1]: [PassageWidgetExport.widget] =
148
148
  renderer.findWidgets("passage 1");
149
149
 
@@ -167,7 +167,7 @@ describe("passage widget", () => {
167
167
  const {renderer} = renderQuestion(question2, apiOptions);
168
168
  jest.runOnlyPendingTimers();
169
169
 
170
- // @ts-expect-error [FEI-5003] - TS2503 - Cannot find namespace 'PassageWidgetExport'
170
+ // @ts-expect-error - TS2503 - Cannot find namespace 'PassageWidgetExport'
171
171
  const [passage1]: [PassageWidgetExport.widget] =
172
172
  renderer.findWidgets("passage 1");
173
173
 
@@ -0,0 +1,66 @@
1
+ import "@testing-library/jest-dom";
2
+ import {screen, render} from "@testing-library/react";
3
+ import React from "react";
4
+
5
+ import {testDependencies} from "../../../../../testing/test-dependencies";
6
+ import {setDependencies} from "../../dependencies";
7
+ import {question1} from "../__testdata__/plotter.testdata";
8
+ import {Plotter} from "../plotter";
9
+
10
+ import {renderQuestion} from "./renderQuestion";
11
+
12
+ import type {APIOptions} from "../../types";
13
+
14
+ describe("plotter widget", () => {
15
+ beforeEach(() => {
16
+ setDependencies(testDependencies);
17
+ });
18
+
19
+ it("should snapshot basic question", () => {
20
+ // Arrange and Act
21
+ const {container} = renderQuestion(question1);
22
+
23
+ // Assert
24
+ expect(container).toMatchSnapshot("initial render");
25
+ });
26
+
27
+ it("should show drag text when not static", () => {
28
+ // Arrange and Act
29
+ const apiOptions: APIOptions = {isMobile: true};
30
+ render(
31
+ <Plotter
32
+ static={false}
33
+ trackInteraction={() => {}}
34
+ onChange={() => {}}
35
+ apiOptions={apiOptions}
36
+ starting={[0]}
37
+ markings={""}
38
+ />,
39
+ );
40
+
41
+ // Assert
42
+ expect(
43
+ screen.getByText("Drag handles to make graph"),
44
+ ).toBeInTheDocument();
45
+ });
46
+
47
+ it("should not show drag text when static", () => {
48
+ // Arrange and Act
49
+ const apiOptions: APIOptions = {isMobile: true};
50
+ render(
51
+ <Plotter
52
+ static={true}
53
+ trackInteraction={() => {}}
54
+ onChange={() => {}}
55
+ apiOptions={apiOptions}
56
+ starting={[0]}
57
+ markings={""}
58
+ />,
59
+ );
60
+
61
+ // Assert
62
+ expect(
63
+ screen.queryByText("Drag handles to make graph"),
64
+ ).not.toBeInTheDocument();
65
+ });
66
+ });
@@ -87,7 +87,7 @@ describe("base-radio", () => {
87
87
  checked: ReadonlyArray<boolean>;
88
88
  crossedOut: ReadonlyArray<boolean>;
89
89
  }) => {
90
- // @ts-expect-error [FEI-5003] - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
90
+ // @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
91
91
  updatedValues = newValues;
92
92
  };
93
93
 
@@ -142,7 +142,7 @@ describe("base-radio", () => {
142
142
  checked: ReadonlyArray<boolean>;
143
143
  crossedOut: ReadonlyArray<boolean>;
144
144
  }) => {
145
- // @ts-expect-error [FEI-5003] - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
145
+ // @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
146
146
  updatedValues = newValues;
147
147
  };
148
148
 
@@ -173,7 +173,7 @@ describe("base-radio", () => {
173
173
  checked: ReadonlyArray<boolean>;
174
174
  crossedOut: ReadonlyArray<boolean>;
175
175
  }) => {
176
- // @ts-expect-error [FEI-5003] - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
176
+ // @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
177
177
  updatedValues = newValues;
178
178
  };
179
179
 
@@ -208,7 +208,7 @@ describe("base-radio", () => {
208
208
  checked: ReadonlyArray<boolean>;
209
209
  crossedOut: ReadonlyArray<boolean>;
210
210
  }) => {
211
- // @ts-expect-error [FEI-5003] - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
211
+ // @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
212
212
  updatedValues = newValues;
213
213
  };
214
214
 
@@ -259,7 +259,7 @@ describe("base-radio", () => {
259
259
  checked: ReadonlyArray<boolean>;
260
260
  crossedOut: ReadonlyArray<boolean>;
261
261
  }) => {
262
- // @ts-expect-error [FEI-5003] - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
262
+ // @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
263
263
  updatedValues = newValues;
264
264
  };
265
265
 
@@ -308,7 +308,7 @@ describe("base-radio", () => {
308
308
  checked: ReadonlyArray<boolean>;
309
309
  crossedOut: ReadonlyArray<boolean>;
310
310
  }) => {
311
- // @ts-expect-error [FEI-5003] - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
311
+ // @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
312
312
  updatedValues = newValues;
313
313
  };
314
314
 
@@ -358,7 +358,7 @@ describe("base-radio", () => {
358
358
  checked: ReadonlyArray<boolean>;
359
359
  crossedOut: ReadonlyArray<boolean>;
360
360
  }) => {
361
- // @ts-expect-error [FEI-5003] - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
361
+ // @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
362
362
  updatedValues = newValues;
363
363
  };
364
364
 
@@ -15,7 +15,7 @@ export const renderQuestion = (
15
15
  apiOptions: APIOptions = Object.freeze({}),
16
16
  extraProps?: JSX.LibraryManagedAttributes<
17
17
  typeof Perseus.Renderer,
18
- // @ts-expect-error [FEI-5003] - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
18
+ // @ts-expect-error - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
19
19
  React.ComponentProps<typeof Perseus.Renderer>
20
20
  >,
21
21
  ): {
@@ -25,7 +25,7 @@ export const renderQuestion = (
25
25
  question: PerseusRenderer,
26
26
  extraProps?: JSX.LibraryManagedAttributes<
27
27
  typeof Perseus.Renderer,
28
- // @ts-expect-error [FEI-5003] - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
28
+ // @ts-expect-error - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
29
29
  React.ComponentProps<typeof Perseus.Renderer>
30
30
  >,
31
31
  ) => void;
@@ -51,7 +51,7 @@ export const renderQuestion = (
51
51
  }
52
52
  const renderAgain = (
53
53
  question: PerseusRenderer,
54
- // @ts-expect-error [FEI-5003] - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
54
+ // @ts-expect-error - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
55
55
  extraProps: undefined | React.ComponentProps<typeof Perseus.Renderer>,
56
56
  ) => {
57
57
  rerender(
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @khanacademy/ts-no-error-suppressions */
1
2
  /* eslint-disable react/sort-comp */
2
3
  import {linterContextDefault} from "@khanacademy/perseus-linter";
3
4
  import * as i18n from "@khanacademy/wonder-blocks-i18n";
@@ -51,7 +52,7 @@ export class Categorizer extends React.Component<Props, State> {
51
52
  };
52
53
 
53
54
  change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
54
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
55
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
55
56
  return Changeable.change.apply(this, args);
56
57
  };
57
58
 
@@ -67,7 +68,7 @@ export class Categorizer extends React.Component<Props, State> {
67
68
  const isMobile = this.props.apiOptions.isMobile;
68
69
  let indexedItems = this.props.items.map((item, n) => [item, n]);
69
70
  if (this.props.randomizeItems) {
70
- // @ts-expect-error [FEI-5003] - TS4104 - The type 'readonly (string | number)[][]' is 'readonly' and cannot be assigned to the mutable type '(string | number)[][]'. | TS2345 - Argument of type 'number | null | undefined' is not assignable to parameter of type 'number | RNG'.
71
+ // @ts-expect-error - TS4104 - The type 'readonly (string | number)[][]' is 'readonly' and cannot be assigned to the mutable type '(string | number)[][]'. | TS2345 - Argument of type 'number | null | undefined' is not assignable to parameter of type 'number | RNG'.
71
72
  indexedItems = Util.shuffle(indexedItems, this.props.problemNum);
72
73
  }
73
74
 
@@ -102,7 +103,7 @@ export class Categorizer extends React.Component<Props, State> {
102
103
  <tr key={itemNum}>
103
104
  <td>
104
105
  <Renderer
105
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'string | number' is not assignable to type 'string | undefined'.
106
+ // @ts-expect-error - TS2322 - Type 'string | number' is not assignable to type 'string | undefined'.
106
107
  content={item}
107
108
  linterContext={this.props.linterContext}
108
109
  />
@@ -211,7 +212,7 @@ export class Categorizer extends React.Component<Props, State> {
211
212
 
212
213
  onChange: (arg1: number, arg2: number) => void = (itemNum, catNum) => {
213
214
  const values = [...this.props.values];
214
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'number' is not assignable to type 'never'.
215
+ // @ts-expect-error - TS2322 - Type 'number' is not assignable to type 'never'.
215
216
  values[itemNum] = catNum;
216
217
  this.change("values", values);
217
218
  this.props.trackInteraction();
@@ -117,7 +117,7 @@ class CSProgram extends React.Component<any> {
117
117
  };
118
118
 
119
119
  change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
120
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
120
+ // @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
121
121
  return Changeable.change.apply(this, args);
122
122
  };
123
123
 
@@ -159,7 +159,7 @@ class CSProgram extends React.Component<any> {
159
159
  url += "&buttons=yes";
160
160
  // Matches templates/scratchpads/embed_script.js
161
161
  // Toolbar height is 66, border height is 1 pixel
162
- // @ts-expect-error [FEI-5003] - TS2540 - Cannot assign to 'height' because it is a read-only property.
162
+ // @ts-expect-error - TS2540 - Cannot assign to 'height' because it is a read-only property.
163
163
  style.height += 67;
164
164
  } else {
165
165
  url += "&buttons=no";
@@ -53,7 +53,7 @@ class Dropdown extends React.Component<Props> {
53
53
  // TODO(LP-10797): This focus() call doesn't do anything because our
54
54
  // root element is a <div> and that cannot be focused without a
55
55
  // tabIndex.
56
- // @ts-expect-error [FEI-5003] - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
56
+ // @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
57
57
  ReactDOM.findDOMNode(this).focus();
58
58
  return true;
59
59
  };