@khanacademy/perseus-editor 1.1.1 → 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 +14 -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,36 @@
1
+ import * as React from "react";
2
+ import type { APIOptions, ImageUploader, ChangeHandler } from "@khanacademy/perseus";
3
+ type Props = {
4
+ apiOptions?: APIOptions;
5
+ deviceType?: string;
6
+ gradeMessage?: string;
7
+ imageUploader?: ImageUploader;
8
+ wasAnswered?: boolean;
9
+ question?: any;
10
+ answerArea?: any;
11
+ previewURL: string;
12
+ onChange: ChangeHandler;
13
+ itemId?: string;
14
+ };
15
+ declare class ItemEditor extends React.Component<Props> {
16
+ static defaultProps: {
17
+ answerArea: Record<any, any>;
18
+ onChange: () => void;
19
+ question: Record<any, any>;
20
+ };
21
+ updateProps: ChangeHandler;
22
+ triggerPreviewUpdate: (newData?: any) => void;
23
+ handleEditorChange: ChangeHandler;
24
+ handleItemExtrasChange: ChangeHandler;
25
+ getSaveWarnings: () => any;
26
+ serialize: (options?: any) => {
27
+ answerArea: any;
28
+ itemDataVersion: {
29
+ major: number;
30
+ minor: number;
31
+ };
32
+ question: any;
33
+ };
34
+ render(): React.ReactNode;
35
+ }
36
+ export default ItemEditor;
@@ -0,0 +1,46 @@
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
+ APIOptions,
10
+ ImageUploader,
11
+ ChangeHandler,
12
+ } from "@khanacademy/perseus";
13
+ declare type Props = {|
14
+ apiOptions?: APIOptions,
15
+ deviceType?: string,
16
+ gradeMessage?: string,
17
+ imageUploader?: ImageUploader,
18
+ wasAnswered?: boolean,
19
+ question?: any,
20
+ answerArea?: any,
21
+ previewURL: string,
22
+ onChange: ChangeHandler,
23
+ itemId?: string,
24
+ |};
25
+ declare class ItemEditor extends React.Component<Props> {
26
+ static defaultProps: {|
27
+ answerArea: { [key: any]: any },
28
+ onChange: () => void,
29
+ question: { [key: any]: any },
30
+ |};
31
+ updateProps: ChangeHandler;
32
+ triggerPreviewUpdate: (newData?: any) => void;
33
+ handleEditorChange: ChangeHandler;
34
+ handleItemExtrasChange: ChangeHandler;
35
+ getSaveWarnings: () => any;
36
+ serialize: (options?: any) => {|
37
+ answerArea: any,
38
+ itemDataVersion: {|
39
+ major: number,
40
+ minor: number,
41
+ |},
42
+ question: any,
43
+ |};
44
+ render(): React.Node;
45
+ }
46
+ declare export default typeof ItemEditor;
@@ -0,0 +1,17 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class ItemExtrasEditor extends React.Component<Props> {
5
+ static propTypes: {
6
+ calculator: PropTypes.Requireable<boolean>;
7
+ chi2Table: PropTypes.Requireable<boolean>;
8
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
9
+ periodicTable: PropTypes.Requireable<boolean>;
10
+ tTable: PropTypes.Requireable<boolean>;
11
+ zTable: PropTypes.Requireable<boolean>;
12
+ };
13
+ static defaultProps: Props;
14
+ serialize: () => any;
15
+ render(): React.ReactNode;
16
+ }
17
+ export default ItemExtrasEditor;
@@ -0,0 +1,23 @@
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 class ItemExtrasEditor extends React.Component<Props> {
11
+ static propTypes: {|
12
+ calculator: PropTypes.Requireable<boolean>,
13
+ chi2Table: PropTypes.Requireable<boolean>,
14
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
15
+ periodicTable: PropTypes.Requireable<boolean>,
16
+ tTable: PropTypes.Requireable<boolean>,
17
+ zTable: PropTypes.Requireable<boolean>,
18
+ |};
19
+ static defaultProps: Props;
20
+ serialize: () => any;
21
+ render(): React.Node;
22
+ }
23
+ declare export default typeof ItemExtrasEditor;
@@ -0,0 +1,16 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ type State = any;
5
+ declare class KatexErrorView extends React.Component<Props, State> {
6
+ static propTypes: {
7
+ errorList: PropTypes.Validator<(PropTypes.InferProps<{
8
+ math: PropTypes.Validator<string>;
9
+ message: PropTypes.Validator<string>;
10
+ }> | null | undefined)[]>;
11
+ };
12
+ state: State;
13
+ handleToggleKatexErrors: (arg1: React.MouseEvent) => void;
14
+ render(): React.ReactNode;
15
+ }
16
+ export default KatexErrorView;
@@ -0,0 +1,24 @@
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 KatexErrorView extends React.Component<Props, State> {
12
+ static propTypes: {|
13
+ errorList: PropTypes.Validator<
14
+ (PropTypes.InferProps<{|
15
+ math: PropTypes.Validator<string>,
16
+ message: PropTypes.Validator<string>,
17
+ |}> | null | void)[]
18
+ >,
19
+ |};
20
+ state: State;
21
+ handleToggleKatexErrors: (arg1: SyntheticMouseEvent<>) => void;
22
+ render(): React.Node;
23
+ }
24
+ declare export default typeof KatexErrorView;
@@ -0,0 +1,32 @@
1
+ import * as React from "react";
2
+ import type { APIOptions, ChangeHandler, EditorMode, Item, Shape } from "@khanacademy/perseus";
3
+ type Path = ReadonlyArray<any>;
4
+ interface LayoutStatics {
5
+ shape: Shape;
6
+ }
7
+ type MultiRendererEditorProps = {
8
+ Layout: React.ComponentType<any> & LayoutStatics;
9
+ apiOptions: APIOptions;
10
+ item: Item;
11
+ editorMode: EditorMode;
12
+ onChange: ChangeHandler;
13
+ };
14
+ declare class MultiRendererEditor extends React.Component<MultiRendererEditorProps> {
15
+ layout: React.ElementRef<any> | null | undefined;
16
+ _renderLayout: () => React.ReactElement;
17
+ _renderJson: () => React.ReactElement<React.ComponentProps<"div">>;
18
+ _renderPreview: () => React.ReactElement<React.ComponentProps<"div">>;
19
+ mergeValueAtPath: (path: Path, newValue?: any) => void;
20
+ setValueAtPath: (path: Path, newValue?: any) => void;
21
+ addArrayElement: (path: Path, shape: Shape) => void;
22
+ removeArrayElement: (path: Path) => void;
23
+ moveArrayElementDown: (path: Path) => void;
24
+ moveArrayElementUp: (path: Path) => void;
25
+ _renderEdit: () => React.ReactElement<React.ComponentProps<"div">>;
26
+ score: () => any | undefined;
27
+ getSerializedState: () => any | undefined;
28
+ restoreSerializedState: (state?: any) => void;
29
+ _renderContent: () => React.ReactElement<React.ComponentProps<"div">> | React.ReactNode;
30
+ render(): React.ReactNode;
31
+ }
32
+ export default MultiRendererEditor;
@@ -0,0 +1,46 @@
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
+ APIOptions,
10
+ ChangeHandler,
11
+ EditorMode,
12
+ Item,
13
+ Shape,
14
+ } from "@khanacademy/perseus";
15
+ declare type Path = $ReadOnlyArray<any>;
16
+ declare interface LayoutStatics {
17
+ shape: Shape;
18
+ }
19
+ declare type MultiRendererEditorProps = {|
20
+ Layout: {| ...React.ComponentType<any>, ...LayoutStatics |},
21
+ apiOptions: APIOptions,
22
+ item: Item,
23
+ editorMode: EditorMode,
24
+ onChange: ChangeHandler,
25
+ |};
26
+ declare class MultiRendererEditor
27
+ extends React.Component<MultiRendererEditorProps>
28
+ {
29
+ layout: React.ElementRef<any> | null | void;
30
+ _renderLayout: () => React.Element<any>;
31
+ _renderJson: () => React.Element<"div">;
32
+ _renderPreview: () => React.Element<"div">;
33
+ mergeValueAtPath: (path: Path, newValue?: any) => void;
34
+ setValueAtPath: (path: Path, newValue?: any) => void;
35
+ addArrayElement: (path: Path, shape: Shape) => void;
36
+ removeArrayElement: (path: Path) => void;
37
+ moveArrayElementDown: (path: Path) => void;
38
+ moveArrayElementUp: (path: Path) => void;
39
+ _renderEdit: () => React.Element<"div">;
40
+ score: () => any | void;
41
+ getSerializedState: () => any | void;
42
+ restoreSerializedState: (state?: any) => void;
43
+ _renderContent: () => React.Element<"div"> | React.Node;
44
+ render(): React.Node;
45
+ }
46
+ declare export default typeof MultiRendererEditor;
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ declare const InlineIcon: React.FC<import("../../perseus/src/components/inline-icon").InlineIconProps>;
3
+ type InlineIconProps = JSX.LibraryManagedAttributes<typeof InlineIcon, React.ComponentProps<typeof InlineIcon>>;
4
+ type SectionControlButtonProps = {
5
+ icon: InlineIconProps;
6
+ onClick: () => unknown;
7
+ title: string;
8
+ };
9
+ export default class SectionControlButton extends React.Component<SectionControlButtonProps> {
10
+ render(): React.ReactNode;
11
+ }
12
+ export {};
@@ -0,0 +1,20 @@
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__2e__2e__2f_perseus_2f_src_2f_components_2f_inline_2d_icon from "../../perseus/src/components/inline-icon";
8
+ import * as React from "react";
9
+ declare var InlineIcon: React.StatelessFunctionalComponent<$Flowgen$Import$_2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_components_2f_inline_2d_icon.InlineIconProps>;
10
+ declare type InlineIconProps = React.ElementConfig<typeof InlineIcon>;
11
+ declare type SectionControlButtonProps = {|
12
+ icon: InlineIconProps,
13
+ onClick: () => mixed,
14
+ title: string,
15
+ |};
16
+ declare export default class SectionControlButton
17
+ extends React.Component<SectionControlButtonProps>
18
+ {
19
+ render(): React.Node;
20
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Renders an ArticleEditor as a non-controlled component.
3
+ *
4
+ * Normally the parent of ArticleEditor must pass it an onChange callback and
5
+ * then respond to any changes by modifying the ArticleEditor props to reflect
6
+ * those changes. With StatefulArticleEditor changes are stored in state so you
7
+ * can query them with serialize.
8
+ */
9
+ declare const StatefulArticleEditor: any;
10
+ export default StatefulArticleEditor;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Flowtype definitions for data
3
+ * Generated by Flowgen from a Typescript Definition
4
+ * Flowgen v1.21.0
5
+ * @flow
6
+ */
7
+ /**
8
+ * Renders an ArticleEditor as a non-controlled component.
9
+ *
10
+ * Normally the parent of ArticleEditor must pass it an onChange callback and
11
+ * then respond to any changes by modifying the ArticleEditor props to reflect
12
+ * those changes. With StatefulArticleEditor changes are stored in state so you
13
+ * can query them with serialize.
14
+ */
15
+ declare var StatefulArticleEditor: any;
16
+ declare export default typeof StatefulArticleEditor;
@@ -0,0 +1,2 @@
1
+ declare const StatefulEditorPage: any;
2
+ export default StatefulEditorPage;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Flowtype definitions for data
3
+ * Generated by Flowgen from a Typescript Definition
4
+ * Flowgen v1.21.0
5
+ * @flow
6
+ */
7
+ declare var StatefulEditorPage: any;
8
+ declare export default typeof StatefulEditorPage;
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ declare const _default: readonly Readonly<{
3
+ name: string;
4
+ displayName: string;
5
+ getWidget?: (() => import("react").ComponentType<any>) | undefined;
6
+ accessible?: boolean | ((props: any) => boolean) | undefined;
7
+ hidden?: boolean | undefined;
8
+ version?: import("@khanacademy/perseus").Version | undefined;
9
+ supportedAlignments?: readonly import("@khanacademy/perseus").Alignment[] | undefined;
10
+ defaultAlignment?: import("@khanacademy/perseus").Alignment | undefined;
11
+ getDefaultAlignment?: (() => import("@khanacademy/perseus").Alignment) | undefined;
12
+ isLintable?: boolean | undefined;
13
+ transform?: import("../../perseus/src/types").WidgetTransform | undefined;
14
+ tracking?: import("../../perseus/src/types").Tracking | undefined;
15
+ staticTransform?: import("../../perseus/src/types").WidgetTransform | undefined;
16
+ traverseChildWidgets?: any;
17
+ propUpgrades?: {
18
+ [key: string]: (arg1: any) => any;
19
+ } | undefined;
20
+ widget: import("react").ComponentType<any>;
21
+ }>[];
22
+ export default _default;
@@ -0,0 +1,34 @@
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$react from "react";
8
+ import * as $Flowgen$Import$_40_khanacademy_2f_perseus from "@khanacademy/perseus";
9
+ import * as $Flowgen$Import$_2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types from "../../perseus/src/types";
10
+ declare var _default: $ReadOnlyArray<
11
+ $ReadOnly<{|
12
+ name: string,
13
+ displayName: string,
14
+ getWidget?: (() => $Flowgen$Import$react.ComponentType<any>) | void,
15
+ accessible?: boolean | ((props: any) => boolean) | void,
16
+ hidden?: boolean | void,
17
+ version?: $Flowgen$Import$_40_khanacademy_2f_perseus.Version | void,
18
+ supportedAlignments?: $ReadOnlyArray<$Flowgen$Import$_40_khanacademy_2f_perseus.Alignment> | void,
19
+ defaultAlignment?: $Flowgen$Import$_40_khanacademy_2f_perseus.Alignment | void,
20
+ getDefaultAlignment?:
21
+ | (() => $Flowgen$Import$_40_khanacademy_2f_perseus.Alignment)
22
+ | void,
23
+ isLintable?: boolean | void,
24
+ transform?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.WidgetTransform | void,
25
+ tracking?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.Tracking | void,
26
+ staticTransform?: $Flowgen$Import$_2e__2e__2f__2e__2e__2f_perseus_2f_src_2f_types.WidgetTransform | void,
27
+ traverseChildWidgets?: any,
28
+ propUpgrades?: {
29
+ [key: string]: (arg1: any) => any,
30
+ } | void,
31
+ widget: $Flowgen$Import$react.ComponentType<any>,
32
+ |}>
33
+ >;
34
+ declare export default typeof _default;
@@ -0,0 +1 @@
1
+ export declare const registerAllWidgetsAndEditorsForTesting: () => void;
@@ -0,0 +1,7 @@
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 registerAllWidgetsAndEditorsForTesting: () => void;
@@ -0,0 +1,47 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class CategorizerEditor extends React.Component<Props> {
5
+ static propTypes: {
6
+ apiOptions: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
7
+ isArticle: PropTypes.Validator<boolean>;
8
+ onInputError: PropTypes.Validator<(...args: any[]) => any>;
9
+ onFocusChange: PropTypes.Validator<(...args: any[]) => any>;
10
+ GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>;
11
+ showAlignmentOptions: PropTypes.Validator<boolean>;
12
+ readOnly: PropTypes.Validator<boolean>;
13
+ answerableCallback: PropTypes.Requireable<(...args: any[]) => any>;
14
+ getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>;
15
+ interactionCallback: PropTypes.Requireable<(...args: any[]) => any>;
16
+ groupAnnotator: PropTypes.Validator<(...args: any[]) => any>;
17
+ imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
18
+ widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
+ baseElements: PropTypes.Requireable<PropTypes.InferProps<{
20
+ Link: PropTypes.Requireable<(...args: any[]) => any>;
21
+ }>>;
22
+ imagePreloader: PropTypes.Requireable<(...args: any[]) => any>;
23
+ trackInteraction: PropTypes.Requireable<(...args: any[]) => any>;
24
+ customKeypad: PropTypes.Requireable<boolean>;
25
+ nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>;
26
+ isMobile: PropTypes.Requireable<boolean>;
27
+ setDrawingAreaAvailable: PropTypes.Requireable<(...args: any[]) => any>;
28
+ useDraftEditor: PropTypes.Requireable<boolean>;
29
+ hintProgressColor: PropTypes.Requireable<string>;
30
+ canScrollPage: PropTypes.Requireable<boolean>;
31
+ inModal: PropTypes.Requireable<boolean>;
32
+ crossOutEnabled: PropTypes.Requireable<boolean>;
33
+ editorChangeDelay: PropTypes.Requireable<number>;
34
+ }>>>;
35
+ items: PropTypes.Requireable<(string | null | undefined)[]>;
36
+ categories: PropTypes.Requireable<(string | null | undefined)[]>;
37
+ values: PropTypes.Requireable<(number | null | undefined)[]>;
38
+ randomizeItems: PropTypes.Requireable<boolean>;
39
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
40
+ };
41
+ static widgetName: "categorizer";
42
+ static defaultProps: Props;
43
+ change: (arg1: any, arg2: any, arg3: any) => any;
44
+ serialize: () => any;
45
+ render(): React.ReactNode;
46
+ }
47
+ export default CategorizerEditor;
@@ -0,0 +1,61 @@
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 class CategorizerEditor extends React.Component<Props> {
11
+ static propTypes: {|
12
+ apiOptions: PropTypes.Validator<
13
+ $NonMaybeType<
14
+ PropTypes.InferProps<{|
15
+ isArticle: PropTypes.Validator<boolean>,
16
+ onInputError: PropTypes.Validator<(...args: any[]) => any>,
17
+ onFocusChange: PropTypes.Validator<(...args: any[]) => any>,
18
+ GroupMetadataEditor: PropTypes.Validator<(...args: any[]) => any>,
19
+ showAlignmentOptions: PropTypes.Validator<boolean>,
20
+ readOnly: PropTypes.Validator<boolean>,
21
+ answerableCallback: PropTypes.Requireable<(...args: any[]) => any>,
22
+ getAnotherHint: PropTypes.Requireable<(...args: any[]) => any>,
23
+ interactionCallback: PropTypes.Requireable<(...args: any[]) => any>,
24
+ groupAnnotator: PropTypes.Validator<(...args: any[]) => any>,
25
+ imagePlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>,
26
+ widgetPlaceholder: PropTypes.Requireable<PropTypes.ReactNodeLike>,
27
+ baseElements: PropTypes.Requireable<
28
+ PropTypes.InferProps<{|
29
+ Link: PropTypes.Requireable<(...args: any[]) => any>,
30
+ |}>
31
+ >,
32
+ imagePreloader: PropTypes.Requireable<(...args: any[]) => any>,
33
+ trackInteraction: PropTypes.Requireable<(...args: any[]) => any>,
34
+ customKeypad: PropTypes.Requireable<boolean>,
35
+ nativeKeypadProxy: PropTypes.Requireable<(...args: any[]) => any>,
36
+ isMobile: PropTypes.Requireable<boolean>,
37
+ setDrawingAreaAvailable: PropTypes.Requireable<
38
+ (...args: any[]) => any
39
+ >,
40
+ useDraftEditor: PropTypes.Requireable<boolean>,
41
+ hintProgressColor: PropTypes.Requireable<string>,
42
+ canScrollPage: PropTypes.Requireable<boolean>,
43
+ inModal: PropTypes.Requireable<boolean>,
44
+ crossOutEnabled: PropTypes.Requireable<boolean>,
45
+ editorChangeDelay: PropTypes.Requireable<number>,
46
+ |}>
47
+ >
48
+ >,
49
+ items: PropTypes.Requireable<(string | null | void)[]>,
50
+ categories: PropTypes.Requireable<(string | null | void)[]>,
51
+ values: PropTypes.Requireable<(number | null | void)[]>,
52
+ randomizeItems: PropTypes.Requireable<boolean>,
53
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
54
+ |};
55
+ static widgetName: "categorizer";
56
+ static defaultProps: Props;
57
+ change: (arg1: any, arg2: any, arg3: any) => any;
58
+ serialize: () => any;
59
+ render(): React.Node;
60
+ }
61
+ declare export default typeof CategorizerEditor;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * This editor is for embedding Khan Academy CS programs.
3
+ */
4
+ import PropTypes from "prop-types";
5
+ import * as React from "react";
6
+ /**
7
+ * This is the main editor for this widget, to specify all the options.
8
+ */
9
+ declare class CSProgramEditor extends React.Component<any> {
10
+ static propTypes: {
11
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
12
+ };
13
+ static widgetName: "cs-program";
14
+ static defaultProps: any;
15
+ change: (...args: ReadonlyArray<unknown>) => any;
16
+ _handleSettingsChange: (arg1: any) => void;
17
+ _handleProgramIDChange: (arg1: string) => void;
18
+ serialize: () => any;
19
+ render(): React.ReactNode;
20
+ }
21
+ export default CSProgramEditor;
@@ -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 PropTypes from "prop-types";
8
+ import * as React from "react";
9
+
10
+ /**
11
+ * This is the main editor for this widget, to specify all the options.
12
+ */
13
+ declare class CSProgramEditor extends React.Component<any> {
14
+ static propTypes: {|
15
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
16
+ |};
17
+ static widgetName: "cs-program";
18
+ static defaultProps: any;
19
+ change: (...args: $ReadOnlyArray<mixed>) => any;
20
+ _handleSettingsChange: (arg1: any) => void;
21
+ _handleProgramIDChange: (arg1: string) => void;
22
+ serialize: () => any;
23
+ render(): React.Node;
24
+ }
25
+ declare export default typeof CSProgramEditor;
@@ -0,0 +1,17 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class DefinitionEditor extends React.Component<Props> {
5
+ static propTypes: {
6
+ togglePrompt: PropTypes.Requireable<string>;
7
+ definition: PropTypes.Requireable<string>;
8
+ apiOptions: PropTypes.Requireable<any>;
9
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
10
+ };
11
+ static widgetName: "definition";
12
+ static defaultProps: Props;
13
+ change: (arg1: any, arg2: any, arg3: any) => any;
14
+ serialize: () => any;
15
+ render(): React.ReactNode;
16
+ }
17
+ export default DefinitionEditor;
@@ -0,0 +1,23 @@
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 class DefinitionEditor extends React.Component<Props> {
11
+ static propTypes: {|
12
+ togglePrompt: PropTypes.Requireable<string>,
13
+ definition: PropTypes.Requireable<string>,
14
+ apiOptions: PropTypes.Requireable<any>,
15
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
16
+ |};
17
+ static widgetName: "definition";
18
+ static defaultProps: Props;
19
+ change: (arg1: any, arg2: any, arg3: any) => any;
20
+ serialize: () => any;
21
+ render(): React.Node;
22
+ }
23
+ declare export default typeof DefinitionEditor;
@@ -0,0 +1,23 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class DropdownEditor extends React.Component<Props> {
5
+ static propTypes: {
6
+ choices: PropTypes.Requireable<(PropTypes.InferProps<{
7
+ content: PropTypes.Requireable<string>;
8
+ correct: PropTypes.Requireable<boolean>;
9
+ }> | null | undefined)[]>;
10
+ placeholder: PropTypes.Requireable<string>;
11
+ };
12
+ static widgetName: "dropdown";
13
+ static defaultProps: Props;
14
+ onPlaceholderChange: (arg1: React.ChangeEvent<HTMLInputElement>) => void;
15
+ onCorrectChange: (arg1: number, arg2: React.ChangeEvent<HTMLInputElement>) => void;
16
+ onContentChange: (arg1: number, arg2: React.ChangeEvent<HTMLInputElement>) => void;
17
+ addChoice: (arg1: React.MouseEvent) => void;
18
+ removeChoice: (arg1: number, arg2: React.MouseEvent) => void;
19
+ focus: (arg1: number) => boolean;
20
+ serialize: () => any;
21
+ render(): React.ReactNode;
22
+ }
23
+ export default DropdownEditor;
@@ -0,0 +1,37 @@
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 class DropdownEditor extends React.Component<Props> {
11
+ static propTypes: {|
12
+ choices: PropTypes.Requireable<
13
+ (PropTypes.InferProps<{|
14
+ content: PropTypes.Requireable<string>,
15
+ correct: PropTypes.Requireable<boolean>,
16
+ |}> | null | void)[]
17
+ >,
18
+ placeholder: PropTypes.Requireable<string>,
19
+ |};
20
+ static widgetName: "dropdown";
21
+ static defaultProps: Props;
22
+ onPlaceholderChange: (arg1: SyntheticInputEvent<HTMLInputElement>) => void;
23
+ onCorrectChange: (
24
+ arg1: number,
25
+ arg2: SyntheticInputEvent<HTMLInputElement>
26
+ ) => void;
27
+ onContentChange: (
28
+ arg1: number,
29
+ arg2: SyntheticInputEvent<HTMLInputElement>
30
+ ) => void;
31
+ addChoice: (arg1: SyntheticMouseEvent<>) => void;
32
+ removeChoice: (arg1: number, arg2: SyntheticMouseEvent<>) => void;
33
+ focus: (arg1: number) => boolean;
34
+ serialize: () => any;
35
+ render(): React.Node;
36
+ }
37
+ declare export default typeof DropdownEditor;