@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.
- package/CHANGELOG.md +38 -0
- package/dist/article-renderer.d.ts +26 -40
- package/dist/components/math-input.d.ts +1 -1
- package/dist/components/sortable.d.ts +1 -1
- package/dist/components/tex-buttons.d.ts +1 -1
- package/dist/es/index.css +61 -61
- package/dist/es/index.js +1189 -1308
- package/dist/es/index.js.map +1 -1
- package/dist/hints-renderer.d.ts +1 -1
- package/dist/index.css +61 -61
- package/dist/index.js +1180 -1269
- package/dist/index.js.map +1 -1
- package/dist/mixins/provide-keypad.d.ts +15 -12
- package/dist/perseus-api.d.ts +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/widgets/expression.d.ts +1 -1
- package/dist/widgets/graded-group.d.ts +1 -1
- package/dist/widgets/interactive-graph.d.ts +1 -1
- package/dist/widgets/plotter.d.ts +47 -13
- package/dist/widgets/sequence.d.ts +1 -1
- package/dist/widgets/table.d.ts +8 -1
- package/dist/widgets.d.ts +1 -1
- package/package.json +33 -33
- package/src/__testdata__/article-renderer.testdata.ts +3 -1
- package/src/__testdata__/item-renderer.testdata.ts +1 -1
- package/src/__testdata__/renderer.testdata.ts +1 -1
- package/src/__tests__/item-renderer.test.tsx +2 -2
- package/src/__tests__/mock-asset-loading-widget.tsx +1 -1
- package/src/__tests__/perseus-markdown.test.ts +17 -17
- package/src/__tests__/renderer-api.test.tsx +21 -21
- package/src/__tests__/renderer.test.tsx +13 -13
- package/src/__tests__/server-item-renderer.test.tsx +3 -3
- package/src/__tests__/tex-wrangler.test.ts +1 -1
- package/src/article-renderer.tsx +39 -38
- package/src/components/__stories__/image-loader.stories.tsx +1 -0
- package/src/components/__tests__/number-input.test.tsx +4 -4
- package/src/components/__tests__/sortable.test.tsx +2 -2
- package/src/components/fixed-to-responsive.tsx +1 -1
- package/src/components/graph.tsx +12 -11
- package/src/components/graphie-classes.ts +7 -7
- package/src/components/graphie.tsx +14 -14
- package/src/components/highlighting/highlightable-content.tsx +1 -1
- package/src/components/highlighting/ui/highlight-renderer.tsx +1 -1
- package/src/components/highlighting/ui/util.ts +2 -2
- package/src/components/highlighting/word-indexer.tsx +4 -4
- package/src/components/icon.tsx +2 -1
- package/src/components/image-loader.tsx +5 -4
- package/src/components/input-with-examples.tsx +2 -2
- package/src/components/lint.tsx +1 -1
- package/src/components/math-input.tsx +5 -5
- package/src/components/math-output.tsx +1 -1
- package/src/components/multi-button-group.tsx +1 -1
- package/src/components/number-input.tsx +11 -10
- package/src/components/prop-check-box.tsx +1 -1
- package/src/components/simple-keypad-input.tsx +4 -4
- package/src/components/sortable.tsx +43 -41
- package/src/components/svg-image.tsx +13 -12
- package/src/components/tex-buttons.tsx +5 -3
- package/src/components/text-input.tsx +9 -8
- package/src/components/text-list-editor.tsx +12 -11
- package/src/components/visibility-observer/create-visibility-observer.ts +1 -1
- package/src/components/visibility-observer/visibility-observer.tsx +2 -2
- package/src/components/zoomable-tex.tsx +3 -3
- package/src/components/zoomable.tsx +9 -8
- package/src/hint-renderer.tsx +3 -3
- package/src/hints-renderer.tsx +12 -11
- package/src/index.ts +1 -0
- package/src/init.ts +1 -1
- package/src/interaction-tracker.ts +4 -4
- package/src/interactive2/__tests__/movable-point.test.ts +1 -1
- package/src/interactive2/interactive-util.ts +6 -6
- package/src/interactive2/movable-helper-methods.ts +2 -2
- package/src/interactive2/movable-line-options.ts +37 -37
- package/src/interactive2/movable-line.ts +2 -2
- package/src/interactive2/movable-point-options.ts +29 -29
- package/src/interactive2/movable-point.tsx +2 -2
- package/src/interactive2/movable-polygon-options.ts +45 -45
- package/src/interactive2/movable-polygon.ts +2 -2
- package/src/interactive2/movable.ts +2 -2
- package/src/interactive2/objective_.ts +1 -1
- package/src/interactive2/wrapped-defaults.ts +2 -2
- package/src/interactive2/wrapped-ellipse.ts +9 -9
- package/src/interactive2/wrapped-line.ts +8 -8
- package/src/interactive2/wrapped-path.ts +5 -5
- package/src/item-renderer.tsx +6 -5
- package/src/mixins/changeable.ts +2 -2
- package/src/mixins/editor-jsonify.ts +1 -1
- package/src/mixins/provide-keypad.tsx +24 -37
- package/src/mixins/widget-jsonify-deprecated.ts +1 -1
- package/src/multi-items/__tests__/items.test.ts +1 -1
- package/src/multi-items/__tests__/multi-renderer.test.tsx +7 -7
- package/src/multi-items/__tests__/trees.test.ts +12 -12
- package/src/multi-items/item-types.ts +2 -2
- package/src/multi-items/items.ts +1 -1
- package/src/multi-items/multi-renderer.tsx +15 -14
- package/src/multi-items/prop-type-builders.ts +2 -2
- package/src/multi-items/tree-types.ts +4 -4
- package/src/multi-items/trees.ts +16 -16
- package/src/perseus-env.ts +2 -2
- package/src/perseus-markdown.tsx +5 -5
- package/src/renderer.tsx +39 -38
- package/src/server-item-renderer.tsx +6 -5
- package/src/sigfigs.ts +1 -1
- package/src/styles/articles.less +8 -4
- package/src/styles/perseus-renderer.less +47 -38
- package/src/styles/util.less +1 -1
- package/src/styles/variables.boostrap.less +158 -182
- package/src/styles/variables.less +20 -20
- package/src/styles/variables.shared.less +162 -168
- package/src/styles/widgets/categorizer.less +1 -2
- package/src/styles/widgets/expression.less +7 -4
- package/src/styles/widgets/grapher.less +2 -1
- package/src/styles/widgets/image.less +3 -2
- package/src/styles/widgets/interactive-graph.less +4 -2
- package/src/styles/widgets/label-image.less +2 -1
- package/src/styles/widgets/matrix.less +11 -7
- package/src/styles/widgets/orderer.less +2 -1
- package/src/styles/widgets/passage.less +2 -1
- package/src/styles/widgets/plotter.less +4 -3
- package/src/styles/widgets/radio.less +4 -2
- package/src/styles/widgets/sortable.less +1 -1
- package/src/styles/widgets/table.less +2 -1
- package/src/styles/widgets/transformer.less +2 -1
- package/src/styles/widgets/unit.less +2 -1
- package/src/traversal.ts +1 -1
- package/src/types.ts +3 -3
- package/src/util/answer-types.ts +14 -14
- package/src/util/geometry.ts +7 -7
- package/src/util/graphie.ts +32 -32
- package/src/util/interactive.ts +118 -118
- package/src/util/math.ts +4 -4
- package/src/util/react-render.tsx +1 -1
- package/src/util/scroll-utils.ts +2 -2
- package/src/util/tex.ts +3 -3
- package/src/util.ts +15 -15
- package/src/widget-container.tsx +1 -1
- package/src/widgets/__stories__/plotter.stories.tsx +27 -0
- package/src/widgets/__stories__/test-keypad-context-wrapper.tsx +3 -3
- package/src/widgets/__testdata__/numeric-input.testdata.ts +1 -1
- package/src/widgets/__testdata__/plotter.testdata.ts +36 -0
- package/src/widgets/__tests__/__snapshots__/plotter.test.tsx.snap +863 -0
- package/src/widgets/__tests__/__snapshots__/video.test.ts.snap +2 -2
- package/src/widgets/__tests__/expression.test.ts +4 -3
- package/src/widgets/__tests__/grapher.cypress.ts +32 -32
- package/src/widgets/__tests__/group.test.tsx +1 -1
- package/src/widgets/__tests__/interactive-graph.cypress.ts +40 -40
- package/src/widgets/__tests__/interactive-graph.test.ts +1 -1
- package/src/widgets/__tests__/numeric-input.test.ts +1 -1
- package/src/widgets/__tests__/passage.test.tsx +2 -2
- package/src/widgets/__tests__/plotter.test.tsx +66 -0
- package/src/widgets/__tests__/radio/base-radio.test.tsx +7 -7
- package/src/widgets/__tests__/renderQuestion.tsx +3 -3
- package/src/widgets/categorizer.tsx +5 -4
- package/src/widgets/cs-program.tsx +2 -2
- package/src/widgets/dropdown.tsx +1 -1
- package/src/widgets/expression.tsx +10 -9
- package/src/widgets/graded-group-set.tsx +6 -5
- package/src/widgets/graded-group.tsx +19 -19
- package/src/widgets/grapher/util.tsx +6 -6
- package/src/widgets/grapher.tsx +10 -10
- package/src/widgets/group.tsx +3 -3
- package/src/widgets/iframe.tsx +2 -2
- package/src/widgets/image.tsx +1 -1
- package/src/widgets/input-number.tsx +4 -4
- package/src/widgets/interaction.tsx +78 -77
- package/src/widgets/interactive-graph.tsx +109 -107
- package/src/widgets/label-image/marker.tsx +3 -2
- package/src/widgets/label-image.test.ts +1 -1
- package/src/widgets/label-image.tsx +7 -7
- package/src/widgets/lights-puzzle.tsx +2 -2
- package/src/widgets/matcher.tsx +7 -6
- package/src/widgets/matrix.tsx +20 -20
- package/src/widgets/measurer.tsx +3 -3
- package/src/widgets/molecule/__tests__/layout.test.ts +4 -4
- package/src/widgets/molecule/__tests__/parser.test.ts +14 -14
- package/src/widgets/molecule/smiles-parser.ts +3 -3
- package/src/widgets/molecule.tsx +4 -4
- package/src/widgets/number-line.tsx +11 -11
- package/src/widgets/numeric-input.tsx +11 -11
- package/src/widgets/orderer.tsx +39 -38
- package/src/widgets/passage/__tests__/passage-markdown.test.ts +1 -1
- package/src/widgets/passage/passage-markdown.tsx +4 -4
- package/src/widgets/passage-ref-target.tsx +2 -1
- package/src/widgets/passage-ref.tsx +4 -6
- package/src/widgets/passage.tsx +11 -11
- package/src/widgets/plotter.tsx +117 -107
- package/src/widgets/radio/base-radio.tsx +12 -11
- package/src/widgets/radio/choice-icon/choice-icon.tsx +3 -2
- package/src/widgets/radio/choice.tsx +1 -1
- package/src/widgets/radio/option-status.tsx +1 -1
- package/src/widgets/radio/widget.tsx +6 -6
- package/src/widgets/radio.ts +1 -1
- package/src/widgets/reaction-diagram.tsx +8 -8
- package/src/widgets/sequence.tsx +2 -2
- package/src/widgets/simulator.tsx +14 -14
- package/src/widgets/sorter.tsx +5 -4
- package/src/widgets/table.tsx +8 -8
- package/src/widgets/transformer.tsx +93 -92
- package/src/widgets/unit.tsx +17 -17
- package/src/widgets/video-transcript-link.test.tsx +3 -3
- package/src/widgets/video-transcript-link.tsx +1 -1
- package/src/widgets/video.tsx +1 -1
- package/src/widgets.ts +5 -5
- package/src/zoom.ts +22 -22
- package/tsconfig-build.tsbuildinfo +1 -1
- package/dist/a11y.js.flow +0 -11
- package/dist/all-widgets.js.flow +0 -33
- package/dist/article-renderer.js.flow +0 -73
- package/dist/asset-context.js.flow +0 -15
- package/dist/basic-widgets.js.flow +0 -33
- package/dist/components/button-group.js.flow +0 -33
- package/dist/components/constants.js.flow +0 -13
- package/dist/components/fixed-to-responsive.js.flow +0 -34
- package/dist/components/graph.js.flow +0 -66
- package/dist/components/graphie-classes.js.flow +0 -19
- package/dist/components/graphie-movables.js.flow +0 -22
- package/dist/components/graphie.js.flow +0 -69
- package/dist/components/highlighting/highlightable-content.js.flow +0 -56
- package/dist/components/highlighting/highlights.js.flow +0 -54
- package/dist/components/highlighting/ranges.js.flow +0 -60
- package/dist/components/highlighting/types.js.flow +0 -70
- package/dist/components/highlighting/ui/highlight-renderer.js.flow +0 -43
- package/dist/components/highlighting/ui/highlight-set-renderer.js.flow +0 -41
- package/dist/components/highlighting/ui/highlight-tooltip.js.flow +0 -22
- package/dist/components/highlighting/ui/highlighting-ui.js.flow +0 -30
- package/dist/components/highlighting/ui/selection-tracker.js.flow +0 -54
- package/dist/components/highlighting/ui/types.js.flow +0 -22
- package/dist/components/highlighting/ui/util.js.flow +0 -42
- package/dist/components/highlighting/word-indexer.js.flow +0 -21
- package/dist/components/hud.js.flow +0 -14
- package/dist/components/icon.js.flow +0 -31
- package/dist/components/image-loader.js.flow +0 -49
- package/dist/components/info-tip/info-tip.js.flow +0 -20
- package/dist/components/info-tip.js.flow +0 -18
- package/dist/components/inline-icon.js.flow +0 -39
- package/dist/components/input-with-examples.js.flow +0 -58
- package/dist/components/lint.js.flow +0 -58
- package/dist/components/math-input.js.flow +0 -49
- package/dist/components/math-output.js.flow +0 -33
- package/dist/components/multi-button-group.js.flow +0 -35
- package/dist/components/number-input.js.flow +0 -42
- package/dist/components/prop-check-box.js.flow +0 -8
- package/dist/components/range-input.js.flow +0 -20
- package/dist/components/simple-keypad-input.js.flow +0 -16
- package/dist/components/sortable.js.flow +0 -91
- package/dist/components/stub-tag-editor.js.flow +0 -18
- package/dist/components/svg-image.js.flow +0 -85
- package/dist/components/tex-buttons.js.flow +0 -26
- package/dist/components/tex.js.flow +0 -25
- package/dist/components/text-input.js.flow +0 -39
- package/dist/components/text-list-editor.js.flow +0 -22
- package/dist/components/tooltip.js.flow +0 -51
- package/dist/components/visibility-observer/create-visibility-observer.js.flow +0 -23
- package/dist/components/visibility-observer/get-scroll-parent.js.flow +0 -7
- package/dist/components/visibility-observer/visibility-observer.js.flow +0 -36
- package/dist/components/zoomable-tex.js.flow +0 -18
- package/dist/components/zoomable.js.flow +0 -70
- package/dist/components.js.flow +0 -22
- package/dist/definition-context.js.flow +0 -25
- package/dist/dependencies.js.flow +0 -9
- package/dist/error-boundary.js.flow +0 -19
- package/dist/extra-widgets.js.flow +0 -33
- package/dist/hint-renderer.js.flow +0 -32
- package/dist/hints-renderer.js.flow +0 -41
- package/dist/icon-paths.js.flow +0 -123
- package/dist/index.js.flow +0 -134
- package/dist/init.js.flow +0 -20
- package/dist/interaction-tracker.js.flow +0 -35
- package/dist/interactive2/interactive-util.js.flow +0 -50
- package/dist/interactive2/movable-helper-methods.js.flow +0 -15
- package/dist/interactive2/movable-line-options.js.flow +0 -44
- package/dist/interactive2/movable-line.js.flow +0 -8
- package/dist/interactive2/movable-point-options.js.flow +0 -44
- package/dist/interactive2/movable-point.js.flow +0 -8
- package/dist/interactive2/movable-polygon-options.js.flow +0 -47
- package/dist/interactive2/movable-polygon.js.flow +0 -8
- package/dist/interactive2/movable.js.flow +0 -8
- package/dist/interactive2/objective_.js.flow +0 -25
- package/dist/interactive2/types.js.flow +0 -8
- package/dist/interactive2/wrapped-defaults.js.flow +0 -11
- package/dist/interactive2/wrapped-ellipse.js.flow +0 -14
- package/dist/interactive2/wrapped-line.js.flow +0 -14
- package/dist/interactive2/wrapped-path.js.flow +0 -13
- package/dist/interactive2.js.flow +0 -16
- package/dist/item-renderer.js.flow +0 -132
- package/dist/item-version.js.flow +0 -11
- package/dist/jipt-paragraphs.js.flow +0 -14
- package/dist/loading-context.js.flow +0 -12
- package/dist/logging/log.js.flow +0 -62
- package/dist/mixins/changeable.js.flow +0 -33
- package/dist/mixins/editor-jsonify.js.flow +0 -10
- package/dist/mixins/provide-keypad.js.flow +0 -33
- package/dist/mixins/widget-jsonify-deprecated.js.flow +0 -11
- package/dist/mixins/widget-prop-denylist.js.flow +0 -20
- package/dist/multi-items/item-types.js.flow +0 -55
- package/dist/multi-items/items.js.flow +0 -66
- package/dist/multi-items/multi-renderer.js.flow +0 -213
- package/dist/multi-items/prop-type-builders.js.flow +0 -22
- package/dist/multi-items/shape-types.js.flow +0 -60
- package/dist/multi-items/shapes.js.flow +0 -25
- package/dist/multi-items/tree-types.js.flow +0 -45
- package/dist/multi-items/trees.js.flow +0 -147
- package/dist/multi-items.js.flow +0 -36
- package/dist/perseus-api.js.flow +0 -151
- package/dist/perseus-env.js.flow +0 -6
- package/dist/perseus-error.js.flow +0 -16
- package/dist/perseus-markdown.js.flow +0 -20
- package/dist/perseus-types.js.flow +0 -1041
- package/dist/question-paragraph.js.flow +0 -17
- package/dist/renderability.js.flow +0 -19
- package/dist/renderer.js.flow +0 -325
- package/dist/server-item-renderer.js.flow +0 -132
- package/dist/sigfigs.js.flow +0 -41
- package/dist/styles/constants.js.flow +0 -62
- package/dist/styles/global-constants.js.flow +0 -348
- package/dist/styles/global-styles.js.flow +0 -53
- package/dist/styles/media-queries.js.flow +0 -35
- package/dist/styles/shared.js.flow +0 -8
- package/dist/tex-wrangler.js.flow +0 -13
- package/dist/translation-linter.js.flow +0 -32
- package/dist/traversal.js.flow +0 -26
- package/dist/types.js.flow +0 -318
- package/dist/util/a11y.js.flow +0 -8
- package/dist/util/answer-types.js.flow +0 -49
- package/dist/util/colors.js.flow +0 -95
- package/dist/util/fix-passage-refs.js.flow +0 -8
- package/dist/util/geometry.js.flow +0 -37
- package/dist/util/graph-utils.js.flow +0 -9
- package/dist/util/graphie.js.flow +0 -8
- package/dist/util/interactive.js.flow +0 -11
- package/dist/util/katex-preprocess.js.flow +0 -12
- package/dist/util/math.js.flow +0 -62
- package/dist/util/mobile-native-utils.js.flow +0 -12
- package/dist/util/react-render.js.flow +0 -12
- package/dist/util/register-all-widgets-for-testing.js.flow +0 -7
- package/dist/util/scroll-utils.js.flow +0 -19
- package/dist/util/sizing-utils.js.flow +0 -20
- package/dist/util/tex.js.flow +0 -17
- package/dist/util/url-utils.js.flow +0 -11
- package/dist/util.graphie.js.flow +0 -14
- package/dist/util.js.flow +0 -319
- package/dist/version.js.flow +0 -17
- package/dist/widget-container.js.flow +0 -33
- package/dist/widgets/categorizer.js.flow +0 -70
- package/dist/widgets/cs-program.js.flow +0 -54
- package/dist/widgets/definition.js.flow +0 -57
- package/dist/widgets/dropdown.js.flow +0 -63
- package/dist/widgets/explanation.js.flow +0 -58
- package/dist/widgets/expression.js.flow +0 -116
- package/dist/widgets/graded-group-answer-bar.js.flow +0 -24
- package/dist/widgets/graded-group-set.js.flow +0 -65
- package/dist/widgets/graded-group.js.flow +0 -78
- package/dist/widgets/grapher/util.js.flow +0 -38
- package/dist/widgets/grapher.js.flow +0 -102
- package/dist/widgets/group.js.flow +0 -60
- package/dist/widgets/iframe.js.flow +0 -53
- package/dist/widgets/image.js.flow +0 -73
- package/dist/widgets/input-number.js.flow +0 -94
- package/dist/widgets/interaction/arrow-picker.js.flow +0 -21
- package/dist/widgets/interaction/color-picker.js.flow +0 -23
- package/dist/widgets/interaction/dash-picker.js.flow +0 -21
- package/dist/widgets/interaction/element-container.js.flow +0 -28
- package/dist/widgets/interaction.js.flow +0 -60
- package/dist/widgets/interactive-graph.js.flow +0 -239
- package/dist/widgets/label-image/answer-choices.js.flow +0 -55
- package/dist/widgets/label-image/marker.js.flow +0 -31
- package/dist/widgets/label-image/types.js.flow +0 -23
- package/dist/widgets/label-image.js.flow +0 -142
- package/dist/widgets/lights-puzzle.js.flow +0 -58
- package/dist/widgets/matcher.js.flow +0 -106
- package/dist/widgets/matrix.js.flow +0 -80
- package/dist/widgets/measurer.js.flow +0 -30
- package/dist/widgets/molecule/molecule-drawing.js.flow +0 -11
- package/dist/widgets/molecule/molecule-layout.js.flow +0 -96
- package/dist/widgets/molecule/smiles-parser.js.flow +0 -26
- package/dist/widgets/molecule.js.flow +0 -60
- package/dist/widgets/number-line.js.flow +0 -102
- package/dist/widgets/numeric-input.js.flow +0 -105
- package/dist/widgets/orderer.js.flow +0 -81
- package/dist/widgets/passage/passage-markdown.js.flow +0 -33
- package/dist/widgets/passage-ref-target.js.flow +0 -52
- package/dist/widgets/passage-ref.js.flow +0 -85
- package/dist/widgets/passage.js.flow +0 -157
- package/dist/widgets/plotter.js.flow +0 -78
- package/dist/widgets/radio/base-radio.js.flow +0 -50
- package/dist/widgets/radio/choice-a11y-text.js.flow +0 -14
- package/dist/widgets/radio/choice-icon/choice-icon.js.flow +0 -22
- package/dist/widgets/radio/choice-icon/cross-out-line.js.flow +0 -16
- package/dist/widgets/radio/choice-icon/shared-styles.js.flow +0 -11
- package/dist/widgets/radio/choice-none-above.js.flow +0 -16
- package/dist/widgets/radio/choice.js.flow +0 -29
- package/dist/widgets/radio/choice.jsx.fixture.js.flow +0 -7
- package/dist/widgets/radio/focus-ring.js.flow +0 -22
- package/dist/widgets/radio/option-status.js.flow +0 -16
- package/dist/widgets/radio/util.js.flow +0 -12
- package/dist/widgets/radio/widget.js.flow +0 -80
- package/dist/widgets/radio.js.flow +0 -31
- package/dist/widgets/reaction-diagram.js.flow +0 -46
- package/dist/widgets/sequence.js.flow +0 -53
- package/dist/widgets/simulator.js.flow +0 -107
- package/dist/widgets/sorter.js.flow +0 -102
- package/dist/widgets/table.js.flow +0 -67
- package/dist/widgets/transformer.js.flow +0 -127
- package/dist/widgets/unit.js.flow +0 -93
- package/dist/widgets/video-transcript-link.js.flow +0 -15
- package/dist/widgets/video.js.flow +0 -57
- package/dist/widgets.js.flow +0 -108
- package/dist/zoom.js.flow +0 -7
- package/src/multi-items/item-types.js.flow +0 -55
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* `ItemRenderer` and friends are written as ES6 Classes, we can have them
|
|
10
10
|
* extend a `ProvideKeypad` component instead of using this mixin.
|
|
11
11
|
*/
|
|
12
|
-
import
|
|
12
|
+
import type { APIOptions } from "../types";
|
|
13
13
|
import type { CSSProperties } from "aphrodite";
|
|
14
14
|
export type KeypadProps = {
|
|
15
15
|
keypadStyle?: CSSProperties;
|
|
@@ -18,19 +18,22 @@ export type KeypadApiOptions = {
|
|
|
18
18
|
customKeypad: boolean;
|
|
19
19
|
nativeKeypadProxy: any;
|
|
20
20
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
type KeypadMixinHostComponent = {
|
|
22
|
+
_keypadContainer?: HTMLDivElement | null;
|
|
23
|
+
props: {
|
|
24
|
+
apiOptions: APIOptions;
|
|
25
|
+
blur?: () => void;
|
|
26
|
+
};
|
|
27
|
+
state: {
|
|
28
|
+
keypadElement: any | null;
|
|
28
29
|
};
|
|
29
|
-
|
|
30
|
+
};
|
|
31
|
+
declare const ProvideKeypad: {
|
|
32
|
+
readonly getInitialState: (this: KeypadMixinHostComponent) => {
|
|
30
33
|
keypadElement: any | null;
|
|
31
34
|
};
|
|
32
|
-
readonly componentDidMount: () => void;
|
|
33
|
-
readonly componentWillUnmount: () => void;
|
|
34
|
-
readonly keypadElement: () => any;
|
|
35
|
+
readonly componentDidMount: (this: KeypadMixinHostComponent) => void;
|
|
36
|
+
readonly componentWillUnmount: (this: KeypadMixinHostComponent) => void;
|
|
37
|
+
readonly keypadElement: (this: KeypadMixinHostComponent) => any;
|
|
35
38
|
};
|
|
36
39
|
export default ProvideKeypad;
|
package/dist/perseus-api.d.ts
CHANGED
|
@@ -86,7 +86,7 @@ export declare const ApiOptions: {
|
|
|
86
86
|
} & Record<string, unknown>) => void) | undefined;
|
|
87
87
|
customKeypad?: boolean | undefined;
|
|
88
88
|
useV2Keypad?: boolean | undefined;
|
|
89
|
-
nativeKeypadProxy?: (() =>
|
|
89
|
+
nativeKeypadProxy?: ((blur: () => void) => import("@khanacademy/math-input").KeypadAPI) | undefined;
|
|
90
90
|
isMobile?: boolean | undefined;
|
|
91
91
|
setDrawingAreaAvailable?: ((arg1: boolean) => unknown) | undefined;
|
|
92
92
|
useDraftEditor?: boolean | undefined;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import type { SerializedHighlightSet } from "./components/highlighting/types";
|
|
3
2
|
import type { ILogger } from "./logging/log";
|
|
4
3
|
import type { Item } from "./multi-items/item-types";
|
|
5
4
|
import type { PerseusWidget } from "./perseus-types";
|
|
6
5
|
import type { SizeClass } from "./util/sizing-utils";
|
|
6
|
+
import type { KeypadAPI } from "@khanacademy/math-input";
|
|
7
7
|
import type { SendEventFn } from "@khanacademy/perseus-core";
|
|
8
8
|
import type { Result } from "@khanacademy/wonder-blocks-data";
|
|
9
|
+
import type * as React from "react";
|
|
9
10
|
export type FocusPath = ReadonlyArray<string> | null | undefined;
|
|
10
11
|
export type Dimensions = {
|
|
11
12
|
width?: number;
|
|
@@ -98,7 +99,7 @@ export type APIOptions = Readonly<{
|
|
|
98
99
|
} & Record<string, unknown>) => void;
|
|
99
100
|
customKeypad?: boolean;
|
|
100
101
|
useV2Keypad?: boolean;
|
|
101
|
-
nativeKeypadProxy?: () =>
|
|
102
|
+
nativeKeypadProxy?: (blur: () => void) => KeypadAPI;
|
|
102
103
|
isMobile?: boolean;
|
|
103
104
|
setDrawingAreaAvailable?: (arg1: boolean) => unknown;
|
|
104
105
|
useDraftEditor?: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Keys as Key } from "@khanacademy/math-input";
|
|
2
1
|
import * as React from "react";
|
|
3
2
|
import type { PerseusExpressionWidgetOptions } from "../perseus-types";
|
|
4
3
|
import type { PerseusScore, WidgetProps } from "../types";
|
|
4
|
+
import type { Keys as Key } from "@khanacademy/math-input";
|
|
5
5
|
type InputPath = ReadonlyArray<string>;
|
|
6
6
|
type Rubric = PerseusExpressionWidgetOptions;
|
|
7
7
|
type ExternalProps = WidgetProps<RenderProps, Rubric>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { ANSWER_BAR_STATES } from "./graded-group-answer-bar";
|
|
3
2
|
import type { PerseusGradedGroupWidgetOptions } from "../perseus-types";
|
|
4
3
|
import type { WidgetProps } from "../types";
|
|
4
|
+
import type { ANSWER_BAR_STATES } from "./graded-group-answer-bar";
|
|
5
5
|
declare const GRADING_STATUSES: {
|
|
6
6
|
readonly ungraded: "ungraded";
|
|
7
7
|
readonly correct: "correct";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { QuadraticCoefficient, SineCoefficient, Range } from "../util/geometry";
|
|
3
2
|
import type { Coord } from "../interactive2/types";
|
|
4
3
|
import type { PerseusGraphType, PerseusGraphTypeAngle, PerseusGraphTypePoint, PerseusGraphTypePolygon, PerseusGraphTypeSegment, PerseusInteractiveGraphWidgetOptions } from "../perseus-types";
|
|
5
4
|
import type { PerseusScore, WidgetProps } from "../types";
|
|
5
|
+
import type { QuadraticCoefficient, SineCoefficient, Range } from "../util/geometry";
|
|
6
6
|
type RenderProps = PerseusInteractiveGraphWidgetOptions;
|
|
7
7
|
type Rubric = PerseusInteractiveGraphWidgetOptions;
|
|
8
8
|
type Props = WidgetProps<RenderProps, Rubric>;
|
|
@@ -1,25 +1,58 @@
|
|
|
1
|
-
import PropTypes from "prop-types";
|
|
2
1
|
import * as React from "react";
|
|
3
|
-
|
|
2
|
+
import type { APIOptions } from "../types";
|
|
3
|
+
declare const plotTypes: string[];
|
|
4
|
+
type PlotType = typeof plotTypes[number];
|
|
5
|
+
type Props = {
|
|
6
|
+
type: PlotType;
|
|
7
|
+
labels: ReadonlyArray<string>;
|
|
8
|
+
categories: ReadonlyArray<string | number>;
|
|
9
|
+
scaleY: number;
|
|
10
|
+
maxY: number;
|
|
11
|
+
snapsPerLine: number;
|
|
12
|
+
picSize: number;
|
|
13
|
+
picBoxHeight: number;
|
|
14
|
+
picUrl: string;
|
|
15
|
+
plotDimensions: ReadonlyArray<number>;
|
|
16
|
+
labelInterval: number;
|
|
17
|
+
starting: Array<number>;
|
|
18
|
+
static: boolean;
|
|
19
|
+
markings: any;
|
|
20
|
+
onChange: any;
|
|
21
|
+
trackInteraction: () => void;
|
|
22
|
+
apiOptions: APIOptions;
|
|
23
|
+
};
|
|
24
|
+
type DefaultProps = {
|
|
25
|
+
type: Props["type"];
|
|
26
|
+
labels: Props["labels"];
|
|
27
|
+
categories: Props["categories"];
|
|
28
|
+
scaleY: Props["scaleY"];
|
|
29
|
+
maxY: Props["maxY"];
|
|
30
|
+
snapsPerLine: Props["snapsPerLine"];
|
|
31
|
+
picSize: Props["picSize"];
|
|
32
|
+
picBoxHeight: Props["picBoxHeight"];
|
|
33
|
+
picUrl: Props["picUrl"];
|
|
34
|
+
plotDimensions: Props["plotDimensions"];
|
|
35
|
+
labelInterval: Props["labelInterval"];
|
|
36
|
+
};
|
|
37
|
+
type State = {
|
|
38
|
+
values: Array<number>;
|
|
39
|
+
categoryHeights: Record<string, number>;
|
|
40
|
+
};
|
|
41
|
+
export declare class Plotter extends React.Component<Props, State> {
|
|
4
42
|
shouldSetupGraphie: boolean;
|
|
5
43
|
_isMounted: boolean;
|
|
6
44
|
horizHairline: any;
|
|
7
45
|
hairlineRange: any;
|
|
8
46
|
graphie: any;
|
|
9
|
-
static
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
47
|
+
static defaultProps: DefaultProps;
|
|
48
|
+
state: State;
|
|
49
|
+
componentDidMount(): void;
|
|
50
|
+
UNSAFE_componentWillReceiveProps(nextProps: Props): void;
|
|
51
|
+
componentDidUpdate(prevProps: Props, prevState: State): void;
|
|
52
|
+
componentWillUnmount(): void;
|
|
15
53
|
DOT_PLOT_POINT_SIZE: () => number;
|
|
16
54
|
DOT_PLOT_POINT_PADDING: () => number;
|
|
17
55
|
DOT_TICK_POINT_SIZE: () => number;
|
|
18
|
-
render(): React.ReactNode;
|
|
19
|
-
componentDidUpdate(prevProps: any, prevState: any): void;
|
|
20
|
-
componentDidMount(): void;
|
|
21
|
-
UNSAFE_componentWillReceiveProps(nextProps: any): void;
|
|
22
|
-
componentWillUnmount(): void;
|
|
23
56
|
setupGraphie: (arg1: any) => void;
|
|
24
57
|
showHairlines: (arg1: any) => void;
|
|
25
58
|
hideHairlines: () => void;
|
|
@@ -44,6 +77,7 @@ declare class Plotter extends React.Component<any, any> {
|
|
|
44
77
|
drawPicHeights: (arg1: any, arg2: any) => void;
|
|
45
78
|
getUserInput: () => any;
|
|
46
79
|
simpleValidate: (arg1: any) => any;
|
|
80
|
+
render(): React.ReactNode;
|
|
47
81
|
}
|
|
48
82
|
declare const _default: Readonly<{
|
|
49
83
|
name: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { PerseusSequenceWidgetOptions } from "../perseus-types";
|
|
2
|
+
import type { PerseusSequenceWidgetOptions } from "../perseus-types";
|
|
3
3
|
import type { WidgetProps } from "../types";
|
|
4
4
|
type Rubric = PerseusSequenceWidgetOptions;
|
|
5
5
|
type ExternalProps = WidgetProps<PerseusSequenceWidgetOptions, Rubric>;
|
package/dist/widgets/table.d.ts
CHANGED
|
@@ -6,7 +6,14 @@ declare class Table extends React.Component<any> {
|
|
|
6
6
|
editableHeaders: PropTypes.Requireable<boolean>;
|
|
7
7
|
Editor: PropTypes.Requireable<(...args: any[]) => any>;
|
|
8
8
|
headers: PropTypes.Requireable<(string | null | undefined)[]>;
|
|
9
|
-
keypadElement:
|
|
9
|
+
keypadElement: PropTypes.Requireable<PropTypes.InferProps<{
|
|
10
|
+
activate: PropTypes.Validator<(...args: any[]) => any>;
|
|
11
|
+
dismiss: PropTypes.Validator<(...args: any[]) => any>;
|
|
12
|
+
configure: PropTypes.Validator<(...args: any[]) => any>;
|
|
13
|
+
setCursor: PropTypes.Validator<(...args: any[]) => any>;
|
|
14
|
+
setKeyHandler: PropTypes.Validator<(...args: any[]) => any>;
|
|
15
|
+
getDOMNode: PropTypes.Validator<(...args: any[]) => any>;
|
|
16
|
+
}>>;
|
|
10
17
|
trackInteraction: PropTypes.Validator<(...args: any[]) => any>;
|
|
11
18
|
linterContext: PropTypes.Requireable<PropTypes.InferProps<{
|
|
12
19
|
contentType: PropTypes.Requireable<string>;
|
package/dist/widgets.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import type { Alignment, Tracking, Version, WidgetExports, WidgetInfo, WidgetTransform } from "./types";
|
|
2
|
+
import type * as React from "react";
|
|
3
3
|
type Editor = any;
|
|
4
4
|
export declare const registerWidget: (name: string, widget: WidgetExports) => void;
|
|
5
5
|
export declare const registerWidgets: (widgets: ReadonlyArray<WidgetExports>) => void;
|
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": "
|
|
6
|
+
"version": "8.0.0",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -22,30 +22,30 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@khanacademy/kas": "^0.3.1",
|
|
25
|
-
"@khanacademy/kmath": "^0.1.
|
|
26
|
-
"@khanacademy/math-input": "^
|
|
25
|
+
"@khanacademy/kmath": "^0.1.2",
|
|
26
|
+
"@khanacademy/math-input": "^9.0.0",
|
|
27
27
|
"@khanacademy/perseus-core": "0.1.1",
|
|
28
|
-
"@khanacademy/perseus-linter": "^0.3.
|
|
29
|
-
"@khanacademy/pure-markdown": "^0.2.
|
|
30
|
-
"@khanacademy/simple-markdown": "^0.
|
|
28
|
+
"@khanacademy/perseus-linter": "^0.3.2",
|
|
29
|
+
"@khanacademy/pure-markdown": "^0.2.4",
|
|
30
|
+
"@khanacademy/simple-markdown": "^0.10.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@khanacademy/wonder-blocks-button": "^4.
|
|
34
|
-
"@khanacademy/wonder-blocks-clickable": "^
|
|
33
|
+
"@khanacademy/wonder-blocks-button": "^4.1.3",
|
|
34
|
+
"@khanacademy/wonder-blocks-clickable": "^4.0.0",
|
|
35
35
|
"@khanacademy/wonder-blocks-color": "^2.0.1",
|
|
36
|
-
"@khanacademy/wonder-blocks-core": "^
|
|
37
|
-
"@khanacademy/wonder-blocks-data": "^
|
|
38
|
-
"@khanacademy/wonder-blocks-dropdown": "^3.0.
|
|
39
|
-
"@khanacademy/wonder-blocks-form": "^4.
|
|
36
|
+
"@khanacademy/wonder-blocks-core": "^6.0.0",
|
|
37
|
+
"@khanacademy/wonder-blocks-data": "^12.0.0",
|
|
38
|
+
"@khanacademy/wonder-blocks-dropdown": "^3.0.21",
|
|
39
|
+
"@khanacademy/wonder-blocks-form": "^4.3.3",
|
|
40
40
|
"@khanacademy/wonder-blocks-i18n": "^2.0.2",
|
|
41
|
-
"@khanacademy/wonder-blocks-layout": "^2.0.
|
|
42
|
-
"@khanacademy/wonder-blocks-link": "^
|
|
43
|
-
"@khanacademy/wonder-blocks-modal": "^4.0.
|
|
44
|
-
"@khanacademy/wonder-blocks-popover": "^
|
|
45
|
-
"@khanacademy/wonder-blocks-progress-spinner": "^2.0.
|
|
41
|
+
"@khanacademy/wonder-blocks-layout": "^2.0.17",
|
|
42
|
+
"@khanacademy/wonder-blocks-link": "^5.0.0",
|
|
43
|
+
"@khanacademy/wonder-blocks-modal": "^4.0.19",
|
|
44
|
+
"@khanacademy/wonder-blocks-popover": "^3.0.0",
|
|
45
|
+
"@khanacademy/wonder-blocks-progress-spinner": "^2.0.17",
|
|
46
46
|
"@khanacademy/wonder-blocks-spacing": "^3.0.5",
|
|
47
|
-
"@khanacademy/wonder-blocks-tooltip": "^2.
|
|
48
|
-
"@khanacademy/wonder-blocks-typography": "^2.
|
|
47
|
+
"@khanacademy/wonder-blocks-tooltip": "^2.1.2",
|
|
48
|
+
"@khanacademy/wonder-blocks-typography": "^2.1.3",
|
|
49
49
|
"@khanacademy/wonder-stuff-core": "^1.2.2",
|
|
50
50
|
"aphrodite": "^1.2.5",
|
|
51
51
|
"classnames": "^1.1.4",
|
|
@@ -56,29 +56,29 @@
|
|
|
56
56
|
"jquery": "^2.1.1",
|
|
57
57
|
"katex": "^0.11.1",
|
|
58
58
|
"lodash.debounce": "^4.0.8",
|
|
59
|
-
"perseus-build-settings": "^0.
|
|
59
|
+
"perseus-build-settings": "^0.2.0",
|
|
60
60
|
"prop-types": "^15.6.1",
|
|
61
61
|
"react": "16.14.0",
|
|
62
62
|
"react-dom": "16.14.0",
|
|
63
63
|
"underscore": "^1.4.4"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"@khanacademy/wonder-blocks-button": "^4.
|
|
67
|
-
"@khanacademy/wonder-blocks-clickable": "^
|
|
66
|
+
"@khanacademy/wonder-blocks-button": "^4.1.3",
|
|
67
|
+
"@khanacademy/wonder-blocks-clickable": "^4.0.0",
|
|
68
68
|
"@khanacademy/wonder-blocks-color": "^2.0.1",
|
|
69
|
-
"@khanacademy/wonder-blocks-core": "^
|
|
70
|
-
"@khanacademy/wonder-blocks-data": "^
|
|
71
|
-
"@khanacademy/wonder-blocks-dropdown": "^3.0.
|
|
72
|
-
"@khanacademy/wonder-blocks-form": "^4.
|
|
69
|
+
"@khanacademy/wonder-blocks-core": "^6.0.0",
|
|
70
|
+
"@khanacademy/wonder-blocks-data": "^12.0.0",
|
|
71
|
+
"@khanacademy/wonder-blocks-dropdown": "^3.0.21",
|
|
72
|
+
"@khanacademy/wonder-blocks-form": "^4.3.3",
|
|
73
73
|
"@khanacademy/wonder-blocks-i18n": "^2.0.2",
|
|
74
|
-
"@khanacademy/wonder-blocks-layout": "^2.0.
|
|
75
|
-
"@khanacademy/wonder-blocks-link": "^
|
|
76
|
-
"@khanacademy/wonder-blocks-modal": "^4.0.
|
|
77
|
-
"@khanacademy/wonder-blocks-popover": "^
|
|
78
|
-
"@khanacademy/wonder-blocks-progress-spinner": "^2.0.
|
|
74
|
+
"@khanacademy/wonder-blocks-layout": "^2.0.17",
|
|
75
|
+
"@khanacademy/wonder-blocks-link": "^5.0.0",
|
|
76
|
+
"@khanacademy/wonder-blocks-modal": "^4.0.19",
|
|
77
|
+
"@khanacademy/wonder-blocks-popover": "^3.0.0",
|
|
78
|
+
"@khanacademy/wonder-blocks-progress-spinner": "^2.0.17",
|
|
79
79
|
"@khanacademy/wonder-blocks-spacing": "^3.0.5",
|
|
80
|
-
"@khanacademy/wonder-blocks-tooltip": "^2.
|
|
81
|
-
"@khanacademy/wonder-blocks-typography": "^2.
|
|
80
|
+
"@khanacademy/wonder-blocks-tooltip": "^2.1.2",
|
|
81
|
+
"@khanacademy/wonder-blocks-typography": "^2.1.3",
|
|
82
82
|
"@khanacademy/wonder-stuff-core": "^1.2.2",
|
|
83
83
|
"aphrodite": "^1.2.5",
|
|
84
84
|
"classnames": "^1.1.4",
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import type {PerseusRenderer} from "../perseus-types";
|
|
2
|
+
|
|
3
|
+
export const passageArticle: PerseusRenderer = {
|
|
2
4
|
content:
|
|
3
5
|
"###Group/Pair Activity \n\nThis passage is adapted from Ed Yong, “Turtles Use the Earth’s Magnetic Field as Global GPS.” ©2011 by Kalmbach Publishing Co.\n\n[[☃ passage 1]]\n\n**Question 9**\n\nThe passage most strongly suggests that Adelita used which of the following to navigate her 9,000-mile journey?\n\nA) The current of the North Atlantic gyre\n\nB) Cues from electromagnetic coils designed by Putman and Lohmann\n\nC) The inclination and intensity of Earth’s magnetic field\n\nD) A simulated “magnetic signature” configured by Lohmann\n\n10) Which choice provides the best evidence for the answer to the previous question?\n\nA) Lines 1–2 (“In 1996...way”)\n\nB) Lines 20–21 (“Using...surface”)\n\nC) Lines 36–37 (“In the wild...stars”)\n\nD) Lines 43–45 (“Neither...it is”)\n\n**Question 12** \n\nBased on the passage, which choice best describes the relationship between Putman’s and Lohmann’s research?\n\nA) Putman’s research contradicts Lohmann’s.\n\nB) Putman’s research builds on Lohmann’s.\n\nC) Lohmann’s research confirms Putman’s.\n\nD) Lohmann’s research corrects Putman’s.",
|
|
4
6
|
images: {},
|
|
@@ -251,7 +251,7 @@ export const mockedItem: PerseusItem = {
|
|
|
251
251
|
// The mock widget type is not part of the PerseusWidget type union (and
|
|
252
252
|
// we don't want to make it such to avoid polluting our production types
|
|
253
253
|
// for test purposes) so we force TypeScript to accept it here.
|
|
254
|
-
// @ts-expect-error
|
|
254
|
+
// @ts-expect-error - TS2352 - Conversion of type '{ content: string; images: {}; widgets: { "mock-widget 1": { graded: true; version: { major: number; minor: number; }; static: false; type: "mock-widget"; options: { static: false; smiling: boolean; }; alignment: string; }; "mock-widget 2": { ...; }; "mock-widget 3": { ...; }; "mock-widget 4": { ...; }; }; }' to type 'PerseusRenderer' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
|
|
255
255
|
question: {
|
|
256
256
|
content:
|
|
257
257
|
"Mock widget ==> [[\u2603 mock-widget 1]] [[\u2603 mock-widget 2]] [[\u2603 mock-widget 3]] [[\u2603 mock-widget 4]]",
|
|
@@ -85,7 +85,7 @@ export const question2: PerseusRenderer = {
|
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
// Note that if this item is used, you _must_ first register the MockWidget
|
|
88
|
-
// @ts-expect-error
|
|
88
|
+
// @ts-expect-error - TS2352 - Conversion of type '{ content: string; images: {}; widgets: { "mock-widget 1": { graded: true; version: { major: number; minor: number; }; static: false; type: "mock-widget"; options: { static: false; smiling: boolean; }; alignment: string; }; "mock-widget 2": { ...; }; "mock-widget 3": { ...; }; }; }' to type 'PerseusRenderer' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
|
|
89
89
|
export const mockedItem: PerseusRenderer = {
|
|
90
90
|
// The mock widget type is not part of the PerseusWidget type union (and
|
|
91
91
|
// we don't want to make it such to avoid polluting our production types
|
|
@@ -115,7 +115,7 @@ const makeHint = (content: string): PerseusRenderer => ({
|
|
|
115
115
|
graded: true,
|
|
116
116
|
version: {major: 0, minor: 0},
|
|
117
117
|
static: false,
|
|
118
|
-
// @ts-expect-error
|
|
118
|
+
// @ts-expect-error - TS2322 - Type '"mock-widget"' is not assignable to type '"video" | "image" | "iframe" | "table" | "radio" | "definition" | "group" | "matrix" | "categorizer" | "cs-program" | "dropdown" | "example-graphie-widget" | "example-widget" | ... 26 more ... | "unit-input"'.
|
|
119
119
|
type: "mock-widget",
|
|
120
120
|
options: {static: false},
|
|
121
121
|
alignment: "default",
|
|
@@ -309,7 +309,7 @@ describe("item renderer", () => {
|
|
|
309
309
|
renderer.focus();
|
|
310
310
|
|
|
311
311
|
// Assert
|
|
312
|
-
expect(screen.getByLabelText("
|
|
312
|
+
expect(screen.getByLabelText("7")).toBeVisible();
|
|
313
313
|
});
|
|
314
314
|
|
|
315
315
|
it("should provide current and previous focus paths on focus change to, and away from, a single widget", () => {
|
|
@@ -34,7 +34,7 @@ export const mockedAssetItem = {
|
|
|
34
34
|
} as const;
|
|
35
35
|
|
|
36
36
|
export class MockAssetLoadingWidget extends React.Component<Record<any, any>> {
|
|
37
|
-
// @ts-expect-error
|
|
37
|
+
// @ts-expect-error - TS2564 - Property 'setAssetStatus' has no initializer and is not definitely assigned in the constructor.
|
|
38
38
|
setAssetStatus: (assetKey: string, loaded: boolean) => void;
|
|
39
39
|
|
|
40
40
|
render(): React.ReactNode {
|
|
@@ -35,7 +35,7 @@ describe("perseus markdown", () => {
|
|
|
35
35
|
},
|
|
36
36
|
])("should parse math", ({content, expected}) => {
|
|
37
37
|
// Arrange, Act
|
|
38
|
-
// @ts-expect-error
|
|
38
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
39
39
|
const parsed = parse(content);
|
|
40
40
|
|
|
41
41
|
// Assert
|
|
@@ -75,7 +75,7 @@ describe("perseus markdown", () => {
|
|
|
75
75
|
},
|
|
76
76
|
])("should parse nested math", ({content, expected}) => {
|
|
77
77
|
// Arrange, Act
|
|
78
|
-
// @ts-expect-error
|
|
78
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
79
79
|
const parsed = parse(content);
|
|
80
80
|
|
|
81
81
|
// Assert
|
|
@@ -161,7 +161,7 @@ describe("perseus markdown", () => {
|
|
|
161
161
|
},
|
|
162
162
|
])("should allow escaping in math", ({content, expected}) => {
|
|
163
163
|
// Arrange, Act
|
|
164
|
-
// @ts-expect-error
|
|
164
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
165
165
|
const parsed = parse(content);
|
|
166
166
|
|
|
167
167
|
// Assert
|
|
@@ -229,7 +229,7 @@ describe("perseus markdown", () => {
|
|
|
229
229
|
},
|
|
230
230
|
])("should parse block math", ({content, expected}) => {
|
|
231
231
|
// Arrange, Act
|
|
232
|
-
// @ts-expect-error
|
|
232
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
233
233
|
const parsed = parse(content);
|
|
234
234
|
|
|
235
235
|
// Assert
|
|
@@ -274,7 +274,7 @@ describe("perseus markdown", () => {
|
|
|
274
274
|
},
|
|
275
275
|
])("should break on paragraphs", ({content, expected}) => {
|
|
276
276
|
// Arrange, Act
|
|
277
|
-
// @ts-expect-error
|
|
277
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
278
278
|
const parsed = parse(content);
|
|
279
279
|
|
|
280
280
|
// Assert
|
|
@@ -352,7 +352,7 @@ describe("perseus markdown", () => {
|
|
|
352
352
|
},
|
|
353
353
|
])("should parse widget types and ids", ({content, expected}) => {
|
|
354
354
|
// Arrange, Act
|
|
355
|
-
// @ts-expect-error
|
|
355
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
356
356
|
const parsed = parse(content);
|
|
357
357
|
|
|
358
358
|
// Assert
|
|
@@ -361,7 +361,7 @@ describe("perseus markdown", () => {
|
|
|
361
361
|
|
|
362
362
|
it("should allow escaping widget identifiers", () => {
|
|
363
363
|
// Arrange, Act
|
|
364
|
-
// @ts-expect-error
|
|
364
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
365
365
|
const parsed = parse("\\[[☃ test 1]]");
|
|
366
366
|
|
|
367
367
|
// Assert
|
|
@@ -408,7 +408,7 @@ describe("perseus markdown", () => {
|
|
|
408
408
|
"should parse widgets next to each other as widgets",
|
|
409
409
|
({content, expected}) => {
|
|
410
410
|
// Arrange, Act
|
|
411
|
-
// @ts-expect-error
|
|
411
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
412
412
|
const parsed = parse(content);
|
|
413
413
|
|
|
414
414
|
// Assert
|
|
@@ -418,7 +418,7 @@ describe("perseus markdown", () => {
|
|
|
418
418
|
|
|
419
419
|
it("should parse multiple columns", () => {
|
|
420
420
|
// Arrange, Act
|
|
421
|
-
// @ts-expect-error
|
|
421
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
422
422
|
const parsed = parse("hi\n\n" + "=====\n\n" + "there\n\n");
|
|
423
423
|
|
|
424
424
|
// Assert
|
|
@@ -539,7 +539,7 @@ describe("perseus markdown", () => {
|
|
|
539
539
|
},
|
|
540
540
|
])("should detect unescaped dollars", ({content, expected}) => {
|
|
541
541
|
// Arrange, Act
|
|
542
|
-
// @ts-expect-error
|
|
542
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
543
543
|
const parsed = parse(content);
|
|
544
544
|
|
|
545
545
|
// Assert
|
|
@@ -557,7 +557,7 @@ describe("perseus markdown", () => {
|
|
|
557
557
|
"data 7 | data 8 | data 9";
|
|
558
558
|
|
|
559
559
|
// Act
|
|
560
|
-
// @ts-expect-error
|
|
560
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
561
561
|
const parsed = parse(content);
|
|
562
562
|
|
|
563
563
|
// Assert
|
|
@@ -582,7 +582,7 @@ describe("perseus markdown", () => {
|
|
|
582
582
|
} as const;
|
|
583
583
|
|
|
584
584
|
// Act
|
|
585
|
-
// @ts-expect-error
|
|
585
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
586
586
|
const parsedWithLint = parse(content);
|
|
587
587
|
PerseusLinter.runLinter(parsedWithLint, context, true);
|
|
588
588
|
|
|
@@ -601,7 +601,7 @@ describe("perseus markdown", () => {
|
|
|
601
601
|
const content = "para!";
|
|
602
602
|
|
|
603
603
|
// Act
|
|
604
|
-
// @ts-expect-error
|
|
604
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
605
605
|
const parsed = parse(content);
|
|
606
606
|
const output = basicOutput(parsed);
|
|
607
607
|
|
|
@@ -614,7 +614,7 @@ describe("perseus markdown", () => {
|
|
|
614
614
|
const content = "col1\n\n" + "=====\n\n" + "col2";
|
|
615
615
|
|
|
616
616
|
// Act
|
|
617
|
-
// @ts-expect-error
|
|
617
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
618
618
|
const parsed = parse(content);
|
|
619
619
|
const output = basicOutput(parsed);
|
|
620
620
|
|
|
@@ -627,7 +627,7 @@ describe("perseus markdown", () => {
|
|
|
627
627
|
const content = "```alt\n" + "screenreader-only text!\n" + "```";
|
|
628
628
|
|
|
629
629
|
// Act
|
|
630
|
-
// @ts-expect-error
|
|
630
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
631
631
|
const parsed = parse(content);
|
|
632
632
|
const output = basicOutput(parsed);
|
|
633
633
|
|
|
@@ -646,7 +646,7 @@ describe("perseus markdown", () => {
|
|
|
646
646
|
"data 7 | data 8 | data 9";
|
|
647
647
|
|
|
648
648
|
// Act
|
|
649
|
-
// @ts-expect-error
|
|
649
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
650
650
|
const parsed = parse(content);
|
|
651
651
|
const output = basicOutput(parsed);
|
|
652
652
|
|
|
@@ -672,7 +672,7 @@ describe("perseus markdown", () => {
|
|
|
672
672
|
} as const;
|
|
673
673
|
|
|
674
674
|
// Act
|
|
675
|
-
// @ts-expect-error
|
|
675
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
676
676
|
const parsedWithLint = parse(content);
|
|
677
677
|
PerseusLinter.runLinter(parsedWithLint, context, true);
|
|
678
678
|
|