@khanacademy/perseus 5.0.0 → 6.1.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 (115) hide show
  1. package/CHANGELOG.md +62 -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/hud.d.ts +8 -14
  9. package/dist/components/hud.js.flow +7 -14
  10. package/dist/components/inline-icon.d.ts +9 -19
  11. package/dist/components/inline-icon.js.flow +26 -13
  12. package/dist/components/lint.d.ts +41 -13
  13. package/dist/components/lint.js.flow +42 -13
  14. package/dist/components/math-output.d.ts +15 -11
  15. package/dist/components/math-output.js.flow +15 -11
  16. package/dist/components/sortable.d.ts +17 -9
  17. package/dist/components/sortable.js.flow +22 -9
  18. package/dist/components/svg-image.d.ts +5 -3
  19. package/dist/components/svg-image.js.flow +5 -3
  20. package/dist/components/tooltip.d.ts +45 -4
  21. package/dist/components/tooltip.js.flow +44 -31
  22. package/dist/es/index.css +0 -3
  23. package/dist/es/index.js +478 -649
  24. package/dist/es/index.js.map +1 -1
  25. package/dist/index.css +0 -3
  26. package/dist/index.js +482 -646
  27. package/dist/index.js.map +1 -1
  28. package/dist/perseus-types.d.ts +11 -9
  29. package/dist/perseus-types.js.flow +11 -9
  30. package/dist/renderer.d.ts +2 -2
  31. package/dist/renderer.js.flow +1 -3
  32. package/dist/styles/shared.d.ts +0 -1
  33. package/dist/styles/shared.js.flow +0 -1
  34. package/dist/types.d.ts +0 -10
  35. package/dist/types.js.flow +0 -13
  36. package/dist/util/a11y.d.ts +0 -1
  37. package/dist/util/a11y.js.flow +0 -1
  38. package/dist/util/interactive.d.ts +2 -0
  39. package/dist/util/interactive.js.flow +2 -0
  40. package/dist/util.d.ts +3 -3
  41. package/dist/util.js.flow +4 -3
  42. package/dist/widgets/grapher.d.ts +1 -1
  43. package/dist/widgets/grapher.js.flow +12 -3
  44. package/dist/widgets/matcher.d.ts +7 -3
  45. package/dist/widgets/matcher.js.flow +7 -3
  46. package/dist/widgets/number-line.d.ts +1 -1
  47. package/dist/widgets/number-line.js.flow +1 -1
  48. package/package.json +2 -2
  49. package/src/__tests__/__snapshots__/item-renderer.test.tsx.snap +151 -159
  50. package/src/__tests__/__snapshots__/renderer.test.tsx.snap +358 -394
  51. package/src/__tests__/__snapshots__/server-item-renderer.test.tsx.snap +169 -189
  52. package/src/components/__stories__/lint.stories.tsx +56 -21
  53. package/src/components/__stories__/sortable.stories.tsx +5 -5
  54. package/src/components/__stories__/tooltip.stories.tsx +52 -0
  55. package/src/components/__tests__/__snapshots__/sortable.test.tsx.snap +114 -30
  56. package/src/components/__tests__/__snapshots__/sorter.test.tsx.snap +172 -204
  57. package/src/components/__tests__/sortable.test.tsx +54 -16
  58. package/src/components/__tests__/sorter.test.tsx +12 -9
  59. package/src/components/fixed-to-responsive.tsx +43 -38
  60. package/src/components/graph.tsx +95 -81
  61. package/src/components/graphie.tsx +62 -32
  62. package/src/components/hud.tsx +104 -115
  63. package/src/components/inline-icon.tsx +15 -32
  64. package/src/components/input-with-examples.tsx +4 -4
  65. package/src/components/lint.tsx +47 -41
  66. package/src/components/math-output.tsx +17 -11
  67. package/src/components/simple-keypad-input.tsx +2 -2
  68. package/src/components/sortable.tsx +134 -94
  69. package/src/components/svg-image.tsx +10 -11
  70. package/src/components/tooltip.tsx +189 -171
  71. package/src/interactive2/types.ts +2 -2
  72. package/src/mixins/provide-keypad.tsx +2 -2
  73. package/src/multi-items/__tests__/__snapshots__/multi-renderer.test.tsx.snap +708 -764
  74. package/src/perseus-types.ts +13 -9
  75. package/src/renderer.tsx +11 -22
  76. package/src/types.ts +0 -18
  77. package/src/util/interactive.ts +18 -5
  78. package/src/util/tex.ts +13 -77
  79. package/src/util.ts +3 -4
  80. package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +2 -2
  81. package/src/widgets/__tests__/__snapshots__/categorizer.test.ts.snap +717 -773
  82. package/src/widgets/__tests__/__snapshots__/cs-program.test.ts.snap +28 -36
  83. package/src/widgets/__tests__/__snapshots__/definition.test.ts.snap +52 -60
  84. package/src/widgets/__tests__/__snapshots__/dropdown.test.ts.snap +100 -108
  85. package/src/widgets/__tests__/__snapshots__/explanation.test.ts.snap +212 -260
  86. package/src/widgets/__tests__/__snapshots__/graded-group-set-jipt.test.ts.snap +613 -641
  87. package/src/widgets/__tests__/__snapshots__/graded-group-set.test.ts.snap +249 -261
  88. package/src/widgets/__tests__/__snapshots__/graded-group.test.ts.snap +671 -735
  89. package/src/widgets/__tests__/__snapshots__/grapher.test.ts.snap +2676 -2684
  90. package/src/widgets/__tests__/__snapshots__/group.test.tsx.snap +938 -1002
  91. package/src/widgets/__tests__/__snapshots__/iframe.test.ts.snap +28 -36
  92. package/src/widgets/__tests__/__snapshots__/image.test.ts.snap +227 -255
  93. package/src/widgets/__tests__/__snapshots__/input-number.test.ts.snap +353 -357
  94. package/src/widgets/__tests__/__snapshots__/interaction.test.ts.snap +255 -259
  95. package/src/widgets/__tests__/__snapshots__/interactive-graph.test.ts.snap +2401 -2433
  96. package/src/widgets/__tests__/__snapshots__/matcher.test.tsx.snap +600 -756
  97. package/src/widgets/__tests__/__snapshots__/matrix.test.ts.snap +420 -428
  98. package/src/widgets/__tests__/__snapshots__/number-line.test.ts.snap +762 -770
  99. package/src/widgets/__tests__/__snapshots__/numeric-input.test.ts.snap +373 -393
  100. package/src/widgets/__tests__/__snapshots__/orderer.test.ts.snap +116 -148
  101. package/src/widgets/__tests__/__snapshots__/passage-ref.test.ts.snap +289 -301
  102. package/src/widgets/__tests__/__snapshots__/passage.test.tsx.snap +1679 -1711
  103. package/src/widgets/__tests__/__snapshots__/radio.test.ts.snap +2692 -2960
  104. package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +90 -98
  105. package/src/widgets/__tests__/matcher.test.tsx +33 -9
  106. package/src/widgets/expression.tsx +9 -6
  107. package/src/widgets/grapher.tsx +3 -3
  108. package/src/widgets/image.tsx +2 -2
  109. package/src/widgets/interactive-graph.tsx +5 -5
  110. package/src/widgets/matcher.tsx +43 -24
  111. package/src/widgets/number-line.tsx +1 -1
  112. package/src/widgets/simulator.tsx +4 -6
  113. package/{tsconfig.json → tsconfig-build.json} +6 -6
  114. package/tsconfig-build.tsbuildinfo +1 -0
  115. package/tsconfig.tsbuildinfo +0 -1
