@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
|
/* eslint-disable @babel/no-invalid-this, react/no-unsafe, react/sort-comp */
|
|
2
3
|
import * as KAS from "@khanacademy/kas";
|
|
3
4
|
import {vector as kvector} from "@khanacademy/kmath";
|
|
@@ -15,21 +16,21 @@ import type {
|
|
|
15
16
|
} from "../perseus-types";
|
|
16
17
|
import type {PerseusScore, WidgetExports, WidgetProps} from "../types";
|
|
17
18
|
|
|
18
|
-
// @ts-expect-error
|
|
19
|
+
// @ts-expect-error - TS2339 - Property 'Label' does not exist on type 'typeof Graphie'.
|
|
19
20
|
const Label = Graphie.Label;
|
|
20
|
-
// @ts-expect-error
|
|
21
|
+
// @ts-expect-error - TS2339 - Property 'Line' does not exist on type 'typeof Graphie'.
|
|
21
22
|
const Line = Graphie.Line;
|
|
22
|
-
// @ts-expect-error
|
|
23
|
+
// @ts-expect-error - TS2339 - Property 'MovablePoint' does not exist on type 'typeof Graphie'.
|
|
23
24
|
const MovablePoint = Graphie.MovablePoint;
|
|
24
|
-
// @ts-expect-error
|
|
25
|
+
// @ts-expect-error - TS2339 - Property 'MovableLine' does not exist on type 'typeof Graphie'.
|
|
25
26
|
const MovableLine = Graphie.MovableLine;
|
|
26
|
-
// @ts-expect-error
|
|
27
|
+
// @ts-expect-error - TS2339 - Property 'Plot' does not exist on type 'typeof Graphie'.
|
|
27
28
|
const Plot = Graphie.Plot;
|
|
28
|
-
// @ts-expect-error
|
|
29
|
+
// @ts-expect-error - TS2339 - Property 'PlotParametric' does not exist on type 'typeof Graphie'.
|
|
29
30
|
const PlotParametric = Graphie.PlotParametric;
|
|
30
|
-
// @ts-expect-error
|
|
31
|
+
// @ts-expect-error - TS2339 - Property 'Point' does not exist on type 'typeof Graphie'.
|
|
31
32
|
const Point = Graphie.Point;
|
|
32
|
-
// @ts-expect-error
|
|
33
|
+
// @ts-expect-error - TS2339 - Property 'Rect' does not exist on type 'typeof Graphie'.
|
|
33
34
|
const Rect = Graphie.Rect;
|
|
34
35
|
const {unescapeMathMode} = Util;
|
|
35
36
|
|
|
@@ -46,11 +47,11 @@ const KAShashFunc = (
|
|
|
46
47
|
functions: any;
|
|
47
48
|
},
|
|
48
49
|
) => {
|
|
49
|
-
// @ts-expect-error
|
|
50
|
+
// @ts-expect-error - TS2322 - Type '{ ".decimal_separator": never; ".functions": never; } | { functions: any; } | {}' is not assignable to type '{ ".decimal_separator": never; ".functions": never; } | { functions: any; } | undefined'.
|
|
50
51
|
options = options || {};
|
|
51
|
-
// @ts-expect-error
|
|
52
|
+
// @ts-expect-error - TS2532 - Object is possibly 'undefined'. | TS2339 - Property 'decimal_separator' does not exist on type '{ ".decimal_separator": never; ".functions": never; } | { functions: any; }'.
|
|
52
53
|
let result = expr + "||" + options.decimal_separator + "||";
|
|
53
|
-
// @ts-expect-error
|
|
54
|
+
// @ts-expect-error - TS2532 - Object is possibly 'undefined'. | TS2339 - Property 'functions' does not exist on type '{ ".decimal_separator": never; ".functions": never; } | { functions: any; }'.
|
|
54
55
|
const functions = options.functions;
|
|
55
56
|
const functionsLength = functions ? functions.length : 0;
|
|
56
57
|
for (let i = 0; i < functionsLength; i++) {
|
|
@@ -178,11 +179,11 @@ class Interaction extends React.Component<Props, State> {
|
|
|
178
179
|
options,
|
|
179
180
|
startCoord,
|
|
180
181
|
) => {
|
|
181
|
-
// @ts-expect-error
|
|
182
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
182
183
|
const xDiff = this._eval(
|
|
183
184
|
"(" + options.endX + ")-(" + options.startX + ")",
|
|
184
185
|
);
|
|
185
|
-
// @ts-expect-error
|
|
186
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
186
187
|
const yDiff = this._eval(
|
|
187
188
|
"(" + options.endY + ")-(" + options.startY + ")",
|
|
188
189
|
);
|
|
@@ -227,7 +228,7 @@ class Interaction extends React.Component<Props, State> {
|
|
|
227
228
|
expr.args(),
|
|
228
229
|
function (arg) {
|
|
229
230
|
if (arg && arg.constructor.name === "Expr") {
|
|
230
|
-
// @ts-expect-error
|
|
231
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
231
232
|
vars = vars.concat(this._extractVars(arg));
|
|
232
233
|
}
|
|
233
234
|
},
|
|
@@ -292,9 +293,9 @@ class Interaction extends React.Component<Props, State> {
|
|
|
292
293
|
<Point
|
|
293
294
|
key={element.key}
|
|
294
295
|
coord={[
|
|
295
|
-
// @ts-expect-error
|
|
296
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
296
297
|
this._eval(element.options.coordX),
|
|
297
|
-
// @ts-expect-error
|
|
298
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
298
299
|
this._eval(element.options.coordY),
|
|
299
300
|
]}
|
|
300
301
|
color={element.options.color}
|
|
@@ -303,15 +304,15 @@ class Interaction extends React.Component<Props, State> {
|
|
|
303
304
|
}
|
|
304
305
|
if (element.type === "line") {
|
|
305
306
|
const start = [
|
|
306
|
-
// @ts-expect-error
|
|
307
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
307
308
|
this._eval(element.options.startX),
|
|
308
|
-
// @ts-expect-error
|
|
309
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
309
310
|
this._eval(element.options.startY),
|
|
310
311
|
];
|
|
311
312
|
const end = [
|
|
312
|
-
// @ts-expect-error
|
|
313
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
313
314
|
this._eval(element.options.endX),
|
|
314
|
-
// @ts-expect-error
|
|
315
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
315
316
|
this._eval(element.options.endY),
|
|
316
317
|
];
|
|
317
318
|
return (
|
|
@@ -336,12 +337,12 @@ class Interaction extends React.Component<Props, State> {
|
|
|
336
337
|
const constraints = [
|
|
337
338
|
(coord: any) => {
|
|
338
339
|
const coordX = Math.max(
|
|
339
|
-
// @ts-expect-error
|
|
340
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
340
341
|
this._eval(
|
|
341
342
|
element.options.constraintXMin,
|
|
342
343
|
),
|
|
343
344
|
Math.min(
|
|
344
|
-
// @ts-expect-error
|
|
345
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
345
346
|
this._eval(
|
|
346
347
|
element.options.constraintXMax,
|
|
347
348
|
),
|
|
@@ -349,12 +350,12 @@ class Interaction extends React.Component<Props, State> {
|
|
|
349
350
|
),
|
|
350
351
|
);
|
|
351
352
|
const coordY = Math.max(
|
|
352
|
-
// @ts-expect-error
|
|
353
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
353
354
|
this._eval(
|
|
354
355
|
element.options.constraintYMin,
|
|
355
356
|
),
|
|
356
357
|
Math.min(
|
|
357
|
-
// @ts-expect-error
|
|
358
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
358
359
|
this._eval(
|
|
359
360
|
element.options.constraintYMax,
|
|
360
361
|
),
|
|
@@ -373,7 +374,7 @@ class Interaction extends React.Component<Props, State> {
|
|
|
373
374
|
} else if (element.options.constraint === "x") {
|
|
374
375
|
constraints.push((coord) => {
|
|
375
376
|
return [
|
|
376
|
-
// @ts-expect-error
|
|
377
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
377
378
|
this._eval(
|
|
378
379
|
element.options.constraintFn,
|
|
379
380
|
{y: coord[1]},
|
|
@@ -385,7 +386,7 @@ class Interaction extends React.Component<Props, State> {
|
|
|
385
386
|
constraints.push((coord) => {
|
|
386
387
|
return [
|
|
387
388
|
coord[0],
|
|
388
|
-
// @ts-expect-error
|
|
389
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
389
390
|
this._eval(
|
|
390
391
|
element.options.constraintFn,
|
|
391
392
|
{x: coord[0]},
|
|
@@ -401,11 +402,11 @@ class Interaction extends React.Component<Props, State> {
|
|
|
401
402
|
<MovablePoint
|
|
402
403
|
key={element.key}
|
|
403
404
|
coord={[
|
|
404
|
-
// @ts-expect-error
|
|
405
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
405
406
|
this.state.variables[
|
|
406
407
|
"x_" + element.options.varSubscript
|
|
407
408
|
],
|
|
408
|
-
// @ts-expect-error
|
|
409
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
409
410
|
this.state.variables[
|
|
410
411
|
"y_" + element.options.varSubscript
|
|
411
412
|
],
|
|
@@ -415,7 +416,7 @@ class Interaction extends React.Component<Props, State> {
|
|
|
415
416
|
foo_y={element.options.constraintFn}
|
|
416
417
|
foo_z={element.options.snap}
|
|
417
418
|
onMove={_.partial(
|
|
418
|
-
// @ts-expect-error
|
|
419
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
419
420
|
this._updatePointLocation,
|
|
420
421
|
element.options.varSubscript,
|
|
421
422
|
)}
|
|
@@ -430,12 +431,12 @@ class Interaction extends React.Component<Props, State> {
|
|
|
430
431
|
const constraints = [
|
|
431
432
|
(coord: any) => {
|
|
432
433
|
const coordX = Math.max(
|
|
433
|
-
// @ts-expect-error
|
|
434
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
434
435
|
this._eval(
|
|
435
436
|
element.options.constraintXMin,
|
|
436
437
|
),
|
|
437
438
|
Math.min(
|
|
438
|
-
// @ts-expect-error
|
|
439
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
439
440
|
this._eval(
|
|
440
441
|
element.options.constraintXMax,
|
|
441
442
|
),
|
|
@@ -443,12 +444,12 @@ class Interaction extends React.Component<Props, State> {
|
|
|
443
444
|
),
|
|
444
445
|
);
|
|
445
446
|
const coordY = Math.max(
|
|
446
|
-
// @ts-expect-error
|
|
447
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
447
448
|
this._eval(
|
|
448
449
|
element.options.constraintYMin,
|
|
449
450
|
),
|
|
450
451
|
Math.min(
|
|
451
|
-
// @ts-expect-error
|
|
452
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
452
453
|
this._eval(
|
|
453
454
|
element.options.constraintYMax,
|
|
454
455
|
),
|
|
@@ -467,7 +468,7 @@ class Interaction extends React.Component<Props, State> {
|
|
|
467
468
|
} else if (element.options.constraint === "x") {
|
|
468
469
|
constraints.push((coord) => {
|
|
469
470
|
return [
|
|
470
|
-
// @ts-expect-error
|
|
471
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
471
472
|
this._eval(
|
|
472
473
|
element.options.constraintFn,
|
|
473
474
|
{y: coord[1]},
|
|
@@ -479,7 +480,7 @@ class Interaction extends React.Component<Props, State> {
|
|
|
479
480
|
constraints.push((coord) => {
|
|
480
481
|
return [
|
|
481
482
|
coord[0],
|
|
482
|
-
// @ts-expect-error
|
|
483
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
483
484
|
this._eval(
|
|
484
485
|
element.options.constraintFn,
|
|
485
486
|
{x: coord[0]},
|
|
@@ -488,21 +489,21 @@ class Interaction extends React.Component<Props, State> {
|
|
|
488
489
|
});
|
|
489
490
|
}
|
|
490
491
|
const start = [
|
|
491
|
-
// @ts-expect-error
|
|
492
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
492
493
|
this.state.variables[
|
|
493
494
|
"x_" + element.options.startSubscript
|
|
494
495
|
],
|
|
495
|
-
// @ts-expect-error
|
|
496
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
496
497
|
this.state.variables[
|
|
497
498
|
"y_" + element.options.startSubscript
|
|
498
499
|
],
|
|
499
500
|
];
|
|
500
501
|
const end = [
|
|
501
|
-
// @ts-expect-error
|
|
502
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
502
503
|
this.state.variables[
|
|
503
504
|
"x_" + element.options.endSubscript
|
|
504
505
|
],
|
|
505
|
-
// @ts-expect-error
|
|
506
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
506
507
|
this.state.variables[
|
|
507
508
|
"y_" + element.options.endSubscript
|
|
508
509
|
],
|
|
@@ -513,9 +514,9 @@ class Interaction extends React.Component<Props, State> {
|
|
|
513
514
|
constraints={constraints}
|
|
514
515
|
// eslint-disable-next-line react/jsx-no-bind
|
|
515
516
|
onMove={_.bind(
|
|
516
|
-
// @ts-expect-error
|
|
517
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
517
518
|
this._updateLineLocation,
|
|
518
|
-
// @ts-expect-error
|
|
519
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
519
520
|
this,
|
|
520
521
|
element.options,
|
|
521
522
|
)}
|
|
@@ -544,7 +545,7 @@ class Interaction extends React.Component<Props, State> {
|
|
|
544
545
|
}
|
|
545
546
|
if (element.type === "function") {
|
|
546
547
|
const fn = (x: any) => {
|
|
547
|
-
// @ts-expect-error
|
|
548
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
548
549
|
return this._eval(element.options.value, {
|
|
549
550
|
x: x,
|
|
550
551
|
});
|
|
@@ -552,9 +553,9 @@ class Interaction extends React.Component<Props, State> {
|
|
|
552
553
|
// find all the variables referenced by this
|
|
553
554
|
// function
|
|
554
555
|
const vars = _.without(
|
|
555
|
-
// @ts-expect-error
|
|
556
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
556
557
|
this._extractVars(
|
|
557
|
-
// @ts-expect-error
|
|
558
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
558
559
|
KASparse(element.options.value).expr,
|
|
559
560
|
),
|
|
560
561
|
"x",
|
|
@@ -563,21 +564,21 @@ class Interaction extends React.Component<Props, State> {
|
|
|
563
564
|
// change
|
|
564
565
|
const varValues = _.object(
|
|
565
566
|
vars,
|
|
566
|
-
// @ts-expect-error
|
|
567
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
567
568
|
_.map(vars, (v) => this.state.variables[v]),
|
|
568
569
|
);
|
|
569
570
|
|
|
570
571
|
const range = [
|
|
571
|
-
// @ts-expect-error
|
|
572
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
572
573
|
this._eval(
|
|
573
574
|
element.options.rangeMin,
|
|
574
|
-
// @ts-expect-error
|
|
575
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
575
576
|
this.state.variables,
|
|
576
577
|
),
|
|
577
|
-
// @ts-expect-error
|
|
578
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
578
579
|
this._eval(
|
|
579
580
|
element.options.rangeMax,
|
|
580
|
-
// @ts-expect-error
|
|
581
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
581
582
|
this.state.variables,
|
|
582
583
|
),
|
|
583
584
|
];
|
|
@@ -604,23 +605,23 @@ class Interaction extends React.Component<Props, State> {
|
|
|
604
605
|
if (element.type === "parametric") {
|
|
605
606
|
const fn = (t: any) => {
|
|
606
607
|
return [
|
|
607
|
-
// @ts-expect-error
|
|
608
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
608
609
|
this._eval(element.options.x, {t: t}),
|
|
609
|
-
// @ts-expect-error
|
|
610
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
610
611
|
this._eval(element.options.y, {t: t}),
|
|
611
612
|
];
|
|
612
613
|
};
|
|
613
614
|
// find all the variables referenced by this
|
|
614
615
|
// function
|
|
615
616
|
const vars = _.without(
|
|
616
|
-
// @ts-expect-error
|
|
617
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
617
618
|
this._extractVars(
|
|
618
|
-
// @ts-expect-error
|
|
619
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
619
620
|
KASparse(element.options.x).expr,
|
|
620
621
|
).concat(
|
|
621
|
-
// @ts-expect-error
|
|
622
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
622
623
|
this._extractVars(
|
|
623
|
-
// @ts-expect-error
|
|
624
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
624
625
|
KASparse(element.options.y).expr,
|
|
625
626
|
),
|
|
626
627
|
),
|
|
@@ -629,21 +630,21 @@ class Interaction extends React.Component<Props, State> {
|
|
|
629
630
|
// and find their values, so we redraw if any change
|
|
630
631
|
const varValues = _.object(
|
|
631
632
|
vars,
|
|
632
|
-
// @ts-expect-error
|
|
633
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
633
634
|
_.map(vars, (v) => this.state.variables[v]),
|
|
634
635
|
);
|
|
635
636
|
|
|
636
637
|
const range = [
|
|
637
|
-
// @ts-expect-error
|
|
638
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
638
639
|
this._eval(
|
|
639
640
|
element.options.rangeMin,
|
|
640
|
-
// @ts-expect-error
|
|
641
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
641
642
|
this.state.variables,
|
|
642
643
|
),
|
|
643
|
-
// @ts-expect-error
|
|
644
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
644
645
|
this._eval(
|
|
645
646
|
element.options.rangeMax,
|
|
646
|
-
// @ts-expect-error
|
|
647
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
647
648
|
this.state.variables,
|
|
648
649
|
),
|
|
649
650
|
];
|
|
@@ -670,9 +671,9 @@ class Interaction extends React.Component<Props, State> {
|
|
|
670
671
|
}
|
|
671
672
|
if (element.type === "label") {
|
|
672
673
|
const coord = [
|
|
673
|
-
// @ts-expect-error
|
|
674
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
674
675
|
this._eval(element.options.coordX),
|
|
675
|
-
// @ts-expect-error
|
|
676
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
676
677
|
this._eval(element.options.coordY),
|
|
677
678
|
];
|
|
678
679
|
return (
|
|
@@ -692,17 +693,17 @@ class Interaction extends React.Component<Props, State> {
|
|
|
692
693
|
return (
|
|
693
694
|
<Rect
|
|
694
695
|
key={n + 1}
|
|
695
|
-
// @ts-expect-error
|
|
696
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
696
697
|
x={this._eval(element.options.coordX)}
|
|
697
|
-
// @ts-expect-error
|
|
698
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
698
699
|
y={this._eval(element.options.coordY)}
|
|
699
700
|
width={_.max([
|
|
700
|
-
// @ts-expect-error
|
|
701
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
701
702
|
this._eval(element.options.width),
|
|
702
703
|
0,
|
|
703
704
|
])}
|
|
704
705
|
height={_.max([
|
|
705
|
-
// @ts-expect-error
|
|
706
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
706
707
|
this._eval(element.options.height),
|
|
707
708
|
0,
|
|
708
709
|
])}
|
|
@@ -748,11 +749,11 @@ const _getInitialVariables: (
|
|
|
748
749
|
const variables: Record<string, any> = {};
|
|
749
750
|
// TODO(eater): look at all this copypasta! refactor this!
|
|
750
751
|
_.each(_.where(elements, {type: "movable-point"}), (element) => {
|
|
751
|
-
// @ts-expect-error
|
|
752
|
+
// @ts-expect-error - TS2339 - Property 'varSubscript' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
752
753
|
const subscript = element.options.varSubscript;
|
|
753
|
-
// @ts-expect-error
|
|
754
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1. | TS2339 - Property 'startX' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
754
755
|
const startXExpr = KASparse(element.options.startX || "0").expr;
|
|
755
|
-
// @ts-expect-error
|
|
756
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1. | TS2339 - Property 'startY' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
756
757
|
const startYExpr = KASparse(element.options.startY || "0").expr;
|
|
757
758
|
let startX = 0;
|
|
758
759
|
let startY = 0;
|
|
@@ -766,17 +767,17 @@ const _getInitialVariables: (
|
|
|
766
767
|
variables["y_" + subscript] = startY;
|
|
767
768
|
});
|
|
768
769
|
_.each(_.where(elements, {type: "movable-line"}), (element) => {
|
|
769
|
-
// @ts-expect-error
|
|
770
|
+
// @ts-expect-error - TS2339 - Property 'startSubscript' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
770
771
|
const startSubscript = element.options.startSubscript;
|
|
771
|
-
// @ts-expect-error
|
|
772
|
+
// @ts-expect-error - TS2339 - Property 'endSubscript' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
772
773
|
const endSubscript = element.options.endSubscript;
|
|
773
|
-
// @ts-expect-error
|
|
774
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1. | TS2339 - Property 'startX' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
774
775
|
const startXExpr = KASparse(element.options.startX || "0").expr;
|
|
775
|
-
// @ts-expect-error
|
|
776
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1. | TS2339 - Property 'startY' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
776
777
|
const startYExpr = KASparse(element.options.startY || "0").expr;
|
|
777
|
-
// @ts-expect-error
|
|
778
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1. | TS2339 - Property 'endX' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
778
779
|
const endXExpr = KASparse(element.options.endX || "0").expr;
|
|
779
|
-
// @ts-expect-error
|
|
780
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1. | TS2339 - Property 'endY' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
780
781
|
const endYExpr = KASparse(element.options.endY || "0").expr;
|
|
781
782
|
let startX = 0;
|
|
782
783
|
let startY = 0;
|
|
@@ -800,7 +801,7 @@ const _getInitialVariables: (
|
|
|
800
801
|
variables["y_" + endSubscript] = endY;
|
|
801
802
|
});
|
|
802
803
|
_.each(_.where(elements, {type: "function"}), (element) => {
|
|
803
|
-
// @ts-expect-error
|
|
804
|
+
// @ts-expect-error - TS2339 - Property 'funcName' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'. | TS2339 - Property 'value' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
804
805
|
variables[element.options.funcName] = element.options.value;
|
|
805
806
|
});
|
|
806
807
|
return variables;
|
|
@@ -811,7 +812,7 @@ const _getInitialFunctions: (
|
|
|
811
812
|
) => ReadonlyArray<string> = (elements) => {
|
|
812
813
|
return _.map(
|
|
813
814
|
_.where(elements, {type: "function"}),
|
|
814
|
-
// @ts-expect-error
|
|
815
|
+
// @ts-expect-error - TS2339 - Property 'funcName' does not exist on type 'PerseusInteractionFunctionElementOptions | PerseusInteractionLabelElementOptions | ... 5 more ... | PerseusInteractionRectangleElementOptions'.
|
|
815
816
|
(element) => element.options.funcName,
|
|
816
817
|
);
|
|
817
818
|
};
|