@pie-element/math-templated 8.0.4-next.20261011174919 → 8.0.4

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,138 +1,140 @@
1
+ import type { ConfigureLanguageOptionsProp } from '@pie-element/shared-types';
2
+ import type { MathTemplatedResponse } from '../types.js';
1
3
  declare const _default: {
2
4
  model: {
3
- allowTrailingZerosDefault: boolean;
4
- equationEditor: string;
5
- ignoreOrderDefault: boolean;
5
+ allowTrailingZerosDefault: false;
6
+ equationEditor: "8";
7
+ ignoreOrderDefault: false;
6
8
  markup: string;
7
- playerSpellCheckEnabled: boolean;
9
+ playerSpellCheckEnabled: true;
8
10
  prompt: string;
9
- promptEnabled: boolean;
11
+ promptEnabled: true;
10
12
  rationale: string;
11
- rationaleEnabled: boolean;
12
- responses: {};
13
- spellCheckEnabled: boolean;
13
+ rationaleEnabled: true;
14
+ responses: Record<string, MathTemplatedResponse>;
15
+ spellCheckEnabled: true;
14
16
  teacherInstructions: string;
15
- teacherInstructionsEnabled: boolean;
16
- toolbarEditorPosition: string;
17
- validationDefault: string;
17
+ teacherInstructionsEnabled: true;
18
+ toolbarEditorPosition: "bottom";
19
+ validationDefault: "literal";
18
20
  };
19
21
  configuration: {
20
22
  ignoreOrder: {
21
- settings: boolean;
23
+ settings: true;
22
24
  label: string;
23
- enabled: boolean;
25
+ enabled: true;
24
26
  };
25
27
  allowTrailingZeros: {
26
- settings: boolean;
28
+ settings: true;
27
29
  label: string;
28
- enabled: boolean;
30
+ enabled: true;
29
31
  };
30
32
  partialScoring: {
31
- settings: boolean;
33
+ settings: true;
32
34
  label: string;
33
35
  };
34
36
  baseInputConfiguration: {
35
37
  html: {
36
- disabled: boolean;
38
+ disabled: true;
37
39
  };
38
40
  audio: {
39
- disabled: boolean;
41
+ disabled: false;
40
42
  };
41
43
  video: {
42
- disabled: boolean;
44
+ disabled: false;
43
45
  };
44
46
  image: {
45
- disabled: boolean;
47
+ disabled: false;
46
48
  };
47
49
  h3: {
48
- disabled: boolean;
50
+ disabled: true;
49
51
  };
50
52
  blockquote: {
51
- disabled: boolean;
53
+ disabled: true;
52
54
  };
53
55
  textAlign: {
54
- disabled: boolean;
56
+ disabled: true;
55
57
  };
56
58
  showParagraphs: {
57
- disabled: boolean;
59
+ disabled: false;
58
60
  };
59
61
  separateParagraphs: {
60
- disabled: boolean;
62
+ disabled: true;
61
63
  };
62
64
  };
63
65
  prompt: {
64
66
  label: string;
65
- settings: boolean;
67
+ settings: true;
66
68
  inputConfiguration: {
67
69
  audio: {
68
- disabled: boolean;
70
+ disabled: false;
69
71
  };
70
72
  video: {
71
- disabled: boolean;
73
+ disabled: false;
72
74
  };
73
75
  image: {
74
- disabled: boolean;
76
+ disabled: false;
75
77
  };
76
78
  };
77
- required: boolean;
79
+ required: false;
78
80
  };
79
81
  spellCheck: {
80
82
  label: string;
81
- settings: boolean;
82
- enabled: boolean;
83
+ settings: false;
84
+ enabled: true;
83
85
  };
84
86
  editSource: {
85
87
  label: string;
86
- settings: boolean;
87
- enabled: boolean;
88
+ settings: false;
89
+ enabled: false;
88
90
  };
89
91
  playerSpellCheck: {
90
92
  label: string;
91
- settings: boolean;
92
- enabled: boolean;
93
+ settings: true;
94
+ enabled: true;
93
95
  };
94
96
  teacherInstructions: {
95
- settings: boolean;
97
+ settings: true;
96
98
  label: string;
97
99
  inputConfiguration: {
98
100
  audio: {
99
- disabled: boolean;
101
+ disabled: false;
100
102
  };
101
103
  video: {
102
- disabled: boolean;
104
+ disabled: false;
103
105
  };
104
106
  image: {
105
- disabled: boolean;
107
+ disabled: false;
106
108
  };
107
109
  };
108
- required: boolean;
110
+ required: false;
109
111
  };
110
112
  rationale: {
111
- settings: boolean;
113
+ settings: true;
112
114
  label: string;
113
115
  inputConfiguration: {
114
116
  audio: {
115
- disabled: boolean;
117
+ disabled: false;
116
118
  };
117
119
  video: {
118
- disabled: boolean;
120
+ disabled: false;
119
121
  };
120
122
  image: {
121
- disabled: boolean;
123
+ disabled: false;
122
124
  };
123
125
  };
124
- required: boolean;
126
+ required: false;
125
127
  };
126
128
  template: {
127
129
  inputConfiguration: {
128
130
  audio: {
129
- disabled: boolean;
131
+ disabled: false;
130
132
  };
131
133
  video: {
132
- disabled: boolean;
134
+ disabled: false;
133
135
  };
134
136
  image: {
135
- disabled: boolean;
137
+ disabled: false;
136
138
  };
137
139
  };
138
140
  };
@@ -147,17 +149,17 @@ declare const _default: {
147
149
  rationale: number;
148
150
  };
149
151
  mathMlOptions: {
150
- mmlOutput: boolean;
151
- mmlEditing: boolean;
152
+ mmlOutput: false;
153
+ mmlEditing: false;
152
154
  };
153
155
  language: {
154
- settings: boolean;
156
+ settings: false;
155
157
  label: string;
156
- enabled: boolean;
158
+ enabled: false;
157
159
  };
158
160
  languageChoices: {
159
161
  label: string;
160
- options: never[];
162
+ options: ConfigureLanguageOptionsProp[];
161
163
  };
162
164
  maxResponseAreas: number;
163
165
  };
@@ -1,27 +1,46 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
- export declare class Design extends React.Component {
4
- static propTypes: {
5
- model: PropTypes.Validator<object>;
6
- configuration: PropTypes.Validator<object>;
7
- onModelChanged: PropTypes.Validator<(...args: any[]) => any>;
8
- onConfigurationChanged: PropTypes.Validator<(...args: any[]) => any>;
9
- imageSupport: PropTypes.Requireable<PropTypes.InferProps<{
10
- add: PropTypes.Validator<(...args: any[]) => any>;
11
- delete: PropTypes.Validator<(...args: any[]) => any>;
12
- }>>;
13
- uploadSoundSupport: PropTypes.Requireable<object>;
14
- };
15
- state: {};
2
+ import type { DeleteDone, ImageHandler, SoundHandler } from '@pie-element/shared-configure-events';
3
+ import type { MathTemplatedValidationErrors } from '../controller/index.js';
4
+ import type { MathTemplatedConfiguration, MathTemplatedModel, MathTemplatedResponse } from '../types.js';
5
+ /** The model the author edits; the host sets `errors` from the controller's `validate()`. */
6
+ export type AuthorModel = Partial<MathTemplatedModel> & {
7
+ errors?: MathTemplatedValidationErrors;
8
+ };
9
+ type Responses = Record<string, MathTemplatedResponse>;
10
+ type MediaSupport<Handler> = {
11
+ add: (handler: Handler) => void;
12
+ delete: (src: string, done: DeleteDone) => void;
13
+ };
14
+ export type DesignProps = {
15
+ model: AuthorModel;
16
+ configuration: MathTemplatedConfiguration;
17
+ onModelChanged: (model: AuthorModel) => void;
18
+ onConfigurationChanged: (configuration: MathTemplatedConfiguration) => void;
19
+ /** Not read: the settings panel shows regardless */
20
+ disableSidePanel?: boolean;
21
+ imageSupport?: MediaSupport<ImageHandler>;
22
+ uploadSoundSupport?: MediaSupport<SoundHandler>;
23
+ };
24
+ type DesignState = {
25
+ markup?: string;
26
+ cachedResponses?: Responses;
27
+ activeAnswerBlock?: string;
28
+ };
29
+ /** A response area the editor removed, as `onHandleAreaChange` reports it */
30
+ type RemovedArea = {
31
+ index: string;
32
+ };
33
+ export declare class Design extends React.Component<DesignProps, DesignState> {
34
+ state: DesignState;
16
35
  componentDidMount(): void;
17
- handleChange: any;
18
- onResponseChange: any;
19
- onResponseDone: any;
20
- onChangeResponse: any;
21
- onResponsesChanged: any;
22
- onChange: any;
23
- onHandleAreaChange: import("@pie-element/shared-lodash").CancelableFunction<(nodes: any) => void>;
24
- onBlur: any;
36
+ handleChange: <K extends keyof AuthorModel>(key: K, value: AuthorModel[K]) => void;
37
+ onResponseChange: (response: MathTemplatedResponse, index: number) => void;
38
+ onResponseDone: () => void;
39
+ onChangeResponse: (index: number, newVal: string) => void;
40
+ onResponsesChanged: (responses: Responses) => void;
41
+ onChange: (markup: string) => void;
42
+ onHandleAreaChange: import("@pie-element/shared-lodash").CancelableFunction<(nodes: RemovedArea[] | null | undefined) => void>;
43
+ onBlur: (e: React.FocusEvent<HTMLElement> | undefined) => void;
25
44
  render(): React.JSX.Element;
26
45
  }
27
46
  export default Design;