@khanacademy/perseus 4.0.2 → 6.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 (249) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/components/fixed-to-responsive.d.ts +27 -1
  3. package/dist/components/fixed-to-responsive.js.flow +27 -1
  4. package/dist/components/graph.d.ts +42 -26
  5. package/dist/components/graph.js.flow +42 -28
  6. package/dist/components/graphie.d.ts +34 -22
  7. package/dist/components/graphie.js.flow +37 -24
  8. package/dist/components/highlighting/highlightable-content.d.ts +4 -4
  9. package/dist/components/highlighting/highlightable-content.js.flow +4 -7
  10. package/dist/components/highlighting/ui/highlight-renderer.d.ts +6 -6
  11. package/dist/components/highlighting/ui/highlight-renderer.js.flow +6 -8
  12. package/dist/components/highlighting/ui/highlight-set-renderer.d.ts +5 -5
  13. package/dist/components/highlighting/ui/highlight-set-renderer.js.flow +5 -8
  14. package/dist/components/highlighting/ui/highlight-tooltip.d.ts +2 -2
  15. package/dist/components/highlighting/ui/highlight-tooltip.js.flow +2 -4
  16. package/dist/components/highlighting/ui/highlighting-ui.d.ts +2 -2
  17. package/dist/components/highlighting/ui/highlighting-ui.js.flow +2 -2
  18. package/dist/components/highlighting/ui/selection-tracker.d.ts +5 -5
  19. package/dist/components/highlighting/ui/selection-tracker.js.flow +5 -7
  20. package/dist/components/highlighting/word-indexer.d.ts +2 -2
  21. package/dist/components/highlighting/word-indexer.js.flow +2 -2
  22. package/dist/components/hud.d.ts +8 -14
  23. package/dist/components/hud.js.flow +7 -14
  24. package/dist/components/inline-icon.d.ts +27 -3
  25. package/dist/components/inline-icon.js.flow +26 -3
  26. package/dist/components/lint.d.ts +41 -13
  27. package/dist/components/lint.js.flow +42 -13
  28. package/dist/components/math-output.d.ts +15 -11
  29. package/dist/components/math-output.js.flow +15 -11
  30. package/dist/components/simple-keypad-input.d.ts +1 -1
  31. package/dist/components/simple-keypad-input.js.flow +1 -1
  32. package/dist/components/sortable.d.ts +17 -9
  33. package/dist/components/sortable.js.flow +22 -9
  34. package/dist/components/svg-image.d.ts +5 -3
  35. package/dist/components/svg-image.js.flow +5 -3
  36. package/dist/components/tex-buttons.d.ts +2 -2
  37. package/dist/components/tex-buttons.js.flow +2 -2
  38. package/dist/components/tooltip.d.ts +45 -4
  39. package/dist/components/tooltip.js.flow +44 -31
  40. package/dist/error-boundary.d.ts +4 -4
  41. package/dist/error-boundary.js.flow +4 -6
  42. package/dist/es/index.css +0 -3
  43. package/dist/es/index.js +484 -658
  44. package/dist/es/index.js.map +1 -1
  45. package/dist/index.css +0 -3
  46. package/dist/index.js +488 -655
  47. package/dist/index.js.map +1 -1
  48. package/dist/perseus-types.d.ts +11 -10
  49. package/dist/perseus-types.js.flow +11 -10
  50. package/dist/renderer.d.ts +2 -2
  51. package/dist/renderer.js.flow +1 -3
  52. package/dist/styles/shared.d.ts +0 -1
  53. package/dist/styles/shared.js.flow +0 -1
  54. package/dist/types.d.ts +0 -10
  55. package/dist/types.js.flow +0 -13
  56. package/dist/util/a11y.d.ts +0 -1
  57. package/dist/util/a11y.js.flow +0 -1
  58. package/dist/util/interactive.d.ts +2 -0
  59. package/dist/util/interactive.js.flow +2 -0
  60. package/dist/util.d.ts +3 -3
  61. package/dist/util.js.flow +4 -3
  62. package/dist/widgets/__stories__/test-keypad-context-wrapper.d.ts +2 -2
  63. package/dist/widgets/__stories__/test-keypad-context-wrapper.js.flow +2 -4
  64. package/dist/widgets/expression.d.ts +2 -2
  65. package/dist/widgets/expression.js.flow +2 -2
  66. package/dist/widgets/grapher.d.ts +1 -1
  67. package/dist/widgets/grapher.js.flow +12 -3
  68. package/dist/widgets/interaction/element-container.d.ts +5 -4
  69. package/dist/widgets/interaction/element-container.js.flow +6 -11
  70. package/dist/widgets/label-image/marker.d.ts +4 -4
  71. package/dist/widgets/label-image/marker.js.flow +4 -6
  72. package/dist/widgets/matcher.d.ts +7 -3
  73. package/dist/widgets/matcher.js.flow +7 -3
  74. package/dist/widgets/number-line.d.ts +1 -1
  75. package/dist/widgets/number-line.js.flow +1 -1
  76. package/dist/widgets/numeric-input.d.ts +0 -2
  77. package/dist/widgets/numeric-input.js.flow +0 -4
  78. package/dist/widgets/radio/base-radio.d.ts +7 -1
  79. package/dist/widgets/radio/base-radio.js.flow +7 -1
  80. package/dist/widgets/radio/choice-icon/choice-icon.d.ts +1 -1
  81. package/dist/widgets/radio/choice-icon/choice-icon.js.flow +1 -1
  82. package/dist/widgets/radio/choice-icon/cross-out-line.d.ts +2 -2
  83. package/dist/widgets/radio/choice-icon/cross-out-line.js.flow +2 -2
  84. package/dist/widgets/radio/focus-ring.d.ts +8 -1
  85. package/dist/widgets/radio/focus-ring.js.flow +8 -1
  86. package/dist/widgets/radio/option-status.d.ts +2 -2
  87. package/dist/widgets/radio/option-status.js.flow +2 -2
  88. package/dist/widgets/video-transcript-link.d.ts +1 -1
  89. package/dist/widgets/video-transcript-link.js.flow +1 -1
  90. package/package.json +4 -4
  91. package/src/__stories__/item-renderer.stories.tsx +2 -6
  92. package/src/__stories__/server-item-renderer.stories.tsx +2 -6
  93. package/src/__tests__/__snapshots__/item-renderer.test.tsx.snap +151 -159
  94. package/src/__tests__/__snapshots__/renderer.test.tsx.snap +358 -394
  95. package/src/__tests__/__snapshots__/server-item-renderer.test.tsx.snap +169 -189
  96. package/src/components/__stories__/button-group.stories.tsx +2 -6
  97. package/src/components/__stories__/fixed-to-responsive.stories.tsx +14 -16
  98. package/src/components/__stories__/graph.stories.tsx +3 -5
  99. package/src/components/__stories__/graphie.stories.tsx +3 -5
  100. package/src/components/__stories__/hud.stories.tsx +2 -6
  101. package/src/components/__stories__/icon.stories.tsx +1 -1
  102. package/src/components/__stories__/image-loader.stories.tsx +4 -4
  103. package/src/components/__stories__/info-tip.stories.tsx +2 -6
  104. package/src/components/__stories__/inline-icon.stories.tsx +4 -8
  105. package/src/components/__stories__/input-with-examples.stories.tsx +6 -10
  106. package/src/components/__stories__/lint.stories.tsx +62 -27
  107. package/src/components/__stories__/math-input.stories.tsx +4 -8
  108. package/src/components/__stories__/math-output.stories.tsx +3 -5
  109. package/src/components/__stories__/multi-button-group.stories.tsx +2 -6
  110. package/src/components/__stories__/number-input.stories.tsx +6 -8
  111. package/src/components/__stories__/prop-check-box.stories.tsx +9 -9
  112. package/src/components/__stories__/range-input.stories.tsx +4 -6
  113. package/src/components/__stories__/simple-keypad-input.stories.tsx +2 -4
  114. package/src/components/__stories__/sortable.stories.tsx +20 -20
  115. package/src/components/__stories__/stub-tag-editor.stories.tsx +5 -9
  116. package/src/components/__stories__/svg-image.stories.tsx +10 -18
  117. package/src/components/__stories__/tex.stories.tsx +1 -3
  118. package/src/components/__stories__/text-buttons.stories.tsx +10 -22
  119. package/src/components/__stories__/text-input.stories.tsx +4 -10
  120. package/src/components/__stories__/text-list-editor.stories.tsx +1 -3
  121. package/src/components/__stories__/tooltip.stories.tsx +52 -0
  122. package/src/components/__stories__/zoomable-tex.stories.tsx +6 -4
  123. package/src/components/__stories__/zoomable.stories.tsx +1 -3
  124. package/src/components/__tests__/__snapshots__/sortable.test.tsx.snap +114 -30
  125. package/src/components/__tests__/__snapshots__/sorter.test.tsx.snap +172 -204
  126. package/src/components/__tests__/sortable.test.tsx +54 -16
  127. package/src/components/__tests__/sorter.test.tsx +12 -9
  128. package/src/components/fixed-to-responsive.tsx +43 -38
  129. package/src/components/graph.tsx +95 -81
  130. package/src/components/graphie.tsx +62 -32
  131. package/src/components/highlighting/highlightable-content.tsx +4 -7
  132. package/src/components/highlighting/ui/highlight-renderer.tsx +6 -9
  133. package/src/components/highlighting/ui/highlight-set-renderer.tsx +5 -8
  134. package/src/components/highlighting/ui/highlight-tooltip.tsx +2 -2
  135. package/src/components/highlighting/ui/highlighting-ui.tsx +2 -2
  136. package/src/components/highlighting/ui/selection-tracker.tsx +5 -8
  137. package/src/components/highlighting/word-indexer.tsx +2 -2
  138. package/src/components/hud.tsx +104 -115
  139. package/src/components/inline-icon.tsx +17 -34
  140. package/src/components/input-with-examples.tsx +4 -4
  141. package/src/components/lint.tsx +47 -41
  142. package/src/components/math-output.tsx +17 -11
  143. package/src/components/simple-keypad-input.tsx +4 -4
  144. package/src/components/sortable.tsx +134 -94
  145. package/src/components/svg-image.tsx +10 -11
  146. package/src/components/tex-buttons.tsx +2 -2
  147. package/src/components/tooltip.tsx +189 -171
  148. package/src/components/visibility-observer/__stories__/visibility-observer.stories.tsx +1 -3
  149. package/src/error-boundary.tsx +4 -7
  150. package/src/interactive2/types.ts +2 -2
  151. package/src/multi-items/__stories__/multi-renderer.stories.tsx +1 -1
  152. package/src/multi-items/__tests__/__snapshots__/multi-renderer.test.tsx.snap +708 -764
  153. package/src/multi-items/__tests__/multi-renderer.test.tsx +2 -3
  154. package/src/perseus-types.ts +13 -12
  155. package/src/renderer.tsx +11 -22
  156. package/src/types.ts +0 -18
  157. package/src/util/graphie.ts +3 -3
  158. package/src/util/interactive.ts +18 -5
  159. package/src/util/tex.ts +13 -77
  160. package/src/util.ts +3 -4
  161. package/src/widgets/__stories__/categorizer.stories.tsx +1 -1
  162. package/src/widgets/__stories__/cs-program.stories.tsx +1 -1
  163. package/src/widgets/__stories__/definition.stories.tsx +3 -7
  164. package/src/widgets/__stories__/dropdown.stories.tsx +1 -1
  165. package/src/widgets/__stories__/explanation.stories.tsx +2 -2
  166. package/src/widgets/__stories__/expression.stories.tsx +5 -11
  167. package/src/widgets/__stories__/graded-group-set.stories.tsx +1 -1
  168. package/src/widgets/__stories__/graded-group.stories.tsx +1 -1
  169. package/src/widgets/__stories__/grapher.stories.tsx +7 -21
  170. package/src/widgets/__stories__/group.stories.tsx +1 -1
  171. package/src/widgets/__stories__/iframe.stories.tsx +1 -1
  172. package/src/widgets/__stories__/image.stories.tsx +1 -1
  173. package/src/widgets/__stories__/input-number.stories.tsx +3 -12
  174. package/src/widgets/__stories__/interaction.stories.tsx +1 -1
  175. package/src/widgets/__stories__/interactive-graph.stories.tsx +9 -9
  176. package/src/widgets/__stories__/matcher.stories.tsx +1 -1
  177. package/src/widgets/__stories__/matrix.stories.tsx +1 -1
  178. package/src/widgets/__stories__/number-line.stories.tsx +1 -1
  179. package/src/widgets/__stories__/numeric-input.stories.tsx +3 -5
  180. package/src/widgets/__stories__/orderer.stories.tsx +1 -1
  181. package/src/widgets/__stories__/passage-ref.stories.tsx +2 -2
  182. package/src/widgets/__stories__/passage.stories.tsx +3 -9
  183. package/src/widgets/__stories__/radio.stories.tsx +3 -5
  184. package/src/widgets/__stories__/sorter.stories.tsx +1 -1
  185. package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +2 -4
  186. package/src/widgets/__stories__/transformer.stories.tsx +1 -1
  187. package/src/widgets/__stories__/unit.stories.tsx +1 -3
  188. package/src/widgets/__stories__/video-transcript-link.stories.tsx +2 -6
  189. package/src/widgets/__stories__/video.stories.tsx +1 -1
  190. package/src/widgets/__testdata__/group.testdata.ts +0 -2
  191. package/src/widgets/__tests__/__snapshots__/categorizer.test.ts.snap +717 -773
  192. package/src/widgets/__tests__/__snapshots__/cs-program.test.ts.snap +28 -36
  193. package/src/widgets/__tests__/__snapshots__/definition.test.ts.snap +52 -60
  194. package/src/widgets/__tests__/__snapshots__/dropdown.test.ts.snap +100 -108
  195. package/src/widgets/__tests__/__snapshots__/explanation.test.ts.snap +212 -260
  196. package/src/widgets/__tests__/__snapshots__/graded-group-set-jipt.test.ts.snap +613 -641
  197. package/src/widgets/__tests__/__snapshots__/graded-group-set.test.ts.snap +249 -261
  198. package/src/widgets/__tests__/__snapshots__/graded-group.test.ts.snap +671 -735
  199. package/src/widgets/__tests__/__snapshots__/grapher.test.ts.snap +2676 -2684
  200. package/src/widgets/__tests__/__snapshots__/group.test.tsx.snap +938 -1002
  201. package/src/widgets/__tests__/__snapshots__/iframe.test.ts.snap +28 -36
  202. package/src/widgets/__tests__/__snapshots__/image.test.ts.snap +227 -255
  203. package/src/widgets/__tests__/__snapshots__/input-number.test.ts.snap +353 -357
  204. package/src/widgets/__tests__/__snapshots__/interaction.test.ts.snap +255 -259
  205. package/src/widgets/__tests__/__snapshots__/interactive-graph.test.ts.snap +2401 -2433
  206. package/src/widgets/__tests__/__snapshots__/matcher.test.tsx.snap +600 -756
  207. package/src/widgets/__tests__/__snapshots__/matrix.test.ts.snap +420 -428
  208. package/src/widgets/__tests__/__snapshots__/number-line.test.ts.snap +762 -770
  209. package/src/widgets/__tests__/__snapshots__/numeric-input.test.ts.snap +373 -393
  210. package/src/widgets/__tests__/__snapshots__/orderer.test.ts.snap +116 -148
  211. package/src/widgets/__tests__/__snapshots__/passage-ref.test.ts.snap +289 -301
  212. package/src/widgets/__tests__/__snapshots__/passage.test.tsx.snap +1679 -1711
  213. package/src/widgets/__tests__/__snapshots__/radio.test.ts.snap +2692 -2960
  214. package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +90 -98
  215. package/src/widgets/__tests__/group.test.tsx +0 -2
  216. package/src/widgets/__tests__/matcher.test.tsx +33 -9
  217. package/src/widgets/__tests__/radio/focus-ring.test.tsx +0 -1
  218. package/src/widgets/expression.tsx +12 -9
  219. package/src/widgets/grapher.tsx +3 -3
  220. package/src/widgets/image.tsx +2 -2
  221. package/src/widgets/interaction/element-container.tsx +7 -8
  222. package/src/widgets/interactive-graph.tsx +5 -5
  223. package/src/widgets/label-image/__stories__/answer-choices.stories.tsx +2 -4
  224. package/src/widgets/label-image/__stories__/marker.stories.tsx +9 -19
  225. package/src/widgets/label-image/marker.tsx +4 -4
  226. package/src/widgets/matcher.tsx +43 -24
  227. package/src/widgets/number-line.tsx +1 -1
  228. package/src/widgets/numeric-input.tsx +0 -3
  229. package/src/widgets/passage/passage-markdown.tsx +2 -2
  230. package/src/widgets/radio/__stories__/base-radio.stories.tsx +11 -19
  231. package/src/widgets/radio/__stories__/choice-icon.stories.tsx +9 -11
  232. package/src/widgets/radio/__stories__/choice-none-above.stories.tsx +1 -1
  233. package/src/widgets/radio/__stories__/choice.stories.tsx +4 -4
  234. package/src/widgets/radio/__stories__/focus-ring.stories.tsx +1 -1
  235. package/src/widgets/radio/__stories__/option-status.stories.tsx +2 -4
  236. package/src/widgets/radio/base-radio.tsx +1 -1
  237. package/src/widgets/radio/choice-icon/choice-icon.tsx +5 -5
  238. package/src/widgets/radio/choice-icon/cross-out-line.tsx +1 -3
  239. package/src/widgets/radio/choice-none-above.tsx +2 -2
  240. package/src/widgets/radio/choice.tsx +1 -3
  241. package/src/widgets/radio/focus-ring.tsx +1 -1
  242. package/src/widgets/radio/option-status.tsx +2 -4
  243. package/src/widgets/radio/widget.tsx +0 -1
  244. package/src/widgets/reaction-diagram.tsx +2 -2
  245. package/src/widgets/simulator.tsx +4 -6
  246. package/src/widgets/video-transcript-link.tsx +1 -1
  247. package/{tsconfig.json → tsconfig-build.json} +6 -6
  248. package/tsconfig-build.tsbuildinfo +1 -0
  249. package/tsconfig.tsbuildinfo +0 -1