@@ -4,191 +4,183 @@ exports[`server item renderer should snapshot: initial render 1`] = `
4
4
  <div>
5
5
  <div>
6
6
  <div>
7
- <span
8
- class="mock-KatexProvider"
7
+ <div
8
+ class="perseus-renderer perseus-renderer-responsive"
9
9
  >
10
10
  <div
11
- class="perseus-renderer perseus-renderer-responsive"
11
+ class="paragraph"
12
+ data-perseus-paragraph-index="0"
12
13
  >
13
14
  <div
14
15
  class="paragraph"
15
- data-perseus-paragraph-index="0"
16
16
  >
17
- <div
18
- class="paragraph"
17
+ Enter the number
18
+ <span
19
+ style="white-space: nowrap;"
19
20
  >
20
- Enter the number
21
+ <span />
21
22
  <span
22
- style="white-space: nowrap;"
23
- >
24
- <span />
25
- <span
26
- class="mock-TeX"
27
- />
28
- <span />
29
- </span>
30
- -42
23
+ class="mock-TeX"
24
+ />
25
+ <span />
26
+ </span>
27
+ -42
28
+ <span
29
+ style="white-space: nowrap;"
30
+ >
31
+ <span />
31
32
  <span
32
- style="white-space: nowrap;"
33
- >
34
- <span />
35
- <span
36
- class="mock-TeX"
37
- />
38
- <span />
39
- </span>
40
- in the box:
41
- <div
42
- class="perseus-widget-container widget-nohighlight widget-inline-block"
43
- >
44
- <span>
45
- <div>
46
- <input
47
- autocapitalize="off"
48
- autocomplete="off"
49
- autocorrect="off"
50
- class="input_1t4b01j-o_O-LabelMedium_1rew30o-o_O-default_1r2dwp3-o_O-default_1gznapd-o_O-leftAlign_7jg4r4"
51
- id="input-with-examples-aW5wdXQtbnVtYmVyIDE"
52
- type="text"
53
- value=""
54
- />
55
- </div>
33
+ class="mock-TeX"
34
+ />
35
+ <span />
36
+ </span>
37
+ in the box:
38
+ <div
39
+ class="perseus-widget-container widget-nohighlight widget-inline-block"
40
+ >
41
+ <span>
42
+ <div>
43
+ <input
44
+ autocapitalize="off"
45
+ autocomplete="off"
46
+ autocorrect="off"
47
+ class="input_1t4b01j-o_O-LabelMedium_1rew30o-o_O-default_1r2dwp3-o_O-default_1gznapd-o_O-leftAlign_7jg4r4"
48
+ id="input-with-examples-aW5wdXQtbnVtYmVyIDE"
49
+ type="text"
50
+ value=""
51
+ />
52
+ </div>
53
+ <div
54
+ style="position: relative; height: 0px; display: none;"
55
+ >
56
56
  <div
57
- style="position: relative; height: 0px; display: none;"
57
+ class="tooltipContainer"
58
+ style="position: absolute; left: 0px;"
58
59
  >
59
60
  <div
60
- class="tooltipContainer"
61
- style="position: absolute; left: 0px;"
61
+ style="display: block; position: relative; visibility: visible; left: 0px; top: -1px; width: 12px; height: 11px; margin-top: -1px; margin-bottom: -2px; z-index: 10;"
62
62
  >
63
63
  <div
64
- style="display: block; position: relative; visibility: visible; left: 0px; top: -1px; width: 12px; height: 11px; margin-top: -1px; margin-bottom: -2px; z-index: 10;"
65
- >
66
- <div
67
- style="display: block; height: 0px; width: 0px; position: absolute; left: 0px; top: -1px; border-right: 12px solid transparent; border-bottom: 12px solid #ccc;"
68
- />
69
- <div
70
- style="display: block; height: 0px; width: 0px; position: absolute; left: 1px; top: 1px; border-right: 10px solid transparent; border-bottom: 10px solid white;"
71
- />
72
- </div>
64
+ style="display: block; height: 0px; width: 0px; position: absolute; left: 0px; top: -1px; border-right: 12px solid transparent; border-bottom: 12px solid #ccc;"
65
+ />
73
66
  <div
74
- class="perseus-formats-tooltip preview-measure"
75
- style="position: relative; top: 0px; left: 0px; border: 1px solid #ccc; box-shadow: 0 1px 3px #ccc; z-index: 9;"
67
+ style="display: block; height: 0px; width: 0px; position: absolute; left: 1px; top: 1px; border-right: 10px solid transparent; border-bottom: 10px solid white;"
68
+ />
69
+ </div>
70
+ <div
71
+ class="perseus-formats-tooltip preview-measure"
72
+ style="position: relative; top: 0px; left: 0px; border: 1px solid #ccc; box-shadow: 0 1px 3px #ccc; z-index: 9;"
73
+ >
74
+ <div
75
+ id="input-with-examples-aW5wdXQtbnVtYmVyIDE"
76
76
  >
77
77
  <div
78
- id="input-with-examples-aW5wdXQtbnVtYmVyIDE"
78
+ class="perseus-renderer perseus-renderer-responsive"
79
79
  >
80
- <span
81
- class="mock-KatexProvider"
80
+ <div
81
+ class="paragraph"
82
+ data-perseus-paragraph-index="0"
82
83
  >
83
- <div
84
- class="perseus-renderer perseus-renderer-responsive"
85
- >
86
- <div
87
- class="paragraph"
88
- data-perseus-paragraph-index="0"
89
- >
90
- <ul>
91
- <li>
92
- <strong>
93
- Your answer should be
94
- </strong>
95
- </li>
96
- <li>
97
- an integer, like
98
- <span
99
- style="white-space: nowrap;"
100
- >
101
- <span />
102
- <span
103
- class="mock-TeX"
104
- >
105
- 6
106
- </span>
107
- <span />
108
- </span>
109
- </li>
110
- <li>
111
- an
112
- <em>
113
- exact
114
- </em>
115
- decimal, like
116
- <span
117
- style="white-space: nowrap;"
118
- >
119
- <span />
120
- <span
121
- class="mock-TeX"
122
- >
123
- 0.75
124
- </span>
125
- <span />
126
- </span>
127
- </li>
128
- <li>
129
- a
130
- <em>
131
- simplified proper
132
- </em>
133
- fraction, like
134
- <span
135
- style="white-space: nowrap;"
136
- >
137
- <span />
138
- <span
139
- class="mock-TeX"
140
- >
141
- 3/5
142
- </span>
143
- <span />
144
- </span>
145
- </li>
146
- <li>
147
- a
148
- <em>
149
- simplified improper
150
- </em>
151
- fraction, like
152
- <span
153
- style="white-space: nowrap;"
154
- >
155
- <span />
156
- <span
157
- class="mock-TeX"
158
- >
159
- 7/4
160
- </span>
161
- <span />
162
- </span>
163
- </li>
164
- <li>
165
- a mixed number, like
166
- <span
167
- style="white-space: nowrap;"
168
- >
169
- <span />
170
- <span
171
- class="mock-TeX"
172
- >
173
- 1\\ 3/4
174
- </span>
175
- <span />
176
- </span>
177
- </li>
178
- </ul>
179
- </div>
180
- </div>
181
- </span>
84
+ <ul>
85
+ <li>
86
+ <strong>
87
+ Your answer should be
88
+ </strong>
89
+ </li>
90
+ <li>
91
+ an integer, like
92
+ <span
93
+ style="white-space: nowrap;"
94
+ >
95
+ <span />
96
+ <span
97
+ class="mock-TeX"
98
+ >
99
+ 6
100
+ </span>
101
+ <span />
102
+ </span>
103
+ </li>
104
+ <li>
105
+ an
106
+ <em>
107
+ exact
108
+ </em>
109
+ decimal, like
110
+ <span
111
+ style="white-space: nowrap;"
112
+ >
113
+ <span />
114
+ <span
115
+ class="mock-TeX"
116
+ >
117
+ 0.75
118
+ </span>
119
+ <span />
120
+ </span>
121
+ </li>
122
+ <li>
123
+ a
124
+ <em>
125
+ simplified proper
126
+ </em>
127
+ fraction, like
128
+ <span
129
+ style="white-space: nowrap;"
130
+ >
131
+ <span />
132
+ <span
133
+ class="mock-TeX"
134
+ >
135
+ 3/5
136
+ </span>
137
+ <span />
138
+ </span>
139
+ </li>
140
+ <li>
141
+ a
142
+ <em>
143
+ simplified improper
144
+ </em>
145
+ fraction, like
146
+ <span
147
+ style="white-space: nowrap;"
148
+ >
149
+ <span />
150
+ <span
151
+ class="mock-TeX"
152
+ >
153
+ 7/4
154
+ </span>
155
+ <span />
156
+ </span>
157
+ </li>
158
+ <li>
159
+ a mixed number, like
160
+ <span
161
+ style="white-space: nowrap;"
162
+ >
163
+ <span />
164
+ <span
165
+ class="mock-TeX"
166
+ >
167
+ 1\\ 3/4
168
+ </span>
169
+ <span />
170
+ </span>
171
+ </li>
172
+ </ul>
173
+ </div>
182
174
  </div>
183
175
  </div>
184
176
  </div>
185
177
  </div>
186
- </span>
187
- </div>
178
+ </div>
179
+ </span>
188
180
  </div>
189
181
  </div>
190
182
  </div>
191
- </span>
183
+ </div>
192
184
  </div>
193
185
  <div
194
186
  class="hintsContainer_1g61p95"
@@ -211,24 +203,20 @@ exports[`server item renderer should snapshot: initial render 1`] = `
211
203
  >
