@khanacademy/perseus-editor 1.1.0 → 2.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 (312) hide show
  1. package/.babelrc.js +1 -1
  2. package/.eslintrc.js +1 -0
  3. package/CHANGELOG.md +21 -0
  4. package/dist/all-editors.d.ts +2 -0
  5. package/dist/all-editors.js.flow +8 -0
  6. package/dist/all-widgets.d.ts +22 -0
  7. package/dist/all-widgets.js.flow +34 -0
  8. package/dist/article-editor.d.ts +59 -0
  9. package/dist/article-editor.js.flow +72 -0
  10. package/dist/components/blur-input.d.ts +19 -0
  11. package/dist/components/blur-input.js.flow +25 -0
  12. package/dist/components/checkbox.d.ts +20 -0
  13. package/dist/components/checkbox.js.flow +26 -0
  14. package/dist/components/device-framer.d.ts +15 -0
  15. package/dist/components/device-framer.js.flow +20 -0
  16. package/dist/components/drag-target.d.ts +2 -0
  17. package/dist/components/drag-target.js.flow +8 -0
  18. package/dist/components/dropdown-option.d.ts +35 -0
  19. package/dist/components/dropdown-option.js.flow +49 -0
  20. package/dist/components/form-wrapped-text-field.d.ts +48 -0
  21. package/dist/components/form-wrapped-text-field.js.flow +48 -0
  22. package/dist/components/graph-settings.d.ts +2 -0
  23. package/dist/components/graph-settings.js.flow +8 -0
  24. package/dist/components/hover-behavior.d.ts +85 -0
  25. package/dist/components/hover-behavior.js.flow +48 -0
  26. package/dist/components/json-editor.d.ts +2 -0
  27. package/dist/components/json-editor.js.flow +8 -0
  28. package/dist/components/link.d.ts +41 -0
  29. package/dist/components/link.js.flow +50 -0
  30. package/dist/components/simple-button.d.ts +16 -0
  31. package/dist/components/simple-button.js.flow +18 -0
  32. package/dist/components/sortable.d.ts +2 -0
  33. package/dist/components/sortable.js.flow +8 -0
  34. package/dist/components/util.d.ts +1 -0
  35. package/dist/components/util.js.flow +9 -0
  36. package/dist/components/viewport-resizer.d.ts +16 -0
  37. package/dist/components/viewport-resizer.js.flow +22 -0
  38. package/dist/diffs/__stories__/perseus-diff-wrapper.d.ts +5 -0
  39. package/dist/diffs/__stories__/perseus-diff-wrapper.js.flow +11 -0
  40. package/dist/diffs/article-diff.d.ts +50 -0
  41. package/dist/diffs/article-diff.js.flow +71 -0
  42. package/dist/diffs/item-diff.d.ts +23 -0
  43. package/dist/diffs/item-diff.js.flow +41 -0
  44. package/dist/diffs/renderer-diff.d.ts +22 -0
  45. package/dist/diffs/renderer-diff.js.flow +25 -0
  46. package/dist/diffs/split-diff.d.ts +2 -0
  47. package/dist/diffs/split-diff.js.flow +8 -0
  48. package/dist/diffs/string-array-diff.d.ts +2 -0
  49. package/dist/diffs/string-array-diff.js.flow +11 -0
  50. package/dist/diffs/structured-item-diff.d.ts +25 -0
  51. package/dist/diffs/structured-item-diff.js.flow +37 -0
  52. package/dist/diffs/tags-diff.d.ts +21 -0
  53. package/dist/diffs/tags-diff.js.flow +24 -0
  54. package/dist/diffs/text-diff.d.ts +15 -0
  55. package/dist/diffs/text-diff.js.flow +21 -0
  56. package/dist/diffs/widget-diff-performer.d.ts +2 -0
  57. package/dist/diffs/widget-diff-performer.js.flow +8 -0
  58. package/dist/diffs/widget-diff.d.ts +21 -0
  59. package/dist/diffs/widget-diff.js.flow +31 -0
  60. package/dist/editor-page.d.ts +57 -0
  61. package/dist/editor-page.js.flow +73 -0
  62. package/dist/editor.d.ts +82 -0
  63. package/dist/editor.js.flow +98 -0
  64. package/dist/es/index.js +1428 -2587
  65. package/dist/es/index.js.map +1 -1
  66. package/dist/hint-editor.d.ts +64 -0
  67. package/dist/hint-editor.js.flow +87 -0
  68. package/dist/i18n.d.ts +7 -0
  69. package/dist/i18n.js.flow +13 -0
  70. package/dist/iframe-content-renderer.d.ts +22 -0
  71. package/dist/iframe-content-renderer.js.flow +28 -0
  72. package/dist/index.d.ts +17 -2
  73. package/dist/index.js +1492 -2548
  74. package/dist/index.js.flow +23 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/item-editor.d.ts +36 -0
  77. package/dist/item-editor.js.flow +46 -0
  78. package/dist/item-extras-editor.d.ts +17 -0
  79. package/dist/item-extras-editor.js.flow +23 -0
  80. package/dist/katex-error-view.d.ts +16 -0
  81. package/dist/katex-error-view.js.flow +24 -0
  82. package/dist/multirenderer-editor.d.ts +32 -0
  83. package/dist/multirenderer-editor.js.flow +46 -0
  84. package/dist/section-control-button.d.ts +12 -0
  85. package/dist/section-control-button.js.flow +20 -0
  86. package/dist/stateful-article-editor.d.ts +10 -0
  87. package/dist/stateful-article-editor.js.flow +16 -0
  88. package/dist/stateful-editor-page.d.ts +2 -0
  89. package/dist/stateful-editor-page.js.flow +8 -0
  90. package/dist/testing-widgets.d.ts +22 -0
  91. package/dist/testing-widgets.js.flow +34 -0
  92. package/dist/util/register-all-widgets-and-editors-for-testing.d.ts +1 -0
  93. package/dist/util/register-all-widgets-and-editors-for-testing.js.flow +7 -0
  94. package/dist/widgets/categorizer-editor.d.ts +47 -0
  95. package/dist/widgets/categorizer-editor.js.flow +61 -0
  96. package/dist/widgets/cs-program-editor.d.ts +21 -0
  97. package/dist/widgets/cs-program-editor.js.flow +25 -0
  98. package/dist/widgets/definition-editor.d.ts +17 -0
  99. package/dist/widgets/definition-editor.js.flow +23 -0
  100. package/dist/widgets/dropdown-editor.d.ts +23 -0
  101. package/dist/widgets/dropdown-editor.js.flow +37 -0
  102. package/dist/widgets/example-graphie-widget-editor.d.ts +18 -0
  103. package/dist/widgets/example-graphie-widget-editor.js.flow +25 -0
  104. package/dist/widgets/example-graphie-widget.d.ts +87 -0
  105. package/dist/widgets/example-graphie-widget.js.flow +101 -0
  106. package/dist/widgets/example-widget-editor.d.ts +19 -0
  107. package/dist/widgets/example-widget-editor.js.flow +26 -0
  108. package/dist/widgets/example-widget.d.ts +71 -0
  109. package/dist/widgets/example-widget.js.flow +86 -0
  110. package/dist/widgets/explanation-editor.d.ts +21 -0
  111. package/dist/widgets/explanation-editor.js.flow +27 -0
  112. package/dist/widgets/expression-editor.d.ts +33 -0
  113. package/dist/widgets/expression-editor.js.flow +41 -0
  114. package/dist/widgets/graded-group-editor.d.ts +53 -0
  115. package/dist/widgets/graded-group-editor.js.flow +67 -0
  116. package/dist/widgets/graded-group-set-editor.d.ts +51 -0
  117. package/dist/widgets/graded-group-set-editor.js.flow +65 -0
  118. package/dist/widgets/grapher-editor.d.ts +14 -0
  119. package/dist/widgets/grapher-editor.js.flow +21 -0
  120. package/dist/widgets/group-editor.d.ts +49 -0
  121. package/dist/widgets/group-editor.js.flow +63 -0
  122. package/dist/widgets/iframe-editor.d.ts +18 -0
  123. package/dist/widgets/iframe-editor.js.flow +24 -0
  124. package/dist/widgets/image-editor.d.ts +2 -0
  125. package/dist/widgets/image-editor.js.flow +8 -0
  126. package/dist/widgets/input-number-editor.d.ts +47 -0
  127. package/dist/widgets/input-number-editor.js.flow +77 -0
  128. package/dist/widgets/interaction/constraint-editor.d.ts +26 -0
  129. package/dist/widgets/interaction/constraint-editor.js.flow +35 -0
  130. package/dist/widgets/interaction-editor.d.ts +28 -0
  131. package/dist/widgets/interaction-editor.js.flow +36 -0
  132. package/dist/widgets/interactive-graph-editor.d.ts +2 -0
  133. package/dist/widgets/interactive-graph-editor.js.flow +8 -0
  134. package/dist/widgets/label-image/answer-choices.d.ts +13 -0
  135. package/dist/widgets/label-image/answer-choices.js.flow +16 -0
  136. package/dist/widgets/label-image/behavior.d.ts +14 -0
  137. package/dist/widgets/label-image/behavior.js.flow +17 -0
  138. package/dist/widgets/label-image/marker.d.ts +30 -0
  139. package/dist/widgets/label-image/marker.js.flow +34 -0
  140. package/dist/widgets/label-image/question-markers.d.ts +22 -0
  141. package/dist/widgets/label-image/question-markers.js.flow +25 -0
  142. package/dist/widgets/label-image/select-image.d.ts +10 -0
  143. package/dist/widgets/label-image/select-image.js.flow +13 -0
  144. package/dist/widgets/label-image-editor.d.ts +45 -0
  145. package/dist/widgets/label-image-editor.js.flow +44 -0
  146. package/dist/widgets/lights-puzzle-editor.d.ts +24 -0
  147. package/dist/widgets/lights-puzzle-editor.js.flow +34 -0
  148. package/dist/widgets/matcher-editor.d.ts +19 -0
  149. package/dist/widgets/matcher-editor.js.flow +28 -0
  150. package/dist/widgets/matrix-editor.d.ts +20 -0
  151. package/dist/widgets/matrix-editor.js.flow +26 -0
  152. package/dist/widgets/measurer-editor.d.ts +32 -0
  153. package/dist/widgets/measurer-editor.js.flow +42 -0
  154. package/dist/widgets/molecule-editor.d.ts +17 -0
  155. package/dist/widgets/molecule-editor.js.flow +23 -0
  156. package/dist/widgets/number-line-editor.d.ts +36 -0
  157. package/dist/widgets/number-line-editor.js.flow +45 -0
  158. package/dist/widgets/numeric-input-editor.d.ts +2 -0
  159. package/dist/widgets/numeric-input-editor.js.flow +8 -0
  160. package/dist/widgets/orderer-editor.d.ts +20 -0
  161. package/dist/widgets/orderer-editor.js.flow +30 -0
  162. package/dist/widgets/passage-editor.d.ts +18 -0
  163. package/dist/widgets/passage-editor.js.flow +24 -0
  164. package/dist/widgets/passage-ref-editor.d.ts +11 -0
  165. package/dist/widgets/passage-ref-editor.js.flow +17 -0
  166. package/dist/widgets/passage-ref-target-editor.d.ts +16 -0
  167. package/dist/widgets/passage-ref-target-editor.js.flow +22 -0
  168. package/dist/widgets/plotter-editor.d.ts +45 -0
  169. package/dist/widgets/plotter-editor.js.flow +53 -0
  170. package/dist/widgets/radio/editor.d.ts +64 -0
  171. package/dist/widgets/radio/editor.js.flow +80 -0
  172. package/dist/widgets/reaction-diagram-editor.d.ts +20 -0
  173. package/dist/widgets/reaction-diagram-editor.js.flow +26 -0
  174. package/dist/widgets/sequence-editor.d.ts +56 -0
  175. package/dist/widgets/sequence-editor.js.flow +72 -0
  176. package/dist/widgets/simple-markdown-tester-editor.d.ts +14 -0
  177. package/dist/widgets/simple-markdown-tester-editor.js.flow +23 -0
  178. package/dist/widgets/simple-markdown-tester.d.ts +52 -0
  179. package/dist/widgets/simple-markdown-tester.js.flow +61 -0
  180. package/dist/widgets/simulator-editor.d.ts +20 -0
  181. package/dist/widgets/simulator-editor.js.flow +26 -0
  182. package/dist/widgets/sorter-editor.d.ts +16 -0
  183. package/dist/widgets/sorter-editor.js.flow +22 -0
  184. package/dist/widgets/table-editor.d.ts +18 -0
  185. package/dist/widgets/table-editor.js.flow +24 -0
  186. package/dist/widgets/transformer-editor.d.ts +11 -0
  187. package/dist/widgets/transformer-editor.js.flow +17 -0
  188. package/dist/widgets/unit-editor.d.ts +33 -0
  189. package/dist/widgets/unit-editor.js.flow +41 -0
  190. package/dist/widgets/video-editor.d.ts +19 -0
  191. package/dist/widgets/video-editor.js.flow +25 -0
  192. package/package.json +6 -5
  193. package/src/__stories__/{editor.stories.js → editor.stories.tsx} +4 -5
  194. package/src/__stories__/{section-control-button.stories.jsx → section-control-button.stories.tsx} +10 -11
  195. package/src/__testdata__/{input-number_testdata.js → input-number.testdata.ts} +2 -3
  196. package/src/__tests__/{editor_test.jsx → editor.test.tsx} +4 -7
  197. package/src/__tests__/{i18n_test.jsx → i18n.test.ts} +5 -5
  198. package/src/__tests__/{traversal_test.jsx → traversal.test.ts} +9 -10
  199. package/src/{all-editors_test.js → all-editors.test.ts} +1 -2
  200. package/src/all-editors.ts +83 -0
  201. package/src/all-widgets.ts +7 -0
  202. package/src/{article-editor.jsx → article-editor.tsx} +52 -42
  203. package/src/components/__stories__/{blur-input.stories.jsx → blur-input.stories.tsx} +2 -4
  204. package/src/components/{blur-input.jsx → blur-input.tsx} +12 -13
  205. package/src/components/{checkbox.jsx → checkbox.tsx} +18 -19
  206. package/src/components/{device-framer.jsx → device-framer.tsx} +4 -5
  207. package/src/components/{drag-target.jsx → drag-target.tsx} +0 -1
  208. package/src/components/{dropdown-option.jsx → dropdown-option.tsx} +40 -40
  209. package/src/components/{form-wrapped-text-field.jsx → form-wrapped-text-field.tsx} +47 -53
  210. package/src/components/{graph-settings.jsx → graph-settings.tsx} +4 -8
  211. package/src/components/{hover-behavior.jsx → hover-behavior.ts} +32 -33
  212. package/src/components/{json-editor.jsx → json-editor.tsx} +4 -3
  213. package/src/components/{link.jsx → link.ts} +33 -33
  214. package/src/components/{simple-button.jsx → simple-button.tsx} +3 -4
  215. package/src/components/{sortable.jsx → sortable.tsx} +3 -3
  216. package/src/components/{util.js → util.ts} +1 -2
  217. package/src/components/{viewport-resizer.jsx → viewport-resizer.tsx} +5 -6
  218. package/src/diffs/__stories__/{perseus-diff-wrapper.jsx → perseus-diff-wrapper.tsx} +3 -2
  219. package/src/diffs/__stories__/{structured-item-diff.stories.jsx → structured-item-diff.stories.tsx} +27 -22
  220. package/src/diffs/__stories__/{tags-diff.stories.jsx → tags-diff.stories.tsx} +12 -14
  221. package/src/diffs/__stories__/{text-diff.stories.jsx → text-diff.stories.tsx} +12 -14
  222. package/src/diffs/__tests__/{split-diff_test.js → split-diff.test.ts} +1 -2
  223. package/src/diffs/__tests__/{string-array-diff_test.js → string-array-diff.test.ts} +1 -2
  224. package/src/diffs/__tests__/{structured-item-diff_test.js → structured-item-diff.test.ts} +15 -14
  225. package/src/diffs/__tests__/{widget-diff-performer_test.js → widget-diff-performer.test.ts} +1 -2
  226. package/src/diffs/{article-diff.jsx → article-diff.tsx} +5 -6
  227. package/src/diffs/{item-diff.jsx → item-diff.tsx} +4 -5
  228. package/src/diffs/{renderer-diff.jsx → renderer-diff.tsx} +22 -28
  229. package/src/diffs/{split-diff.jsx → split-diff.ts} +4 -3
  230. package/src/diffs/{string-array-diff.jsx → string-array-diff.ts} +8 -9
  231. package/src/diffs/{structured-item-diff.jsx → structured-item-diff.tsx} +32 -27
  232. package/src/diffs/{tags-diff.jsx → tags-diff.tsx} +15 -16
  233. package/src/diffs/{text-diff.jsx → text-diff.tsx} +13 -13
  234. package/src/diffs/{widget-diff-performer.jsx → widget-diff-performer.ts} +3 -8
  235. package/src/diffs/{widget-diff.jsx → widget-diff.tsx} +15 -14
  236. package/src/{editor-page.jsx → editor-page.tsx} +52 -60
  237. package/src/{editor.jsx → editor.tsx} +315 -277
  238. package/src/{hint-editor.jsx → hint-editor.tsx} +105 -79
  239. package/src/{i18n.jsx → i18n.ts} +9 -6
  240. package/src/{iframe-content-renderer.jsx → iframe-content-renderer.tsx} +23 -17
  241. package/src/{index.js → index.ts} +15 -16
  242. package/src/{item-editor.jsx → item-editor.tsx} +35 -30
  243. package/src/{item-extras-editor.jsx → item-extras-editor.tsx} +3 -4
  244. package/src/{katex-error-view.jsx → katex-error-view.tsx} +4 -5
  245. package/src/{multirenderer-editor.jsx → multirenderer-editor.tsx} +132 -127
  246. package/src/{section-control-button.jsx → section-control-button.tsx} +10 -9
  247. package/src/{stateful-article-editor.jsx → stateful-article-editor.tsx} +2 -5
  248. package/src/{stateful-editor-page.jsx → stateful-editor-page.tsx} +1 -3
  249. package/src/{testing-widgets.js → testing-widgets.ts} +5 -6
  250. package/src/util/{register-all-widgets-and-editors-for-testing_test.js → register-all-widgets-and-editors-for-testing.test.ts} +1 -2
  251. package/src/util/{register-all-widgets-and-editors-for-testing.js → register-all-widgets-and-editors-for-testing.ts} +2 -3
  252. package/src/widgets/__stories__/{label-image-editor.stories.jsx → label-image-editor.stories.tsx} +22 -18
  253. package/src/widgets/__stories__/{radio-editor.stories.jsx → radio-editor.stories.tsx} +15 -10
  254. package/src/widgets/{categorizer-editor.jsx → categorizer-editor.tsx} +8 -6
  255. package/src/widgets/{cs-program-editor.jsx → cs-program-editor.tsx} +17 -17
  256. package/src/widgets/{definition-editor.jsx → definition-editor.tsx} +9 -8
  257. package/src/widgets/{dropdown-editor.jsx → dropdown-editor.tsx} +27 -19
  258. package/src/widgets/{example-graphie-widget-editor.jsx → example-graphie-widget-editor.tsx} +8 -8
  259. package/src/widgets/{example-graphie-widget.jsx → example-graphie-widget.tsx} +14 -17
  260. package/src/widgets/{example-widget-editor.jsx → example-widget-editor.tsx} +10 -7
  261. package/src/widgets/{example-widget.jsx → example-widget.tsx} +14 -12
  262. package/src/widgets/{explanation-editor.jsx → explanation-editor.tsx} +12 -10
  263. package/src/widgets/{expression-editor.jsx → expression-editor.tsx} +36 -26
  264. package/src/widgets/{graded-group-editor.jsx → graded-group-editor.tsx} +18 -10
  265. package/src/widgets/{graded-group-set-editor.jsx → graded-group-set-editor.tsx} +15 -12
  266. package/src/widgets/{grapher-editor.jsx → grapher-editor.tsx} +10 -9
  267. package/src/widgets/{group-editor.jsx → group-editor.tsx} +11 -9
  268. package/src/widgets/{iframe-editor.jsx → iframe-editor.tsx} +16 -13
  269. package/src/widgets/{image-editor.jsx → image-editor.tsx} +4 -7
  270. package/src/widgets/{input-number-editor.jsx → input-number-editor.tsx} +61 -47
  271. package/src/widgets/interaction/{constraint-editor.jsx → constraint-editor.tsx} +21 -24
  272. package/src/widgets/{interaction-editor.jsx → interaction-editor.tsx} +160 -61
  273. package/src/widgets/{interactive-graph-editor.jsx → interactive-graph-editor.tsx} +13 -10
  274. package/src/widgets/label-image/__stories__/{answer-choices.stories.jsx → answer-choices.stories.tsx} +22 -17
  275. package/src/widgets/label-image/__stories__/{behavior.stories.jsx → behavior.stories.tsx} +9 -10
  276. package/src/widgets/label-image/__stories__/{marker.stories.jsx → marker.stories.tsx} +11 -12
  277. package/src/widgets/label-image/__stories__/{question-markers.stories.jsx → question-markers.stories.tsx} +17 -16
  278. package/src/widgets/label-image/__stories__/{select-image.stories.jsx → select-image.stories.tsx} +12 -13
  279. package/src/widgets/label-image/{answer-choices.jsx → answer-choices.tsx} +18 -18
  280. package/src/widgets/label-image/{behavior.jsx → behavior.tsx} +9 -11
  281. package/src/widgets/label-image/{marker.jsx → marker.tsx} +17 -19
  282. package/src/widgets/label-image/{question-markers.jsx → question-markers.tsx} +16 -21
  283. package/src/widgets/label-image/{select-image.jsx → select-image.tsx} +5 -7
  284. package/src/widgets/{label-image-editor.jsx → label-image-editor.tsx} +38 -44
  285. package/src/widgets/{lights-puzzle-editor.jsx → lights-puzzle-editor.tsx} +34 -24
  286. package/src/widgets/{matcher-editor.jsx → matcher-editor.tsx} +9 -7
  287. package/src/widgets/{matrix-editor.jsx → matrix-editor.tsx} +10 -9
  288. package/src/widgets/{measurer-editor.jsx → measurer-editor.tsx} +21 -14
  289. package/src/widgets/{molecule-editor.jsx → molecule-editor.tsx} +9 -8
  290. package/src/widgets/{number-line-editor.jsx → number-line-editor.tsx} +19 -17
  291. package/src/widgets/{numeric-input-editor.jsx → numeric-input-editor.tsx} +10 -10
  292. package/src/widgets/{orderer-editor.jsx → orderer-editor.tsx} +17 -12
  293. package/src/widgets/{passage-editor.jsx → passage-editor.tsx} +9 -7
  294. package/src/widgets/{passage-ref-editor.jsx → passage-ref-editor.tsx} +8 -6
  295. package/src/widgets/{passage-ref-target-editor.jsx → passage-ref-target-editor.tsx} +9 -7
  296. package/src/widgets/{plotter-editor.jsx → plotter-editor.tsx} +34 -33
  297. package/src/widgets/radio/{editor.jsx → editor.tsx} +22 -21
  298. package/src/widgets/{reaction-diagram-editor.jsx → reaction-diagram-editor.tsx} +14 -10
  299. package/src/widgets/{sequence-editor.jsx → sequence-editor.tsx} +13 -13
  300. package/src/widgets/{simple-markdown-tester-editor.jsx → simple-markdown-tester-editor.tsx} +11 -9
  301. package/src/widgets/{simple-markdown-tester.jsx → simple-markdown-tester.tsx} +8 -7
  302. package/src/widgets/{simulator-editor.jsx → simulator-editor.tsx} +10 -8
  303. package/src/widgets/{sorter-editor.jsx → sorter-editor.tsx} +8 -6
  304. package/src/widgets/{table-editor.jsx → table-editor.tsx} +11 -10
  305. package/src/widgets/{transformer-editor.jsx → transformer-editor.tsx} +37 -35
  306. package/src/widgets/{unit-editor.jsx → unit-editor.tsx} +31 -25
  307. package/src/widgets/{video-editor.jsx → video-editor.tsx} +8 -9
  308. package/tsconfig.json +22 -0
  309. package/tsconfig.tsbuildinfo +1 -0
  310. package/src/all-editors.js +0 -85
  311. package/src/all-widgets.js +0 -10
  312. /package/dist/{strings.js → strings} +0 -0
