@khanacademy/perseus 7.2.0 → 8.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 (409) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/article-renderer.d.ts +26 -40
  3. package/dist/components/math-input.d.ts +1 -1
  4. package/dist/components/sortable.d.ts +1 -1
  5. package/dist/components/tex-buttons.d.ts +1 -1
  6. package/dist/es/index.css +61 -61
  7. package/dist/es/index.js +1189 -1308
  8. package/dist/es/index.js.map +1 -1
  9. package/dist/hints-renderer.d.ts +1 -1
  10. package/dist/index.css +61 -61
  11. package/dist/index.js +1180 -1269
  12. package/dist/index.js.map +1 -1
  13. package/dist/mixins/provide-keypad.d.ts +15 -12
  14. package/dist/perseus-api.d.ts +1 -1
  15. package/dist/types.d.ts +3 -2
  16. package/dist/widgets/expression.d.ts +1 -1
  17. package/dist/widgets/graded-group.d.ts +1 -1
  18. package/dist/widgets/interactive-graph.d.ts +1 -1
  19. package/dist/widgets/plotter.d.ts +47 -13
  20. package/dist/widgets/sequence.d.ts +1 -1
  21. package/dist/widgets/table.d.ts +8 -1
  22. package/dist/widgets.d.ts +1 -1
  23. package/package.json +33 -33
  24. package/src/__testdata__/article-renderer.testdata.ts +3 -1
  25. package/src/__testdata__/item-renderer.testdata.ts +1 -1
  26. package/src/__testdata__/renderer.testdata.ts +1 -1
  27. package/src/__tests__/item-renderer.test.tsx +2 -2
  28. package/src/__tests__/mock-asset-loading-widget.tsx +1 -1
  29. package/src/__tests__/perseus-markdown.test.ts +17 -17
  30. package/src/__tests__/renderer-api.test.tsx +21 -21
  31. package/src/__tests__/renderer.test.tsx +13 -13
  32. package/src/__tests__/server-item-renderer.test.tsx +3 -3
  33. package/src/__tests__/tex-wrangler.test.ts +1 -1
  34. package/src/article-renderer.tsx +39 -38
  35. package/src/components/__stories__/image-loader.stories.tsx +1 -0
  36. package/src/components/__tests__/number-input.test.tsx +4 -4
  37. package/src/components/__tests__/sortable.test.tsx +2 -2
  38. package/src/components/fixed-to-responsive.tsx +1 -1
  39. package/src/components/graph.tsx +12 -11
  40. package/src/components/graphie-classes.ts +7 -7
  41. package/src/components/graphie.tsx +14 -14
  42. package/src/components/highlighting/highlightable-content.tsx +1 -1
  43. package/src/components/highlighting/ui/highlight-renderer.tsx +1 -1
  44. package/src/components/highlighting/ui/util.ts +2 -2
  45. package/src/components/highlighting/word-indexer.tsx +4 -4
  46. package/src/components/icon.tsx +2 -1
  47. package/src/components/image-loader.tsx +5 -4
  48. package/src/components/input-with-examples.tsx +2 -2
  49. package/src/components/lint.tsx +1 -1
  50. package/src/components/math-input.tsx +5 -5
  51. package/src/components/math-output.tsx +1 -1
  52. package/src/components/multi-button-group.tsx +1 -1
  53. package/src/components/number-input.tsx +11 -10
  54. package/src/components/prop-check-box.tsx +1 -1
  55. package/src/components/simple-keypad-input.tsx +4 -4
  56. package/src/components/sortable.tsx +43 -41
  57. package/src/components/svg-image.tsx +13 -12
  58. package/src/components/tex-buttons.tsx +5 -3
  59. package/src/components/text-input.tsx +9 -8
  60. package/src/components/text-list-editor.tsx +12 -11
  61. package/src/components/visibility-observer/create-visibility-observer.ts +1 -1
  62. package/src/components/visibility-observer/visibility-observer.tsx +2 -2
  63. package/src/components/zoomable-tex.tsx +3 -3
  64. package/src/components/zoomable.tsx +9 -8
  65. package/src/hint-renderer.tsx +3 -3
  66. package/src/hints-renderer.tsx +12 -11
  67. package/src/index.ts +1 -0
  68. package/src/init.ts +1 -1
  69. package/src/interaction-tracker.ts +4 -4
  70. package/src/interactive2/__tests__/movable-point.test.ts +1 -1
  71. package/src/interactive2/interactive-util.ts +6 -6
  72. package/src/interactive2/movable-helper-methods.ts +2 -2
  73. package/src/interactive2/movable-line-options.ts +37 -37
  74. package/src/interactive2/movable-line.ts +2 -2
  75. package/src/interactive2/movable-point-options.ts +29 -29
  76. package/src/interactive2/movable-point.tsx +2 -2
  77. package/src/interactive2/movable-polygon-options.ts +45 -45
  78. package/src/interactive2/movable-polygon.ts +2 -2
  79. package/src/interactive2/movable.ts +2 -2
  80. package/src/interactive2/objective_.ts +1 -1
  81. package/src/interactive2/wrapped-defaults.ts +2 -2
  82. package/src/interactive2/wrapped-ellipse.ts +9 -9
  83. package/src/interactive2/wrapped-line.ts +8 -8
  84. package/src/interactive2/wrapped-path.ts +5 -5
  85. package/src/item-renderer.tsx +6 -5
  86. package/src/mixins/changeable.ts +2 -2
  87. package/src/mixins/editor-jsonify.ts +1 -1
  88. package/src/mixins/provide-keypad.tsx +24 -37
  89. package/src/mixins/widget-jsonify-deprecated.ts +1 -1
  90. package/src/multi-items/__tests__/items.test.ts +1 -1
  91. package/src/multi-items/__tests__/multi-renderer.test.tsx +7 -7
  92. package/src/multi-items/__tests__/trees.test.ts +12 -12
  93. package/src/multi-items/item-types.ts +2 -2
  94. package/src/multi-items/items.ts +1 -1
  95. package/src/multi-items/multi-renderer.tsx +15 -14
  96. package/src/multi-items/prop-type-builders.ts +2 -2
  97. package/src/multi-items/tree-types.ts +4 -4
  98. package/src/multi-items/trees.ts +16 -16
  99. package/src/perseus-env.ts +2 -2
  100. package/src/perseus-markdown.tsx +5 -5
  101. package/src/renderer.tsx +39 -38
  102. package/src/server-item-renderer.tsx +6 -5
  103. package/src/sigfigs.ts +1 -1
  104. package/src/styles/articles.less +8 -4
  105. package/src/styles/perseus-renderer.less +47 -38
  106. package/src/styles/util.less +1 -1
  107. package/src/styles/variables.boostrap.less +158 -182
  108. package/src/styles/variables.less +20 -20
  109. package/src/styles/variables.shared.less +162 -168
  110. package/src/styles/widgets/categorizer.less +1 -2
  111. package/src/styles/widgets/expression.less +7 -4
  112. package/src/styles/widgets/grapher.less +2 -1
  113. package/src/styles/widgets/image.less +3 -2
  114. package/src/styles/widgets/interactive-graph.less +4 -2
  115. package/src/styles/widgets/label-image.less +2 -1
  116. package/src/styles/widgets/matrix.less +11 -7
  117. package/src/styles/widgets/orderer.less +2 -1
  118. package/src/styles/widgets/passage.less +2 -1
  119. package/src/styles/widgets/plotter.less +4 -3
  120. package/src/styles/widgets/radio.less +4 -2
  121. package/src/styles/widgets/sortable.less +1 -1
  122. package/src/styles/widgets/table.less +2 -1
  123. package/src/styles/widgets/transformer.less +2 -1
  124. package/src/styles/widgets/unit.less +2 -1
  125. package/src/traversal.ts +1 -1
  126. package/src/types.ts +3 -3
  127. package/src/util/answer-types.ts +14 -14
  128. package/src/util/geometry.ts +7 -7
  129. package/src/util/graphie.ts +32 -32
  130. package/src/util/interactive.ts +118 -118
  131. package/src/util/math.ts +4 -4
  132. package/src/util/react-render.tsx +1 -1
  133. package/src/util/scroll-utils.ts +2 -2
  134. package/src/util/tex.ts +3 -3
  135. package/src/util.ts +15 -15
  136. package/src/widget-container.tsx +1 -1
  137. package/src/widgets/__stories__/plotter.stories.tsx +27 -0
  138. package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +3 -3
  139. package/src/widgets/__testdata__/numeric-input.testdata.ts +1 -1
  140. package/src/widgets/__testdata__/plotter.testdata.ts +36 -0
  141. package/src/widgets/__tests__/__snapshots__/plotter.test.tsx.snap +863 -0
  142. package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +2 -2
  143. package/src/widgets/__tests__/expression.test.ts +4 -3
  144. package/src/widgets/__tests__/grapher.cypress.ts +32 -32
  145. package/src/widgets/__tests__/group.test.tsx +1 -1
  146. package/src/widgets/__tests__/interactive-graph.cypress.ts +40 -40
  147. package/src/widgets/__tests__/interactive-graph.test.ts +1 -1
  148. package/src/widgets/__tests__/numeric-input.test.ts +1 -1
  149. package/src/widgets/__tests__/passage.test.tsx +2 -2
  150. package/src/widgets/__tests__/plotter.test.tsx +66 -0
  151. package/src/widgets/__tests__/radio/base-radio.test.tsx +7 -7
  152. package/src/widgets/__tests__/renderQuestion.tsx +3 -3
  153. package/src/widgets/categorizer.tsx +5 -4
  154. package/src/widgets/cs-program.tsx +2 -2
  155. package/src/widgets/dropdown.tsx +1 -1
  156. package/src/widgets/expression.tsx +10 -9
  157. package/src/widgets/graded-group-set.tsx +6 -5
  158. package/src/widgets/graded-group.tsx +19 -19
  159. package/src/widgets/grapher/util.tsx +6 -6
  160. package/src/widgets/grapher.tsx +10 -10
  161. package/src/widgets/group.tsx +3 -3
  162. package/src/widgets/iframe.tsx +2 -2
  163. package/src/widgets/image.tsx +1 -1
  164. package/src/widgets/input-number.tsx +4 -4
  165. package/src/widgets/interaction.tsx +78 -77
  166. package/src/widgets/interactive-graph.tsx +109 -107
  167. package/src/widgets/label-image/marker.tsx +3 -2
  168. package/src/widgets/label-image.test.ts +1 -1
  169. package/src/widgets/label-image.tsx +7 -7
  170. package/src/widgets/lights-puzzle.tsx +2 -2
  171. package/src/widgets/matcher.tsx +7 -6
  172. package/src/widgets/matrix.tsx +20 -20
  173. package/src/widgets/measurer.tsx +3 -3
  174. package/src/widgets/molecule/__tests__/layout.test.ts +4 -4
  175. package/src/widgets/molecule/__tests__/parser.test.ts +14 -14
  176. package/src/widgets/molecule/smiles-parser.ts +3 -3
  177. package/src/widgets/molecule.tsx +4 -4
  178. package/src/widgets/number-line.tsx +11 -11
  179. package/src/widgets/numeric-input.tsx +11 -11
  180. package/src/widgets/orderer.tsx +39 -38
  181. package/src/widgets/passage/__tests__/passage-markdown.test.ts +1 -1
  182. package/src/widgets/passage/passage-markdown.tsx +4 -4
  183. package/src/widgets/passage-ref-target.tsx +2 -1
  184. package/src/widgets/passage-ref.tsx +4 -6
  185. package/src/widgets/passage.tsx +11 -11
  186. package/src/widgets/plotter.tsx +117 -107
  187. package/src/widgets/radio/base-radio.tsx +12 -11
  188. package/src/widgets/radio/choice-icon/choice-icon.tsx +3 -2
  189. package/src/widgets/radio/choice.tsx +1 -1
  190. package/src/widgets/radio/option-status.tsx +1 -1
  191. package/src/widgets/radio/widget.tsx +6 -6
  192. package/src/widgets/radio.ts +1 -1
  193. package/src/widgets/reaction-diagram.tsx +8 -8
  194. package/src/widgets/sequence.tsx +2 -2
  195. package/src/widgets/simulator.tsx +14 -14
  196. package/src/widgets/sorter.tsx +5 -4
  197. package/src/widgets/table.tsx +8 -8
  198. package/src/widgets/transformer.tsx +93 -92
  199. package/src/widgets/unit.tsx +17 -17
  200. package/src/widgets/video-transcript-link.test.tsx +3 -3
  201. package/src/widgets/video-transcript-link.tsx +1 -1
  202. package/src/widgets/video.tsx +1 -1
  203. package/src/widgets.ts +5 -5
  204. package/src/zoom.ts +22 -22
  205. package/tsconfig-build.tsbuildinfo +1 -1
  206. package/dist/a11y.js.flow +0 -11
  207. package/dist/all-widgets.js.flow +0 -33
  208. package/dist/article-renderer.js.flow +0 -73
  209. package/dist/asset-context.js.flow +0 -15
  210. package/dist/basic-widgets.js.flow +0 -33
  211. package/dist/components/button-group.js.flow +0 -33
  212. package/dist/components/constants.js.flow +0 -13
  213. package/dist/components/fixed-to-responsive.js.flow +0 -34
  214. package/dist/components/graph.js.flow +0 -66
  215. package/dist/components/graphie-classes.js.flow +0 -19
  216. package/dist/components/graphie-movables.js.flow +0 -22
  217. package/dist/components/graphie.js.flow +0 -69
  218. package/dist/components/highlighting/highlightable-content.js.flow +0 -56
  219. package/dist/components/highlighting/highlights.js.flow +0 -54
  220. package/dist/components/highlighting/ranges.js.flow +0 -60
  221. package/dist/components/highlighting/types.js.flow +0 -70
  222. package/dist/components/highlighting/ui/highlight-renderer.js.flow +0 -43
  223. package/dist/components/highlighting/ui/highlight-set-renderer.js.flow +0 -41
  224. package/dist/components/highlighting/ui/highlight-tooltip.js.flow +0 -22
  225. package/dist/components/highlighting/ui/highlighting-ui.js.flow +0 -30
  226. package/dist/components/highlighting/ui/selection-tracker.js.flow +0 -54
  227. package/dist/components/highlighting/ui/types.js.flow +0 -22
  228. package/dist/components/highlighting/ui/util.js.flow +0 -42
  229. package/dist/components/highlighting/word-indexer.js.flow +0 -21
  230. package/dist/components/hud.js.flow +0 -14
  231. package/dist/components/icon.js.flow +0 -31
  232. package/dist/components/image-loader.js.flow +0 -49
  233. package/dist/components/info-tip/info-tip.js.flow +0 -20
  234. package/dist/components/info-tip.js.flow +0 -18
  235. package/dist/components/inline-icon.js.flow +0 -39
  236. package/dist/components/input-with-examples.js.flow +0 -58
  237. package/dist/components/lint.js.flow +0 -58
  238. package/dist/components/math-input.js.flow +0 -49
  239. package/dist/components/math-output.js.flow +0 -33
  240. package/dist/components/multi-button-group.js.flow +0 -35
  241. package/dist/components/number-input.js.flow +0 -42
  242. package/dist/components/prop-check-box.js.flow +0 -8
  243. package/dist/components/range-input.js.flow +0 -20
  244. package/dist/components/simple-keypad-input.js.flow +0 -16
  245. package/dist/components/sortable.js.flow +0 -91
  246. package/dist/components/stub-tag-editor.js.flow +0 -18
  247. package/dist/components/svg-image.js.flow +0 -85
  248. package/dist/components/tex-buttons.js.flow +0 -26
  249. package/dist/components/tex.js.flow +0 -25
  250. package/dist/components/text-input.js.flow +0 -39
  251. package/dist/components/text-list-editor.js.flow +0 -22
  252. package/dist/components/tooltip.js.flow +0 -51
  253. package/dist/components/visibility-observer/create-visibility-observer.js.flow +0 -23
  254. package/dist/components/visibility-observer/get-scroll-parent.js.flow +0 -7
  255. package/dist/components/visibility-observer/visibility-observer.js.flow +0 -36
  256. package/dist/components/zoomable-tex.js.flow +0 -18
  257. package/dist/components/zoomable.js.flow +0 -70
  258. package/dist/components.js.flow +0 -22
  259. package/dist/definition-context.js.flow +0 -25
  260. package/dist/dependencies.js.flow +0 -9
  261. package/dist/error-boundary.js.flow +0 -19
  262. package/dist/extra-widgets.js.flow +0 -33
  263. package/dist/hint-renderer.js.flow +0 -32
  264. package/dist/hints-renderer.js.flow +0 -41
  265. package/dist/icon-paths.js.flow +0 -123
  266. package/dist/index.js.flow +0 -134
  267. package/dist/init.js.flow +0 -20
  268. package/dist/interaction-tracker.js.flow +0 -35
  269. package/dist/interactive2/interactive-util.js.flow +0 -50
  270. package/dist/interactive2/movable-helper-methods.js.flow +0 -15
  271. package/dist/interactive2/movable-line-options.js.flow +0 -44
  272. package/dist/interactive2/movable-line.js.flow +0 -8
  273. package/dist/interactive2/movable-point-options.js.flow +0 -44
  274. package/dist/interactive2/movable-point.js.flow +0 -8
  275. package/dist/interactive2/movable-polygon-options.js.flow +0 -47
  276. package/dist/interactive2/movable-polygon.js.flow +0 -8
  277. package/dist/interactive2/movable.js.flow +0 -8
  278. package/dist/interactive2/objective_.js.flow +0 -25
  279. package/dist/interactive2/types.js.flow +0 -8
  280. package/dist/interactive2/wrapped-defaults.js.flow +0 -11
  281. package/dist/interactive2/wrapped-ellipse.js.flow +0 -14
  282. package/dist/interactive2/wrapped-line.js.flow +0 -14
  283. package/dist/interactive2/wrapped-path.js.flow +0 -13
  284. package/dist/interactive2.js.flow +0 -16
  285. package/dist/item-renderer.js.flow +0 -132
  286. package/dist/item-version.js.flow +0 -11
  287. package/dist/jipt-paragraphs.js.flow +0 -14
  288. package/dist/loading-context.js.flow +0 -12
  289. package/dist/logging/log.js.flow +0 -62
  290. package/dist/mixins/changeable.js.flow +0 -33
  291. package/dist/mixins/editor-jsonify.js.flow +0 -10
  292. package/dist/mixins/provide-keypad.js.flow +0 -33
  293. package/dist/mixins/widget-jsonify-deprecated.js.flow +0 -11
  294. package/dist/mixins/widget-prop-denylist.js.flow +0 -20
  295. package/dist/multi-items/item-types.js.flow +0 -55
  296. package/dist/multi-items/items.js.flow +0 -66
  297. package/dist/multi-items/multi-renderer.js.flow +0 -213
  298. package/dist/multi-items/prop-type-builders.js.flow +0 -22
  299. package/dist/multi-items/shape-types.js.flow +0 -60
  300. package/dist/multi-items/shapes.js.flow +0 -25
  301. package/dist/multi-items/tree-types.js.flow +0 -45
  302. package/dist/multi-items/trees.js.flow +0 -147
  303. package/dist/multi-items.js.flow +0 -36
  304. package/dist/perseus-api.js.flow +0 -151
  305. package/dist/perseus-env.js.flow +0 -6
  306. package/dist/perseus-error.js.flow +0 -16
  307. package/dist/perseus-markdown.js.flow +0 -20
  308. package/dist/perseus-types.js.flow +0 -1041
  309. package/dist/question-paragraph.js.flow +0 -17
  310. package/dist/renderability.js.flow +0 -19
  311. package/dist/renderer.js.flow +0 -325
  312. package/dist/server-item-renderer.js.flow +0 -132
  313. package/dist/sigfigs.js.flow +0 -41
  314. package/dist/styles/constants.js.flow +0 -62
  315. package/dist/styles/global-constants.js.flow +0 -348
  316. package/dist/styles/global-styles.js.flow +0 -53
  317. package/dist/styles/media-queries.js.flow +0 -35
  318. package/dist/styles/shared.js.flow +0 -8
  319. package/dist/tex-wrangler.js.flow +0 -13
  320. package/dist/translation-linter.js.flow +0 -32
  321. package/dist/traversal.js.flow +0 -26
  322. package/dist/types.js.flow +0 -318
  323. package/dist/util/a11y.js.flow +0 -8
  324. package/dist/util/answer-types.js.flow +0 -49
  325. package/dist/util/colors.js.flow +0 -95
  326. package/dist/util/fix-passage-refs.js.flow +0 -8
  327. package/dist/util/geometry.js.flow +0 -37
  328. package/dist/util/graph-utils.js.flow +0 -9
  329. package/dist/util/graphie.js.flow +0 -8
  330. package/dist/util/interactive.js.flow +0 -11
  331. package/dist/util/katex-preprocess.js.flow +0 -12
  332. package/dist/util/math.js.flow +0 -62
  333. package/dist/util/mobile-native-utils.js.flow +0 -12
  334. package/dist/util/react-render.js.flow +0 -12
  335. package/dist/util/register-all-widgets-for-testing.js.flow +0 -7
  336. package/dist/util/scroll-utils.js.flow +0 -19
  337. package/dist/util/sizing-utils.js.flow +0 -20
  338. package/dist/util/tex.js.flow +0 -17
  339. package/dist/util/url-utils.js.flow +0 -11
  340. package/dist/util.graphie.js.flow +0 -14
  341. package/dist/util.js.flow +0 -319
  342. package/dist/version.js.flow +0 -17
  343. package/dist/widget-container.js.flow +0 -33
  344. package/dist/widgets/categorizer.js.flow +0 -70
  345. package/dist/widgets/cs-program.js.flow +0 -54
  346. package/dist/widgets/definition.js.flow +0 -57
  347. package/dist/widgets/dropdown.js.flow +0 -63
  348. package/dist/widgets/explanation.js.flow +0 -58
  349. package/dist/widgets/expression.js.flow +0 -116
  350. package/dist/widgets/graded-group-answer-bar.js.flow +0 -24
  351. package/dist/widgets/graded-group-set.js.flow +0 -65
  352. package/dist/widgets/graded-group.js.flow +0 -78
  353. package/dist/widgets/grapher/util.js.flow +0 -38
  354. package/dist/widgets/grapher.js.flow +0 -102
  355. package/dist/widgets/group.js.flow +0 -60
  356. package/dist/widgets/iframe.js.flow +0 -53
  357. package/dist/widgets/image.js.flow +0 -73
  358. package/dist/widgets/input-number.js.flow +0 -94
  359. package/dist/widgets/interaction/arrow-picker.js.flow +0 -21
  360. package/dist/widgets/interaction/color-picker.js.flow +0 -23
  361. package/dist/widgets/interaction/dash-picker.js.flow +0 -21
  362. package/dist/widgets/interaction/element-container.js.flow +0 -28
  363. package/dist/widgets/interaction.js.flow +0 -60
  364. package/dist/widgets/interactive-graph.js.flow +0 -239
  365. package/dist/widgets/label-image/answer-choices.js.flow +0 -55
  366. package/dist/widgets/label-image/marker.js.flow +0 -31
  367. package/dist/widgets/label-image/types.js.flow +0 -23
  368. package/dist/widgets/label-image.js.flow +0 -142
  369. package/dist/widgets/lights-puzzle.js.flow +0 -58
  370. package/dist/widgets/matcher.js.flow +0 -106
  371. package/dist/widgets/matrix.js.flow +0 -80
  372. package/dist/widgets/measurer.js.flow +0 -30
  373. package/dist/widgets/molecule/molecule-drawing.js.flow +0 -11
  374. package/dist/widgets/molecule/molecule-layout.js.flow +0 -96
  375. package/dist/widgets/molecule/smiles-parser.js.flow +0 -26
  376. package/dist/widgets/molecule.js.flow +0 -60
  377. package/dist/widgets/number-line.js.flow +0 -102
  378. package/dist/widgets/numeric-input.js.flow +0 -105
  379. package/dist/widgets/orderer.js.flow +0 -81
  380. package/dist/widgets/passage/passage-markdown.js.flow +0 -33
  381. package/dist/widgets/passage-ref-target.js.flow +0 -52
  382. package/dist/widgets/passage-ref.js.flow +0 -85
  383. package/dist/widgets/passage.js.flow +0 -157
  384. package/dist/widgets/plotter.js.flow +0 -78
  385. package/dist/widgets/radio/base-radio.js.flow +0 -50
  386. package/dist/widgets/radio/choice-a11y-text.js.flow +0 -14
  387. package/dist/widgets/radio/choice-icon/choice-icon.js.flow +0 -22
  388. package/dist/widgets/radio/choice-icon/cross-out-line.js.flow +0 -16
  389. package/dist/widgets/radio/choice-icon/shared-styles.js.flow +0 -11
  390. package/dist/widgets/radio/choice-none-above.js.flow +0 -16
  391. package/dist/widgets/radio/choice.js.flow +0 -29
  392. package/dist/widgets/radio/choice.jsx.fixture.js.flow +0 -7
  393. package/dist/widgets/radio/focus-ring.js.flow +0 -22
  394. package/dist/widgets/radio/option-status.js.flow +0 -16
  395. package/dist/widgets/radio/util.js.flow +0 -12
  396. package/dist/widgets/radio/widget.js.flow +0 -80
  397. package/dist/widgets/radio.js.flow +0 -31
  398. package/dist/widgets/reaction-diagram.js.flow +0 -46
  399. package/dist/widgets/sequence.js.flow +0 -53
  400. package/dist/widgets/simulator.js.flow +0 -107
  401. package/dist/widgets/sorter.js.flow +0 -102
  402. package/dist/widgets/table.js.flow +0 -67
  403. package/dist/widgets/transformer.js.flow +0 -127
  404. package/dist/widgets/unit.js.flow +0 -93
  405. package/dist/widgets/video-transcript-link.js.flow +0 -15
  406. package/dist/widgets/video.js.flow +0 -57
  407. package/dist/widgets.js.flow +0 -108
  408. package/dist/zoom.js.flow +0 -7
  409. package/src/multi-items/item-types.js.flow +0 -55
