@khanacademy/perseus 7.2.1 → 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 (380) hide show
  1. package/CHANGELOG.md +26 -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.js +1139 -1189
  7. package/dist/es/index.js.map +1 -1
  8. package/dist/hints-renderer.d.ts +1 -1
  9. package/dist/index.js +1141 -1192
  10. package/dist/index.js.map +1 -1
  11. package/dist/mixins/provide-keypad.d.ts +15 -12
  12. package/dist/perseus-api.d.ts +1 -1
  13. package/dist/types.d.ts +3 -2
  14. package/dist/widgets/expression.d.ts +1 -1
  15. package/dist/widgets/graded-group.d.ts +1 -1
  16. package/dist/widgets/interactive-graph.d.ts +1 -1
  17. package/dist/widgets/sequence.d.ts +1 -1
  18. package/dist/widgets/table.d.ts +8 -1
  19. package/dist/widgets.d.ts +1 -1
  20. package/package.json +33 -33
  21. package/src/__testdata__/article-renderer.testdata.ts +3 -1
  22. package/src/__testdata__/item-renderer.testdata.ts +1 -1
  23. package/src/__testdata__/renderer.testdata.ts +1 -1
  24. package/src/__tests__/item-renderer.test.tsx +1 -1
  25. package/src/__tests__/mock-asset-loading-widget.tsx +1 -1
  26. package/src/__tests__/perseus-markdown.test.ts +17 -17
  27. package/src/__tests__/renderer-api.test.tsx +21 -21
  28. package/src/__tests__/renderer.test.tsx +13 -13
  29. package/src/__tests__/server-item-renderer.test.tsx +3 -3
  30. package/src/__tests__/tex-wrangler.test.ts +1 -1
  31. package/src/article-renderer.tsx +39 -38
  32. package/src/components/__tests__/number-input.test.tsx +4 -4
  33. package/src/components/__tests__/sortable.test.tsx +2 -2
  34. package/src/components/fixed-to-responsive.tsx +1 -1
  35. package/src/components/graph.tsx +11 -11
  36. package/src/components/graphie-classes.ts +7 -7
  37. package/src/components/graphie.tsx +14 -14
  38. package/src/components/highlighting/highlightable-content.tsx +1 -1
  39. package/src/components/highlighting/ui/highlight-renderer.tsx +1 -1
  40. package/src/components/highlighting/ui/util.ts +2 -2
  41. package/src/components/highlighting/word-indexer.tsx +4 -4
  42. package/src/components/icon.tsx +1 -1
  43. package/src/components/image-loader.tsx +4 -4
  44. package/src/components/input-with-examples.tsx +2 -2
  45. package/src/components/lint.tsx +1 -1
  46. package/src/components/math-input.tsx +5 -5
  47. package/src/components/math-output.tsx +1 -1
  48. package/src/components/multi-button-group.tsx +1 -1
  49. package/src/components/number-input.tsx +10 -10
  50. package/src/components/prop-check-box.tsx +1 -1
  51. package/src/components/simple-keypad-input.tsx +4 -4
  52. package/src/components/sortable.tsx +42 -41
  53. package/src/components/svg-image.tsx +12 -12
  54. package/src/components/tex-buttons.tsx +4 -3
  55. package/src/components/text-input.tsx +8 -8
  56. package/src/components/text-list-editor.tsx +11 -11
  57. package/src/components/visibility-observer/create-visibility-observer.ts +1 -1
  58. package/src/components/visibility-observer/visibility-observer.tsx +2 -2
  59. package/src/components/zoomable-tex.tsx +3 -3
  60. package/src/components/zoomable.tsx +8 -8
  61. package/src/hint-renderer.tsx +3 -3
  62. package/src/hints-renderer.tsx +11 -11
  63. package/src/init.ts +1 -1
  64. package/src/interaction-tracker.ts +4 -4
  65. package/src/interactive2/__tests__/movable-point.test.ts +1 -1
  66. package/src/interactive2/interactive-util.ts +6 -6
  67. package/src/interactive2/movable-helper-methods.ts +2 -2
  68. package/src/interactive2/movable-line-options.ts +37 -37
  69. package/src/interactive2/movable-line.ts +2 -2
  70. package/src/interactive2/movable-point-options.ts +29 -29
  71. package/src/interactive2/movable-point.tsx +2 -2
  72. package/src/interactive2/movable-polygon-options.ts +45 -45
  73. package/src/interactive2/movable-polygon.ts +2 -2
  74. package/src/interactive2/movable.ts +2 -2
  75. package/src/interactive2/objective_.ts +1 -1
  76. package/src/interactive2/wrapped-defaults.ts +2 -2
  77. package/src/interactive2/wrapped-ellipse.ts +9 -9
  78. package/src/interactive2/wrapped-line.ts +8 -8
  79. package/src/interactive2/wrapped-path.ts +5 -5
  80. package/src/item-renderer.tsx +5 -5
  81. package/src/mixins/changeable.ts +2 -2
  82. package/src/mixins/editor-jsonify.ts +1 -1
  83. package/src/mixins/provide-keypad.tsx +23 -37
  84. package/src/mixins/widget-jsonify-deprecated.ts +1 -1
  85. package/src/multi-items/__tests__/items.test.ts +1 -1
  86. package/src/multi-items/__tests__/multi-renderer.test.tsx +7 -7
  87. package/src/multi-items/__tests__/trees.test.ts +12 -12
  88. package/src/multi-items/item-types.ts +2 -2
  89. package/src/multi-items/items.ts +1 -1
  90. package/src/multi-items/multi-renderer.tsx +14 -14
  91. package/src/multi-items/prop-type-builders.ts +2 -2
  92. package/src/multi-items/tree-types.ts +4 -4
  93. package/src/multi-items/trees.ts +16 -16
  94. package/src/perseus-env.ts +2 -2
  95. package/src/perseus-markdown.tsx +5 -5
  96. package/src/renderer.tsx +38 -38
  97. package/src/server-item-renderer.tsx +5 -5
  98. package/src/sigfigs.ts +1 -1
  99. package/src/traversal.ts +1 -1
  100. package/src/types.ts +3 -3
  101. package/src/util/answer-types.ts +14 -14
  102. package/src/util/geometry.ts +7 -7
  103. package/src/util/graphie.ts +32 -32
  104. package/src/util/interactive.ts +118 -118
  105. package/src/util/math.ts +4 -4
  106. package/src/util/react-render.tsx +1 -1
  107. package/src/util/scroll-utils.ts +2 -2
  108. package/src/util/tex.ts +3 -3
  109. package/src/util.ts +15 -15
  110. package/src/widget-container.tsx +1 -1
  111. package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +3 -3
  112. package/src/widgets/__testdata__/numeric-input.testdata.ts +1 -1
  113. package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +2 -2
  114. package/src/widgets/__tests__/expression.test.ts +4 -3
  115. package/src/widgets/__tests__/grapher.cypress.ts +32 -32
  116. package/src/widgets/__tests__/group.test.tsx +1 -1
  117. package/src/widgets/__tests__/interactive-graph.cypress.ts +40 -40
  118. package/src/widgets/__tests__/interactive-graph.test.ts +1 -1
  119. package/src/widgets/__tests__/numeric-input.test.ts +1 -1
  120. package/src/widgets/__tests__/passage.test.tsx +2 -2
  121. package/src/widgets/__tests__/plotter.test.tsx +2 -1
  122. package/src/widgets/__tests__/radio/base-radio.test.tsx +7 -7
  123. package/src/widgets/__tests__/renderQuestion.tsx +3 -3
  124. package/src/widgets/categorizer.tsx +4 -4
  125. package/src/widgets/cs-program.tsx +2 -2
  126. package/src/widgets/dropdown.tsx +1 -1
  127. package/src/widgets/expression.tsx +10 -9
  128. package/src/widgets/graded-group-set.tsx +5 -5
  129. package/src/widgets/graded-group.tsx +18 -19
  130. package/src/widgets/grapher/util.tsx +6 -6
  131. package/src/widgets/grapher.tsx +10 -10
  132. package/src/widgets/group.tsx +3 -3
  133. package/src/widgets/iframe.tsx +2 -2
  134. package/src/widgets/image.tsx +1 -1
  135. package/src/widgets/input-number.tsx +4 -4
  136. package/src/widgets/interaction.tsx +77 -77
  137. package/src/widgets/interactive-graph.tsx +109 -107
  138. package/src/widgets/label-image/marker.tsx +2 -2
  139. package/src/widgets/label-image.test.ts +1 -1
  140. package/src/widgets/label-image.tsx +7 -7
  141. package/src/widgets/lights-puzzle.tsx +2 -2
  142. package/src/widgets/matcher.tsx +6 -6
  143. package/src/widgets/matrix.tsx +20 -20
  144. package/src/widgets/measurer.tsx +3 -3
  145. package/src/widgets/molecule/__tests__/layout.test.ts +4 -4
  146. package/src/widgets/molecule/__tests__/parser.test.ts +14 -14
  147. package/src/widgets/molecule/smiles-parser.ts +3 -3
  148. package/src/widgets/molecule.tsx +4 -4
  149. package/src/widgets/number-line.tsx +11 -11
  150. package/src/widgets/numeric-input.tsx +11 -11
  151. package/src/widgets/orderer.tsx +38 -38
  152. package/src/widgets/passage/__tests__/passage-markdown.test.ts +1 -1
  153. package/src/widgets/passage/passage-markdown.tsx +4 -4
  154. package/src/widgets/passage-ref-target.tsx +1 -1
  155. package/src/widgets/passage-ref.tsx +4 -6
  156. package/src/widgets/passage.tsx +11 -11
  157. package/src/widgets/plotter.tsx +9 -9
  158. package/src/widgets/radio/base-radio.tsx +11 -11
  159. package/src/widgets/radio/choice-icon/choice-icon.tsx +2 -2
  160. package/src/widgets/radio/choice.tsx +1 -1
  161. package/src/widgets/radio/option-status.tsx +1 -1
  162. package/src/widgets/radio/widget.tsx +6 -6
  163. package/src/widgets/radio.ts +1 -1
  164. package/src/widgets/reaction-diagram.tsx +8 -8
  165. package/src/widgets/sequence.tsx +2 -2
  166. package/src/widgets/simulator.tsx +14 -14
  167. package/src/widgets/sorter.tsx +4 -4
  168. package/src/widgets/table.tsx +8 -8
  169. package/src/widgets/transformer.tsx +92 -92
  170. package/src/widgets/unit.tsx +17 -17
  171. package/src/widgets/video-transcript-link.test.tsx +3 -3
  172. package/src/widgets/video-transcript-link.tsx +1 -1
  173. package/src/widgets/video.tsx +1 -1
  174. package/src/widgets.ts +5 -5
  175. package/src/zoom.ts +22 -22
  176. package/tsconfig-build.tsbuildinfo +1 -1
  177. package/dist/a11y.js.flow +0 -11
  178. package/dist/all-widgets.js.flow +0 -33
  179. package/dist/article-renderer.js.flow +0 -73
  180. package/dist/asset-context.js.flow +0 -15
  181. package/dist/basic-widgets.js.flow +0 -33
  182. package/dist/components/button-group.js.flow +0 -33
  183. package/dist/components/constants.js.flow +0 -13
  184. package/dist/components/fixed-to-responsive.js.flow +0 -34
  185. package/dist/components/graph.js.flow +0 -66
  186. package/dist/components/graphie-classes.js.flow +0 -19
  187. package/dist/components/graphie-movables.js.flow +0 -22
  188. package/dist/components/graphie.js.flow +0 -69
  189. package/dist/components/highlighting/highlightable-content.js.flow +0 -56
  190. package/dist/components/highlighting/highlights.js.flow +0 -54
  191. package/dist/components/highlighting/ranges.js.flow +0 -60
  192. package/dist/components/highlighting/types.js.flow +0 -70
  193. package/dist/components/highlighting/ui/highlight-renderer.js.flow +0 -43
  194. package/dist/components/highlighting/ui/highlight-set-renderer.js.flow +0 -41
  195. package/dist/components/highlighting/ui/highlight-tooltip.js.flow +0 -22
  196. package/dist/components/highlighting/ui/highlighting-ui.js.flow +0 -30
  197. package/dist/components/highlighting/ui/selection-tracker.js.flow +0 -54
  198. package/dist/components/highlighting/ui/types.js.flow +0 -22
  199. package/dist/components/highlighting/ui/util.js.flow +0 -42
  200. package/dist/components/highlighting/word-indexer.js.flow +0 -21
  201. package/dist/components/hud.js.flow +0 -14
  202. package/dist/components/icon.js.flow +0 -31
  203. package/dist/components/image-loader.js.flow +0 -49
  204. package/dist/components/info-tip/info-tip.js.flow +0 -20
  205. package/dist/components/info-tip.js.flow +0 -18
  206. package/dist/components/inline-icon.js.flow +0 -39
  207. package/dist/components/input-with-examples.js.flow +0 -58
  208. package/dist/components/lint.js.flow +0 -58
  209. package/dist/components/math-input.js.flow +0 -49
  210. package/dist/components/math-output.js.flow +0 -33
  211. package/dist/components/multi-button-group.js.flow +0 -35
  212. package/dist/components/number-input.js.flow +0 -42
  213. package/dist/components/prop-check-box.js.flow +0 -8
  214. package/dist/components/range-input.js.flow +0 -20
  215. package/dist/components/simple-keypad-input.js.flow +0 -16
  216. package/dist/components/sortable.js.flow +0 -91
  217. package/dist/components/stub-tag-editor.js.flow +0 -18
  218. package/dist/components/svg-image.js.flow +0 -85
  219. package/dist/components/tex-buttons.js.flow +0 -26
  220. package/dist/components/tex.js.flow +0 -25
  221. package/dist/components/text-input.js.flow +0 -39
  222. package/dist/components/text-list-editor.js.flow +0 -22
  223. package/dist/components/tooltip.js.flow +0 -51
  224. package/dist/components/visibility-observer/create-visibility-observer.js.flow +0 -23
  225. package/dist/components/visibility-observer/get-scroll-parent.js.flow +0 -7
  226. package/dist/components/visibility-observer/visibility-observer.js.flow +0 -36
  227. package/dist/components/zoomable-tex.js.flow +0 -18
  228. package/dist/components/zoomable.js.flow +0 -70
  229. package/dist/components.js.flow +0 -22
  230. package/dist/definition-context.js.flow +0 -25
  231. package/dist/dependencies.js.flow +0 -9
  232. package/dist/error-boundary.js.flow +0 -19
  233. package/dist/extra-widgets.js.flow +0 -33
  234. package/dist/hint-renderer.js.flow +0 -32
  235. package/dist/hints-renderer.js.flow +0 -41
  236. package/dist/icon-paths.js.flow +0 -123
  237. package/dist/index.js.flow +0 -134
  238. package/dist/init.js.flow +0 -20
  239. package/dist/interaction-tracker.js.flow +0 -35
  240. package/dist/interactive2/interactive-util.js.flow +0 -50
  241. package/dist/interactive2/movable-helper-methods.js.flow +0 -15
  242. package/dist/interactive2/movable-line-options.js.flow +0 -44
  243. package/dist/interactive2/movable-line.js.flow +0 -8
  244. package/dist/interactive2/movable-point-options.js.flow +0 -44
  245. package/dist/interactive2/movable-point.js.flow +0 -8
  246. package/dist/interactive2/movable-polygon-options.js.flow +0 -47
  247. package/dist/interactive2/movable-polygon.js.flow +0 -8
  248. package/dist/interactive2/movable.js.flow +0 -8
  249. package/dist/interactive2/objective_.js.flow +0 -25
  250. package/dist/interactive2/types.js.flow +0 -8
  251. package/dist/interactive2/wrapped-defaults.js.flow +0 -11
  252. package/dist/interactive2/wrapped-ellipse.js.flow +0 -14
  253. package/dist/interactive2/wrapped-line.js.flow +0 -14
  254. package/dist/interactive2/wrapped-path.js.flow +0 -13
  255. package/dist/interactive2.js.flow +0 -16
  256. package/dist/item-renderer.js.flow +0 -132
  257. package/dist/item-version.js.flow +0 -11
  258. package/dist/jipt-paragraphs.js.flow +0 -14
  259. package/dist/loading-context.js.flow +0 -12
  260. package/dist/logging/log.js.flow +0 -62
  261. package/dist/mixins/changeable.js.flow +0 -33
  262. package/dist/mixins/editor-jsonify.js.flow +0 -10
  263. package/dist/mixins/provide-keypad.js.flow +0 -33
  264. package/dist/mixins/widget-jsonify-deprecated.js.flow +0 -11
  265. package/dist/mixins/widget-prop-denylist.js.flow +0 -20
  266. package/dist/multi-items/item-types.js.flow +0 -55
  267. package/dist/multi-items/items.js.flow +0 -66
  268. package/dist/multi-items/multi-renderer.js.flow +0 -213
  269. package/dist/multi-items/prop-type-builders.js.flow +0 -22
  270. package/dist/multi-items/shape-types.js.flow +0 -60
  271. package/dist/multi-items/shapes.js.flow +0 -25
  272. package/dist/multi-items/tree-types.js.flow +0 -45
  273. package/dist/multi-items/trees.js.flow +0 -147
  274. package/dist/multi-items.js.flow +0 -36
  275. package/dist/perseus-api.js.flow +0 -151
  276. package/dist/perseus-env.js.flow +0 -6
  277. package/dist/perseus-error.js.flow +0 -16
  278. package/dist/perseus-markdown.js.flow +0 -20
  279. package/dist/perseus-types.js.flow +0 -1041
  280. package/dist/question-paragraph.js.flow +0 -17
  281. package/dist/renderability.js.flow +0 -19
  282. package/dist/renderer.js.flow +0 -325
  283. package/dist/server-item-renderer.js.flow +0 -132
  284. package/dist/sigfigs.js.flow +0 -41
  285. package/dist/styles/constants.js.flow +0 -62
  286. package/dist/styles/global-constants.js.flow +0 -348
  287. package/dist/styles/global-styles.js.flow +0 -53
  288. package/dist/styles/media-queries.js.flow +0 -35
  289. package/dist/styles/shared.js.flow +0 -8
  290. package/dist/tex-wrangler.js.flow +0 -13
  291. package/dist/translation-linter.js.flow +0 -32
  292. package/dist/traversal.js.flow +0 -26
  293. package/dist/types.js.flow +0 -318
  294. package/dist/util/a11y.js.flow +0 -8
  295. package/dist/util/answer-types.js.flow +0 -49
  296. package/dist/util/colors.js.flow +0 -95
  297. package/dist/util/fix-passage-refs.js.flow +0 -8
  298. package/dist/util/geometry.js.flow +0 -37
  299. package/dist/util/graph-utils.js.flow +0 -9
  300. package/dist/util/graphie.js.flow +0 -8
  301. package/dist/util/interactive.js.flow +0 -11
  302. package/dist/util/katex-preprocess.js.flow +0 -12
  303. package/dist/util/math.js.flow +0 -62
  304. package/dist/util/mobile-native-utils.js.flow +0 -12
  305. package/dist/util/react-render.js.flow +0 -12
  306. package/dist/util/register-all-widgets-for-testing.js.flow +0 -7
  307. package/dist/util/scroll-utils.js.flow +0 -19
  308. package/dist/util/sizing-utils.js.flow +0 -20
  309. package/dist/util/tex.js.flow +0 -17
  310. package/dist/util/url-utils.js.flow +0 -11
  311. package/dist/util.graphie.js.flow +0 -14
  312. package/dist/util.js.flow +0 -319
  313. package/dist/version.js.flow +0 -17
  314. package/dist/widget-container.js.flow +0 -33
  315. package/dist/widgets/categorizer.js.flow +0 -70
  316. package/dist/widgets/cs-program.js.flow +0 -54
  317. package/dist/widgets/definition.js.flow +0 -57
  318. package/dist/widgets/dropdown.js.flow +0 -63
  319. package/dist/widgets/explanation.js.flow +0 -58
  320. package/dist/widgets/expression.js.flow +0 -116
  321. package/dist/widgets/graded-group-answer-bar.js.flow +0 -24
  322. package/dist/widgets/graded-group-set.js.flow +0 -65
  323. package/dist/widgets/graded-group.js.flow +0 -78
  324. package/dist/widgets/grapher/util.js.flow +0 -38
  325. package/dist/widgets/grapher.js.flow +0 -102
  326. package/dist/widgets/group.js.flow +0 -60
  327. package/dist/widgets/iframe.js.flow +0 -53
  328. package/dist/widgets/image.js.flow +0 -73
  329. package/dist/widgets/input-number.js.flow +0 -94
  330. package/dist/widgets/interaction/arrow-picker.js.flow +0 -21
  331. package/dist/widgets/interaction/color-picker.js.flow +0 -23
  332. package/dist/widgets/interaction/dash-picker.js.flow +0 -21
  333. package/dist/widgets/interaction/element-container.js.flow +0 -28
  334. package/dist/widgets/interaction.js.flow +0 -60
  335. package/dist/widgets/interactive-graph.js.flow +0 -239
  336. package/dist/widgets/label-image/answer-choices.js.flow +0 -55
  337. package/dist/widgets/label-image/marker.js.flow +0 -31
  338. package/dist/widgets/label-image/types.js.flow +0 -23
  339. package/dist/widgets/label-image.js.flow +0 -142
  340. package/dist/widgets/lights-puzzle.js.flow +0 -58
  341. package/dist/widgets/matcher.js.flow +0 -106
  342. package/dist/widgets/matrix.js.flow +0 -80
  343. package/dist/widgets/measurer.js.flow +0 -30
  344. package/dist/widgets/molecule/molecule-drawing.js.flow +0 -11
  345. package/dist/widgets/molecule/molecule-layout.js.flow +0 -96
  346. package/dist/widgets/molecule/smiles-parser.js.flow +0 -26
  347. package/dist/widgets/molecule.js.flow +0 -60
  348. package/dist/widgets/number-line.js.flow +0 -102
  349. package/dist/widgets/numeric-input.js.flow +0 -105
  350. package/dist/widgets/orderer.js.flow +0 -81
  351. package/dist/widgets/passage/passage-markdown.js.flow +0 -33
  352. package/dist/widgets/passage-ref-target.js.flow +0 -52
  353. package/dist/widgets/passage-ref.js.flow +0 -85
  354. package/dist/widgets/passage.js.flow +0 -157
  355. package/dist/widgets/plotter.js.flow +0 -112
  356. package/dist/widgets/radio/base-radio.js.flow +0 -50
  357. package/dist/widgets/radio/choice-a11y-text.js.flow +0 -14
  358. package/dist/widgets/radio/choice-icon/choice-icon.js.flow +0 -22
  359. package/dist/widgets/radio/choice-icon/cross-out-line.js.flow +0 -16
  360. package/dist/widgets/radio/choice-icon/shared-styles.js.flow +0 -11
  361. package/dist/widgets/radio/choice-none-above.js.flow +0 -16
  362. package/dist/widgets/radio/choice.js.flow +0 -29
  363. package/dist/widgets/radio/choice.jsx.fixture.js.flow +0 -7
  364. package/dist/widgets/radio/focus-ring.js.flow +0 -22
  365. package/dist/widgets/radio/option-status.js.flow +0 -16
  366. package/dist/widgets/radio/util.js.flow +0 -12
  367. package/dist/widgets/radio/widget.js.flow +0 -80
  368. package/dist/widgets/radio.js.flow +0 -31
  369. package/dist/widgets/reaction-diagram.js.flow +0 -46
  370. package/dist/widgets/sequence.js.flow +0 -53
  371. package/dist/widgets/simulator.js.flow +0 -107
  372. package/dist/widgets/sorter.js.flow +0 -102
  373. package/dist/widgets/table.js.flow +0 -67
  374. package/dist/widgets/transformer.js.flow +0 -127
  375. package/dist/widgets/unit.js.flow +0 -93
  376. package/dist/widgets/video-transcript-link.js.flow +0 -15
  377. package/dist/widgets/video.js.flow +0 -57
  378. package/dist/widgets.js.flow +0 -108
  379. package/dist/zoom.js.flow +0 -7
  380. package/src/multi-items/item-types.js.flow +0 -55