@@ -0,0 +1,18 @@
1
+ import * as React from "react";
2
+ type Props = any;
3
+ /**
4
+ * This is the widget's editor. This is what shows up on the left side
5
+ * of the screen in the demo page. Only the question writer sees this.
6
+ */
7
+ declare class ExampleGraphieWidgetEditor extends React.Component<Props> {
8
+ static propTypes: {
9
+ onChange: import("prop-types").Validator<(...args: any[]) => any>;
10
+ };
11
+ static widgetName: "example-graphie-widget";
12
+ static defaultProps: Props;
13
+ change: (arg1: any, arg2: any, arg3: any) => any;
14
+ handleChange: (arg1: any) => void;
15
+ serialize: () => any;
16
+ render(): React.ReactNode;
17
+ }
18
+ export default ExampleGraphieWidgetEditor;
@@ -0,0 +1,25 @@
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$prop_2d_types from "prop-types";
8
+ import * as React from "react";
9
+ declare type Props = any;
10
+ /**
11
+ * This is the widget's editor. This is what shows up on the left side
12
+ * of the screen in the demo page. Only the question writer sees this.
13
+ */
14
+ declare class ExampleGraphieWidgetEditor extends React.Component<Props> {
15
+ static propTypes: {|
16
+ onChange: $Flowgen$Import$prop_2d_types.Validator<(...args: any[]) => any>,
17
+ |};
18
+ static widgetName: "example-graphie-widget";
19
+ static defaultProps: Props;
20
+ change: (arg1: any, arg2: any, arg3: any) => any;
21
+ handleChange: (arg1: any) => void;
22
+ serialize: () => any;
23
+ render(): React.Node;
24
+ }
25
+ declare export default typeof ExampleGraphieWidgetEditor;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * This is an example graphie-using widget
3
+ *
4
+ * TODO(jack): Add more comments
5
+ */
6
+ import PropTypes from "prop-types";
7
+ import * as React from "react";
8
+ import type { Coord } from "@khanacademy/perseus";
9
+ type Props = any;
10
+ /**
11
+ * This is the widget's renderer. It shows up in the right column
12
+ * in the demo, and is what is visible to users, and where
13
+ * users enter their answers.
14
+ */
15
+ declare class ExampleGraphieWidget extends React.Component<Props> {
16
+ static propTypes: {
17
+ apiOptions: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
18
+ isArticle: PropTypes.Validator<boolean>;
19
+ onInputError: PropTypes.Validator<(...args: any[]) => any>;
20
+ onFocusChange: PropTypes.Validator<(...args: any[]) => any>;
21
+ GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>;
22
+ showAlignmentOptions: PropTypes.Validator<boolean>;
23
+ readOnly: PropTypes.Validator<boolean>;
24
+ answerableCallback: PropTypes.Requireable<(...args: any[]) => any>;
25
+ getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>;
26
+ interactionCallback: PropTypes.Requireable<(...args: any[]) => any>;
27
+ groupAnnotator: PropTypes.Validator<(...args: any[]) => any>;
28
+ imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
29
+ widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
30
+ baseElements: PropTypes.Requireable<PropTypes.InferProps<{
31
+ Link: PropTypes.Requireable<(...args: any[]) => any>;
32
+ }>>;
33
+ imagePreloader: PropTypes.Requireable<(...args: any[]) => any>;
34
+ trackInteraction: PropTypes.Requireable<(...args: any[]) => any>;
35
+ customKeypad: PropTypes.Requireable<boolean>;
36
+ nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
37
+ isMobile: PropTypes.Requireable<boolean>;
38
+ setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
39
+ useDraftEditor: PropTypes.Requireable<boolean>;
40
+ hintProgressColor: PropTypes.Requireable<string>;
41
+ canScrollPage: PropTypes.Requireable<boolean>;
42
+ inModal: PropTypes.Requireable<boolean>;
43
+ crossOutEnabled: PropTypes.Requireable<boolean>;
44
+ editorChangeDelay: PropTypes.Requireable<number>;
45
+ }>>>;
46
+ graph: PropTypes.Validator<object>;
47
+ coord: PropTypes.Requireable<(number | null | undefined)[]>;
48
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
49
+ };
50
+ static defaultProps: Props;
51
+ /**
52
+ * This is the widget's grading function
53
+ */
54
+ static validate(state: any, rubric: any): any;
55
+ getUserInput: () => any;
56
+ render(): React.ReactNode;
57
+ change: (arg1: any, arg2: any, arg3: any) => any;
58
+ movePoint: (arg1: Coord) => void;
59
+ _getGridConfig: (arg1: any) => any;
60
+ setupGraphie: (arg1: any, arg2: any) => any;
61
+ simpleValidate: (arg1: any) => any;
62
+ }
63
+ /**
64
+ * For this widget to work, we must export it.
65
+ * We also must import this file in src/all-widgets.js
66
+ */
67
+ declare const _default: Readonly<{
68
+ name: string;
69
+ displayName: string;
70
+ getWidget?: (() => typeof ExampleGraphieWidget) | undefined;
71
+ accessible?: boolean | ((props: any) => boolean) | undefined;
72
+ hidden?: boolean | undefined;
73
+ version?: import("@khanacademy/perseus").Version | undefined;
74
+ supportedAlignments?: readonly import("@khanacademy/perseus").Alignment[] | undefined;
75
+ defaultAlignment?: import("@khanacademy/perseus").Alignment | undefined;
76
+ getDefaultAlignment?: (() => import("@khanacademy/perseus").Alignment) | undefined;
77
+ isLintable?: boolean | undefined;
78
+ transform?: import("../../../perseus/src/types").WidgetTransform | undefined;
79
+ tracking?: import("../../../perseus/src/types").Tracking | undefined;
80
+ staticTransform?: import("../../../perseus/src/types").WidgetTransform | undefined;
81
+ traverseChildWidgets?: any;
82
+ propUpgrades?: {
83
+ [key: string]: (arg1: any) => any;
84
+ } | undefined;
85
+ widget: typeof ExampleGraphieWidget;
86
+ }>;
87
+ export default _default;
@@ -0,0 +1,101 @@
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$_40_khanacademy_2f_perseus from "@khanacademy/perseus";
8
+ import * as $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types from "../../../perseus/src/types";
9
+ import PropTypes from "prop-types";
10
+ import * as React from "react";
11
+ import type { Coord } from "@khanacademy/perseus";
12
+ declare type Props = any;
13
+ /**
14
+ * This is the widget's renderer. It shows up in the right column
15
+ * in the demo, and is what is visible to users, and where
16
+ * users enter their answers.
17
+ */
18
+ declare class ExampleGraphieWidget extends React.Component<Props> {
19
+ static propTypes: {|
20
+ apiOptions: PropTypes.Validator<
21
+ $NonMaybeType<
22
+ PropTypes.InferProps<{|
23
+ isArticle: PropTypes.Validator<boolean>,
24
+ onInputError: PropTypes.Validator<(...args: any[]) => any>,
25
+ onFocusChange: PropTypes.Validator<(...args: any[]) => any>,
26
+ GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>,
27
+ showAlignmentOptions: PropTypes.Validator<boolean>,
28
+ readOnly: PropTypes.Validator<boolean>,
29
+ answerableCallback: PropTypes.Requireable<(...args: any[]) => any>,
30
+ getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>,
31
+ interactionCallback: PropTypes.Requireable<(...args: any[]) => any>,
32
+ groupAnnotator: PropTypes.Validator<(...args: any[]) => any>,
33
+ imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>,
34
+ widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>,
35
+ baseElements: PropTypes.Requireable<
36
+ PropTypes.InferProps<{|
37
+ Link: PropTypes.Requireable<(...args: any[]) => any>,
38
+ |}>
39
+ >,
40
+ imagePreloader: PropTypes.Requireable<(...args: any[]) => any>,
41
+ trackInteraction: PropTypes.Requireable<(...args: any[]) => any>,
42
+ customKeypad: PropTypes.Requireable<boolean>,
43
+ nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>,
44
+ isMobile: PropTypes.Requireable<boolean>,
45
+ setDrawingAreaAvailable: PropTypes.Requireable<
46
+ (...args: any[]) => any
47
+ >,
48
+ useDraftEditor: PropTypes.Requireable<boolean>,
49
+ hintProgressColor: PropTypes.Requireable<string>,
50
+ canScrollPage: PropTypes.Requireable<boolean>,
51
+ inModal: PropTypes.Requireable<boolean>,
52
+ crossOutEnabled: PropTypes.Requireable<boolean>,
53
+ editorChangeDelay: PropTypes.Requireable<number>,
54
+ |}>
55
+ >
56
+ >,
57
+ graph: PropTypes.Validator<{ ... }>,
58
+ coord: PropTypes.Requireable<(number | null | void)[]>,
59
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
60
+ |};
61
+ static defaultProps: Props;
62
+
63
+ /**
64
+ * This is the widget's grading function
65
+ */
66
+ static validate(state: any, rubric: any): any;
67
+ getUserInput: () => any;
68
+ render(): React.Node;
69
+ change: (arg1: any, arg2: any, arg3: any) => any;
70
+ movePoint: (arg1: Coord) => void;
71
+ _getGridConfig: (arg1: any) => any;
72
+ setupGraphie: (arg1: any, arg2: any) => any;
73
+ simpleValidate: (arg1: any) => any;
74
+ }
75
+ /**
76
+ * For this widget to work, we must export it.
77
+ * We also must import this file in src/all-widgets.js
78
+ */
79
+ declare var _default: $ReadOnly<{|
80
+ name: string,
81
+ displayName: string,
82
+ getWidget?: (() => typeof ExampleGraphieWidget) | void,
83
+ accessible?: boolean | ((props: any) => boolean) | void,
84
+ hidden?: boolean | void,
85
+ version?: $Flowgen$Import$_40_khanacademy_2f_perseus.Version | void,
86
+ supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_40_khanacademy_2f_perseus.Alignment> | void,
87
+ defaultAlignment?: $Flowgen$Import$_40_khanacademy_2f_perseus.Alignment | void,
88
+ getDefaultAlignment?:
89
+ | (() => $Flowgen$Import$_40_khanacademy_2f_perseus.Alignment)
90
+ | void,
91
+ isLintable?: boolean | void,
92
+ transform?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.WidgetTransform | void,
93
+ tracking?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.Tracking | void,
94
+ staticTransform?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.WidgetTransform | void,
95
+ traverseChildWidgets?: any,
96
+ propUpgrades?: {
97
+ [key: string]: (arg1: any) => any,
98
+ } | void,
99
+ widget: typeof ExampleGraphieWidget,
100
+ |}>;
101
+ declare export default typeof _default;
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ type Props = any;
3
+ /**
4
+ * This is the widget's editor. This is what shows up on the left side
5
+ * of the screen in the demo. Only the question writer sees this.
6
+ */
7
+ declare class ExampleWidgetEditor extends React.Component<Props> {
8
+ static propTypes: {
9
+ onChange: import("prop-types").Validator<(...args: any[]) => any>;
10
+ };
11
+ static widgetName: "example-widget";
12
+ static defaultProps: Props;
13
+ handleAnswerChange: (arg1: React.ChangeEvent<HTMLInputElement>) => void;
14
+ render(): React.ReactNode;
15
+ change: (arg1: any, arg2: any, arg3: any) => any;
16
+ focus: () => boolean;
17
+ serialize: () => any;
18
+ }
19
+ export default ExampleWidgetEditor;
@@ -0,0 +1,26 @@
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$prop_2d_types from "prop-types";
8
+ import * as React from "react";
9
+ declare type Props = any;
10
+ /**
11
+ * This is the widget's editor. This is what shows up on the left side
12
+ * of the screen in the demo. Only the question writer sees this.
13
+ */
14
+ declare class ExampleWidgetEditor extends React.Component<Props> {
15
+ static propTypes: {|
16
+ onChange: $Flowgen$Import$prop_2d_types.Validator<(...args: any[]) => any>,
17
+ |};
18
+ static widgetName: "example-widget";
19
+ static defaultProps: Props;
20
+ handleAnswerChange: (arg1: SyntheticInputEvent<HTMLInputElement>) => void;
21
+ render(): React.Node;
22
+ change: (arg1: any, arg2: any, arg3: any) => any;
23
+ focus: () => boolean;
24
+ serialize: () => any;
25
+ }
26
+ declare export default typeof ExampleWidgetEditor;
@@ -0,0 +1,71 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ /**
4
+ * This is the widget's renderer. It shows up in the right column
5
+ * in the demo, and is what is visible to users, and where
6
+ * users enter their answers.
7
+ */
8
+ declare class ExampleWidget extends React.Component<any> {
9
+ static propTypes: {
10
+ value: PropTypes.Requireable<string>;
11
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
12
+ };
13
+ static defaultProps: any;
14
+ /**
15
+ * This is the widget's grading function. simpleValidate generally
16
+ * defers to this function.
17
+ *
18
+ * value is usually the result of getUserInput on the widget
19
+ * rubric is the result of calling serialize() on the editor
20
+ */
21
+ static validate(value: string, rubric: any): any;
22
+ /**
23
+ * Tell our parent to update our props.
24
+ */
25
+ change: (arg1: any, arg2: any, arg3: any) => any;
26
+ render(): React.ReactNode;
27
+ getUserInput: () => string;
28
+ /**
29
+ * Widgets that are focusable should add a focus method that returns
30
+ * true if focusing succeeded. The first such widget found will be
31
+ * focused on page load.
32
+ */
33
+ focus: () => boolean;
34
+ /**
35
+ * simpleValidate is called for grading. Rubric is the result of calling
36
+ * getUserInput() on the editor that created this widget.
37
+ *
38
+ * Should return an object representing the grading result, such as
39
+ * {
40
+ * type: "points",
41
+ * earned: 1,
42
+ * total: 1,
43
+ * message: null
44
+ * }
45
+ */
46
+ simpleValidate: (arg1: any) => any;
47
+ }
48
+ /**
49
+ * For this widget to work, we must import this file in src/all-widgets.js
50
+ */
51
+ declare const _default: Readonly<{
52
+ name: string;
53
+ displayName: string;
54
+ getWidget?: (() => typeof ExampleWidget) | undefined;
55
+ accessible?: boolean | ((props: any) => boolean) | undefined;
56
+ hidden?: boolean | undefined;
57
+ version?: import("@khanacademy/perseus").Version | undefined;
58
+ supportedAlignments?: readonly import("@khanacademy/perseus").Alignment[] | undefined;
59
+ defaultAlignment?: import("@khanacademy/perseus").Alignment | undefined;
60
+ getDefaultAlignment?: (() => import("@khanacademy/perseus").Alignment) | undefined;
61
+ isLintable?: boolean | undefined;
62
+ transform?: import("../../../perseus/src/types").WidgetTransform | undefined;
63
+ tracking?: import("../../../perseus/src/types").Tracking | undefined;
64
+ staticTransform?: import("../../../perseus/src/types").WidgetTransform | undefined;
65
+ traverseChildWidgets?: any;
66
+ propUpgrades?: {
67
+ [key: string]: (arg1: any) => any;
68
+ } | undefined;
69
+ widget: typeof ExampleWidget;
70
+ }>;
71
+ export default _default;
@@ -0,0 +1,86 @@
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$_40_khanacademy_2f_perseus from "@khanacademy/perseus";
8
+ import * as $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types from "../../../perseus/src/types";
9
+ import PropTypes from "prop-types";
10
+ import * as React from "react";
11
+
12
+ /**
13
+ * This is the widget's renderer. It shows up in the right column
14
+ * in the demo, and is what is visible to users, and where
15
+ * users enter their answers.
16
+ */
17
+ declare class ExampleWidget extends React.Component<any> {
18
+ static propTypes: {|
19
+ value: PropTypes.Requireable<string>,
20
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
21
+ |};
22
+ static defaultProps: any;
23
+
24
+ /**
25
+ * This is the widget's grading function. simpleValidate generally
26
+ * defers to this function.
27
+ *
28
+ * value is usually the result of getUserInput on the widget
29
+ * rubric is the result of calling serialize() on the editor
30
+ */
31
+ static validate(value: string, rubric: any): any;
32
+
33
+ /**
34
+ * Tell our parent to update our props.
35
+ */
36
+ change: (arg1: any, arg2: any, arg3: any) => any;
37
+ render(): React.Node;
38
+ getUserInput: () => string;
39
+
40
+ /**
41
+ * Widgets that are focusable should add a focus method that returns
42
+ * true if focusing succeeded. The first such widget found will be
43
+ * focused on page load.
44
+ */
45
+ focus: () => boolean;
46
+
47
+ /**
48
+ * simpleValidate is called for grading. Rubric is the result of calling
49
+ * getUserInput() on the editor that created this widget.
50
+ *
51
+ * Should return an object representing the grading result, such as
52
+ * {
53
+ * type: "points",
54
+ * earned: 1,
55
+ * total: 1,
56
+ * message: null
57
+ * }
58
+ */
59
+ simpleValidate: (arg1: any) => any;
60
+ }
61
+ /**
62
+ * For this widget to work, we must import this file in src/all-widgets.js
63
+ */
64
+ declare var _default: $ReadOnly<{|
65
+ name: string,
66
+ displayName: string,
67
+ getWidget?: (() => typeof ExampleWidget) | void,
68
+ accessible?: boolean | ((props: any) => boolean) | void,
69
+ hidden?: boolean | void,
70
+ version?: $Flowgen$Import$_40_khanacademy_2f_perseus.Version | void,
71
+ supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_40_khanacademy_2f_perseus.Alignment> | void,
72
+ defaultAlignment?: $Flowgen$Import$_40_khanacademy_2f_perseus.Alignment | void,
73
+ getDefaultAlignment?:
74
+ | (() => $Flowgen$Import$_40_khanacademy_2f_perseus.Alignment)
75
+ | void,
76
+ isLintable?: boolean | void,
77
+ transform?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.WidgetTransform | void,
78
+ tracking?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.Tracking | void,
79
+ staticTransform?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.WidgetTransform | void,
80
+ traverseChildWidgets?: any,
81
+ propUpgrades?: {
82
+ [key: string]: (arg1: any) => any,
83
+ } | void,
84
+ widget: typeof ExampleWidget,
85
+ |}>;
86
+ declare export default typeof _default;
@@ -0,0 +1,21 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ type State = any;
5
+ declare class ExplanationEditor extends React.Component<Props, State> {
6
+ static propTypes: {
7
+ showPrompt: PropTypes.Requireable<string>;
8
+ hidePrompt: PropTypes.Requireable<string>;
9
+ explanation: PropTypes.Requireable<string>;
10
+ widgets: PropTypes.Requireable<object>;
11
+ apiOptions: PropTypes.Requireable<any>;
12
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
13
+ };
14
+ static widgetName: "explanation";
15
+ static defaultProps: Props;
16
+ state: State;
17
+ change: (arg1: any, arg2: any, arg3: any) => any;
18
+ serialize: () => any;
19
+ render(): React.ReactNode;
20
+ }
21
+ export default ExplanationEditor;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Flowtype definitions for data
3
+ * Generated by Flowgen from a Typescript Definition
4
+ * Flowgen v1.21.0
5
+ * @flow
6
+ */
7
+ import PropTypes from "prop-types";
8
+ import * as React from "react";
9
+ declare type Props = any;
10
+ declare type State = any;
11
+ declare class ExplanationEditor extends React.Component<Props, State> {
12
+ static propTypes: {|
13
+ showPrompt: PropTypes.Requireable<string>,
14
+ hidePrompt: PropTypes.Requireable<string>,
15
+ explanation: PropTypes.Requireable<string>,
16
+ widgets: PropTypes.Requireable<{ ... }>,
17
+ apiOptions: PropTypes.Requireable<any>,
18
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
19
+ |};
20
+ static widgetName: "explanation";
21
+ static defaultProps: Props;
22
+ state: State;
23
+ change: (arg1: any, arg2: any, arg3: any) => any;
24
+ serialize: () => any;
25
+ render(): React.Node;
26
+ }
27
+ declare export default typeof ExplanationEditor;
@@ -0,0 +1,33 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ declare class ExpressionEditor extends React.Component<any, any> {
4
+ static propTypes: {
5
+ answerForms: PropTypes.Requireable<(PropTypes.InferProps<{
6
+ considered: PropTypes.Validator<string>;
7
+ value: PropTypes.Validator<string>;
8
+ form: PropTypes.Validator<boolean>;
9
+ simplify: PropTypes.Validator<boolean>;
10
+ }> | null | undefined)[]>;
11
+ times: PropTypes.Requireable<boolean>;
12
+ buttonSets: any;
13
+ functions: PropTypes.Requireable<(string | null | undefined)[]>;
14
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
15
+ };
16
+ static widgetName: "expression";
17
+ static defaultProps: any;
18
+ constructor(props: any);
19
+ change: (arg1: any, arg2: any, arg3: any) => any;
20
+ render(): React.ReactNode;
21
+ serialize: () => any;
22
+ getSaveWarnings: () => any;
23
+ _newEmptyAnswerForm: () => any;
24
+ newAnswer: () => void;
25
+ handleRemoveForm: (arg1: number) => void;
26
+ updateForm: (arg1: number, arg2: any) => void;
27
+ handleReorder: (arg1: any) => void;
28
+ handleButtonSet: (arg1: string) => void;
29
+ handleToggleDiv: () => void;
30
+ handleTexInsert: (arg1: string) => void;
31
+ handleFunctions: (arg1: React.ChangeEvent<HTMLInputElement>) => void;
32
+ }
33
+ export default ExpressionEditor;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Flowtype definitions for data
3
+ * Generated by Flowgen from a Typescript Definition
4
+ * Flowgen v1.21.0
5
+ * @flow
6
+ */
7
+ import PropTypes from "prop-types";
8
+ import * as React from "react";
9
+ declare class ExpressionEditor extends React.Component<any, any> {
10
+ static propTypes: {|
11
+ answerForms: PropTypes.Requireable<
12
+ (PropTypes.InferProps<{|
13
+ considered: PropTypes.Validator<string>,
14
+ value: PropTypes.Validator<string>,
15
+ form: PropTypes.Validator<boolean>,
16
+ simplify: PropTypes.Validator<boolean>,
17
+ |}> | null | void)[]
18
+ >,
19
+ times: PropTypes.Requireable<boolean>,
20
+ buttonSets: any,
21
+ functions: PropTypes.Requireable<(string | null | void)[]>,
22
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
23
+ |};
24
+ static widgetName: "expression";
25
+ static defaultProps: any;
26
+ constructor(props: any): this;
27
+ change: (arg1: any, arg2: any, arg3: any) => any;
28
+ render(): React.Node;
29
+ serialize: () => any;
30
+ getSaveWarnings: () => any;
31
+ _newEmptyAnswerForm: () => any;
32
+ newAnswer: () => void;
33
+ handleRemoveForm: (arg1: number) => void;
34
+ updateForm: (arg1: number, arg2: any) => void;
35
+ handleReorder: (arg1: any) => void;
36
+ handleButtonSet: (arg1: string) => void;
37
+ handleToggleDiv: () => void;
38
+ handleTexInsert: (arg1: string) => void;
39
+ handleFunctions: (arg1: SyntheticInputEvent<HTMLInputElement>) => void;
40
+ }
41
+ declare export default typeof ExpressionEditor;
@@ -0,0 +1,53 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class GradedGroupEditor extends React.Component<Props> {
5
+ static propTypes: {
6
+ title: PropTypes.Requireable<string>;
7
+ content: PropTypes.Requireable<string>;
8
+ widgets: PropTypes.Requireable<object>;
9
+ images: PropTypes.Requireable<object>;
10
+ apiOptions: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
11
+ isArticle: PropTypes.Validator<boolean>;
12
+ onInputError: PropTypes.Validator<(...args: any[]) => any>;
13
+ onFocusChange: PropTypes.Validator<(...args: any[]) => any>;
14
+ GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>;
15
+ showAlignmentOptions: PropTypes.Validator<boolean>;
16
+ readOnly: PropTypes.Validator<boolean>;
17
+ answerableCallback: PropTypes.Requireable<(...args: any[]) => any>;
18
+ getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>;
19
+ interactionCallback: PropTypes.Requireable<(...args: any[]) => any>;
20
+ groupAnnotator: PropTypes.Validator<(...args: any[]) => any>;
21
+ imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
22
+ widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
23
+ baseElements: PropTypes.Requireable<PropTypes.InferProps<{
24
+ Link: PropTypes.Requireable<(...args: any[]) => any>;
25
+ }>>;
26
+ imagePreloader: PropTypes.Requireable<(...args: any[]) => any>;
27
+ trackInteraction: PropTypes.Requireable<(...args: any[]) => any>;
28
+ customKeypad: PropTypes.Requireable<boolean>;
29
+ nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
30
+ isMobile: PropTypes.Requireable<boolean>;
31
+ setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
32
+ useDraftEditor: PropTypes.Requireable<boolean>;
33
+ hintProgressColor: PropTypes.Requireable<string>;
34
+ canScrollPage: PropTypes.Requireable<boolean>;
35
+ inModal: PropTypes.Requireable<boolean>;
36
+ crossOutEnabled: PropTypes.Requireable<boolean>;
37
+ editorChangeDelay: PropTypes.Requireable<number>;
38
+ }>>>;
39
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
40
+ };
41
+ static widgetName: "graded-group";
42
+ static defaultProps: Props;
43
+ change: (arg1: any, arg2: any, arg3: any) => any;
44
+ handleAddHint: () => void;
45
+ handleRemoveHint: (arg1: React.MouseEvent) => void;
46
+ render(): React.ReactNode;
47
+ getSaveWarnings: () => any;
48
+ serialize: () => {
49
+ title: string;
50
+ hint: any | null | undefined;
51
+ };
52
+ }
53
+ export default GradedGroupEditor;