@khanacademy/perseus 7.2.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/article-renderer.d.ts +26 -40
  3. package/dist/components/math-input.d.ts +1 -1
  4. package/dist/components/sortable.d.ts +1 -1
  5. package/dist/components/tex-buttons.d.ts +1 -1
  6. package/dist/es/index.css +61 -61
  7. package/dist/es/index.js +1189 -1308
  8. package/dist/es/index.js.map +1 -1
  9. package/dist/hints-renderer.d.ts +1 -1
  10. package/dist/index.css +61 -61
  11. package/dist/index.js +1180 -1269
  12. package/dist/index.js.map +1 -1
  13. package/dist/mixins/provide-keypad.d.ts +15 -12
  14. package/dist/perseus-api.d.ts +1 -1
  15. package/dist/types.d.ts +3 -2
  16. package/dist/widgets/expression.d.ts +1 -1
  17. package/dist/widgets/graded-group.d.ts +1 -1
  18. package/dist/widgets/interactive-graph.d.ts +1 -1
  19. package/dist/widgets/plotter.d.ts +47 -13
  20. package/dist/widgets/sequence.d.ts +1 -1
  21. package/dist/widgets/table.d.ts +8 -1
  22. package/dist/widgets.d.ts +1 -1
  23. package/package.json +33 -33
  24. package/src/__testdata__/article-renderer.testdata.ts +3 -1
  25. package/src/__testdata__/item-renderer.testdata.ts +1 -1
  26. package/src/__testdata__/renderer.testdata.ts +1 -1
  27. package/src/__tests__/item-renderer.test.tsx +2 -2
  28. package/src/__tests__/mock-asset-loading-widget.tsx +1 -1
  29. package/src/__tests__/perseus-markdown.test.ts +17 -17
  30. package/src/__tests__/renderer-api.test.tsx +21 -21
  31. package/src/__tests__/renderer.test.tsx +13 -13
  32. package/src/__tests__/server-item-renderer.test.tsx +3 -3
  33. package/src/__tests__/tex-wrangler.test.ts +1 -1
  34. package/src/article-renderer.tsx +39 -38
  35. package/src/components/__stories__/image-loader.stories.tsx +1 -0
  36. package/src/components/__tests__/number-input.test.tsx +4 -4
  37. package/src/components/__tests__/sortable.test.tsx +2 -2
  38. package/src/components/fixed-to-responsive.tsx +1 -1
  39. package/src/components/graph.tsx +12 -11
  40. package/src/components/graphie-classes.ts +7 -7
  41. package/src/components/graphie.tsx +14 -14
  42. package/src/components/highlighting/highlightable-content.tsx +1 -1
  43. package/src/components/highlighting/ui/highlight-renderer.tsx +1 -1
  44. package/src/components/highlighting/ui/util.ts +2 -2
  45. package/src/components/highlighting/word-indexer.tsx +4 -4
  46. package/src/components/icon.tsx +2 -1
  47. package/src/components/image-loader.tsx +5 -4
  48. package/src/components/input-with-examples.tsx +2 -2
  49. package/src/components/lint.tsx +1 -1
  50. package/src/components/math-input.tsx +5 -5
  51. package/src/components/math-output.tsx +1 -1
  52. package/src/components/multi-button-group.tsx +1 -1
  53. package/src/components/number-input.tsx +11 -10
  54. package/src/components/prop-check-box.tsx +1 -1
  55. package/src/components/simple-keypad-input.tsx +4 -4
  56. package/src/components/sortable.tsx +43 -41
  57. package/src/components/svg-image.tsx +13 -12
  58. package/src/components/tex-buttons.tsx +5 -3
  59. package/src/components/text-input.tsx +9 -8
  60. package/src/components/text-list-editor.tsx +12 -11
  61. package/src/components/visibility-observer/create-visibility-observer.ts +1 -1
  62. package/src/components/visibility-observer/visibility-observer.tsx +2 -2
  63. package/src/components/zoomable-tex.tsx +3 -3
  64. package/src/components/zoomable.tsx +9 -8
  65. package/src/hint-renderer.tsx +3 -3
  66. package/src/hints-renderer.tsx +12 -11
  67. package/src/index.ts +1 -0
  68. package/src/init.ts +1 -1
  69. package/src/interaction-tracker.ts +4 -4
  70. package/src/interactive2/__tests__/movable-point.test.ts +1 -1
  71. package/src/interactive2/interactive-util.ts +6 -6
  72. package/src/interactive2/movable-helper-methods.ts +2 -2
  73. package/src/interactive2/movable-line-options.ts +37 -37
  74. package/src/interactive2/movable-line.ts +2 -2
  75. package/src/interactive2/movable-point-options.ts +29 -29
  76. package/src/interactive2/movable-point.tsx +2 -2
  77. package/src/interactive2/movable-polygon-options.ts +45 -45
  78. package/src/interactive2/movable-polygon.ts +2 -2
  79. package/src/interactive2/movable.ts +2 -2
  80. package/src/interactive2/objective_.ts +1 -1
  81. package/src/interactive2/wrapped-defaults.ts +2 -2
  82. package/src/interactive2/wrapped-ellipse.ts +9 -9
  83. package/src/interactive2/wrapped-line.ts +8 -8
  84. package/src/interactive2/wrapped-path.ts +5 -5
  85. package/src/item-renderer.tsx +6 -5
  86. package/src/mixins/changeable.ts +2 -2
  87. package/src/mixins/editor-jsonify.ts +1 -1
  88. package/src/mixins/provide-keypad.tsx +24 -37
  89. package/src/mixins/widget-jsonify-deprecated.ts +1 -1
  90. package/src/multi-items/__tests__/items.test.ts +1 -1
  91. package/src/multi-items/__tests__/multi-renderer.test.tsx +7 -7
  92. package/src/multi-items/__tests__/trees.test.ts +12 -12
  93. package/src/multi-items/item-types.ts +2 -2
  94. package/src/multi-items/items.ts +1 -1
  95. package/src/multi-items/multi-renderer.tsx +15 -14
  96. package/src/multi-items/prop-type-builders.ts +2 -2
  97. package/src/multi-items/tree-types.ts +4 -4
  98. package/src/multi-items/trees.ts +16 -16
  99. package/src/perseus-env.ts +2 -2
  100. package/src/perseus-markdown.tsx +5 -5
  101. package/src/renderer.tsx +39 -38
  102. package/src/server-item-renderer.tsx +6 -5
  103. package/src/sigfigs.ts +1 -1
  104. package/src/styles/articles.less +8 -4
  105. package/src/styles/perseus-renderer.less +47 -38
  106. package/src/styles/util.less +1 -1
  107. package/src/styles/variables.boostrap.less +158 -182
  108. package/src/styles/variables.less +20 -20
  109. package/src/styles/variables.shared.less +162 -168
  110. package/src/styles/widgets/categorizer.less +1 -2
  111. package/src/styles/widgets/expression.less +7 -4
  112. package/src/styles/widgets/grapher.less +2 -1
  113. package/src/styles/widgets/image.less +3 -2
  114. package/src/styles/widgets/interactive-graph.less +4 -2
  115. package/src/styles/widgets/label-image.less +2 -1
  116. package/src/styles/widgets/matrix.less +11 -7
  117. package/src/styles/widgets/orderer.less +2 -1
  118. package/src/styles/widgets/passage.less +2 -1
  119. package/src/styles/widgets/plotter.less +4 -3
  120. package/src/styles/widgets/radio.less +4 -2
  121. package/src/styles/widgets/sortable.less +1 -1
  122. package/src/styles/widgets/table.less +2 -1
  123. package/src/styles/widgets/transformer.less +2 -1
  124. package/src/styles/widgets/unit.less +2 -1
  125. package/src/traversal.ts +1 -1
  126. package/src/types.ts +3 -3
  127. package/src/util/answer-types.ts +14 -14
  128. package/src/util/geometry.ts +7 -7
  129. package/src/util/graphie.ts +32 -32
  130. package/src/util/interactive.ts +118 -118
  131. package/src/util/math.ts +4 -4
  132. package/src/util/react-render.tsx +1 -1
  133. package/src/util/scroll-utils.ts +2 -2
  134. package/src/util/tex.ts +3 -3
  135. package/src/util.ts +15 -15
  136. package/src/widget-container.tsx +1 -1
  137. package/src/widgets/__stories__/plotter.stories.tsx +27 -0
  138. package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +3 -3
  139. package/src/widgets/__testdata__/numeric-input.testdata.ts +1 -1
  140. package/src/widgets/__testdata__/plotter.testdata.ts +36 -0
  141. package/src/widgets/__tests__/__snapshots__/plotter.test.tsx.snap +863 -0
  142. package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +2 -2
  143. package/src/widgets/__tests__/expression.test.ts +4 -3
  144. package/src/widgets/__tests__/grapher.cypress.ts +32 -32
  145. package/src/widgets/__tests__/group.test.tsx +1 -1
  146. package/src/widgets/__tests__/interactive-graph.cypress.ts +40 -40
  147. package/src/widgets/__tests__/interactive-graph.test.ts +1 -1
  148. package/src/widgets/__tests__/numeric-input.test.ts +1 -1
  149. package/src/widgets/__tests__/passage.test.tsx +2 -2
  150. package/src/widgets/__tests__/plotter.test.tsx +66 -0
  151. package/src/widgets/__tests__/radio/base-radio.test.tsx +7 -7
  152. package/src/widgets/__tests__/renderQuestion.tsx +3 -3
  153. package/src/widgets/categorizer.tsx +5 -4
  154. package/src/widgets/cs-program.tsx +2 -2
  155. package/src/widgets/dropdown.tsx +1 -1
  156. package/src/widgets/expression.tsx +10 -9
  157. package/src/widgets/graded-group-set.tsx +6 -5
  158. package/src/widgets/graded-group.tsx +19 -19
  159. package/src/widgets/grapher/util.tsx +6 -6
  160. package/src/widgets/grapher.tsx +10 -10
  161. package/src/widgets/group.tsx +3 -3
  162. package/src/widgets/iframe.tsx +2 -2
  163. package/src/widgets/image.tsx +1 -1
  164. package/src/widgets/input-number.tsx +4 -4
  165. package/src/widgets/interaction.tsx +78 -77
  166. package/src/widgets/interactive-graph.tsx +109 -107
  167. package/src/widgets/label-image/marker.tsx +3 -2
  168. package/src/widgets/label-image.test.ts +1 -1
  169. package/src/widgets/label-image.tsx +7 -7
  170. package/src/widgets/lights-puzzle.tsx +2 -2
  171. package/src/widgets/matcher.tsx +7 -6
  172. package/src/widgets/matrix.tsx +20 -20
  173. package/src/widgets/measurer.tsx +3 -3
  174. package/src/widgets/molecule/__tests__/layout.test.ts +4 -4
  175. package/src/widgets/molecule/__tests__/parser.test.ts +14 -14
  176. package/src/widgets/molecule/smiles-parser.ts +3 -3
  177. package/src/widgets/molecule.tsx +4 -4
  178. package/src/widgets/number-line.tsx +11 -11
  179. package/src/widgets/numeric-input.tsx +11 -11
  180. package/src/widgets/orderer.tsx +39 -38
  181. package/src/widgets/passage/__tests__/passage-markdown.test.ts +1 -1
  182. package/src/widgets/passage/passage-markdown.tsx +4 -4
  183. package/src/widgets/passage-ref-target.tsx +2 -1
  184. package/src/widgets/passage-ref.tsx +4 -6
  185. package/src/widgets/passage.tsx +11 -11
  186. package/src/widgets/plotter.tsx +117 -107
  187. package/src/widgets/radio/base-radio.tsx +12 -11
  188. package/src/widgets/radio/choice-icon/choice-icon.tsx +3 -2
  189. package/src/widgets/radio/choice.tsx +1 -1
  190. package/src/widgets/radio/option-status.tsx +1 -1
  191. package/src/widgets/radio/widget.tsx +6 -6
  192. package/src/widgets/radio.ts +1 -1
  193. package/src/widgets/reaction-diagram.tsx +8 -8
  194. package/src/widgets/sequence.tsx +2 -2
  195. package/src/widgets/simulator.tsx +14 -14
  196. package/src/widgets/sorter.tsx +5 -4
  197. package/src/widgets/table.tsx +8 -8
  198. package/src/widgets/transformer.tsx +93 -92
  199. package/src/widgets/unit.tsx +17 -17
  200. package/src/widgets/video-transcript-link.test.tsx +3 -3
  201. package/src/widgets/video-transcript-link.tsx +1 -1
  202. package/src/widgets/video.tsx +1 -1
  203. package/src/widgets.ts +5 -5
  204. package/src/zoom.ts +22 -22
  205. package/tsconfig-build.tsbuildinfo +1 -1
  206. package/dist/a11y.js.flow +0 -11
  207. package/dist/all-widgets.js.flow +0 -33
  208. package/dist/article-renderer.js.flow +0 -73
  209. package/dist/asset-context.js.flow +0 -15
  210. package/dist/basic-widgets.js.flow +0 -33
  211. package/dist/components/button-group.js.flow +0 -33
  212. package/dist/components/constants.js.flow +0 -13
  213. package/dist/components/fixed-to-responsive.js.flow +0 -34
  214. package/dist/components/graph.js.flow +0 -66
  215. package/dist/components/graphie-classes.js.flow +0 -19
  216. package/dist/components/graphie-movables.js.flow +0 -22
  217. package/dist/components/graphie.js.flow +0 -69
  218. package/dist/components/highlighting/highlightable-content.js.flow +0 -56
  219. package/dist/components/highlighting/highlights.js.flow +0 -54
  220. package/dist/components/highlighting/ranges.js.flow +0 -60
  221. package/dist/components/highlighting/types.js.flow +0 -70
  222. package/dist/components/highlighting/ui/highlight-renderer.js.flow +0 -43
  223. package/dist/components/highlighting/ui/highlight-set-renderer.js.flow +0 -41
  224. package/dist/components/highlighting/ui/highlight-tooltip.js.flow +0 -22
  225. package/dist/components/highlighting/ui/highlighting-ui.js.flow +0 -30
  226. package/dist/components/highlighting/ui/selection-tracker.js.flow +0 -54
  227. package/dist/components/highlighting/ui/types.js.flow +0 -22
  228. package/dist/components/highlighting/ui/util.js.flow +0 -42
  229. package/dist/components/highlighting/word-indexer.js.flow +0 -21
  230. package/dist/components/hud.js.flow +0 -14
  231. package/dist/components/icon.js.flow +0 -31
  232. package/dist/components/image-loader.js.flow +0 -49
  233. package/dist/components/info-tip/info-tip.js.flow +0 -20
  234. package/dist/components/info-tip.js.flow +0 -18
  235. package/dist/components/inline-icon.js.flow +0 -39
  236. package/dist/components/input-with-examples.js.flow +0 -58
  237. package/dist/components/lint.js.flow +0 -58
  238. package/dist/components/math-input.js.flow +0 -49
  239. package/dist/components/math-output.js.flow +0 -33
  240. package/dist/components/multi-button-group.js.flow +0 -35
  241. package/dist/components/number-input.js.flow +0 -42
  242. package/dist/components/prop-check-box.js.flow +0 -8
  243. package/dist/components/range-input.js.flow +0 -20
  244. package/dist/components/simple-keypad-input.js.flow +0 -16
  245. package/dist/components/sortable.js.flow +0 -91
  246. package/dist/components/stub-tag-editor.js.flow +0 -18
  247. package/dist/components/svg-image.js.flow +0 -85
  248. package/dist/components/tex-buttons.js.flow +0 -26
  249. package/dist/components/tex.js.flow +0 -25
  250. package/dist/components/text-input.js.flow +0 -39
  251. package/dist/components/text-list-editor.js.flow +0 -22
  252. package/dist/components/tooltip.js.flow +0 -51
  253. package/dist/components/visibility-observer/create-visibility-observer.js.flow +0 -23
  254. package/dist/components/visibility-observer/get-scroll-parent.js.flow +0 -7
  255. package/dist/components/visibility-observer/visibility-observer.js.flow +0 -36
  256. package/dist/components/zoomable-tex.js.flow +0 -18
  257. package/dist/components/zoomable.js.flow +0 -70
  258. package/dist/components.js.flow +0 -22
  259. package/dist/definition-context.js.flow +0 -25
  260. package/dist/dependencies.js.flow +0 -9
  261. package/dist/error-boundary.js.flow +0 -19
  262. package/dist/extra-widgets.js.flow +0 -33
  263. package/dist/hint-renderer.js.flow +0 -32
  264. package/dist/hints-renderer.js.flow +0 -41
  265. package/dist/icon-paths.js.flow +0 -123
  266. package/dist/index.js.flow +0 -134
  267. package/dist/init.js.flow +0 -20
  268. package/dist/interaction-tracker.js.flow +0 -35
  269. package/dist/interactive2/interactive-util.js.flow +0 -50
  270. package/dist/interactive2/movable-helper-methods.js.flow +0 -15
  271. package/dist/interactive2/movable-line-options.js.flow +0 -44
  272. package/dist/interactive2/movable-line.js.flow +0 -8
  273. package/dist/interactive2/movable-point-options.js.flow +0 -44
  274. package/dist/interactive2/movable-point.js.flow +0 -8
  275. package/dist/interactive2/movable-polygon-options.js.flow +0 -47
  276. package/dist/interactive2/movable-polygon.js.flow +0 -8
  277. package/dist/interactive2/movable.js.flow +0 -8
  278. package/dist/interactive2/objective_.js.flow +0 -25
  279. package/dist/interactive2/types.js.flow +0 -8
  280. package/dist/interactive2/wrapped-defaults.js.flow +0 -11
  281. package/dist/interactive2/wrapped-ellipse.js.flow +0 -14
  282. package/dist/interactive2/wrapped-line.js.flow +0 -14
  283. package/dist/interactive2/wrapped-path.js.flow +0 -13
  284. package/dist/interactive2.js.flow +0 -16
  285. package/dist/item-renderer.js.flow +0 -132
  286. package/dist/item-version.js.flow +0 -11
  287. package/dist/jipt-paragraphs.js.flow +0 -14
  288. package/dist/loading-context.js.flow +0 -12
  289. package/dist/logging/log.js.flow +0 -62
  290. package/dist/mixins/changeable.js.flow +0 -33
  291. package/dist/mixins/editor-jsonify.js.flow +0 -10
  292. package/dist/mixins/provide-keypad.js.flow +0 -33
  293. package/dist/mixins/widget-jsonify-deprecated.js.flow +0 -11
  294. package/dist/mixins/widget-prop-denylist.js.flow +0 -20
  295. package/dist/multi-items/item-types.js.flow +0 -55
  296. package/dist/multi-items/items.js.flow +0 -66
  297. package/dist/multi-items/multi-renderer.js.flow +0 -213
  298. package/dist/multi-items/prop-type-builders.js.flow +0 -22
  299. package/dist/multi-items/shape-types.js.flow +0 -60
  300. package/dist/multi-items/shapes.js.flow +0 -25
  301. package/dist/multi-items/tree-types.js.flow +0 -45
  302. package/dist/multi-items/trees.js.flow +0 -147
  303. package/dist/multi-items.js.flow +0 -36
  304. package/dist/perseus-api.js.flow +0 -151
  305. package/dist/perseus-env.js.flow +0 -6
  306. package/dist/perseus-error.js.flow +0 -16
  307. package/dist/perseus-markdown.js.flow +0 -20
  308. package/dist/perseus-types.js.flow +0 -1041
  309. package/dist/question-paragraph.js.flow +0 -17
  310. package/dist/renderability.js.flow +0 -19
  311. package/dist/renderer.js.flow +0 -325
  312. package/dist/server-item-renderer.js.flow +0 -132
  313. package/dist/sigfigs.js.flow +0 -41
  314. package/dist/styles/constants.js.flow +0 -62
  315. package/dist/styles/global-constants.js.flow +0 -348
  316. package/dist/styles/global-styles.js.flow +0 -53
  317. package/dist/styles/media-queries.js.flow +0 -35
  318. package/dist/styles/shared.js.flow +0 -8
  319. package/dist/tex-wrangler.js.flow +0 -13
  320. package/dist/translation-linter.js.flow +0 -32
  321. package/dist/traversal.js.flow +0 -26
  322. package/dist/types.js.flow +0 -318
  323. package/dist/util/a11y.js.flow +0 -8
  324. package/dist/util/answer-types.js.flow +0 -49
  325. package/dist/util/colors.js.flow +0 -95
  326. package/dist/util/fix-passage-refs.js.flow +0 -8
  327. package/dist/util/geometry.js.flow +0 -37
  328. package/dist/util/graph-utils.js.flow +0 -9
  329. package/dist/util/graphie.js.flow +0 -8
  330. package/dist/util/interactive.js.flow +0 -11
  331. package/dist/util/katex-preprocess.js.flow +0 -12
  332. package/dist/util/math.js.flow +0 -62
  333. package/dist/util/mobile-native-utils.js.flow +0 -12
  334. package/dist/util/react-render.js.flow +0 -12
  335. package/dist/util/register-all-widgets-for-testing.js.flow +0 -7
  336. package/dist/util/scroll-utils.js.flow +0 -19
  337. package/dist/util/sizing-utils.js.flow +0 -20
  338. package/dist/util/tex.js.flow +0 -17
  339. package/dist/util/url-utils.js.flow +0 -11
  340. package/dist/util.graphie.js.flow +0 -14
  341. package/dist/util.js.flow +0 -319
  342. package/dist/version.js.flow +0 -17
  343. package/dist/widget-container.js.flow +0 -33
  344. package/dist/widgets/categorizer.js.flow +0 -70
  345. package/dist/widgets/cs-program.js.flow +0 -54
  346. package/dist/widgets/definition.js.flow +0 -57
  347. package/dist/widgets/dropdown.js.flow +0 -63
  348. package/dist/widgets/explanation.js.flow +0 -58
  349. package/dist/widgets/expression.js.flow +0 -116
  350. package/dist/widgets/graded-group-answer-bar.js.flow +0 -24
  351. package/dist/widgets/graded-group-set.js.flow +0 -65
  352. package/dist/widgets/graded-group.js.flow +0 -78
  353. package/dist/widgets/grapher/util.js.flow +0 -38
  354. package/dist/widgets/grapher.js.flow +0 -102
  355. package/dist/widgets/group.js.flow +0 -60
  356. package/dist/widgets/iframe.js.flow +0 -53
  357. package/dist/widgets/image.js.flow +0 -73
  358. package/dist/widgets/input-number.js.flow +0 -94
  359. package/dist/widgets/interaction/arrow-picker.js.flow +0 -21
  360. package/dist/widgets/interaction/color-picker.js.flow +0 -23
  361. package/dist/widgets/interaction/dash-picker.js.flow +0 -21
  362. package/dist/widgets/interaction/element-container.js.flow +0 -28
  363. package/dist/widgets/interaction.js.flow +0 -60
  364. package/dist/widgets/interactive-graph.js.flow +0 -239
  365. package/dist/widgets/label-image/answer-choices.js.flow +0 -55
  366. package/dist/widgets/label-image/marker.js.flow +0 -31
  367. package/dist/widgets/label-image/types.js.flow +0 -23
  368. package/dist/widgets/label-image.js.flow +0 -142
  369. package/dist/widgets/lights-puzzle.js.flow +0 -58
  370. package/dist/widgets/matcher.js.flow +0 -106
  371. package/dist/widgets/matrix.js.flow +0 -80
  372. package/dist/widgets/measurer.js.flow +0 -30
  373. package/dist/widgets/molecule/molecule-drawing.js.flow +0 -11
  374. package/dist/widgets/molecule/molecule-layout.js.flow +0 -96
  375. package/dist/widgets/molecule/smiles-parser.js.flow +0 -26
  376. package/dist/widgets/molecule.js.flow +0 -60
  377. package/dist/widgets/number-line.js.flow +0 -102
  378. package/dist/widgets/numeric-input.js.flow +0 -105
  379. package/dist/widgets/orderer.js.flow +0 -81
  380. package/dist/widgets/passage/passage-markdown.js.flow +0 -33
  381. package/dist/widgets/passage-ref-target.js.flow +0 -52
  382. package/dist/widgets/passage-ref.js.flow +0 -85
  383. package/dist/widgets/passage.js.flow +0 -157
  384. package/dist/widgets/plotter.js.flow +0 -78
  385. package/dist/widgets/radio/base-radio.js.flow +0 -50
  386. package/dist/widgets/radio/choice-a11y-text.js.flow +0 -14
  387. package/dist/widgets/radio/choice-icon/choice-icon.js.flow +0 -22
  388. package/dist/widgets/radio/choice-icon/cross-out-line.js.flow +0 -16
  389. package/dist/widgets/radio/choice-icon/shared-styles.js.flow +0 -11
  390. package/dist/widgets/radio/choice-none-above.js.flow +0 -16
  391. package/dist/widgets/radio/choice.js.flow +0 -29
  392. package/dist/widgets/radio/choice.jsx.fixture.js.flow +0 -7
  393. package/dist/widgets/radio/focus-ring.js.flow +0 -22
  394. package/dist/widgets/radio/option-status.js.flow +0 -16
  395. package/dist/widgets/radio/util.js.flow +0 -12
  396. package/dist/widgets/radio/widget.js.flow +0 -80
  397. package/dist/widgets/radio.js.flow +0 -31
  398. package/dist/widgets/reaction-diagram.js.flow +0 -46
  399. package/dist/widgets/sequence.js.flow +0 -53
  400. package/dist/widgets/simulator.js.flow +0 -107
  401. package/dist/widgets/sorter.js.flow +0 -102
  402. package/dist/widgets/table.js.flow +0 -67
  403. package/dist/widgets/transformer.js.flow +0 -127
  404. package/dist/widgets/unit.js.flow +0 -93
  405. package/dist/widgets/video-transcript-link.js.flow +0 -15
  406. package/dist/widgets/video.js.flow +0 -57
  407. package/dist/widgets.js.flow +0 -108
  408. package/dist/zoom.js.flow +0 -7
  409. package/src/multi-items/item-types.js.flow +0 -55
