@khanacademy/perseus-editor 43.0.1 → 43.0.2

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.
@@ -1,14 +1,12 @@
1
1
  import * as React from "react";
2
2
  import Editor from "../../editor";
3
+ import type { APIOptionsWithDefaults } from "@khanacademy/perseus";
3
4
  import type { PerseusGroupWidgetOptions, PerseusRenderer } from "@khanacademy/perseus-core";
4
- type Props = any;
5
+ interface Props extends PerseusGroupWidgetOptions {
6
+ onChange: (options: PerseusGroupWidgetOptions) => void;
7
+ apiOptions: APIOptionsWithDefaults;
8
+ }
5
9
  declare class GroupEditor extends React.Component<Props> {
6
- static propTypes: {
7
- content: any;
8
- widgets: any;
9
- images: any;
10
- apiOptions: any;
11
- };
12
10
  static defaultProps: PerseusGroupWidgetOptions;
13
11
  editor: React.RefObject<Editor>;
14
12
  getSaveWarnings: () => ReadonlyArray<any>;
@@ -1,14 +1,14 @@
1
1
  import { type PerseusIFrameWidgetOptions } from "@khanacademy/perseus-core";
2
2
  import * as React from "react";
3
- import type { ChangeableProps } from "../../mixins/changeable";
4
- interface IframeEditorProps extends PerseusIFrameWidgetOptions, ChangeableProps {
3
+ interface IframeEditorProps extends PerseusIFrameWidgetOptions {
4
+ onChange: (options: PerseusIFrameWidgetOptions) => void;
5
5
  }
6
6
  /**
7
7
  * This is the main editor for this widget, to specify all the options.
8
8
  */
9
9
  declare class IframeEditor extends React.Component<IframeEditorProps> {
10
10
  static defaultProps: PerseusIFrameWidgetOptions;
11
- change: (arg1: any) => any;
11
+ handleChange(changes: Partial<PerseusIFrameWidgetOptions>): void;
12
12
  serialize: () => any;
13
13
  render(): React.ReactNode;
14
14
  }
@@ -1,11 +1,10 @@
1
1
  import * as React from "react";
2
- import type { Props as ImageEditorProps } from "../image-editor";
3
- import type { PerseusImageBackground } from "@khanacademy/perseus-core";
2
+ import type { PerseusImageBackground, PerseusImageWidgetOptions } from "@khanacademy/perseus-core";
4
3
  interface Props {
5
4
  backgroundImage: PerseusImageBackground;
6
5
  editingDisabled?: boolean;
7
6
  onShowToggle: (theme?: string) => void;
8
- onSuppressToggle: ImageEditorProps["onChange"];
7
+ onSuppressToggle: (changes: Partial<PerseusImageWidgetOptions>) => void;
9
8
  }
10
9
  export default function DarkModeToggle({ backgroundImage, onShowToggle, onSuppressToggle, editingDisabled, }: Props): React.JSX.Element;
11
10
  /**
@@ -1,10 +1,10 @@
1
1
  import * as React from "react";
2
- import type { Props as ImageEditorProps } from "../image-editor";
2
+ import type { PerseusImageWidgetOptions } from "@khanacademy/perseus-core";
3
3
  interface Props {
4
4
  decorative?: boolean;
5
5
  hasPopulatedFields?: boolean;
6
6
  editingDisabled?: boolean;
7
- onChange: ImageEditorProps["onChange"];
7
+ onChange: (changes: Partial<PerseusImageWidgetOptions>) => void;
8
8
  }
9
9
  export default function DecorativeToggle({ decorative, hasPopulatedFields, editingDisabled, onChange, }: Props): React.JSX.Element;
10
10
  export {};
@@ -1,11 +1,10 @@
1
1
  import * as React from "react";
2
- import type { Props as ImageEditorProps } from "../image-editor";
3
- import type { PerseusImageBackground } from "@khanacademy/perseus-core";
2
+ import type { PerseusImageBackground, PerseusImageWidgetOptions } from "@khanacademy/perseus-core";
4
3
  interface Props {
5
4
  backgroundImage: PerseusImageBackground;
6
5
  scale: number;
7
6
  editingDisabled?: boolean;
8
- onChange: ImageEditorProps["onChange"];
7
+ onChange: (changes: Partial<PerseusImageWidgetOptions>) => void;
9
8
  }
10
9
  export default function ImageScaleInput({ backgroundImage, scale, editingDisabled, onChange, }: Props): React.JSX.Element;
11
10
  export {};
@@ -1,3 +1,9 @@
1
1
  import * as React from "react";
2
- import type { Props } from "../image-editor";
2
+ import type { APIOptions } from "@khanacademy/perseus";
3
+ import type { PerseusImageWidgetOptions } from "@khanacademy/perseus-core";
4
+ interface Props extends PerseusImageWidgetOptions {
5
+ apiOptions: APIOptions;
6
+ onChange: (changes: Partial<PerseusImageWidgetOptions>) => void;
7
+ }
3
8
  export default function ImageSettings({ alt, apiOptions, backgroundImage, scale, caption, decorative, longDescription, title, onChange, }: Props): React.JSX.Element | null;
9
+ export {};
@@ -1,3 +1,8 @@
1
1
  import React from "react";
2
- import type { Props } from "../image-editor";
2
+ import type { PerseusImageBackground, PerseusImageWidgetOptions } from "@khanacademy/perseus-core";
3
+ interface Props {
4
+ backgroundImage: PerseusImageBackground;
5
+ onChange: (changes: Partial<PerseusImageWidgetOptions>) => void;
6
+ }
3
7
  export default function ImageUrlInput({ backgroundImage, onChange }: Props): React.JSX.Element;
8
+ export {};
@@ -1,9 +1,9 @@
1
1
  import { type PerseusImageWidgetOptions } from "@khanacademy/perseus-core";
2
2
  import * as React from "react";
3
3
  import type { APIOptions } from "@khanacademy/perseus";
4
- export interface Props extends PerseusImageWidgetOptions {
4
+ interface Props extends PerseusImageWidgetOptions {
5
5
  apiOptions: APIOptions;
6
- onChange: (newValues: Partial<PerseusImageWidgetOptions>) => void;
6
+ onChange: (options: PerseusImageWidgetOptions) => void;
7
7
  }
8
8
  /**
9
9
  * An editor for adding an image widget that allows users to display and configure images within content.
@@ -11,6 +11,7 @@ export interface Props extends PerseusImageWidgetOptions {
11
11
  declare class ImageEditor extends React.Component<Props> {
12
12
  static displayName: string;
13
13
  static defaultProps: PerseusImageWidgetOptions;
14
+ handleChange: (changes: Partial<PerseusImageWidgetOptions>) => void;
14
15
  serialize(): any;
15
16
  render(): React.JSX.Element;
16
17
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Perseus editors",
4
4
  "author": "Khan Academy",
5
5
  "license": "MIT",
6
- "version": "43.0.1",
6
+ "version": "43.0.2",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -36,12 +36,12 @@
36
36
  "mafs": "^0.19.0",
37
37
  "tiny-invariant": "1.3.1",
38
38
  "@khanacademy/kas": "2.2.6",
39
- "@khanacademy/keypad-context": "4.0.0",
40
- "@khanacademy/kmath": "2.4.53",
41
- "@khanacademy/math-input": "28.0.0",
42
- "@khanacademy/perseus": "87.2.2",
43
- "@khanacademy/perseus-core": "39.2.2",
44
- "@khanacademy/perseus-linter": "5.4.3",
39
+ "@khanacademy/keypad-context": "4.0.1",
40
+ "@khanacademy/kmath": "2.4.54",
41
+ "@khanacademy/perseus": "87.3.0",
42
+ "@khanacademy/math-input": "28.0.1",
43
+ "@khanacademy/perseus-core": "39.2.3",
44
+ "@khanacademy/perseus-linter": "5.4.4",
45
45
  "@khanacademy/perseus-utils": "2.1.5"
46
46
  },
47
47
  "devDependencies": {
@@ -74,8 +74,8 @@
74
74
  "react": "18.2.0",
75
75
  "react-dom": "18.2.0",
76
76
  "underscore": "1.4.4",
77
- "jsdiff": "1.0.2",
78
- "perseus-build-settings": "0.9.1"
77
+ "perseus-build-settings": "0.9.1",
78
+ "jsdiff": "1.0.2"
79
79
  },
80
80
  "peerDependencies": {
81
81
  "@khanacademy/mathjax-renderer": "^3.2.0",