@khanacademy/perseus 7.2.1 → 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 +26 -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.js +1139 -1189
- package/dist/es/index.js.map +1 -1
- package/dist/hints-renderer.d.ts +1 -1
- package/dist/index.js +1141 -1192
- 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/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 +1 -1
- 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/__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 +11 -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 +1 -1
- package/src/components/image-loader.tsx +4 -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 +10 -10
- package/src/components/prop-check-box.tsx +1 -1
- package/src/components/simple-keypad-input.tsx +4 -4
- package/src/components/sortable.tsx +42 -41
- package/src/components/svg-image.tsx +12 -12
- package/src/components/tex-buttons.tsx +4 -3
- package/src/components/text-input.tsx +8 -8
- package/src/components/text-list-editor.tsx +11 -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 +8 -8
- package/src/hint-renderer.tsx +3 -3
- package/src/hints-renderer.tsx +11 -11
- 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 +5 -5
- package/src/mixins/changeable.ts +2 -2
- package/src/mixins/editor-jsonify.ts +1 -1
- package/src/mixins/provide-keypad.tsx +23 -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 +14 -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 +38 -38
- package/src/server-item-renderer.tsx +5 -5
- package/src/sigfigs.ts +1 -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__/test-keypad-context-wrapper.tsx +3 -3
- package/src/widgets/__testdata__/numeric-input.testdata.ts +1 -1
- 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 +2 -1
- package/src/widgets/__tests__/radio/base-radio.test.tsx +7 -7
- package/src/widgets/__tests__/renderQuestion.tsx +3 -3
- package/src/widgets/categorizer.tsx +4 -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 +5 -5
- package/src/widgets/graded-group.tsx +18 -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 +77 -77
- package/src/widgets/interactive-graph.tsx +109 -107
- package/src/widgets/label-image/marker.tsx +2 -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 +6 -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 +38 -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 +1 -1
- package/src/widgets/passage-ref.tsx +4 -6
- package/src/widgets/passage.tsx +11 -11
- package/src/widgets/plotter.tsx +9 -9
- package/src/widgets/radio/base-radio.tsx +11 -11
- package/src/widgets/radio/choice-icon/choice-icon.tsx +2 -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 +4 -4
- package/src/widgets/table.tsx +8 -8
- package/src/widgets/transformer.tsx +92 -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 -112
- 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
package/src/widgets/unit.tsx
CHANGED
|
@@ -108,7 +108,7 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
108
108
|
const sigfigs = rubric.sigfigs;
|
|
109
109
|
const sigfigsCorrect = countSigfigs(guess.coefficient) === sigfigs;
|
|
110
110
|
if (!sigfigsCorrect) {
|
|
111
|
-
// @ts-expect-error
|
|
111
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'null'.
|
|
112
112
|
message = i18n._("Check your significant figures.");
|
|
113
113
|
}
|
|
114
114
|
|
|
@@ -136,7 +136,7 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
if (!numericallyCorrect) {
|
|
139
|
-
// @ts-expect-error
|
|
139
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'null'.
|
|
140
140
|
message = i18n._("That answer is numerically incorrect.");
|
|
141
141
|
}
|
|
142
142
|
|
|
@@ -163,7 +163,7 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
165
|
if (!kasCorrect) {
|
|
166
|
-
// @ts-expect-error
|
|
166
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'null'.
|
|
167
167
|
message = i18n._("Check your units.");
|
|
168
168
|
}
|
|
169
169
|
|
|
@@ -180,14 +180,14 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
180
180
|
componentDidUpdate() {
|
|
181
181
|
// TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
|
|
182
182
|
// eslint-disable-next-line no-restricted-syntax
|
|
183
|
-
// @ts-expect-error
|
|
183
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
184
184
|
clearTimeout(this._errorTimeout);
|
|
185
185
|
if (KAS.unitParse(this.props.value).parsed) {
|
|
186
186
|
this._hideError();
|
|
187
187
|
} else {
|
|
188
188
|
// TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
|
|
189
189
|
// eslint-disable-next-line no-restricted-syntax
|
|
190
|
-
// @ts-expect-error
|
|
190
|
+
// @ts-expect-error - TS2322 - Type 'Timeout' is not assignable to type 'number'.
|
|
191
191
|
this._errorTimeout = setTimeout(this._showError, 2000);
|
|
192
192
|
}
|
|
193
193
|
}
|
|
@@ -195,7 +195,7 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
195
195
|
componentWillUnmount() {
|
|
196
196
|
// TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
|
|
197
197
|
// eslint-disable-next-line no-restricted-syntax
|
|
198
|
-
// @ts-expect-error
|
|
198
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
199
199
|
clearTimeout(this._errorTimeout);
|
|
200
200
|
}
|
|
201
201
|
|
|
@@ -205,12 +205,12 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
// eslint-disable-next-line react/no-string-refs
|
|
208
|
-
// @ts-expect-error
|
|
208
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
209
209
|
const $error = $(ReactDOM.findDOMNode(this.refs.error));
|
|
210
|
-
// @ts-expect-error
|
|
210
|
+
// @ts-expect-error - TS2339 - Property 'is' does not exist on type 'JQueryStatic'.
|
|
211
211
|
if (!$error.is(":visible")) {
|
|
212
212
|
$error
|
|
213
|
-
// @ts-expect-error
|
|
213
|
+
// @ts-expect-error - TS2554 - Expected 2 arguments, but got 1.
|
|
214
214
|
.css({top: 50, opacity: 0.1})
|
|
215
215
|
.show()
|
|
216
216
|
.animate({top: 0, opacity: 1.0}, 300);
|
|
@@ -219,14 +219,14 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
219
219
|
|
|
220
220
|
_hideError: () => void = () => {
|
|
221
221
|
// eslint-disable-next-line react/no-string-refs
|
|
222
|
-
// @ts-expect-error
|
|
222
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
223
223
|
const $error = $(ReactDOM.findDOMNode(this.refs.error));
|
|
224
|
-
// @ts-expect-error
|
|
224
|
+
// @ts-expect-error - TS2339 - Property 'is' does not exist on type 'JQueryStatic'.
|
|
225
225
|
if ($error.is(":visible")) {
|
|
226
|
-
// @ts-expect-error
|
|
226
|
+
// @ts-expect-error - TS2339 - Property 'animate' does not exist on type 'JQueryStatic'.
|
|
227
227
|
$error.animate({top: 50, opacity: 0.1}, 300, function () {
|
|
228
228
|
// eslint-disable-next-line @babel/no-invalid-this
|
|
229
|
-
// @ts-expect-error
|
|
229
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
230
230
|
// eslint-disable-next-line @babel/no-invalid-this
|
|
231
231
|
$(this).hide();
|
|
232
232
|
});
|
|
@@ -236,7 +236,7 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
236
236
|
change: (...args: ReadonlyArray<any>) => any | null | undefined = (
|
|
237
237
|
...args
|
|
238
238
|
) => {
|
|
239
|
-
// @ts-expect-error
|
|
239
|
+
// @ts-expect-error - TS2345 - Argument of type 'readonly any[]' is not assignable to parameter of type 'any[]'.
|
|
240
240
|
return Changeable.change.apply(this, args);
|
|
241
241
|
};
|
|
242
242
|
|
|
@@ -244,7 +244,7 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
244
244
|
this.props.onBlur([]);
|
|
245
245
|
// TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
|
|
246
246
|
// eslint-disable-next-line no-restricted-syntax
|
|
247
|
-
// @ts-expect-error
|
|
247
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
248
248
|
clearTimeout(this._errorTimeout);
|
|
249
249
|
if (!KAS.unitParse(this.props.value).parsed) {
|
|
250
250
|
this._showError();
|
|
@@ -287,7 +287,7 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
287
287
|
* Change to using a ref callback so that focus() can be
|
|
288
288
|
* accessed.
|
|
289
289
|
*/
|
|
290
|
-
// @ts-expect-error
|
|
290
|
+
// @ts-expect-error - TS2339 - Property 'focus' does not exist on type 'Element | Text'.
|
|
291
291
|
input.focus();
|
|
292
292
|
}
|
|
293
293
|
};
|
|
@@ -305,7 +305,7 @@ export class OldUnitInput extends React.Component<Props> {
|
|
|
305
305
|
* Change to using a ref callback so that focus() can be
|
|
306
306
|
* accessed.
|
|
307
307
|
*/
|
|
308
|
-
// @ts-expect-error
|
|
308
|
+
// @ts-expect-error - TS2339 - Property 'blur' does not exist on type 'Element | Text'.
|
|
309
309
|
input.blur();
|
|
310
310
|
}
|
|
311
311
|
};
|
|
@@ -138,7 +138,7 @@ describe("VideoTranscriptLink", () => {
|
|
|
138
138
|
// Arrange
|
|
139
139
|
jest.spyOn(Dependencies, "getDependencies").mockReturnValue({
|
|
140
140
|
...testDependencies,
|
|
141
|
-
// @ts-expect-error
|
|
141
|
+
// @ts-expect-error - TS2322 - Type '(videoId: string, kind: VideoKind) => { status: "success"; data: {}; }' is not assignable to type '(id: string, kind: VideoKind) => Result<{ video: VideoData | null | undefined; }>'.
|
|
142
142
|
useVideo: (videoId, kind) => {
|
|
143
143
|
return {status: "success", data: {}};
|
|
144
144
|
},
|
|
@@ -169,7 +169,7 @@ describe("VideoTranscriptLink", () => {
|
|
|
169
169
|
// Arrange
|
|
170
170
|
jest.spyOn(Dependencies, "getDependencies").mockReturnValue({
|
|
171
171
|
...testDependencies,
|
|
172
|
-
// @ts-expect-error
|
|
172
|
+
// @ts-expect-error - TS2322 - Type '(videoId: string, kind: VideoKind) => { status: "success"; data: {}; }' is not assignable to type '(id: string, kind: VideoKind) => Result<{ video: VideoData | null | undefined; }>'.
|
|
173
173
|
useVideo: (videoId, kind) => {
|
|
174
174
|
return {status: "success", data: {}};
|
|
175
175
|
},
|
|
@@ -186,7 +186,7 @@ describe("VideoTranscriptLink", () => {
|
|
|
186
186
|
// Arrange
|
|
187
187
|
jest.spyOn(Dependencies, "getDependencies").mockReturnValue({
|
|
188
188
|
...testDependencies,
|
|
189
|
-
// @ts-expect-error
|
|
189
|
+
// @ts-expect-error - TS2322 - Type '(videoId: string, kind: VideoKind) => { status: "error"; }' is not assignable to type '(id: string, kind: VideoKind) => Result<{ video: VideoData | null | undefined; }>'.
|
|
190
190
|
useVideo: (videoId, kind) => {
|
|
191
191
|
return {status: "error"};
|
|
192
192
|
},
|
|
@@ -39,7 +39,7 @@ const VideoTranscriptLink = (props: Props): React.ReactElement => {
|
|
|
39
39
|
: [location, "READABLE_ID"];
|
|
40
40
|
// The result value conforms to the wonder-blocks-data `Result` type
|
|
41
41
|
// which is used by our GraphQL framework.
|
|
42
|
-
// @ts-expect-error
|
|
42
|
+
// @ts-expect-error - TS2345 - Argument of type 'string' is not assignable to parameter of type 'VideoKind'.
|
|
43
43
|
const result = useVideo(id, kind);
|
|
44
44
|
|
|
45
45
|
switch (result.status) {
|
package/src/widgets/video.tsx
CHANGED
|
@@ -59,7 +59,7 @@ class Video extends React.Component<Props> {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
change: (...args: ReadonlyArray<unknown>) => any = (...args) => {
|
|
62
|
-
// @ts-expect-error
|
|
62
|
+
// @ts-expect-error - TS2345 - Argument of type 'readonly unknown[]' is not assignable to parameter of type 'any[]'.
|
|
63
63
|
return Changeable.change.apply(this, args);
|
|
64
64
|
};
|
|
65
65
|
|
package/src/widgets.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import _ from "underscore";
|
|
3
2
|
|
|
4
3
|
import {Errors, Log} from "./logging/log";
|
|
@@ -12,6 +11,7 @@ import type {
|
|
|
12
11
|
WidgetInfo,
|
|
13
12
|
WidgetTransform,
|
|
14
13
|
} from "./types";
|
|
14
|
+
import type * as React from "react";
|
|
15
15
|
|
|
16
16
|
const DEFAULT_ALIGNMENT = "block";
|
|
17
17
|
// NOTE(kevinb): "default" is not one in `validAlignments`.
|
|
@@ -66,7 +66,7 @@ export const getWidget = (
|
|
|
66
66
|
|
|
67
67
|
// Allow widgets to specify a widget directly or via a function
|
|
68
68
|
if (widgets[name].getWidget) {
|
|
69
|
-
// @ts-expect-error
|
|
69
|
+
// @ts-expect-error - TS2722 - Cannot invoke an object which is possibly 'undefined'.
|
|
70
70
|
return widgets[name].getWidget();
|
|
71
71
|
}
|
|
72
72
|
return widgets[name].widget;
|
|
@@ -102,10 +102,10 @@ export const getVersionVector = (): {
|
|
|
102
102
|
|
|
103
103
|
export const getPublicWidgets = (): ReadonlyArray<WidgetExports> => {
|
|
104
104
|
// TODO(alex): Update underscore.js so that _.pick can take a function.
|
|
105
|
-
// @ts-expect-error
|
|
105
|
+
// @ts-expect-error - TS2740 - Type 'Pick<{ [key: string]: Readonly<{ name: string; displayName: string; getWidget?: (() => ComponentType<any>) | undefined; accessible?: boolean | ((props: any) => boolean) | undefined; hidden?: boolean | undefined; ... 10 more ...; widget: ComponentType<...>; }>; }, string>' is missing the following properties from type 'readonly Readonly<{ name: string; displayName: string; getWidget?: (() => ComponentType<any>) | undefined; accessible?: boolean | ((props: any) => boolean) | undefined; hidden?: boolean | undefined; ... 10 more ...; widget: ComponentType<...>; }>[]': length, concat, join, slice, and 18 more.
|
|
106
106
|
return _.pick(
|
|
107
107
|
widgets,
|
|
108
|
-
// @ts-expect-error
|
|
108
|
+
// @ts-expect-error - TS2345 - Argument of type '(name: string) => boolean | undefined' is not assignable to parameter of type 'Iteratee<string[], boolean, string>'.
|
|
109
109
|
_.reject(_.keys(widgets), function (name) {
|
|
110
110
|
return widgets[name].hidden;
|
|
111
111
|
}),
|
|
@@ -318,7 +318,7 @@ export const getSupportedAlignments = (
|
|
|
318
318
|
type: string,
|
|
319
319
|
): ReadonlyArray<Alignment> => {
|
|
320
320
|
const widgetExport = widgets[type];
|
|
321
|
-
// @ts-expect-error
|
|
321
|
+
// @ts-expect-error - TS2322 - Type 'string[] | readonly Alignment[]' is not assignable to type 'readonly Alignment[]'.
|
|
322
322
|
return (
|
|
323
323
|
(widgetExport && widgetExport.supportedAlignments) ||
|
|
324
324
|
DEFAULT_SUPPORTED_ALIGNMENTS
|
package/src/zoom.ts
CHANGED
|
@@ -45,7 +45,7 @@ function transitionEnd() {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
// http://blog.alexmaccaw.com/css-transitions
|
|
48
|
-
// @ts-expect-error
|
|
48
|
+
// @ts-expect-error - TS2339 - Property 'emulateTransitionEnd' does not exist on type 'JQuery<HTMLElement>'.
|
|
49
49
|
$.fn.emulateTransitionEnd = function (duration: any) {
|
|
50
50
|
let called = false;
|
|
51
51
|
const $el = this;
|
|
@@ -75,9 +75,9 @@ $(function () {
|
|
|
75
75
|
bindType: $.support.transition.end,
|
|
76
76
|
delegateType: $.support.transition.end,
|
|
77
77
|
handle: function (e) {
|
|
78
|
-
// @ts-expect-error
|
|
78
|
+
// @ts-expect-error - TS2769 - No overload matches this call.
|
|
79
79
|
if ($(e.target).is(this)) {
|
|
80
|
-
// @ts-expect-error
|
|
80
|
+
// @ts-expect-error - TS2345 - Argument of type 'IArguments' is not assignable to parameter of type '[t: TriggeredEvent<EventTarget, any, any, any>, ...args: any[]]'.
|
|
81
81
|
// eslint-disable-next-line prefer-rest-params
|
|
82
82
|
return e.handleObj.handler.apply(this, arguments);
|
|
83
83
|
}
|
|
@@ -107,14 +107,14 @@ function changeViewportTag(
|
|
|
107
107
|
|
|
108
108
|
// Hacky way to get the page to take the changes
|
|
109
109
|
// From http://stackoverflow.com/a/36894653
|
|
110
|
-
// @ts-expect-error
|
|
110
|
+
// @ts-expect-error - TS2322 - Type 'number' is not assignable to type 'string'.
|
|
111
111
|
document.body.style.opacity = 0.9999;
|
|
112
112
|
|
|
113
113
|
// ... and undo the temporary change.
|
|
114
114
|
// TODO(jeff, CP-3128): Use Wonder Blocks Timing API.
|
|
115
115
|
// eslint-disable-next-line no-restricted-syntax
|
|
116
116
|
setTimeout(() => {
|
|
117
|
-
// @ts-expect-error
|
|
117
|
+
// @ts-expect-error - TS2322 - Type 'number' is not assignable to type 'string'.
|
|
118
118
|
document.body.style.opacity = 1;
|
|
119
119
|
|
|
120
120
|
// ... which involves restoring the scroll position, which may have
|
|
@@ -175,7 +175,7 @@ ZoomServiceClass.prototype.handleZoomClick = function (
|
|
|
175
175
|
|
|
176
176
|
if (
|
|
177
177
|
!enableMobilePinch &&
|
|
178
|
-
// @ts-expect-error
|
|
178
|
+
// @ts-expect-error - TS2554 - Expected 1 arguments, but got 0.
|
|
179
179
|
target.width >= window.innerWidth - Zoom.getOffset()
|
|
180
180
|
) {
|
|
181
181
|
return;
|
|
@@ -298,15 +298,15 @@ ZoomServiceClass.prototype._touchMove = function (e) {
|
|
|
298
298
|
* The zoom object
|
|
299
299
|
*/
|
|
300
300
|
function Zoom(img: any, enableMobilePinch: any) {
|
|
301
|
-
// @ts-expect-error
|
|
301
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
302
302
|
this._fullHeight = this._fullWidth = this._overlay = null;
|
|
303
303
|
|
|
304
|
-
// @ts-expect-error
|
|
304
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
305
305
|
this._targetImage = img;
|
|
306
|
-
// @ts-expect-error
|
|
306
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
307
307
|
this._enableMobilePinch = enableMobilePinch;
|
|
308
308
|
|
|
309
|
-
// @ts-expect-error
|
|
309
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
310
310
|
this._$body = $(document.body);
|
|
311
311
|
}
|
|
312
312
|
|
|
@@ -330,13 +330,13 @@ Zoom.prototype.zoomImage = function () {
|
|
|
330
330
|
img.onload = function () {
|
|
331
331
|
// Load the image without specifying height and width so that we can find
|
|
332
332
|
// the true height and width.
|
|
333
|
-
// @ts-expect-error
|
|
333
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
334
334
|
this._fullHeight = Number(img.height);
|
|
335
|
-
// @ts-expect-error
|
|
335
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
336
336
|
this._fullWidth = Number(img.width);
|
|
337
337
|
|
|
338
338
|
// Set up our image to mirror the current image on the document.
|
|
339
|
-
// @ts-expect-error
|
|
339
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
340
340
|
const imageOffset = (this._imageOffset = $(this._targetImage).offset());
|
|
341
341
|
|
|
342
342
|
// Position the image using viewport-fixed coordinates so that it is
|
|
@@ -345,21 +345,21 @@ Zoom.prototype.zoomImage = function () {
|
|
|
345
345
|
// Said another way ... get the coordinates of the image relative to
|
|
346
346
|
// the viewport, and use those to position our new image (which is
|
|
347
347
|
// absolutely positioned within a full-bleed fixed-position container).
|
|
348
|
-
// @ts-expect-error
|
|
348
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2532 - Object is possibly 'undefined'. | TS2532 - Object is possibly 'undefined'.
|
|
349
349
|
const left = (this._left = imageOffset.left - $(window).scrollLeft());
|
|
350
|
-
// @ts-expect-error
|
|
350
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation. | TS2532 - Object is possibly 'undefined'. | TS2532 - Object is possibly 'undefined'.
|
|
351
351
|
const top = (this._top = imageOffset.top - $(window).scrollTop());
|
|
352
352
|
|
|
353
353
|
$zoomedImage.css({
|
|
354
354
|
left: left,
|
|
355
355
|
top: top,
|
|
356
|
-
// @ts-expect-error
|
|
356
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
357
357
|
width: this._targetImage.width,
|
|
358
|
-
// @ts-expect-error
|
|
358
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
359
359
|
height: this._targetImage.height,
|
|
360
360
|
});
|
|
361
361
|
|
|
362
|
-
// @ts-expect-error
|
|
362
|
+
// @ts-expect-error - TS2683 - 'this' implicitly has type 'any' because it does not have a type annotation.
|
|
363
363
|
this._zoomOriginal();
|
|
364
364
|
}.bind(this);
|
|
365
365
|
|
|
@@ -413,9 +413,9 @@ Zoom.prototype._calculateZoom = function () {
|
|
|
413
413
|
};
|
|
414
414
|
|
|
415
415
|
Zoom.prototype._triggerAnimation = function () {
|
|
416
|
-
// @ts-expect-error
|
|
416
|
+
// @ts-expect-error - TS2532 - Object is possibly 'undefined'.
|
|
417
417
|
const viewportY = $(window).scrollTop() + window.innerHeight / 2;
|
|
418
|
-
// @ts-expect-error
|
|
418
|
+
// @ts-expect-error - TS2532 - Object is possibly 'undefined'.
|
|
419
419
|
const viewportX = $(window).scrollLeft() + window.innerWidth / 2;
|
|
420
420
|
|
|
421
421
|
const scaleFactor = this._imgScaleFactor;
|
|
@@ -464,7 +464,7 @@ Zoom.prototype._onZoomInFinish = function () {
|
|
|
464
464
|
// Horizontally center the image within the viewport, either by positioning
|
|
465
465
|
// with CSS or scrolling the viewport.
|
|
466
466
|
if (width < window.innerWidth) {
|
|
467
|
-
// @ts-expect-error
|
|
467
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'number'.
|
|
468
468
|
left = "50%";
|
|
469
469
|
marginLeft = -width / 2;
|
|
470
470
|
} else {
|
|
@@ -473,7 +473,7 @@ Zoom.prototype._onZoomInFinish = function () {
|
|
|
473
473
|
|
|
474
474
|
// ... and similarly, vertically center the image within the viewport.
|
|
475
475
|
if (height < window.innerHeight) {
|
|
476
|
-
// @ts-expect-error
|
|
476
|
+
// @ts-expect-error - TS2322 - Type 'string' is not assignable to type 'number'.
|
|
477
477
|
top = "50%";
|
|
478
478
|
marginTop = -height / 2;
|
|
479
479
|
} else {
|