@khanacademy/perseus 19.1.2 → 19.1.4
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 +24 -0
- package/dist/all-widgets.d.ts +1 -1
- package/dist/basic-widgets.d.ts +1 -1
- package/dist/es/index.js +38 -70
- package/dist/es/index.js.map +1 -1
- package/dist/extra-widgets.d.ts +1 -1
- package/dist/index.js +51 -55
- package/dist/index.js.map +1 -1
- package/dist/interactive2/interactive-util.d.ts +1 -1
- package/dist/interactive2/movable.d.ts +20 -1
- package/dist/types.d.ts +1 -1
- package/dist/util/graphie.d.ts +1 -1
- package/dist/widgets/categorizer.d.ts +1 -1
- package/dist/widgets/cs-program.d.ts +1 -1
- package/dist/widgets/definition.d.ts +1 -1
- package/dist/widgets/deprecated-standin/index.d.ts +1 -1
- package/dist/widgets/dropdown.d.ts +1 -1
- package/dist/widgets/explanation.d.ts +1 -1
- package/dist/widgets/expression.d.ts +14 -14
- package/dist/widgets/graded-group-set.d.ts +1 -1
- package/dist/widgets/graded-group.d.ts +1 -1
- package/dist/widgets/grapher.d.ts +1 -1
- package/dist/widgets/group.d.ts +1 -1
- package/dist/widgets/iframe.d.ts +1 -1
- package/dist/widgets/image.d.ts +1 -1
- package/dist/widgets/input-number.d.ts +1 -1
- package/dist/widgets/interaction.d.ts +1 -1
- package/dist/widgets/interactive-graph.d.ts +1 -1
- package/dist/widgets/label-image.d.ts +14 -14
- package/dist/widgets/lights-puzzle.d.ts +1 -1
- package/dist/widgets/matcher.d.ts +1 -1
- package/dist/widgets/matrix.d.ts +1 -1
- package/dist/widgets/measurer.d.ts +1 -1
- package/dist/widgets/molecule.d.ts +1 -1
- package/dist/widgets/number-line.d.ts +1 -1
- package/dist/widgets/numeric-input.d.ts +1 -1
- package/dist/widgets/orderer.d.ts +1 -1
- package/dist/widgets/passage-ref-target.d.ts +1 -1
- package/dist/widgets/passage-ref.d.ts +1 -1
- package/dist/widgets/passage.d.ts +1 -1
- package/dist/widgets/plotter.d.ts +1 -1
- package/dist/widgets/radio.d.ts +1 -1
- package/dist/widgets/reaction-diagram.d.ts +1 -1
- package/dist/widgets/sequence.d.ts +1 -1
- package/dist/widgets/simulator.d.ts +1 -1
- package/dist/widgets/sorter.d.ts +1 -1
- package/dist/widgets/table.d.ts +1 -1
- package/dist/widgets/unit.d.ts +1 -1
- package/dist/widgets/video.d.ts +1 -1
- package/package.json +2 -2
- package/src/__tests__/init.test.ts +10 -0
- package/src/init.ts +1 -4
- package/src/interactive2/__tests__/movable-mock.ts +2 -1
- package/src/interactive2/__tests__/movable.test.ts +157 -0
- package/src/interactive2/interactive-util.test.ts +93 -0
- package/src/interactive2/interactive-util.ts +19 -15
- package/src/interactive2/movable-helper-methods.ts +7 -2
- package/src/interactive2/movable-line.ts +1 -12
- package/src/interactive2/movable-point.tsx +1 -9
- package/src/interactive2/movable-polygon.ts +1 -9
- package/src/interactive2/movable.ts +49 -44
- package/src/types.ts +4 -2
- package/src/util/graphie.ts +3 -1
- package/src/widgets/__tests__/__snapshots__/input-number.test.ts.snap +1 -1
- package/src/widgets/__tests__/__snapshots__/numeric-input.test.ts.snap +1 -1
- package/src/widgets/label-image/marker.tsx +4 -0
- package/src/widgets/label-image.tsx +2 -7
- package/src/widgets.ts +4 -1
- package/tsconfig-build.tsbuildinfo +1 -1
package/src/util/graphie.ts
CHANGED
|
@@ -121,13 +121,15 @@ export class Graphie {
|
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
init(options: {
|
|
124
|
-
range
|
|
124
|
+
range: [Interval, Interval];
|
|
125
125
|
scale?: number | Coord;
|
|
126
126
|
isMobile?: boolean;
|
|
127
127
|
}) {
|
|
128
128
|
let scale = options.scale || [40, 40];
|
|
129
129
|
scale = typeof scale === "number" ? [scale, scale] : scale;
|
|
130
130
|
|
|
131
|
+
// TODO(jeremy): This can be removed once we're confident that callers
|
|
132
|
+
// obey the Typescript types.
|
|
131
133
|
if (options.range == null) {
|
|
132
134
|
throw new PerseusError(
|
|
133
135
|
"range should be specified in graph init",
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import Color from "@khanacademy/wonder-blocks-color";
|
|
9
9
|
import {View, type StyleType} from "@khanacademy/wonder-blocks-core";
|
|
10
|
+
import * as i18n from "@khanacademy/wonder-blocks-i18n";
|
|
10
11
|
import {StyleSheet} from "aphrodite";
|
|
11
12
|
import * as React from "react";
|
|
12
13
|
|
|
@@ -127,6 +128,7 @@ export default class Marker extends React.Component<Props> {
|
|
|
127
128
|
answerStyles,
|
|
128
129
|
hovered,
|
|
129
130
|
focused,
|
|
131
|
+
label,
|
|
130
132
|
} = this.props;
|
|
131
133
|
|
|
132
134
|
// We cannot make dropdown openers untabbable, so we isolate tabbing
|
|
@@ -141,6 +143,8 @@ export default class Marker extends React.Component<Props> {
|
|
|
141
143
|
styles.marker,
|
|
142
144
|
active && !markerDisabled && styles.markerActive,
|
|
143
145
|
]}
|
|
146
|
+
// already translated in: /widgets/graded-group.tsx
|
|
147
|
+
aria-label={markerDisabled ? i18n._("Correct!") : label}
|
|
144
148
|
>
|
|
145
149
|
{this.renderIcon()}
|
|
146
150
|
</View>
|
|
@@ -598,16 +598,11 @@ export class LabelImage extends React.Component<
|
|
|
598
598
|
}
|
|
599
599
|
// cannot change answer choices once question is answered
|
|
600
600
|
disabled={disabled}
|
|
601
|
-
opener={({opened
|
|
601
|
+
opener={({opened}) => (
|
|
602
602
|
<Clickable
|
|
603
603
|
role="button"
|
|
604
|
+
aria-expanded={opened}
|
|
604
605
|
key={`marker-${marker.x}.${marker.y}`}
|
|
605
|
-
aria-label={
|
|
606
|
-
// already translated in: /widgets/graded-group.tsx
|
|
607
|
-
showCorrectness === "correct"
|
|
608
|
-
? i18n._("Correct!")
|
|
609
|
-
: marker.label
|
|
610
|
-
}
|
|
611
606
|
>
|
|
612
607
|
{({hovered, focused, pressed}) => (
|
|
613
608
|
<Marker
|
package/src/widgets.ts
CHANGED
|
@@ -170,7 +170,10 @@ export const upgradeWidgetInfoToLatestVersion = (
|
|
|
170
170
|
oldWidgetInfo: PerseusWidget,
|
|
171
171
|
): PerseusWidget => {
|
|
172
172
|
const type = oldWidgetInfo.type;
|
|
173
|
-
//
|
|
173
|
+
// NOTE(jeremy): This looks like it could be replaced by fixing types so
|
|
174
|
+
// that `type` is non-optional. But we're seeing this in Sentry today so I
|
|
175
|
+
// suspect we have legacy data (potentially unpublished) and we should
|
|
176
|
+
// figure that out before depending solely on types.
|
|
174
177
|
if (!_.isString(type)) {
|
|
175
178
|
throw new PerseusError(
|
|
176
179
|
"widget type must be a string, but was: " + type,
|