@khanacademy/perseus 43.0.1 → 44.0.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 (78) hide show
  1. package/dist/all-widgets.d.ts +2 -23
  2. package/dist/basic-widgets.d.ts +2 -23
  3. package/dist/components/graph.d.ts +1 -0
  4. package/dist/components/icon.d.ts +0 -1
  5. package/dist/components/multi-button-group.d.ts +1 -0
  6. package/dist/components/number-input.d.ts +5 -3
  7. package/dist/components/text-input.d.ts +4 -2
  8. package/dist/components/tooltip.d.ts +1 -0
  9. package/dist/es/index.js +476 -261
  10. package/dist/es/index.js.map +1 -1
  11. package/dist/es/strings.js +4 -2
  12. package/dist/es/strings.js.map +1 -1
  13. package/dist/extra-widgets.d.ts +2 -23
  14. package/dist/index.d.ts +2 -2
  15. package/dist/index.js +465 -250
  16. package/dist/index.js.map +1 -1
  17. package/dist/interactive2/interactive-util.d.ts +1 -1
  18. package/dist/interactive2/movable-point-options.d.ts +2 -2
  19. package/dist/interactive2/movable-point.d.ts +7 -7
  20. package/dist/interactive2/objective_.d.ts +1 -1
  21. package/dist/jipt-paragraphs.d.ts +2 -2
  22. package/dist/perseus-api.d.ts +2 -77
  23. package/dist/perseus-types.d.ts +17 -17
  24. package/dist/server-item-renderer.d.ts +26 -49
  25. package/dist/strings.d.ts +1 -0
  26. package/dist/strings.js +4 -2
  27. package/dist/strings.js.map +1 -1
  28. package/dist/styles/global-styles.d.ts +0 -1
  29. package/dist/styles/shared.d.ts +0 -1
  30. package/dist/traversal.d.ts +1 -1
  31. package/dist/util/a11y.d.ts +0 -1
  32. package/dist/util/debounce.d.ts +1 -1
  33. package/dist/util/parse-perseus-json/general-purpose-parsers/defaulted.d.ts +1 -1
  34. package/dist/util/parse-perseus-json/general-purpose-parsers/index.d.ts +2 -0
  35. package/dist/util/parse-perseus-json/general-purpose-parsers/pipe-parsers.d.ts +7 -0
  36. package/dist/util/parse-perseus-json/general-purpose-parsers/pipe-parsers.typetest.d.ts +1 -0
  37. package/dist/util/parse-perseus-json/general-purpose-parsers/unknown.d.ts +2 -0
  38. package/dist/util/parse-perseus-json/perseus-parsers/graded-group-widget.d.ts +2 -2
  39. package/dist/util/parse-perseus-json/perseus-parsers/images-map.d.ts +5 -0
  40. package/dist/util/parse-perseus-json/perseus-parsers/widget.d.ts +4 -0
  41. package/dist/validation.types.d.ts +14 -6
  42. package/dist/widgets/categorizer/categorizer.d.ts +2 -2
  43. package/dist/widgets/categorizer/score-categorizer.d.ts +2 -2
  44. package/dist/widgets/categorizer/validate-categorizer.d.ts +15 -0
  45. package/dist/widgets/definition/definition.d.ts +1 -1
  46. package/dist/widgets/deprecated-standin/deprecated-standin.d.ts +1 -1
  47. package/dist/widgets/dropdown/dropdown.d.ts +9 -1
  48. package/dist/widgets/dropdown/validate-dropdown.d.ts +10 -0
  49. package/dist/widgets/explanation/explanation.d.ts +1 -1
  50. package/dist/widgets/expression/expression.d.ts +92 -217
  51. package/dist/widgets/image/image.d.ts +1 -1
  52. package/dist/widgets/interaction/interaction.d.ts +1 -1
  53. package/dist/widgets/interactive-graphs/graphs/components/movable-point.d.ts +11 -7
  54. package/dist/widgets/interactive-graphs/graphs/components/use-control-point.d.ts +7 -3
  55. package/dist/widgets/interactive-graphs/graphs/quadratic.d.ts +1 -1
  56. package/dist/widgets/interactive-graphs/types.d.ts +1 -0
  57. package/dist/widgets/label-image/answer-pill.d.ts +0 -1
  58. package/dist/widgets/label-image/label-image.d.ts +5 -65
  59. package/dist/widgets/label-image/marker.d.ts +0 -1
  60. package/dist/widgets/matrix/matrix.d.ts +12 -5
  61. package/dist/widgets/measurer/measurer.d.ts +2 -2
  62. package/dist/widgets/molecule/molecule.d.ts +1 -1
  63. package/dist/widgets/orderer/validate-orderer.d.ts +12 -0
  64. package/dist/widgets/passage/passage-markdown.d.ts +2 -2
  65. package/dist/widgets/passage/passage.d.ts +1 -1
  66. package/dist/widgets/passage-ref/passage-ref.d.ts +1 -1
  67. package/dist/widgets/passage-ref-target/passage-ref-target.d.ts +1 -1
  68. package/dist/widgets/plotter/plotter.d.ts +2 -2
  69. package/dist/widgets/plotter/score-plotter.d.ts +2 -2
  70. package/dist/widgets/plotter/validate-plotter.d.ts +12 -0
  71. package/dist/widgets/radio/choice-icon/shared-styles.d.ts +0 -1
  72. package/dist/widgets/radio/choice-none-above.d.ts +1 -1
  73. package/dist/widgets/radio/radio.d.ts +3 -3
  74. package/dist/widgets/radio/validate-radio.d.ts +14 -0
  75. package/dist/widgets/sorter/validate-sorter.d.ts +13 -0
  76. package/dist/widgets/video/video.d.ts +1 -1
  77. package/package.json +5 -5
  78. package/dist/util/parse-perseus-json/general-purpose-parsers/compose-parsers.d.ts +0 -2
