@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,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
1
2
|
/**
|
|
2
3
|
* Zooms child to fit with tap-to-zoom behavior.
|
|
3
4
|
*/
|
|
@@ -46,14 +47,14 @@ type State = {
|
|
|
46
47
|
};
|
|
47
48
|
|
|
48
49
|
class Zoomable extends React.Component<Props, State> {
|
|
49
|
-
// @ts-expect-error
|
|
50
|
+
// @ts-expect-error - TS2564 - Property '_isMounted' has no initializer and is not definitely assigned in the constructor.
|
|
50
51
|
_isMounted: boolean;
|
|
51
|
-
// @ts-expect-error
|
|
52
|
+
// @ts-expect-error - TS2564 - Property '_observer' has no initializer and is not definitely assigned in the constructor.
|
|
52
53
|
_observer: MutationObserver;
|
|
53
|
-
// @ts-expect-error
|
|
54
|
+
// @ts-expect-error - TS2564 - Property '_measuringInitialized' has no initializer and is not definitely assigned in the constructor.
|
|
54
55
|
_measuringInitialized: boolean;
|
|
55
56
|
_originalWidth: number | null | undefined;
|
|
56
|
-
// @ts-expect-error
|
|
57
|
+
// @ts-expect-error - TS2564 - Property '_node' has no initializer and is not definitely assigned in the constructor.
|
|
57
58
|
_node: HTMLElement;
|
|
58
59
|
|
|
59
60
|
static defaultProps: DefaultProps = {
|
|
@@ -63,9 +64,9 @@ class Zoomable extends React.Component<Props, State> {
|
|
|
63
64
|
const firstChild = parentNode.firstElementChild;
|
|
64
65
|
|
|
65
66
|
return {
|
|
66
|
-
// @ts-expect-error
|
|
67
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'offsetWidth' does not exist on type 'Element'.
|
|
67
68
|
width: firstChild.offsetWidth,
|
|
68
|
-
// @ts-expect-error
|
|
69
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'offsetHeight' does not exist on type 'Element'.
|
|
69
70
|
height: firstChild.offsetHeight,
|
|
70
71
|
};
|
|
71
72
|
},
|
|
@@ -129,7 +130,7 @@ class Zoomable extends React.Component<Props, State> {
|
|
|
129
130
|
|
|
130
131
|
if (this._isMounted && shouldInitialize) {
|
|
131
132
|
this._measuringInitialized = true;
|
|
132
|
-
// @ts-expect-error
|
|
133
|
+
// @ts-expect-error - TS2322 - Type 'Element | Text | null' is not assignable to type 'HTMLElement'.
|
|
133
134
|
this._node = ReactDOM.findDOMNode(this);
|
|
134
135
|
|
|
135
136
|
// We call measureAndScaleChildToFit asynchronously so that the browser
|
|
@@ -284,7 +285,7 @@ class Zoomable extends React.Component<Props, State> {
|
|
|
284
285
|
onTouchCancelCapture={this.stopPropagationIfZoomed}
|
|
285
286
|
onTouchEndCapture={this.stopPropagationIfZoomed}
|
|
286
287
|
onTouchStartCapture={this.stopPropagationIfZoomed}
|
|
287
|
-
// @ts-expect-error
|
|
288
|
+
// @ts-expect-error - TS2322 - Type '{ readonly transitionProperty: string; readonly transitionDuration: string; readonly transitionTimingFunction: string; readonly display: "block"; readonly width: "100%"; readonly height: number | ... 1 more ... | undefined; readonly transform: string; readonly transformOrigin: "0 0"; readonly opacity: 0 | 1; readonl...' is not assignable to type 'CSSProperties | undefined'.
|
|
288
289
|
style={style}
|
|
289
290
|
>
|
|
290
291
|
{this.props.children}
|
package/src/hint-renderer.tsx
CHANGED
|
@@ -34,7 +34,7 @@ class HintRenderer extends React.Component<Props> {
|
|
|
34
34
|
|
|
35
35
|
getSerializedState: () => void = () => {
|
|
36
36
|
// eslint-disable-next-line react/no-string-refs
|
|
37
|
-
// @ts-expect-error
|
|
37
|
+
// @ts-expect-error - TS2339 - Property 'getSerializedState' does not exist on type 'ReactInstance'.
|
|
38
38
|
return this.refs.renderer.getSerializedState();
|
|
39
39
|
};
|
|
40
40
|
|
|
@@ -43,7 +43,7 @@ class HintRenderer extends React.Component<Props> {
|
|
|
43
43
|
arg2: (...args: ReadonlyArray<any>) => unknown,
|
|
44
44
|
) => void = (state, callback) => {
|
|
45
45
|
// eslint-disable-next-line react/no-string-refs
|
|
46
|
-
// @ts-expect-error
|
|
46
|
+
// @ts-expect-error - TS2339 - Property 'restoreSerializedState' does not exist on type 'ReactInstance'.
|
|
47
47
|
this.refs.renderer.restoreSerializedState(state, callback);
|
|
48
48
|
};
|
|
49
49
|
|
|
@@ -80,7 +80,7 @@ class HintRenderer extends React.Component<Props> {
|
|
|
80
80
|
} as const;
|
|
81
81
|
|
|
82
82
|
return (
|
|
83
|
-
// @ts-expect-error
|
|
83
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'number | undefined'.
|
|
84
84
|
<div className={classNames} tabIndex="-1">
|
|
85
85
|
{!apiOptions.isMobile && (
|
|
86
86
|
<span className="perseus-sr-only">
|
package/src/hints-renderer.tsx
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @khanacademy/ts-no-error-suppressions */
|
|
1
2
|
import * as PerseusLinter from "@khanacademy/perseus-linter";
|
|
2
3
|
import * as i18n from "@khanacademy/wonder-blocks-i18n";
|
|
3
4
|
import {StyleSheet, css} from "aphrodite";
|
|
@@ -8,7 +9,6 @@ import _ from "underscore";
|
|
|
8
9
|
|
|
9
10
|
import HintRenderer from "./hint-renderer";
|
|
10
11
|
import {ApiOptions} from "./perseus-api";
|
|
11
|
-
import Renderer from "./renderer";
|
|
12
12
|
import {
|
|
13
13
|
baseUnitPx,
|
|
14
14
|
hintBorderWidth,
|
|
@@ -20,11 +20,12 @@ import mediaQueries from "./styles/media-queries";
|
|
|
20
20
|
import sharedStyles from "./styles/shared";
|
|
21
21
|
import Util from "./util";
|
|
22
22
|
|
|
23
|
+
import type Renderer from "./renderer";
|
|
23
24
|
import type {APIOptionsWithDefaults} from "./types";
|
|
24
25
|
|
|
25
26
|
type Props = JSX.LibraryManagedAttributes<
|
|
26
27
|
Renderer,
|
|
27
|
-
// @ts-expect-error
|
|
28
|
+
// @ts-expect-error - TS2344 - Type 'Renderer' does not satisfy the constraint 'keyof IntrinsicElements | JSXElementConstructor<any>'.
|
|
28
29
|
React.ComponentProps<typeof Renderer>
|
|
29
30
|
> & {
|
|
30
31
|
className?: string;
|
|
@@ -35,7 +36,7 @@ type Props = JSX.LibraryManagedAttributes<
|
|
|
35
36
|
};
|
|
36
37
|
|
|
37
38
|
type DefaultProps = {
|
|
38
|
-
// @ts-expect-error
|
|
39
|
+
// @ts-expect-error - TS2339 - Property 'linterContext' does not exist on type '{ className?: string | undefined; hints: readonly any[]; hintsVisible?: number | undefined; }'.
|
|
39
40
|
linterContext: Props["linterContext"];
|
|
40
41
|
};
|
|
41
42
|
|
|
@@ -63,7 +64,7 @@ class HintsRenderer extends React.Component<Props, State> {
|
|
|
63
64
|
}
|
|
64
65
|
|
|
65
66
|
UNSAFE_componentWillReceiveProps(nextProps: Props) {
|
|
66
|
-
// @ts-expect-error
|
|
67
|
+
// @ts-expect-error - TS2532 - Object is possibly 'undefined'. | TS2532 - Object is possibly 'undefined'.
|
|
67
68
|
if (nextProps.hintsVisible - this.props.hintsVisible > 1) {
|
|
68
69
|
this.setState({isFinalHelpPage: true});
|
|
69
70
|
}
|
|
@@ -89,7 +90,7 @@ class HintsRenderer extends React.Component<Props, State> {
|
|
|
89
90
|
nextHintsVisible >= 0
|
|
90
91
|
) {
|
|
91
92
|
const pos = nextHintsVisible - 1;
|
|
92
|
-
// @ts-expect-error
|
|
93
|
+
// @ts-expect-error - TS2531 - Object is possibly 'null'. | TS2339 - Property 'focus' does not exist on type 'Element | Text'.
|
|
93
94
|
ReactDOM.findDOMNode(this.refs["hintRenderer" + pos]).focus(); // eslint-disable-line react/no-string-refs
|
|
94
95
|
}
|
|
95
96
|
}
|
|
@@ -125,7 +126,7 @@ class HintsRenderer extends React.Component<Props, State> {
|
|
|
125
126
|
// false in hints.
|
|
126
127
|
return {
|
|
127
128
|
...ApiOptions.defaults,
|
|
128
|
-
// @ts-expect-error
|
|
129
|
+
// @ts-expect-error - TS2339 - Property 'apiOptions' does not exist on type 'Readonly<{ className?: string | undefined; hints: readonly any[]; hintsVisible?: number | undefined; }> & Readonly<{ children?: ReactNode; }>'.
|
|
129
130
|
...this.props.apiOptions,
|
|
130
131
|
readOnly: false,
|
|
131
132
|
};
|
|
@@ -134,7 +135,7 @@ class HintsRenderer extends React.Component<Props, State> {
|
|
|
134
135
|
getSerializedState: () => any = () => {
|
|
135
136
|
return _.times(this._hintsVisible(), (i) => {
|
|
136
137
|
// eslint-disable-next-line react/no-string-refs
|
|
137
|
-
// @ts-expect-error
|
|
138
|
+
// @ts-expect-error - TS2339 - Property 'getSerializedState' does not exist on type 'ReactInstance'.
|
|
138
139
|
return this.refs["hintRenderer" + i].getSerializedState();
|
|
139
140
|
});
|
|
140
141
|
};
|
|
@@ -163,7 +164,7 @@ class HintsRenderer extends React.Component<Props, State> {
|
|
|
163
164
|
// have the appropriate number of hints visible already.
|
|
164
165
|
if (hintRenderer) {
|
|
165
166
|
++numCallbacks;
|
|
166
|
-
// @ts-expect-error
|
|
167
|
+
// @ts-expect-error - TS2339 - Property 'restoreSerializedState' does not exist on type 'ReactInstance'.
|
|
167
168
|
hintRenderer.restoreSerializedState(hintState, fireCallback);
|
|
168
169
|
}
|
|
169
170
|
});
|
|
@@ -195,10 +196,10 @@ class HintsRenderer extends React.Component<Props, State> {
|
|
|
195
196
|
ref={"hintRenderer" + i}
|
|
196
197
|
key={"hintRenderer" + i}
|
|
197
198
|
apiOptions={apiOptions}
|
|
198
|
-
// @ts-expect-error
|
|
199
|
+
// @ts-expect-error - TS2339 - Property 'findExternalWidgets' does not exist on type 'Readonly<{ className?: string | undefined; hints: readonly any[]; hintsVisible?: number | undefined; }> & Readonly<{ children?: ReactNode; }>'.
|
|
199
200
|
findExternalWidgets={this.props.findExternalWidgets}
|
|
200
201
|
linterContext={PerseusLinter.pushContextStack(
|
|
201
|
-
// @ts-expect-error
|
|
202
|
+
// @ts-expect-error - TS2339 - Property 'linterContext' does not exist on type 'Readonly<{ className?: string | undefined; hints: readonly any[]; hintsVisible?: number | undefined; }> & Readonly<{ children?: ReactNode; }>'.
|
|
202
203
|
this.props.linterContext,
|
|
203
204
|
"hints[" + i + "]",
|
|
204
205
|
)}
|
|
@@ -246,7 +247,7 @@ class HintsRenderer extends React.Component<Props, State> {
|
|
|
246
247
|
{hints}
|
|
247
248
|
{showGetAnotherHint && (
|
|
248
249
|
<button
|
|
249
|
-
// @ts-expect-error
|
|
250
|
+
// @ts-expect-error - TS2322 - Type '{ children: Element[]; rel: string; className: string; onClick: (evt: MouseEvent<HTMLButtonElement, MouseEvent>) => void; }' is not assignable to type 'DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>'.
|
|
250
251
|
rel="button"
|
|
251
252
|
className={css(
|
|
252
253
|
styles.linkButton,
|
package/src/index.ts
CHANGED
package/src/init.ts
CHANGED
|
@@ -25,7 +25,7 @@ const init = function (options: PerseusOptions): Promise<undefined> {
|
|
|
25
25
|
const skipMathJax = options.skipMathJax;
|
|
26
26
|
|
|
27
27
|
if (skipMathJax) {
|
|
28
|
-
// @ts-expect-error
|
|
28
|
+
// @ts-expect-error - TS2322 - Type 'Promise<void>' is not assignable to type 'Promise<undefined>'.
|
|
29
29
|
return Promise.resolve();
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -9,15 +9,15 @@ function _noop() {}
|
|
|
9
9
|
* Wrapper for the trackInteraction apiOption.
|
|
10
10
|
*/
|
|
11
11
|
class InteractionTracker {
|
|
12
|
-
// @ts-expect-error
|
|
12
|
+
// @ts-expect-error - TS2564 - Property '_tracked' has no initializer and is not definitely assigned in the constructor.
|
|
13
13
|
_tracked: boolean;
|
|
14
|
-
// @ts-expect-error
|
|
14
|
+
// @ts-expect-error - TS2564 - Property 'setting' has no initializer and is not definitely assigned in the constructor.
|
|
15
15
|
setting: Tracking;
|
|
16
16
|
track: (extraData?: any) => void;
|
|
17
17
|
trackApi: any;
|
|
18
|
-
// @ts-expect-error
|
|
18
|
+
// @ts-expect-error - TS2564 - Property 'widgetID' has no initializer and is not definitely assigned in the constructor.
|
|
19
19
|
widgetID: string;
|
|
20
|
-
// @ts-expect-error
|
|
20
|
+
// @ts-expect-error - TS2564 - Property 'widgetType' has no initializer and is not definitely assigned in the constructor.
|
|
21
21
|
widgetType: string;
|
|
22
22
|
|
|
23
23
|
constructor(
|
|
@@ -53,7 +53,7 @@ describe("MovablePoint", function () {
|
|
|
53
53
|
it("should snap to the grid when a snap is specified", function () {
|
|
54
54
|
const point = createPoint({
|
|
55
55
|
coord: [1.1, 1.1],
|
|
56
|
-
// @ts-expect-error
|
|
56
|
+
// @ts-expect-error - TS2339 - Property 'constraints' does not exist on type '(graphie: any, movable: any, options: any) => void'.
|
|
57
57
|
constraints: MovablePoint.constraints.snap([1, 1]),
|
|
58
58
|
}).point;
|
|
59
59
|
|
|
@@ -27,7 +27,7 @@ function computePrefixedTransform(): string | null | undefined {
|
|
|
27
27
|
let correctPrefix = null;
|
|
28
28
|
_.each(prefixes, function (prefix) {
|
|
29
29
|
if (typeof el.style[prefix] !== "undefined") {
|
|
30
|
-
// @ts-expect-error
|
|
30
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'null'.
|
|
31
31
|
correctPrefix = prefix;
|
|
32
32
|
}
|
|
33
33
|
});
|
|
@@ -46,9 +46,9 @@ function computeCanUse3dTransform(): boolean {
|
|
|
46
46
|
const prefix = InteractiveUtil.getPrefixedTransform();
|
|
47
47
|
|
|
48
48
|
// Prefix could be null.
|
|
49
|
-
// @ts-expect-error
|
|
49
|
+
// @ts-expect-error - TS2538 - Type 'null' cannot be used as an index type. | TS2538 - Type 'undefined' cannot be used as an index type.
|
|
50
50
|
el.style[prefix] = "translateZ(0px)";
|
|
51
|
-
// @ts-expect-error
|
|
51
|
+
// @ts-expect-error - TS2538 - Type 'null' cannot be used as an index type. | TS2538 - Type 'undefined' cannot be used as an index type.
|
|
52
52
|
return !!el.style[prefix];
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -134,7 +134,7 @@ const InteractiveUtil = {
|
|
|
134
134
|
*/
|
|
135
135
|
getPrefixedTransform: function (): string | null | undefined {
|
|
136
136
|
// Cache result to avoid re-computation
|
|
137
|
-
// @ts-expect-error
|
|
137
|
+
// @ts-expect-error - TS2322 - Type 'string | null | undefined' is not assignable to type 'null'.
|
|
138
138
|
prefixedTransform = prefixedTransform || computePrefixedTransform();
|
|
139
139
|
return prefixedTransform;
|
|
140
140
|
},
|
|
@@ -144,10 +144,10 @@ const InteractiveUtil = {
|
|
|
144
144
|
*/
|
|
145
145
|
getCanUse3dTransform: function (): boolean {
|
|
146
146
|
if (canUse3dTransform == null) {
|
|
147
|
-
// @ts-expect-error
|
|
147
|
+
// @ts-expect-error - TS2322 - Type 'boolean' is not assignable to type 'null'.
|
|
148
148
|
canUse3dTransform = computeCanUse3dTransform();
|
|
149
149
|
}
|
|
150
|
-
// @ts-expect-error
|
|
150
|
+
// @ts-expect-error - TS2322 - Type 'null' is not assignable to type 'boolean'.
|
|
151
151
|
return canUse3dTransform;
|
|
152
152
|
},
|
|
153
153
|
} as const;
|
|
@@ -145,10 +145,10 @@ const MovableHelperMethods: any = {
|
|
|
145
145
|
function (key) {
|
|
146
146
|
if (
|
|
147
147
|
getEventName(key) === eventName &&
|
|
148
|
-
// @ts-expect-error
|
|
148
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
149
149
|
this._listenerMap[key] > index
|
|
150
150
|
) {
|
|
151
|
-
// @ts-expect-error
|
|
151
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
152
152
|
this._listenerMap[key]--;
|
|
153
153
|
}
|
|
154
154
|
},
|
|
@@ -149,7 +149,7 @@ const add = {
|
|
|
149
149
|
},
|
|
150
150
|
} as const;
|
|
151
151
|
|
|
152
|
-
// @ts-expect-error
|
|
152
|
+
// @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly draw: () => void; readonly pointsToFront: (state: any) => void; }'.
|
|
153
153
|
add.standard = [add.draw, add.pointsToFront];
|
|
154
154
|
|
|
155
155
|
const modify = {
|
|
@@ -158,38 +158,38 @@ const modify = {
|
|
|
158
158
|
},
|
|
159
159
|
} as const;
|
|
160
160
|
|
|
161
|
-
// @ts-expect-error
|
|
161
|
+
// @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly draw: () => void; }'.
|
|
162
162
|
modify.standard = [modify.draw];
|
|
163
163
|
|
|
164
164
|
const draw = {
|
|
165
165
|
basic: function (state: any) {
|
|
166
|
-
// @ts-expect-error
|
|
166
|
+
// @ts-expect-error - TS2339 - Property 'graphie' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
167
167
|
const graphie = this.graphie;
|
|
168
|
-
// @ts-expect-error
|
|
168
|
+
// @ts-expect-error - TS2339 - Property 'coord' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
169
169
|
let start = this.coord(0);
|
|
170
|
-
// @ts-expect-error
|
|
170
|
+
// @ts-expect-error - TS2339 - Property 'coord' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
171
171
|
let end = this.coord(1);
|
|
172
172
|
|
|
173
|
-
// @ts-expect-error
|
|
173
|
+
// @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
174
174
|
if (!this.state.visibleShape) {
|
|
175
175
|
const options = {
|
|
176
176
|
thickness: 10,
|
|
177
177
|
} as const;
|
|
178
|
-
// @ts-expect-error
|
|
178
|
+
// @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
179
179
|
this.state.visibleShape = new WrappedLine(
|
|
180
180
|
graphie,
|
|
181
181
|
start,
|
|
182
182
|
end,
|
|
183
183
|
options,
|
|
184
184
|
);
|
|
185
|
-
// @ts-expect-error
|
|
185
|
+
// @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
186
186
|
this.state.visibleShape.attr(this.normalStyle());
|
|
187
|
-
// @ts-expect-error
|
|
187
|
+
// @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
188
188
|
this.state.visibleShape.toFront();
|
|
189
189
|
|
|
190
|
-
// @ts-expect-error
|
|
190
|
+
// @ts-expect-error - TS2339 - Property 'mouseTarget' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
191
191
|
if (this.mouseTarget()) {
|
|
192
|
-
// @ts-expect-error
|
|
192
|
+
// @ts-expect-error - TS2339 - Property 'mouseTarget' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
193
193
|
this.mouseTarget().toFront();
|
|
194
194
|
}
|
|
195
195
|
}
|
|
@@ -206,12 +206,12 @@ const draw = {
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
// Move elements
|
|
209
|
-
// @ts-expect-error
|
|
209
|
+
// @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
210
210
|
const elements = [this.state.visibleShape];
|
|
211
211
|
|
|
212
|
-
// @ts-expect-error
|
|
212
|
+
// @ts-expect-error - TS2339 - Property 'mouseTarget' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
213
213
|
if (this.mouseTarget()) {
|
|
214
|
-
// @ts-expect-error
|
|
214
|
+
// @ts-expect-error - TS2339 - Property 'mouseTarget' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
215
215
|
elements.push(this.mouseTarget());
|
|
216
216
|
}
|
|
217
217
|
_.each(elements, function (element) {
|
|
@@ -221,25 +221,25 @@ const draw = {
|
|
|
221
221
|
|
|
222
222
|
arrows: function (state: any) {
|
|
223
223
|
// Create arrows, if not yet created
|
|
224
|
-
// @ts-expect-error
|
|
224
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. Did you mean 'arrows'?
|
|
225
225
|
if (this._arrows == null) {
|
|
226
|
-
// @ts-expect-error
|
|
226
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. Did you mean 'arrows'?
|
|
227
227
|
this._arrows = [];
|
|
228
228
|
if (state.extendLine) {
|
|
229
|
-
// @ts-expect-error
|
|
229
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. Did you mean 'arrows'?
|
|
230
230
|
this._arrows.push(
|
|
231
|
-
// @ts-expect-error
|
|
231
|
+
// @ts-expect-error - TS2339 - Property 'graphie' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
232
232
|
createArrow(this.graphie, this.normalStyle()),
|
|
233
233
|
);
|
|
234
|
-
// @ts-expect-error
|
|
234
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. Did you mean 'arrows'?
|
|
235
235
|
this._arrows.push(
|
|
236
|
-
// @ts-expect-error
|
|
236
|
+
// @ts-expect-error - TS2339 - Property 'graphie' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
237
237
|
createArrow(this.graphie, this.normalStyle()),
|
|
238
238
|
);
|
|
239
239
|
} else if (state.extendRay) {
|
|
240
|
-
// @ts-expect-error
|
|
240
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. Did you mean 'arrows'?
|
|
241
241
|
this._arrows.push(
|
|
242
|
-
// @ts-expect-error
|
|
242
|
+
// @ts-expect-error - TS2339 - Property 'graphie' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. | TS2339 - Property 'normalStyle' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
243
243
|
createArrow(this.graphie, this.normalStyle()),
|
|
244
244
|
);
|
|
245
245
|
}
|
|
@@ -249,10 +249,10 @@ const draw = {
|
|
|
249
249
|
const angle = getScaledAngle(this);
|
|
250
250
|
const angleForArrow = [360 - angle, (540 - angle) % 360];
|
|
251
251
|
_.each(
|
|
252
|
-
// @ts-expect-error
|
|
252
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'. Did you mean 'arrows'?
|
|
253
253
|
this._arrows,
|
|
254
254
|
function (arrow, i) {
|
|
255
|
-
// @ts-expect-error
|
|
255
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
256
256
|
arrow.toCoordAtAngle(this.coord(i), angleForArrow[i]);
|
|
257
257
|
},
|
|
258
258
|
this,
|
|
@@ -272,30 +272,30 @@ const draw = {
|
|
|
272
272
|
},
|
|
273
273
|
} as const;
|
|
274
274
|
|
|
275
|
-
// @ts-expect-error
|
|
275
|
+
// @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly basic: (state: any) => void; readonly arrows: (state: any) => void; readonly highlight: (state: any, prevState: any) => void; }'.
|
|
276
276
|
draw.standard = [draw.basic, draw.arrows, draw.highlight];
|
|
277
277
|
|
|
278
278
|
const remove = {
|
|
279
279
|
basic: function () {
|
|
280
|
-
// @ts-expect-error
|
|
280
|
+
// @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly arrows: () => void; }'.
|
|
281
281
|
if (this.state.visibleShape) {
|
|
282
|
-
// @ts-expect-error
|
|
282
|
+
// @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly basic: () => void; readonly arrows: () => void; }'.
|
|
283
283
|
this.state.visibleShape.remove();
|
|
284
284
|
}
|
|
285
285
|
},
|
|
286
286
|
|
|
287
287
|
arrows: function () {
|
|
288
|
-
// @ts-expect-error
|
|
288
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: () => void; readonly arrows: () => void; }'. Did you mean 'arrows'?
|
|
289
289
|
if (this._arrows != null) {
|
|
290
|
-
// @ts-expect-error
|
|
290
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: () => void; readonly arrows: () => void; }'. Did you mean 'arrows'?
|
|
291
291
|
_.invoke(this._arrows, "remove");
|
|
292
292
|
}
|
|
293
|
-
// @ts-expect-error
|
|
293
|
+
// @ts-expect-error - TS2551 - Property '_arrows' does not exist on type '{ readonly basic: () => void; readonly arrows: () => void; }'. Did you mean 'arrows'?
|
|
294
294
|
this._arrows = null;
|
|
295
295
|
},
|
|
296
296
|
} as const;
|
|
297
297
|
|
|
298
|
-
// @ts-expect-error
|
|
298
|
+
// @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly basic: () => void; readonly arrows: () => void; }'.
|
|
299
299
|
remove.standard = [remove.basic, remove.arrows];
|
|
300
300
|
|
|
301
301
|
const constraints = {
|
|
@@ -311,7 +311,7 @@ const constraints = {
|
|
|
311
311
|
return true;
|
|
312
312
|
}
|
|
313
313
|
let delta = kvector.subtract(coord, prevCoord);
|
|
314
|
-
// @ts-expect-error
|
|
314
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
315
315
|
snap = snap || this.graphie.snap;
|
|
316
316
|
delta = kpoint.roundTo(delta, snap);
|
|
317
317
|
return kvector.add(prevCoord, delta);
|
|
@@ -331,7 +331,7 @@ const constraints = {
|
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
return function (coord: Coord, prevCoord: Coord) {
|
|
334
|
-
// @ts-expect-error
|
|
334
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
335
335
|
const graphie = this.graphie;
|
|
336
336
|
const delta = kvector.subtract(coord, prevCoord);
|
|
337
337
|
range = range || graphie.range;
|
|
@@ -357,7 +357,7 @@ const constraints = {
|
|
|
357
357
|
|
|
358
358
|
// Calculate the bounds for the delta.
|
|
359
359
|
const deltaBounds = _.map(
|
|
360
|
-
// @ts-expect-error
|
|
360
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
361
361
|
this.coords(),
|
|
362
362
|
function (coord: Coord, i: number) {
|
|
363
363
|
const max = kvector.subtract(absoluteUpper, coord);
|
|
@@ -390,20 +390,20 @@ const constraints = {
|
|
|
390
390
|
},
|
|
391
391
|
} as const;
|
|
392
392
|
|
|
393
|
-
// @ts-expect-error
|
|
393
|
+
// @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly fixed: () => () => boolean; readonly snap: (snap: any) => (arg1: Coord, arg2: Coord) => any; readonly bound: (range: any, snap: any, paddingPx: number) => (arg1: any, arg2: any) => any; }'.
|
|
394
394
|
constraints.standard = null;
|
|
395
395
|
|
|
396
396
|
const onMove = {
|
|
397
397
|
updatePoints: function (coord: Coord, prevCoord: Coord) {
|
|
398
398
|
const actualDelta = kvector.subtract(coord, prevCoord);
|
|
399
|
-
// @ts-expect-error
|
|
399
|
+
// @ts-expect-error - TS2339 - Property 'state' does not exist on type '{ readonly updatePoints: (coord: Coord, prevCoord: Coord) => void; }'.
|
|
400
400
|
_.each(this.state.points, function (point) {
|
|
401
401
|
point.setCoord(kvector.add(point.coord(), actualDelta));
|
|
402
402
|
});
|
|
403
403
|
},
|
|
404
404
|
} as const;
|
|
405
405
|
|
|
406
|
-
// @ts-expect-error
|
|
406
|
+
// @ts-expect-error - TS2339 - Property 'standard' does not exist on type '{ readonly updatePoints: (coord: Coord, prevCoord: Coord) => void; }'.
|
|
407
407
|
onMove.standard = null;
|
|
408
408
|
|
|
409
409
|
export default {
|
|
@@ -48,7 +48,7 @@ const MovableLine = function (graphie: any, movable: any, options: any) {
|
|
|
48
48
|
assert(graphie != null);
|
|
49
49
|
assert(options != null);
|
|
50
50
|
|
|
51
|
-
// @ts-expect-error
|
|
51
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
52
52
|
_.extend(this, {
|
|
53
53
|
graphie: graphie,
|
|
54
54
|
movable: movable,
|
|
@@ -59,7 +59,7 @@ const MovableLine = function (graphie: any, movable: any, options: any) {
|
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
// We only set DEFAULT_STATE once, here
|
|
62
|
-
// @ts-expect-error
|
|
62
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
63
63
|
this.modify(_.extend({}, DEFAULT_STATE, options));
|
|
64
64
|
};
|
|
65
65
|
|