@@ -82,29 +82,20 @@ const updateWidgetOptions = (
82
82
  };
83
83
  };
84
84
 
85
- export const Rational: React.FC<InputNumberOptions> = (
86
- args,
87
- ): React.ReactElement => {
85
+ export const Rational = (args: InputNumberOptions): React.ReactElement => {
88
86
  const question = updateWidgetOptions(question1, "input-number 1", args);
89
87
  return <RendererWithDebugUI question={question} />;
90
88
  };
91
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'args' does not exist on type 'FC<PerseusInputNumberWidgetOptions>'.
92
89
  Rational.args = question1.widgets["input-number 1"].options;
93
90
 
94
- export const PiSimplify: React.FC<InputNumberOptions> = (
95
- args,
96
- ): React.ReactElement => {
91
+ export const PiSimplify = (args: InputNumberOptions): React.ReactElement => {
97
92
  const question = updateWidgetOptions(question2, "input-number 1", args);
98
93
  return <RendererWithDebugUI question={question} />;
99
94
  };
100
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'args' does not exist on type 'FC<PerseusInputNumberWidgetOptions>'.
101
95
  PiSimplify.args = question2.widgets["input-number 1"].options;
102
96
 
103
- export const Percent: React.FC<InputNumberOptions> = (
104
- args,
105
- ): React.ReactElement => {
97
+ export const Percent = (args: InputNumberOptions): React.ReactElement => {
106
98
  const question = updateWidgetOptions(question3, "input-number 1", args);
107
99
  return <RendererWithDebugUI question={question} />;
108
100
  };
109
- // @ts-expect-error [FEI-5003] - TS2339 - Property 'args' does not exist on type 'FC<PerseusInputNumberWidgetOptions>'.
110
101
  Percent.args = question3.widgets["input-number 1"].options;
@@ -9,6 +9,6 @@ export default {
9
9
 
10
10
  type StoryArgs = Record<any, any>;
11
11
 
12
- export const Question1: React.FC<StoryArgs> = (args): React.ReactElement => (
12
+ export const Question1 = (args: StoryArgs): React.ReactElement => (
13
13
  <RendererWithDebugUI question={question1} />
14
14
  );
@@ -19,39 +19,39 @@ export default {
19
19
 
20
20
  type StoryArgs = Record<any, any>;
21
21
 
22
- export const Angle: React.FC<StoryArgs> = (args): React.ReactElement => (
22
+ export const Angle = (args: StoryArgs): React.ReactElement => (
23
23
  <RendererWithDebugUI question={angleQuestion} />
24
24
  );
25
25
 
26
- export const Circle: React.FC<StoryArgs> = (args): React.ReactElement => (
26
+ export const Circle = (args: StoryArgs): React.ReactElement => (
27
27
  <RendererWithDebugUI question={circleQuestion} />
28
28
  );
29
29
 
30
- export const Linear: React.FC<StoryArgs> = (args): React.ReactElement => (
30
+ export const Linear = (args: StoryArgs): React.ReactElement => (
31
31
  <RendererWithDebugUI question={linearQuestion} />
32
32
  );
33
33
 
34
- export const LinearSystem: React.FC<StoryArgs> = (args): React.ReactElement => (
34
+ export const LinearSystem = (args: StoryArgs): React.ReactElement => (
35
35
  <RendererWithDebugUI question={linearSystemQuestion} />
36
36
  );
37
37
 
38
- export const Point: React.FC<StoryArgs> = (args): React.ReactElement => (
38
+ export const Point = (args: StoryArgs): React.ReactElement => (
39
39
  <RendererWithDebugUI question={pointQuestion} />
40
40
  );
41
41
 
42
- export const Polygon: React.FC<StoryArgs> = (args): React.ReactElement => (
42
+ export const Polygon = (args: StoryArgs): React.ReactElement => (
43
43
  <RendererWithDebugUI question={polygonQuestion} />
44
44
  );
45
45
 
46
- export const Ray: React.FC<StoryArgs> = (args): React.ReactElement => (
46
+ export const Ray = (args: StoryArgs): React.ReactElement => (
47
47
  <RendererWithDebugUI question={rayQuestion} />
48
48
  );
49
49
 
50
- export const Segment: React.FC<StoryArgs> = (args): React.ReactElement => (
50
+ export const Segment = (args: StoryArgs): React.ReactElement => (
51
51
  <RendererWithDebugUI question={segmentQuestion} />
52
52
  );
53
53
 
54
- export const Sinusoid: React.FC<StoryArgs> = (args): React.ReactElement => (
54
+ export const Sinusoid = (args: StoryArgs): React.ReactElement => (
55
55
  <RendererWithDebugUI question={sinusoidQuestion} />
56
56
  );
57
57
 
@@ -9,6 +9,6 @@ export default {
9
9
 
10
10
  type StoryArgs = Record<any, any>;
11
11
 
12
- export const Question1: React.FC<StoryArgs> = (args): React.ReactElement => {
12
+ export const Question1 = (args: StoryArgs): React.ReactElement => {
13
13
  return <RendererWithDebugUI question={question1} />;
14
14
  };
@@ -9,6 +9,6 @@ export default {
9
9
 
10
10
  type StoryArgs = Record<any, any>;
11
11
 
12
- export const Question1: React.FC<StoryArgs> = (args): React.ReactElement => {
12
+ export const Question1 = (args: StoryArgs): React.ReactElement => {
13
13
  return <RendererWithDebugUI question={question1} />;
14
14
  };
@@ -9,6 +9,6 @@ export default {
9
9
 
10
10
  type StoryArgs = Record<any, any>;
11
11
 
12
- export const Question1: React.FC<StoryArgs> = (args): React.ReactElement => {
12
+ export const Question1 = (args: StoryArgs): React.ReactElement => {
13
13
  return <RendererWithDebugUI question={question1} />;
14
14
  };
@@ -62,13 +62,13 @@ export const Question1 = (): React.ReactElement => {
62
62
  return <RendererWithDebugUI question={question1} />;
63
63
  };
64
64
 
65
- export const Interactive: React.FC<StoryArgs> = (args): React.ReactElement => {
65
+ export const Interactive = (args: StoryArgs): React.ReactElement => {
66
66
  const props = generateProps(args);
67
67
 
68
68
  return <NumericInput {...props} />;
69
69
  };
70
70
 
71
- export const Sizes: React.FC<StoryArgs> = (args): React.ReactElement => {
71
+ export const Sizes = (args: StoryArgs): React.ReactElement => {
72
72
  const smallProps = generateProps({...args, size: "small"});
73
73
  const normalProps = generateProps({...args, size: "normal"});
74
74
 
@@ -86,9 +86,7 @@ export const Sizes: React.FC<StoryArgs> = (args): React.ReactElement => {
86
86
  );
87
87
  };
88
88
 
89
- export const TextAlignment: React.FC<StoryArgs> = (
90
- args,
91
- ): React.ReactElement => {
89
+ export const TextAlignment = (args: StoryArgs): React.ReactElement => {
92
90
  const leftProps = generateProps({...args, rightAlign: false});
93
91
  const rightProps = generateProps({...args, rightAlign: true});
94
92
 
@@ -9,6 +9,6 @@ export default {
9
9
 
10
10
  type StoryArgs = Record<any, any>;
11
11
 
12
- export const Question1: React.FC<StoryArgs> = (args): React.ReactElement => {
12
+ export const Question1 = (args: StoryArgs): React.ReactElement => {
13
13
  return <RendererWithDebugUI question={question1} />;
14
14
  };
@@ -13,10 +13,10 @@ export default {
13
13
  title: "Perseus/Widgets/PassageRef",
14
14
  } as Story;
15
15
 
16
- export const ShortPassage: React.FC<StoryArgs> = (args): React.ReactElement => {
16
+ export const ShortPassage = (args: StoryArgs): React.ReactElement => {
17
17
  return <RendererWithDebugUI question={question1} />;
18
18
  };
19
19
 
20
- export const LongPassage: React.FC<StoryArgs> = (args): React.ReactElement => {
20
+ export const LongPassage = (args: StoryArgs): React.ReactElement => {
21
21
  return <RendererWithDebugUI question={question2} />;
22
22
  };
@@ -13,20 +13,14 @@ export default {
13
13
 
14
14
  type StoryArgs = Record<any, any>;
15
15
 
16
- export const SimpleQuestion: React.FC<StoryArgs> = (
17
- args,
18
- ): React.ReactElement => {
16
+ export const SimpleQuestion = (args: StoryArgs): React.ReactElement => {
19
17
  return <RendererWithDebugUI question={question1} />;
20
18
  };
21
19
 
22
- export const MultiPassageQuestion: React.FC<StoryArgs> = (
23
- args,
24
- ): React.ReactElement => {
20
+ export const MultiPassageQuestion = (args: StoryArgs): React.ReactElement => {
25
21
  return <RendererWithDebugUI question={question2} />;
26
22
  };
27
23
 
28
- export const SingleNumberedPassage: React.FC<StoryArgs> = (
29
- args,
30
- ): React.ReactElement => {
24
+ export const SingleNumberedPassage = (args: StoryArgs): React.ReactElement => {
31
25
  return <RendererWithDebugUI question={question3} />;
32
26
  };
@@ -55,7 +55,7 @@ const buildApiOptions = (args: StoryArgs): APIOptions => {
55
55
  };
56
56
  };
57
57
 
58
- export const SingleSelect: React.FC<StoryArgs> = (args): React.ReactElement => {
58
+ export const SingleSelect = (args: StoryArgs): React.ReactElement => {
59
59
  return (
60
60
  <RendererWithDebugUI
61
61
  question={applyStoryArgs(questionWithPassage, args)}
@@ -65,9 +65,7 @@ export const SingleSelect: React.FC<StoryArgs> = (args): React.ReactElement => {
65
65
  );
66
66
  };
67
67
 
68
- export const MultiSelectSimple: React.FC<StoryArgs> = (
69
- args,
70
- ): React.ReactElement => {
68
+ export const MultiSelectSimple = (args: StoryArgs): React.ReactElement => {
71
69
  return (
72
70
  <RendererWithDebugUI
73
71
  question={applyStoryArgs(multiChoiceQuestionSimple, args)}
@@ -77,7 +75,7 @@ export const MultiSelectSimple: React.FC<StoryArgs> = (
77
75
  );
78
76
  };
79
77
 
80
- export const MultiSelect: React.FC<StoryArgs> = (args): React.ReactElement => {
78
+ export const MultiSelect = (args: StoryArgs): React.ReactElement => {
81
79
  return (
82
80
  <RendererWithDebugUI
83
81
  question={applyStoryArgs(multiChoiceQuestion, args)}
@@ -9,6 +9,6 @@ export default {
9
9
 
10
10
  type StoryArgs = Record<any, any>;
11
11
 
12
- export const Question1: React.FC<StoryArgs> = (args): React.ReactElement => {
12
+ export const Question1 = (args: StoryArgs): React.ReactElement => {
13
13
  return <RendererWithDebugUI question={question1} />;
14
14
  };
@@ -21,13 +21,11 @@ const Footer = (): React.ReactElement => {
21
21
  );
22
22
  };
23
23
 
24
- type TestKeypadContextWrapperProps = {
24
+ type Props = {
25
25
  children: React.ReactElement;
26
26
  };
27
27
 
28
- const TestKeypadContextWrapper = (
29
- props: TestKeypadContextWrapperProps,
30
- ): React.ReactElement => {
28
+ const TestKeypadContextWrapper = (props: Props): React.ReactElement => {
31
29
  const [keypadElement, setKeypadElement] = React.useState(null);
32
30
  const [renderer, setRenderer] = React.useState(null);
33
31
  const [scrollableElement, setScrollableElement] = React.useState(
@@ -9,6 +9,6 @@ export default {
9
9
 
10
10
  type StoryArgs = Record<any, any>;
11
11
 
12
- export const Question: React.FC<StoryArgs> = (args): React.ReactElement => {
12
+ export const Question = (args: StoryArgs): React.ReactElement => {
13
13
  return <RendererWithDebugUI question={question} />;
14
14
  };
@@ -13,9 +13,7 @@ export default {
13
13
  title: "Perseus/Widgets/Unit",
14
14
  } as Story;
15
15
 
16
- export const NonStaticRender: React.FC<StoryArgs> = (
17
- args,
18
- ): React.ReactElement => {
16
+ export const NonStaticRender = (args: StoryArgs): React.ReactElement => {
19
17
  return (
20
18
  <OldUnitInput
21
19
  apiOptions={{
@@ -12,16 +12,12 @@ export default {
12
12
  title: "Perseus/Components/Video Transcript Link",
13
13
  } as Story;
14
14
 
15
- export const YoutubeVideoLink: React.FC<StoryArgs> = (
16
- args,
17
- ): React.ReactElement => {
15
+ export const YoutubeVideoLink = (args: StoryArgs): React.ReactElement => {
18
16
  return (
19
17
  <VideoTranscriptLink location="https://www.youtube.com/watch?v=YoutubeId" />
20
18
  );
21
19
  };
22
20
 
23
- export const SlugVideoLink: React.FC<StoryArgs> = (
24
- args,
25
- ): React.ReactElement => {
21
+ export const SlugVideoLink = (args: StoryArgs): React.ReactElement => {
26
22
  return <VideoTranscriptLink location="slug-video-id" />;
27
23
  };
@@ -9,6 +9,6 @@ export default {
9
9
 
10
10
  type StoryArgs = Record<any, any>;
11
11
 
12
- export const Question1: React.FC<StoryArgs> = (args): React.ReactElement => {
12
+ export const Question1 = (args: StoryArgs): React.ReactElement => {
13
13
  return <RendererWithDebugUI question={question1} />;
14
14
  };
@@ -93,7 +93,6 @@ export const question1: PerseusRenderer = {
93
93
  ],
94
94
  coefficient: false,
95
95
  labelText: "value rounded to the nearest ten",
96
- multipleNumberInput: false,
97
96
  rightAlign: false,
98
97
  size: "normal",
99
98
  static: false,
@@ -118,7 +117,6 @@ export const question1: PerseusRenderer = {
118
117
  ],
119
118
  coefficient: false,
120
119
  labelText: "value rounded to the nearest hundred",
121
- multipleNumberInput: false,
122
120
  rightAlign: false,
123
121
  size: "normal",
124
122
  static: false,