@khanacademy/perseus-editor 14.11.1 → 14.12.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.
@@ -3,13 +3,8 @@
3
3
  * multiple (Renderer) sections concatenated together.
4
4
  */
5
5
  import * as React from "react";
6
- import type { APIOptions, Changeable, ImageUploader } from "@khanacademy/perseus";
7
- type RendererProps = {
8
- content?: string;
9
- widgets?: any;
10
- images?: any;
11
- };
12
- type JsonType = RendererProps | ReadonlyArray<RendererProps>;
6
+ import type { APIOptions, Changeable, ImageUploader, PerseusRenderer } from "@khanacademy/perseus";
7
+ type JsonType = PerseusRenderer | PerseusRenderer[];
13
8
  type DefaultProps = {
14
9
  contentPaths?: ReadonlyArray<string>;
15
10
  json: JsonType;
@@ -25,22 +20,24 @@ type Props = DefaultProps & {
25
20
  } & Changeable.ChangeableProps;
26
21
  type State = {
27
22
  highlightLint: boolean;
23
+ json: JsonType;
24
+ conversionWarningRequired: boolean;
28
25
  };
29
26
  export default class ArticleEditor extends React.Component<Props, State> {
30
27
  static defaultProps: DefaultProps;
31
- state: State;
28
+ constructor(props: Props);
32
29
  componentDidMount(): void;
33
30
  componentDidUpdate(): void;
34
31
  _updatePreviewFrames(): void;
35
- _apiOptionsForSection(section: RendererProps, sectionIndex: number): any;
36
- _sections(): ReadonlyArray<RendererProps>;
32
+ _apiOptionsForSection(section: PerseusRenderer, sectionIndex: number): any;
33
+ _sections(): PerseusRenderer[];
37
34
  _renderEditor(): React.ReactElement<React.ComponentProps<"div">>;
38
35
  _renderAddSection(): React.ReactElement<React.ComponentProps<"div">>;
39
36
  _renderLinterHUD(): React.ReactElement<any>;
40
37
  _renderIframePreview(i: number | string, nochrome: boolean): React.ReactElement<any>;
41
38
  _renderPreviewMode(): React.ReactElement<React.ComponentProps<"div">>;
42
39
  _handleJsonChange: (newJson: JsonType) => void;
43
- _handleEditorChange: (i: number, newProps: RendererProps) => void;
40
+ _handleEditorChange: (i: number, newProps: PerseusRenderer) => void;
44
41
  _handleMoveSectionEarlier(i: number): void;
45
42
  _handleMoveSectionLater(i: number): void;
46
43
  _handleAddSectionAfter(i: number): void;
@@ -52,7 +49,7 @@ export default class ArticleEditor extends React.Component<Props, State> {
52
49
  *
53
50
  * This function can currently only be called in edit mode.
54
51
  */
55
- getSaveWarnings(): ReadonlyArray<RendererProps>;
52
+ getSaveWarnings(): ReadonlyArray<PerseusRenderer>;
56
53
  render(): React.ReactNode;
57
54
  }
58
55
  export {};
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import CombinedHintsEditor from "./hint-editor";
3
3
  import ItemEditor from "./item-editor";
4
- import type { APIOptions, APIOptionsWithDefaults, ChangeHandler, DeviceType, Hint, ImageUploader, Version, PerseusItem } from "@khanacademy/perseus";
4
+ import type { APIOptions, APIOptionsWithDefaults, ChangeHandler, DeviceType, Hint, ImageUploader, Version, PerseusItem, PerseusRenderer } from "@khanacademy/perseus";
5
5
  type Props = {
6
6
  apiOptions?: APIOptions;
7
7
  answerArea?: any;
@@ -22,6 +22,8 @@ type Props = {
22
22
  };
23
23
  type State = {
24
24
  json: PerseusItem;
25
+ conversionWarningRequired: boolean;
26
+ question: PerseusRenderer;
25
27
  gradeMessage: string;
26
28
  wasAnswered: boolean;
27
29
  highlightLint: boolean;