@khanacademy/perseus-editor 1.1.1 → 2.0.1

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 (311) hide show
  1. package/.babelrc.js +1 -1
  2. package/.eslintrc.js +1 -0
  3. package/CHANGELOG.md +27 -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 +4006 -5409
  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 +7 -6
  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
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Controlled list of answer choices, handles adding and removing answers.
3
+ */
4
+ import * as React from "react";
5
+ type AnswerChoicesProps = {
6
+ choices: ReadonlyArray<string>;
7
+ onChange: (choices: ReadonlyArray<string>) => void;
8
+ };
9
+ /**
10
+ * The list of choices, handles adding, removing and reording of answers.
11
+ */
12
+ declare const AnswerChoices: React.FC<AnswerChoicesProps>;
13
+ export default AnswerChoices;
@@ -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
+ import * as React from "react";
8
+ declare type AnswerChoicesProps = {|
9
+ choices: $ReadOnlyArray<string>,
10
+ onChange: (choices: $ReadOnlyArray<string>) => void,
11
+ |};
12
+ /**
13
+ * The list of choices, handles adding, removing and reording of answers.
14
+ */
15
+ declare var AnswerChoices: React.StatelessFunctionalComponent<AnswerChoicesProps>;
16
+ declare export default typeof AnswerChoices;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Controlled component to display and change widget options.
3
+ */
4
+ import * as React from "react";
5
+ type BehaviorProps = {
6
+ multipleAnswers: boolean;
7
+ hideChoicesFromInstructions: boolean;
8
+ onChange: (options: {
9
+ multipleAnswers?: boolean;
10
+ hideChoicesFromInstructions?: boolean;
11
+ }) => void;
12
+ };
13
+ declare const Behavior: React.FC<BehaviorProps>;
14
+ export default Behavior;
@@ -0,0 +1,17 @@
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 BehaviorProps = {|
9
+ multipleAnswers: boolean,
10
+ hideChoicesFromInstructions: boolean,
11
+ onChange: (options: {|
12
+ multipleAnswers?: boolean,
13
+ hideChoicesFromInstructions?: boolean,
14
+ |}) => void,
15
+ |};
16
+ declare var Behavior: React.StatelessFunctionalComponent<BehaviorProps>;
17
+ declare export default typeof Behavior;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Controlled editor image marker on the question image.
3
+ *
4
+ * Allows to select which label choices are the answers for each marker, using
5
+ * the dropdown component.
6
+ */
7
+ import * as React from "react";
8
+ import type { MarkerType } from "@khanacademy/perseus";
9
+ type MarkerProps = MarkerType & {
10
+ choices: ReadonlyArray<string>;
11
+ onChange: (marker: MarkerType) => void;
12
+ onRemove: () => void;
13
+ };
14
+ type MarkerState = {
15
+ showDropdown: boolean;
16
+ };
17
+ export default class Marker extends React.Component<MarkerProps, MarkerState> {
18
+ _marker: HTMLElement | null | undefined;
19
+ constructor(props: MarkerProps);
20
+ componentDidMount(): void;
21
+ UNSAFE_componentWillReceiveProps(nextProps: MarkerProps): void;
22
+ componentWillUnmount(): void;
23
+ openDropdown(): void;
24
+ updateMarker(props: any): void;
25
+ handleClick: (e: MouseEvent) => void;
26
+ handleLabelChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
27
+ handleSelectAnswer: (toggleAnswer: string) => void;
28
+ render(): React.ReactNode;
29
+ }
30
+ export {};
@@ -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 React from "react";
8
+ import type { MarkerType } from "@khanacademy/perseus";
9
+ declare type MarkerProps = {|
10
+ ...MarkerType,
11
+ ...{|
12
+ choices: $ReadOnlyArray<string>,
13
+ onChange: (marker: MarkerType) => void,
14
+ onRemove: () => void,
15
+ |},
16
+ |};
17
+ declare type MarkerState = {|
18
+ showDropdown: boolean,
19
+ |};
20
+ declare export default class Marker
21
+ extends React.Component<MarkerProps, MarkerState>
22
+ {
23
+ _marker: HTMLElement | null | void;
24
+ constructor(props: MarkerProps): this;
25
+ componentDidMount(): void;
26
+ UNSAFE_componentWillReceiveProps(nextProps: MarkerProps): void;
27
+ componentWillUnmount(): void;
28
+ openDropdown(): void;
29
+ updateMarker(props: any): void;
30
+ handleClick: (e: MouseEvent) => void;
31
+ handleLabelChange: (e: SyntheticInputEvent<HTMLInputElement>) => void;
32
+ handleSelectAnswer: (toggleAnswer: string) => void;
33
+ render(): React.Node;
34
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Controlled component to display question image and create markers to
3
+ * label image with answers from list of choices.
4
+ */
5
+ import * as React from "react";
6
+ import Marker from "./marker";
7
+ import type { MarkerType } from "@khanacademy/perseus";
8
+ type QuestionMarkersProps = {
9
+ choices: ReadonlyArray<string>;
10
+ imageUrl: string;
11
+ imageWidth: number;
12
+ imageHeight: number;
13
+ markers: ReadonlyArray<MarkerType>;
14
+ onChange: (markers: ReadonlyArray<MarkerType>) => void;
15
+ };
16
+ export default class QuestionMarkers extends React.Component<QuestionMarkersProps> {
17
+ _markers: Array<Marker | null | undefined>;
18
+ openDropdownForMarkerIndices(indices: ReadonlyArray<number>): void;
19
+ handleImageDoubleClick: (e: React.MouseEvent) => void;
20
+ render(): React.ReactNode;
21
+ }
22
+ export {};
@@ -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 React from "react";
8
+ import Marker from "./marker";
9
+ import type { MarkerType } from "@khanacademy/perseus";
10
+ declare type QuestionMarkersProps = {|
11
+ choices: $ReadOnlyArray<string>,
12
+ imageUrl: string,
13
+ imageWidth: number,
14
+ imageHeight: number,
15
+ markers: $ReadOnlyArray<MarkerType>,
16
+ onChange: (markers: $ReadOnlyArray<MarkerType>) => void,
17
+ |};
18
+ declare export default class QuestionMarkers
19
+ extends React.Component<QuestionMarkersProps>
20
+ {
21
+ _markers: Array<Marker | null | void>;
22
+ openDropdownForMarkerIndices(indices: $ReadOnlyArray<number>): void;
23
+ handleImageDoubleClick: (e: SyntheticMouseEvent<>) => void;
24
+ render(): React.Node;
25
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Controlled component for selecting the question image, for answer labeling.
3
+ */
4
+ import * as React from "react";
5
+ type SelectImageProps = {
6
+ onChange: (url: string) => void;
7
+ url: string;
8
+ };
9
+ declare const SelectImage: React.FC<SelectImageProps>;
10
+ export default SelectImage;
@@ -0,0 +1,13 @@
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 SelectImageProps = {|
9
+ onChange: (url: string) => void,
10
+ url: string,
11
+ |};
12
+ declare var SelectImage: React.StatelessFunctionalComponent<SelectImageProps>;
13
+ declare export default typeof SelectImage;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Direct image labeling widget editor.
3
+ *
4
+ * Label on image widget enables creating more natural, conceptual questions
5
+ * that involve the use of images, and enable learners to demonstrate their
6
+ * knowledge by directly interacting with the image.
7
+ */
8
+ import * as React from "react";
9
+ import QuestionMarkers from "./label-image/question-markers";
10
+ import type { MarkerType } from "@khanacademy/perseus";
11
+ type LabelImageEditorProps = {
12
+ choices: ReadonlyArray<string>;
13
+ imageAlt: string;
14
+ imageUrl: string;
15
+ imageWidth: number;
16
+ imageHeight: number;
17
+ markers: ReadonlyArray<MarkerType>;
18
+ multipleAnswers: boolean;
19
+ hideChoicesFromInstructions: boolean;
20
+ onChange: (options: any) => void;
21
+ };
22
+ declare class LabelImageEditor extends React.Component<LabelImageEditorProps> {
23
+ _questionMarkers: QuestionMarkers | null | undefined;
24
+ static defaultProps: {
25
+ choices: ReadonlyArray<any>;
26
+ hideChoicesFromInstructions: boolean;
27
+ imageAlt: string;
28
+ imageHeight: number;
29
+ imageUrl: string;
30
+ imageWidth: number;
31
+ markers: ReadonlyArray<any>;
32
+ multipleAnswers: boolean;
33
+ };
34
+ static widgetName: "label-image";
35
+ componentDidUpdate(prevProps: LabelImageEditorProps): void;
36
+ getSaveWarnings: () => ReadonlyArray<any | string>;
37
+ serialize(): any;
38
+ handleImageChange: (url: string) => void;
39
+ handleAltChange: (alt: string) => void;
40
+ handleChoicesChange: (choices: ReadonlyArray<string>) => void;
41
+ handleMarkersChange: (markers: ReadonlyArray<MarkerType>) => void;
42
+ handleBehaviorChange: (options?: any) => void;
43
+ render(): React.ReactNode;
44
+ }
45
+ export default LabelImageEditor;
@@ -0,0 +1,44 @@
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 QuestionMarkers from "./label-image/question-markers";
9
+ import type { MarkerType } from "@khanacademy/perseus";
10
+ declare type LabelImageEditorProps = {|
11
+ choices: $ReadOnlyArray<string>,
12
+ imageAlt: string,
13
+ imageUrl: string,
14
+ imageWidth: number,
15
+ imageHeight: number,
16
+ markers: $ReadOnlyArray<MarkerType>,
17
+ multipleAnswers: boolean,
18
+ hideChoicesFromInstructions: boolean,
19
+ onChange: (options: any) => void,
20
+ |};
21
+ declare class LabelImageEditor extends React.Component<LabelImageEditorProps> {
22
+ _questionMarkers: QuestionMarkers | null | void;
23
+ static defaultProps: {|
24
+ choices: $ReadOnlyArray<any>,
25
+ hideChoicesFromInstructions: boolean,
26
+ imageAlt: string,
27
+ imageHeight: number,
28
+ imageUrl: string,
29
+ imageWidth: number,
30
+ markers: $ReadOnlyArray<any>,
31
+ multipleAnswers: boolean,
32
+ |};
33
+ static widgetName: "label-image";
34
+ componentDidUpdate(prevProps: LabelImageEditorProps): void;
35
+ getSaveWarnings: () => $ReadOnlyArray<any | string>;
36
+ serialize(): any;
37
+ handleImageChange: (url: string) => void;
38
+ handleAltChange: (alt: string) => void;
39
+ handleChoicesChange: (choices: $ReadOnlyArray<string>) => void;
40
+ handleMarkersChange: (markers: $ReadOnlyArray<MarkerType>) => void;
41
+ handleBehaviorChange: (options?: any) => void;
42
+ render(): React.Node;
43
+ }
44
+ declare export default typeof LabelImageEditor;
@@ -0,0 +1,24 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type LightsPuzzleEditorProps = any;
4
+ declare class LightsPuzzleEditor extends React.Component<LightsPuzzleEditorProps> {
5
+ static propTypes: {
6
+ startCells: PropTypes.Requireable<((boolean | null | undefined)[] | null | undefined)[]>;
7
+ flipPattern: PropTypes.Validator<string>;
8
+ gradeIncompleteAsWrong: PropTypes.Validator<boolean>;
9
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
10
+ };
11
+ static widgetName: "lights-puzzle";
12
+ static defaultProps: LightsPuzzleEditorProps;
13
+ _height: () => number;
14
+ _width: () => number;
15
+ change: (arg1: any, arg2: any, arg3: any) => any;
16
+ render(): React.ReactNode;
17
+ _handlePatternChange: (arg1: React.ChangeEvent<HTMLInputElement>) => void;
18
+ _changeWidth: (arg1: number) => void;
19
+ _changeHeight: (arg1: number) => void;
20
+ _truncateCells: (arg1: number, arg2: number) => void;
21
+ _switchTile: (arg1: number, arg2: number) => void;
22
+ serialize: () => any;
23
+ }
24
+ export default LightsPuzzleEditor;
@@ -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 PropTypes from "prop-types";
8
+ import * as React from "react";
9
+ declare type LightsPuzzleEditorProps = any;
10
+ declare class LightsPuzzleEditor
11
+ extends React.Component<LightsPuzzleEditorProps>
12
+ {
13
+ static propTypes: {|
14
+ startCells: PropTypes.Requireable<
15
+ ((boolean | null | void)[] | null | void)[]
16
+ >,
17
+ flipPattern: PropTypes.Validator<string>,
18
+ gradeIncompleteAsWrong: PropTypes.Validator<boolean>,
19
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
20
+ |};
21
+ static widgetName: "lights-puzzle";
22
+ static defaultProps: LightsPuzzleEditorProps;
23
+ _height: () => number;
24
+ _width: () => number;
25
+ change: (arg1: any, arg2: any, arg3: any) => any;
26
+ render(): React.Node;
27
+ _handlePatternChange: (arg1: SyntheticInputEvent<HTMLInputElement>) => void;
28
+ _changeWidth: (arg1: number) => void;
29
+ _changeHeight: (arg1: number) => void;
30
+ _truncateCells: (arg1: number, arg2: number) => void;
31
+ _switchTile: (arg1: number, arg2: number) => void;
32
+ serialize: () => any;
33
+ }
34
+ declare export default typeof LightsPuzzleEditor;
@@ -0,0 +1,19 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class MatcherEditor extends React.Component<Props> {
5
+ static propTypes: {
6
+ left: PropTypes.Requireable<any[]>;
7
+ right: PropTypes.Requireable<any[]>;
8
+ labels: PropTypes.Requireable<any[]>;
9
+ orderMatters: PropTypes.Requireable<boolean>;
10
+ padding: PropTypes.Requireable<boolean>;
11
+ };
12
+ static widgetName: "matcher";
13
+ static defaultProps: Props;
14
+ render(): React.ReactNode;
15
+ onLabelChange: (arg1: number, arg2: React.ChangeEvent<HTMLInputElement>) => void;
16
+ getSaveWarnings: () => ReadonlyArray<string>;
17
+ serialize: any;
18
+ }
19
+ export default MatcherEditor;
@@ -0,0 +1,28 @@
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 MatcherEditor extends React.Component<Props> {
11
+ static propTypes: {|
12
+ left: PropTypes.Requireable<any[]>,
13
+ right: PropTypes.Requireable<any[]>,
14
+ labels: PropTypes.Requireable<any[]>,
15
+ orderMatters: PropTypes.Requireable<boolean>,
16
+ padding: PropTypes.Requireable<boolean>,
17
+ |};
18
+ static widgetName: "matcher";
19
+ static defaultProps: Props;
20
+ render(): React.Node;
21
+ onLabelChange: (
22
+ arg1: number,
23
+ arg2: SyntheticInputEvent<HTMLInputElement>
24
+ ) => void;
25
+ getSaveWarnings: () => $ReadOnlyArray<string>;
26
+ serialize: any;
27
+ }
28
+ declare export default typeof MatcherEditor;
@@ -0,0 +1,20 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class MatrixEditor extends React.Component<Props> {
5
+ static propTypes: {
6
+ matrixBoardSize: PropTypes.Validator<(number | null | undefined)[]>;
7
+ answers: PropTypes.Requireable<((number | null | undefined)[] | null | undefined)[]>;
8
+ prefix: PropTypes.Requireable<string>;
9
+ suffix: PropTypes.Requireable<string>;
10
+ cursorPosition: PropTypes.Requireable<(number | null | undefined)[]>;
11
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
12
+ };
13
+ static widgetName: "matrix";
14
+ static defaultProps: Props;
15
+ render(): React.ReactNode;
16
+ change: (arg1: any, arg2: any, arg3: any) => any;
17
+ onMatrixBoardSizeChange: (arg1: [number, number]) => void;
18
+ serialize: () => any;
19
+ }
20
+ export default MatrixEditor;
@@ -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 PropTypes from "prop-types";
8
+ import * as React from "react";
9
+ declare type Props = any;
10
+ declare class MatrixEditor extends React.Component<Props> {
11
+ static propTypes: {|
12
+ matrixBoardSize: PropTypes.Validator<(number | null | void)[]>,
13
+ answers: PropTypes.Requireable<((number | null | void)[] | null | void)[]>,
14
+ prefix: PropTypes.Requireable<string>,
15
+ suffix: PropTypes.Requireable<string>,
16
+ cursorPosition: PropTypes.Requireable<(number | null | void)[]>,
17
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
18
+ |};
19
+ static widgetName: "matrix";
20
+ static defaultProps: Props;
21
+ render(): React.Node;
22
+ change: (arg1: any, arg2: any, arg3: any) => any;
23
+ onMatrixBoardSizeChange: (arg1: [number, number]) => void;
24
+ serialize: () => any;
25
+ }
26
+ declare export default typeof MatrixEditor;
@@ -0,0 +1,32 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class MeasurerEditor extends React.Component<Props> {
5
+ static widgetName: "measurer";
6
+ static propTypes: {
7
+ box: PropTypes.Requireable<(number | null | undefined)[]>;
8
+ image: PropTypes.Requireable<PropTypes.InferProps<{
9
+ url: PropTypes.Requireable<string>;
10
+ top: PropTypes.Requireable<number>;
11
+ left: PropTypes.Requireable<number>;
12
+ }>>;
13
+ showProtractor: PropTypes.Requireable<boolean>;
14
+ showRuler: PropTypes.Requireable<boolean>;
15
+ rulerLabel: PropTypes.Requireable<string>;
16
+ rulerTicks: PropTypes.Requireable<number>;
17
+ rulerPixels: PropTypes.Requireable<number>;
18
+ rulerLength: PropTypes.Requireable<number>;
19
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
20
+ };
21
+ static defaultProps: Props;
22
+ className: string;
23
+ render(): React.ReactNode;
24
+ change: (arg1: any, arg2: any, arg3: any) => any;
25
+ _changeUrl: (arg1: React.ChangeEvent<HTMLInputElement>) => void;
26
+ _changeTop: (arg1: any) => void;
27
+ _changeLeft: (arg1: any) => void;
28
+ _changeImage: (arg1: string, arg2: any) => void;
29
+ renderLabelChoices: (arg1: ReadonlyArray<[string, string]>) => ReadonlyArray<React.ReactElement<React.ComponentProps<"option">>>;
30
+ serialize: () => any;
31
+ }
32
+ export default MeasurerEditor;
@@ -0,0 +1,42 @@
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 MeasurerEditor extends React.Component<Props> {
11
+ static widgetName: "measurer";
12
+ static propTypes: {|
13
+ box: PropTypes.Requireable<(number | null | void)[]>,
14
+ image: PropTypes.Requireable<
15
+ PropTypes.InferProps<{|
16
+ url: PropTypes.Requireable<string>,
17
+ top: PropTypes.Requireable<number>,
18
+ left: PropTypes.Requireable<number>,
19
+ |}>
20
+ >,
21
+ showProtractor: PropTypes.Requireable<boolean>,
22
+ showRuler: PropTypes.Requireable<boolean>,
23
+ rulerLabel: PropTypes.Requireable<string>,
24
+ rulerTicks: PropTypes.Requireable<number>,
25
+ rulerPixels: PropTypes.Requireable<number>,
26
+ rulerLength: PropTypes.Requireable<number>,
27
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
28
+ |};
29
+ static defaultProps: Props;
30
+ className: string;
31
+ render(): React.Node;
32
+ change: (arg1: any, arg2: any, arg3: any) => any;
33
+ _changeUrl: (arg1: SyntheticInputEvent<HTMLInputElement>) => void;
34
+ _changeTop: (arg1: any) => void;
35
+ _changeLeft: (arg1: any) => void;
36
+ _changeImage: (arg1: string, arg2: any) => void;
37
+ renderLabelChoices: (
38
+ arg1: $ReadOnlyArray<[string, string]>
39
+ ) => $ReadOnlyArray<React.Element<"option">>;
40
+ serialize: () => any;
41
+ }
42
+ declare export default typeof MeasurerEditor;
@@ -0,0 +1,17 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Props = any;
4
+ declare class MoleculeWidgetEditor extends React.Component<Props> {
5
+ static propTypes: {
6
+ rotationAngle: PropTypes.Requireable<number>;
7
+ smiles: PropTypes.Requireable<string>;
8
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
9
+ };
10
+ static widgetName: "molecule-renderer";
11
+ change: (arg1: any, arg2: any, arg3: any) => any;
12
+ updateMolecule: (arg1: string) => void;
13
+ updateRotation: (arg1: string) => void;
14
+ serialize: () => any;
15
+ render(): React.ReactNode;
16
+ }
17
+ export default MoleculeWidgetEditor;
@@ -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 MoleculeWidgetEditor extends React.Component<Props> {
11
+ static propTypes: {|
12
+ rotationAngle: PropTypes.Requireable<number>,
13
+ smiles: PropTypes.Requireable<string>,
14
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
15
+ |};
16
+ static widgetName: "molecule-renderer";
17
+ change: (arg1: any, arg2: any, arg3: any) => any;
18
+ updateMolecule: (arg1: string) => void;
19
+ updateRotation: (arg1: string) => void;
20
+ serialize: () => any;
21
+ render(): React.Node;
22
+ }
23
+ declare export default typeof MoleculeWidgetEditor;
@@ -0,0 +1,36 @@
1
+ import PropTypes from "prop-types";
2
+ import * as React from "react";
3
+ type Range = [number, number];
4
+ type Props = any;
5
+ declare class NumberLineEditor extends React.Component<Props> {
6
+ static propTypes: {
7
+ range: PropTypes.Validator<(number | null | undefined)[]>;
8
+ labelRange: PropTypes.Validator<(number | null | undefined)[]>;
9
+ labelStyle: PropTypes.Validator<string>;
10
+ labelTicks: PropTypes.Requireable<boolean>;
11
+ divisionRange: PropTypes.Validator<(number | null | undefined)[]>;
12
+ numDivisions: PropTypes.Validator<number>;
13
+ snapDivisions: PropTypes.Requireable<number>;
14
+ tickStep: PropTypes.Requireable<number>;
15
+ correctRel: PropTypes.Requireable<string>;
16
+ correctX: PropTypes.Requireable<number>;
17
+ initialX: PropTypes.Requireable<number>;
18
+ isTickCtrl: PropTypes.Requireable<boolean>;
19
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
20
+ static: PropTypes.Requireable<boolean>;
21
+ showTooltips: PropTypes.Requireable<boolean>;
22
+ };
23
+ static widgetName: "number-line";
24
+ static defaultProps: Props;
25
+ onRangeChange: (arg1: Range) => void;
26
+ onLabelRangeChange: (arg1: number, arg2: number) => void;
27
+ onDivisionRangeChange: (arg1: Range) => void;
28
+ onNumChange: (arg1: "correctX" | "initialX" | "snapDivisions", arg2: number) => void;
29
+ onNumDivisionsChange: (arg1: number) => void;
30
+ onTickStepChange: (arg1: number) => void;
31
+ onChangeRelation: (arg1: React.ChangeEvent<HTMLInputElement>) => void;
32
+ onLabelStyleChange: (arg1: any) => void;
33
+ serialize: () => any;
34
+ render(): React.ReactNode;
35
+ }
36
+ export default NumberLineEditor;
@@ -0,0 +1,45 @@
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 Range = [number, number];
10
+ declare type Props = any;
11
+ declare class NumberLineEditor extends React.Component<Props> {
12
+ static propTypes: {|
13
+ range: PropTypes.Validator<(number | null | void)[]>,
14
+ labelRange: PropTypes.Validator<(number | null | void)[]>,
15
+ labelStyle: PropTypes.Validator<string>,
16
+ labelTicks: PropTypes.Requireable<boolean>,
17
+ divisionRange: PropTypes.Validator<(number | null | void)[]>,
18
+ numDivisions: PropTypes.Validator<number>,
19
+ snapDivisions: PropTypes.Requireable<number>,
20
+ tickStep: PropTypes.Requireable<number>,
21
+ correctRel: PropTypes.Requireable<string>,
22
+ correctX: PropTypes.Requireable<number>,
23
+ initialX: PropTypes.Requireable<number>,
24
+ isTickCtrl: PropTypes.Requireable<boolean>,
25
+ onChange: PropTypes.Validator<(...args: any[]) => any>,
26
+ static: PropTypes.Requireable<boolean>,
27
+ showTooltips: PropTypes.Requireable<boolean>,
28
+ |};
29
+ static widgetName: "number-line";
30
+ static defaultProps: Props;
31
+ onRangeChange: (arg1: Range) => void;
32
+ onLabelRangeChange: (arg1: number, arg2: number) => void;
33
+ onDivisionRangeChange: (arg1: Range) => void;
34
+ onNumChange: (
35
+ arg1: "correctX" | "initialX" | "snapDivisions",
36
+ arg2: number
37
+ ) => void;
38
+ onNumDivisionsChange: (arg1: number) => void;
39
+ onTickStepChange: (arg1: number) => void;
40
+ onChangeRelation: (arg1: SyntheticInputEvent<HTMLInputElement>) => void;
41
+ onLabelStyleChange: (arg1: any) => void;
42
+ serialize: () => any;
43
+ render(): React.Node;
44
+ }
45
+ declare export default typeof NumberLineEditor;
@@ -0,0 +1,2 @@
1
+ declare const NumericInputEditor: any;
2
+ export default NumericInputEditor;