@khanacademy/perseus-editor 2.15.7 → 2.16.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.
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.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`21222f55`](https://github.com/Khan/perseus/commit/21222f55b1efd46acbc0fe1dcc8aa0399b8555ee)]:
8
+ - @khanacademy/perseus@17.6.2
9
+
10
+ ## 2.16.0
11
+
12
+ ### Minor Changes
13
+
14
+ - [#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
15
+
16
+ ### Patch Changes
17
+
18
+ - [#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
19
+
20
+ * [#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
21
+
22
+ * Updated dependencies [[`f02eb991`](https://github.com/Khan/perseus/commit/f02eb991cec37dcff02056c0d6b54fc6dfd96948), [`9354fb55`](https://github.com/Khan/perseus/commit/9354fb55357f2441a2ca6198c52cca33edeba3c0)]:
23
+ - @khanacademy/math-input@16.4.1
24
+ - @khanacademy/perseus@17.6.1
25
+
3
26
  ## 2.15.7
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;