@@ -1,24 +1,3 @@
1
- /// <reference types="react" />
2
- declare const _default: readonly Readonly<{
3
- name: string;
4
- displayName: string;
5
- getWidget?: (() => import("react").ComponentType<any>) | undefined;
6
- widget: import("react").ComponentType<any>;
7
- accessible?: boolean | ((props: any) => boolean) | undefined;
8
- hidden?: boolean | undefined;
9
- version?: import("./types").Version | undefined;
10
- supportedAlignments?: readonly import("./types").Alignment[] | undefined;
11
- defaultAlignment?: import("./types").Alignment | undefined;
12
- getDefaultAlignment?: (() => import("./types").Alignment) | undefined;
13
- isLintable?: boolean | undefined;
14
- tracking?: import("./types").Tracking | undefined;
15
- traverseChildWidgets?: any;
16
- transform?: import("./types").WidgetTransform | undefined;
17
- staticTransform?: import("./types").WidgetTransform | undefined;
18
- scorer?: import("./types").WidgetScorerFunction | undefined;
19
- getOneCorrectAnswerFromRubric?: ((rubric: import("./validation.types").Rubric) => string | null | undefined) | undefined;
20
- propUpgrades?: {
21
- [key: string]: (arg1: any) => any;
22
- } | undefined;
23
- }>[];
1
+ import type { WidgetExports } from "./types";
2
+ declare const _default: ReadonlyArray<WidgetExports>;
24
3
  export default _default;
@@ -1,24 +1,3 @@
1
- /// <reference types="react" />
2
- declare const _default: readonly Readonly<{
3
- name: string;
4
- displayName: string;
5
- getWidget?: (() => import("react").ComponentType<any>) | undefined;
6
- widget: import("react").ComponentType<any>;
7
- accessible?: boolean | ((props: any) => boolean) | undefined;
8
- hidden?: boolean | undefined;
9
- version?: import("./types").Version | undefined;
10
- supportedAlignments?: readonly import("./types").Alignment[] | undefined;
11
- defaultAlignment?: import("./types").Alignment | undefined;
12
- getDefaultAlignment?: (() => import("./types").Alignment) | undefined;
13
- isLintable?: boolean | undefined;
14
- tracking?: import("./types").Tracking | undefined;
15
- traverseChildWidgets?: any;
16
- transform?: import("./types").WidgetTransform | undefined;
17
- staticTransform?: import("./types").WidgetTransform | undefined;
18
- scorer?: import("./types").WidgetScorerFunction | undefined;
19
- getOneCorrectAnswerFromRubric?: ((rubric: import("./validation.types").Rubric) => string | null | undefined) | undefined;
20
- propUpgrades?: {
21
- [key: string]: (arg1: any) => any;
22
- } | undefined;
23
- }>[];
1
+ import type { WidgetExports } from "./types";
2
+ declare const _default: ReadonlyArray<WidgetExports>;
24
3
  export default _default;