@@ -0,0 +1,863 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`plotter widget should snapshot basic question: initial render 1`] = `
4
+ <div>
5
+ <div
6
+ class="perseus-renderer perseus-renderer-responsive"
7
+ >
8
+ <div
9
+ class="paragraph"
10
+ data-perseus-paragraph-index="0"
11
+ >
12
+ <div
13
+ class="paragraph"
14
+ >
15
+ The elementary school principal asked teachers to report the number of students absent in each grade during the past week.
16
+ </div>
17
+ </div>
18
+ <div
19
+ class="paragraph"
20
+ data-perseus-paragraph-index="1"
21
+ >
22
+ <div
23
+ class="paragraph"
24
+ >
25
+ <strong>
26
+ Create a bar graph to show how many students were absent in each grade.
27
+ </strong>
28
+ </div>
29
+ </div>
30
+ <div
31
+ class="paragraph"
32
+ data-perseus-paragraph-index="2"
33
+ >
34
+ <table>
35
+ <thead>
36
+ <tr>
37
+ <th
38
+ scope="col"
39
+ style="text-align: left;"
40
+ >
41
+ School grade
42
+ </th>
43
+ <th
44
+ scope="col"
45
+ style="text-align: center;"
46
+ >
47
+ Number of absent students
48
+ </th>
49
+ </tr>
50
+ </thead>
51
+ <tbody>
52
+ <tr>
53
+ <td
54
+ style="text-align: left;"
55
+ >
56
+ <span
57
+ style="white-space: nowrap;"
58
+ >
59
+ <span />
60
+ <span
61
+ class="mock-TeX"
62
+ >
63
+ 1^{\\text{st}} \\text{ grade}
64
+ </span>
65
+ <span />
66
+ </span>
67
+ </td>
68
+ <td
69
+ style="text-align: center;"
70
+ >
71
+ <span
72
+ style="white-space: nowrap;"
73
+ >
74
+ <span />
75
+ <span
76
+ class="mock-TeX"
77
+ >
78
+ 15
79
+ </span>
80
+ <span />
81
+ </span>
82
+ </td>
83
+ </tr>
84
+ <tr>
85
+ <td
86
+ style="text-align: left;"
87
+ >
88
+ <span
89
+ style="white-space: nowrap;"
90
+ >
91
+ <span />
92
+ <span
93
+ class="mock-TeX"
94
+ >
95
+ 2^{\\text{nd}} \\text{ grade}
96
+ </span>
97
+ <span />
98
+ </span>
99
+ </td>
100
+ <td
101
+ style="text-align: center;"
102
+ >
103
+ <span
104
+ style="white-space: nowrap;"
105
+ >
106
+ <span />
107
+ <span
108
+ class="mock-TeX"
109
+ >
110
+ 25
111
+ </span>
112
+ <span />
113
+ </span>
114
+ </td>
115
+ </tr>
116
+ <tr>
117
+ <td
118
+ style="text-align: left;"
119
+ >
120
+ <span
121
+ style="white-space: nowrap;"
122
+ >
123
+ <span />
124
+ <span
125
+ class="mock-TeX"
126
+ >
127
+ 3^{\\text{rd}} \\text{ grade}
128
+ </span>
129
+ <span />
130
+ </span>
131
+ </td>
132
+ <td
133
+ style="text-align: center;"
134
+ >
135
+ <span
136
+ style="white-space: nowrap;"
137
+ >
138
+ <span />
139
+ <span
140
+ class="mock-TeX"
141
+ >
142
+ 5
143
+ </span>
144
+ <span />
145
+ </span>
146
+ </td>
147
+ </tr>
148
+ <tr>
149
+ <td
150
+ style="text-align: left;"
151
+ >
152
+ <span
153
+ style="white-space: nowrap;"
154
+ >
155
+ <span />
156
+ <span
157
+ class="mock-TeX"
158
+ >
159
+ 4^{\\text{th}} \\text{ grade}
160
+ </span>
161
+ <span />
162
+ </span>
163
+ </td>
164
+ <td
165
+ style="text-align: center;"
166
+ >
167
+ <span
168
+ style="white-space: nowrap;"
169
+ >
170
+ <span />
171
+ <span
172
+ class="mock-TeX"
173
+ >
174
+ 10
175
+ </span>
176
+ <span />
177
+ </span>
178
+ </td>
179
+ </tr>
180
+ <tr>
181
+ <td
182
+ style="text-align: left;"
183
+ >
184
+ <span
185
+ style="white-space: nowrap;"
186
+ >
187
+ <span />
188
+ <span
189
+ class="mock-TeX"
190
+ >
191
+ 5^{\\text{th}} \\text{ grade}
192
+ </span>
193
+ <span />
194
+ </span>
195
+ </td>
196
+ <td
197
+ style="text-align: center;"
198
+ >
199
+ <span
200
+ style="white-space: nowrap;"
201
+ >
202
+ <span />
203
+ <span
204
+ class="mock-TeX"
205
+ >
206
+ 10
207
+ </span>
208
+ <span />
209
+ </span>
210
+ </td>
211
+ </tr>
212
+ </tbody>
213
+ </table>
214
+ </div>
215
+ <div
216
+ class="paragraph"
217
+ data-perseus-paragraph-index="3"
218
+ >
219
+ <div
220
+ class="paragraph"
221
+ >
222
+ <div
223
+ class="perseus-widget-container widget-nohighlight widget-block"
224
+ >
225
+ <div
226
+ class="perseus-widget-plotter graphie perseus-interactive"
227
+ style="margin-bottom: 75px; position: relative; width: 479.99999999999994px; height: 400px;"
228
+ >
229
+ <svg
230
+ height="400"
231
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); z-index: 2;"
232
+ version="1.1"
233
+ width="479.99999999999994"
234
+ xmlns="http://www.w3.org/2000/svg"
235
+ >
236
+ <desc
237
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
238
+ >
239
+ Created with Raphaël
240
+ </desc>
241
+ <defs
242
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
243
+ />
244
+ </svg>
245
+ <svg
246
+ height="400"
247
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
248
+ version="1.1"
249
+ width="479.99999999999994"
250
+ xmlns="http://www.w3.org/2000/svg"
251
+ >
252
+ <desc
253
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
254
+ >
255
+ Created with Raphaël
256
+ </desc>
257
+ <defs
258
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
259
+ />
260
+ <path
261
+ d="M75,325L455,325"
262
+ fill="none"
263
+ opacity="0.3"
264
+ stroke="#000000"
265
+ stroke-width="1"
266
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 1; opacity: 0.3;"
267
+ />
268
+ <path
269
+ d="M75,275L455,275"
270
+ fill="none"
271
+ opacity="0.3"
272
+ stroke="#000000"
273
+ stroke-width="1"
274
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 1; opacity: 0.3;"
275
+ />
276
+ <path
277
+ d="M75,225L455,225"
278
+ fill="none"
279
+ opacity="0.3"
280
+ stroke="#000000"
281
+ stroke-width="1"
282
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 1; opacity: 0.3;"
283
+ />
284
+ <path
285
+ d="M75,175L455,175"
286
+ fill="none"
287
+ opacity="0.3"
288
+ stroke="#000000"
289
+ stroke-width="1"
290
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 1; opacity: 0.3;"
291
+ />
292
+ <path
293
+ d="M75,125L455,125"
294
+ fill="none"
295
+ opacity="0.3"
296
+ stroke="#000000"
297
+ stroke-width="1"
298
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 1; opacity: 0.3;"
299
+ />
300
+ <path
301
+ d="M75,75L455,75"
302
+ fill="none"
303
+ opacity="0.3"
304
+ stroke="#000000"
305
+ stroke-width="1"
306
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 1; opacity: 0.3;"
307
+ />
308
+ <path
309
+ d="M75,25L455,25"
310
+ fill="none"
311
+ opacity="0.3"
312
+ stroke="#000000"
313
+ stroke-width="1"
314
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 1; opacity: 0.3;"
315
+ />
316
+ <path
317
+ d="M96.50927358490566,325L96.50927358490566,324.5L146.69827358490565,324.5L146.69827358490565,325L96.50927358490566,325"
318
+ fill="#9ab8ed"
319
+ opacity="1"
320
+ stroke="none"
321
+ stroke-width="2"
322
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 2; opacity: 1;"
323
+ transform=""
324
+ />
325
+ <path
326
+ d="M121.60377358490565,325L121.60377358490565,331"
327
+ fill="none"
328
+ opacity="1"
329
+ stroke="#000000"
330
+ stroke-width="2"
331
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 2; opacity: 1;"
332
+ />
333
+ <path
334
+ d="M168.20738679245284,325L168.20738679245284,324.5L218.39638679245283,324.5L218.39638679245283,325L168.20738679245284,325"
335
+ fill="#9ab8ed"
336
+ opacity="1"
337
+ stroke="none"
338
+ stroke-width="4"
339
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4; opacity: 1;"
340
+ transform=""
341
+ />
342
+ <path
343
+ d="M193.30188679245282,325L193.30188679245282,331"
344
+ fill="none"
345
+ opacity="1"
346
+ stroke="#000000"
347
+ stroke-width="2"
348
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 2; opacity: 1;"
349
+ />
350
+ <path
351
+ d="M239.9055,325L239.9055,324.5L290.0945,324.5L290.0945,325L239.9055,325"
352
+ fill="#9ab8ed"
353
+ opacity="1"
354
+ stroke="none"
355
+ stroke-width="4"
356
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4; opacity: 1;"
357
+ transform=""
358
+ />
359
+ <path
360
+ d="M265,325L265,331"
361
+ fill="none"
362
+ opacity="1"
363
+ stroke="#000000"
364
+ stroke-width="2"
365
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 2; opacity: 1;"
366
+ />
367
+ <path
368
+ d="M311.60361320754714,325L311.60361320754714,324.5L361.79261320754716,324.5L361.79261320754716,325L311.60361320754714,325"
369
+ fill="#9ab8ed"
370
+ opacity="1"
371
+ stroke="none"
372
+ stroke-width="4"
373
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4; opacity: 1;"
374
+ transform=""
375
+ />
376
+ <path
377
+ d="M336.6981132075471,325L336.6981132075471,331"
378
+ fill="none"
379
+ opacity="1"
380
+ stroke="#000000"
381
+ stroke-width="2"
382
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 2; opacity: 1;"
383
+ />
384
+ <path
385
+ d="M383.3017264150943,325L383.3017264150943,324.5L433.49072641509434,324.5L433.49072641509434,325L383.3017264150943,325"
386
+ fill="#9ab8ed"
387
+ opacity="1"
388
+ stroke="none"
389
+ stroke-width="4"
390
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4; opacity: 1;"
391
+ transform=""
392
+ />
393
+ <path
394
+ d="M408.3962264150943,325L408.3962264150943,331"
395
+ fill="none"
396
+ opacity="1"
397
+ stroke="#000000"
398
+ stroke-width="2"
399
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 2; opacity: 1;"
400
+ />
401
+ <path
402
+ d="M75,325L455,325"
403
+ fill="none"
404
+ opacity="1"
405
+ stroke="#000000"
406
+ stroke-width="2"
407
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 2; opacity: 1;"
408
+ />
409
+ <path
410
+ d="M75,325L75,25"
411
+ fill="none"
412
+ opacity="1"
413
+ stroke="#000000"
414
+ stroke-width="2"
415
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 2; opacity: 1;"
416
+ />
417
+ </svg>
418
+ <div
419
+ style="position: absolute; left: 0px; top: 0px;"
420
+ >
421
+ <div
422
+ style="position: absolute; width: 485.99999999999994px; height: 6px; left: -3px; top: 322px; transform-origin: 3px 3px; transform: translateX(96.50943396226415px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767292) scaleY(1);"
423
+ >
424
+ <svg
425
+ height="6"
426
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
427
+ version="1.1"
428
+ width="485.99999999999994"
429
+ xmlns="http://www.w3.org/2000/svg"
430
+ >
431
+ <desc
432
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
433
+ >
434
+ Created with Raphaël
435
+ </desc>
436
+ <defs
437
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
438
+ />
439
+ <path
440
+ d="M3,3L482.99999999999994,3"
441
+ fill="none"
442
+ stroke="#71b307"
443
+ stroke-width="4"
444
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4;"
445
+ />
446
+ </svg>
447
+ </div>
448
+ <div
449
+ style="position: absolute; width: 485.99999999999994px; height: 6px; left: -3px; top: 322px; transform-origin: 3px 3px; transform: translateX(168.2075471698113px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767299) scaleY(1);"
450
+ >
451
+ <svg
452
+ height="6"
453
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
454
+ version="1.1"
455
+ width="485.99999999999994"
456
+ xmlns="http://www.w3.org/2000/svg"
457
+ >
458
+ <desc
459
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
460
+ >
461
+ Created with Raphaël
462
+ </desc>
463
+ <defs
464
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
465
+ />
466
+ <path
467
+ d="M3,3L482.99999999999994,3"
468
+ fill="none"
469
+ stroke="#71b307"
470
+ stroke-width="4"
471
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4;"
472
+ />
473
+ </svg>
474
+ </div>
475
+ <div
476
+ style="position: absolute; width: 485.99999999999994px; height: 6px; left: -3px; top: 322px; transform-origin: 3px 3px; transform: translateX(239.90566037735846px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767299) scaleY(1);"
477
+ >
478
+ <svg
479
+ height="6"
480
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
481
+ version="1.1"
482
+ width="485.99999999999994"
483
+ xmlns="http://www.w3.org/2000/svg"
484
+ >
485
+ <desc
486
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
487
+ >
488
+ Created with Raphaël
489
+ </desc>
490
+ <defs
491
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
492
+ />
493
+ <path
494
+ d="M3,3L482.99999999999994,3"
495
+ fill="none"
496
+ stroke="#71b307"
497
+ stroke-width="4"
498
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4;"
499
+ />
500
+ </svg>
501
+ </div>
502
+ <div
503
+ style="position: absolute; width: 485.99999999999994px; height: 6px; left: -3px; top: 322px; transform-origin: 3px 3px; transform: translateX(311.60377358490564px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767286) scaleY(1);"
504
+ >
505
+ <svg
506
+ height="6"
507
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
508
+ version="1.1"
509
+ width="485.99999999999994"
510
+ xmlns="http://www.w3.org/2000/svg"
511
+ >
512
+ <desc
513
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
514
+ >
515
+ Created with Raphaël
516
+ </desc>
517
+ <defs
518
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
519
+ />
520
+ <path
521
+ d="M3,3L482.99999999999994,3"
522
+ fill="none"
523
+ stroke="#71b307"
524
+ stroke-width="4"
525
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4;"
526
+ />
527
+ </svg>
528
+ </div>
529
+ <div
530
+ style="position: absolute; width: 485.99999999999994px; height: 6px; left: -3px; top: 322px; transform-origin: 3px 3px; transform: translateX(383.3018867924528px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767286) scaleY(1);"
531
+ >
532
+ <svg
533
+ height="6"
534
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
535
+ version="1.1"
536
+ width="485.99999999999994"
537
+ xmlns="http://www.w3.org/2000/svg"
538
+ >
539
+ <desc
540
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
541
+ >
542
+ Created with Raphaël
543
+ </desc>
544
+ <defs
545
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
546
+ />
547
+ <path
548
+ d="M3,3L482.99999999999994,3"
549
+ fill="none"
550
+ stroke="#71b307"
551
+ stroke-width="4"
552
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); stroke-width: 4;"
553
+ />
554
+ </svg>
555
+ </div>
556
+ </div>
557
+ <div
558
+ style="position: absolute; left: 0px; top: 0px; z-index: 2;"
559
+ >
560
+ <div
561
+ data-interactive-kind-for-testing="movable-line"
562
+ style="position: absolute; width: 509.99999999999994px; height: 30px; left: -15px; top: 310px; transform-origin: 15px 15px; transform: translateX(96.50943396226415px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767292) scaleY(1); cursor: move;"
563
+ >
564
+ <svg
565
+ height="30"
566
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
567
+ version="1.1"
568
+ width="509.99999999999994"
569
+ xmlns="http://www.w3.org/2000/svg"
570
+ >
571
+ <desc
572
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
573
+ >
574
+ Created with Raphaël
575
+ </desc>
576
+ <defs
577
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
578
+ />
579
+ <path
580
+ d="M15,15L494.99999999999994,15"
581
+ fill="#000000"
582
+ opacity="0"
583
+ stroke="#000000"
584
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); opacity: 0;"
585
+ />
586
+ </svg>
587
+ </div>
588
+ <div
589
+ data-interactive-kind-for-testing="movable-line"
590
+ style="position: absolute; width: 509.99999999999994px; height: 30px; left: -15px; top: 310px; transform-origin: 15px 15px; transform: translateX(168.2075471698113px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767299) scaleY(1); cursor: move;"
591
+ >
592
+ <svg
593
+ height="30"
594
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
595
+ version="1.1"
596
+ width="509.99999999999994"
597
+ xmlns="http://www.w3.org/2000/svg"
598
+ >
599
+ <desc
600
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
601
+ >
602
+ Created with Raphaël
603
+ </desc>
604
+ <defs
605
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
606
+ />
607
+ <path
608
+ d="M15,15L494.99999999999994,15"
609
+ fill="#000000"
610
+ opacity="0"
611
+ stroke="#000000"
612
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); opacity: 0;"
613
+ />
614
+ </svg>
615
+ </div>
616
+ <div
617
+ data-interactive-kind-for-testing="movable-line"
618
+ style="position: absolute; width: 509.99999999999994px; height: 30px; left: -15px; top: 310px; transform-origin: 15px 15px; transform: translateX(239.90566037735846px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767299) scaleY(1); cursor: move;"
619
+ >
620
+ <svg
621
+ height="30"
622
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
623
+ version="1.1"
624
+ width="509.99999999999994"
625
+ xmlns="http://www.w3.org/2000/svg"
626
+ >
627
+ <desc
628
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
629
+ >
630
+ Created with Raphaël
631
+ </desc>
632
+ <defs
633
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
634
+ />
635
+ <path
636
+ d="M15,15L494.99999999999994,15"
637
+ fill="#000000"
638
+ opacity="0"
639
+ stroke="#000000"
640
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); opacity: 0;"
641
+ />
642
+ </svg>
643
+ </div>
644
+ <div
645
+ data-interactive-kind-for-testing="movable-line"
646
+ style="position: absolute; width: 509.99999999999994px; height: 30px; left: -15px; top: 310px; transform-origin: 15px 15px; transform: translateX(311.60377358490564px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767286) scaleY(1); cursor: move;"
647
+ >
648
+ <svg
649
+ height="30"
650
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
651
+ version="1.1"
652
+ width="509.99999999999994"
653
+ xmlns="http://www.w3.org/2000/svg"
654
+ >
655
+ <desc
656
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
657
+ >
658
+ Created with Raphaël
659
+ </desc>
660
+ <defs
661
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
662
+ />
663
+ <path
664
+ d="M15,15L494.99999999999994,15"
665
+ fill="#000000"
666
+ opacity="0"
667
+ stroke="#000000"
668
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); opacity: 0;"
669
+ />
670
+ </svg>
671
+ </div>
672
+ <div
673
+ data-interactive-kind-for-testing="movable-line"
674
+ style="position: absolute; width: 509.99999999999994px; height: 30px; left: -15px; top: 310px; transform-origin: 15px 15px; transform: translateX(383.3018867924528px) translateY(0px) translateZ(0)rotate(0deg) scaleX(0.10455974842767286) scaleY(1); cursor: move;"
675
+ >
676
+ <svg
677
+ height="30"
678
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
679
+ version="1.1"
680
+ width="509.99999999999994"
681
+ xmlns="http://www.w3.org/2000/svg"
682
+ >
683
+ <desc
684
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
685
+ >
686
+ Created with Raphaël
687
+ </desc>
688
+ <defs
689
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"
690
+ />
691
+ <path
692
+ d="M15,15L494.99999999999994,15"
693
+ fill="#000000"
694
+ opacity="0"
695
+ stroke="#000000"
696
+ style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0); opacity: 0;"
697
+ />
698
+ </svg>
699
+ </div>
700
+ </div>
701
+ <span
702
+ class="graphie-label"
703
+ data-math-formula="0"
704
+ style="position: absolute; padding: 7px; color: black; left: 75px; top: 325px; fill: none;"
705
+ >
706
+ <span
707
+ class="katex-holder"
708
+ />
709
+ <span
710
+ class="mathjax-holder"
711
+ />
712
+ </span>
713
+ <span
714
+ class="graphie-label"
715
+ data-math-formula="5"
716
+ style="position: absolute; padding: 7px; color: black; left: 75px; top: 275px; fill: none;"
717
+ >
718
+ <span
719
+ class="katex-holder"
720
+ />
721
+ <span
722
+ class="mathjax-holder"
723
+ />
724
+ </span>
725
+ <span
726
+ class="graphie-label"
727
+ data-math-formula="10"
728
+ style="position: absolute; padding: 7px; color: black; left: 75px; top: 225px; fill: none;"
729
+ >
730
+ <span
731
+ class="katex-holder"
732
+ />
733
+ <span
734
+ class="mathjax-holder"
735
+ />
736
+ </span>
737
+ <span
738
+ class="graphie-label"
739
+ data-math-formula="15"
740
+ style="position: absolute; padding: 7px; color: black; left: 75px; top: 175px; fill: none;"
741
+ >
742
+ <span
743
+ class="katex-holder"
744
+ />
745
+ <span
746
+ class="mathjax-holder"
747
+ />
748
+ </span>
749
+ <span
750
+ class="graphie-label"
751
+ data-math-formula="20"
752
+ style="position: absolute; padding: 7px; color: black; left: 75px; top: 125px; fill: none;"
753
+ >
754
+ <span
755
+ class="katex-holder"
756
+ />
757
+ <span
758
+ class="mathjax-holder"
759
+ />
760
+ </span>
761
+ <span
762
+ class="graphie-label"
763
+ data-math-formula="25"
764
+ style="position: absolute; padding: 7px; color: black; left: 75px; top: 75px; fill: none;"
765
+ >
766
+ <span
767
+ class="katex-holder"
768
+ />
769
+ <span
770
+ class="mathjax-holder"
771
+ />
772
+ </span>
773
+ <span
774
+ class="graphie-label"
775
+ data-math-formula="30"
776
+ style="position: absolute; padding: 7px; color: black; left: 75px; top: 25px; fill: none;"
777
+ >
778
+ <span
779
+ class="katex-holder"
780
+ />
781
+ <span
782
+ class="mathjax-holder"
783
+ />
784
+ </span>
785
+ <span
786
+ class="graphie-label"
787
+ data-math-formula="1^{\\text{st}} \\text{}"
788
+ style="position: absolute; padding: 7px; color: black; left: 121.60377358490565px; top: 325px; fill: none; stroke: #71B307; transform: none; transform-origin: 100%;"
789
+ >
790
+ <span
791
+ class="katex-holder"
792
+ />
793
+ <span
794
+ class="mathjax-holder"
795
+ />
796
+ </span>
797
+ <span
798
+ class="graphie-label"
799
+ data-math-formula="2^{\\text{nd}} \\text{}"
800
+ style="position: absolute; padding: 7px; color: black; left: 193.30188679245282px; top: 325px; fill: none; stroke: #71B307; transform: none; transform-origin: 100%;"
801
+ >
802
+ <span
803
+ class="katex-holder"
804
+ />
805
+ <span
806
+ class="mathjax-holder"
807
+ />
808
+ </span>
809
+ <span
810
+ class="graphie-label"
811
+ data-math-formula="3^{\\text{rd}} \\text{}"
812
+ style="position: absolute; padding: 7px; color: black; left: 265px; top: 325px; fill: none; stroke: #71B307; transform: none; transform-origin: 100%;"
813
+ >
814
+ <span
815
+ class="katex-holder"
816
+ />
817
+ <span
818
+ class="mathjax-holder"
819
+ />
820
+ </span>
821
+ <span
822
+ class="graphie-label"
823
+ data-math-formula="4^{\\text{th}} \\text{}"
824
+ style="position: absolute; padding: 7px; color: black; left: 336.6981132075471px; top: 325px; fill: none; stroke: #71B307; transform: none; transform-origin: 100%;"
825
+ >
826
+ <span
827
+ class="katex-holder"
828
+ />
829
+ <span
830
+ class="mathjax-holder"
831
+ />
832
+ </span>
833
+ <span
834
+ class="graphie-label"
835
+ data-math-formula="5^{\\text{th}} \\text{}"
836
+ style="position: absolute; padding: 7px; color: black; left: 408.3962264150943px; top: 325px; fill: none; stroke: #71B307; transform: none; transform-origin: 100%;"
837
+ >
838
+ <span
839
+ class="katex-holder"
840
+ />
841
+ <span
842
+ class="mathjax-holder"
843
+ />
844
+ </span>
845
+ <span
846
+ class="graphie-label"
847
+ style="position: absolute; padding: 7px; color: black; left: 265px; top: 360px; margin-left: 0px; margin-top: 0px; fill: none; stroke: #71B307; font-weight: bold;"
848
+ >
849
+ School grade
850
+ </span>
851
+ <span
852
+ class="graphie-label rotate"
853
+ style="position: absolute; padding: 7px; color: black; left: 14.999999999999995px; top: 175px; margin-left: 0px; margin-top: 0px; fill: none; stroke: #71B307; font-weight: bold;"
854
+ >
855
+ Number of absent students
856
+ </span>
857
+ </div>
858
+ </div>
859
+ </div>
860
+ </div>
861
+ </div>
862
+ </div>
863
+ `;