@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 PropTypes from "prop-types";
9
- import * as React from "react";
10
- import type { SortableOption } from "../components/sortable";
11
- declare class Sorter extends React.Component<any, any> {
12
- _isMounted: boolean;
13
- static propTypes: {|
14
- apiOptions: PropTypes.Validator<
15
- $NonMaybeType<
16
- PropTypes.InferProps<{|
17
- isArticle: PropTypes.Validator<boolean>,
18
- onInputError: PropTypes.Validator<(...args: any[]) => any>,
19
- onFocusChange: PropTypes.Validator<(...args: any[]) => any>,
20
- GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>,
21
- showAlignmentOptions: PropTypes.Validator<boolean>,
22
- readOnly: PropTypes.Validator<boolean>,
23
- answerableCallback: PropTypes.Requireable<(...args: any[]) => any>,
24
- getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>,
25
- interactionCallback: PropTypes.Requireable<(...args: any[]) => any>,
26
- groupAnnotator: PropTypes.Validator<(...args: any[]) => any>,
27
- imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>,
28
- widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>,
29
- baseElements: PropTypes.Requireable<
30
- PropTypes.InferProps<{|
31
- Link: PropTypes.Requireable<(...args: any[]) => any>,
32
- |}>
33
- >,
34
- imagePreloader: PropTypes.Requireable<(...args: any[]) => any>,
35
- trackInteraction: PropTypes.Requireable<(...args: any[]) => any>,
36
- customKeypad: PropTypes.Requireable<boolean>,
37
- nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>,
38
- isMobile: PropTypes.Requireable<boolean>,
39
- useV2Keypad: PropTypes.Requireable<boolean>,
40
- setDrawingAreaAvailable: PropTypes.Requireable<
41
- (...args: any[]) => any
42
- >,
43
- useDraftEditor: PropTypes.Requireable<boolean>,
44
- hintProgressColor: PropTypes.Requireable<string>,
45
- canScrollPage: PropTypes.Requireable<boolean>,
46
- inModal: PropTypes.Requireable<boolean>,
47
- crossOutEnabled: PropTypes.Requireable<boolean>,
48
- editorChangeDelay: PropTypes.Requireable<number>,
49
- |}>
50
- >
51
- >,
52
- correct: PropTypes.Requireable<any[]>,
53
- layout: PropTypes.Requireable<string>,
54
- onChange: PropTypes.Requireable<(...args: any[]) => any>,
55
- padding: PropTypes.Requireable<boolean>,
56
- problemNum: PropTypes.Requireable<number>,
57
- trackInteraction: PropTypes.Validator<(...args: any[]) => any>,
58
- linterContext: PropTypes.Requireable<
59
- PropTypes.InferProps<{|
60
- contentType: PropTypes.Requireable<string>,
61
- highlightLint: PropTypes.Requireable<boolean>,
62
- paths: PropTypes.Requireable<(string | null | void)[]>,
63
- stack: PropTypes.Requireable<(string | null | void)[]>,
64
- |}>
65
- >,
66
- |};
67
- static defaultProps: any;
68
- static validate(state: any, rubric: any): any;
69
- state: any;
70
- componentDidMount(): void;
71
- componentWillUnmount(): void;
72
- handleChange: (arg1: SyntheticInputEvent<HTMLInputElement>) => void;
73
- getUserInput: () => {|
74
- options: any,
75
- |};
76
- moveOptionToIndex: (option: SortableOption, index: number) => void;
77
- simpleValidate: (arg1: any) => any;
78
- render(): React.Node;
79
- }
80
- declare var _default: $ReadOnly<{|
81
- name: string,
82
- displayName: string,
83
- getWidget?: (() => typeof Sorter) | 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 Sorter,
101
- |}>;
102
- declare export default typeof _default;
@@ -1,67 +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 Table extends React.Component<any> {
11
- static propTypes: {|
12
- answers: PropTypes.Requireable<((string | null | void)[] | null | void)[]>,
13
- editableHeaders: PropTypes.Requireable<boolean>,
14
- Editor: PropTypes.Requireable<(...args: any[]) => any>,
15
- headers: PropTypes.Requireable<(string | null | void)[]>,
16
- keypadElement: any,
17
- trackInteraction: PropTypes.Validator<(...args: any[]) => any>,
18
- linterContext: PropTypes.Requireable<
19
- PropTypes.InferProps<{|
20
- contentType: PropTypes.Requireable<string>,
21
- highlightLint: PropTypes.Requireable<boolean>,
22
- paths: PropTypes.Requireable<(string | null | void)[]>,
23
- stack: PropTypes.Requireable<(string | null | void)[]>,
24
- |}>
25
- >,
26
- |};
27
- static defaultProps: any;
28
- _getRows: () => number;
29
- _getColumns: () => number;
30
- render(): React.Node;
31
- getUserInput: () => any;
32
- onValueChange: (arg1: any, arg2: any, arg3: any) => void;
33
- onHeaderChange: (arg1: number, arg2: any) => void;
34
- simpleValidate: (arg1: any) => any;
35
- _handleFocus: (arg1: any) => void;
36
- _handleBlur: (arg1: any) => void;
37
- focus: () => boolean;
38
- focusInputPath: (arg1: any) => void;
39
- blurInputPath: (arg1: any) => void;
40
- getDOMNodeForPath: (arg1: any) => Text | Element | null | void;
41
- getInputPaths: () => $ReadOnlyArray<$ReadOnlyArray<string>>;
42
- getGrammarTypeForPath: (arg1: any) => string;
43
- setInputValue: (arg1: any, arg2: any, arg3: any) => void;
44
- }
45
- declare var _default: $ReadOnly<{|
46
- name: string,
47
- displayName: string,
48
- getWidget?: (() => typeof Table) | void,
49
- accessible?: boolean | ((props: any) => boolean) | void,
50
- hidden?: boolean | void,
51
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
52
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
53
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
54
- getDefaultAlignment?:
55
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
56
- | void,
57
- isLintable?: boolean | void,
58
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
59
- traverseChildWidgets?: any,
60
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
61
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
62
- propUpgrades?: {
63
- [key: string]: (arg1: any) => any,
64
- } | void,
65
- widget: typeof Table,
66
- |}>;
67
- declare export default typeof _default;
@@ -1,127 +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 { Coord } from "../interactive2/types";
10
- import type {
11
- PerseusTransformerWidgetOptions,
12
- PerseusTransformerTransformation as TransformerTransformation,
13
- } from "../perseus-types";
14
- import type { Path, PerseusScore, WidgetProps } from "../types";
15
- declare type Graphie = any;
16
- declare type Tool = any;
17
- declare type ToolCleanup = any;
18
- declare type Rubric = PerseusTransformerWidgetOptions;
19
- declare type RenderProps = PerseusTransformerWidgetOptions;
20
- declare type UserInput = any;
21
- declare type Props = {|
22
- ...WidgetProps<RenderProps, Rubric>,
23
- ...{|
24
- transformations: $ReadOnlyArray<TransformerTransformation>,
25
- keypadElement: any,
26
- |},
27
- |};
28
- declare class Transformer extends React.Component<Props> {
29
- tools: {
30
- [key: string]: Tool,
31
- };
32
- currentTool: Tool | null | void;
33
- transformations: $ReadOnlyArray<TransformerTransformation>;
34
- shape: any | null | void;
35
- dilationCircle: any | null | void;
36
- rotatePoint: any | null | void;
37
- rotateHandle: any | null | void;
38
- static defaultProps: any;
39
- render(): React.Node;
40
- componentDidMount(): void;
41
- componentDidUpdate(prevProps: Props): void;
42
- shouldSetupGraphie: (arg1: Props, arg2: Props) => boolean;
43
- graphie: () => Graphie;
44
- setupGraphie: (arg1: Graphie) => void;
45
- setTransformations: (arg1: $ReadOnlyArray<TransformerTransformation>) => void;
46
- addTransformerShape: (arg1: any, arg2: boolean) => void;
47
- addTool: (arg1: $PropertyType<TransformerTransformation, "type">) => void;
48
- removeTool: (arg1: string) => void;
49
- addTranslationTool: () => any;
50
- snapCoord: (arg1: Coord) => Coord;
51
- normalizeReflectionCoords: (arg1: [Coord, Coord]) => [Coord, Coord];
52
- addReflectionTool: () => ToolCleanup;
53
- scaleToCurrentRange: (arg1: number) => number;
54
- addRotationTool: () => ToolCleanup;
55
- addDilationTool: () => ToolCleanup;
56
- getRotationTransformFromAngle: (
57
- arg1: Coord,
58
- arg2: number
59
- ) => TransformerTransformation;
60
- doTransform: (
61
- arg1: TransformerTransformation,
62
- arg2?: (arg1: any) => mixed | null | void
63
- ) => void;
64
- applyTransform: (arg1: TransformerTransformation) => void;
65
- applyCoordTransformation: (arg1: TransformerTransformation) => void;
66
- resetCoords: () => void;
67
- handleUndoClick: () => void;
68
- setTransformationProps: (
69
- arg1: $ReadOnlyArray<TransformerTransformation>,
70
- arg2: (arg1: any) => mixed
71
- ) => void;
72
- addTransform: (
73
- arg1: TransformerTransformation,
74
- arg2?: (arg1: any) => mixed | null | void
75
- ) => void;
76
- changeTool: (arg1: Tool, arg2: any) => void;
77
- simpleValidate: (arg1: Rubric) => PerseusScore;
78
-
79
- /**
80
- * Calculate where the coordinates would be if they were
81
- * moved, even if we're in formal mode with no movement
82
- * (and thus the actual movablepoints may not have moved
83
- */
84
- getCoords: () => Coord;
85
- getEditorJSON: () => any;
86
- getUserInput: UserInput;
87
- _handleFocus: (...rest: $ReadOnlyArray<string>) => void;
88
- _handleBlur: (...rest: $ReadOnlyArray<string>) => void;
89
- _getTransformationForID: (arg1: string) => any;
90
- getInputPaths: () => $ReadOnlyArray<Path>;
91
- _passToInner: (
92
- arg1: string,
93
- arg2: $ReadOnlyArray<string>,
94
- arg3?: any | null | void,
95
- arg4?: (arg1: any) => mixed | null | void
96
- ) => any;
97
- focus: () => boolean;
98
- focusInputPath: (arg1: Path) => boolean;
99
- blurInputPath: (arg1: Path) => boolean;
100
- setInputValue: (arg1: Path, arg2: any, arg3: (arg1: any) => mixed) => any;
101
- getDOMNodeForPath: (arg1: Path) => any;
102
- getGrammarTypeForPath: (arg1: Path) => any;
103
- static validate(guess: UserInput, rubric: Rubric): PerseusScore;
104
- }
105
- declare var _default: $ReadOnly<{|
106
- name: string,
107
- displayName: string,
108
- getWidget?: (() => typeof Transformer) | void,
109
- accessible?: boolean | ((props: any) => boolean) | void,
110
- hidden?: boolean | void,
111
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
112
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
113
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
114
- getDefaultAlignment?:
115
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
116
- | void,
117
- isLintable?: boolean | void,
118
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
119
- traverseChildWidgets?: any,
120
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
121
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
122
- propUpgrades?: {
123
- [key: string]: (arg1: any) => any,
124
- } | void,
125
- widget: typeof Transformer,
126
- |}>;
127
- declare export default typeof _default;
@@ -1,93 +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 { APIOptions, ChangeHandler, FocusPath } from "../types";
10
- declare export var countSigfigs: (value: string) => number;
11
- declare export var sigfigPrint: (num: number, sigfigs: number) => string;
12
- declare type Rubric =
13
- | {|
14
- value: string,
15
- sigfigs: number,
16
- accepting: "all",
17
- |}
18
- | {|
19
- value: string,
20
- sigfigs: number,
21
- accepting: "some",
22
- acceptingUnits: $ReadOnlyArray<string>,
23
- |};
24
- declare type ValidationResult =
25
- | {|
26
- type: "points",
27
- earned: 1 | 0,
28
- message: string | null | void,
29
- total: number,
30
- |}
31
- | {|
32
- type: "invalid",
33
- message: string | null | void,
34
- |};
35
- declare type Props = {|
36
- apiOptions: APIOptions,
37
- onChange: ChangeHandler,
38
- value: string,
39
- onBlur: (arg1: FocusPath) => mixed,
40
- onFocus: (arg1: FocusPath) => mixed,
41
- |};
42
- declare type DefaultProps = {|
43
- apiOptions: $PropertyType<Props, "apiOptions">,
44
- value: $PropertyType<Props, "value">,
45
- |};
46
- declare export class OldUnitInput extends React.Component<Props> {
47
- _errorTimeout: number | null | void;
48
- static defaultProps: DefaultProps;
49
- static validate(userInput: string, rubric: Rubric): ValidationResult;
50
- componentDidUpdate(): void;
51
- componentWillUnmount(): void;
52
- _showError: () => void;
53
- _hideError: () => void;
54
- change: (...args: $ReadOnlyArray<any>) => any | null | void;
55
- handleBlur: () => void;
56
- handleChange: (event: SyntheticInputEvent<HTMLInputElement>) => void;
57
- simpleValidate: (
58
- rubric: Rubric,
59
- onInputError?: () => mixed
60
- ) => ValidationResult;
61
- getUserInput: () => string;
62
- getInputPaths: () => $ReadOnlyArray<$ReadOnlyArray<any>>;
63
- focusInputPath: (inputPath: FocusPath) => void;
64
- handleFocus: () => void;
65
- blurInputPath: (inputPath: FocusPath) => void;
66
- setInputValue: (path: FocusPath, newValue: string, cb: () => mixed) => void;
67
- getDOMNodeForPath: () => null | Element | Text;
68
- getGrammarTypeForPath: (inputPath: FocusPath) => string;
69
- render(): React.Node;
70
- }
71
- declare var _default: $ReadOnly<{|
72
- name: string,
73
- displayName: string,
74
- getWidget?: (() => typeof OldUnitInput) | void,
75
- accessible?: boolean | ((props: any) => boolean) | void,
76
- hidden?: boolean | void,
77
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
78
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
79
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
80
- getDefaultAlignment?:
81
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
82
- | void,
83
- isLintable?: boolean | void,
84
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
85
- traverseChildWidgets?: any,
86
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
87
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
88
- propUpgrades?: {
89
- [key: string]: (arg1: any) => any,
90
- } | void,
91
- widget: typeof OldUnitInput,
92
- |}>;
93
- declare export default typeof _default;
@@ -1,15 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- import * as React from "react";
8
- declare type Props = {|
9
- location: string,
10
- |};
11
- /**
12
- * Video Transcript Link Component.
13
- */
14
- declare var VideoTranscriptLink: (props: Props) => React.Element<any>;
15
- declare export default typeof VideoTranscriptLink;
@@ -1,57 +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 { PerseusVideoWidgetOptions } from "../perseus-types";
10
- import type { PerseusScore, WidgetProps } from "../types";
11
- declare type UserInput = null;
12
- declare type Rubric = PerseusVideoWidgetOptions;
13
- declare type RenderProps = PerseusVideoWidgetOptions;
14
- declare type Props = {|
15
- ...WidgetProps<RenderProps, Rubric>,
16
- ...{|
17
- alignment: string,
18
- |},
19
- |};
20
- /**
21
- * Video renderer.
22
- */
23
- declare class Video extends React.Component<Props> {
24
- /**
25
- * This is the widget's grading function.
26
- * Points for videos are tallied by the embedded video itself, in the case
27
- * of Khan Academy videos.
28
- */
29
- static validate(userInput: UserInput, rubric: Rubric): PerseusScore;
30
- getUserInput: () => void | null | void;
31
- simpleValidate: (arg1: Rubric) => PerseusScore;
32
- change: (...args: $ReadOnlyArray<mixed>) => any;
33
- render(): React.Node;
34
- }
35
- declare var _default: $ReadOnly<{|
36
- name: string,
37
- displayName: string,
38
- getWidget?: (() => typeof Video) | void,
39
- accessible?: boolean | ((props: any) => boolean) | void,
40
- hidden?: boolean | void,
41
- version?: $Flowgen$Import$_2e__2e__2f_types.Version | void,
42
- supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_2e__2e__2f_types.Alignment> | void,
43
- defaultAlignment?: $Flowgen$Import$_2e__2e__2f_types.Alignment | void,
44
- getDefaultAlignment?:
45
- | (() => $Flowgen$Import$_2e__2e__2f_types.Alignment)
46
- | void,
47
- isLintable?: boolean | void,
48
- tracking?: $Flowgen$Import$_2e__2e__2f_types.Tracking | void,
49
- traverseChildWidgets?: any,
50
- transform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
51
- staticTransform?: $Flowgen$Import$_2e__2e__2f_types.WidgetTransform | void,
52
- propUpgrades?: {
53
- [key: string]: (arg1: any) => any,
54
- } | void,
55
- widget: typeof Video,
56
- |}>;
57
- declare export default typeof _default;
@@ -1,108 +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 {
9
- Alignment,
10
- Tracking,
11
- Version,
12
- WidgetExports,
13
- WidgetInfo,
14
- WidgetTransform,
15
- } from "./types";
16
- declare type Editor = any;
17
- declare export var registerWidget: (
18
- name: string,
19
- widget: WidgetExports
20
- ) => void;
21
- declare export var registerWidgets: (
22
- widgets: $ReadOnlyArray<WidgetExports>
23
- ) => void;
24
- declare export var registerEditors: (
25
- editorsToRegister: $ReadOnlyArray<Editor>
26
- ) => void;
27
- declare export var getWidget: (
28
- name: string
29
- ) => React.ComponentType<any> | null | void;
30
- declare export var getEditor: (name: string) => Editor | null | void;
31
- declare export var getTransform: (
32
- name: string
33
- ) => WidgetTransform | null | void;
34
- declare export var getVersion: (name: string) => Version | null | void;
35
- declare export var getVersionVector: () => {
36
- [key: string]: Version,
37
- };
38
- declare export var getPublicWidgets: () => $ReadOnlyArray<WidgetExports>;
39
- declare export var isAccessible: (widgetInfo: WidgetInfo) => boolean;
40
- declare export var getAllWidgetTypes: () => $ReadOnlyArray<string>;
41
- declare export var upgradeWidgetInfoToLatestVersion: (
42
- oldWidgetInfo: WidgetInfo
43
- ) => WidgetInfo;
44
- declare export var getRendererPropsForWidgetInfo: (
45
- widgetInfo: WidgetInfo,
46
- problemNum?: number
47
- ) => any;
48
- declare export var traverseChildWidgets: (
49
- widgetInfo: WidgetInfo,
50
- traverseRenderer: any
51
- ) => WidgetInfo;
52
- /**
53
- * Handling for the optional alignments for widgets
54
- * See widget-container.jsx for details on how alignments are implemented.
55
- */
56
- /**
57
- * Returns the list of supported alignments for the given (string) widget
58
- * type. This is used primarily at editing time to display the choices
59
- * for the user.
60
- *
61
- * Supported alignments are given as an array of strings in the exports of
62
- * a widget's module.
63
- */
64
- declare export var getSupportedAlignments: (
65
- type: string
66
- ) => $ReadOnlyArray<Alignment>;
67
- /**
68
- * For the given (string) widget type, determine the default alignment for
69
- * the widget. This is used at rendering time to go from "default" alignment
70
- * to the actual alignment displayed on the screen.
71
- *
72
- * The default alignment is given either as a string (called
73
- * `defaultAlignment`) or a function (called `getDefaultAlignment`) on
74
- * the exports of a widget's module.
75
- */
76
- declare export var getDefaultAlignment: (type: string) => Alignment;
77
- /**
78
- * Used at startup to fail fast if an alignment given by a widget is
79
- * invalid.
80
- */
81
- declare export var validateAlignments: () => void;
82
- /**
83
- * Handling for static mode for widgets that support it.
84
- */
85
- /**
86
- * Returns true iff the widget supports static mode.
87
- * A widget implicitly supports static mode if it exports a
88
- * staticTransform function.
89
- */
90
- declare export var supportsStaticMode: (type: string) => boolean;
91
- /**
92
- * Return the staticTransform function used to convert the editorProps to
93
- * the rendered widget state.
94
- */
95
- declare export var getStaticTransform: (
96
- type: string
97
- ) => WidgetTransform | null | void;
98
- /**
99
- * Returns the tracking option for the widget. The default is "",
100
- * which means simply to track interactions once. The other available
101
- * option is "all" which means to track all interactions.
102
- */
103
- declare export var getTracking: (type: string) => Tracking;
104
- /**
105
- * Returns true if this widget can include lintable markdown text
106
- * and supports a highlightLint prop, or false otherwise.
107
- */
108
- declare export var isLintable: (type: string) => boolean;
package/dist/zoom.js.flow DELETED
@@ -1,7 +0,0 @@
1
- /**
2
- * Flowtype definitions for data
3
- * Generated by Flowgen from a Typescript Definition
4
- * Flowgen v1.21.0
5
- * @flow
6
- */
7
- declare export var ZoomService: any;
@@ -1,55 +0,0 @@
1
- // @flow
2
- /**
3
- * Type definitions for multi-item types, including:
4
- *
5
- * - Item: A multi-item tree wrapped in a `_multi` key, to help us recognize it
6
- * as a multi-item in other contexts and avoid misinterpreting its
7
- * other properties.
8
- * - ItemTree: A multi-item without the `_multi` key. Conforms to the Tree
9
- * interface, so it's compatible with our tree traversal functions.
10
- * - And the various types of nodes that compose a tree.
11
- */
12
- import type {WidgetDict, ImageDict} from "../types.js";
13
- import type {Tree, ArrayNode, ObjectNode} from "./tree-types.js";
14
-
15
- export type ContentNode = {
16
- // TODO(mdr): When we first drafted the multi-item feature, we named
17
- // content nodes "item" nodes, and later decided the term was
18
- // ambiguous and switched to "content". But we're temporarily keeping
19
- // support for the "item" string when inferring item shape, so that we
20
- // don't crash on multi-items we've already created - but all new
21
- // content nodes will be generated with the "content" string.
22
- //
23
- // Code blocks that enable this legacy support are greppable with the
24
- // keyword #LegacyContentNode.
25
- __type: "content" | "item",
26
- // Perseus has default values for these fields, so they're all optional.
27
- content?: ?string,
28
- images?: ?ImageDict,
29
- widgets?: ?WidgetDict,
30
- ...
31
- };
32
- export type HintNode = {
33
- __type: "hint",
34
- // Perseus has default values for these fields, so they're all optional.
35
- content?: ?string,
36
- images?: ?ImageDict,
37
- widgets?: ?WidgetDict,
38
- replace?: ?boolean,
39
- ...
40
- };
41
- export type TagsNode = $ReadOnlyArray<string>;
42
-
43
- export type ItemArrayNode = ArrayNode<ContentNode, HintNode, TagsNode>;
44
- export type ItemObjectNode = ObjectNode<ContentNode, HintNode, TagsNode>;
45
- export type ItemTree = Tree<ContentNode, HintNode, TagsNode>;
46
-
47
- // TODO(jeremy): I think we could refine this root type for multi items. Right
48
- // now a _multi's value can be _anything_ including "primitive" node types such
49
- // as "type: content" or "type: hint". That doesn't seem to match the shapes
50
- // that are in use to date. We could also move to a strict type at that point
51
- // because it appears that we _never_ add other root keys to an item that
52
- // specifies the `_multi` key. I think we'd be safe to restrict this root
53
- // object type to something like the following:
54
- // export type Item = {|_multi: ItemArrayNode | ItemObjectNode|};
55
- export type Item = {_multi: ItemTree, ...};