@khanacademy/perseus-editor 2.15.6 → 2.16.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.
Files changed (36) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/components/blur-input.d.ts +2 -0
  3. package/dist/components/widget-editor.d.ts +1 -1
  4. package/dist/editor-page.d.ts +4 -1
  5. package/dist/editor.d.ts +3 -1
  6. package/dist/es/index.js +170 -260
  7. package/dist/es/index.js.map +1 -1
  8. package/dist/hint-editor.d.ts +2 -0
  9. package/dist/iframe-content-renderer.d.ts +1 -0
  10. package/dist/index.js +137 -256
  11. package/dist/index.js.map +1 -1
  12. package/dist/item-editor.d.ts +6 -0
  13. package/dist/widgets/example-widget-editor.d.ts +1 -0
  14. package/dist/widgets/example-widget.d.ts +7 -0
  15. package/dist/widgets/graded-group-editor.d.ts +3 -0
  16. package/dist/widgets/group-editor.d.ts +2 -0
  17. package/dist/widgets/input-number-editor.d.ts +2 -0
  18. package/dist/widgets/simple-markdown-tester-editor.d.ts +7 -0
  19. package/dist/widgets/table-editor.d.ts +2 -0
  20. package/package.json +13 -13
  21. package/src/components/__tests__/blur-input.test.tsx +67 -0
  22. package/src/components/blur-input.tsx +7 -0
  23. package/src/editor-page.tsx +11 -25
  24. package/src/editor.tsx +37 -65
  25. package/src/hint-editor.tsx +15 -27
  26. package/src/iframe-content-renderer.tsx +19 -20
  27. package/src/item-editor.tsx +11 -18
  28. package/src/util/register-all-widgets-and-editors-for-testing.test.ts +3 -1
  29. package/src/widgets/example-widget-editor.tsx +4 -5
  30. package/src/widgets/example-widget.tsx +8 -10
  31. package/src/widgets/graded-group-editor.tsx +9 -19
  32. package/src/widgets/group-editor.tsx +5 -8
  33. package/src/widgets/input-number-editor.tsx +4 -5
  34. package/src/widgets/simple-markdown-tester-editor.tsx +4 -5
  35. package/src/widgets/table-editor.tsx +4 -5
  36. package/tsconfig-build.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @khanacademy/perseus-editor
2
2
 