212
204
  1 / 3
213
205
  </span>
214
- <span
215
- class="mock-KatexProvider"
206
+ <div
207
+ class="perseus-renderer perseus-renderer-responsive"
216
208
  >
217
209
  <div
218
- class="perseus-renderer perseus-renderer-responsive"
210
+ class="paragraph"
211
+ data-perseus-paragraph-index="0"
219
212
  >
220
213
  <div
221
214
  class="paragraph"
222
- data-perseus-paragraph-index="0"
223
215
  >
224
- <div
225
- class="paragraph"
226
- >
227
- Hint #1
228
- </div>
216
+ Hint #1
229
217
  </div>
230
218
  </div>
231
- </span>
219
+ </div>
232
220
  </div>
233
221
  <div
234
222
  class="perseus-hint-renderer"
@@ -245,24 +233,20 @@ exports[`server item renderer should snapshot: initial render 1`] = `
245
233
  >
246
234
  2 / 3
247
235
  </span>
248
- <span
249
- class="mock-KatexProvider"
236
+ <div
237
+ class="perseus-renderer perseus-renderer-responsive"
250
238
  >
251
239
  <div
252
- class="perseus-renderer perseus-renderer-responsive"
240
+ class="paragraph"
241
+ data-perseus-paragraph-index="0"
253
242
  >
254
243
  <div
255
244
  class="paragraph"
256
- data-perseus-paragraph-index="0"
257
245
  >
258
- <div
259
- class="paragraph"
260
- >
261
- Hint #2
262
- </div>
246
+ Hint #2
263
247
  </div>
264
248
  </div>
265
- </span>
249
+ </div>
266
250
  </div>
267
251
  <div
268
252
  class="perseus-hint-renderer last-hint last-rendered"
@@ -279,24 +263,20 @@ exports[`server item renderer should snapshot: initial render 1`] = `
279
263
  >
