@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
|
@@ -15,14 +15,14 @@ const deepEq = Util.deepEq;
|
|
|
15
15
|
* GraphieMovables
|
|
16
16
|
*/
|
|
17
17
|
function GraphieMovable(descriptor: any) {
|
|
18
|
-
// @ts-expect-error
|
|
18
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
19
19
|
_.extend(this, descriptor);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
const abstractMethod = function () {
|
|
23
23
|
throw new PerseusError(
|
|
24
24
|
"Abstract method! Must be implemented by Graphie Movable" +
|
|
25
|
-
// @ts-expect-error
|
|
25
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
26
26
|
this.constructor.displayName,
|
|
27
27
|
Errors.NotAllowed,
|
|
28
28
|
);
|
|
@@ -64,16 +64,16 @@ const rewriteProps = function (props: any, childrenArray: any) {
|
|
|
64
64
|
*/
|
|
65
65
|
const createClass = function (spec: any): any {
|
|
66
66
|
const GraphieClass = function (props: any) {
|
|
67
|
-
// @ts-expect-error
|
|
67
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
68
68
|
if (!(this instanceof GraphieClass)) {
|
|
69
69
|
throw new PerseusError(
|
|
70
70
|
"Use createElement or JSX with graphie movables",
|
|
71
71
|
Errors.NotAllowed,
|
|
72
72
|
);
|
|
73
73
|
}
|
|
74
|
-
// @ts-expect-error
|
|
74
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
75
75
|
this.props = rewriteProps(props, props.children || []);
|
|
76
|
-
// @ts-expect-error
|
|
76
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
77
77
|
return this;
|
|
78
78
|
};
|
|
79
79
|
|
|
@@ -125,7 +125,7 @@ const createSimpleClass = function (addFunction: any): any {
|
|
|
125
125
|
},
|
|
126
126
|
|
|
127
127
|
remove: function () {
|
|
128
|
-
// @ts-expect-error
|
|
128
|
+
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
|
|
129
129
|
nestedMap(this._elements, (elem) => {
|
|
130
130
|
if (elem) {
|
|
131
131
|
elem.remove();
|
|
@@ -136,7 +136,7 @@ const createSimpleClass = function (addFunction: any): any {
|
|
|
136
136
|
},
|
|
137
137
|
|
|
138
138
|
toFront: function () {
|
|
139
|
-
// @ts-expect-error
|
|
139
|
+
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
|
|
140
140
|
nestedMap(this._elements, (elem) => {
|
|
141
141
|
if (_.isFunction(elem.toFront)) {
|
|
142
142
|
elem.toFront();
|
|
@@ -120,7 +120,7 @@ class Graphie extends React.Component<Props> {
|
|
|
120
120
|
* Use it for good and not evil.
|
|
121
121
|
*/
|
|
122
122
|
getGraphie: () => any = () => {
|
|
123
|
-
// @ts-expect-error
|
|
123
|
+
// @ts-expect-error - TS2339 - Property '_graphie' does not exist on type 'Graphie'.
|
|
124
124
|
return this._graphie;
|
|
125
125
|
};
|
|
126
126
|
|
|
@@ -164,9 +164,9 @@ class Graphie extends React.Component<Props> {
|
|
|
164
164
|
this._removeMovables();
|
|
165
165
|
|
|
166
166
|
const graphieDiv = ReactDOM.findDOMNode(this.graphieDivRef.current);
|
|
167
|
-
// @ts-expect-error
|
|
167
|
+
// @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'empty' does not exist on type 'JQueryStatic'.
|
|
168
168
|
$(graphieDiv).empty();
|
|
169
|
-
// @ts-expect-error
|
|
169
|
+
// @ts-expect-error - TS2339 - Property '_graphie' does not exist on type 'Graphie'.
|
|
170
170
|
const graphie = (this._graphie = createGraphie(graphieDiv));
|
|
171
171
|
|
|
172
172
|
// This has to be called before addMouseLayer. You can re-init
|
|
@@ -193,7 +193,7 @@ class Graphie extends React.Component<Props> {
|
|
|
193
193
|
// Overwrite fixed styles set in init()
|
|
194
194
|
// TODO(alex): Either make this component always responsive by
|
|
195
195
|
// itself, or always wrap it in other components so that it is.
|
|
196
|
-
// @ts-expect-error
|
|
196
|
+
// @ts-expect-error - TS2769 - No overload matches this call. | TS2554 - Expected 2 arguments, but got 1.
|
|
197
197
|
$(graphieDiv).css({width: "100%", height: "100%"});
|
|
198
198
|
graphie.raphael.setSize("100%", "100%");
|
|
199
199
|
}
|
|
@@ -212,13 +212,13 @@ class Graphie extends React.Component<Props> {
|
|
|
212
212
|
|
|
213
213
|
_removeMovables: () => void = () => {
|
|
214
214
|
// _.invoke works even when this._movables is undefined
|
|
215
|
-
// @ts-expect-error
|
|
215
|
+
// @ts-expect-error - TS2339 - Property '_movables' does not exist on type 'Graphie'.
|
|
216
216
|
_.invoke(this._movables, "remove");
|
|
217
|
-
// @ts-expect-error
|
|
217
|
+
// @ts-expect-error - TS2339 - Property '_movables' does not exist on type 'Graphie'.
|
|
218
218
|
this._movables = {};
|
|
219
219
|
};
|
|
220
220
|
|
|
221
|
-
// @ts-expect-error
|
|
221
|
+
// @ts-expect-error - TS2322 - Type '(children: readonly any[], options: any) => ReactElement<any, string | JSXElementConstructor<any>> | readonly ReactElement<any, string | JSXElementConstructor<any>>[]' is not assignable to type '(children: readonly any[], arg2: any) => ReactElement<any, string | JSXElementConstructor<any>>'.
|
|
222
222
|
_renderMovables: (
|
|
223
223
|
children: ReadonlyArray<any>,
|
|
224
224
|
arg2: any,
|
|
@@ -260,7 +260,7 @@ class Graphie extends React.Component<Props> {
|
|
|
260
260
|
// elements occurring afterwards. If this happens, we set
|
|
261
261
|
// `areMovablesOutOfOrder` to true:
|
|
262
262
|
let areMovablesOutOfOrder = false;
|
|
263
|
-
// @ts-expect-error
|
|
263
|
+
// @ts-expect-error - TS2554 - Expected 3 arguments, but got 2.
|
|
264
264
|
return nestedMap(children, (childDescriptor) => {
|
|
265
265
|
if (!childDescriptor) {
|
|
266
266
|
// Still increment the key to avoid cascading key changes
|
|
@@ -333,7 +333,7 @@ class Graphie extends React.Component<Props> {
|
|
|
333
333
|
}
|
|
334
334
|
|
|
335
335
|
if (ref) {
|
|
336
|
-
// @ts-expect-error
|
|
336
|
+
// @ts-expect-error - TS2339 - Property 'movables' does not exist on type 'Graphie'.
|
|
337
337
|
this.movables[ref] = newMovables[key];
|
|
338
338
|
}
|
|
339
339
|
|
|
@@ -343,18 +343,18 @@ class Graphie extends React.Component<Props> {
|
|
|
343
343
|
|
|
344
344
|
// Sort of like react diffing, but for movables
|
|
345
345
|
_updateMovables: () => void = () => {
|
|
346
|
-
// @ts-expect-error
|
|
346
|
+
// @ts-expect-error - TS2339 - Property '_graphie' does not exist on type 'Graphie'.
|
|
347
347
|
const graphie = this._graphie;
|
|
348
348
|
|
|
349
|
-
// @ts-expect-error
|
|
349
|
+
// @ts-expect-error - TS2339 - Property '_movables' does not exist on type 'Graphie'.
|
|
350
350
|
const oldMovables = this._movables;
|
|
351
351
|
const newMovables: Record<string, any> = {};
|
|
352
|
-
// @ts-expect-error
|
|
352
|
+
// @ts-expect-error - TS2339 - Property '_movables' does not exist on type 'Graphie'.
|
|
353
353
|
this._movables = newMovables;
|
|
354
|
-
// @ts-expect-error
|
|
354
|
+
// @ts-expect-error - TS2339 - Property 'movables' does not exist on type 'Graphie'.
|
|
355
355
|
this.movables = {};
|
|
356
356
|
|
|
357
|
-
// @ts-expect-error
|
|
357
|
+
// @ts-expect-error - TS2345 - Argument of type 'ReactNode' is not assignable to parameter of type 'readonly any[]'.
|
|
358
358
|
this._renderMovables(this.props.children, {
|
|
359
359
|
nextKey: 1,
|
|
360
360
|
graphie: graphie,
|
|
@@ -131,7 +131,7 @@ class HighlightableContent extends React.PureComponent<Props, State> {
|
|
|
131
131
|
) => {
|
|
132
132
|
const {serializedHighlights} = this.props;
|
|
133
133
|
const newSerializedHighlights = {...serializedHighlights} as const;
|
|
134
|
-
// @ts-expect-error
|
|
134
|
+
// @ts-expect-error - TS2542 - Index signature in type '{ readonly [x: string]: SerializedHighlight; }' only permits reading.
|
|
135
135
|
delete newSerializedHighlights[keyToRemove];
|
|
136
136
|
this.props.onSerializedHighlightsUpdate(newSerializedHighlights);
|
|
137
137
|
};
|
|
@@ -53,7 +53,7 @@ type State = {
|
|
|
53
53
|
class HighlightRenderer extends React.PureComponent<Props, State> {
|
|
54
54
|
state: State = {
|
|
55
55
|
cachedHighlightRects: this._computeRects(this.props),
|
|
56
|
-
// @ts-expect-error
|
|
56
|
+
// @ts-expect-error - TS2322 - Type '{ cachedHighlightRects: readonly Rect[]; tooltipIsHovered: boolean; }' is not assignable to type 'HighlightRendererState'.
|
|
57
57
|
tooltipIsHovered: false,
|
|
58
58
|
};
|
|
59
59
|
|
|
@@ -117,7 +117,7 @@ function addClientRectsForText(
|
|
|
117
117
|
mutableRects: Array<Rect>,
|
|
118
118
|
): void {
|
|
119
119
|
const parentElement = textNode.parentElement;
|
|
120
|
-
// @ts-expect-error
|
|
120
|
+
// @ts-expect-error - TS2345 - Argument of type 'HTMLElement | null' is not assignable to parameter of type 'Element'.
|
|
121
121
|
const computedStyle = window.getComputedStyle(parentElement);
|
|
122
122
|
|
|
123
123
|
// NOTE(mdr): I'm not sure how computed line height works in all contexts
|
|
@@ -134,7 +134,7 @@ function addClientRectsForText(
|
|
|
134
134
|
) {
|
|
135
135
|
const parsedLineHeight = parseFloat(computedStyle.lineHeight);
|
|
136
136
|
if (!isNaN(parsedLineHeight)) {
|
|
137
|
-
// @ts-expect-error
|
|
137
|
+
// @ts-expect-error - TS2322 - Type 'number' is not assignable to type 'null'.
|
|
138
138
|
lineHeight = parsedLineHeight;
|
|
139
139
|
}
|
|
140
140
|
}
|
|
@@ -60,7 +60,7 @@ class WordIndexer extends React.PureComponent<Props> {
|
|
|
60
60
|
container,
|
|
61
61
|
NodeFilter.SHOW_TEXT | NodeFilter.SHOW_ELEMENT,
|
|
62
62
|
() => NodeFilter.FILTER_ACCEPT,
|
|
63
|
-
// @ts-expect-error
|
|
63
|
+
// @ts-expect-error - TS2554 - Expected 1-3 arguments, but got 4.
|
|
64
64
|
false,
|
|
65
65
|
);
|
|
66
66
|
|
|
@@ -101,7 +101,7 @@ class WordIndexer extends React.PureComponent<Props> {
|
|
|
101
101
|
const wordPattern = /\S+/g;
|
|
102
102
|
let wordMatch;
|
|
103
103
|
let newTrailingWordRange = null;
|
|
104
|
-
// @ts-expect-error
|
|
104
|
+
// @ts-expect-error - TS2345 - Argument of type 'string | null' is not assignable to parameter of type 'string'.
|
|
105
105
|
while ((wordMatch = wordPattern.exec(text)) !== null) {
|
|
106
106
|
const startOffset = wordMatch.index;
|
|
107
107
|
const endOffset = wordMatch.index + wordMatch[0].length;
|
|
@@ -121,14 +121,14 @@ class WordIndexer extends React.PureComponent<Props> {
|
|
|
121
121
|
} else {
|
|
122
122
|
// Otherwise, start a new word range here, and add it
|
|
123
123
|
// to the list.
|
|
124
|
-
// @ts-expect-error
|
|
124
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'.
|
|
125
125
|
range = node.ownerDocument.createRange();
|
|
126
126
|
range.setStart(node, startOffset);
|
|
127
127
|
range.setEnd(node, endOffset);
|
|
128
128
|
index.push(range);
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
// @ts-expect-error
|
|
131
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'.
|
|
132
132
|
if (endOffset === text.length) {
|
|
133
133
|
newTrailingWordRange = range;
|
|
134
134
|
}
|
package/src/components/icon.tsx
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
1
2
|
/**
|
|
2
3
|
* SVG Icon React Component
|
|
3
4
|
*
|
|
@@ -124,7 +125,7 @@ class Icon extends React.Component<Props> {
|
|
|
124
125
|
aria-hidden={title ? null : true}
|
|
125
126
|
className={className}
|
|
126
127
|
style={style}
|
|
127
|
-
// @ts-expect-error
|
|
128
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type '"auto" | Booleanish | undefined'.
|
|
128
129
|
focusable={focusable.toString()}
|
|
129
130
|
width={width + units}
|
|
130
131
|
height={height + units}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
1
2
|
/* eslint-disable jsx-a11y/alt-text, react/no-unsafe */
|
|
2
3
|
// TODO(scottgrant): Enable the alt-text eslint rule above.
|
|
3
4
|
/**
|
|
@@ -124,14 +125,14 @@ class ImageLoader extends React.Component<Props, State> {
|
|
|
124
125
|
let onKeyUp = null;
|
|
125
126
|
let onKeyDown = null;
|
|
126
127
|
if (imgProps.onClick != null) {
|
|
127
|
-
// @ts-expect-error
|
|
128
|
+
// @ts-expect-error - TS2322 - Type '(e: React.KeyboardEvent) => void' is not assignable to type 'null'.
|
|
128
129
|
onKeyUp = (e: React.KeyboardEvent) => {
|
|
129
130
|
// 13 is enter key, 32 is space key
|
|
130
131
|
if (e.keyCode === 13 || e.keyCode === 32) {
|
|
131
132
|
imgProps.onClick && imgProps.onClick(e);
|
|
132
133
|
}
|
|
133
134
|
};
|
|
134
|
-
// @ts-expect-error
|
|
135
|
+
// @ts-expect-error - TS2322 - Type '(e: React.KeyboardEvent) => void' is not assignable to type 'null'.
|
|
135
136
|
onKeyDown = (e: React.KeyboardEvent) => {
|
|
136
137
|
// 32 is space key
|
|
137
138
|
if (e.keyCode === 32) {
|
|
@@ -145,9 +146,9 @@ class ImageLoader extends React.Component<Props, State> {
|
|
|
145
146
|
return (
|
|
146
147
|
<img
|
|
147
148
|
src={staticUrl(src)}
|
|
148
|
-
// @ts-expect-error
|
|
149
|
+
// @ts-expect-error - TS2322 - Type 'null' is not assignable to type 'KeyboardEventHandler<HTMLImageElement> | undefined'.
|
|
149
150
|
onKeyUp={onKeyUp}
|
|
150
|
-
// @ts-expect-error
|
|
151
|
+
// @ts-expect-error - TS2322 - Type 'null' is not assignable to type 'KeyboardEventHandler<HTMLImageElement> | undefined'.
|
|
151
152
|
onKeyDown={onKeyDown}
|
|
152
153
|
{...imgProps}
|
|
153
154
|
/>
|
|
@@ -231,13 +231,13 @@ class InputWithExamples extends React.Component<Props, State> {
|
|
|
231
231
|
|
|
232
232
|
focus: () => void = () => {
|
|
233
233
|
// eslint-disable-next-line react/no-string-refs
|
|
234
|
-
// @ts-expect-error
|
|
234
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
|
|
235
235
|
this.refs.input.focus();
|
|
236
236
|
};
|
|
237
237
|
|
|
238
238
|
blur: () => void = () => {
|
|
239
239
|
// eslint-disable-next-line react/no-string-refs
|
|
240
|
-
// @ts-expect-error
|
|
240
|
+
// @ts-expect-error - TS2339 - Property 'blur' does not exist on type 'ReactInstance'.
|
|
241
241
|
this.refs.input.blur();
|
|
242
242
|
};
|
|
243
243
|
|
package/src/components/lint.tsx
CHANGED
|
@@ -88,7 +88,7 @@ class Lint extends React.Component<Props, State> {
|
|
|
88
88
|
// borrow a timeout approach from learnstorm-dashboard.jsx and set our
|
|
89
89
|
// state once the component has mounted and we can get what we need.
|
|
90
90
|
getPosition: () => void = () => {
|
|
91
|
-
// @ts-expect-error
|
|
91
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'getBoundingClientRect' does not exist on type 'Element | Text'.
|
|
92
92
|
const rect = ReactDOM.findDOMNode(this).getBoundingClientRect();
|
|
93
93
|
// TODO(scottgrant): This is a magic number! We don't know the size
|
|
94
94
|
// of the tooltip at this point, so we're arbitrarily choosing a
|
|
@@ -2,7 +2,6 @@ import {
|
|
|
2
2
|
keyTranslator,
|
|
3
3
|
createMathField,
|
|
4
4
|
mathQuillInstance,
|
|
5
|
-
MathFieldInterface,
|
|
6
5
|
} from "@khanacademy/math-input";
|
|
7
6
|
import classNames from "classnames";
|
|
8
7
|
import $ from "jquery";
|
|
@@ -13,6 +12,7 @@ import _ from "underscore";
|
|
|
13
12
|
import TexButtons from "./tex-buttons";
|
|
14
13
|
|
|
15
14
|
import type {ButtonSetsType} from "./tex-buttons";
|
|
15
|
+
import type {MathFieldInterface} from "@khanacademy/math-input";
|
|
16
16
|
|
|
17
17
|
type ButtonsVisibleType = "always" | "never" | "focused";
|
|
18
18
|
|
|
@@ -54,7 +54,7 @@ const customKeyTranslator = {
|
|
|
54
54
|
|
|
55
55
|
// A WYSIWYG math input that calls `onChange(LaTeX-string)`
|
|
56
56
|
class MathInput extends React.Component<Props, State> {
|
|
57
|
-
// @ts-expect-error
|
|
57
|
+
// @ts-expect-error - TS2564 - Property 'mouseDown' has no initializer and is not definitely assigned in the constructor.
|
|
58
58
|
mouseDown: boolean;
|
|
59
59
|
__mathFieldWrapperRef: HTMLSpanElement | null = null;
|
|
60
60
|
__mathField: MathFieldInterface | null = null;
|
|
@@ -97,7 +97,7 @@ class MathInput extends React.Component<Props, State> {
|
|
|
97
97
|
};
|
|
98
98
|
|
|
99
99
|
handleMouseDown: (arg1: MouseEvent) => void = (event) => {
|
|
100
|
-
// @ts-expect-error
|
|
100
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2345 - Argument of type 'EventTarget | null' is not assignable to parameter of type 'Node | null'.
|
|
101
101
|
const focused = ReactDOM.findDOMNode(this).contains(event.target);
|
|
102
102
|
this.mouseDown = focused;
|
|
103
103
|
if (!focused) {
|
|
@@ -121,7 +121,7 @@ class MathInput extends React.Component<Props, State> {
|
|
|
121
121
|
// close (blur) the button group in order to focus on next page element.
|
|
122
122
|
if (
|
|
123
123
|
!this.mouseDown &&
|
|
124
|
-
// @ts-expect-error
|
|
124
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'.
|
|
125
125
|
!ReactDOM.findDOMNode(this).contains(e.relatedTarget)
|
|
126
126
|
) {
|
|
127
127
|
this.setState({focused: false});
|
|
@@ -260,7 +260,7 @@ class MathInput extends React.Component<Props, State> {
|
|
|
260
260
|
|
|
261
261
|
let buttons = null;
|
|
262
262
|
if (this._shouldShowButtons()) {
|
|
263
|
-
// @ts-expect-error
|
|
263
|
+
// @ts-expect-error - TS2322 - Type 'Element' is not assignable to type 'null'.
|
|
264
264
|
buttons = (
|
|
265
265
|
<TexButtons
|
|
266
266
|
sets={this.props.buttonSets}
|
|
@@ -113,7 +113,7 @@ class MathOutput extends React.Component<Props, State> {
|
|
|
113
113
|
$(document).bind("vclick." + this.state.selectorNamespace, (e) => {
|
|
114
114
|
// Detect whether the target has our React DOM node as a parent
|
|
115
115
|
const $closestWidget = $(e.target).closest(
|
|
116
|
-
// @ts-expect-error
|
|
116
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
117
117
|
ReactDOM.findDOMNode(this),
|
|
118
118
|
);
|
|
119
119
|
if (!$closestWidget.length) {
|
|
@@ -42,7 +42,7 @@ class MultiButtonGroup extends React.Component<Props> {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
focus(): boolean {
|
|
45
|
-
// @ts-expect-error
|
|
45
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'Element | Text'.
|
|
46
46
|
ReactDOM.findDOMNode(this)?.focus();
|
|
47
47
|
return true;
|
|
48
48
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
1
2
|
/* eslint-disable react/sort-comp */
|
|
2
3
|
import {number as knumber} from "@khanacademy/kmath";
|
|
3
4
|
import classNames from "classnames";
|
|
@@ -88,7 +89,7 @@ class NumberInput extends React.Component<any, any> {
|
|
|
88
89
|
onBlur={this._handleBlur}
|
|
89
90
|
onKeyPress={this._handleBlur}
|
|
90
91
|
onKeyDown={this._onKeyDown}
|
|
91
|
-
// @ts-expect-error
|
|
92
|
+
// @ts-expect-error - TS2322 - Type '(e: TouchEvent) => void' is not assignable to type 'TouchEventHandler<HTMLInputElement>'.
|
|
92
93
|
onTouchStart={captureScratchpadTouchStart}
|
|
93
94
|
defaultValue={toNumericString(
|
|
94
95
|
this.props.value,
|
|
@@ -110,14 +111,14 @@ class NumberInput extends React.Component<any, any> {
|
|
|
110
111
|
*/
|
|
111
112
|
getValue: () => any = () => {
|
|
112
113
|
return this.parseInputValue(
|
|
113
|
-
// @ts-expect-error
|
|
114
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
|
|
114
115
|
ReactDOM.findDOMNode(this.refs.input).value, // eslint-disable-line react/no-string-refs
|
|
115
116
|
);
|
|
116
117
|
};
|
|
117
118
|
|
|
118
119
|
/* Return the current string value of this input */
|
|
119
120
|
getStringValue: () => string = () => {
|
|
120
|
-
// @ts-expect-error
|
|
121
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'value' does not exist on type 'Element | Text'.
|
|
121
122
|
return ReactDOM.findDOMNode(this.refs.input).value.toString(); // eslint-disable-line react/no-string-refs
|
|
122
123
|
};
|
|
123
124
|
|
|
@@ -132,13 +133,13 @@ class NumberInput extends React.Component<any, any> {
|
|
|
132
133
|
|
|
133
134
|
/* Set text input focus to this input */
|
|
134
135
|
focus: () => void = () => {
|
|
135
|
-
// @ts-expect-error
|
|
136
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
|
|
136
137
|
ReactDOM.findDOMNode(this.refs.input).focus(); // eslint-disable-line react/no-string-refs
|
|
137
138
|
this._handleFocus();
|
|
138
139
|
};
|
|
139
140
|
|
|
140
141
|
blur: () => void = () => {
|
|
141
|
-
// @ts-expect-error
|
|
142
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'blur' does not exist on type 'Element | Text'.
|
|
142
143
|
ReactDOM.findDOMNode(this.refs.input).blur(); // eslint-disable-line react/no-string-refs
|
|
143
144
|
this._handleBlur();
|
|
144
145
|
};
|
|
@@ -147,7 +148,7 @@ class NumberInput extends React.Component<any, any> {
|
|
|
147
148
|
selectionStart,
|
|
148
149
|
selectionEnd,
|
|
149
150
|
) => {
|
|
150
|
-
// @ts-expect-error
|
|
151
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'setSelectionRange' does not exist on type 'Element | Text'.
|
|
151
152
|
ReactDOM.findDOMNode(this).setSelectionRange(
|
|
152
153
|
selectionStart,
|
|
153
154
|
selectionEnd,
|
|
@@ -155,12 +156,12 @@ class NumberInput extends React.Component<any, any> {
|
|
|
155
156
|
};
|
|
156
157
|
|
|
157
158
|
getSelectionStart: () => number = () => {
|
|
158
|
-
// @ts-expect-error
|
|
159
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'selectionStart' does not exist on type 'Element | Text'.
|
|
159
160
|
return ReactDOM.findDOMNode(this).selectionStart;
|
|
160
161
|
};
|
|
161
162
|
|
|
162
163
|
getSelectionEnd: () => number = () => {
|
|
163
|
-
// @ts-expect-error
|
|
164
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'selectionEnd' does not exist on type 'Element | Text'.
|
|
164
165
|
return ReactDOM.findDOMNode(this).selectionEnd;
|
|
165
166
|
};
|
|
166
167
|
|
|
@@ -197,7 +198,7 @@ class NumberInput extends React.Component<any, any> {
|
|
|
197
198
|
|
|
198
199
|
_handleBlur: (e?: React.FocusEvent | React.KeyboardEvent) => void = (e) => {
|
|
199
200
|
// Only continue on blur or "enter"
|
|
200
|
-
// @ts-expect-error
|
|
201
|
+
// @ts-expect-error - TS2339 - Property 'keyCode' does not exist on type 'KeyboardEvent<Element> | FocusEvent<Element, Element>'.
|
|
201
202
|
if (e && e.type === "keypress" && e.keyCode !== 13) {
|
|
202
203
|
return;
|
|
203
204
|
}
|
|
@@ -238,7 +239,7 @@ class NumberInput extends React.Component<any, any> {
|
|
|
238
239
|
|
|
239
240
|
_setValue: (arg1: number, arg2: MathFormat) => void = (val, format) => {
|
|
240
241
|
// eslint-disable-next-line react/no-string-refs
|
|
241
|
-
// @ts-expect-error
|
|
242
|
+
// @ts-expect-error - TS2769 - No overload matches this call. | TS2339 - Property 'val' does not exist on type 'JQueryStatic'.
|
|
242
243
|
$(ReactDOM.findDOMNode(this.refs.input)).val(
|
|
243
244
|
toNumericString(val, format),
|
|
244
245
|
);
|
|
@@ -33,7 +33,7 @@ const PropCheckBox: any = createReactClass({
|
|
|
33
33
|
const propName = _.find(
|
|
34
34
|
_.keys(this.props),
|
|
35
35
|
function (localPropName) {
|
|
36
|
-
// @ts-expect-error
|
|
36
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
37
37
|
return !_.has(this.DEFAULT_PROPS, localPropName);
|
|
38
38
|
},
|
|
39
39
|
this,
|
|
@@ -30,12 +30,12 @@ export default class SimpleKeypadInput extends React.Component<any> {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
focus() {
|
|
33
|
-
// @ts-expect-error
|
|
33
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'ReactInstance'.
|
|
34
34
|
this.refs.input.focus(); // eslint-disable-line react/no-string-refs
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
blur() {
|
|
38
|
-
// @ts-expect-error
|
|
38
|
+
// @ts-expect-error - TS2339 - Property 'blur' does not exist on type 'ReactInstance'.
|
|
39
39
|
this.refs.input.blur(); // eslint-disable-line react/no-string-refs
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -52,7 +52,7 @@ export default class SimpleKeypadInput extends React.Component<any> {
|
|
|
52
52
|
const {keypadElement, onFocus, value, ...rest} = _this.props;
|
|
53
53
|
|
|
54
54
|
return (
|
|
55
|
-
// @ts-expect-error
|
|
55
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
56
56
|
<KeypadInput
|
|
57
57
|
// eslint-disable-next-line react/no-string-refs
|
|
58
58
|
ref="input"
|
|
@@ -80,7 +80,7 @@ export default class SimpleKeypadInput extends React.Component<any> {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
// @ts-expect-error
|
|
83
|
+
// @ts-expect-error - TS2339 - Property 'propTypes' does not exist on type 'typeof SimpleKeypadInput'.
|
|
84
84
|
SimpleKeypadInput.propTypes = {
|
|
85
85
|
keypadElement: keypadElementPropType,
|
|
86
86
|
onFocus: PropTypes.func,
|