@khanacademy/perseus 7.2.1 → 9.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 (390) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/article-renderer.d.ts +27 -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/dependencies.d.ts +7 -1
  7. package/dist/es/index.js +1205 -1218
  8. package/dist/es/index.js.map +1 -1
  9. package/dist/hints-renderer.d.ts +1 -1
  10. package/dist/index.js +1207 -1221
  11. package/dist/index.js.map +1 -1
  12. package/dist/interaction-tracker.d.ts +3 -3
  13. package/dist/item-renderer.d.ts +2 -1
  14. package/dist/mixins/provide-keypad.d.ts +15 -12
  15. package/dist/multi-items/multi-renderer.d.ts +2 -1
  16. package/dist/perseus-api.d.ts +2 -2
  17. package/dist/renderer.d.ts +1 -1
  18. package/dist/server-item-renderer.d.ts +3 -1
  19. package/dist/types.d.ts +32 -11
  20. package/dist/widgets/expression.d.ts +410 -13
  21. package/dist/widgets/graded-group.d.ts +3 -3
  22. package/dist/widgets/interactive-graph.d.ts +1 -1
  23. package/dist/widgets/sequence.d.ts +3 -3
  24. package/dist/widgets/table.d.ts +8 -1
  25. package/dist/widgets.d.ts +1 -1
  26. package/package.json +34 -34
  27. package/src/__stories__/article-renderer.stories.tsx +35 -2
  28. package/src/__testdata__/article-renderer.testdata.ts +74 -1
  29. package/src/__testdata__/item-renderer.testdata.ts +1 -1
  30. package/src/__testdata__/renderer.testdata.ts +1 -1
  31. package/src/__tests__/item-renderer.test.tsx +13 -2
  32. package/src/__tests__/mock-asset-loading-widget.tsx +1 -1
  33. package/src/__tests__/perseus-markdown.test.ts +17 -17
  34. package/src/__tests__/renderer-api.test.tsx +21 -21
  35. package/src/__tests__/renderer.test.tsx +13 -13
  36. package/src/__tests__/server-item-renderer.test.tsx +12 -4
  37. package/src/__tests__/tex-wrangler.test.ts +1 -1
  38. package/src/article-renderer.tsx +75 -66
  39. package/src/components/__tests__/number-input.test.tsx +4 -4
  40. package/src/components/__tests__/sortable.test.tsx +2 -2
  41. package/src/components/fixed-to-responsive.tsx +1 -1
  42. package/src/components/graph.tsx +11 -11
  43. package/src/components/graphie-classes.ts +7 -7
  44. package/src/components/graphie.tsx +14 -14
  45. package/src/components/highlighting/highlightable-content.tsx +1 -1
  46. package/src/components/highlighting/ui/highlight-renderer.tsx +1 -1
  47. package/src/components/highlighting/ui/util.ts +2 -2
  48. package/src/components/highlighting/word-indexer.tsx +4 -4
  49. package/src/components/icon.tsx +1 -1
  50. package/src/components/image-loader.tsx +4 -4
  51. package/src/components/input-with-examples.tsx +2 -2
  52. package/src/components/lint.tsx +1 -1
  53. package/src/components/math-input.tsx +5 -5
  54. package/src/components/math-output.tsx +1 -1
  55. package/src/components/multi-button-group.tsx +1 -1
  56. package/src/components/number-input.tsx +10 -10
  57. package/src/components/prop-check-box.tsx +1 -1
  58. package/src/components/simple-keypad-input.tsx +4 -4
  59. package/src/components/sortable.tsx +42 -41
  60. package/src/components/svg-image.tsx +12 -12
  61. package/src/components/tex-buttons.tsx +4 -3
  62. package/src/components/text-input.tsx +8 -8
  63. package/src/components/text-list-editor.tsx +11 -11
  64. package/src/components/visibility-observer/create-visibility-observer.ts +1 -1
  65. package/src/components/visibility-observer/visibility-observer.tsx +2 -2
  66. package/src/components/zoomable-tex.tsx +3 -3
  67. package/src/components/zoomable.tsx +8 -8
  68. package/src/dependencies.ts +16 -1
  69. package/src/hint-renderer.tsx +3 -3
  70. package/src/hints-renderer.tsx +11 -11
  71. package/src/init.ts +1 -1
  72. package/src/interaction-tracker.ts +7 -7
  73. package/src/interactive2/__tests__/movable-point.test.ts +1 -1
  74. package/src/interactive2/interactive-util.ts +6 -6
  75. package/src/interactive2/movable-helper-methods.ts +2 -2
  76. package/src/interactive2/movable-line-options.ts +37 -37
  77. package/src/interactive2/movable-line.ts +2 -2
  78. package/src/interactive2/movable-point-options.ts +29 -29
  79. package/src/interactive2/movable-point.tsx +2 -2
  80. package/src/interactive2/movable-polygon-options.ts +45 -45
  81. package/src/interactive2/movable-polygon.ts +2 -2
  82. package/src/interactive2/movable.ts +2 -2
  83. package/src/interactive2/objective_.ts +1 -1
  84. package/src/interactive2/wrapped-defaults.ts +2 -2
  85. package/src/interactive2/wrapped-ellipse.ts +9 -9
  86. package/src/interactive2/wrapped-line.ts +8 -8
  87. package/src/interactive2/wrapped-path.ts +5 -5
  88. package/src/item-renderer.tsx +66 -48
  89. package/src/mixins/changeable.ts +2 -2
  90. package/src/mixins/editor-jsonify.ts +1 -1
  91. package/src/mixins/provide-keypad.tsx +23 -37
  92. package/src/mixins/widget-jsonify-deprecated.ts +1 -1
  93. package/src/multi-items/__tests__/items.test.ts +1 -1
  94. package/src/multi-items/__tests__/multi-renderer.test.tsx +13 -8
  95. package/src/multi-items/__tests__/trees.test.ts +12 -12
  96. package/src/multi-items/item-types.ts +2 -2
  97. package/src/multi-items/items.ts +1 -1
  98. package/src/multi-items/multi-renderer.tsx +30 -18
  99. package/src/multi-items/prop-type-builders.ts +2 -2
  100. package/src/multi-items/tree-types.ts +4 -4
  101. package/src/multi-items/trees.ts +16 -16
  102. package/src/perseus-env.ts +2 -2
  103. package/src/perseus-markdown.tsx +5 -5
  104. package/src/renderer.tsx +39 -39
  105. package/src/server-item-renderer.tsx +26 -21
  106. package/src/sigfigs.ts +1 -1
  107. package/src/traversal.ts +1 -1
  108. package/src/types.ts +52 -16
  109. package/src/util/answer-types.ts +14 -14
  110. package/src/util/geometry.ts +7 -7
  111. package/src/util/graphie.ts +32 -32
  112. package/src/util/interactive.ts +118 -118
  113. package/src/util/math.ts +4 -4
  114. package/src/util/react-render.tsx +1 -1
  115. package/src/util/scroll-utils.ts +2 -2
  116. package/src/util/tex.ts +3 -3
  117. package/src/util.ts +15 -15
  118. package/src/widget-container.tsx +1 -1
  119. package/src/widgets/__stories__/definition.stories.tsx +8 -1
  120. package/src/widgets/__stories__/expression.stories.tsx +2 -2
  121. package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +3 -3
  122. package/src/widgets/__testdata__/numeric-input.testdata.ts +1 -1
  123. package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +2 -2
  124. package/src/widgets/__tests__/{expression.test.ts → expression.test.tsx} +77 -11
  125. package/src/widgets/__tests__/grapher.cypress.ts +32 -32
  126. package/src/widgets/__tests__/group.test.tsx +1 -1
  127. package/src/widgets/__tests__/interactive-graph.cypress.ts +40 -40
  128. package/src/widgets/__tests__/interactive-graph.test.ts +1 -1
  129. package/src/widgets/__tests__/numeric-input.test.ts +1 -1
  130. package/src/widgets/__tests__/passage.test.tsx +2 -2
  131. package/src/widgets/__tests__/plotter.test.tsx +2 -1
  132. package/src/widgets/__tests__/radio/base-radio.test.tsx +7 -7
  133. package/src/widgets/__tests__/renderQuestion.tsx +29 -21
  134. package/src/widgets/categorizer.tsx +4 -4
  135. package/src/widgets/cs-program.tsx +2 -2
  136. package/src/widgets/dropdown.tsx +1 -1
  137. package/src/widgets/expression.tsx +92 -57
  138. package/src/widgets/graded-group-set.tsx +5 -5
  139. package/src/widgets/graded-group.tsx +29 -21
  140. package/src/widgets/grapher/util.tsx +6 -6
  141. package/src/widgets/grapher.tsx +10 -10
  142. package/src/widgets/group.tsx +3 -3
  143. package/src/widgets/iframe.tsx +2 -2
  144. package/src/widgets/image.tsx +1 -1
  145. package/src/widgets/input-number.tsx +4 -4
  146. package/src/widgets/interaction.tsx +77 -77
  147. package/src/widgets/interactive-graph.tsx +109 -107
  148. package/src/widgets/label-image/marker.tsx +2 -2
  149. package/src/widgets/label-image.test.ts +1 -1
  150. package/src/widgets/label-image.tsx +7 -7
  151. package/src/widgets/lights-puzzle.tsx +2 -2
  152. package/src/widgets/matcher.tsx +6 -6
  153. package/src/widgets/matrix.tsx +20 -20
  154. package/src/widgets/measurer.tsx +3 -3
  155. package/src/widgets/molecule/__tests__/layout.test.ts +4 -4
  156. package/src/widgets/molecule/__tests__/parser.test.ts +14 -14
  157. package/src/widgets/molecule/smiles-parser.ts +3 -3
  158. package/src/widgets/molecule.tsx +4 -4
  159. package/src/widgets/number-line.tsx +11 -11
  160. package/src/widgets/numeric-input.tsx +11 -11
  161. package/src/widgets/orderer.tsx +38 -38
  162. package/src/widgets/passage/__tests__/passage-markdown.test.ts +1 -1
  163. package/src/widgets/passage/passage-markdown.tsx +4 -4
  164. package/src/widgets/passage-ref-target.tsx +1 -1
  165. package/src/widgets/passage-ref.tsx +4 -6
  166. package/src/widgets/passage.tsx +11 -11
  167. package/src/widgets/plotter.tsx +9 -9
  168. package/src/widgets/radio/base-radio.tsx +11 -11
  169. package/src/widgets/radio/choice-icon/choice-icon.tsx +2 -2
  170. package/src/widgets/radio/choice.tsx +1 -1
  171. package/src/widgets/radio/option-status.tsx +1 -1
  172. package/src/widgets/radio/widget.tsx +6 -6
  173. package/src/widgets/radio.ts +1 -1
  174. package/src/widgets/reaction-diagram.tsx +8 -8
  175. package/src/widgets/sequence.tsx +12 -4
  176. package/src/widgets/simulator.tsx +14 -14
  177. package/src/widgets/sorter.tsx +4 -4
  178. package/src/widgets/table.tsx +8 -8
  179. package/src/widgets/transformer.tsx +92 -92
  180. package/src/widgets/unit.tsx +17 -17
  181. package/src/widgets/video-transcript-link.test.tsx +3 -3
  182. package/src/widgets/video-transcript-link.tsx +1 -1
  183. package/src/widgets/video.tsx +1 -1
  184. package/src/widgets.ts +5 -5
  185. package/src/zoom.ts +22 -22
  186. package/tsconfig-build.tsbuildinfo +1 -1
  187. package/dist/a11y.js.flow +0 -11
  188. package/dist/all-widgets.js.flow +0 -33
  189. package/dist/article-renderer.js.flow +0 -73
  190. package/dist/asset-context.js.flow +0 -15
  191. package/dist/basic-widgets.js.flow +0 -33
  192. package/dist/components/button-group.js.flow +0 -33
  193. package/dist/components/constants.js.flow +0 -13
  194. package/dist/components/fixed-to-responsive.js.flow +0 -34
  195. package/dist/components/graph.js.flow +0 -66
  196. package/dist/components/graphie-classes.js.flow +0 -19
  197. package/dist/components/graphie-movables.js.flow +0 -22
  198. package/dist/components/graphie.js.flow +0 -69
  199. package/dist/components/highlighting/highlightable-content.js.flow +0 -56
  200. package/dist/components/highlighting/highlights.js.flow +0 -54
  201. package/dist/components/highlighting/ranges.js.flow +0 -60
  202. package/dist/components/highlighting/types.js.flow +0 -70
  203. package/dist/components/highlighting/ui/highlight-renderer.js.flow +0 -43
  204. package/dist/components/highlighting/ui/highlight-set-renderer.js.flow +0 -41
  205. package/dist/components/highlighting/ui/highlight-tooltip.js.flow +0 -22
  206. package/dist/components/highlighting/ui/highlighting-ui.js.flow +0 -30
  207. package/dist/components/highlighting/ui/selection-tracker.js.flow +0 -54
  208. package/dist/components/highlighting/ui/types.js.flow +0 -22
  209. package/dist/components/highlighting/ui/util.js.flow +0 -42
  210. package/dist/components/highlighting/word-indexer.js.flow +0 -21
  211. package/dist/components/hud.js.flow +0 -14
  212. package/dist/components/icon.js.flow +0 -31
  213. package/dist/components/image-loader.js.flow +0 -49
  214. package/dist/components/info-tip/info-tip.js.flow +0 -20
  215. package/dist/components/info-tip.js.flow +0 -18
  216. package/dist/components/inline-icon.js.flow +0 -39
  217. package/dist/components/input-with-examples.js.flow +0 -58
  218. package/dist/components/lint.js.flow +0 -58
  219. package/dist/components/math-input.js.flow +0 -49
  220. package/dist/components/math-output.js.flow +0 -33
  221. package/dist/components/multi-button-group.js.flow +0 -35
  222. package/dist/components/number-input.js.flow +0 -42
  223. package/dist/components/prop-check-box.js.flow +0 -8
  224. package/dist/components/range-input.js.flow +0 -20
  225. package/dist/components/simple-keypad-input.js.flow +0 -16
  226. package/dist/components/sortable.js.flow +0 -91
  227. package/dist/components/stub-tag-editor.js.flow +0 -18
  228. package/dist/components/svg-image.js.flow +0 -85
  229. package/dist/components/tex-buttons.js.flow +0 -26
  230. package/dist/components/tex.js.flow +0 -25
  231. package/dist/components/text-input.js.flow +0 -39
  232. package/dist/components/text-list-editor.js.flow +0 -22
  233. package/dist/components/tooltip.js.flow +0 -51
  234. package/dist/components/visibility-observer/create-visibility-observer.js.flow +0 -23
  235. package/dist/components/visibility-observer/get-scroll-parent.js.flow +0 -7
  236. package/dist/components/visibility-observer/visibility-observer.js.flow +0 -36
  237. package/dist/components/zoomable-tex.js.flow +0 -18
  238. package/dist/components/zoomable.js.flow +0 -70
  239. package/dist/components.js.flow +0 -22
  240. package/dist/definition-context.js.flow +0 -25
  241. package/dist/dependencies.js.flow +0 -9
  242. package/dist/error-boundary.js.flow +0 -19
  243. package/dist/extra-widgets.js.flow +0 -33
  244. package/dist/hint-renderer.js.flow +0 -32
  245. package/dist/hints-renderer.js.flow +0 -41
  246. package/dist/icon-paths.js.flow +0 -123
  247. package/dist/index.js.flow +0 -134
  248. package/dist/init.js.flow +0 -20
  249. package/dist/interaction-tracker.js.flow +0 -35
  250. package/dist/interactive2/interactive-util.js.flow +0 -50
  251. package/dist/interactive2/movable-helper-methods.js.flow +0 -15
  252. package/dist/interactive2/movable-line-options.js.flow +0 -44
  253. package/dist/interactive2/movable-line.js.flow +0 -8
  254. package/dist/interactive2/movable-point-options.js.flow +0 -44
  255. package/dist/interactive2/movable-point.js.flow +0 -8
  256. package/dist/interactive2/movable-polygon-options.js.flow +0 -47
  257. package/dist/interactive2/movable-polygon.js.flow +0 -8
  258. package/dist/interactive2/movable.js.flow +0 -8
  259. package/dist/interactive2/objective_.js.flow +0 -25
  260. package/dist/interactive2/types.js.flow +0 -8
  261. package/dist/interactive2/wrapped-defaults.js.flow +0 -11
  262. package/dist/interactive2/wrapped-ellipse.js.flow +0 -14
  263. package/dist/interactive2/wrapped-line.js.flow +0 -14
  264. package/dist/interactive2/wrapped-path.js.flow +0 -13
  265. package/dist/interactive2.js.flow +0 -16
  266. package/dist/item-renderer.js.flow +0 -132
  267. package/dist/item-version.js.flow +0 -11
  268. package/dist/jipt-paragraphs.js.flow +0 -14
  269. package/dist/loading-context.js.flow +0 -12
  270. package/dist/logging/log.js.flow +0 -62
  271. package/dist/mixins/changeable.js.flow +0 -33
  272. package/dist/mixins/editor-jsonify.js.flow +0 -10
  273. package/dist/mixins/provide-keypad.js.flow +0 -33
  274. package/dist/mixins/widget-jsonify-deprecated.js.flow +0 -11
  275. package/dist/mixins/widget-prop-denylist.js.flow +0 -20
  276. package/dist/multi-items/item-types.js.flow +0 -55
  277. package/dist/multi-items/items.js.flow +0 -66
  278. package/dist/multi-items/multi-renderer.js.flow +0 -213
  279. package/dist/multi-items/prop-type-builders.js.flow +0 -22
  280. package/dist/multi-items/shape-types.js.flow +0 -60
  281. package/dist/multi-items/shapes.js.flow +0 -25
  282. package/dist/multi-items/tree-types.js.flow +0 -45
  283. package/dist/multi-items/trees.js.flow +0 -147
  284. package/dist/multi-items.js.flow +0 -36
  285. package/dist/perseus-api.js.flow +0 -151
  286. package/dist/perseus-env.js.flow +0 -6
  287. package/dist/perseus-error.js.flow +0 -16
  288. package/dist/perseus-markdown.js.flow +0 -20
  289. package/dist/perseus-types.js.flow +0 -1041
  290. package/dist/question-paragraph.js.flow +0 -17
  291. package/dist/renderability.js.flow +0 -19
  292. package/dist/renderer.js.flow +0 -325
  293. package/dist/server-item-renderer.js.flow +0 -132
  294. package/dist/sigfigs.js.flow +0 -41
  295. package/dist/styles/constants.js.flow +0 -62
  296. package/dist/styles/global-constants.js.flow +0 -348
  297. package/dist/styles/global-styles.js.flow +0 -53
  298. package/dist/styles/media-queries.js.flow +0 -35
  299. package/dist/styles/shared.js.flow +0 -8
  300. package/dist/tex-wrangler.js.flow +0 -13
  301. package/dist/translation-linter.js.flow +0 -32
  302. package/dist/traversal.js.flow +0 -26
  303. package/dist/types.js.flow +0 -318
  304. package/dist/util/a11y.js.flow +0 -8
  305. package/dist/util/answer-types.js.flow +0 -49
  306. package/dist/util/colors.js.flow +0 -95
  307. package/dist/util/fix-passage-refs.js.flow +0 -8
  308. package/dist/util/geometry.js.flow +0 -37
  309. package/dist/util/graph-utils.js.flow +0 -9
  310. package/dist/util/graphie.js.flow +0 -8
  311. package/dist/util/interactive.js.flow +0 -11
  312. package/dist/util/katex-preprocess.js.flow +0 -12
  313. package/dist/util/math.js.flow +0 -62
  314. package/dist/util/mobile-native-utils.js.flow +0 -12
  315. package/dist/util/react-render.js.flow +0 -12
  316. package/dist/util/register-all-widgets-for-testing.js.flow +0 -7
  317. package/dist/util/scroll-utils.js.flow +0 -19
  318. package/dist/util/sizing-utils.js.flow +0 -20
  319. package/dist/util/tex.js.flow +0 -17
  320. package/dist/util/url-utils.js.flow +0 -11
  321. package/dist/util.graphie.js.flow +0 -14
  322. package/dist/util.js.flow +0 -319
  323. package/dist/version.js.flow +0 -17
  324. package/dist/widget-container.js.flow +0 -33
  325. package/dist/widgets/categorizer.js.flow +0 -70
  326. package/dist/widgets/cs-program.js.flow +0 -54
  327. package/dist/widgets/definition.js.flow +0 -57
  328. package/dist/widgets/dropdown.js.flow +0 -63
  329. package/dist/widgets/explanation.js.flow +0 -58
  330. package/dist/widgets/expression.js.flow +0 -116
  331. package/dist/widgets/graded-group-answer-bar.js.flow +0 -24
  332. package/dist/widgets/graded-group-set.js.flow +0 -65
  333. package/dist/widgets/graded-group.js.flow +0 -78
  334. package/dist/widgets/grapher/util.js.flow +0 -38
  335. package/dist/widgets/grapher.js.flow +0 -102
  336. package/dist/widgets/group.js.flow +0 -60
  337. package/dist/widgets/iframe.js.flow +0 -53
  338. package/dist/widgets/image.js.flow +0 -73
  339. package/dist/widgets/input-number.js.flow +0 -94
  340. package/dist/widgets/interaction/arrow-picker.js.flow +0 -21
  341. package/dist/widgets/interaction/color-picker.js.flow +0 -23
  342. package/dist/widgets/interaction/dash-picker.js.flow +0 -21
  343. package/dist/widgets/interaction/element-container.js.flow +0 -28
  344. package/dist/widgets/interaction.js.flow +0 -60
  345. package/dist/widgets/interactive-graph.js.flow +0 -239
  346. package/dist/widgets/label-image/answer-choices.js.flow +0 -55
  347. package/dist/widgets/label-image/marker.js.flow +0 -31
  348. package/dist/widgets/label-image/types.js.flow +0 -23
  349. package/dist/widgets/label-image.js.flow +0 -142
  350. package/dist/widgets/lights-puzzle.js.flow +0 -58
  351. package/dist/widgets/matcher.js.flow +0 -106
  352. package/dist/widgets/matrix.js.flow +0 -80
  353. package/dist/widgets/measurer.js.flow +0 -30
  354. package/dist/widgets/molecule/molecule-drawing.js.flow +0 -11
  355. package/dist/widgets/molecule/molecule-layout.js.flow +0 -96
  356. package/dist/widgets/molecule/smiles-parser.js.flow +0 -26
  357. package/dist/widgets/molecule.js.flow +0 -60
  358. package/dist/widgets/number-line.js.flow +0 -102
  359. package/dist/widgets/numeric-input.js.flow +0 -105
  360. package/dist/widgets/orderer.js.flow +0 -81
  361. package/dist/widgets/passage/passage-markdown.js.flow +0 -33
  362. package/dist/widgets/passage-ref-target.js.flow +0 -52
  363. package/dist/widgets/passage-ref.js.flow +0 -85
  364. package/dist/widgets/passage.js.flow +0 -157
  365. package/dist/widgets/plotter.js.flow +0 -112
  366. package/dist/widgets/radio/base-radio.js.flow +0 -50
  367. package/dist/widgets/radio/choice-a11y-text.js.flow +0 -14
  368. package/dist/widgets/radio/choice-icon/choice-icon.js.flow +0 -22
  369. package/dist/widgets/radio/choice-icon/cross-out-line.js.flow +0 -16
  370. package/dist/widgets/radio/choice-icon/shared-styles.js.flow +0 -11
  371. package/dist/widgets/radio/choice-none-above.js.flow +0 -16
  372. package/dist/widgets/radio/choice.js.flow +0 -29
  373. package/dist/widgets/radio/choice.jsx.fixture.js.flow +0 -7
  374. package/dist/widgets/radio/focus-ring.js.flow +0 -22
  375. package/dist/widgets/radio/option-status.js.flow +0 -16
  376. package/dist/widgets/radio/util.js.flow +0 -12
  377. package/dist/widgets/radio/widget.js.flow +0 -80
  378. package/dist/widgets/radio.js.flow +0 -31
  379. package/dist/widgets/reaction-diagram.js.flow +0 -46
  380. package/dist/widgets/sequence.js.flow +0 -53
  381. package/dist/widgets/simulator.js.flow +0 -107
  382. package/dist/widgets/sorter.js.flow +0 -102
  383. package/dist/widgets/table.js.flow +0 -67
  384. package/dist/widgets/transformer.js.flow +0 -127
  385. package/dist/widgets/unit.js.flow +0 -93
  386. package/dist/widgets/video-transcript-link.js.flow +0 -15
  387. package/dist/widgets/video.js.flow +0 -57
  388. package/dist/widgets.js.flow +0 -108
  389. package/dist/zoom.js.flow +0 -7
  390. 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;