@khanacademy/perseus-editor 30.0.4 → 30.1.1
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/dist/components/blur-input.d.ts +2 -2
- package/dist/components/drag-target.d.ts +8 -10
- package/dist/components/dropdown-option.d.ts +1 -1
- package/dist/components/graph-settings.d.ts +33 -42
- package/dist/components/json-editor.d.ts +5 -4
- package/dist/components/link.d.ts +1 -3
- package/dist/editor.d.ts +1 -1
- package/dist/es/index.js +54 -52
- package/dist/es/index.js.map +1 -1
- package/dist/index.js +53 -51
- package/dist/index.js.map +1 -1
- package/dist/util/clipboard.d.ts +7 -0
- package/dist/widgets/grapher-editor.d.ts +9 -6
- package/dist/widgets/interaction-editor/interaction-editor.d.ts +3 -4
- package/dist/widgets/interactive-graph-editor/interactive-graph-editor.d.ts +0 -48
- package/package.json +12 -12
|
@@ -13,8 +13,8 @@ declare class BlurInput extends React.Component<Props, State> {
|
|
|
13
13
|
input: React.RefObject<HTMLInputElement>;
|
|
14
14
|
constructor(props: Props);
|
|
15
15
|
UNSAFE_componentWillReceiveProps(nextProps: Props): void;
|
|
16
|
-
handleChange: (e:
|
|
17
|
-
handleBlur: (e:
|
|
16
|
+
handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
17
|
+
handleBlur: (e: React.FocusEvent<HTMLInputElement>) => void;
|
|
18
18
|
focus(): void;
|
|
19
19
|
render(): React.ReactNode;
|
|
20
20
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
type Props = {
|
|
3
|
-
onDrop: (e:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
children?: any;
|
|
3
|
+
onDrop: (e: React.MouseEvent) => unknown;
|
|
4
|
+
shouldDragHighlight: (e: React.MouseEvent) => boolean;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
children?: React.ReactNode;
|
|
8
7
|
className?: string;
|
|
9
8
|
};
|
|
10
9
|
type DefaultProps = {
|
|
11
|
-
component: Props["component"];
|
|
12
10
|
shouldDragHighlight: Props["shouldDragHighlight"];
|
|
13
11
|
};
|
|
14
12
|
type State = {
|
|
@@ -16,12 +14,12 @@ type State = {
|
|
|
16
14
|
};
|
|
17
15
|
declare class DragTarget extends React.Component<Props, State> {
|
|
18
16
|
static defaultProps: DefaultProps;
|
|
19
|
-
constructor(props:
|
|
20
|
-
handleDrop(e:
|
|
17
|
+
constructor(props: Props);
|
|
18
|
+
handleDrop(e: React.MouseEvent): void;
|
|
21
19
|
handleDragEnd(): void;
|
|
22
|
-
handleDragOver(e:
|
|
20
|
+
handleDragOver(e: React.MouseEvent): void;
|
|
23
21
|
handleDragLeave(): void;
|
|
24
|
-
handleDragEnter(e:
|
|
22
|
+
handleDragEnter(e: React.MouseEvent): void;
|
|
25
23
|
render(): React.JSX.Element;
|
|
26
24
|
}
|
|
27
25
|
export default DragTarget;
|
|
@@ -12,7 +12,7 @@ type Props = {
|
|
|
12
12
|
};
|
|
13
13
|
declare class Option extends React.Component<Props> {
|
|
14
14
|
node: HTMLDivElement;
|
|
15
|
-
handleKeyDown(event:
|
|
15
|
+
handleKeyDown(event: React.KeyboardEvent<HTMLButtonElement>): void;
|
|
16
16
|
render(): React.ReactNode;
|
|
17
17
|
}
|
|
18
18
|
declare class OptionGroup extends React.Component<{
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Changeable } from "@khanacademy/perseus";
|
|
2
1
|
import * as React from "react";
|
|
3
|
-
import type { Coords, MarkingsType } from "@khanacademy/perseus-core";
|
|
2
|
+
import type { Coords, MarkingsType, PerseusImageBackground } from "@khanacademy/perseus-core";
|
|
4
3
|
type Props = {
|
|
5
4
|
editableSettings: ReadonlyArray<"canvas" | "graph" | "snap" | "image" | "measure">;
|
|
6
5
|
box: readonly number[];
|
|
@@ -10,14 +9,15 @@ type Props = {
|
|
|
10
9
|
gridStep: [number, number];
|
|
11
10
|
snapStep: [number, number];
|
|
12
11
|
valid: boolean;
|
|
13
|
-
backgroundImage:
|
|
12
|
+
backgroundImage: PerseusImageBackground;
|
|
14
13
|
markings: MarkingsType;
|
|
15
14
|
showProtractor?: boolean;
|
|
16
15
|
showRuler?: boolean;
|
|
17
16
|
showTooltips?: boolean;
|
|
18
17
|
rulerLabel: string;
|
|
19
18
|
rulerTicks: number;
|
|
20
|
-
|
|
19
|
+
onChange: (values: Record<string, unknown>) => void;
|
|
20
|
+
};
|
|
21
21
|
type DefaultProps = {
|
|
22
22
|
editableSettings: Props["editableSettings"];
|
|
23
23
|
box: Props["box"];
|
|
@@ -36,54 +36,45 @@ type DefaultProps = {
|
|
|
36
36
|
showTooltips?: Props["showTooltips"];
|
|
37
37
|
};
|
|
38
38
|
type State = {
|
|
39
|
-
labelsTextbox: string[];
|
|
39
|
+
labelsTextbox: readonly string[];
|
|
40
40
|
gridStepTextbox: number[];
|
|
41
41
|
snapStepTextbox: number[];
|
|
42
42
|
stepTextbox: number[];
|
|
43
|
-
rangeTextbox:
|
|
44
|
-
backgroundImage:
|
|
43
|
+
rangeTextbox: [number, number][];
|
|
44
|
+
backgroundImage: PerseusImageBackground;
|
|
45
45
|
};
|
|
46
46
|
declare class GraphSettings extends React.Component<Props, State> {
|
|
47
47
|
static displayName: "GraphSettings";
|
|
48
48
|
static defaultProps: DefaultProps;
|
|
49
49
|
_isMounted: boolean;
|
|
50
|
-
constructor(props:
|
|
51
|
-
getInitialState():
|
|
52
|
-
labelsTextbox: any;
|
|
53
|
-
gridStepTextbox: any;
|
|
54
|
-
snapStepTextbox: any;
|
|
55
|
-
stepTextbox: any;
|
|
56
|
-
rangeTextbox: any;
|
|
57
|
-
backgroundImage: any;
|
|
58
|
-
};
|
|
50
|
+
constructor(props: Props);
|
|
51
|
+
getInitialState(): State;
|
|
59
52
|
componentDidMount(): void;
|
|
60
|
-
UNSAFE_componentWillReceiveProps(nextProps:
|
|
53
|
+
UNSAFE_componentWillReceiveProps(nextProps: Props): void;
|
|
61
54
|
componentWillUnmount(): void;
|
|
62
|
-
stateFromProps(props:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
changeSnapStep(snapStep: any): void;
|
|
86
|
-
changeGridStep(gridStep: any): void;
|
|
55
|
+
stateFromProps(props: Props): State;
|
|
56
|
+
changeRulerLabel(e: React.ChangeEvent<HTMLSelectElement>): void;
|
|
57
|
+
changeRulerTicks(e: React.ChangeEvent<HTMLSelectElement>): void;
|
|
58
|
+
changeBackgroundUrl(e: React.FocusEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>): void;
|
|
59
|
+
renderLabelChoices(choices: ReadonlyArray<[string, string]>): React.JSX.Element[];
|
|
60
|
+
validRange(range: [number, number]): string | true;
|
|
61
|
+
validateStepValue(settings: {
|
|
62
|
+
step: number;
|
|
63
|
+
range: [number, number];
|
|
64
|
+
name: string;
|
|
65
|
+
minTicks: number;
|
|
66
|
+
maxTicks: number;
|
|
67
|
+
}): string | true;
|
|
68
|
+
validSnapStep(step: number, range: [number, number]): string | true;
|
|
69
|
+
validGridStep(step: number, range: [number, number]): string | true;
|
|
70
|
+
validStep(step: number, range: [number, number]): string | true;
|
|
71
|
+
validBackgroundImageSize(image: PerseusImageBackground): true | "Image must be smaller than 450px x 450px.";
|
|
72
|
+
validateGraphSettings(range: Coords, step: number[], gridStep: number[], snapStep: number[], image: PerseusImageBackground): any;
|
|
73
|
+
changeLabel(i: number, e: React.ChangeEvent<HTMLInputElement>): void;
|
|
74
|
+
changeRange(i: number, values: [number, number]): void;
|
|
75
|
+
changeStep(step: number[]): void;
|
|
76
|
+
changeSnapStep(snapStep: number[]): void;
|
|
77
|
+
changeGridStep(gridStep: number[]): void;
|
|
87
78
|
changeGraph(): void;
|
|
88
79
|
render(): React.JSX.Element;
|
|
89
80
|
}
|
|
@@ -13,16 +13,17 @@ type State = {
|
|
|
13
13
|
};
|
|
14
14
|
declare class JsonEditor<TData> extends React.Component<Props<TData>, State> {
|
|
15
15
|
static displayName: "JsonEditor";
|
|
16
|
-
constructor(props:
|
|
16
|
+
constructor(props: Props<TData>);
|
|
17
17
|
getInitialState(): {
|
|
18
18
|
currentValue: string;
|
|
19
19
|
valid: boolean;
|
|
20
20
|
};
|
|
21
21
|
componentDidUpdate(prevProps: Props<TData>): void;
|
|
22
22
|
getCurrentValueAsJson(): TData | {} | null;
|
|
23
|
-
handleKeyDown(e:
|
|
24
|
-
handleChange(e:
|
|
25
|
-
|
|
23
|
+
handleKeyDown(e: React.KeyboardEvent<HTMLTextAreaElement>): void;
|
|
24
|
+
handleChange(e: React.ChangeEvent<HTMLTextAreaElement>): void;
|
|
25
|
+
processChange(nextString: string): void;
|
|
26
|
+
handleBlur(e: React.FocusEvent<HTMLTextAreaElement>): void;
|
|
26
27
|
private typesafeParseOrThrow;
|
|
27
28
|
render(): React.JSX.Element;
|
|
28
29
|
}
|
package/dist/editor.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ declare class Editor extends React.Component<Props, State> {
|
|
|
60
60
|
* those sizes to this.props.images using props.onChange.
|
|
61
61
|
*/
|
|
62
62
|
_sizeImages: (props: Props) => void;
|
|
63
|
-
handleDrop: (e:
|
|
63
|
+
handleDrop: (e: React.MouseEvent) => void;
|
|
64
64
|
handleChange: (e: React.SyntheticEvent<HTMLTextAreaElement>) => void;
|
|
65
65
|
_handleKeyDown: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
66
66
|
_maybeCopyWidgets: (e: React.SyntheticEvent<HTMLTextAreaElement>) => void;
|