@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
@@ -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;