3
+ ## 2.16.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#897](https://github.com/Khan/perseus/pull/897) [`e8020f58`](https://github.com/Khan/perseus/commit/e8020f58bb538372f77785a14a31dc11be2bc441) Thanks [@jeremywiebe](https://github.com/jeremywiebe)! - Convert many string refs to React refs
8
+
9
+ ### Patch Changes
10
+
11
+ - [#881](https://github.com/Khan/perseus/pull/881) [`f02eb991`](https://github.com/Khan/perseus/commit/f02eb991cec37dcff02056c0d6b54fc6dfd96948) Thanks [@nedredmond](https://github.com/nedredmond)! - Swap out Label Image custom dropdown for WonderBlocks
12
+
13
+ * [#870](https://github.com/Khan/perseus/pull/870) [`9354fb55`](https://github.com/Khan/perseus/commit/9354fb55357f2441a2ca6198c52cca33edeba3c0) Thanks [@nixterrimus](https://github.com/nixterrimus)! - Replace transformer widget with a deprecated-standin widget
14
+
15
+ * Updated dependencies [[`f02eb991`](https://github.com/Khan/perseus/commit/f02eb991cec37dcff02056c0d6b54fc6dfd96948), [`9354fb55`](https://github.com/Khan/perseus/commit/9354fb55357f2441a2ca6198c52cca33edeba3c0)]:
16
+ - @khanacademy/math-input@16.4.1
17
+ - @khanacademy/perseus@17.6.1
18
+
19
+ ## 2.15.7
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [[`83884550`](https://github.com/Khan/perseus/commit/83884550df8b394e9afa6e95947c987614e2d242)]:
24
+ - @khanacademy/perseus@17.6.0
25
+
3
26
  ## 2.15.6
4
27
 
5
28
  ### Patch Changes
@@ -10,10 +10,12 @@ type State = {
10
10
  value: string;
11
11
  };
12
12
  declare class BlurInput extends React.Component<Props, State> {
13
+ input: React.RefObject<HTMLInputElement>;
13
14
  constructor(props: Props);
14
15
  UNSAFE_componentWillReceiveProps(nextProps: Props): void;
15
16
  handleChange: (e: any) => void;
16
17
  handleBlur: (e: any) => void;
18
+ focus(): void;
17
19
  render(): React.ReactNode;
18
20
  }
19
21
  export default BlurInput;
@@ -19,7 +19,7 @@ declare class WidgetEditor extends React.Component<WidgetEditorProps, WidgetEdit
19
19
  _handleAlignmentChange: (e: React.SyntheticEvent<HTMLSelectElement>) => void;
20
20
  getSaveWarnings: () => any;
21
21
  serialize: () => {
22
- type: "categorizer" | "iframe" | "table" | "video" | "image" | "radio" | "cs-program" | "definition" | "group" | "dropdown" | "example-graphie-widget" | "example-widget" | "explanation" | "expression" | "graded-group-set" | "graded-group" | "grapher" | "input-number" | "interaction" | "interactive-graph" | "label-image" | "lights-puzzle" | "matcher" | "matrix" | "measurer" | "molecule-renderer" | "number-line" | "numeric-input" | "orderer" | "passage-ref" | "passage" | "plotter" | "reaction-diagtram" | "passage-ref-target" | "sequence" | "simple-markdown-tester" | "simulator" | "sorter" | "transformer" | "unit-input";
22
+ type: "categorizer" | "iframe" | "table" | "video" | "image" | "radio" | "cs-program" | "definition" | "group" | "dropdown" | "example-graphie-widget" | "example-widget" | "explanation" | "expression" | "graded-group-set" | "graded-group" | "grapher" | "input-number" | "interaction" | "interactive-graph" | "label-image" | "lights-puzzle" | "matcher" | "matrix" | "measurer" | "molecule-renderer" | "number-line" | "numeric-input" | "orderer" | "passage-ref" | "passage" | "plotter" | "reaction-diagtram" | "passage-ref-target" | "sequence" | "simple-markdown-tester" | "simulator" | "sorter" | "transformer" | "unit-input" | "deprecated-standin";
23
23
  alignment: string | undefined;
24
24
  static: boolean | undefined;
25
25
  graded: boolean | undefined;
@@ -1,4 +1,6 @@
1
1
  import * as React from "react";
2
+ import CombinedHintsEditor from "./hint-editor";
3
+ import ItemEditor from "./item-editor";
2
4
  import type { APIOptions, APIOptionsWithDefaults, ChangeHandler, DeviceType, Hint, ImageUploader, Version, PerseusItem } from "@khanacademy/perseus";
3
5
  import type { KEScore } from "@khanacademy/perseus-core";
4
6
  type Props = {
@@ -26,8 +28,9 @@ type State = {
26
28
  };
27
29
  declare class EditorPage extends React.Component<Props, State> {
28
30
  _isMounted: boolean;
29
- rendererMountNode: HTMLDivElement;
30
31
  renderer: any;
32
+ itemEditor: React.RefObject<ItemEditor>;
33
+ hintsEditor: React.RefObject<CombinedHintsEditor>;
31
34
  static defaultProps: {
32
35
  developerMode: boolean;
33
36
  jsonMode: boolean;
package/dist/editor.d.ts CHANGED
@@ -41,6 +41,8 @@ declare class Editor extends React.Component<Props, State> {
41
41
  lastUserValue: string | null | undefined;
42
42
  deferredChange: any | null | undefined;
43
43
  widgetIds: any | null | undefined;
44
+ underlay: React.RefObject<HTMLDivElement>;
45
+ textarea: React.RefObject<HTMLTextAreaElement>;
44
46
  static defaultProps: DefaultProps;
45
47
  state: State;
46
48
  componentDidMount(): void;
@@ -65,7 +67,7 @@ declare class Editor extends React.Component<Props, State> {
65
67
  }) => Record<any, any>;
66
68
  _addWidgetToContent: (oldContent: string, cursorRange: ReadonlyArray<number>, widgetType: string) => void;
67
69
  _addWidget: (widgetType: string) => void;
68
- addTemplate: (e: React.SyntheticEvent<HTMLTextAreaElement>) => void;
70
+ addTemplate: (e: React.SyntheticEvent<HTMLSelectElement>) => void;
69
71
  getSaveWarnings: () => any;
70
72
  focus: () => void;
71
73
  focusAndMoveToEnd: () => void;