280
264
  3 / 3
281
265
  </span>
282
- <span
283
- class="mock-KatexProvider"
266
+ <div
267
+ class="perseus-renderer perseus-renderer-responsive"
284
268
  >
285
269
  <div
286
- class="perseus-renderer perseus-renderer-responsive"
270
+ class="paragraph"
271
+ data-perseus-paragraph-index="0"
287
272
  >
288
273
  <div
289
274
  class="paragraph"
290
- data-perseus-paragraph-index="0"
291
275
  >
292
- <div
293
- class="paragraph"
294
- >
295
- Hint #3
296
- </div>
276
+ Hint #3
297
277
  </div>
298
278
  </div>
299
- </span>
279
+ </div>
300
280
  </div>
301
281
  </div>
302
282
  </div>
@@ -1,16 +1,16 @@
1
1
  import * as React from "react";
2
2
 
3
- type StoryArgs = Record<any, any>;
3
+ import Lint from "../lint";
4
4
 
5
- type Story = {
6
- title: string;
5
+ import type {Meta} from "@storybook/react";
6
+
7
+ const meta: Meta<typeof Lint> = {
8
+ title: "Perseus/Components/Lint",
7
9
  };
8
10
 
9
- import Lint from "../lint";
11
+ export default meta;
10
12
 
11
- export default {
12
- title: "Perseus/Components/Lint",
13
- } as Story;
13
+ type StoryArgs = Record<any, any>;
14
14
 
15
15
  const defaultObject = {
16
16
  children: <div>This is the sample lint child</div>,
@@ -19,33 +19,68 @@ const defaultObject = {
19
19
  ruleName: "Test rule",
20
20
  } as const;
21
21
 
22
+ const Container = ({children}: {children: React.ReactNode}) => {
23
+ return (
24
+ <div
25
+ style={{
26
+ width: "250px",
27
+ padding: "8px",
28
+ margin: "20px",
29
+ border: "solid 1px grey",
30
+ }}
31
+ >
32
+ {children}
33
+ </div>
34
+ );
35
+ };
36
+
22
37
  export const DefaultLintContainerAndMessage = (
23
38
  args: StoryArgs,
24
39
  ): React.ReactElement => {
25
- return <Lint {...defaultObject} />;
40
+ return (
41
+ <Container>
42
+ <Lint {...defaultObject} />
43
+ </Container>
44
+ );
26
45
  };
27
- export const Severity1DefaultLintAndMessage = (
28
- args: StoryArgs,
29
- ): React.ReactElement => {
30
- return <Lint {...defaultObject} severity={1} />;
46
+ export const LintSeverity1Error = (args: StoryArgs): React.ReactElement => {
47
+ return (
48
+ <Container>
49
+ <Lint {...defaultObject} severity={1} />
50
+ </Container>
51
+ );
31
52
  };
32
- export const Severity2DefaultLintAndMessage = (
33
- args: StoryArgs,
34
- ): React.ReactElement => {
35
- return <Lint {...defaultObject} severity={2} />;
53
+ export const LintSeverity2Warning = (args: StoryArgs): React.ReactElement => {
54
+ return (
55
+ <Container>
56
+ <Lint {...defaultObject} severity={2} />
57
+ </Container>
58
+ );
36
59
  };
37
- export const Severity3DefaultLintAndMessage = (
60
+ export const LintSeverity3Recommendation = (
38
61
  args: StoryArgs,
39
62
  ): React.ReactElement => {
40
- return <Lint {...defaultObject} severity={3} />;
63
+ return (
64
+ <Container>
65
+ <Lint {...defaultObject} severity={3} />
66
+ </Container>
67
+ );
41
68
  };
42
- export const Severity4DefaultLintAndMessage = (
69
+ export const LintSeverity4OfflineReportingOnly = (
43
70
  args: StoryArgs,
44
71
  ): React.ReactElement => {
45
- return <Lint {...defaultObject} severity={4} />;
72
+ return (
73
+ <Container>
74
+ <Lint {...defaultObject} severity={4} />
75
+ </Container>
76
+ );
46
77
  };
47
78
  export const InlineLintContainerAndMessage = (
48
79
  args: StoryArgs,
49
80
  ): React.ReactElement => {
50
- return <Lint {...defaultObject} inline={true} />;
81
+ return (
82
+ <Container>
83
+ <Lint {...defaultObject} inline={true} />
84
+ </Container>
85
+ );
51
86
  };
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
 
3
- import Sortable from "../sortable";
3
+ import Sortable, {Layout} from "../sortable";
4
4
 
5
5
  type StoryArgs = Record<any, any>;
6
6
 
@@ -19,9 +19,9 @@ export const SortableHorizontalExample = (
19
19
  ): React.ReactElement => {
20
20
  return (
21
21
  <Sortable
22
- layout="horizontal"
22
+ layout={Layout.HORIZONTAL}
23
23
  options={["a", "b", "c"]}
24
- waitForKatexLoad={false}
24
+ waitForTexRendererToLoad={false}
25
25
  />
26
26
  );
27
27
  };
@@ -31,9 +31,9 @@ export const SortableVerticalExample = (
31
31
  ): React.ReactElement => {
32
32
  return (
33
33
  <Sortable
34
- layout="vertical"
34
+ layout={Layout.VERTICAL}
35
35
  options={["a", "b", "c"]}
36
- waitForKatexLoad={false}
36
+ waitForTexRendererToLoad={false}
37
37
  />
38
38
  );
39
39
  };
@@ -0,0 +1,52 @@
1
+ import {View} from "@khanacademy/wonder-blocks-core";
2
+ import * as React from "react";
3
+
4
+ import Tooltip, {HorizontalDirection, VerticalDirection} from "../tooltip";
5
+
6
+ import type {Meta} from "@storybook/react";
7
+
8
+ const meta: Meta<typeof Tooltip> = {
9
+ title: "Perseus/Components/Tooltip",
10
+ };
11
+
12
+ export const Shown = () => {
13
+ return (
14
+ <View style={{margin: "20px"}}>
15
+ Hover over{" "}
16
+ <Tooltip
17
+ show={true}
18
+ horizontalPosition={HorizontalDirection.Left}
19
+ horizontalAlign={HorizontalDirection.Left}
20
+ verticalPosition={VerticalDirection.Bottom}
21
+ >
22
+ <span>this</span>
23
+ <View style={{backgroundColor: "white"}}>
24
+ You can read so much more if you want...
25
+ </View>
26
+ </Tooltip>{" "}
27
+ to see more information
28
+ </View>
29
+ );
30
+ };
31
+
32
+ export const Hidden = () => {
33
+ return (
34
+ <View style={{margin: "20px"}}>
35
+ Hover over{" "}
36
+ <Tooltip
37
+ show={false}
38
+ horizontalPosition={HorizontalDirection.Left}
39
+ horizontalAlign={HorizontalDirection.Left}
40
+ verticalPosition={VerticalDirection.Bottom}
41
+ >
42
+ <span>this</span>
43
+ <View style={{backgroundColor: "white"}}>
44
+ You can read so much more if you want...
45
+ </View>
46
+ </Tooltip>{" "}
47
+ to see more information
48
+ </View>
49
+ );
50
+ };
51
+
52
+ export default meta;