@@ -38,6 +38,7 @@ type DefaultProps = {
38
38
  isMobile: Props["isMobile"];
39
39
  };
40
40
  declare class Graph extends React.Component<Props> {
41
+ graphieDivRef: React.RefObject<HTMLDivElement>;
41
42
  protractor: any;
42
43
  ruler: any;
43
44
  _graphie: any;
@@ -1,4 +1,3 @@
1
- /// <reference path="../../types/aphrodite.d.ts" />
2
1
  import * as React from "react";
3
2
  import type { CSSProperties } from "aphrodite";
4
3
  export type IconType = {
@@ -47,6 +47,7 @@ type DefaultProps = {
47
47
  * this component allows multiple selection!
48
48
  */
49
49
  declare class MultiButtonGroup extends React.Component<Props> {
50
+ buttonContainerRef: React.RefObject<HTMLDivElement>;
50
51
  static defaultProps: DefaultProps;
51
52
  focus(): boolean;
52
53
  toggleSelect: (arg1?: any) => void;
@@ -27,6 +27,7 @@ declare class NumberInput extends React.Component<any, any> {
27
27
  locale: string;
28
28
  }>;
29
29
  context: React.ContextType<typeof PerseusI18nContext>;
30
+ inputRef: React.RefObject<HTMLInputElement>;
30
31
  static propTypes: {
31
32
  value: PropTypes.Requireable<number>;
32
33
  format: PropTypes.Requireable<string>;
@@ -40,14 +41,15 @@ declare class NumberInput extends React.Component<any, any> {
40
41
  static defaultProps: any;
41
42
  state: any;
42
43
  componentDidUpdate(prevProps: any): void;
44
+ _getInput: () => HTMLInputElement;
43
45
  getValue: () => any;
44
46
  getStringValue: () => string;
45
47
  parseInputValue: (arg1: any) => any;
46
48
  focus: () => void;
47
49
  blur: () => void;
48
- setSelectionRange: (arg1: number, arg2: number) => any;
49
- getSelectionStart: () => number;
50
- getSelectionEnd: () => number;
50
+ setSelectionRange: (arg1: number, arg2: number) => void;
51
+ getSelectionStart: () => number | null;
52
+ getSelectionEnd: () => number | null;
51
53
  _checkValidity: (arg1: any) => boolean;
52
54
  _handleChange: (arg1: React.ChangeEvent<HTMLInputElement>) => void;
53
55
  _handleFocus: () => void;
@@ -18,16 +18,18 @@ type DefaultProps = {
18
18
  disabled: Props["disabled"];
19
19
  };
20
20
  declare class TextInput extends React.Component<Props> {
21
+ inputRef: React.RefObject<HTMLInputElement>;
21
22
  static defaultProps: DefaultProps;
22
23
  id: string;
23
24
  constructor(props: Props);
25
+ _getInput: () => HTMLInputElement;
24
26
  focus: () => void;
25
27
  blur: () => void;
26
28
  getValue: () => string | null | undefined;
27
29
  getStringValue: () => string | null | undefined;
28
30
  setSelectionRange: (arg1: number, arg2: number) => void;
29
- getSelectionStart: () => number;
30
- getSelectionEnd: () => number;
31
+ getSelectionStart: () => number | null;
32
+ getSelectionEnd: () => number | null;
31
33
  render(): React.ReactNode;
32
34
  }
33
35
  export default TextInput;
@@ -72,6 +72,7 @@ type State = {
72
72
  * ```
73
73
  */
74
74
  declare class Tooltip extends React.Component<Props, State> {
75
+ tooltipContainerRef: React.RefObject<HTMLDivElement>;
75
76
  static defaultProps: DefaultProps;
76
77
  state: State;
77
78
  componentDidMount(): void;