@@ -38,7 +38,7 @@ const add = {
38
38
  },
39
39
  } as const;
40
40
 
41
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'standard' does not exist on type '{ readonly constrain: () => void; readonly pointsToFront: (state: any) => void; }'.
41
+ // @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly constrain: () => void; readonly pointsToFront: (state: any) => void; }'.
42
42
  add.standard = [add.constrain, add.pointsToFront];
43
43
 
44
44
  const modify = {
@@ -47,35 +47,35 @@ const modify = {
47
47
  },
48
48
  } as const;
49
49
 
50
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'standard' does not exist on type '{ readonly draw: () => void; }'.
50
+ // @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly draw: () => void; }'.
51
51
  modify.standard = [modify.draw];
52
52
 
53
53
  const draw = {
54
54
  basic: function (state: any, prevState: any) {
55
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'graphie' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
55
+ // @ts-expect-error - TS2339 - Property 'graphie' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
56
56
  const graphie = this.graphie;
57
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'path' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
57
+ // @ts-expect-error - TS2339 - Property 'path' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
58
58
  const path = this.path(state);
59
59
 
60
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
60
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
61
61
  if (!this.state.visibleShape) {
62
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
62
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
63
63
  this.state.visibleShape = graphie.raphael.path(path);
64
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
64
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
65
65
  this.state.visibleShape.attr(this.normalStyle());
66
66
  }
67
67
  if (
68
68
  state.normalStyle !== prevState.normalStyle &&
69
69
  !_.isEqual(state.normalStyle, prevState.normalStyle)
70
70
  ) {
71
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
71
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
72
72
  this.state.visibleShape.attr(this.normalStyle());
73
73
  }
74
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
74
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
75
75
  this.state.visibleShape.attr({path: path});
76
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'mouseTarget' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
76
+ // @ts-expect-error - TS2339 - Property 'mouseTarget' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
77
77
  if (this.mouseTarget()) {
78
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'mouseTarget' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
78
+ // @ts-expect-error - TS2339 - Property 'mouseTarget' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
79
79
  this.mouseTarget().attr({path: path});
80
80
  }
81
81
  },
@@ -84,7 +84,7 @@ const draw = {
84
84
  * extra movables, e.g., for the arcs drawn at labeled angles. These extra
85
85
  * movables are stored in the label cache. */
86
86
  labels: function (state: any, prevState: any) {
87
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'graphie' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
87
+ // @ts-expect-error - TS2339 - Property 'graphie' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
88
88
  const graphie = this.graphie;
89
89
  const self = this;
90
90
 
@@ -98,20 +98,20 @@ const draw = {
98
98
  // get stored on state._labelCache. These will all be cleared out when
99
99
  // we remove the polygon.
100
100
  // (This logic is borrowed from graphie:addMovablePolygon.)
101
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
101
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
102
102
  if (self.state._labelCache != null) {
103
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
103
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
104
104
  _.invoke(self.state._labelCache, "remove");
105
105
  }
106
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
106
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
107
107
  self.state._labelCache = [];
108
108
 
109
109
  // Update angle labels
110
110
  if (state.angleLabels.length || state.showRightAngleMarkers.length) {
111
111
  // Generate labels
112
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
112
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
113
113
  if (self.state._labeledAngles == null) {
114
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
114
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
115
115
  self.state._labeledAngles = _.times(
116
116
  Math.max(
117
117
  state.angleLabels.length,
@@ -128,9 +128,9 @@ const draw = {
128
128
  );
129
129
  }
130
130
 
131
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
131
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
132
132
  _.each(self.state._labeledAngles, function (label, i) {
133
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
133
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
134
134
  self.state._labelCache.push(
135
135
  graphie.labelAngle({
136
136
  point1: coords[(i - 1 + n) % n],
@@ -150,9 +150,9 @@ const draw = {
150
150
  // Update side labels
151
151
  if (state.sideLabels.length) {
152
152
  // Generate labels
153
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
153
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
154
154
  if (self.state._labeledSides == null) {
155
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
155
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
156
156
  self.state._labeledSides = _.map(
157
157
  state.sideLabels,
158
158
  function (label) {
@@ -166,9 +166,9 @@ const draw = {
166
166
  );
167
167
  }
168
168
 
169
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
169
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
170
170
  _.each(self.state._labeledSides, function (label, i) {
171
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
171
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
172
172
  self.state._labelCache.push(
173
173
  graphie.labelSide({
174
174
  point1: coords[i],
@@ -187,9 +187,9 @@ const draw = {
187
187
  // Update vertex labels
188
188
  if (state.vertexLabels.length) {
189
189
  // Generate labels
190
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
190
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
191
191
  if (self.state._labeledVertices == null) {
192
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
192
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
193
193
  self.state._labeledVertices = _.map(
194
194
  state.vertexLabels,
195
195
  function (label) {
@@ -203,9 +203,9 @@ const draw = {
203
203
  );
204
204
  }
205
205
 
206
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
206
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
207
207
  _.each(self.state._labeledVertices, function (label, i) {
208
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
208
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
209
209
  self.state._labelCache.push(
210
210
  graphie.labelVertex({
211
211
  point1: coords[(i - 1 + n) % n],
@@ -221,41 +221,41 @@ const draw = {
221
221
  }
222
222
 
223
223
  // graphie.labelVertex and its peer methods return an array of movables
224
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
224
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
225
225
  self.state._labelCache = _.flatten(self.state._labelCache);
226
226
  },
227
227
 
228
228
  highlight: function (state: any, prevState: any) {
229
229
  if (state.isHovering && !prevState.isHovering) {
230
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'highlightStyle' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
230
+ // @ts-expect-error - TS2339 - Property 'highlightStyle' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
231
231
  state.visibleShape.animate(this.highlightStyle(), 50);
232
232
  } else if (!state.isHovering && prevState.isHovering) {
233
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
233
+ // @ts-expect-error - TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
234
234
  state.visibleShape.animate(this.normalStyle(), 50);
235
235
  }
236
236
  },
237
237
  } as const;
238
238
 
239
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'standard' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
239
+ // @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly basic: (state: any, prevState: any) => void; readonly labels: (state: any, prevState: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
240
240
  draw.standard = [draw.basic, draw.labels, draw.highlight];
241
241
 
242
242
  const remove = {
243
243
  basic: function () {
244
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
244
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
245
245
  if (this.state.visibleShape) {
246
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
246
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
247
247
  this.state.visibleShape.remove();
248
248
  }
249
249
  },
250
250
  labels: function () {
251
251
  const labels = [
252
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
252
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
253
253
  this.state._labeledSides,
254
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
254
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
255
255
  this.state._labeledVertices,
256
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
256
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
257
257
  this.state._labeledAngles,
258
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
258
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
259
259
  this.state._labelCache,
260
260
  ];
261
261
 
@@ -267,7 +267,7 @@ const remove = {
267
267
  },
268
268
  } as const;
269
269
 
270
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'standard' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
270
+ // @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly basic: () => void; readonly labels: () => void; }'.
271
271
  remove.standard = [remove.basic, remove.labels];
272
272
 
273
273
  const constraints = {
@@ -283,7 +283,7 @@ const constraints = {
283
283
  // NOTE(kevin): this should probably return the original point
284
284
  return true;
285
285
  }
286
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
286
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
287
287
  snap = snap || this.graphie.snap;
288
288
  return kpoint.roundTo(coord, snap);
289
289
  };
@@ -302,7 +302,7 @@ const constraints = {
302
302
  }
303
303
  }
304
304
  return function (coord: Coord, prevCoord: Coord): Coord {
305
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
305
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
306
306
  const graphie = this.graphie;
307
307
  const delta = kvector.subtract(coord, prevCoord);
308
308
  range = range || graphie.range;
@@ -327,7 +327,7 @@ const constraints = {
327
327
  }
328
328
 
329
329
  // Calculate the bounds for the delta.
330
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
330
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
331
331
  const deltaBounds = _.map(this.coords(), function (coord, i) {
332
332
  const max = kvector.subtract(absoluteUpper, coord);
333
333
  const min = kvector.subtract(absoluteLower, coord);
@@ -353,26 +353,26 @@ const constraints = {
353
353
  delta,
354
354
  );
355
355
 
356
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'number[]' is not assignable to type 'Coord'.
356
+ // @ts-expect-error - TS2322 - Type 'number[]' is not assignable to type 'Coord'.
357
357
  return kvector.add(prevCoord, boundedDelta);
358
358
  };
359
359
  },
360
360
  } as const;
361
361
 
362
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'standard' does not exist on type '{ readonly fixed: () => () => boolean; readonly snap: (snap: any) => (arg1: Coord) => unknown; readonly bound: (range: any, snap: any, paddingPx: number) => (arg1: Coord, arg2: Coord) => Coord; }'.
362
+ // @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly fixed: () => () => boolean; readonly snap: (snap: any) => (arg1: Coord) => unknown; readonly bound: (range: any, snap: any, paddingPx: number) => (arg1: Coord, arg2: Coord) => Coord; }'.
363
363
  constraints.standard = null;
364
364
 
365
365
  const onMove = {
366
366
  updatePoints: function (coord: Coord, prevCoord: Coord): void {
367
367
  const actualDelta = kvector.subtract(coord, prevCoord);
368
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'state' does not exist on type '{ readonly updatePoints: (coord: Coord, prevCoord: Coord) => undefined; }'.
368
+ // @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly updatePoints: (coord: Coord, prevCoord: Coord) => undefined; }'.
369
369
  _.each(this.state.points, function (point) {
370
370
  point.setCoord(kvector.add(point.coord(), actualDelta));
371
371
  });
372
372
  },
373
373
  } as const;
374
374
 
375
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'standard' does not exist on type '{ readonly updatePoints: (coord: Coord, prevCoord: Coord) => undefined; }'.
375
+ // @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly updatePoints: (coord: Coord, prevCoord: Coord) => undefined; }'.
376
376
  onMove.standard = null;
377
377
 
378
378
  export default {
@@ -56,7 +56,7 @@ const MovablePolygon = function (
56
56
  assert(graphie != null);
57
57
  assert(options != null);
58
58
 
59
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
59
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
60
60
  _.extend(this, {
61
61
  graphie: graphie,
62
62
  movable: movable,
@@ -67,7 +67,7 @@ const MovablePolygon = function (
67
67
  });
68
68
 
69
69
  // We only set DEFAULT_STATE once, here
70
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
70
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
71
71
  this.modify(_.extend({}, DEFAULT_STATE, options));
72
72
  };
73
73
 
@@ -50,7 +50,7 @@ const DEFAULT_STATE = {
50
50
  } as const;
51
51
 
52
52
  const Movable = function (graphie: any, options: any): void {
53
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
53
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
54
54
  _.extend(this, {
55
55
  graphie: graphie,
56
56
  state: {
@@ -60,7 +60,7 @@ const Movable = function (graphie: any, options: any): void {
60
60
  });
61
61
 
62
62
  // We only set DEFAULT_STATE once, here
63
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
63
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
64
64
  this.modify(_.extend({}, DEFAULT_STATE, options));
65
65
  };
66
66
 
@@ -47,7 +47,7 @@ const mapObject = function <K extends string, V, U>(
47
47
  ): Partial<Record<K, U>> {
48
48
  const result: Record<string, any> = {};
49
49
  _.each(_.keys(obj), function (key) {
50
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'string' is not assignable to parameter of type 'K'.
50
+ // @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'K'.
51
51
  result[key] = lambda(obj[key], key);
52
52
  });
53
53
  return result;
@@ -20,7 +20,7 @@ const WrappedDefaults: any = _.extend(
20
20
  {
21
21
  transform: function (transformation) {
22
22
  const prefixedTransform = InteractiveUtil.getPrefixedTransform();
23
- // @ts-expect-error [FEI-5003] - TS2538 - Type 'null' cannot be used as an index type. | TS2538 - Type 'undefined' cannot be used as an index type.
23
+ // @ts-expect-error - TS2538 - Type 'null' cannot be used as an index type. | TS2538 - Type 'undefined' cannot be used as an index type.
24
24
  this.wrapper.style[prefixedTransform] = transformation;
25
25
  },
26
26
 
@@ -78,7 +78,7 @@ const WrappedDefaults: any = _.extend(
78
78
  },
79
79
  objective_.mapObjectFromArray(PASS_TO_RAPHAEL, function (attribute) {
80
80
  return function (...args) {
81
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
81
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
82
82
  this.visibleShape[attribute](...args);
83
83
  };
84
84
  }),
@@ -28,14 +28,14 @@ const WrappedEllipse = function (
28
28
  options.maxScale,
29
29
  options.padding,
30
30
  );
31
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
31
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
32
32
  _.extend(this, fixedEllipse, {
33
33
  graphie: graphie,
34
34
  initialPoint: center,
35
35
  });
36
36
 
37
37
  if (options.interactiveKindForTesting) {
38
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
38
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
39
39
  this.wrapper.setAttribute(
40
40
  "data-interactive-kind-for-testing",
41
41
  options.interactiveKindForTesting,
@@ -46,23 +46,23 @@ const WrappedEllipse = function (
46
46
  if (options.mouselayer) {
47
47
  // Disable browser handling of all panning and zooming gestures on the
48
48
  // movable wrapper so that when moved the browser does not scroll page
49
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
49
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
50
50
  this.wrapper.style.touchAction = "none";
51
51
 
52
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
52
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
53
53
  this.graphie.addToMouseLayerWrapper(this.wrapper);
54
54
  } else {
55
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
55
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
56
56
  this.graphie.addToVisibleLayerWrapper(this.wrapper);
57
57
  }
58
58
 
59
59
  if (options.shadow) {
60
60
  const filter = "drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5))";
61
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
61
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
62
62
  const wrapper = this.wrapper;
63
63
  wrapper.style.filter = filter;
64
64
 
65
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
65
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
66
66
  this.moveTo = function (point: any) {
67
67
  const delta = kvector.subtract(
68
68
  this.graphie.scalePoint(point),
@@ -82,9 +82,9 @@ const WrappedEllipse = function (
82
82
  }
83
83
 
84
84
  if (options.disableMouseEventsOnWrapper) {
85
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
85
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
86
86
  this.wrapper.style.pointerEvents = "none";
87
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
87
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
88
88
  this.visibleShape.node.style.pointerEvents = "auto";
89
89
  }
90
90
  };
@@ -29,24 +29,24 @@ const WrappedLine = function (
29
29
 
30
30
  // Add `wrapper` and `visibleShape`
31
31
  _.extend(
32
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
32
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
33
33
  this,
34
34
  graphie.fixedLine(initialStart, initialEnd, options.thickness),
35
35
  );
36
36
 
37
37
  if (options.interactiveKindForTesting) {
38
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
38
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
39
39
  this.wrapper.setAttribute(
40
40
  "data-interactive-kind-for-testing",
41
41
  options.interactiveKindForTesting,
42
42
  );
43
43
  }
44
44
 
45
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
45
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
46
46
  this.visibleShape.attr(options.normalStyle);
47
47
 
48
48
  // Save properties for computing transformations
49
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
49
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
50
50
  _.extend(this, {
51
51
  graphie: graphie,
52
52
  initialPoint: graphie.scalePoint(initialStart),
@@ -60,18 +60,18 @@ const WrappedLine = function (
60
60
  if (options.mouselayer) {
61
61
  // Disable browser handling of all panning and zooming gestures on the
62
62
  // movable wrapper so that when moved the browser does not scroll page
63
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
63
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
64
64
  this.wrapper.style.touchAction = "none";
65
65
 
66
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
66
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
67
67
  this.graphie.addToMouseLayerWrapper(this.wrapper);
68
68
  } else {
69
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
69
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
70
70
  this.graphie.addToVisibleLayerWrapper(this.wrapper);
71
71
  }
72
72
 
73
73
  // Move to argument points
74
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
74
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
75
75
  this.moveTo(start, end);
76
76
  };
77
77
 
@@ -19,13 +19,13 @@ const WrappedPath = function (
19
19
 
20
20
  // Add `wrapper` and `visibleShape`
21
21
  _.extend(
22
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
22
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
23
23
  this,
24
24
  graphie.fixedPath(points, options.center, options.createPath),
25
25
  );
26
26
 
27
27
  // Add remaining properties
28
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
28
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
29
29
  _.extend(this, {
30
30
  graphie: graphie,
31
31
  initialPoint: graphie.scalePoint(_.head(points)),
@@ -35,13 +35,13 @@ const WrappedPath = function (
35
35
  if (options.mouselayer) {
36
36
  // Disable browser handling of all panning and zooming gestures on the
37
37
  // movable wrapper so that when moved the browser does not scroll page
38
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
38
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
39
39
  this.wrapper.style.touchAction = "none";
40
40
 
41
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
41
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
42
42
  this.graphie.addToMouseLayerWrapper(this.wrapper);
43
43
  } else {
44
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
44
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
45
45
  this.graphie.addToVisibleLayerWrapper(this.wrapper);
46
46
  }
47
47
  };
@@ -73,7 +73,7 @@ type SerializedState = {
73
73
  };
74
74
 
75
75
  class ItemRenderer extends React.Component<Props, State> {
76
- // @ts-expect-error [FEI-5003] - TS2564 - Property 'questionRenderer' has no initializer and is not definitely assigned in the constructor.
76
+ // @ts-expect-error - TS2564 - Property 'questionRenderer' has no initializer and is not definitely assigned in the constructor.
77
77
  questionRenderer: Renderer;
78
78
  hintsRenderer: React.ElementRef<typeof HintsRenderer> | null | undefined;
79
79
  _currentFocus: FocusPath;
@@ -207,7 +207,7 @@ class ItemRenderer extends React.Component<Props, State> {
207
207
  {...this.props.item.question}
208
208
  legacyPerseusLint={this.props.legacyPerseusLint}
209
209
  />,
210
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
210
+ // @ts-expect-error - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
211
211
  workArea,
212
212
  );
213
213
 
@@ -216,14 +216,14 @@ class ItemRenderer extends React.Component<Props, State> {
216
216
  ref={(node) => (this.hintsRenderer = node)}
217
217
  hints={this.props.item.hints}
218
218
  hintsVisible={this.state.hintsVisible}
219
- // @ts-expect-error [FEI-5003] - TS2769 - No overload matches this call.
219
+ // @ts-expect-error - TS2769 - No overload matches this call.
220
220
  apiOptions={apiOptions}
221
221
  linterContext={PerseusLinter.pushContextStack(
222
222
  this.props.linterContext,
223
223
  "hints",
224
224
  )}
225
225
  />,
226
- // @ts-expect-error [FEI-5003] - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
226
+ // @ts-expect-error - TS2345 - Argument of type 'Element' is not assignable to parameter of type 'HTMLElement'.
227
227
  hintsArea,
228
228
  );
229
229
 
@@ -460,7 +460,7 @@ class ItemRenderer extends React.Component<Props, State> {
460
460
  const qScore = this.questionRenderer.scoreWidgets();
461
461
  const qGuess = this.questionRenderer.getUserInputForWidgets();
462
462
  const state = this.questionRenderer.getSerializedState();
463
- // @ts-expect-error [FEI-5003] - TS2322 - Type 'Partial<Record<string, KEScore>>' is not assignable to type '{ [id: string]: KEScore; }'. | TS2345 - Argument of type '{ [widgetId: string]: PerseusScore; }' is not assignable to parameter of type 'Partial<Record<string, { type: "invalid"; message?: string | null | undefined; suppressAlmostThere?: boolean | null | undefined; }>>'.
463
+ // @ts-expect-error - TS2322 - Type 'Partial<Record<string, KEScore>>' is not assignable to type '{ [id: string]: KEScore; }'. | TS2345 - Argument of type '{ [widgetId: string]: PerseusScore; }' is not assignable to parameter of type 'Partial<Record<string, { type: "invalid"; message?: string | null | undefined; suppressAlmostThere?: boolean | null | undefined; }>>'.
464
464
  return mapObject(qScore, (score, id) => {
465
465
  return Util.keScoreFromPerseusScore(score, qGuess[id], state[id]);
466
466
  });
@@ -92,7 +92,7 @@ export const change: ChangeFn = function (
92
92
  // Called with an object of multiple props to change
93
93
  callback = propValue;
94
94
  return _changeMultiple(
95
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
95
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
96
96
  this,
97
97
  newPropsOrSinglePropName, // object newProps
98
98
  callback,
@@ -101,7 +101,7 @@ export const change: ChangeFn = function (
101
101
  if (typeof newPropsOrSinglePropName === "string") {
102
102
  // Called with a string propName of a single prop to change
103
103
  return _changeSingle(
104
- // @ts-expect-error [FEI-5003] - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
104
+ // @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
105
105
  this,
106
106
  newPropsOrSinglePropName, // string propName
107
107
  propValue,
@@ -5,7 +5,7 @@ import WIDGET_PROP_DENYLIST from "./widget-prop-denylist";
5
5
  const EditorJsonify = {
6
6
  serialize: function (): any {
7
7
  // Omit props that get passed to all widgets
8
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'props' does not exist on type '{ readonly serialize: () => any; }'.
8
+ // @ts-expect-error - TS2339 - Property 'props' does not exist on type '{ readonly serialize: () => any; }'.
9
9
  return _.omit(this.props, WIDGET_PROP_DENYLIST);
10
10
  },
11
11
  } as const;