@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as KAS from "@khanacademy/kas";
|
|
2
|
-
import {KeypadInput, KeypadType
|
|
2
|
+
import {KeypadInput, KeypadType} from "@khanacademy/math-input";
|
|
3
3
|
import {linterContextDefault} from "@khanacademy/perseus-linter";
|
|
4
4
|
import * as i18n from "@khanacademy/wonder-blocks-i18n";
|
|
5
5
|
import classNames from "classnames";
|
|
@@ -24,6 +24,7 @@ import type {
|
|
|
24
24
|
PerseusExpressionAnswerForm,
|
|
25
25
|
} from "../perseus-types";
|
|
26
26
|
import type {PerseusScore, WidgetExports, WidgetProps} from "../types";
|
|
27
|
+
import type {Keys as Key} from "@khanacademy/math-input";
|
|
27
28
|
|
|
28
29
|
const sendExpressionEvaluatedEvent = (
|
|
29
30
|
result: "correct" | "incorrect" | "invalid",
|
|
@@ -126,7 +127,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
|
|
|
126
127
|
static validate(
|
|
127
128
|
userInput: string,
|
|
128
129
|
rubric: Rubric,
|
|
129
|
-
// @ts-expect-error
|
|
130
|
+
// @ts-expect-error - TS2322 - Type '() => void' is not assignable to type 'OnInputErrorFunctionType'.
|
|
130
131
|
onInputError: OnInputErrorFunctionType = function () {},
|
|
131
132
|
): PerseusScore {
|
|
132
133
|
const options = _.clone(rubric);
|
|
@@ -329,7 +330,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
|
|
|
329
330
|
) {
|
|
330
331
|
// TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
|
|
331
332
|
// eslint-disable-next-line no-restricted-syntax
|
|
332
|
-
// @ts-expect-error
|
|
333
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
333
334
|
clearTimeout(this.errorTimeout);
|
|
334
335
|
|
|
335
336
|
if (this.parse(this.props.value, this.props).parsed) {
|
|
@@ -339,7 +340,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
|
|
|
339
340
|
// Store timeout ID so that we can clear it above
|
|
340
341
|
// TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
|
|
341
342
|
// eslint-disable-next-line no-restricted-syntax
|
|
342
|
-
// @ts-expect-error
|
|
343
|
+
// @ts-expect-error - TS2322 - Type 'Timeout' is not assignable to type 'number'.
|
|
343
344
|
this.errorTimeout = setTimeout(() => {
|
|
344
345
|
const apiResult = this.props.apiOptions.onInputError(
|
|
345
346
|
null, // reserved for some widget identifier
|
|
@@ -357,7 +358,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
|
|
|
357
358
|
componentWillUnmount: () => void = () => {
|
|
358
359
|
// TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
|
|
359
360
|
// eslint-disable-next-line no-restricted-syntax
|
|
360
|
-
// @ts-expect-error
|
|
361
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
361
362
|
clearTimeout(this.errorTimeout);
|
|
362
363
|
|
|
363
364
|
this._isMounted = false;
|
|
@@ -413,7 +414,7 @@ export class Expression extends React.Component<Props, ExpressionState> {
|
|
|
413
414
|
focus: () => boolean = () => {
|
|
414
415
|
if (this.props.apiOptions.customKeypad) {
|
|
415
416
|
// eslint-disable-next-line react/no-string-refs
|
|
416
|
-
// @ts-expect-error
|
|
417
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
|
|
417
418
|
this.refs.input.focus();
|
|
418
419
|
} else {
|
|
419
420
|
// The buttons are often on top of text you're trying to read, so
|
|
@@ -425,20 +426,20 @@ export class Expression extends React.Component<Props, ExpressionState> {
|
|
|
425
426
|
|
|
426
427
|
focusInputPath: (inputPath: InputPath) => void = (inputPath: InputPath) => {
|
|
427
428
|
// eslint-disable-next-line react/no-string-refs
|
|
428
|
-
// @ts-expect-error
|
|
429
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
|
|
429
430
|
this.refs.input.focus();
|
|
430
431
|
};
|
|
431
432
|
|
|
432
433
|
blurInputPath: (inputPath: InputPath) => void = (inputPath: InputPath) => {
|
|
433
434
|
// eslint-disable-next-line react/no-string-refs
|
|
434
|
-
// @ts-expect-error
|
|
435
|
+
// @ts-expect-error - TS2339 - Property 'blur' does not exist on type 'ReactInstance'.
|
|
435
436
|
this.refs.input.blur();
|
|
436
437
|
};
|
|
437
438
|
|
|
438
439
|
// HACK(joel)
|
|
439
440
|
insert(keyPressed: Key) {
|
|
440
441
|
// eslint-disable-next-line react/no-string-refs
|
|
441
|
-
// @ts-expect-error
|
|
442
|
+
// @ts-expect-error - TS2339 - Property 'insert' does not exist on type 'ReactInstance'.
|
|
442
443
|
this.refs.input.insert(keyPressed);
|
|
443
444
|
}
|
|
444
445
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
1
2
|
import {linterContextDefault} from "@khanacademy/perseus-linter";
|
|
2
3
|
import Color from "@khanacademy/wonder-blocks-color";
|
|
3
4
|
import * as i18n from "@khanacademy/wonder-blocks-i18n";
|
|
@@ -86,7 +87,7 @@ type State = {
|
|
|
86
87
|
// TODO(jared): find a better name for this :) and for GradedGroup; the names
|
|
87
88
|
// are currently a little confusing.
|
|
88
89
|
class GradedGroupSet extends React.Component<Props, State> {
|
|
89
|
-
// @ts-expect-error
|
|
90
|
+
// @ts-expect-error - TS2564 - Property '_childGroup' has no initializer and is not definitely assigned in the constructor.
|
|
90
91
|
_childGroup: GradedGroup;
|
|
91
92
|
|
|
92
93
|
static defaultProps: DefaultProps = {
|
|
@@ -104,7 +105,7 @@ class GradedGroupSet extends React.Component<Props, State> {
|
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
|
|
107
|
-
// @ts-expect-error
|
|
108
|
+
// @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
|
|
108
109
|
return Changeable.change.apply(this, args);
|
|
109
110
|
};
|
|
110
111
|
|
|
@@ -156,7 +157,7 @@ class GradedGroupSet extends React.Component<Props, State> {
|
|
|
156
157
|
return (
|
|
157
158
|
// TODO(jeremy): Don't spread this.props, instead
|
|
158
159
|
// pass in all props GradedGroup needs explicilty
|
|
159
|
-
// @ts-expect-error
|
|
160
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
160
161
|
<GradedGroup
|
|
161
162
|
key={i}
|
|
162
163
|
{...this.props}
|
|
@@ -199,10 +200,10 @@ class GradedGroupSet extends React.Component<Props, State> {
|
|
|
199
200
|
</div>
|
|
200
201
|
{/* TODO(jeremy): Don't spread this.props, instead
|
|
201
202
|
pass in all props GradedGroup needs explicitly */}
|
|
202
|
-
{/* @ts-expect-error
|
|
203
|
+
{/* @ts-expect-error - TS2769 - No overload matches this call. */}
|
|
203
204
|
<GradedGroup
|
|
204
205
|
key={this.state.currentGroup}
|
|
205
|
-
// @ts-expect-error
|
|
206
|
+
// @ts-expect-error - TS2322 - Type 'GradedGroup | null' is not assignable to type 'GradedGroup'.
|
|
206
207
|
// Type 'null' is not assignable to type 'GradedGroup'.
|
|
207
208
|
ref={(comp) => (this._childGroup = comp)}
|
|
208
209
|
// We should pass in the set of props explicitly
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
1
2
|
import {linterContextDefault} from "@khanacademy/perseus-linter";
|
|
2
3
|
import Button from "@khanacademy/wonder-blocks-button";
|
|
3
4
|
import Color from "@khanacademy/wonder-blocks-color";
|
|
@@ -21,12 +22,11 @@ import {
|
|
|
21
22
|
} from "../styles/constants";
|
|
22
23
|
import a11y from "../util/a11y";
|
|
23
24
|
|
|
24
|
-
import GradedGroupAnswerBar
|
|
25
|
-
ANSWER_BAR_STATES,
|
|
26
|
-
} from "./graded-group-answer-bar";
|
|
25
|
+
import GradedGroupAnswerBar from "./graded-group-answer-bar";
|
|
27
26
|
|
|
28
27
|
import type {PerseusGradedGroupWidgetOptions} from "../perseus-types";
|
|
29
28
|
import type {PerseusScore, WidgetExports, WidgetProps} from "../types";
|
|
29
|
+
import type {ANSWER_BAR_STATES} from "./graded-group-answer-bar";
|
|
30
30
|
|
|
31
31
|
const GRADING_STATUSES = {
|
|
32
32
|
ungraded: "ungraded" as const,
|
|
@@ -113,7 +113,7 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
|
|
116
|
-
// @ts-expect-error
|
|
116
|
+
// @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
|
|
117
117
|
return Changeable.change.apply(this, args);
|
|
118
118
|
};
|
|
119
119
|
|
|
@@ -133,7 +133,7 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
133
133
|
if (this.refs.renderer) {
|
|
134
134
|
this.change("widgets", this.props.widgets);
|
|
135
135
|
// eslint-disable-next-line react/no-string-refs
|
|
136
|
-
// @ts-expect-error
|
|
136
|
+
// @ts-expect-error - TS2339 - Property 'emptyWidgets' does not exist on type 'ReactInstance'.
|
|
137
137
|
const emptyWidgets = this.refs.renderer.emptyWidgets();
|
|
138
138
|
const answerable = emptyWidgets.length === 0;
|
|
139
139
|
const answerBarState = this.state.answerBarState;
|
|
@@ -145,10 +145,10 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
145
145
|
|
|
146
146
|
_checkAnswer: () => void = () => {
|
|
147
147
|
// eslint-disable-next-line react/no-string-refs
|
|
148
|
-
// @ts-expect-error
|
|
148
|
+
// @ts-expect-error - TS2339 - Property 'showRationalesForCurrentlySelectedChoices' does not exist on type 'ReactInstance'.
|
|
149
149
|
this.refs.renderer.showRationalesForCurrentlySelectedChoices();
|
|
150
150
|
// eslint-disable-next-line react/no-string-refs
|
|
151
|
-
// @ts-expect-error
|
|
151
|
+
// @ts-expect-error - TS2339 - Property 'score' does not exist on type 'ReactInstance'.
|
|
152
152
|
const score: PerseusScore = this.refs.renderer.score();
|
|
153
153
|
|
|
154
154
|
const status =
|
|
@@ -179,7 +179,7 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
179
179
|
// Mobile API
|
|
180
180
|
getInputPaths: () => ReadonlyArray<ReadonlyArray<string>> = () => {
|
|
181
181
|
// eslint-disable-next-line react/no-string-refs
|
|
182
|
-
// @ts-expect-error
|
|
182
|
+
// @ts-expect-error - TS2339 - Property 'getInputPaths' does not exist on type 'ReactInstance'.
|
|
183
183
|
return this.refs.renderer.getInputPaths();
|
|
184
184
|
};
|
|
185
185
|
|
|
@@ -189,25 +189,25 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
189
189
|
cb,
|
|
190
190
|
) => {
|
|
191
191
|
// eslint-disable-next-line react/no-string-refs
|
|
192
|
-
// @ts-expect-error
|
|
192
|
+
// @ts-expect-error - TS2339 - Property 'setInputValue' does not exist on type 'ReactInstance'.
|
|
193
193
|
return this.refs.renderer.setInputValue(path, newValue, cb);
|
|
194
194
|
};
|
|
195
195
|
|
|
196
196
|
focus: () => boolean = () => {
|
|
197
197
|
// eslint-disable-next-line react/no-string-refs
|
|
198
|
-
// @ts-expect-error
|
|
198
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
|
|
199
199
|
return this.refs.renderer.focus();
|
|
200
200
|
};
|
|
201
201
|
|
|
202
202
|
focusInputPath: (arg1: any) => void = (path) => {
|
|
203
203
|
// eslint-disable-next-line react/no-string-refs
|
|
204
|
-
// @ts-expect-error
|
|
204
|
+
// @ts-expect-error - TS2339 - Property 'focusPath' does not exist on type 'ReactInstance'.
|
|
205
205
|
this.refs.renderer.focusPath(path);
|
|
206
206
|
};
|
|
207
207
|
|
|
208
208
|
blurInputPath: (arg1: any) => void = (path) => {
|
|
209
209
|
// eslint-disable-next-line react/no-string-refs
|
|
210
|
-
// @ts-expect-error
|
|
210
|
+
// @ts-expect-error - TS2339 - Property 'blurPath' does not exist on type 'ReactInstance'.
|
|
211
211
|
this.refs.renderer.blurPath(path);
|
|
212
212
|
};
|
|
213
213
|
|
|
@@ -235,15 +235,15 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
235
235
|
// Colors are 10% darker than the colors in graded-group.less
|
|
236
236
|
if (this.state.status === GRADING_STATUSES.correct) {
|
|
237
237
|
// TODO(jeremy): update to a WB colour
|
|
238
|
-
// @ts-expect-error
|
|
238
|
+
// @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
|
|
239
239
|
icon = <InlineIcon {...iconOk} style={{color: "#526f03"}} />;
|
|
240
|
-
// @ts-expect-error
|
|
240
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'null'.
|
|
241
241
|
gradeStatus = i18n._("Correct");
|
|
242
242
|
} else if (this.state.status === GRADING_STATUSES.incorrect) {
|
|
243
243
|
// TODO(jeremy): update to a WB colour
|
|
244
|
-
// @ts-expect-error
|
|
244
|
+
// @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
|
|
245
245
|
icon = <InlineIcon {...iconRemove} style={{color: "#ff5454"}} />;
|
|
246
|
-
// @ts-expect-error
|
|
246
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'null'.
|
|
247
247
|
gradeStatus = i18n._("Incorrect");
|
|
248
248
|
}
|
|
249
249
|
|
|
@@ -282,7 +282,7 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
282
282
|
* props that are needed.
|
|
283
283
|
* TODO(FEI-4034): Only pass what the Renderer expects.
|
|
284
284
|
*/}
|
|
285
|
-
{/* @ts-expect-error
|
|
285
|
+
{/* @ts-expect-error - TS2322 - Type '{ ref: string; apiOptions: any; onInteractWithWidget: (arg1: string) => void; linterContext: LinterContextProps; title: string; hasHint?: boolean | null | undefined; ... 22 more ...; children?: ReactNode; }' is not assignable to type 'Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "children" | "keypadElement" | "problemNum" | "apiOptions" | "legacyPerseusLint">'. */}
|
|
286
286
|
<Renderer
|
|
287
287
|
{...this.props}
|
|
288
288
|
// eslint-disable-next-line react/no-string-refs
|
|
@@ -336,7 +336,7 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
336
336
|
<div>
|
|
337
337
|
{/* Not using Button here bc the styles won't work. */}
|
|
338
338
|
<button
|
|
339
|
-
// @ts-expect-error
|
|
339
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
|
|
340
340
|
tabIndex="0"
|
|
341
341
|
className={css(styles.explanationTitle)}
|
|
342
342
|
onClick={() => this.setState({showHint: false})}
|
|
@@ -363,7 +363,7 @@ export class GradedGroup extends React.Component<Props, State> {
|
|
|
363
363
|
) : (
|
|
364
364
|
// Not using Button here bc the styles won't work.
|
|
365
365
|
<button
|
|
366
|
-
// @ts-expect-error
|
|
366
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
|
|
367
367
|
tabIndex="0"
|
|
368
368
|
onClick={() => this.setState({showHint: true})}
|
|
369
369
|
onKeyPress={(e) => {
|
|
@@ -10,7 +10,7 @@ import Util from "../../util";
|
|
|
10
10
|
import type {Coord} from "../../interactive2/types";
|
|
11
11
|
import type {PerseusScore} from "../../types";
|
|
12
12
|
|
|
13
|
-
// @ts-expect-error
|
|
13
|
+
// @ts-expect-error - TS2339 - Property 'Plot' does not exist on type 'typeof Graphie'.
|
|
14
14
|
const Plot = Graphie.Plot;
|
|
15
15
|
|
|
16
16
|
export const DEFAULT_BACKGROUND_IMAGE = {
|
|
@@ -98,7 +98,7 @@ const PlotDefaults = {
|
|
|
98
98
|
|
|
99
99
|
getPropsForCoeffs: function (coeffs) {
|
|
100
100
|
return {
|
|
101
|
-
// @ts-expect-error
|
|
101
|
+
// @ts-expect-error - TS2339 - Property 'getFunctionForCoeffs' does not exist on type '{ readonly areEqual: (coeffs1: any, coeffs2: any) => boolean; readonly Movable: any; readonly getPropsForCoeffs: (coeffs: any) => any; }'.
|
|
102
102
|
fn: _.partial(this.getFunctionForCoeffs, coeffs),
|
|
103
103
|
};
|
|
104
104
|
},
|
|
@@ -149,7 +149,7 @@ const Quadratic = _.extend({}, PlotDefaults, {
|
|
|
149
149
|
[0.5, 0.5],
|
|
150
150
|
[0.75, 0.75],
|
|
151
151
|
],
|
|
152
|
-
// @ts-expect-error
|
|
152
|
+
// @ts-expect-error - TS2339 - Property 'Parabola' does not exist on type 'typeof Graphie'.
|
|
153
153
|
Movable: Graphie.Parabola,
|
|
154
154
|
|
|
155
155
|
getCoefficients: function (coords) {
|
|
@@ -206,7 +206,7 @@ const Sinusoid = _.extend({}, PlotDefaults, {
|
|
|
206
206
|
[0.5, 0.5],
|
|
207
207
|
[0.6, 0.6],
|
|
208
208
|
],
|
|
209
|
-
// @ts-expect-error
|
|
209
|
+
// @ts-expect-error - TS2339 - Property 'Sinusoid' does not exist on type 'typeof Graphie'.
|
|
210
210
|
Movable: Graphie.Sinusoid,
|
|
211
211
|
|
|
212
212
|
getCoefficients: function (coords) {
|
|
@@ -664,7 +664,7 @@ export const pointsFromNormalized = (
|
|
|
664
664
|
return Math.floor((range[1] - range[0]) / step);
|
|
665
665
|
};
|
|
666
666
|
|
|
667
|
-
// @ts-expect-error
|
|
667
|
+
// @ts-expect-error - TS2322 - Type 'number[][]' is not assignable to type 'readonly Coord[]'.
|
|
668
668
|
return coordsList.map((coords) => {
|
|
669
669
|
const unsnappedPoint = coords.map((coord, i) => {
|
|
670
670
|
const currRange = range[i];
|
|
@@ -719,7 +719,7 @@ export const defaultPlotProps = (type: string, graph: any): any => {
|
|
|
719
719
|
// might get a free win.
|
|
720
720
|
const model = functionForType(type);
|
|
721
721
|
const gridStep = [1, 1];
|
|
722
|
-
// @ts-expect-error
|
|
722
|
+
// @ts-expect-error - TS2345 - Argument of type 'number[]' is not assignable to parameter of type '[number, number]'.
|
|
723
723
|
const snapStep = Util.snapStepFromGridStep(gridStep);
|
|
724
724
|
return {
|
|
725
725
|
type,
|
package/src/widgets/grapher.tsx
CHANGED
|
@@ -37,9 +37,9 @@ import type {PerseusGrapherWidgetOptions} from "../perseus-types";
|
|
|
37
37
|
import type {PerseusScore, WidgetExports, WidgetProps} from "../types";
|
|
38
38
|
import type {GridDimensions} from "../util";
|
|
39
39
|
|
|
40
|
-
// @ts-expect-error
|
|
40
|
+
// @ts-expect-error - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
|
|
41
41
|
const MovablePoint = Graphie.MovablePoint;
|
|
42
|
-
// @ts-expect-error
|
|
42
|
+
// @ts-expect-error - TS2339 - Property 'MovableLine' does not exist on type 'typeof Graphie'.
|
|
43
43
|
const MovableLine = Graphie.MovableLine;
|
|
44
44
|
|
|
45
45
|
function isFlipped(newCoord: Coord, oldCoord: Coord, line: Line) {
|
|
@@ -118,9 +118,9 @@ class FunctionGrapher extends React.Component<FunctionGrapherProps> {
|
|
|
118
118
|
coord={coord}
|
|
119
119
|
static={this.props.static}
|
|
120
120
|
constraints={[
|
|
121
|
-
// @ts-expect-error
|
|
121
|
+
// @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
|
|
122
122
|
Interactive2.MovablePoint.constraints.bound(),
|
|
123
|
-
// @ts-expect-error
|
|
123
|
+
// @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
|
|
124
124
|
Interactive2.MovablePoint.constraints.snap(),
|
|
125
125
|
(coord: any) => {
|
|
126
126
|
// Always enforce that this is a function
|
|
@@ -200,9 +200,9 @@ class FunctionGrapher extends React.Component<FunctionGrapherProps> {
|
|
|
200
200
|
let image = null;
|
|
201
201
|
if (imageDescription.url) {
|
|
202
202
|
const scale = box[0] / interactiveSizes.defaultBoxSize;
|
|
203
|
-
// @ts-expect-error
|
|
203
|
+
// @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
|
|
204
204
|
image = (
|
|
205
|
-
// @ts-expect-error
|
|
205
|
+
// @ts-expect-error - TS2741 - Property 'alt' is missing in type '{ src: any; width: any; height: any; scale: number; }' but required in type 'Pick<Readonly<Props> & Readonly<{ children?: ReactNode; }>, "children" | "height" | "width" | "title" | "alt" | "trackInteraction" | "preloader" | "allowFullBleed" | "extraGraphie" | "overrideAriaHidden">'.
|
|
206
206
|
<SvgImage
|
|
207
207
|
src={imageDescription.url}
|
|
208
208
|
width={imageDescription.width}
|
|
@@ -291,9 +291,9 @@ class FunctionGrapher extends React.Component<FunctionGrapherProps> {
|
|
|
291
291
|
});
|
|
292
292
|
}}
|
|
293
293
|
constraints={[
|
|
294
|
-
// @ts-expect-error
|
|
294
|
+
// @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
|
|
295
295
|
Interactive2.MovableLine.constraints.bound(),
|
|
296
|
-
// @ts-expect-error
|
|
296
|
+
// @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
|
|
297
297
|
Interactive2.MovableLine.constraints.snap(),
|
|
298
298
|
(newCoord, oldCoord: any) => {
|
|
299
299
|
// Calculate and apply proposed displacement
|
|
@@ -429,7 +429,7 @@ class Grapher extends React.Component<Props> {
|
|
|
429
429
|
|
|
430
430
|
return (
|
|
431
431
|
<div>
|
|
432
|
-
{/* @ts-expect-error
|
|
432
|
+
{/* @ts-expect-error - TS2769 - No overload matches this call. */}
|
|
433
433
|
<FunctionGrapher {...grapherProps} />
|
|
434
434
|
{this.props.availableTypes.length > 1 && typeSelector}
|
|
435
435
|
</div>
|
|
@@ -638,7 +638,7 @@ const propTransform: (arg1: PerseusGrapherWidgetOptions) => RenderProps = (
|
|
|
638
638
|
if (widgetProps.availableTypes.length === 1) {
|
|
639
639
|
const graph = widgetProps.graph;
|
|
640
640
|
const type = chooseType(widgetProps.availableTypes);
|
|
641
|
-
// @ts-expect-error
|
|
641
|
+
// @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
|
|
642
642
|
widgetProps.plot = defaultPlotProps(type, graph);
|
|
643
643
|
}
|
|
644
644
|
|
package/src/widgets/group.tsx
CHANGED
|
@@ -127,7 +127,7 @@ class Group extends React.Component<Props> {
|
|
|
127
127
|
// really we should have a more unidirectional flow. TODO(marcia): fix.
|
|
128
128
|
const groupWidgets: ReadonlyArray<Widget> =
|
|
129
129
|
this.props.findWidgets("group");
|
|
130
|
-
// @ts-expect-error
|
|
130
|
+
// @ts-expect-error - TS2345 - Argument of type 'this' is not assignable to parameter of type 'Widget'.
|
|
131
131
|
const number: number = groupWidgets.indexOf(this);
|
|
132
132
|
const problemNumComponent = this.props.apiOptions.groupAnnotator(
|
|
133
133
|
number,
|
|
@@ -171,9 +171,9 @@ class Group extends React.Component<Props> {
|
|
|
171
171
|
onInteractWithWidget={onInteractWithWidget}
|
|
172
172
|
linterContext={this.props.linterContext}
|
|
173
173
|
/>
|
|
174
|
-
{/* @ts-expect-error
|
|
174
|
+
{/* @ts-expect-error - TS2339 - Property 'icon' does not exist on type 'Readonly<Props> & Readonly<{ children?: ReactNode; }>'. */}
|
|
175
175
|
{this.props.icon && (
|
|
176
|
-
// @ts-expect-error
|
|
176
|
+
// @ts-expect-error - TS2339 - Property 'icon' does not exist on type 'Readonly<Props> & Readonly<{ children?: ReactNode; }>'.
|
|
177
177
|
<div className="group-icon">{this.props.icon}</div>
|
|
178
178
|
)}
|
|
179
179
|
</div>
|
package/src/widgets/iframe.tsx
CHANGED
|
@@ -146,12 +146,12 @@ class Iframe extends React.Component<any> {
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
|
|
149
|
-
// @ts-expect-error
|
|
149
|
+
// @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
|
|
150
150
|
return Changeable.change.apply(this, args);
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
simpleValidate: (arg1: any) => any = (rubric) => {
|
|
154
|
-
// @ts-expect-error
|
|
154
|
+
// @ts-expect-error - TS2339 - Property 'validate' does not exist on type 'typeof Iframe'.
|
|
155
155
|
return Iframe.validate(this.getUserInput(), rubric);
|
|
156
156
|
};
|
|
157
157
|
}
|
package/src/widgets/image.tsx
CHANGED
|
@@ -204,7 +204,7 @@ class ImageWidget extends React.Component<Props> {
|
|
|
204
204
|
<div
|
|
205
205
|
className={css(styles.caption)}
|
|
206
206
|
style={{
|
|
207
|
-
// @ts-expect-error
|
|
207
|
+
// @ts-expect-error - TS2322 - Type 'string | null' is not assignable to type 'MinWidth<string | number> | undefined'.
|
|
208
208
|
minWidth: minWidth,
|
|
209
209
|
}}
|
|
210
210
|
>
|
|
@@ -217,20 +217,20 @@ class InputNumber extends React.Component<Props> {
|
|
|
217
217
|
|
|
218
218
|
focus: () => boolean = () => {
|
|
219
219
|
// eslint-disable-next-line react/no-string-refs
|
|
220
|
-
// @ts-expect-error
|
|
220
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
|
|
221
221
|
this.refs.input.focus();
|
|
222
222
|
return true;
|
|
223
223
|
};
|
|
224
224
|
|
|
225
225
|
focusInputPath: (arg1: Path) => void = (inputPath) => {
|
|
226
226
|
// eslint-disable-next-line react/no-string-refs
|
|
227
|
-
// @ts-expect-error
|
|
227
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
|
|
228
228
|
this.refs.input.focus();
|
|
229
229
|
};
|
|
230
230
|
|
|
231
231
|
blurInputPath: (arg1: Path) => void = (inputPath) => {
|
|
232
232
|
// eslint-disable-next-line react/no-string-refs
|
|
233
|
-
// @ts-expect-error
|
|
233
|
+
// @ts-expect-error - TS2339 - Property 'blur' does not exist on type 'ReactInstance'.
|
|
234
234
|
this.refs.input.blur();
|
|
235
235
|
};
|
|
236
236
|
|
|
@@ -281,7 +281,7 @@ class InputNumber extends React.Component<Props> {
|
|
|
281
281
|
forms,
|
|
282
282
|
function (form) {
|
|
283
283
|
// eslint-disable-next-line @babel/no-invalid-this
|
|
284
|
-
// @ts-expect-error
|
|
284
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
285
285
|
// eslint-disable-next-line @babel/no-invalid-this
|
|
286
286
|
return formExamples[form](this.props);
|
|
287
287
|
},
|