@khanacademy/perseus 1.2.0 → 1.3.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.
- package/CHANGELOG.md +19 -0
- package/dist/es/index.css +3 -3
- package/dist/es/index.js +145 -179
- package/dist/es/index.js.map +1 -1
- package/dist/index.css +3 -3
- package/dist/index.js +143 -177
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.js +1 -0
- package/src/multi-items/__tests__/__snapshots__/multi-renderer_test.js.snap +21 -11
- package/src/styles/widgets/passage.less +7 -3
- package/src/widgets/__stories__/passage-ref.stories.jsx +6 -2
- package/src/widgets/__stories__/passage.stories.jsx +9 -1
- package/src/widgets/__stories__/radio.stories.jsx +11 -0
- package/src/widgets/__testdata__/passage-ref_testdata.js +62 -0
- package/src/widgets/__testdata__/passage_testdata.js +25 -0
- package/src/widgets/__testdata__/radio_testdata.js +52 -0
- package/src/widgets/__tests__/__snapshots__/group_test.jsx.snap +21 -11
- package/src/widgets/__tests__/__snapshots__/passage-ref_test.jsx.snap +18 -18
- package/src/widgets/__tests__/__snapshots__/passage_test.jsx.snap +36 -36
- package/src/widgets/__tests__/__snapshots__/radio_test.jsx.snap +221 -117
- package/src/widgets/__tests__/passage_test.jsx +6 -8
- package/src/widgets/__tests__/radio_test.jsx +3 -1
- package/src/widgets/passage.jsx +12 -41
- package/src/widgets/radio/__stories__/sat-styles.stories.jsx +191 -0
- package/src/widgets/radio/base-radio.jsx +1 -2
- package/src/widgets/radio/choice.jsx +4 -10
- package/src/widgets/radio/widget.jsx +128 -129
- package/src/widgets/passage/get-line-height-for-node.js +0 -9
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Core Perseus API (includes renderers and widgets)",
|
|
4
4
|
"author": "Khan Academy",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.3.1",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@khanacademy/kas": "^0.2.7",
|
|
25
25
|
"@khanacademy/kmath": "^0.0.8",
|
|
26
|
-
"@khanacademy/math-input": "^0.6.
|
|
26
|
+
"@khanacademy/math-input": "^0.6.4",
|
|
27
27
|
"@khanacademy/perseus-linter": "^0.2.3",
|
|
28
28
|
"@khanacademy/pure-markdown": "^0.1.3",
|
|
29
29
|
"@khanacademy/simple-markdown": "^0.8.6",
|
package/src/index.js
CHANGED
|
@@ -129,22 +129,24 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
129
129
|
Choose 1 answer:
|
|
130
130
|
</div>
|
|
131
131
|
<ul
|
|
132
|
-
class="perseus-widget-radio perseus-rendered-radio
|
|
132
|
+
class="perseus-widget-radio perseus-rendered-radio radio_1gyjybc-o_O-responsiveRadioContainer_1ybwre2"
|
|
133
133
|
style="list-style: none;"
|
|
134
134
|
>
|
|
135
135
|
<li
|
|
136
136
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
137
137
|
>
|
|
138
138
|
<div
|
|
139
|
+
class="description description_psmgei"
|
|
139
140
|
style="flex-direction: column;"
|
|
140
141
|
>
|
|
141
142
|
<div
|
|
142
|
-
style="display: flex; flex-direction: row;
|
|
143
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
143
144
|
>
|
|
144
145
|
<div
|
|
145
146
|
class="perseus-sr-only"
|
|
146
147
|
>
|
|
147
148
|
<input
|
|
149
|
+
class="perseus-radio-option-content"
|
|
148
150
|
id="choice-0"
|
|
149
151
|
tabindex="-1"
|
|
150
152
|
type="radio"
|
|
@@ -213,7 +215,7 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
213
215
|
aria-disabled="false"
|
|
214
216
|
aria-hidden="true"
|
|
215
217
|
aria-label=""
|
|
216
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
218
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
217
219
|
tabindex="0"
|
|
218
220
|
type="button"
|
|
219
221
|
>
|
|
@@ -311,15 +313,17 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
311
313
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
312
314
|
>
|
|
313
315
|
<div
|
|
316
|
+
class="description description_psmgei"
|
|
314
317
|
style="flex-direction: column;"
|
|
315
318
|
>
|
|
316
319
|
<div
|
|
317
|
-
style="display: flex; flex-direction: row;
|
|
320
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
318
321
|
>
|
|
319
322
|
<div
|
|
320
323
|
class="perseus-sr-only"
|
|
321
324
|
>
|
|
322
325
|
<input
|
|
326
|
+
class="perseus-radio-option-content"
|
|
323
327
|
id="choice-1"
|
|
324
328
|
tabindex="-1"
|
|
325
329
|
type="radio"
|
|
@@ -388,7 +392,7 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
388
392
|
aria-disabled="false"
|
|
389
393
|
aria-hidden="true"
|
|
390
394
|
aria-label=""
|
|
391
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
395
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
392
396
|
tabindex="0"
|
|
393
397
|
type="button"
|
|
394
398
|
>
|
|
@@ -486,15 +490,17 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
486
490
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
487
491
|
>
|
|
488
492
|
<div
|
|
493
|
+
class="description description_psmgei"
|
|
489
494
|
style="flex-direction: column;"
|
|
490
495
|
>
|
|
491
496
|
<div
|
|
492
|
-
style="display: flex; flex-direction: row;
|
|
497
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
493
498
|
>
|
|
494
499
|
<div
|
|
495
500
|
class="perseus-sr-only"
|
|
496
501
|
>
|
|
497
502
|
<input
|
|
503
|
+
class="perseus-radio-option-content"
|
|
498
504
|
id="choice-2"
|
|
499
505
|
tabindex="-1"
|
|
500
506
|
type="radio"
|
|
@@ -563,7 +569,7 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
563
569
|
aria-disabled="false"
|
|
564
570
|
aria-hidden="true"
|
|
565
571
|
aria-label=""
|
|
566
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
572
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
567
573
|
tabindex="0"
|
|
568
574
|
type="button"
|
|
569
575
|
>
|
|
@@ -661,15 +667,17 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
661
667
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
662
668
|
>
|
|
663
669
|
<div
|
|
670
|
+
class="description description_psmgei"
|
|
664
671
|
style="flex-direction: column;"
|
|
665
672
|
>
|
|
666
673
|
<div
|
|
667
|
-
style="display: flex; flex-direction: row;
|
|
674
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
668
675
|
>
|
|
669
676
|
<div
|
|
670
677
|
class="perseus-sr-only"
|
|
671
678
|
>
|
|
672
679
|
<input
|
|
680
|
+
class="perseus-radio-option-content"
|
|
673
681
|
id="choice-3"
|
|
674
682
|
tabindex="-1"
|
|
675
683
|
type="radio"
|
|
@@ -738,7 +746,7 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
738
746
|
aria-disabled="false"
|
|
739
747
|
aria-hidden="true"
|
|
740
748
|
aria-label=""
|
|
741
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
749
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
742
750
|
tabindex="0"
|
|
743
751
|
type="button"
|
|
744
752
|
>
|
|
@@ -836,15 +844,17 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
836
844
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
837
845
|
>
|
|
838
846
|
<div
|
|
847
|
+
class="description description_psmgei"
|
|
839
848
|
style="flex-direction: column;"
|
|
840
849
|
>
|
|
841
850
|
<div
|
|
842
|
-
style="display: flex; flex-direction: row;
|
|
851
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
843
852
|
>
|
|
844
853
|
<div
|
|
845
854
|
class="perseus-sr-only"
|
|
846
855
|
>
|
|
847
856
|
<input
|
|
857
|
+
class="perseus-radio-option-content"
|
|
848
858
|
id="choice-4"
|
|
849
859
|
tabindex="-1"
|
|
850
860
|
type="radio"
|
|
@@ -913,7 +923,7 @@ exports[`multi-item renderer should snapshot: initial render 1`] = `
|
|
|
913
923
|
aria-disabled="false"
|
|
914
924
|
aria-hidden="true"
|
|
915
925
|
aria-label=""
|
|
916
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
926
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
917
927
|
tabindex="0"
|
|
918
928
|
type="button"
|
|
919
929
|
>
|
|
@@ -45,12 +45,16 @@
|
|
|
45
45
|
|
|
46
46
|
margin: 0 0 10px;
|
|
47
47
|
}
|
|
48
|
+
|
|
49
|
+
// note(matthewc): If you need to change any of this,
|
|
50
|
+
// check that line numbers line up correctly.
|
|
51
|
+
// The margin should probably be 0 or the line height
|
|
48
52
|
.passage-text div.paragraph {
|
|
49
|
-
font-family: "Noto Serif", serif;
|
|
50
53
|
font-weight: 400;
|
|
51
|
-
font-size:
|
|
52
|
-
line-height:
|
|
54
|
+
font-size: @font-size;
|
|
55
|
+
line-height: @line-height;
|
|
53
56
|
text-indent: 20px;
|
|
57
|
+
margin: 0;
|
|
54
58
|
|
|
55
59
|
span {
|
|
56
60
|
text-indent: 0;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
4
|
import {RendererWithDebugUI} from "../../../../../testing/renderer-with-debug-ui.jsx";
|
|
5
|
-
import {question1} from "../__testdata__/passage-ref_testdata.js";
|
|
5
|
+
import {question1, question2} from "../__testdata__/passage-ref_testdata.js";
|
|
6
6
|
|
|
7
7
|
type StoryArgs = {||};
|
|
8
8
|
|
|
@@ -14,6 +14,10 @@ export default ({
|
|
|
14
14
|
title: "Perseus/Widgets/PassageRef",
|
|
15
15
|
}: Story);
|
|
16
16
|
|
|
17
|
-
export const
|
|
17
|
+
export const ShortPassage = (args: StoryArgs): React.Node => {
|
|
18
18
|
return <RendererWithDebugUI question={question1} />;
|
|
19
19
|
};
|
|
20
|
+
|
|
21
|
+
export const LongPassage = (args: StoryArgs): React.Node => {
|
|
22
|
+
return <RendererWithDebugUI question={question2} />;
|
|
23
|
+
};
|
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
4
|
import {RendererWithDebugUI} from "../../../../../testing/renderer-with-debug-ui.jsx";
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
question1,
|
|
7
|
+
question2,
|
|
8
|
+
question3,
|
|
9
|
+
} from "../__testdata__/passage_testdata.js";
|
|
6
10
|
|
|
7
11
|
export default {
|
|
8
12
|
title: "Perseus/Widgets/Passage",
|
|
@@ -17,3 +21,7 @@ export const SimpleQuestion = (args: StoryArgs): React.Node => {
|
|
|
17
21
|
export const MultiPassageQuestion = (args: StoryArgs): React.Node => {
|
|
18
22
|
return <RendererWithDebugUI question={question2} />;
|
|
19
23
|
};
|
|
24
|
+
|
|
25
|
+
export const SingleNumberedPassage = (args: StoryArgs): React.Node => {
|
|
26
|
+
return <RendererWithDebugUI question={question3} />;
|
|
27
|
+
};
|
|
@@ -6,6 +6,7 @@ import {RendererWithDebugUI} from "../../../../../testing/renderer-with-debug-ui
|
|
|
6
6
|
import {
|
|
7
7
|
questionWithPassage,
|
|
8
8
|
multiChoiceQuestion,
|
|
9
|
+
multiChoiceQuestionSimple,
|
|
9
10
|
} from "../__testdata__/radio_testdata.js";
|
|
10
11
|
|
|
11
12
|
import type {PerseusRenderer} from "../../perseus-types.js";
|
|
@@ -71,6 +72,16 @@ export const SingleSelect = (args: StoryArgs): React.Node => {
|
|
|
71
72
|
);
|
|
72
73
|
};
|
|
73
74
|
|
|
75
|
+
export const MultiSelectSimple = (args: StoryArgs): React.Node => {
|
|
76
|
+
return (
|
|
77
|
+
<RendererWithDebugUI
|
|
78
|
+
question={applyStoryArgs(multiChoiceQuestionSimple, args)}
|
|
79
|
+
apiOptions={buildApiOptions(args)}
|
|
80
|
+
reviewMode={args.reviewMode}
|
|
81
|
+
/>
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
74
85
|
export const MultiSelect = (args: StoryArgs): React.Node => {
|
|
75
86
|
return (
|
|
76
87
|
<RendererWithDebugUI
|
|
@@ -39,3 +39,65 @@ export const question1: PerseusRenderer = {
|
|
|
39
39
|
},
|
|
40
40
|
},
|
|
41
41
|
};
|
|
42
|
+
|
|
43
|
+
export const question2: PerseusRenderer = {
|
|
44
|
+
content:
|
|
45
|
+
'[[☃ passage 1]]\n\n"It is!" is used in [[☃ passage-ref 1]]\n\n"unsettle" is used in [[☃ passage-ref 2]]\n\n"flagon" is used in [[☃ passage-ref 3]]\n\n',
|
|
46
|
+
images: {},
|
|
47
|
+
widgets: {
|
|
48
|
+
"passage 1": {
|
|
49
|
+
alignment: "default",
|
|
50
|
+
graded: true,
|
|
51
|
+
options: {
|
|
52
|
+
footnotes: "",
|
|
53
|
+
passageText:
|
|
54
|
+
'\n\nOne afternoon, Mrs. Bretton, coaxing [Paulina] from her usual station in a corner, had lifted her into the window-seat, and, by way of occupying her attention, told her to watch the passengers and count how many ladies should go down the street in a given time. She had sat listlessly, hardly looking, and not counting, when—my eye being fixed on hers—I witnessed in its iris and pupil a startling transfiguration. These sudden, dangerous natures—*sensitive* as they are called—offer many a curious spectacle to those whom a cooler temperament has secured from participation in their angular vagaries. The fixed and heavy gaze swum, trembled, then glittered in fire; the small, overcast brow cleared; the trivial and dejected features lit up; the sad countenance vanished, and in its place appeared a sudden eagerness, an intense expectancy. {{"It *is!*"}} were her words.\n\nLike a bird or a shaft, or any other swift thing, she was gone from the room. How she got the house-door open I cannot tell; probably it might be ajar; perhaps Warren was in the way and obeyed her behest, which would be impetuous enough. I—watching calmly from the window—saw her, in her black frock and tiny braided apron (to pinafores she had an antipathy), dart half the length of the street; and, as I was on the point of turning, and quietly announcing to Mrs. Bretton that the child was run out mad, and ought instantly to be pursued, I saw her caught up, and rapt at once from my cool observation, and from the wondering stare of the passengers. A gentleman had done this good turn, and now, covering her with his cloak, advanced to restore her to the house whence he had seen her issue.\n\nI concluded he would leave her in a servant\'s charge and withdraw; but he entered: having tarried a little while below, he came up-stairs.\n\nHis reception immediately explained that he was known to Mrs. Bretton. She recognised him; she greeted him, and yet she was fluttered, surprised, taken unawares. Her look and manner were even expostulatory; and in reply to these, rather than her words, he said,—"I could not help it, madam: I found it impossible to leave the country without seeing with my own eyes how she settled."\n\n"But you will {{unsettle}} her."\n\n"I hope not. And how is papa\'s little Polly?"\n\nThis question he addressed to Paulina, as he sat down and placed her gently on the ground before him.\n\n"How is Polly\'s papa?" was the reply, as she leaned on his knee, and gazed up into his face.\n\nIt was not a noisy, not a wordy scene: for that I was thankful; but it was a scene of feeling too brimful, and which, because the cup did not foam up high or furiously overflow, only oppressed one the more. On all occasions of vehement, unrestrained expansion, a sense of disdain or ridicule comes to the weary spectator\'s relief; whereas I have ever felt most burdensome that sort of sensibility which bends of its own will, a giant slave under the sway of good sense.\n\nMr. Home was a stern-featured—perhaps I should rather say, a hard-featured man: his forehead was knotty, and his cheekbones were marked and prominent. The character of his face was quite Scotch; but there was feeling in his eye, and emotion in his now agitated countenance. His northern accent in speaking harmonised with his physiognomy. He was at once proud-looking and homely-looking. He laid his hand on the child\'s uplifted head. She said—"Kiss Polly."\n\nHe kissed her. I wished she would utter some hysterical cry, so that I might get relief and be at ease. She made wonderfully little noise: she seemed to have got what she wanted—all she wanted, and to be in a trance of content. Neither in mien nor in features was this creature like her sire, and yet she was of his strain: her mind had been filled from his, as the cup from the {{flagon}}.\n',
|
|
55
|
+
passageTitle: "",
|
|
56
|
+
showLineNumbers: true,
|
|
57
|
+
static: false,
|
|
58
|
+
},
|
|
59
|
+
static: false,
|
|
60
|
+
type: "passage",
|
|
61
|
+
version: {
|
|
62
|
+
major: 0,
|
|
63
|
+
minor: 0,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
"passage-ref 1": {
|
|
67
|
+
options: {
|
|
68
|
+
passageNumber: 1,
|
|
69
|
+
referenceNumber: 1,
|
|
70
|
+
summaryText: "",
|
|
71
|
+
},
|
|
72
|
+
type: "passage-ref",
|
|
73
|
+
version: {
|
|
74
|
+
major: 0,
|
|
75
|
+
minor: 1,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
"passage-ref 2": {
|
|
79
|
+
options: {
|
|
80
|
+
passageNumber: 1,
|
|
81
|
+
referenceNumber: 2,
|
|
82
|
+
summaryText: "",
|
|
83
|
+
},
|
|
84
|
+
type: "passage-ref",
|
|
85
|
+
version: {
|
|
86
|
+
major: 0,
|
|
87
|
+
minor: 1,
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
"passage-ref 3": {
|
|
91
|
+
options: {
|
|
92
|
+
passageNumber: 1,
|
|
93
|
+
referenceNumber: 3,
|
|
94
|
+
summaryText: "",
|
|
95
|
+
},
|
|
96
|
+
type: "passage-ref",
|
|
97
|
+
version: {
|
|
98
|
+
major: 0,
|
|
99
|
+
minor: 1,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
};
|
|
@@ -69,3 +69,28 @@ export const question2: PerseusRenderer = {
|
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
71
|
};
|
|
72
|
+
|
|
73
|
+
export const question3: PerseusRenderer = {
|
|
74
|
+
content: "[[☃ passage 1]]",
|
|
75
|
+
images: {},
|
|
76
|
+
widgets: {
|
|
77
|
+
"passage 1": {
|
|
78
|
+
alignment: "default",
|
|
79
|
+
graded: true,
|
|
80
|
+
options: {
|
|
81
|
+
footnotes: "An example footnote",
|
|
82
|
+
passageText:
|
|
83
|
+
"{{For reasons that are not entirely clear, when animals make their way to isolated islands [[1]], they tend to evolve relatively quickly toward an outsized or pint-sized version of their mainland counterpart.}} \n\n{{Perhaps the most famous example of an island giant—and, sadly, of species extinction—is the dodo, once found on the Indian Ocean island of Mauritius.}} {{When the dodo's ancestor (thought to be a migratory pigeon) settled on this island with abundant food, no competition from terrestrial mammals, and no predators, it could survive without flying, and thus was freed from the energetic and size constraints of flight.}} {{New Zealand also had avian giants, now extinct, including the flightless moa, an ostrich-like bird, and Haast's eagle (_Harpagornis moorei_), which had a wingspan up to 3 meters.}} {{Though Haast's eagle could fly—and presumably used its wings to {{launch}} brutal attacks on the hapless moa—its body mass (10–14 kilograms) pushed the limits for self-propelled flight.}}\n\n{{As extreme evolutionary examples, these island birds can offer insights into the forces and events shaping evolutionary change.}} In a new study, Michael Bunce et al. compared ancient mitochondrial DNA extracted from Haast's eagle bones with DNA sequences of 16 living eagle species to better characterize the evolutionary history of the extinct giant raptor. {{Their results suggest the extinct raptor underwent a rapid evolutionary transformation that belies its kinship to some of the world's smallest eagle species.}}\n\nThe authors characterized the rates of sequence evolution within mitochondrial DNA to establish the evolutionary relationships between the different eagle species. Their analysis places Haast's eagle in the same evolutionary lineage as a group of small eagle species in the genus _Hieraaetus_. Surprisingly, the genetic distance separating the giant eagle and its more diminutive _Hieraaetus_ cousins from their last {{common}} ancestor is relatively small.\n",
|
|
84
|
+
passageTitle: "Passage 1",
|
|
85
|
+
showLineNumbers: true,
|
|
86
|
+
static: false,
|
|
87
|
+
},
|
|
88
|
+
static: false,
|
|
89
|
+
type: "passage",
|
|
90
|
+
version: {
|
|
91
|
+
major: 0,
|
|
92
|
+
minor: 0,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
@@ -194,6 +194,58 @@ export const multiChoiceQuestion: PerseusRenderer = {
|
|
|
194
194
|
},
|
|
195
195
|
};
|
|
196
196
|
|
|
197
|
+
export const multiChoiceQuestionSimple: PerseusRenderer = {
|
|
198
|
+
content: "What are some ways to say hello?\n\n[[\u2603 radio 1]]",
|
|
199
|
+
images: {},
|
|
200
|
+
widgets: {
|
|
201
|
+
"radio 1": ({
|
|
202
|
+
graded: true,
|
|
203
|
+
version: {
|
|
204
|
+
major: 1,
|
|
205
|
+
minor: 0,
|
|
206
|
+
},
|
|
207
|
+
static: false,
|
|
208
|
+
type: "radio",
|
|
209
|
+
options: {
|
|
210
|
+
onePerLine: true,
|
|
211
|
+
displayCount: null,
|
|
212
|
+
choices: [
|
|
213
|
+
{
|
|
214
|
+
content: "Hola",
|
|
215
|
+
isNoneOfTheAbove: false,
|
|
216
|
+
correct: true,
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
content: "Hey",
|
|
220
|
+
isNoneOfTheAbove: false,
|
|
221
|
+
correct: true,
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
content: "Hi",
|
|
225
|
+
isNoneOfTheAbove: false,
|
|
226
|
+
correct: true,
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
content: "Goodbye",
|
|
230
|
+
isNoneOfTheAbove: false,
|
|
231
|
+
correct: false,
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
content: "None of these",
|
|
235
|
+
isNoneOfTheAbove: true,
|
|
236
|
+
correct: false,
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
hasNoneOfTheAbove: true,
|
|
240
|
+
multipleSelect: true,
|
|
241
|
+
randomize: false,
|
|
242
|
+
deselectEnabled: false,
|
|
243
|
+
},
|
|
244
|
+
alignment: "default",
|
|
245
|
+
}: RadioWidget),
|
|
246
|
+
},
|
|
247
|
+
};
|
|
248
|
+
|
|
197
249
|
export const multiChoiceQuestionAndAnswer: [
|
|
198
250
|
PerseusRenderer,
|
|
199
251
|
$ReadOnlyArray<number>,
|
|
@@ -134,22 +134,24 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
134
134
|
Choose 1 answer:
|
|
135
135
|
</div>
|
|
136
136
|
<ul
|
|
137
|
-
class="perseus-widget-radio perseus-rendered-radio
|
|
137
|
+
class="perseus-widget-radio perseus-rendered-radio radio_1gyjybc-o_O-responsiveRadioContainer_1ybwre2"
|
|
138
138
|
style="list-style: none;"
|
|
139
139
|
>
|
|
140
140
|
<li
|
|
141
141
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
142
142
|
>
|
|
143
143
|
<div
|
|
144
|
+
class="description description_psmgei"
|
|
144
145
|
style="flex-direction: column;"
|
|
145
146
|
>
|
|
146
147
|
<div
|
|
147
|
-
style="display: flex; flex-direction: row;
|
|
148
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
148
149
|
>
|
|
149
150
|
<div
|
|
150
151
|
class="perseus-sr-only"
|
|
151
152
|
>
|
|
152
153
|
<input
|
|
154
|
+
class="perseus-radio-option-content"
|
|
153
155
|
id="choice-5"
|
|
154
156
|
tabindex="-1"
|
|
155
157
|
type="radio"
|
|
@@ -192,7 +194,7 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
192
194
|
aria-disabled="false"
|
|
193
195
|
aria-hidden="true"
|
|
194
196
|
aria-label=""
|
|
195
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
197
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
196
198
|
tabindex="0"
|
|
197
199
|
type="button"
|
|
198
200
|
>
|
|
@@ -264,15 +266,17 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
264
266
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
265
267
|
>
|
|
266
268
|
<div
|
|
269
|
+
class="description description_psmgei"
|
|
267
270
|
style="flex-direction: column;"
|
|
268
271
|
>
|
|
269
272
|
<div
|
|
270
|
-
style="display: flex; flex-direction: row;
|
|
273
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
271
274
|
>
|
|
272
275
|
<div
|
|
273
276
|
class="perseus-sr-only"
|
|
274
277
|
>
|
|
275
278
|
<input
|
|
279
|
+
class="perseus-radio-option-content"
|
|
276
280
|
id="choice-6"
|
|
277
281
|
tabindex="-1"
|
|
278
282
|
type="radio"
|
|
@@ -315,7 +319,7 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
315
319
|
aria-disabled="false"
|
|
316
320
|
aria-hidden="true"
|
|
317
321
|
aria-label=""
|
|
318
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
322
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
319
323
|
tabindex="0"
|
|
320
324
|
type="button"
|
|
321
325
|
>
|
|
@@ -387,15 +391,17 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
387
391
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
388
392
|
>
|
|
389
393
|
<div
|
|
394
|
+
class="description description_psmgei"
|
|
390
395
|
style="flex-direction: column;"
|
|
391
396
|
>
|
|
392
397
|
<div
|
|
393
|
-
style="display: flex; flex-direction: row;
|
|
398
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
394
399
|
>
|
|
395
400
|
<div
|
|
396
401
|
class="perseus-sr-only"
|
|
397
402
|
>
|
|
398
403
|
<input
|
|
404
|
+
class="perseus-radio-option-content"
|
|
399
405
|
id="choice-7"
|
|
400
406
|
tabindex="-1"
|
|
401
407
|
type="radio"
|
|
@@ -438,7 +444,7 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
438
444
|
aria-disabled="false"
|
|
439
445
|
aria-hidden="true"
|
|
440
446
|
aria-label=""
|
|
441
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
447
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
442
448
|
tabindex="0"
|
|
443
449
|
type="button"
|
|
444
450
|
>
|
|
@@ -510,15 +516,17 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
510
516
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
511
517
|
>
|
|
512
518
|
<div
|
|
519
|
+
class="description description_psmgei"
|
|
513
520
|
style="flex-direction: column;"
|
|
514
521
|
>
|
|
515
522
|
<div
|
|
516
|
-
style="display: flex; flex-direction: row;
|
|
523
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
517
524
|
>
|
|
518
525
|
<div
|
|
519
526
|
class="perseus-sr-only"
|
|
520
527
|
>
|
|
521
528
|
<input
|
|
529
|
+
class="perseus-radio-option-content"
|
|
522
530
|
id="choice-8"
|
|
523
531
|
tabindex="-1"
|
|
524
532
|
type="radio"
|
|
@@ -561,7 +569,7 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
561
569
|
aria-disabled="false"
|
|
562
570
|
aria-hidden="true"
|
|
563
571
|
aria-label=""
|
|
564
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
572
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
565
573
|
tabindex="0"
|
|
566
574
|
type="button"
|
|
567
575
|
>
|
|
@@ -633,15 +641,17 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
633
641
|
class="aboveScratchpad_1x0jb4k-o_O-item_dswvvi-o_O-responsiveItem_85oyrd perseus-radio-option"
|
|
634
642
|
>
|
|
635
643
|
<div
|
|
644
|
+
class="description description_psmgei"
|
|
636
645
|
style="flex-direction: column;"
|
|
637
646
|
>
|
|
638
647
|
<div
|
|
639
|
-
style="display: flex; flex-direction: row;
|
|
648
|
+
style="display: flex; flex-direction: row; opacity: 1;"
|
|
640
649
|
>
|
|
641
650
|
<div
|
|
642
651
|
class="perseus-sr-only"
|
|
643
652
|
>
|
|
644
653
|
<input
|
|
654
|
+
class="perseus-radio-option-content"
|
|
645
655
|
id="choice-9"
|
|
646
656
|
tabindex="-1"
|
|
647
657
|
type="radio"
|
|
@@ -684,7 +694,7 @@ exports[`group widget should snapshot: initial render 1`] = `
|
|
|
684
694
|
aria-disabled="false"
|
|
685
695
|
aria-hidden="true"
|
|
686
696
|
aria-label=""
|
|
687
|
-
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv
|
|
697
|
+
class="button_vr44p2-o_O-reset_152ygtm-o_O-link_13xlah4-o_O-inlineStyles_bc4egv"
|
|
688
698
|
tabindex="0"
|
|
689
699
|
type="button"
|
|
690
700
|
>
|
|
@@ -55,13 +55,13 @@ exports[`passage-ref widget should render with invalid reference 1`] = `
|
|
|
55
55
|
<div>
|
|
56
56
|
<div>
|
|
57
57
|
<div
|
|
58
|
-
|
|
58
|
+
aria-hidden="true"
|
|
59
|
+
class="measurer_225hir"
|
|
59
60
|
>
|
|
60
|
-
<div
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
<div />
|
|
61
|
+
<div
|
|
62
|
+
class="paragraph"
|
|
63
|
+
>
|
|
64
|
+
Line Height Measurement
|
|
65
65
|
</div>
|
|
66
66
|
</div>
|
|
67
67
|
<div
|
|
@@ -200,13 +200,13 @@ exports[`passage-ref widget should render with multi-line reference 1`] = `
|
|
|
200
200
|
<div>
|
|
201
201
|
<div>
|
|
202
202
|
<div
|
|
203
|
-
|
|
203
|
+
aria-hidden="true"
|
|
204
|
+
class="measurer_225hir"
|
|
204
205
|
>
|
|
205
|
-
<div
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
<div />
|
|
206
|
+
<div
|
|
207
|
+
class="paragraph"
|
|
208
|
+
>
|
|
209
|
+
Line Height Measurement
|
|
210
210
|
</div>
|
|
211
211
|
</div>
|
|
212
212
|
<div
|
|
@@ -350,13 +350,13 @@ exports[`passage-ref widget should render with single-line reference 1`] = `
|
|
|
350
350
|
<div>
|
|
351
351
|
<div>
|
|
352
352
|
<div
|
|
353
|
-
|
|
353
|
+
aria-hidden="true"
|
|
354
|
+
class="measurer_225hir"
|
|
354
355
|
>
|
|
355
|
-
<div
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
<div />
|
|
356
|
+
<div
|
|
357
|
+
class="paragraph"
|
|
358
|
+
>
|
|
359
|
+
Line Height Measurement
|
|
360
360
|
</div>
|
|
361
361
|
</div>
|
|
362
362
|
<div
|