@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
|
@@ -46,21 +46,21 @@ describe("Interactive graph", () => {
|
|
|
46
46
|
cy.get(POINTS)
|
|
47
47
|
.eq(1)
|
|
48
48
|
.should("exist")
|
|
49
|
-
// @ts-expect-error
|
|
49
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
50
50
|
.dragTo({x: left + 160, y: top + 240});
|
|
51
51
|
|
|
52
52
|
// Move first ray to point B
|
|
53
53
|
cy.get(POINTS)
|
|
54
54
|
.eq(0)
|
|
55
55
|
.should("exist")
|
|
56
|
-
// @ts-expect-error
|
|
56
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
57
57
|
.dragTo({x: left + 300, y: top + 100});
|
|
58
58
|
|
|
59
59
|
// Move second ray to top-left dot
|
|
60
60
|
cy.get(POINTS)
|
|
61
61
|
.eq(2)
|
|
62
62
|
.should("exist")
|
|
63
|
-
// @ts-expect-error
|
|
63
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
64
64
|
.dragTo({x: left + 70, y: top + 35});
|
|
65
65
|
});
|
|
66
66
|
|
|
@@ -90,21 +90,21 @@ describe("Interactive graph", () => {
|
|
|
90
90
|
cy.get(POINTS)
|
|
91
91
|
.eq(1)
|
|
92
92
|
.should("exist")
|
|
93
|
-
// @ts-expect-error
|
|
93
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
94
94
|
.dragTo({x: left + 0, y: top + 240});
|
|
95
95
|
|
|
96
96
|
// Move first ray to top-left black dot
|
|
97
97
|
cy.get(POINTS)
|
|
98
98
|
.eq(0)
|
|
99
99
|
.should("exist")
|
|
100
|
-
// @ts-expect-error
|
|
100
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
101
101
|
.dragTo({x: left + 300, y: top + 120});
|
|
102
102
|
|
|
103
103
|
// Move second ray to point through B
|
|
104
104
|
cy.get(POINTS)
|
|
105
105
|
.eq(2)
|
|
106
106
|
.should("exist")
|
|
107
|
-
// @ts-expect-error
|
|
107
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
108
108
|
.dragTo({x: left + 70, y: top + 0});
|
|
109
109
|
});
|
|
110
110
|
|
|
@@ -136,14 +136,14 @@ describe("Interactive graph", () => {
|
|
|
136
136
|
cy.get(POINTS)
|
|
137
137
|
.eq(0)
|
|
138
138
|
.should("exist")
|
|
139
|
-
// @ts-expect-error
|
|
139
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
140
140
|
.dragTo({x: left + 160, y: top + 280});
|
|
141
141
|
|
|
142
142
|
// Resize the circle
|
|
143
143
|
cy.get(CIRCLES)
|
|
144
144
|
.eq(0)
|
|
145
145
|
.should("exist")
|
|
146
|
-
// @ts-expect-error
|
|
146
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
147
147
|
.dragTo({x: left + 160, y: top + 320});
|
|
148
148
|
});
|
|
149
149
|
|
|
@@ -173,14 +173,14 @@ describe("Interactive graph", () => {
|
|
|
173
173
|
cy.get(POINTS)
|
|
174
174
|
.eq(0)
|
|
175
175
|
.should("exist")
|
|
176
|
-
// @ts-expect-error
|
|
176
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
177
177
|
.dragTo({x: left + 160, y: top + 280});
|
|
178
178
|
|
|
179
179
|
// Resize the circle
|
|
180
180
|
cy.get(CIRCLES)
|
|
181
181
|
.eq(0)
|
|
182
182
|
.should("exist")
|
|
183
|
-
// @ts-expect-error
|
|
183
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
184
184
|
.dragTo({x: left + 160, y: top + 390});
|
|
185
185
|
});
|
|
186
186
|
|
|
@@ -214,7 +214,7 @@ describe("Interactive graph", () => {
|
|
|
214
214
|
cy.get(POINTS)
|
|
215
215
|
.eq(0)
|
|
216
216
|
.should("exist")
|
|
217
|
-
// @ts-expect-error
|
|
217
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
218
218
|
.dragTo({
|
|
219
219
|
x: left + (-1 + 10) * grid,
|
|
220
220
|
y: top + topOffset + Math.abs(1 + 10 - 20) * grid,
|
|
@@ -222,7 +222,7 @@ describe("Interactive graph", () => {
|
|
|
222
222
|
cy.get(POINTS)
|
|
223
223
|
.eq(1)
|
|
224
224
|
.should("exist")
|
|
225
|
-
// @ts-expect-error
|
|
225
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
226
226
|
.dragTo({
|
|
227
227
|
x: left + (0 + 10) * grid,
|
|
228
228
|
y: top + topOffset + Math.abs(-2 + 10 - 20) * grid,
|
|
@@ -254,7 +254,7 @@ describe("Interactive graph", () => {
|
|
|
254
254
|
cy.get(POINTS)
|
|
255
255
|
.eq(0)
|
|
256
256
|
.should("exist")
|
|
257
|
-
// @ts-expect-error
|
|
257
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
258
258
|
.dragTo({
|
|
259
259
|
x: left + grid * 1,
|
|
260
260
|
y: top + topOffset + grid * 1,
|
|
@@ -262,7 +262,7 @@ describe("Interactive graph", () => {
|
|
|
262
262
|
cy.get(POINTS)
|
|
263
263
|
.eq(1)
|
|
264
264
|
.should("exist")
|
|
265
|
-
// @ts-expect-error
|
|
265
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
266
266
|
.dragTo({
|
|
267
267
|
x: left + grid * 1,
|
|
268
268
|
y: top + topOffset + grid * 19,
|
|
@@ -299,7 +299,7 @@ describe("Interactive graph", () => {
|
|
|
299
299
|
cy.get(POINTS)
|
|
300
300
|
.eq(0)
|
|
301
301
|
.should("exist")
|
|
302
|
-
// @ts-expect-error
|
|
302
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
303
303
|
.dragTo({
|
|
304
304
|
x: left + (-7 + 10) * grid,
|
|
305
305
|
y: top + Math.abs(7 + 10 - 20) * grid,
|
|
@@ -309,7 +309,7 @@ describe("Interactive graph", () => {
|
|
|
309
309
|
cy.get(POINTS)
|
|
310
310
|
.eq(1)
|
|
311
311
|
.should("exist")
|
|
312
|
-
// @ts-expect-error
|
|
312
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
313
313
|
.dragTo({
|
|
314
314
|
x: left + (0 + 10) * grid,
|
|
315
315
|
y: top + Math.abs(-2 + 10 - 20) * grid,
|
|
@@ -319,7 +319,7 @@ describe("Interactive graph", () => {
|
|
|
319
319
|
cy.get(POINTS)
|
|
320
320
|
.eq(2)
|
|
321
321
|
.should("exist")
|
|
322
|
-
// @ts-expect-error
|
|
322
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
323
323
|
.dragTo({
|
|
324
324
|
x: left + (-3 + 10) * grid,
|
|
325
325
|
y: top + Math.abs(-7 + 10 - 20) * grid,
|
|
@@ -329,7 +329,7 @@ describe("Interactive graph", () => {
|
|
|
329
329
|
cy.get(POINTS)
|
|
330
330
|
.eq(3)
|
|
331
331
|
.should("exist")
|
|
332
|
-
// @ts-expect-error
|
|
332
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
333
333
|
.dragTo({
|
|
334
334
|
x: left + (7 + 10) * grid,
|
|
335
335
|
y: top + Math.abs(-3 + 10 - 20) * grid,
|
|
@@ -362,7 +362,7 @@ describe("Interactive graph", () => {
|
|
|
362
362
|
cy.get(POINTS)
|
|
363
363
|
.eq(0)
|
|
364
364
|
.should("exist")
|
|
365
|
-
// @ts-expect-error
|
|
365
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
366
366
|
.dragTo({
|
|
367
367
|
x: left + (-9 + 10) * grid,
|
|
368
368
|
y: top + Math.abs(9 + 10 - 20) * grid,
|
|
@@ -372,7 +372,7 @@ describe("Interactive graph", () => {
|
|
|
372
372
|
cy.get(POINTS)
|
|
373
373
|
.eq(1)
|
|
374
374
|
.should("exist")
|
|
375
|
-
// @ts-expect-error
|
|
375
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
376
376
|
.dragTo({
|
|
377
377
|
x: left + (9 + 10) * grid,
|
|
378
378
|
y: top + Math.abs(9 + 10 - 20) * grid,
|
|
@@ -382,7 +382,7 @@ describe("Interactive graph", () => {
|
|
|
382
382
|
cy.get(POINTS)
|
|
383
383
|
.eq(2)
|
|
384
384
|
.should("exist")
|
|
385
|
-
// @ts-expect-error
|
|
385
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
386
386
|
.dragTo({
|
|
387
387
|
x: left + (-9 + 10) * grid,
|
|
388
388
|
y: top + Math.abs(-9 + 10 - 20) * grid,
|
|
@@ -392,7 +392,7 @@ describe("Interactive graph", () => {
|
|
|
392
392
|
cy.get(POINTS)
|
|
393
393
|
.eq(3)
|
|
394
394
|
.should("exist")
|
|
395
|
-
// @ts-expect-error
|
|
395
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
396
396
|
.dragTo({
|
|
397
397
|
x: left + (9 + 10) * grid,
|
|
398
398
|
y: top + Math.abs(-9 + 10 - 20) * grid,
|
|
@@ -482,17 +482,17 @@ describe("Interactive graph", () => {
|
|
|
482
482
|
cy.get(POINTS)
|
|
483
483
|
.eq(0)
|
|
484
484
|
.should("exist")
|
|
485
|
-
// @ts-expect-error
|
|
485
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
486
486
|
.dragTo({x: 92, y: 126});
|
|
487
487
|
cy.get(POINTS)
|
|
488
488
|
.eq(1)
|
|
489
489
|
.should("exist")
|
|
490
|
-
// @ts-expect-error
|
|
490
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
491
491
|
.dragTo({x: 92, y: 298});
|
|
492
492
|
cy.get(POINTS)
|
|
493
493
|
.eq(2)
|
|
494
494
|
.should("exist")
|
|
495
|
-
// @ts-expect-error
|
|
495
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
496
496
|
.dragTo({x: 320, y: 298});
|
|
497
497
|
});
|
|
498
498
|
|
|
@@ -525,19 +525,19 @@ describe("Interactive graph", () => {
|
|
|
525
525
|
cy.get(POINTS)
|
|
526
526
|
.eq(0)
|
|
527
527
|
.should("exist")
|
|
528
|
-
// @ts-expect-error
|
|
528
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
529
529
|
.dragTo({x: x + grid * 2, y: y});
|
|
530
530
|
|
|
531
531
|
cy.get(POINTS)
|
|
532
532
|
.eq(1)
|
|
533
533
|
.should("exist")
|
|
534
|
-
// @ts-expect-error
|
|
534
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
535
535
|
.dragTo({x: x, y: y + grid * 3});
|
|
536
536
|
|
|
537
537
|
cy.get(POINTS)
|
|
538
538
|
.eq(2)
|
|
539
539
|
.should("exist")
|
|
540
|
-
// @ts-expect-error
|
|
540
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
541
541
|
.dragTo({x: x + grid * 4, y: y + grid * 3});
|
|
542
542
|
});
|
|
543
543
|
|
|
@@ -570,7 +570,7 @@ describe("Interactive graph", () => {
|
|
|
570
570
|
cy.get(POINTS)
|
|
571
571
|
.eq(0)
|
|
572
572
|
.should("exist")
|
|
573
|
-
// @ts-expect-error
|
|
573
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
574
574
|
.dragTo({
|
|
575
575
|
x: left + (5 + 10) * grid,
|
|
576
576
|
y: top + Math.abs(3 + 10 - 20) * grid,
|
|
@@ -579,7 +579,7 @@ describe("Interactive graph", () => {
|
|
|
579
579
|
cy.get(POINTS)
|
|
580
580
|
.eq(1)
|
|
581
581
|
.should("exist")
|
|
582
|
-
// @ts-expect-error
|
|
582
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
583
583
|
.dragTo({
|
|
584
584
|
x: left + (-5 + 10) * grid,
|
|
585
585
|
y: top + Math.abs(-5 + 10 - 20) * grid,
|
|
@@ -612,7 +612,7 @@ describe("Interactive graph", () => {
|
|
|
612
612
|
cy.get(POINTS)
|
|
613
613
|
.eq(0)
|
|
614
614
|
.should("exist")
|
|
615
|
-
// @ts-expect-error
|
|
615
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
616
616
|
.dragTo({
|
|
617
617
|
x: left + (7 + 10) * grid,
|
|
618
618
|
y: top + Math.abs(-7 + 10 - 20) * grid,
|
|
@@ -621,7 +621,7 @@ describe("Interactive graph", () => {
|
|
|
621
621
|
cy.get(POINTS)
|
|
622
622
|
.eq(1)
|
|
623
623
|
.should("exist")
|
|
624
|
-
// @ts-expect-error
|
|
624
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
625
625
|
.dragTo({
|
|
626
626
|
x: left + (3 + 10) * grid,
|
|
627
627
|
y: top + Math.abs(3 + 10 - 20) * grid,
|
|
@@ -657,7 +657,7 @@ describe("Interactive graph", () => {
|
|
|
657
657
|
cy.get(POINTS)
|
|
658
658
|
.eq(0)
|
|
659
659
|
.should("exist")
|
|
660
|
-
// @ts-expect-error
|
|
660
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
661
661
|
.dragTo({
|
|
662
662
|
x: left + (-7 + 10) * grid,
|
|
663
663
|
y: top + Math.abs(7 + 10 - 20) * grid,
|
|
@@ -666,7 +666,7 @@ describe("Interactive graph", () => {
|
|
|
666
666
|
cy.get(POINTS)
|
|
667
667
|
.eq(1)
|
|
668
668
|
.should("exist")
|
|
669
|
-
// @ts-expect-error
|
|
669
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
670
670
|
.dragTo({
|
|
671
671
|
x: left + (2 + 10) * grid,
|
|
672
672
|
y: top + Math.abs(5 + 10 - 20) * grid,
|
|
@@ -698,7 +698,7 @@ describe("Interactive graph", () => {
|
|
|
698
698
|
cy.get(POINTS)
|
|
699
699
|
.eq(0)
|
|
700
700
|
.should("exist")
|
|
701
|
-
// @ts-expect-error
|
|
701
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
702
702
|
.dragTo({
|
|
703
703
|
x: left + (8 + 10) * grid,
|
|
704
704
|
y: top + Math.abs(2 + 10 - 20) * grid,
|
|
@@ -707,7 +707,7 @@ describe("Interactive graph", () => {
|
|
|
707
707
|
cy.get(POINTS)
|
|
708
708
|
.eq(1)
|
|
709
709
|
.should("exist")
|
|
710
|
-
// @ts-expect-error
|
|
710
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
711
711
|
.dragTo({
|
|
712
712
|
x: left + (8 + 10) * grid,
|
|
713
713
|
y: top + Math.abs(-8 + 10 - 20) * grid,
|
|
@@ -743,7 +743,7 @@ describe("Interactive graph", () => {
|
|
|
743
743
|
cy.get(POINTS)
|
|
744
744
|
.eq(0)
|
|
745
745
|
.should("exist")
|
|
746
|
-
// @ts-expect-error
|
|
746
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
747
747
|
.dragTo({
|
|
748
748
|
x: left + (1 + 10) * grid,
|
|
749
749
|
y: top + Math.abs(2 + 10 - 20) * grid,
|
|
@@ -752,7 +752,7 @@ describe("Interactive graph", () => {
|
|
|
752
752
|
cy.get(POINTS)
|
|
753
753
|
.eq(1)
|
|
754
754
|
.should("exist")
|
|
755
|
-
// @ts-expect-error
|
|
755
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
756
756
|
.dragTo({
|
|
757
757
|
x: left + (1.5 + 10) * grid,
|
|
758
758
|
y: top + Math.abs(5 + 10 - 20) * grid,
|
|
@@ -784,7 +784,7 @@ describe("Interactive graph", () => {
|
|
|
784
784
|
cy.get(POINTS)
|
|
785
785
|
.eq(0)
|
|
786
786
|
.should("exist")
|
|
787
|
-
// @ts-expect-error
|
|
787
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
788
788
|
.dragTo({
|
|
789
789
|
x: left + (0 + 10) * grid,
|
|
790
790
|
y: top + Math.abs(0 + 10 - 20) * grid,
|
|
@@ -793,7 +793,7 @@ describe("Interactive graph", () => {
|
|
|
793
793
|
cy.get(POINTS)
|
|
794
794
|
.eq(1)
|
|
795
795
|
.should("exist")
|
|
796
|
-
// @ts-expect-error
|
|
796
|
+
// @ts-expect-error - TS2339 - Property 'dragTo' does not exist on type 'Chainable<JQuery<HTMLElement>>'.
|
|
797
797
|
.dragTo({
|
|
798
798
|
x: left + (5 + 10) * grid,
|
|
799
799
|
y: top + Math.abs(9 + 10 - 20) * grid,
|
|
@@ -4,13 +4,13 @@ import {clone} from "../../../../../testing/object-utils";
|
|
|
4
4
|
import {testDependencies} from "../../../../../testing/test-dependencies";
|
|
5
5
|
import * as Dependencies from "../../dependencies";
|
|
6
6
|
import {ApiOptions} from "../../perseus-api";
|
|
7
|
-
import Renderer from "../../renderer";
|
|
8
7
|
import {questionsAndAnswers} from "../__testdata__/interactive-graph.testdata";
|
|
9
8
|
|
|
10
9
|
import {renderQuestion} from "./renderQuestion";
|
|
11
10
|
|
|
12
11
|
import type {Coord} from "../../interactive2/types";
|
|
13
12
|
import type {PerseusRenderer} from "../../perseus-types";
|
|
13
|
+
import type Renderer from "../../renderer";
|
|
14
14
|
import type {APIOptions} from "../../types";
|
|
15
15
|
|
|
16
16
|
const updateWidgetState = (renderer: Renderer, widgetId: string, update) => {
|
|
@@ -505,7 +505,7 @@ describe("unionAnswerForms utility function", () => {
|
|
|
505
505
|
];
|
|
506
506
|
|
|
507
507
|
// act
|
|
508
|
-
// @ts-expect-error
|
|
508
|
+
// @ts-expect-error - TS2345 - Argument of type '{ simplify: string; name: string; }[][]' is not assignable to parameter of type 'readonly (readonly PerseusNumericInputAnswerForm[])[]'.
|
|
509
509
|
const result = unionAnswerForms(forms);
|
|
510
510
|
|
|
511
511
|
// assert
|
|
@@ -143,7 +143,7 @@ describe("passage widget", () => {
|
|
|
143
143
|
const {renderer} = renderQuestion(question2, apiOptions);
|
|
144
144
|
jest.runOnlyPendingTimers();
|
|
145
145
|
|
|
146
|
-
// @ts-expect-error
|
|
146
|
+
// @ts-expect-error - TS2503 - Cannot find namespace 'PassageWidgetExport'
|
|
147
147
|
const [passage1]: [PassageWidgetExport.widget] =
|
|
148
148
|
renderer.findWidgets("passage 1");
|
|
149
149
|
|
|
@@ -167,7 +167,7 @@ describe("passage widget", () => {
|
|
|
167
167
|
const {renderer} = renderQuestion(question2, apiOptions);
|
|
168
168
|
jest.runOnlyPendingTimers();
|
|
169
169
|
|
|
170
|
-
// @ts-expect-error
|
|
170
|
+
// @ts-expect-error - TS2503 - Cannot find namespace 'PassageWidgetExport'
|
|
171
171
|
const [passage1]: [PassageWidgetExport.widget] =
|
|
172
172
|
renderer.findWidgets("passage 1");
|
|
173
173
|
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import "@testing-library/jest-dom";
|
|
2
|
+
import {screen, render} from "@testing-library/react";
|
|
3
|
+
import React from "react";
|
|
4
|
+
|
|
5
|
+
import {testDependencies} from "../../../../../testing/test-dependencies";
|
|
6
|
+
import {setDependencies} from "../../dependencies";
|
|
7
|
+
import {question1} from "../__testdata__/plotter.testdata";
|
|
8
|
+
import {Plotter} from "../plotter";
|
|
9
|
+
|
|
10
|
+
import {renderQuestion} from "./renderQuestion";
|
|
11
|
+
|
|
12
|
+
import type {APIOptions} from "../../types";
|
|
13
|
+
|
|
14
|
+
describe("plotter widget", () => {
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
setDependencies(testDependencies);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it("should snapshot basic question", () => {
|
|
20
|
+
// Arrange and Act
|
|
21
|
+
const {container} = renderQuestion(question1);
|
|
22
|
+
|
|
23
|
+
// Assert
|
|
24
|
+
expect(container).toMatchSnapshot("initial render");
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("should show drag text when not static", () => {
|
|
28
|
+
// Arrange and Act
|
|
29
|
+
const apiOptions: APIOptions = {isMobile: true};
|
|
30
|
+
render(
|
|
31
|
+
<Plotter
|
|
32
|
+
static={false}
|
|
33
|
+
trackInteraction={() => {}}
|
|
34
|
+
onChange={() => {}}
|
|
35
|
+
apiOptions={apiOptions}
|
|
36
|
+
starting={[0]}
|
|
37
|
+
markings={""}
|
|
38
|
+
/>,
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
// Assert
|
|
42
|
+
expect(
|
|
43
|
+
screen.getByText("Drag handles to make graph"),
|
|
44
|
+
).toBeInTheDocument();
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("should not show drag text when static", () => {
|
|
48
|
+
// Arrange and Act
|
|
49
|
+
const apiOptions: APIOptions = {isMobile: true};
|
|
50
|
+
render(
|
|
51
|
+
<Plotter
|
|
52
|
+
static={true}
|
|
53
|
+
trackInteraction={() => {}}
|
|
54
|
+
onChange={() => {}}
|
|
55
|
+
apiOptions={apiOptions}
|
|
56
|
+
starting={[0]}
|
|
57
|
+
markings={""}
|
|
58
|
+
/>,
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
// Assert
|
|
62
|
+
expect(
|
|
63
|
+
screen.queryByText("Drag handles to make graph"),
|
|
64
|
+
).not.toBeInTheDocument();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
@@ -87,7 +87,7 @@ describe("base-radio", () => {
|
|
|
87
87
|
checked: ReadonlyArray<boolean>;
|
|
88
88
|
crossedOut: ReadonlyArray<boolean>;
|
|
89
89
|
}) => {
|
|
90
|
-
// @ts-expect-error
|
|
90
|
+
// @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
|
|
91
91
|
updatedValues = newValues;
|
|
92
92
|
};
|
|
93
93
|
|
|
@@ -142,7 +142,7 @@ describe("base-radio", () => {
|
|
|
142
142
|
checked: ReadonlyArray<boolean>;
|
|
143
143
|
crossedOut: ReadonlyArray<boolean>;
|
|
144
144
|
}) => {
|
|
145
|
-
// @ts-expect-error
|
|
145
|
+
// @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
|
|
146
146
|
updatedValues = newValues;
|
|
147
147
|
};
|
|
148
148
|
|
|
@@ -173,7 +173,7 @@ describe("base-radio", () => {
|
|
|
173
173
|
checked: ReadonlyArray<boolean>;
|
|
174
174
|
crossedOut: ReadonlyArray<boolean>;
|
|
175
175
|
}) => {
|
|
176
|
-
// @ts-expect-error
|
|
176
|
+
// @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
|
|
177
177
|
updatedValues = newValues;
|
|
178
178
|
};
|
|
179
179
|
|
|
@@ -208,7 +208,7 @@ describe("base-radio", () => {
|
|
|
208
208
|
checked: ReadonlyArray<boolean>;
|
|
209
209
|
crossedOut: ReadonlyArray<boolean>;
|
|
210
210
|
}) => {
|
|
211
|
-
// @ts-expect-error
|
|
211
|
+
// @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
|
|
212
212
|
updatedValues = newValues;
|
|
213
213
|
};
|
|
214
214
|
|
|
@@ -259,7 +259,7 @@ describe("base-radio", () => {
|
|
|
259
259
|
checked: ReadonlyArray<boolean>;
|
|
260
260
|
crossedOut: ReadonlyArray<boolean>;
|
|
261
261
|
}) => {
|
|
262
|
-
// @ts-expect-error
|
|
262
|
+
// @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
|
|
263
263
|
updatedValues = newValues;
|
|
264
264
|
};
|
|
265
265
|
|
|
@@ -308,7 +308,7 @@ describe("base-radio", () => {
|
|
|
308
308
|
checked: ReadonlyArray<boolean>;
|
|
309
309
|
crossedOut: ReadonlyArray<boolean>;
|
|
310
310
|
}) => {
|
|
311
|
-
// @ts-expect-error
|
|
311
|
+
// @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
|
|
312
312
|
updatedValues = newValues;
|
|
313
313
|
};
|
|
314
314
|
|
|
@@ -358,7 +358,7 @@ describe("base-radio", () => {
|
|
|
358
358
|
checked: ReadonlyArray<boolean>;
|
|
359
359
|
crossedOut: ReadonlyArray<boolean>;
|
|
360
360
|
}) => {
|
|
361
|
-
// @ts-expect-error
|
|
361
|
+
// @ts-expect-error - TS2322 - Type '{ checked: readonly boolean[]; crossedOut: readonly boolean[]; }' is not assignable to type 'null'.
|
|
362
362
|
updatedValues = newValues;
|
|
363
363
|
};
|
|
364
364
|
|
|
@@ -15,7 +15,7 @@ export const renderQuestion = (
|
|
|
15
15
|
apiOptions: APIOptions = Object.freeze({}),
|
|
16
16
|
extraProps?: JSX.LibraryManagedAttributes<
|
|
17
17
|
typeof Perseus.Renderer,
|
|
18
|
-
// @ts-expect-error
|
|
18
|
+
// @ts-expect-error - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
|
|
19
19
|
React.ComponentProps<typeof Perseus.Renderer>
|
|
20
20
|
>,
|
|
21
21
|
): {
|
|
@@ -25,7 +25,7 @@ export const renderQuestion = (
|
|
|
25
25
|
question: PerseusRenderer,
|
|
26
26
|
extraProps?: JSX.LibraryManagedAttributes<
|
|
27
27
|
typeof Perseus.Renderer,
|
|
28
|
-
// @ts-expect-error
|
|
28
|
+
// @ts-expect-error - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
|
|
29
29
|
React.ComponentProps<typeof Perseus.Renderer>
|
|
30
30
|
>,
|
|
31
31
|
) => void;
|
|
@@ -51,7 +51,7 @@ export const renderQuestion = (
|
|
|
51
51
|
}
|
|
52
52
|
const renderAgain = (
|
|
53
53
|
question: PerseusRenderer,
|
|
54
|
-
// @ts-expect-error
|
|
54
|
+
// @ts-expect-error - TS2344 - Type 'typeof Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
|
|
55
55
|
extraProps: undefined | React.ComponentProps<typeof Perseus.Renderer>,
|
|
56
56
|
) => {
|
|
57
57
|
rerender(
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
1
2
|
/* eslint-disable react/sort-comp */
|
|
2
3
|
import {linterContextDefault} from "@khanacademy/perseus-linter";
|
|
3
4
|
import * as i18n from "@khanacademy/wonder-blocks-i18n";
|
|
@@ -51,7 +52,7 @@ export class Categorizer extends React.Component<Props, State> {
|
|
|
51
52
|
};
|
|
52
53
|
|
|
53
54
|
change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
|
|
54
|
-
// @ts-expect-error
|
|
55
|
+
// @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
|
|
55
56
|
return Changeable.change.apply(this, args);
|
|
56
57
|
};
|
|
57
58
|
|
|
@@ -67,7 +68,7 @@ export class Categorizer extends React.Component<Props, State> {
|
|
|
67
68
|
const isMobile = this.props.apiOptions.isMobile;
|
|
68
69
|
let indexedItems = this.props.items.map((item, n) => [item, n]);
|
|
69
70
|
if (this.props.randomizeItems) {
|
|
70
|
-
// @ts-expect-error
|
|
71
|
+
// @ts-expect-error - TS4104 - The type 'readonly (string | number)[][]' is 'readonly' and cannot be assigned to the mutable type '(string | number)[][]'. | TS2345 - Argument of type 'number | null | undefined' is not assignable to parameter of type 'number | RNG'.
|
|
71
72
|
indexedItems = Util.shuffle(indexedItems, this.props.problemNum);
|
|
72
73
|
}
|
|
73
74
|
|
|
@@ -102,7 +103,7 @@ export class Categorizer extends React.Component<Props, State> {
|
|
|
102
103
|
<tr key={itemNum}>
|
|
103
104
|
<td>
|
|
104
105
|
<Renderer
|
|
105
|
-
// @ts-expect-error
|
|
106
|
+
// @ts-expect-error - TS2322 - Type 'string | number' is not assignable to type 'string | undefined'.
|
|
106
107
|
content={item}
|
|
107
108
|
linterContext={this.props.linterContext}
|
|
108
109
|
/>
|
|
@@ -211,7 +212,7 @@ export class Categorizer extends React.Component<Props, State> {
|
|
|
211
212
|
|
|
212
213
|
onChange: (arg1: number, arg2: number) => void = (itemNum, catNum) => {
|
|
213
214
|
const values = [...this.props.values];
|
|
214
|
-
// @ts-expect-error
|
|
215
|
+
// @ts-expect-error - TS2322 - Type 'number' is not assignable to type 'never'.
|
|
215
216
|
values[itemNum] = catNum;
|
|
216
217
|
this.change("values", values);
|
|
217
218
|
this.props.trackInteraction();
|
|
@@ -117,7 +117,7 @@ class CSProgram extends React.Component<any> {
|
|
|
117
117
|
};
|
|
118
118
|
|
|
119
119
|
change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
|
|
120
|
-
// @ts-expect-error
|
|
120
|
+
// @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
|
|
121
121
|
return Changeable.change.apply(this, args);
|
|
122
122
|
};
|
|
123
123
|
|
|
@@ -159,7 +159,7 @@ class CSProgram extends React.Component<any> {
|
|
|
159
159
|
url += "&buttons=yes";
|
|
160
160
|
// Matches templates/scratchpads/embed_script.js
|
|
161
161
|
// Toolbar height is 66, border height is 1 pixel
|
|
162
|
-
// @ts-expect-error
|
|
162
|
+
// @ts-expect-error - TS2540 - Cannot assign to 'height' because it is a read-only property.
|
|
163
163
|
style.height += 67;
|
|
164
164
|
} else {
|
|
165
165
|
url += "&buttons=no";
|
package/src/widgets/dropdown.tsx
CHANGED
|
@@ -53,7 +53,7 @@ class Dropdown extends React.Component<Props> {
|
|
|
53
53
|
// TODO(LP-10797): This focus() call doesn't do anything because our
|
|
54
54
|
// root element is a <div> and that cannot be focused without a
|
|
55
55
|
// tabIndex.
|
|
56
|
-
// @ts-expect-error
|
|
56
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
|
|
57
57
|
ReactDOM.findDOMNode(this).focus();
|
|
58
58
|
return true;
|
|
59
59
|
};
|