@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,102 +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 $Flowgen$Import$_2e__2e__2f_types from "../types";
8
- import * as React from "react";
9
- import type { ChangeableProps } from "../mixins/changeable";
10
- import type { APIOptions } from "../types";
11
- declare type Props = {|
12
- ...ChangeableProps,
13
- ...{|
14
- range: [number, number],
15
- labelRange: $ReadOnlyArray<number | null>,
16
- labelStyle: string,
17
- labelTicks: boolean,
18
- divisionRange: $ReadOnlyArray<number>,
19
- numDivisions: number,
20
- snapDivisions: number,
21
- isTickCtrl: boolean,
22
- isInequality: boolean,
23
- numLinePosition: number,
24
- rel: "lt" | "gt" | "le" | "ge",
25
- onFocus: (arg1: any) => void,
26
- onBlur: (arg1: any) => void,
27
- onChange: (arg1: any, arg2?: () => void | null | void) => void,
28
- apiOptions: APIOptions,
29
- keypadElement: HTMLElement | null | void,
30
- static?: boolean,
31
- showTooltips?: boolean,
32
- trackInteraction: () => void,
33
- |},
34
- |};
35
- declare type DefaultProps = {|
36
- range: $PropertyType<Props, "range">,
37
- labelStyle: $PropertyType<Props, "labelStyle">,
38
- labelRange: $PropertyType<Props, "labelRange">,
39
- divisionRange: $PropertyType<Props, "divisionRange">,
40
- labelTicks: $PropertyType<Props, "labelTicks">,
41
- isTickCtrl: $PropertyType<Props, "isTickCtrl">,
42
- isInequality: $PropertyType<Props, "isInequality">,
43
- numLinePosition: $PropertyType<Props, "numLinePosition">,
44
- snapDivisions: $PropertyType<Props, "snapDivisions">,
45
- showTooltips: $PropertyType<Props, "showTooltips">,
46
- rel: $PropertyType<Props, "rel">,
47
- apiOptions: $PropertyType<Props, "apiOptions">,
48
- |};
49
- declare type State = {|
50
- numDivisionsEmpty: boolean,
51
- |};
52
- declare class NumberLine extends React.Component<Props, State> {
53
- static defaultProps: DefaultProps;
54
- state: any;
55
- change: (...args: $ReadOnlyArray<mixed>) => any;
56
- isValid: () => boolean;
57
- onNumDivisionsChange: (arg1: number, arg2: any) => void;
58
- _handleTickCtrlFocus: () => void;
59
- _handleTickCtrlBlur: () => void;
60
- focus: () => boolean | null | void;
61
- focusInputPath: (arg1: any) => void;
62
- blurInputPath: (arg1: any) => void;
63
- getInputPaths: () => $ReadOnlyArray<$ReadOnlyArray<string>>;
64
- getDOMNodeForPath: (arg1: any) => Element | Text | null | void;
65
- getGrammarTypeForPath: (arg1: any) => string | null | void;
66
- setInputValue: (arg1: any, arg2: any, arg3: any) => void;
67
- _renderGraphie: () => React.Element<any>;
68
- snapNumLinePosition: (arg1: any, arg2: number) => number;
69
- movePosition: (arg1: number) => void;
70
- _renderNumberLinePoint: (arg1: any) => React.Element<any>;
71
- handleReverse: () => void;
72
- handleToggleStrict: () => void;
73
- _getInequalityEndpoint: (arg1: any) => [number, number];
74
- _renderInequality: (arg1: any) => React.Element<any>;
75
- _setupGraphie: (arg1: any, arg2: any) => void;
76
- getUserInput: () => any;
77
- simpleValidate: (arg1: any) => any;
78
- render(): React.Node;
79
- }
80
- declare var _default: $ReadOnly<{|
81
- name: string,
82
- displayName: string,
83
- getWidget?: (() => typeof NumberLine) | void,
84
- accessible?: boolean | ((props: any) => boolean) | void,
85
- hidden?: boolean | void,
86
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
87
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
88
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
89
- getDefaultAlignment?:
90
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
91
- | void,
92
- isLintable?: boolean | void,
93
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
94
- traverseChildWidgets?: any,
95
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
96
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
97
- propUpgrades?: {
98
- [key: string]: (arg1: any) => any,
99
- } | void,
100
- widget: typeof NumberLine,
101
- |}>;
102
- declare export default typeof _default;
@@ -1,105 +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 $Flowgen$Import$_2e__2e__2f_types from "../types";
8
- import * as React from "react";
9
- import InputWithExamples from "../components/input-with-examples";
10
- import SimpleKeypadInput from "../components/simple-keypad-input";
11
- import type {
12
- PerseusNumericInputWidgetOptions,
13
- PerseusNumericInputAnswerForm,
14
- } from "../perseus-types";
15
- import type { FocusPath, PerseusScore, WidgetProps } from "../types";
16
- declare type UserInput = {|
17
- currentValue: string,
18
- |};
19
- export type Rubric = PerseusNumericInputWidgetOptions;
20
- declare type ExternalProps = WidgetProps<
21
- PerseusNumericInputWidgetOptions,
22
- Rubric
23
- >;
24
- declare type Props = {|
25
- ...ExternalProps,
26
- ...{|
27
- size: $NonMaybeType<$PropertyType<ExternalProps, "size">>,
28
- rightAlign: $NonMaybeType<$PropertyType<ExternalProps, "rightAlign">>,
29
- apiOptions: $NonMaybeType<$PropertyType<ExternalProps, "apiOptions">>,
30
- coefficient: $NonMaybeType<$PropertyType<ExternalProps, "coefficient">>,
31
- answerForms: $NonMaybeType<$PropertyType<ExternalProps, "answerForms">>,
32
- labelText: $NonMaybeType<$PropertyType<ExternalProps, "labelText">>,
33
- linterContext: $NonMaybeType<$PropertyType<ExternalProps, "linterContext">>,
34
- currentValue: string,
35
- |},
36
- |};
37
- declare type DefaultProps = {|
38
- currentValue: $PropertyType<Props, "currentValue">,
39
- size: $PropertyType<Props, "size">,
40
- rightAlign: $PropertyType<Props, "rightAlign">,
41
- apiOptions: $PropertyType<Props, "apiOptions">,
42
- coefficient: $PropertyType<Props, "coefficient">,
43
- answerForms: $PropertyType<Props, "answerForms">,
44
- labelText: $PropertyType<Props, "labelText">,
45
- linterContext: $PropertyType<Props, "linterContext">,
46
- |};
47
- declare type State = {|
48
- previousValues: $ReadOnlyArray<string>,
49
- |};
50
- declare export class NumericInput extends React.Component<Props, State> {
51
- inputRef: SimpleKeypadInput | InputWithExamples | null | void;
52
- static defaultProps: DefaultProps;
53
- static getUserInputFromProps(props: Props): UserInput;
54
- static getOneCorrectAnswerFromRubric(rubric: Rubric): string | null | void;
55
- static validate(useInput: UserInput, rubric: Rubric): PerseusScore;
56
- state: State;
57
- examples: () => $ReadOnlyArray<string>;
58
- shouldShowExamples: () => boolean;
59
- simpleValidate: (arg1: Rubric) => PerseusScore;
60
- focus: () => boolean;
61
- focusInputPath: () => void;
62
- blurInputPath: () => void;
63
- getInputPaths: () => $ReadOnlyArray<$ReadOnlyArray<string>>;
64
- getGrammarTypeForPath: (arg1: FocusPath) => string;
65
- setInputValue: (
66
- arg1: FocusPath,
67
- arg2: string,
68
- arg3?: () => mixed | null | void
69
- ) => void;
70
- getUserInput: () => UserInput;
71
- handleChange: (arg1: string, arg2?: () => mixed | null | void) => void;
72
- _handleFocus: () => void;
73
- _handleBlur: () => void;
74
- render(): React.Node;
75
- }
76
- declare export var unionAnswerForms: (
77
- arg1: $ReadOnlyArray<$ReadOnlyArray<PerseusNumericInputAnswerForm>>
78
- ) => $ReadOnlyArray<PerseusNumericInputAnswerForm>;
79
- declare export function maybeParsePercentInput(
80
- inputValue: string | number,
81
- normalizedAnswerExpected: boolean
82
- ): string | number;
83
- declare var _default: $ReadOnly<{|
84
- name: string,
85
- displayName: string,
86
- getWidget?: (() => typeof NumericInput) | void,
87
- accessible?: boolean | ((props: any) => boolean) | void,
88
- hidden?: boolean | void,
89
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
90
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
91
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
92
- getDefaultAlignment?:
93
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
94
- | void,
95
- isLintable?: boolean | void,
96
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
97
- traverseChildWidgets?: any,
98
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
99
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
100
- propUpgrades?: {
101
- [key: string]: (arg1: any) => any,
102
- } | void,
103
- widget: typeof NumericInput,
104
- |}>;
105
- declare export default typeof _default;
@@ -1,81 +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 $Flowgen$Import$_2e__2e__2f_types from "../types";
8
- import * as React from "react";
9
- import type { PerseusOrdererWidgetOptions } from "../perseus-types";
10
- import type { WidgetProps } from "../types";
11
- declare type Rubric = PerseusOrdererWidgetOptions;
12
- declare type RenderProps = {|
13
- ...PerseusOrdererWidgetOptions,
14
- ...{|
15
- current: any,
16
- |},
17
- |};
18
- export type OrdererProps = WidgetProps<RenderProps, Rubric>;
19
- declare type OrdererDefaultProps = {|
20
- current: $PropertyType<OrdererProps, "current">,
21
- options: $PropertyType<OrdererProps, "options">,
22
- correctOptions: $PropertyType<OrdererProps, "correctOptions">,
23
- height: $PropertyType<OrdererProps, "height">,
24
- layout: $PropertyType<OrdererProps, "layout">,
25
- linterContext: $PropertyType<OrdererProps, "linterContext">,
26
- |};
27
- declare type OrdererState = {|
28
- current: $ReadOnlyArray<any>,
29
- dragging: boolean,
30
- placeholderIndex: number | null | void,
31
- dragKey: string | null | void,
32
- animating: boolean,
33
- dragWidth: number | null | void,
34
- dragHeight: number | null | void,
35
- dragContent: any,
36
- offsetPos: number | null | void,
37
- grabPos: any,
38
- mousePos?: any,
39
- animateTo: {|
40
- top: number,
41
- left: number,
42
- |} | null | void,
43
- onAnimationEnd?: (arg1: any) => void,
44
- |};
45
- declare class Orderer extends React.Component<OrdererProps, OrdererState> {
46
- static defaultProps: OrdererDefaultProps;
47
- state: OrdererState;
48
- UNSAFE_componentWillReceiveProps(nextProps: OrdererProps): void;
49
- render(): React.Node;
50
- onClick: (arg1: string, arg2: number, arg3: any, arg4: Element) => void;
51
- onRelease: (arg1: any) => void;
52
- onMouseMove: (arg1: any) => void;
53
- findCorrectIndex: (arg1: any, arg2: any) => any;
54
- isCardInBank: (arg1: any) => boolean;
55
- setListValues: (arg1: $ReadOnlyArray<string>) => void;
56
- getUserInput: () => any;
57
- simpleValidate: (arg1: any) => any;
58
- }
59
- declare var _default: $ReadOnly<{|
60
- name: string,
61
- displayName: string,
62
- getWidget?: (() => typeof Orderer) | void,
63
- accessible?: boolean | ((props: any) => boolean) | void,
64
- hidden?: boolean | void,
65
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
66
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
67
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
68
- getDefaultAlignment?:
69
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
70
- | void,
71
- isLintable?: boolean | void,
72
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
73
- traverseChildWidgets?: any,
74
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
75
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
76
- propUpgrades?: {
77
- [key: string]: (arg1: any) => any,
78
- } | void,
79
- widget: typeof Orderer,
80
- |}>;
81
- declare export default typeof _default;
@@ -1,33 +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 { SingleASTNode, State } from "@khanacademy/simple-markdown";
9
- export type ParseState = {|
10
- ...State,
11
- ...{|
12
- currentRef: number[],
13
- useRefs: boolean,
14
- lastRef: number,
15
- firstSentenceRef: string | null | void,
16
- firstQuestionRef: string | null | void,
17
- lastFootnote: {|
18
- id: number,
19
- text: string,
20
- |},
21
- |},
22
- |};
23
- declare function getInitialParseState(): ParseState;
24
- declare var _default: {|
25
- parse: (arg1: string, arg2?: ParseState | null | void) => SingleASTNode[],
26
- output: (
27
- arg1: SingleASTNode[]
28
- ) => React.Element<any, string | React.JSXElementConstructor<any>>,
29
- START_REF_PREFIX: string,
30
- END_REF_PREFIX: string,
31
- getInitialParseState: typeof getInitialParseState,
32
- |};
33
- declare export default typeof _default;
@@ -1,52 +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 $Flowgen$Import$_2e__2e__2f_types from "../types";
8
- import PropTypes from "prop-types";
9
- import * as React from "react";
10
- declare class PassageRefTarget extends React.Component<any> {
11
- static propTypes: {|
12
- content: PropTypes.Requireable<string>,
13
- linterContext: PropTypes.Requireable<
14
- PropTypes.InferProps<{|
15
- contentType: PropTypes.Requireable<string>,
16
- highlightLint: PropTypes.Requireable<boolean>,
17
- paths: PropTypes.Requireable<(string | null | void)[]>,
18
- stack: PropTypes.Requireable<(string | null | void)[]>,
19
- |}>
20
- >,
21
- onChange: PropTypes.Validator<(...args: any[]) => any>,
22
- |};
23
- static defaultProps: any;
24
- static validate(state: any, rubric: any): any;
25
- getUserInput: () => any;
26
- change: (arg1: any, arg2: any, arg3: any) => any;
27
- simpleValidate: (arg1: any) => any;
28
- render(): React.Node;
29
- }
30
- declare var _default: $ReadOnly<{|
31
- name: string,
32
- displayName: string,
33
- getWidget?: (() => typeof PassageRefTarget) | void,
34
- accessible?: boolean | ((props: any) => boolean) | void,
35
- hidden?: boolean | void,
36
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
37
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
38
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
39
- getDefaultAlignment?:
40
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
41
- | void,
42
- isLintable?: boolean | void,
43
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
44
- traverseChildWidgets?: any,
45
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
46
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
47
- propUpgrades?: {
48
- [key: string]: (arg1: any) => any,
49
- } | void,
50
- widget: typeof PassageRefTarget,
51
- |}>;
52
- declare export default typeof _default;
@@ -1,85 +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 $Flowgen$Import$_2e__2e__2f_types from "../types";
8
- import * as React from "react";
9
- import type { PerseusPassageRefWidgetOptions } from "../perseus-types";
10
- import type {
11
- ChangeFn,
12
- PerseusScore,
13
- WidgetProps,
14
- LinterContextProps,
15
- } from "../types";
16
- declare type UserInput = {|
17
- ...RenderProps,
18
- ...{|
19
- static: boolean | null | void,
20
- reviewModeRubric: Rubric,
21
- linterContext: LinterContextProps,
22
- isLastUsedWidget: boolean,
23
- alignment: string | null | void,
24
- |},
25
- |};
26
- declare type RenderProps = {|
27
- passageNumber: $PropertyType<PerseusPassageRefWidgetOptions, "passageNumber">,
28
- referenceNumber: $PropertyType<
29
- PerseusPassageRefWidgetOptions,
30
- "referenceNumber"
31
- >,
32
- summaryText: $PropertyType<PerseusPassageRefWidgetOptions, "summaryText">,
33
- |};
34
- declare type Rubric = PerseusPassageRefWidgetOptions;
35
- declare type Props = WidgetProps<RenderProps, Rubric>;
36
- declare type DefaultProps = {|
37
- passageNumber: $PropertyType<Props, "passageNumber">,
38
- referenceNumber: $PropertyType<Props, "referenceNumber">,
39
- summaryText: $PropertyType<Props, "summaryText">,
40
- |};
41
- declare type State = {|
42
- lineRange: [number, number] | null | void,
43
- content: string | null | void,
44
- |};
45
- declare class PassageRef extends React.Component<Props, State> {
46
- displayName: string;
47
- _isMounted: boolean;
48
- _throttledUpdateRange: () => void;
49
- static defaultProps: DefaultProps;
50
- state: State;
51
- shouldComponentUpdate(nextProps: Props, nextState: State): boolean;
52
- getUserInput: () => UserInput;
53
- render(): React.Node;
54
- change: ChangeFn;
55
- componentDidMount(): void;
56
- componentDidUpdate(): void;
57
- componentWillUnmount(): void;
58
- _deferredUpdateRange: () => void;
59
- _updateRange: () => void;
60
- simpleValidate: (arg1: Rubric) => PerseusScore;
61
- static validate(userInput: UserInput, rubric: Rubric): PerseusScore;
62
- }
63
- declare var _default: $ReadOnly<{|
64
- name: string,
65
- displayName: string,
66
- getWidget?: (() => typeof PassageRef) | void,
67
- accessible?: boolean | ((props: any) => boolean) | void,
68
- hidden?: boolean | void,
69
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
70
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
71
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
72
- getDefaultAlignment?:
73
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
74
- | void,
75
- isLintable?: boolean | void,
76
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
77
- traverseChildWidgets?: any,
78
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
79
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
80
- propUpgrades?: {
81
- [key: string]: (arg1: any) => any,
82
- } | void,
83
- widget: typeof PassageRef,
84
- |}>;
85
- declare export default typeof _default;
@@ -1,157 +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 $Flowgen$Import$_2e__2e__2f_types from "../types";
8
- import * as React from "react";
9
- import type { SerializedHighlightSet } from "../components/highlighting/types";
10
- import type { ChangeableProps } from "../mixins/changeable";
11
- import type { PerseusPassageWidgetOptions } from "../perseus-types";
12
- import type { PerseusScore, WidgetInfo, WidgetProps } from "../types";
13
- import type { ParseState } from "./passage/passage-markdown";
14
- import type { SingleASTNode } from "@khanacademy/simple-markdown";
15
- declare export class LineHeightMeasurer
16
- extends React.Component<Record<any, any>>
17
- {
18
- _line: HTMLDivElement | null | void;
19
- measureLineHeight(): number;
20
- render(): React.Node;
21
- }
22
- declare type UserInput = null;
23
- declare type Rubric = PerseusPassageWidgetOptions;
24
- declare type RenderProps = {|
25
- passageTitle: $PropertyType<PerseusPassageWidgetOptions, "passageTitle">,
26
- passageText: $PropertyType<PerseusPassageWidgetOptions, "passageText">,
27
- footnotes: $PropertyType<PerseusPassageWidgetOptions, "footnotes">,
28
- showLineNumbers: $PropertyType<
29
- PerseusPassageWidgetOptions,
30
- "showLineNumbers"
31
- >,
32
- |};
33
- declare type FindWidgetsCallback = (
34
- id: string,
35
- widgetInfo: WidgetInfo
36
- ) => boolean;
37
- declare type PassageProps = {|
38
- ...ChangeableProps,
39
- ...WidgetProps<RenderProps, Rubric>,
40
- ...{|
41
- findWidgets: (arg1: FindWidgetsCallback) => $ReadOnlyArray<Passage>,
42
- highlights: SerializedHighlightSet,
43
- |},
44
- |};
45
- declare type DefaultPassageProps = {|
46
- passageTitle: $PropertyType<PassageProps, "passageTitle">,
47
- passageText: $PropertyType<PassageProps, "passageText">,
48
- footnotes: $PropertyType<PassageProps, "footnotes">,
49
- showLineNumbers: $PropertyType<PassageProps, "showLineNumbers">,
50
- highlights: $PropertyType<PassageProps, "highlights">,
51
- linterContext: $PropertyType<PassageProps, "linterContext">,
52
- |};
53
- declare type PassageState = {|
54
- nLines: number | null | void,
55
- startLineNumbersAfter: number,
56
- stylesAreApplied: boolean,
57
- |};
58
- export type Reference = {|
59
- startLine: number,
60
- endLine: number,
61
- content: string | null | void,
62
- |};
63
- declare export class Passage
64
- extends React.Component<PassageProps, PassageState>
65
- {
66
- _contentRef: HTMLDivElement | null | void;
67
- _lineHeightMeasurerRef: LineHeightMeasurer | null | void;
68
- _onResize: () => { [key: any]: any };
69
- _stylesAppiedTimer: number;
70
- static defaultProps: DefaultPassageProps;
71
- state: PassageState;
72
- componentDidMount(): void;
73
- shouldComponentUpdate(
74
- nextProps: PassageProps,
75
- nextState: PassageState
76
- ): any | boolean;
77
- componentDidUpdate(): void;
78
- componentWillUnmount(): void;
79
- _handleSerializedHighlightsUpdate: (
80
- serializedHighlights: SerializedHighlightSet
81
- ) => void;
82
-
83
- /**
84
- * Line numbering
85
- *
86
- * These functions support passage line numbering, which is non-trivial
87
- * because we manually measure lines to support resizing as well as
88
- * continuing line numbers from previous passages.
89
- */
90
- _updateState(): void;
91
- _measureLines(): number;
92
- _getInitialLineNumber(): number;
93
- _getLineHeight(): number;
94
- getLineCount(): number;
95
-
96
- /**
97
- * Passage refs
98
- *
99
- * These are functions to support the passage refs inter-widgets feature
100
- * where other widgets can fetch the line numbers of a reference inside of
101
- * a passage.
102
- *
103
- * todo(matthewc): The refs are created by PassageMarkdown's refStart and refEnd,
104
- * somehow bubbling up to Passage's `this.refs`. This runs against
105
- * current best practices for refs by using string refs, but also
106
- * by breaking our expectation of explicit data flow.
107
- */
108
- _getStartRefLineNumber(referenceNumber: number): number | null | void;
109
- _getEndRefLineNumber(referenceNumber: number): number | null | void;
110
- _convertPosToLineNumber(absoluteVPos: number): number;
111
- _getRefContent(referenceNumber: number): string | null | void;
112
- getReference(referenceNumber: number): Reference | null | void;
113
-
114
- /**
115
- * Misc functions
116
- *
117
- * These are misc widget functions used for the widget API
118
- */
119
- getUserInput(): UserInput;
120
- simpleValidate(rubric: Rubric): PerseusScore;
121
- static validate(state: UserInput, rubric: Rubric): PerseusScore;
122
-
123
- /**
124
- * Rendering
125
- *
126
- * Functions to render the passage widget.
127
- */
128
- _renderInstructions(parseState: ParseState): React.Element<any>;
129
- shouldRenderJipt(): boolean;
130
- _renderContent(parsed: Array<SingleASTNode>): React.Element<any>;
131
- _hasFootnotes(): boolean;
132
- _renderFootnotes(): React.Node;
133
- render(): React.Node;
134
- }
135
- declare var _default: $ReadOnly<{|
136
- name: string,
137
- displayName: string,
138
- getWidget?: (() => typeof Passage) | void,
139
- accessible?: boolean | ((props: any) => boolean) | void,
140
- hidden?: boolean | void,
141
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
142
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
143
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
144
- getDefaultAlignment?:
145
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
146
- | void,
147
- isLintable?: boolean | void,
148
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
149
- traverseChildWidgets?: any,
150
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
151
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
152
- propUpgrades?: {
153
- [key: string]: (arg1: any) => any,
154
- } | void,
155
- widget: typeof Passage,
156
- |}>;
157
- declare export default typeof _default;