@@ -1,318 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- import * as React from "react";
8
- import type { SerializedHighlightSet } from "./components/highlighting/types";
9
- import type { ILogger } from "./logging/log";
10
- import type { Item } from "./multi-items/item-types";
11
- import type { PerseusWidget } from "./perseus-types";
12
- import type { SizeClass } from "./util/sizing-utils";
13
- import type { SendEventFn } from "@khanacademy/perseus-core";
14
- import type { Result } from "@khanacademy/wonder-blocks-data";
15
- export type FocusPath = $ReadOnlyArray<string> | null | void;
16
- export type Dimensions = {|
17
- width?: number,
18
- height?: number,
19
- |};
20
- export type DeviceType = "phone" | "tablet" | "desktop";
21
- export type Widget = any;
22
- export type WidgetDict = {
23
- [name: string]: Widget,
24
- };
25
- export type ImageDict = {
26
- [url: string]: Dimensions,
27
- };
28
- export type PerseusScore =
29
- | {|
30
- type: "invalid",
31
- message?: string | null | void,
32
- suppressAlmostThere?: boolean | null | void,
33
- |}
34
- | {|
35
- type: "points",
36
- earned: number,
37
- total: number,
38
- message?: string | null | void,
39
- |};
40
- export type Hint = {|
41
- widgets: WidgetDict,
42
- content: string,
43
- images: ImageDict,
44
- replace?: boolean,
45
- |};
46
- export type Version = {|
47
- major: number,
48
- minor: number,
49
- |};
50
- export type EditorMode = "edit" | "preview" | "json";
51
- export type ChoiceState = {|
52
- selected: boolean,
53
- crossedOut: boolean,
54
- highlighted: boolean,
55
- rationaleShown: boolean,
56
- correctnessShown: boolean,
57
- previouslyAnswered: boolean,
58
- readOnly: boolean,
59
- |};
60
- export type ChangeHandler = (
61
- arg1: {|
62
- hints?: $ReadOnlyArray<Hint>,
63
- replace?: boolean,
64
- content?: string,
65
- widgets?: WidgetDict,
66
- images?: ImageDict,
67
- question?: any,
68
- answerArea?: any,
69
- itemDataVersion?: Version,
70
- item?: Item,
71
- editorMode?: EditorMode,
72
- jsonMode?: boolean,
73
- value?: any,
74
- choiceStates?: $ReadOnlyArray<ChoiceState>,
75
- currentValue?: string,
76
- selected?: number,
77
- tools?: $ReadOnlyArray<any>,
78
- transformations?: $ReadOnlyArray<any>,
79
- highlights?: SerializedHighlightSet,
80
- plot?: any,
81
- |},
82
- callback?: () => mixed | null | void,
83
- silent?: boolean
84
- ) => mixed;
85
- export type ImageUploader = (
86
- file: string,
87
- callback: (url: string) => mixed
88
- ) => mixed;
89
- export type WidgetSize = "normal" | "small" | "mini";
90
- export type Path = $ReadOnlyArray<string>;
91
- declare type StubTagEditorType = any;
92
- export type APIOptions = $ReadOnly<{|
93
- isArticle?: boolean,
94
- onInputError?: (
95
- widgetId: any,
96
- value: string,
97
- message?: string | null | void
98
- ) => mixed,
99
- onFocusChange?: (
100
- newFocusPath: FocusPath,
101
- oldFocusPath: FocusPath,
102
- keypadElement?: HTMLElement,
103
- focusedElement?: HTMLElement
104
- ) => mixed,
105
- GroupMetadataEditor?: React.ComponentType<StubTagEditorType>,
106
- showAlignmentOptions?: boolean,
107
- readOnly?: boolean,
108
- answerableCallback?: (arg1: boolean) => mixed,
109
- getAnotherHint?: () => mixed,
110
- interactionCallback?: () => mixed,
111
- groupAnnotator?: (groupNumber: number, widgetId: string) => React.Node,
112
- imagePlaceholder?: React.Node,
113
- widgetPlaceholder?: React.Node,
114
- baseElements?: {|
115
- Link: React.ComponentType<any>,
116
- |},
117
- imagePreloader?: (dimensions: Dimensions) => React.Node,
118
- trackInteraction?: (args: {|
119
- ...{|
120
- type: string,
121
- id: string,
122
- correct?: boolean,
123
- |},
124
- ...{ [key: string]: mixed },
125
- |}) => void,
126
- customKeypad?: boolean,
127
- useV2Keypad?: boolean,
128
- nativeKeypadProxy?: () => mixed,
129
- isMobile?: boolean,
130
- setDrawingAreaAvailable?: (arg1: boolean) => mixed,
131
- useDraftEditor?: boolean,
132
- hintProgressColor?: string,
133
- canScrollPage?: boolean,
134
- inModal?: boolean,
135
- crossOutEnabled?: boolean,
136
- editorChangeDelay?: number,
137
- |}>;
138
- declare type TeXProps = {|
139
- children: string,
140
- katexOptions?: any,
141
- onClick?: () => mixed,
142
- onRender?: (root?: any) => mixed,
143
- style?: any,
144
- |};
145
- export type DomInsertCheckFn = (
146
- text: string,
147
- node: HTMLElement,
148
- attribute?: string,
149
- jiptString?: string
150
- ) => string | false;
151
- export type JIPT = {|
152
- useJIPT: boolean,
153
- |};
154
- export type JiptLabelStore = {|
155
- addLabel: (label?: any, useMath?: any) => void,
156
- |};
157
- export interface JiptRenderer {
158
- replaceJiptContent: (content: string, paragraphIndex: number) => void;
159
- }
160
- export type JiptTranslationComponents = {|
161
- addComponent: (renderer: JiptRenderer) => number,
162
- removeComponentAtIndex: (index: number) => void,
163
- |};
164
- export type VideoData = {|
165
- __typename: "Video",
166
- id: string,
167
- title: string | null | void,
168
-
169
- /**
170
- * Unique identifier on YouTube.
171
- * If this is a dubbed video, this is always the original English version on
172
- * YouTube. If the localized version is needed, use translatedYoutubeId.
173
- * Example: KL6sMOn7ULo
174
- */
175
- youtubeId: string | null | void,
176
- contentId: string | null | void,
177
- |};
178
- declare interface StaticUrlFn {
179
- (maybeRelativeUrl: string): string;
180
- (maybeRelativeUrl?: void | null | void): void | null | void;
181
- }
182
- declare type InitialRequestUrlInterface = {|
183
- origin: string,
184
- host: string,
185
- protocol: string,
186
- |};
187
- export type VideoKind = "YOUTUBE_ID" | "READABLE_ID";
188
- export type PerseusDependencies = {|
189
- JIPT: JIPT,
190
- graphieMovablesJiptLabels: JiptLabelStore,
191
- svgImageJiptLabels: JiptLabelStore,
192
- rendererTranslationComponents: JiptTranslationComponents,
193
- TeX: React.ComponentType<TeXProps>,
194
- staticUrl: StaticUrlFn,
195
- InitialRequestUrl: InitialRequestUrlInterface,
196
- analytics: SendEventFn,
197
- useVideo(
198
- id: string,
199
- kind: VideoKind
200
- ): Result<{|
201
- video: VideoData | null | void,
202
- |}>,
203
- Log: ILogger,
204
- isDevServer: boolean,
205
- kaLocale: string,
206
- isMobile: boolean,
207
- |};
208
- export type APIOptionsWithDefaults = $ReadOnly<{|
209
- ...APIOptions,
210
- ...{|
211
- GroupMetadataEditor: $NonMaybeType<
212
- $PropertyType<APIOptions, "GroupMetadataEditor">
213
- >,
214
- baseElements: $NonMaybeType<$PropertyType<APIOptions, "baseElements">>,
215
- canScrollPage: $NonMaybeType<$PropertyType<APIOptions, "canScrollPage">>,
216
- crossOutEnabled: $NonMaybeType<
217
- $PropertyType<APIOptions, "crossOutEnabled">
218
- >,
219
- editorChangeDelay: $NonMaybeType<
220
- $PropertyType<APIOptions, "editorChangeDelay">
221
- >,
222
- groupAnnotator: $NonMaybeType<$PropertyType<APIOptions, "groupAnnotator">>,
223
- inModal: $NonMaybeType<$PropertyType<APIOptions, "inModal">>,
224
- isArticle: $NonMaybeType<$PropertyType<APIOptions, "isArticle">>,
225
- isMobile: $NonMaybeType<$PropertyType<APIOptions, "isMobile">>,
226
- useV2Keypad: $NonMaybeType<$PropertyType<APIOptions, "useV2Keypad">>,
227
- onFocusChange: $NonMaybeType<$PropertyType<APIOptions, "onFocusChange">>,
228
- onInputError: $NonMaybeType<$PropertyType<APIOptions, "onInputError">>,
229
- readOnly: $NonMaybeType<$PropertyType<APIOptions, "readOnly">>,
230
- setDrawingAreaAvailable: $NonMaybeType<
231
- $PropertyType<APIOptions, "setDrawingAreaAvailable">
232
- >,
233
- showAlignmentOptions: $NonMaybeType<
234
- $PropertyType<APIOptions, "showAlignmentOptions">
235
- >,
236
- useDraftEditor: $NonMaybeType<$PropertyType<APIOptions, "useDraftEditor">>,
237
- |},
238
- |}>;
239
- export type LinterContextProps = {|
240
- contentType: string,
241
- highlightLint: boolean,
242
- paths: $ReadOnlyArray<string>,
243
- stack: $ReadOnlyArray<string>,
244
- |};
245
- export type Tracking = "" | "all";
246
- export type Alignment =
247
- | "default"
248
- | "block"
249
- | "inline-block"
250
- | "inline"
251
- | "float-left"
252
- | "float-right"
253
- | "full-width";
254
- declare type WidgetOptions = any;
255
- export type WidgetTransform = (
256
- arg1: WidgetOptions,
257
- problemNumber?: number
258
- ) => any;
259
- export type WidgetExports<
260
- T: React.ComponentType<any> = React.ComponentType<any>
261
- > = $ReadOnly<{|
262
- name: string,
263
- displayName: string,
264
- getWidget?: () => T,
265
- accessible?: boolean | ((props: any) => boolean),
266
- hidden?: boolean,
267
- version?: Version,
268
- supportedAlignments?: $ReadOnlyArray<Alignment>,
269
- defaultAlignment?: Alignment,
270
- getDefaultAlignment?: () => Alignment,
271
- isLintable?: boolean,
272
- tracking?: Tracking,
273
- traverseChildWidgets?: any,
274
- transform?: WidgetTransform,
275
- staticTransform?: WidgetTransform,
276
- propUpgrades?: {
277
- [key: string]: (arg1: any) => any,
278
- },
279
- widget: T,
280
- |}>;
281
- export type WidgetInfo = PerseusWidget;
282
- export type FilterCriterion =
283
- | string
284
- | ((
285
- id: string,
286
- widgetInfo: WidgetInfo,
287
- widget?: Widget | null | void
288
- ) => boolean);
289
- export type WidgetProps<RenderProps, Rubric> = {|
290
- ...RenderProps,
291
- ...{|
292
- widgetId: string,
293
- alignment: string | null | void,
294
- static: boolean | null | void,
295
- problemNum: number | null | void,
296
- apiOptions: APIOptionsWithDefaults,
297
- keypadElement?: any,
298
- questionCompleted?: boolean,
299
- onFocus: (blurPath: FocusPath) => void,
300
- onBlur: (blurPath: FocusPath) => void,
301
- findWidgets: (arg1: FilterCriterion) => $ReadOnlyArray<Widget>,
302
- reviewModeRubric: Rubric,
303
- onChange: ChangeHandler,
304
- trackInteraction: (extraData?: any) => void,
305
- isLastUsedWidget: boolean,
306
- linterContext: LinterContextProps,
307
- containerSizeClass: SizeClass,
308
- |},
309
- |};
310
- export type ChangeFn = (
311
- newPropsOrSinglePropName:
312
- | string
313
- | {
314
- [key: string]: any,
315
- },
316
- propValue?: any,
317
- callback?: () => mixed
318
- ) => any | null | void;
@@ -1,8 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- declare var _default: StyleDeclaration;
8
- declare export default typeof _default;
@@ -1,49 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- declare type Guess = any;
8
- declare type Predicate = any;
9
- declare type Score = {|
10
- empty: boolean,
11
- correct: boolean,
12
- message: string | null | void,
13
- suppressAlmostThere?: boolean | null | void,
14
- guess: Guess,
15
- ungraded?: boolean,
16
- |};
17
- declare export var errors: {|
18
- +APPROXIMATED_PI_ERROR: string,
19
- +EXTRA_SYMBOLS_ERROR: string,
20
- +NEEDS_TO_BE_SIMPLFIED_ERROR: string,
21
- +MISSING_PERCENT_ERROR: string,
22
- +MULTIPLICATION_SIGN_ERROR: string,
23
- +WRONG_CASE_ERROR: string,
24
- +WRONG_LETTER_ERROR: string,
25
- |};
26
- declare var KhanAnswerTypes: {|
27
- +predicate: {|
28
- +defaultForms: "integer, proper, improper, mixed, decimal",
29
- +createValidatorFunctional: (
30
- predicate: Predicate,
31
- options: any
32
- ) => (arg1: Guess) => Score,
33
- |},
34
- +number: {|
35
- +convertToPredicate: (correctAnswer: string, options: any) => Predicate,
36
- +createValidatorFunctional: (
37
- correctAnswer: string,
38
- options: any
39
- ) => (arg1: Guess) => Score,
40
- |},
41
- +expression: {|
42
- +parseSolution: (solutionString: string, options: any) => any,
43
- +createValidatorFunctional: (
44
- solution: any,
45
- options: any
46
- ) => (arg1: Guess) => Score,
47
- |},
48
- |};
49
- declare export default typeof KhanAnswerTypes;
@@ -1,95 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- /**
8
- * Color constants we use throughout Perseus (originally on KhanUtil).
9
- *
10
- * Note that if the color palette changes substantially, it may also need to be
11
- * updated in khan-exercises and cherry-picked into graphie-to-png's
12
- * khan-exercises submodule, as graphie-to-png still relies on the palette
13
- * provided on KhanUtil.
14
- */
15
- declare var KhanColors: {|
16
- +BLUE: "#6495ED",
17
- +ORANGE: "#FFA500",
18
- +PINK: "#FF00AF",
19
- +GREEN: "#28AE7B",
20
- +PURPLE: "#9D38BD",
21
- +RED: "#DF0030",
22
- +GRAY: "gray",
23
- +BLACK: "black",
24
- +LIGHT_BLUE: "#9AB8ED",
25
- +LIGHT_ORANGE: "#EDD19B",
26
- +LIGHT_PINK: "#ED9BD3",
27
- +LIGHT_GREEN: "#9BEDCE",
28
- +LIGHT_PURPLE: "#DA9BED",
29
- +LIGHT_RED: "#ED9AAC",
30
- +LIGHT_GRAY: "#ED9B9B",
31
- +LIGHT_BLACK: "#ED9B9B",
32
- +GRAY10: "#D6D6D6",
33
- +GRAY20: "#CDCDCD",
34
- +GRAY30: "#B3B3B3",
35
- +GRAY40: "#9A9A9A",
36
- +GRAY50: "#808080",
37
- +GRAY60: "#666666",
38
- +GRAY70: "#4D4D4D",
39
- +GRAY80: "#333333",
40
- +GRAY90: "#1A1A1A",
41
- +BLUE_A: "#CCFAFF",
42
- +BLUE_B: "#80F6FF",
43
- +BLUE_C: "#63D9EA",
44
- +BLUE_D: "#11ACCD",
45
- +BLUE_E: "#0C7F99",
46
- +TEAL_A: "#94FFF5",
47
- +TEAL_B: "#26EDD5",
48
- +TEAL_C: "#01D1C1",
49
- +TEAL_D: "#01A995",
50
- +TEAL_E: "#208170",
51
- +GREEN_A: "#B6FFB0",
52
- +GREEN_B: "#8AF281",
53
- +GREEN_C: "#74CF70",
54
- +GREEN_D: "#1FAB54",
55
- +GREEN_E: "#0D923F",
56
- +GOLD_A: "#FFD0A9",
57
- +GOLD_B: "#FFBB71",
58
- +GOLD_C: "#FF9C39",
59
- +GOLD_D: "#E07D10",
60
- +GOLD_E: "#A75A05",
61
- +RED_A: "#FCA9A9",
62
- +RED_B: "#FF8482",
63
- +RED_C: "#F9685D",
64
- +RED_D: "#E84D39",
65
- +RED_E: "#BC2612",
66
- +MAROON_A: "#FFBDE0",
67
- +MAROON_B: "#FF92C6",
68
- +MAROON_C: "#ED5FA6",
69
- +MAROON_D: "#CA337C",
70
- +MAROON_E: "#9E034E",
71
- +PURPLE_A: "#DDD7FF",
72
- +PURPLE_B: "#C6B9FC",
73
- +PURPLE_C: "#AA87FF",
74
- +PURPLE_D: "#7854AB",
75
- +PURPLE_E: "#543B78",
76
- +MINT_A: "#F5F9E8",
77
- +MINT_B: "#EDF2DF",
78
- +MINT_C: "#E0E5CC",
79
- +GRAY_A: "#F6F7F7",
80
- +GRAY_B: "#F0F1F2",
81
- +GRAY_C: "#E3E5E6",
82
- +GRAY_D: "#D6D8DA",
83
- +GRAY_E: "#BABEC2",
84
- +GRAY_F: "#888D93",
85
- +GRAY_G: "#626569",
86
- +GRAY_H: "#3B3E40",
87
- +GRAY_I: "#21242C",
88
- +KA_BLUE: "#314453",
89
- +KA_GREEN: "#71B307",
90
- +_BACKGROUND: "#FDFDFD",
91
- +INTERACTING: "#71B307",
92
- +INTERACTIVE: "#71B307",
93
- +DYNAMIC: "#6495ED",
94
- |};
95
- declare export default typeof KhanColors;
@@ -1,8 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- declare var FixPassageRefs: (itemData: any) => any;
8
- declare export default typeof FixPassageRefs;
@@ -1,37 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- import type { Coord, Line } from "../interactive2/types";
8
- export type Range = [number, number];
9
- export type SineCoefficient = [number, number, number, number];
10
- export type QuadraticCoefficient = [number, number, number];
11
- declare export function sign(val: number): 0 | 1 | -1;
12
- declare export function ccw(a: Coord, b: Coord, c: Coord): number;
13
- declare export function collinear(a: Coord, b: Coord, c: Coord): boolean;
14
- declare export function intersects(ab: Line, cd: Line): boolean;
15
- declare export function vector(a: any, b: any): number[];
16
- declare export function magnitude(v: $ReadOnlyArray<Coord>): number;
17
- declare export function angleMeasures(
18
- coords: $ReadOnlyArray<Coord>
19
- ): $ReadOnlyArray<number>;
20
- declare export function similar(
21
- coords1: $ReadOnlyArray<Coord>,
22
- coords2: $ReadOnlyArray<Coord>,
23
- tolerance: number
24
- ): boolean;
25
- declare export function lawOfCosines(a: number, b: number, c: number): number;
26
- declare export function canonicalSineCoefficients(
27
- x: [any, any, any, any]
28
- ): any[];
29
- declare export function rotate<T>(
30
- array: $ReadOnlyArray<T>,
31
- n?: number
32
- ): $ReadOnlyArray<T>;
33
- declare export function getLineEquation(first: Coord, second: Coord): string;
34
- declare export function getLineIntersection(
35
- firstPoints: $ReadOnlyArray<Coord>,
36
- secondPoints: $ReadOnlyArray<Coord>
37
- ): string;
@@ -1,9 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- import GraphUtils from "./graphie";
8
- import "./interactive";
9
- declare export default typeof GraphUtils;
@@ -1,8 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- declare var GraphUtils: any;
8
- declare export default typeof GraphUtils;
@@ -1,11 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- import "../jquery.mobile.vmouse";
8
- import type { Coord } from "../interactive2/types";
9
- export type MouseHandler = (position: Coord) => void;
10
- declare var InteractiveUtils: any;
11
- declare export default typeof InteractiveUtils;
@@ -1,12 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- /**
8
- * Preprocess TeX code to convert things that KaTeX doesn't know how to handle
9
- * to things is does.
10
- */
11
- declare var _default: (texCode: string) => string;
12
- declare export default typeof _default;
@@ -1,62 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- import type { MathFormat } from "../perseus-types";
8
- declare var KhanMath: {|
9
- +cleanMath: (expr: string) => string,
10
- +bound: (num: number) => number,
11
- +factorial: (x: number) => number,
12
- +getGCD: (a: number, b: number) => number,
13
- +getLCM: (a: number, b: number) => number,
14
- +primes: [
15
- 2,
16
- 3,
17
- 5,
18
- 7,
19
- 11,
20
- 13,
21
- 17,
22
- 19,
23
- 23,
24
- 29,
25
- 31,
26
- 37,
27
- 41,
28
- 43,
29
- 47,
30
- 53,
31
- 59,
32
- 61,
33
- 67,
34
- 71,
35
- 73,
36
- 79,
37
- 83,
38
- 89,
39
- 97
40
- ],
41
- +isPrime: (n: number) => boolean,
42
- +getPrimeFactorization: (number: number) => $ReadOnlyArray<number>,
43
- +roundToNearest: (increment: number, num: number) => number,
44
- +roundTo: (precision: number, num: number) => number,
45
-
46
- /**
47
- * Return a string of num rounded to a fixed precision decimal places,
48
- * with an approx symbol if num had to be rounded, and trailing 0s
49
- */
50
- +toFixedApprox: (num: number, precision: number) => string,
51
-
52
- /**
53
- * Return a string of num rounded to precision decimal places, with an
54
- * approx symbol if num had to be rounded, but no trailing 0s if it was
55
- * not rounded.
56
- */
57
- +roundToApprox: (num: number, precision: number) => string,
58
- +toFraction: (decimal: number, tolerance?: number) => [number, number],
59
- +getNumericFormat: (text: string) => MathFormat | null | void,
60
- +toNumericString: (number: number, format?: MathFormat) => string,
61
- |};
62
- declare export default typeof KhanMath;
@@ -1,12 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- /**
8
- * Helps us detect that we are running in a mobile native environment for
9
- * any js that is bundled in the mobile app (e.g. Perseus).
10
- * @param {*} protocol protocol portion of a URL. Generally: window.location.protocol
11
- */
12
- declare export var isFileProtocol: (protocol?: string | null) => boolean;
@@ -1,12 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- import * as React from "react";
8
- declare export default function render<ElementType: React.ElementType<>>(
9
- element: React.Node,
10
- container: HTMLElement,
11
- callback?: () => void
12
- ): React.ElementRef<ElementType>;
@@ -1,7 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- declare export var registerAllWidgetsForTesting: () => void;
@@ -1,19 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- /**
8
- * A small collection of useful scrolling utility functions.
9
- */
10
- /**
11
- * Scroll the given element into view.
12
- *
13
- * This works with elements inside scroll containers, but may fail in scenarios
14
- * involving multiple nested scroll containers.
15
- */
16
- declare export var scrollElementIntoView: (
17
- element: Element,
18
- callback?: any
19
- ) => void;