@pie-element/math-inline 12.1.8 → 12.3.0-beta.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.
package/CHANGELOG.md CHANGED
@@ -3,51 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [12.1.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.7...@pie-element/math-inline@12.1.8) (2026-07-31)
6
+ # [12.3.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.2.0-beta.0...@pie-element/math-inline@12.3.0-beta.0) (2026-08-07)
7
7
 
8
8
  **Note:** Version bump only for package @pie-element/math-inline
9
9
 
10
- ## [12.1.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.6...@pie-element/math-inline@12.1.7) (2026-07-08)
10
+ # [12.2.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.0...@pie-element/math-inline@12.2.0-beta.0) (2026-08-07)
11
11
 
12
12
  ### Bug Fixes
13
13
 
14
14
  - bump libs & shared modules PIE-706, PIE-702, PIE-679, PIE-698 ([5b1a8c4](https://github.com/pie-framework/pie-elements/commit/5b1a8c4c3eba2126fc43d78fd0187e7cd11d5424))
15
-
16
- ## [12.1.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.5...@pie-element/math-inline@12.1.6) (2026-07-02)
17
-
18
- ### Bug Fixes
19
-
20
- - bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
21
- - sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
22
-
23
- ## [12.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.4...@pie-element/math-inline@12.1.5) (2026-06-22)
24
-
25
- ### Bug Fixes
26
-
27
- - bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
28
- - handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
29
-
30
- ## [12.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.3...@pie-element/math-inline@12.1.4) (2026-06-17)
31
-
32
- ### Bug Fixes
33
-
15
+ - bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
34
16
  - bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
35
-
36
- ## [12.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.2...@pie-element/math-inline@12.1.3) (2026-06-12)
37
-
38
- ### Bug Fixes
39
-
17
+ - bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
18
+ - bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
40
19
  - bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
41
-
42
- ## [12.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.1...@pie-element/math-inline@12.1.2) (2026-06-04)
43
-
44
- ### Bug Fixes
45
-
46
- - bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
47
-
48
- ## [12.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.0...@pie-element/math-inline@12.1.1) (2026-05-21)
49
-
50
- **Note:** Version bump only for package @pie-element/math-inline
20
+ - handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
21
+ - sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
51
22
 
52
23
  # [12.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@12.1.0-next.1...@pie-element/math-inline@12.1.0) (2026-05-21)
53
24
 
@@ -3,51 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [11.1.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.7...@pie-element/math-inline-configure@11.1.8) (2026-07-31)
6
+ # [11.3.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.2.0-beta.0...@pie-element/math-inline-configure@11.3.0-beta.0) (2026-08-07)
7
7
 
8
8
  **Note:** Version bump only for package @pie-element/math-inline-configure
9
9
 
10
- ## [11.1.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.6...@pie-element/math-inline-configure@11.1.7) (2026-07-08)
10
+ # [11.2.0-beta.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.0...@pie-element/math-inline-configure@11.2.0-beta.0) (2026-08-07)
11
11
 
12
12
  ### Bug Fixes
13
13
 
14
14
  - bump libs & shared modules PIE-706, PIE-702, PIE-679, PIE-698 ([5b1a8c4](https://github.com/pie-framework/pie-elements/commit/5b1a8c4c3eba2126fc43d78fd0187e7cd11d5424))
15
-
16
- ## [11.1.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.5...@pie-element/math-inline-configure@11.1.6) (2026-07-02)
17
-
18
- ### Bug Fixes
19
-
20
- - bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
21
- - sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
22
-
23
- ## [11.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.4...@pie-element/math-inline-configure@11.1.5) (2026-06-22)
24
-
25
- ### Bug Fixes
26
-
27
- - bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
28
- - handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
29
-
30
- ## [11.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.3...@pie-element/math-inline-configure@11.1.4) (2026-06-17)
31
-
32
- ### Bug Fixes
33
-
15
+ - bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
34
16
  - bump shared modules and libs PIE-661 PIE-664 PIE-683 PIE-666 PIE-656 PIE-657 PIE-658 PIE-659 PIE-670 ([ebd6be4](https://github.com/pie-framework/pie-elements/commit/ebd6be4fd48fca41ad4c4908f606b25334731aed))
35
-
36
- ## [11.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.2...@pie-element/math-inline-configure@11.1.3) (2026-06-12)
37
-
38
- ### Bug Fixes
39
-
17
+ - bump shared modules and libs PIE-674, PIE-662, PIE-705, PIE-674, PIE-963 ([78a3f64](https://github.com/pie-framework/pie-elements/commit/78a3f64652c9581c61bd4159f3210fc1e32d8bcf))
18
+ - bump shared modules and libs PIE-695, PIE-697, PIE-699, PIE-680, PIE-714, PIE-665, PIE-656 ([4b76ae7](https://github.com/pie-framework/pie-elements/commit/4b76ae75d1c5ea6d55f7c6fb53f299dfcbda2b1f))
40
19
  - bump shared modules and libsPIE-603, PIE-604, PIE-663, PIE-662, PIE-678 ([e61c7a7](https://github.com/pie-framework/pie-elements/commit/e61c7a7d23744586337dfbb17a18ebfc656c202f))
41
-
42
- ## [11.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.1...@pie-element/math-inline-configure@11.1.2) (2026-06-04)
43
-
44
- ### Bug Fixes
45
-
46
- - bump shared modules and libs PIE-600, PIE-602 ([ce99f6a](https://github.com/pie-framework/pie-elements/commit/ce99f6af50cb855b666a6df9340f9f5445fde4c4))
47
-
48
- ## [11.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.0...@pie-element/math-inline-configure@11.1.1) (2026-05-21)
49
-
50
- **Note:** Version bump only for package @pie-element/math-inline-configure
20
+ - handle webcomponent lifecycle on every element that misses it PIE-703 ([9d5923f](https://github.com/pie-framework/pie-elements/commit/9d5923f973f0471e1e8f69ad4309cfc63d980d93))
21
+ - sync libs versions ([48b5be9](https://github.com/pie-framework/pie-elements/commit/48b5be9559eb5b5235ca05f51c5f0161032a7041))
51
22
 
52
23
  # [11.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@11.1.0-next.1...@pie-element/math-inline-configure@11.1.0) (2026-05-21)
53
24
 
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var React = _interopRequireWildcard(require("react"));
6
+ var _react2 = require("@testing-library/react");
7
+ var _configure = _interopRequireWildcard(require("../configure"));
8
+ var _configUi = require("@pie-lib/config-ui");
9
+ var _response = _interopRequireDefault(require("../response"));
10
+ var _mathToolbar = require("@pie-lib/math-toolbar");
11
+ var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
12
+ var _defaults = _interopRequireDefault(require("../defaults"));
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ jest.mock('@pie-lib/config-ui', () => ({
15
+ InputContainer: props => /*#__PURE__*/React.createElement("div", {
16
+ "data-testid": "input-container"
17
+ }, props.children),
18
+ InputCheckbox: props => /*#__PURE__*/React.createElement("div", {
19
+ "data-testid": "input-checkbox"
20
+ }, props.children),
21
+ FeedbackConfig: props => /*#__PURE__*/React.createElement("div", {
22
+ "data-testid": "feedback-config"
23
+ }, props.children),
24
+ layout: {
25
+ ConfigLayout: props => /*#__PURE__*/React.createElement("div", {
26
+ "data-testid": "config-layout"
27
+ }, props.children)
28
+ },
29
+ settings: {
30
+ Panel: props => /*#__PURE__*/React.createElement("div", {
31
+ "data-testid": "settings-panel",
32
+ onChange: props.onChange
33
+ }),
34
+ toggle: jest.fn(),
35
+ radio: jest.fn()
36
+ }
37
+ }));
38
+ jest.mock('@pie-lib/math-toolbar', () => ({
39
+ MathToolbar: props => /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
40
+ "data-testid": "math-toolbar"
41
+ }, props))
42
+ }));
43
+ jest.mock('@pie-lib/math-input-mathlive', () => ({
44
+ registerEmbed: jest.fn(),
45
+ applyStaticMath: jest.fn()
46
+ }));
47
+ jest.mock('@pie-lib/editable-html-tip-tap', () => props => /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
48
+ "data-testid": "editable-html"
49
+ }, props)));
50
+ jest.mock('../response', () => props => /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
51
+ "data-testid": "response"
52
+ }, props)));
53
+ const {
54
+ registerEmbed
55
+ } = require('@pie-lib/math-input-mathlive');
56
+ const defaultProps = {
57
+ model: {
58
+ id: '1',
59
+ promptEnabled: true,
60
+ feedbackEnabled: true,
61
+ element: 'math-inline',
62
+ responseType: 'Advanced Multi',
63
+ feedback: {
64
+ correct: {
65
+ default: 'Correct',
66
+ type: 'none'
67
+ },
68
+ incorrect: {
69
+ default: 'Incorrect',
70
+ type: 'none'
71
+ },
72
+ partial: {
73
+ default: 'Nearly',
74
+ type: 'none'
75
+ }
76
+ },
77
+ equationEditor: '3',
78
+ expression: '{{response}} = {{response}} \\text{eggs}',
79
+ question: '<p>Sam sells baskets of eggs at his farm stand. He sold 12 baskets and wrote the number sentence below to show how many eggs he sold in all.</p><p><span class="equation-block"><math xmlns="http://www.w3.org/1998/Math/MathML" >\n <mrow>\n <mn>12</mn><mo>&#x00D7;</mo><mo>&#x25A1;</mo><mo>=</mo><mn>72</mn>\n </mrow>\n</math> </span></p><p>What <span class="relative-emphasis">division</span> number sentence can be used to show how many eggs were in each basket?</p><p>Use the on-screen keyboard to type your number sentence and answer in the box.</p>',
80
+ response: {
81
+ answer: '72\\div12=6\\text{eggs}',
82
+ alternates: {
83
+ 1: '6=72\\div12\\text{eggs}',
84
+ 2: '\\frac{72}{12}=6\\text{eggs}',
85
+ 3: '6=\\frac{72}{12}\\text{eggs}'
86
+ },
87
+ validation: 'literal'
88
+ },
89
+ responses: [{
90
+ id: '1',
91
+ answer: '72\\div12=6\\text{eggs}',
92
+ alternates: {
93
+ 1: '6=72\\div12\\text{eggs}',
94
+ 2: '\\frac{72}{12}=6\\text{eggs}',
95
+ 3: '6=\\frac{72}{12}\\text{eggs}'
96
+ },
97
+ validation: 'literal'
98
+ }],
99
+ note: 'The answer shown above is the primary correct answer specified by the author for this item, but other answers may also be recognized as correct.',
100
+ customKeys: ['\\left(\\right)', '\\frac{}{}', 'x\\frac{}{}'],
101
+ configure: _defaults.default.configure
102
+ },
103
+ configuration: _defaults.default.configuration
104
+ };
105
+ describe('Configure', () => {
106
+ it('changeTeacherInstructions calls onModelChange', () => {
107
+ const onModelChanged = jest.fn();
108
+ const {
109
+ container
110
+ } = (0, _react2.render)(/*#__PURE__*/React.createElement(_configure.Configure, (0, _extends2.default)({
111
+ onModelChanged: onModelChanged,
112
+ classes: {}
113
+ }, _defaults.default)));
114
+ const instance = new _configure.Configure({
115
+ onModelChanged,
116
+ classes: {},
117
+ ..._defaults.default
118
+ });
119
+ instance.changeTeacherInstructions('Teacher Instructions');
120
+ expect(onModelChanged).toBeCalledWith(expect.objectContaining({
121
+ teacherInstructions: 'Teacher Instructions'
122
+ }));
123
+ });
124
+ });
125
+ describe('GeneralConfigBlock', () => {
126
+ // Unmock GeneralConfigBlock for these tests
127
+ const GeneralConfigBlock = require('../general-config-block').default;
128
+ let props;
129
+ beforeEach(() => {
130
+ props = {
131
+ model: defaultProps.model,
132
+ promptEnabled: true,
133
+ configuration: _defaults.default.configuration,
134
+ onChange: jest.fn(),
135
+ imageSupport: {},
136
+ uploadSoundSupport: {}
137
+ };
138
+ });
139
+ const wrapper = (extraProps = {}) => {
140
+ return (0, _react2.render)(/*#__PURE__*/React.createElement(GeneralConfigBlock, (0, _extends2.default)({}, props, extraProps)));
141
+ };
142
+ const createInstance = (extraProps = {}) => {
143
+ const instanceProps = {
144
+ ...props,
145
+ ...extraProps
146
+ };
147
+ const instance = new GeneralConfigBlock(instanceProps);
148
+ instance.setState = jest.fn(state => {
149
+ Object.assign(instance.state, typeof state === 'function' ? state(instance.state) : state);
150
+ });
151
+ return instance;
152
+ };
153
+ it('renders correctly', () => {
154
+ const {
155
+ container
156
+ } = wrapper();
157
+ expect(container.querySelector('[data-testid="input-container"]')).toBeInTheDocument();
158
+ expect(container.querySelector('[data-testid="response"]')).toBeInTheDocument();
159
+ expect(container.querySelector('[data-testid="math-toolbar"]')).toBeInTheDocument();
160
+ expect(container.querySelector('[data-testid="editable-html"]')).toBeInTheDocument();
161
+ expect(registerEmbed).toHaveBeenCalled();
162
+ });
163
+ it('renders correctly for Simple mode', () => {
164
+ const {
165
+ container
166
+ } = wrapper({
167
+ model: {
168
+ ...props.model,
169
+ responseType: 'Simple'
170
+ }
171
+ });
172
+ expect(container.querySelector('[data-testid="input-container"]')).toBeInTheDocument();
173
+ expect(container.querySelector('[data-testid="response"]')).toBeInTheDocument();
174
+ expect(container.querySelector('[data-testid="editable-html"]')).toBeInTheDocument();
175
+ });
176
+ it('renders correctly with snapshot', () => {
177
+ const {
178
+ container
179
+ } = wrapper();
180
+
181
+ // // expect(container).toMatchSnapshot();
182
+ });
183
+ it('updates advanced model correctly', () => {
184
+ const onChange = jest.fn();
185
+ const instance = createInstance({
186
+ onChange
187
+ });
188
+ instance.onResponseChange({
189
+ answer: 'something',
190
+ id: 'r1'
191
+ }, 0);
192
+ expect(onChange).toBeCalledWith({
193
+ ...props.model,
194
+ responses: [{
195
+ id: 'r1',
196
+ answer: 'something'
197
+ }]
198
+ });
199
+ });
200
+ it('builds out internal state correctly based on expression provided', () => {
201
+ const instance = createInstance();
202
+ expect(instance.state).toEqual({
203
+ showKeypad: false,
204
+ responseIdCounter: 2,
205
+ responseAreas: {
206
+ r1: {
207
+ value: ''
208
+ },
209
+ r2: {
210
+ value: ''
211
+ }
212
+ }
213
+ });
214
+ const instanceWithMoreResponses = createInstance({
215
+ model: {
216
+ ...props.model,
217
+ expression: props.model.expression + ' {{response}} '
218
+ }
219
+ });
220
+ expect(instanceWithMoreResponses.state).toEqual({
221
+ showKeypad: false,
222
+ responseIdCounter: 3,
223
+ responseAreas: {
224
+ r1: {
225
+ value: ''
226
+ },
227
+ r2: {
228
+ value: ''
229
+ },
230
+ r3: {
231
+ value: ''
232
+ }
233
+ }
234
+ });
235
+ });
236
+ });
237
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfY29uZmlndXJlIiwiX2NvbmZpZ1VpIiwiX3Jlc3BvbnNlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9tYXRoVG9vbGJhciIsIl9lZGl0YWJsZUh0bWxUaXBUYXAiLCJfZGVmYXVsdHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJqZXN0IiwibW9jayIsIklucHV0Q29udGFpbmVyIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiY2hpbGRyZW4iLCJJbnB1dENoZWNrYm94IiwiRmVlZGJhY2tDb25maWciLCJsYXlvdXQiLCJDb25maWdMYXlvdXQiLCJzZXR0aW5ncyIsIlBhbmVsIiwib25DaGFuZ2UiLCJ0b2dnbGUiLCJmbiIsInJhZGlvIiwiTWF0aFRvb2xiYXIiLCJfZXh0ZW5kczIiLCJyZWdpc3RlckVtYmVkIiwiYXBwbHlTdGF0aWNNYXRoIiwiZGVmYXVsdFByb3BzIiwibW9kZWwiLCJpZCIsInByb21wdEVuYWJsZWQiLCJmZWVkYmFja0VuYWJsZWQiLCJlbGVtZW50IiwicmVzcG9uc2VUeXBlIiwiZmVlZGJhY2siLCJjb3JyZWN0IiwidHlwZSIsImluY29ycmVjdCIsInBhcnRpYWwiLCJlcXVhdGlvbkVkaXRvciIsImV4cHJlc3Npb24iLCJxdWVzdGlvbiIsInJlc3BvbnNlIiwiYW5zd2VyIiwiYWx0ZXJuYXRlcyIsInZhbGlkYXRpb24iLCJyZXNwb25zZXMiLCJub3RlIiwiY3VzdG9tS2V5cyIsImNvbmZpZ3VyZSIsImRlZmF1bHRWYWx1ZXMiLCJjb25maWd1cmF0aW9uIiwiZGVzY3JpYmUiLCJpdCIsIm9uTW9kZWxDaGFuZ2VkIiwiY29udGFpbmVyIiwicmVuZGVyIiwiQ29uZmlndXJlIiwiY2xhc3NlcyIsImluc3RhbmNlIiwiQ29uZmlndXJlTm90U3R5bGVkIiwiY2hhbmdlVGVhY2hlckluc3RydWN0aW9ucyIsImV4cGVjdCIsInRvQmVDYWxsZWRXaXRoIiwib2JqZWN0Q29udGFpbmluZyIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJHZW5lcmFsQ29uZmlnQmxvY2siLCJiZWZvcmVFYWNoIiwiaW1hZ2VTdXBwb3J0IiwidXBsb2FkU291bmRTdXBwb3J0Iiwid3JhcHBlciIsImV4dHJhUHJvcHMiLCJjcmVhdGVJbnN0YW5jZSIsImluc3RhbmNlUHJvcHMiLCJzZXRTdGF0ZSIsInN0YXRlIiwiYXNzaWduIiwicXVlcnlTZWxlY3RvciIsInRvQmVJblRoZURvY3VtZW50IiwidG9IYXZlQmVlbkNhbGxlZCIsIm9uUmVzcG9uc2VDaGFuZ2UiLCJ0b0VxdWFsIiwic2hvd0tleXBhZCIsInJlc3BvbnNlSWRDb3VudGVyIiwicmVzcG9uc2VBcmVhcyIsInIxIiwidmFsdWUiLCJyMiIsImluc3RhbmNlV2l0aE1vcmVSZXNwb25zZXMiLCJyMyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vY29uZmlndXJlLnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgQ29uZmlndXJlLCB7IENvbmZpZ3VyZSBhcyBDb25maWd1cmVOb3RTdHlsZWQgfSBmcm9tICcuLi9jb25maWd1cmUnO1xuaW1wb3J0IHsgSW5wdXRDb250YWluZXIsIElucHV0Q2hlY2tib3ggfSBmcm9tICdAcGllLWxpYi9jb25maWctdWknO1xuaW1wb3J0IFJlc3BvbnNlIGZyb20gJy4uL3Jlc3BvbnNlJztcbmltcG9ydCB7IE1hdGhUb29sYmFyIH0gZnJvbSAnQHBpZS1saWIvbWF0aC10b29sYmFyJztcbmltcG9ydCBFZGl0YWJsZUh0bWwgZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbC10aXAtdGFwJztcblxuaW1wb3J0IHsgRmVlZGJhY2tDb25maWcsIGxheW91dCwgc2V0dGluZ3MgfSBmcm9tICdAcGllLWxpYi9jb25maWctdWknO1xuXG5pbXBvcnQgZGVmYXVsdFZhbHVlcyBmcm9tICcuLi9kZWZhdWx0cyc7XG5cbmplc3QubW9jaygnQHBpZS1saWIvY29uZmlnLXVpJywgKCkgPT4gKHtcbiAgSW5wdXRDb250YWluZXI6IChwcm9wcykgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImlucHV0LWNvbnRhaW5lclwiPntwcm9wcy5jaGlsZHJlbn08L2Rpdj4sXG4gIElucHV0Q2hlY2tib3g6IChwcm9wcykgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImlucHV0LWNoZWNrYm94XCI+e3Byb3BzLmNoaWxkcmVufTwvZGl2PixcbiAgRmVlZGJhY2tDb25maWc6IChwcm9wcykgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImZlZWRiYWNrLWNvbmZpZ1wiPntwcm9wcy5jaGlsZHJlbn08L2Rpdj4sXG4gIGxheW91dDoge1xuICAgIENvbmZpZ0xheW91dDogKHByb3BzKSA9PiA8ZGl2IGRhdGEtdGVzdGlkPVwiY29uZmlnLWxheW91dFwiPntwcm9wcy5jaGlsZHJlbn08L2Rpdj4sXG4gIH0sXG4gIHNldHRpbmdzOiB7XG4gICAgUGFuZWw6IChwcm9wcykgPT4gPGRpdiBkYXRhLXRlc3RpZD1cInNldHRpbmdzLXBhbmVsXCIgb25DaGFuZ2U9e3Byb3BzLm9uQ2hhbmdlfSAvPixcbiAgICB0b2dnbGU6IGplc3QuZm4oKSxcbiAgICByYWRpbzogamVzdC5mbigpLFxuICB9LFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL21hdGgtdG9vbGJhcicsICgpID0+ICh7XG4gIE1hdGhUb29sYmFyOiAocHJvcHMpID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJtYXRoLXRvb2xiYXJcIiB7Li4ucHJvcHN9IC8+LFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL21hdGgtaW5wdXQtbWF0aGxpdmUnLCAoKSA9PiAoe1xuICByZWdpc3RlckVtYmVkOiBqZXN0LmZuKCksXG4gIGFwcGx5U3RhdGljTWF0aDogamVzdC5mbigpLFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCcsICgpID0+IChwcm9wcykgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImVkaXRhYmxlLWh0bWxcIiB7Li4ucHJvcHN9IC8+KTtcblxuamVzdC5tb2NrKCcuLi9yZXNwb25zZScsICgpID0+IChwcm9wcykgPT4gPGRpdiBkYXRhLXRlc3RpZD1cInJlc3BvbnNlXCIgey4uLnByb3BzfSAvPik7XG5cbmNvbnN0IHsgcmVnaXN0ZXJFbWJlZCB9ID0gcmVxdWlyZSgnQHBpZS1saWIvbWF0aC1pbnB1dC1tYXRobGl2ZScpO1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIG1vZGVsOiB7XG4gICAgaWQ6ICcxJyxcbiAgICBwcm9tcHRFbmFibGVkOiB0cnVlLFxuICAgIGZlZWRiYWNrRW5hYmxlZDogdHJ1ZSxcbiAgICBlbGVtZW50OiAnbWF0aC1pbmxpbmUnLFxuICAgIHJlc3BvbnNlVHlwZTogJ0FkdmFuY2VkIE11bHRpJyxcbiAgICBmZWVkYmFjazoge1xuICAgICAgY29ycmVjdDoge1xuICAgICAgICBkZWZhdWx0OiAnQ29ycmVjdCcsXG4gICAgICAgIHR5cGU6ICdub25lJyxcbiAgICAgIH0sXG4gICAgICBpbmNvcnJlY3Q6IHtcbiAgICAgICAgZGVmYXVsdDogJ0luY29ycmVjdCcsXG4gICAgICAgIHR5cGU6ICdub25lJyxcbiAgICAgIH0sXG4gICAgICBwYXJ0aWFsOiB7XG4gICAgICAgIGRlZmF1bHQ6ICdOZWFybHknLFxuICAgICAgICB0eXBlOiAnbm9uZScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZXF1YXRpb25FZGl0b3I6ICczJyxcbiAgICBleHByZXNzaW9uOiAne3tyZXNwb25zZX19ID0ge3tyZXNwb25zZX19IFxcXFx0ZXh0e2VnZ3N9JyxcbiAgICBxdWVzdGlvbjpcbiAgICAgICc8cD5TYW0gc2VsbHMgYmFza2V0cyBvZiBlZ2dzIGF0IGhpcyBmYXJtIHN0YW5kLiBIZSBzb2xkIDEyIGJhc2tldHMgYW5kIHdyb3RlIHRoZSBudW1iZXIgc2VudGVuY2UgYmVsb3cgdG8gc2hvdyBob3cgbWFueSBlZ2dzIGhlIHNvbGQgaW4gYWxsLjwvcD48cD48c3BhbiBjbGFzcz1cImVxdWF0aW9uLWJsb2NrXCI+PG1hdGggeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MXCIgPlxcbiA8bXJvdz5cXG4gIDxtbj4xMjwvbW4+PG1vPiYjeDAwRDc7PC9tbz48bW8+JiN4MjVBMTs8L21vPjxtbz49PC9tbz48bW4+NzI8L21uPlxcbiA8L21yb3c+XFxuPC9tYXRoPiA8L3NwYW4+PC9wPjxwPldoYXQgPHNwYW4gY2xhc3M9XCJyZWxhdGl2ZS1lbXBoYXNpc1wiPmRpdmlzaW9uPC9zcGFuPiBudW1iZXIgc2VudGVuY2UgY2FuIGJlIHVzZWQgdG8gc2hvdyBob3cgbWFueSBlZ2dzIHdlcmUgaW4gZWFjaCBiYXNrZXQ/PC9wPjxwPlVzZSB0aGUgb24tc2NyZWVuIGtleWJvYXJkIHRvIHR5cGUgeW91ciBudW1iZXIgc2VudGVuY2UgYW5kIGFuc3dlciBpbiB0aGUgYm94LjwvcD4nLFxuICAgIHJlc3BvbnNlOiB7XG4gICAgICBhbnN3ZXI6ICc3MlxcXFxkaXYxMj02XFxcXHRleHR7ZWdnc30nLFxuICAgICAgYWx0ZXJuYXRlczoge1xuICAgICAgICAxOiAnNj03MlxcXFxkaXYxMlxcXFx0ZXh0e2VnZ3N9JyxcbiAgICAgICAgMjogJ1xcXFxmcmFjezcyfXsxMn09NlxcXFx0ZXh0e2VnZ3N9JyxcbiAgICAgICAgMzogJzY9XFxcXGZyYWN7NzJ9ezEyfVxcXFx0ZXh0e2VnZ3N9JyxcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0aW9uOiAnbGl0ZXJhbCcsXG4gICAgfSxcbiAgICByZXNwb25zZXM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgYW5zd2VyOiAnNzJcXFxcZGl2MTI9NlxcXFx0ZXh0e2VnZ3N9JyxcbiAgICAgICAgYWx0ZXJuYXRlczoge1xuICAgICAgICAgIDE6ICc2PTcyXFxcXGRpdjEyXFxcXHRleHR7ZWdnc30nLFxuICAgICAgICAgIDI6ICdcXFxcZnJhY3s3Mn17MTJ9PTZcXFxcdGV4dHtlZ2dzfScsXG4gICAgICAgICAgMzogJzY9XFxcXGZyYWN7NzJ9ezEyfVxcXFx0ZXh0e2VnZ3N9JyxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbjogJ2xpdGVyYWwnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIG5vdGU6ICdUaGUgYW5zd2VyIHNob3duIGFib3ZlIGlzIHRoZSBwcmltYXJ5IGNvcnJlY3QgYW5zd2VyIHNwZWNpZmllZCBieSB0aGUgYXV0aG9yIGZvciB0aGlzIGl0ZW0sIGJ1dCBvdGhlciBhbnN3ZXJzIG1heSBhbHNvIGJlIHJlY29nbml6ZWQgYXMgY29ycmVjdC4nLFxuICAgIGN1c3RvbUtleXM6IFsnXFxcXGxlZnQoXFxcXHJpZ2h0KScsICdcXFxcZnJhY3t9e30nLCAneFxcXFxmcmFje317fSddLFxuICAgIGNvbmZpZ3VyZTogZGVmYXVsdFZhbHVlcy5jb25maWd1cmUsXG4gIH0sXG4gIGNvbmZpZ3VyYXRpb246IGRlZmF1bHRWYWx1ZXMuY29uZmlndXJhdGlvbixcbn07XG5cbmRlc2NyaWJlKCdDb25maWd1cmUnLCAoKSA9PiB7XG4gIGl0KCdjaGFuZ2VUZWFjaGVySW5zdHJ1Y3Rpb25zIGNhbGxzIG9uTW9kZWxDaGFuZ2UnLCAoKSA9PiB7XG4gICAgY29uc3Qgb25Nb2RlbENoYW5nZWQgPSBqZXN0LmZuKCk7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgIDxDb25maWd1cmVOb3RTdHlsZWQgb25Nb2RlbENoYW5nZWQ9e29uTW9kZWxDaGFuZ2VkfSBjbGFzc2VzPXt7fX0gey4uLmRlZmF1bHRWYWx1ZXN9IC8+LFxuICAgICk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBDb25maWd1cmVOb3RTdHlsZWQoeyBvbk1vZGVsQ2hhbmdlZCwgY2xhc3Nlczoge30sIC4uLmRlZmF1bHRWYWx1ZXMgfSk7XG4gICAgaW5zdGFuY2UuY2hhbmdlVGVhY2hlckluc3RydWN0aW9ucygnVGVhY2hlciBJbnN0cnVjdGlvbnMnKTtcblxuICAgIGV4cGVjdChvbk1vZGVsQ2hhbmdlZCkudG9CZUNhbGxlZFdpdGgoXG4gICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdUZWFjaGVyIEluc3RydWN0aW9ucycsXG4gICAgICB9KSxcbiAgICApO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnR2VuZXJhbENvbmZpZ0Jsb2NrJywgKCkgPT4ge1xuICAvLyBVbm1vY2sgR2VuZXJhbENvbmZpZ0Jsb2NrIGZvciB0aGVzZSB0ZXN0c1xuICBjb25zdCBHZW5lcmFsQ29uZmlnQmxvY2sgPSByZXF1aXJlKCcuLi9nZW5lcmFsLWNvbmZpZy1ibG9jaycpLmRlZmF1bHQ7XG5cbiAgbGV0IHByb3BzO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHByb3BzID0ge1xuICAgICAgbW9kZWw6IGRlZmF1bHRQcm9wcy5tb2RlbCxcbiAgICAgIHByb21wdEVuYWJsZWQ6IHRydWUsXG4gICAgICBjb25maWd1cmF0aW9uOiBkZWZhdWx0VmFsdWVzLmNvbmZpZ3VyYXRpb24sXG4gICAgICBvbkNoYW5nZTogamVzdC5mbigpLFxuICAgICAgaW1hZ2VTdXBwb3J0OiB7fSxcbiAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydDoge30sXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYVByb3BzID0ge30pID0+IHtcbiAgICByZXR1cm4gcmVuZGVyKDxHZW5lcmFsQ29uZmlnQmxvY2sgey4uLnByb3BzfSB7Li4uZXh0cmFQcm9wc30gLz4pO1xuICB9O1xuXG4gIGNvbnN0IGNyZWF0ZUluc3RhbmNlID0gKGV4dHJhUHJvcHMgPSB7fSkgPT4ge1xuICAgIGNvbnN0IGluc3RhbmNlUHJvcHMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIC4uLmV4dHJhUHJvcHMsXG4gICAgfTtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBHZW5lcmFsQ29uZmlnQmxvY2soaW5zdGFuY2VQcm9wcyk7XG4gICAgaW5zdGFuY2Uuc2V0U3RhdGUgPSBqZXN0LmZuKChzdGF0ZSkgPT4ge1xuICAgICAgT2JqZWN0LmFzc2lnbihpbnN0YW5jZS5zdGF0ZSwgdHlwZW9mIHN0YXRlID09PSAnZnVuY3Rpb24nID8gc3RhdGUoaW5zdGFuY2Uuc3RhdGUpIDogc3RhdGUpO1xuICAgIH0pO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfTtcblxuICBpdCgncmVuZGVycyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHdyYXBwZXIoKTtcblxuICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3RvcignW2RhdGEtdGVzdGlkPVwiaW5wdXQtY29udGFpbmVyXCJdJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdbZGF0YS10ZXN0aWQ9XCJyZXNwb25zZVwiXScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3RvcignW2RhdGEtdGVzdGlkPVwibWF0aC10b29sYmFyXCJdJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdbZGF0YS10ZXN0aWQ9XCJlZGl0YWJsZS1odG1sXCJdJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgZXhwZWN0KHJlZ2lzdGVyRW1iZWQpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IGZvciBTaW1wbGUgbW9kZScsICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gd3JhcHBlcih7IG1vZGVsOiB7IC4uLnByb3BzLm1vZGVsLCByZXNwb25zZVR5cGU6ICdTaW1wbGUnIH0gfSk7XG5cbiAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXRlc3RpZD1cImlucHV0LWNvbnRhaW5lclwiXScpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3RvcignW2RhdGEtdGVzdGlkPVwicmVzcG9uc2VcIl0nKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXRlc3RpZD1cImVkaXRhYmxlLWh0bWxcIl0nKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IHdpdGggc25hcHNob3QnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHdyYXBwZXIoKTtcblxuICAgIC8vIC8vIGV4cGVjdChjb250YWluZXIpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcblxuICBpdCgndXBkYXRlcyBhZHZhbmNlZCBtb2RlbCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBjcmVhdGVJbnN0YW5jZSh7IG9uQ2hhbmdlIH0pO1xuXG4gICAgaW5zdGFuY2Uub25SZXNwb25zZUNoYW5nZSh7IGFuc3dlcjogJ3NvbWV0aGluZycsIGlkOiAncjEnIH0sIDApO1xuXG4gICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aCh7XG4gICAgICAuLi5wcm9wcy5tb2RlbCxcbiAgICAgIHJlc3BvbnNlczogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdyMScsXG4gICAgICAgICAgYW5zd2VyOiAnc29tZXRoaW5nJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdidWlsZHMgb3V0IGludGVybmFsIHN0YXRlIGNvcnJlY3RseSBiYXNlZCBvbiBleHByZXNzaW9uIHByb3ZpZGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IGluc3RhbmNlID0gY3JlYXRlSW5zdGFuY2UoKTtcblxuICAgIGV4cGVjdChpbnN0YW5jZS5zdGF0ZSkudG9FcXVhbCh7XG4gICAgICBzaG93S2V5cGFkOiBmYWxzZSxcbiAgICAgIHJlc3BvbnNlSWRDb3VudGVyOiAyLFxuICAgICAgcmVzcG9uc2VBcmVhczoge1xuICAgICAgICByMToge1xuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgcjI6IHtcbiAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgaW5zdGFuY2VXaXRoTW9yZVJlc3BvbnNlcyA9IGNyZWF0ZUluc3RhbmNlKHtcbiAgICAgIG1vZGVsOiB7XG4gICAgICAgIC4uLnByb3BzLm1vZGVsLFxuICAgICAgICBleHByZXNzaW9uOiBwcm9wcy5tb2RlbC5leHByZXNzaW9uICsgJyB7e3Jlc3BvbnNlfX0gJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBleHBlY3QoaW5zdGFuY2VXaXRoTW9yZVJlc3BvbnNlcy5zdGF0ZSkudG9FcXVhbCh7XG4gICAgICBzaG93S2V5cGFkOiBmYWxzZSxcbiAgICAgIHJlc3BvbnNlSWRDb3VudGVyOiAzLFxuICAgICAgcmVzcG9uc2VBcmVhczoge1xuICAgICAgICByMToge1xuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgcjI6IHtcbiAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIH0sXG4gICAgICAgIHIzOiB7XG4gICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG59KTtc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
@@ -19,7 +19,7 @@ var _response = _interopRequireDefault(require("./response"));
19
19
  var _mathToolbar = require("@pie-lib/math-toolbar");
20
20
  var _lodashEs = require("lodash-es");
21
21
  var _utils = require("./utils");
22
- var _mathInput = require("@pie-lib/math-input");
22
+ var _mathInputMathlive = require("@pie-lib/math-input-mathlive");
23
23
  var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
24
24
  var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
25
25
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -209,7 +209,7 @@ class GeneralConfigBlock extends React.Component {
209
209
  const el = this.root.querySelector(`#${responseId}`);
210
210
  const indexEl = this.root.querySelector(`#${responseId}Index`);
211
211
  if (el) {
212
- (0, _mathInput.applyStaticMath)(el);
212
+ (0, _mathInputMathlive.applyStaticMath)(el);
213
213
  indexEl.textContent = `R${idx + 1}`;
214
214
  }
215
215
  });
@@ -275,7 +275,7 @@ class GeneralConfigBlock extends React.Component {
275
275
  UNSAFE_componentWillMount() {
276
276
  if (typeof window !== 'undefined') {
277
277
  if (!registered) {
278
- (0, _mathInput.registerEmbed)('answerBlock', data => {
278
+ (0, _mathInputMathlive.registerEmbed)('answerBlock', data => {
279
279
  const genericAnswerBlock = `
280
280
  <div class="block-container block-container-generic">
281
281
  <div class="block-response block-response-generic" id="${data}Index">Response</div>
@@ -1 +1 @@
1
- {"version":3,"file":"general-config-block.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_editableHtmlTipTap","_configUi","_styles","_InputLabel","_Select","_MenuItem","_response","_mathToolbar","_lodashEs","_utils","_mathInput","_Info","_Tooltip","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","registered","getBlockClassNames","blockContainer","blockContainerGeneric","blockResponse","blockResponseGeneric","Container","styled","display","flexDirection","TemplateTitle","InputLabel","fontSize","Title","FlexContainer","alignItems","justifyContent","SelectContainer","InputContainer","theme","flex","width","marginTop","spacing","marginBottom","ResponseTemplate","margin","border","visibility","color","background","padding","borderRight","maxWidth","height","minHeight","textAlign","StyledTooltip","Tooltip","typography","whiteSpace","ErrorText","palette","error","main","paddingTop","PromptHolder","AdvancedResponse","REGEX","TEMPORARY_RESPONSE_FIELD","ANSWER_BLOCK_REGEX","NEWLINE_BLOCK","NEWLINE_LATEX","prepareForStatic","expression","answerBlocks","replace","prepareForModel","GeneralConfigBlock","Component","constructor","props","_defineProperty2","name","evtOrValue","model","onChange","newModel","target","value","setState","showKeypad","responseAreas","isEqual","state","root","keys","length","forEach","responseId","idx","el","querySelector","indexEl","applyStaticMath","textContent","responseIdCounter","newCounter","responses","find","response","id","validation","answer","alternates","concat","index","UNSAFE_componentWillMount","window","registerEmbed","data","genericAnswerBlock","htmlString","text","latex","componentDidMount","handleAnswerBlockDomUpdate","componentDidUpdate","render","imageSupport","uploadSoundSupport","configuration","promptEnabled","rationaleEnabled","toolbarOpts","prompt","equationEditor","promptEquationEditor","responseType","rationale","spellCheckEnabled","errors","baseInputConfiguration","cRationale","cPrompt","ignoreOrder","cIgnoreOrder","allowTrailingZeros","cAllowTrailingZeros","maxResponseAreas","maxImageWidth","maxImageHeight","mathMlOptions","validationMessage","generateValidationMessage","promptError","rationaleError","responsesErrors","responseAreasError","defaultImageMaxWidth","defaultImageMaxHeight","classNames","editor","mathToolbar","responsesToUse","ResponseTypes","advanced","slice","validationTooltip","createElement","disableFocusListener","disableTouchListener","placement","title","style","marginLeft","ref","label","onFocus","onPromptFocus","markup","nonEmpty","pluginProps","getPluginProps","inputConfiguration","spellCheck","languageCharactersProps","language","key","MenuProps","transitionDuration","enter","exit","MathToolbar","allowAnswerBlock","keypadMode","controlledKeypad","onDone","simple","map","mode","defaultResponse","onResponseChange","math","controlledKeypadMode","PropTypes","object","isRequired","func","bool","_default","exports"],"sources":["../src/general-config-block.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { styled } from '@mui/material/styles';\nimport InputLabel from '@mui/material/InputLabel';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport Response from './response';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport { isEqual } from 'lodash-es';\nimport { ResponseTypes, generateValidationMessage, getPluginProps } from './utils';\nimport { registerEmbed, applyStaticMath } from '@pie-lib/math-input';\nimport Info from '@mui/icons-material/Info';\nimport Tooltip from '@mui/material/Tooltip';\n\nlet registered = false;\n\n// Helper function to get class names for HTML string generation\nconst getBlockClassNames = () => {\n // These will be generated by styled components, but we need them as strings for HTML\n // We'll use a simple approach: generate unique class names\n return {\n blockContainer: 'block-container',\n blockContainerGeneric: 'block-container-generic',\n blockResponse: 'block-response',\n blockResponseGeneric: 'block-response-generic',\n };\n};\n\nconst Container = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst TemplateTitle = styled(InputLabel)({\n fontSize: '0.85rem',\n});\n\nconst Title = styled('div')({\n fontSize: '1.1rem',\n});\n\nconst FlexContainer = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n});\n\nconst SelectContainer = styled(InputContainer)(({ theme }) => ({\n flex: 'initial',\n width: '40%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n '& > *:not(label)': {\n marginTop: theme.spacing(1),\n },\n}));\n\nconst ResponseTemplate = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n\n '.block-container': {\n margin: '8px',\n display: 'inline-flex',\n border: '2px solid grey',\n\n '.mq-cursor': {\n visibility: 'hidden',\n },\n },\n '.block-container-generic': {\n margin: '4px',\n },\n\n '.block-response': {\n flex: 2,\n color: 'grey',\n background: '#f5f5f5',\n fontSize: '0.8rem',\n padding: '4px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRight: '2px solid grey',\n },\n '.block-response-generic': {\n borderRight: 0,\n },\n\n '.response-editor ': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n maxWidth: '900px',\n height: 'auto',\n minHeight: '130px',\n textAlign: 'left',\n padding: '8px',\n },\n\n '.math-toolbar': {\n maxWidth: '900px',\n },\n});\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n '& .MuiTooltip-tooltip': {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre-wrap',\n },\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst PromptHolder = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst AdvancedResponse = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nconst REGEX = /{{response}}/gm;\nconst TEMPORARY_RESPONSE_FIELD = /\\\\%response\\\\%/gm;\nconst ANSWER_BLOCK_REGEX = /\\\\embed\\{answerBlock\\}\\[r\\d*\\]/g;\nconst NEWLINE_BLOCK = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = /\\\\newline/g;\n\nfunction prepareForStatic(expression) {\n if (expression) {\n let answerBlocks = 1; // assume one at least\n\n return expression\n .replace(REGEX, () => `\\\\embed{answerBlock}[r${answerBlocks++}]`)\n .replace(NEWLINE_LATEX, '\\\\embed{newLine}[]');\n }\n}\n\nfunction prepareForModel(expression) {\n if (expression) {\n return expression\n .replace(ANSWER_BLOCK_REGEX, () => '{{response}}')\n .replace(TEMPORARY_RESPONSE_FIELD, () => '{{response}}')\n .replace(NEWLINE_BLOCK, () => '\\\\newline');\n }\n}\n\nclass GeneralConfigBlock extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n configuration: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n promptEnabled: PropTypes.bool,\n rationaleEnabled: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n const responseAreas = {};\n\n if (props.model && props.model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n props.model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n this.state = {\n showKeypad: false,\n responseAreas,\n responseIdCounter: Object.keys(responseAreas).length,\n };\n }\n\n onChange = (name) => (evtOrValue) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (typeof evtOrValue === 'object') {\n newModel[name] = evtOrValue.target.value;\n } else {\n newModel[name] = evtOrValue;\n }\n\n if (name === 'expression') {\n newModel[name] = prepareForModel(evtOrValue);\n }\n\n onChange(newModel);\n };\n\n onDone = () => {\n this.setState({ showKeypad: false });\n };\n\n onFocus = () => {\n this.setState({ showKeypad: true });\n };\n\n onPromptFocus = () => {\n this.setState({ showKeypad: false });\n };\n\n UNSAFE_componentWillMount() {\n if (typeof window !== 'undefined') {\n if (!registered) {\n registerEmbed('answerBlock', (data) => {\n const genericAnswerBlock = `\n <div class=\"block-container block-container-generic\">\n <div class=\"block-response block-response-generic\" id=\"${data}Index\">Response</div>\n </div>`;\n\n return {\n htmlString: genericAnswerBlock,\n text: () => 'text',\n latex: () => `\\\\embed{answerBlock}[${data}]`,\n };\n });\n\n registered = true;\n }\n }\n }\n\n componentDidMount() {\n this.handleAnswerBlockDomUpdate();\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n handleAnswerBlockDomUpdate = () => {\n const { model } = this.props;\n\n const responseAreas = {};\n\n if (model && model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n if (!isEqual(responseAreas, this.state.responseAreas)) {\n this.setState(\n {\n responseAreas,\n },\n () => {\n if (this.root && Object.keys(responseAreas).length) {\n Object.keys(responseAreas).forEach((responseId, idx) => {\n const el = this.root.querySelector(`#${responseId}`);\n const indexEl = this.root.querySelector(`#${responseId}Index`);\n\n if (el) {\n applyStaticMath(el);\n indexEl.textContent = `R${idx + 1}`;\n }\n });\n }\n },\n );\n }\n };\n\n onAddResponse = () => {\n const { model, onChange } = this.props;\n const { responseIdCounter } = this.state;\n const newModel = { ...model };\n\n let newCounter = responseIdCounter;\n\n while (model.responses.find((response) => response.id === newCounter)) {\n newCounter++;\n }\n\n const response = {\n id: newCounter,\n validation: 'literal',\n answer: '',\n alternates: {},\n };\n\n newModel.responses = newModel.responses.concat(response);\n onChange(newModel);\n\n this.setState({\n responseIdCounter: response.id,\n });\n };\n\n onResponseChange = (response, index) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.responses[index] = response;\n onChange(newModel);\n };\n\n render() {\n const { model, imageSupport, uploadSoundSupport, configuration, promptEnabled, rationaleEnabled, toolbarOpts } =\n this.props;\n const { showKeypad } = this.state;\n const {\n prompt,\n expression,\n equationEditor,\n promptEquationEditor = '8',\n responses,\n responseType,\n rationale,\n spellCheckEnabled,\n errors = {},\n } = model;\n const {\n baseInputConfiguration = {},\n rationale: cRationale = {},\n prompt: cPrompt = {},\n ignoreOrder: cIgnoreOrder = {},\n allowTrailingZeros: cAllowTrailingZeros = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n } = configuration || {};\n const validationMessage = generateValidationMessage(configuration, model);\n const { prompt: promptError, rationale: rationaleError, responsesErrors, responseAreasError } = errors;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const classNames = {\n editor: 'response-editor',\n mathToolbar: 'math-toolbar',\n };\n\n const responsesToUse = responseType === ResponseTypes.advanced ? responses : responses.slice(0, 1);\n\n const validationTooltip = (\n <StyledTooltip disableFocusListener disableTouchListener placement={'right'} title={validationMessage}>\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }} />\n </StyledTooltip>\n );\n\n return (\n <Container ref={(r) => (this.root = r || this.root)}>\n {promptEnabled && (\n <PromptHolder label={cPrompt.label}>\n <EditableHtml\n onFocus={this.onPromptFocus}\n markup={prompt || ''}\n onChange={this.onChange('prompt')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cPrompt?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </PromptHolder>\n )}\n\n {responseType === ResponseTypes.advanced && (\n <AdvancedResponse>\n <FlexContainer style={{ justifyContent: 'flex-start' }}>\n <Title>Define Response</Title>\n {validationTooltip}\n </FlexContainer>\n\n <SelectContainer key=\"templateEditorType\" label=\"Response Template Equation Editor\">\n <Select\n onChange={this.onChange('promptEquationEditor')}\n value={promptEquationEditor}\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </SelectContainer>\n\n <ResponseTemplate key=\"templateHolder\">\n <TemplateTitle>RESPONSE TEMPLATE</TemplateTitle>\n <MathToolbar\n classNames={classNames}\n allowAnswerBlock\n keypadMode={promptEquationEditor}\n controlledKeypad\n showKeypad={showKeypad}\n latex={prepareForStatic(expression) || ''}\n onChange={this.onChange('expression')}\n onFocus={this.onFocus}\n onDone={this.onDone}\n maxResponseAreas={maxResponseAreas}\n error={responseAreasError}\n />\n </ResponseTemplate>\n\n {responseAreasError && <ErrorText>{responseAreasError}</ErrorText>}\n </AdvancedResponse>\n )}\n\n <FlexContainer style={{ justifyContent: 'flex-start' }}>\n <Title>Define Correct Response</Title>\n {responseType === ResponseTypes.simple ? validationTooltip : null}\n </FlexContainer>\n\n <SelectContainer label=\"Equation Editor\">\n <Select\n onChange={this.onChange('equationEditor')}\n value={equationEditor}\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </SelectContainer>\n\n {responsesToUse.map((response, idx) => (\n <Response\n key={response.id}\n mode={equationEditor}\n response={response}\n defaultResponse={responseType === ResponseTypes.simple}\n onResponseChange={this.onResponseChange}\n index={idx}\n cIgnoreOrder={cIgnoreOrder}\n cAllowTrailingZeros={cAllowTrailingZeros}\n error={responsesErrors && responsesErrors[idx]}\n />\n ))}\n\n {rationaleEnabled && (\n <PromptHolder label={cRationale.label}>\n <EditableHtml\n markup={rationale || ''}\n onChange={this.onChange('rationale')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cRationale?.inputConfiguration, {\n ...baseInputConfiguration,\n math: {\n controlledKeypadMode: false,\n },\n })}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <ErrorText>{rationaleError}</ErrorText>}\n </PromptHolder>\n )}\n </Container>\n );\n }\n}\n\nexport default GeneralConfigBlock;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"general-config-block.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_editableHtmlTipTap","_configUi","_styles","_InputLabel","_Select","_MenuItem","_response","_mathToolbar","_lodashEs","_utils","_mathInputMathlive","_Info","_Tooltip","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","registered","getBlockClassNames","blockContainer","blockContainerGeneric","blockResponse","blockResponseGeneric","Container","styled","display","flexDirection","TemplateTitle","InputLabel","fontSize","Title","FlexContainer","alignItems","justifyContent","SelectContainer","InputContainer","theme","flex","width","marginTop","spacing","marginBottom","ResponseTemplate","margin","border","visibility","color","background","padding","borderRight","maxWidth","height","minHeight","textAlign","StyledTooltip","Tooltip","typography","whiteSpace","ErrorText","palette","error","main","paddingTop","PromptHolder","AdvancedResponse","REGEX","TEMPORARY_RESPONSE_FIELD","ANSWER_BLOCK_REGEX","NEWLINE_BLOCK","NEWLINE_LATEX","prepareForStatic","expression","answerBlocks","replace","prepareForModel","GeneralConfigBlock","Component","constructor","props","_defineProperty2","name","evtOrValue","model","onChange","newModel","target","value","setState","showKeypad","responseAreas","isEqual","state","root","keys","length","forEach","responseId","idx","el","querySelector","indexEl","applyStaticMath","textContent","responseIdCounter","newCounter","responses","find","response","id","validation","answer","alternates","concat","index","UNSAFE_componentWillMount","window","registerEmbed","data","genericAnswerBlock","htmlString","text","latex","componentDidMount","handleAnswerBlockDomUpdate","componentDidUpdate","render","imageSupport","uploadSoundSupport","configuration","promptEnabled","rationaleEnabled","toolbarOpts","prompt","equationEditor","promptEquationEditor","responseType","rationale","spellCheckEnabled","errors","baseInputConfiguration","cRationale","cPrompt","ignoreOrder","cIgnoreOrder","allowTrailingZeros","cAllowTrailingZeros","maxResponseAreas","maxImageWidth","maxImageHeight","mathMlOptions","validationMessage","generateValidationMessage","promptError","rationaleError","responsesErrors","responseAreasError","defaultImageMaxWidth","defaultImageMaxHeight","classNames","editor","mathToolbar","responsesToUse","ResponseTypes","advanced","slice","validationTooltip","createElement","disableFocusListener","disableTouchListener","placement","title","style","marginLeft","ref","label","onFocus","onPromptFocus","markup","nonEmpty","pluginProps","getPluginProps","inputConfiguration","spellCheck","languageCharactersProps","language","key","MenuProps","transitionDuration","enter","exit","MathToolbar","allowAnswerBlock","keypadMode","controlledKeypad","onDone","simple","map","mode","defaultResponse","onResponseChange","math","controlledKeypadMode","PropTypes","object","isRequired","func","bool","_default","exports"],"sources":["../src/general-config-block.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { styled } from '@mui/material/styles';\nimport InputLabel from '@mui/material/InputLabel';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport Response from './response';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport { isEqual } from 'lodash-es';\nimport { ResponseTypes, generateValidationMessage, getPluginProps } from './utils';\nimport { registerEmbed, applyStaticMath } from '@pie-lib/math-input-mathlive';\nimport Info from '@mui/icons-material/Info';\nimport Tooltip from '@mui/material/Tooltip';\n\nlet registered = false;\n\n// Helper function to get class names for HTML string generation\nconst getBlockClassNames = () => {\n // These will be generated by styled components, but we need them as strings for HTML\n // We'll use a simple approach: generate unique class names\n return {\n blockContainer: 'block-container',\n blockContainerGeneric: 'block-container-generic',\n blockResponse: 'block-response',\n blockResponseGeneric: 'block-response-generic',\n };\n};\n\nconst Container = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst TemplateTitle = styled(InputLabel)({\n fontSize: '0.85rem',\n});\n\nconst Title = styled('div')({\n fontSize: '1.1rem',\n});\n\nconst FlexContainer = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n});\n\nconst SelectContainer = styled(InputContainer)(({ theme }) => ({\n flex: 'initial',\n width: '40%',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n '& > *:not(label)': {\n marginTop: theme.spacing(1),\n },\n}));\n\nconst ResponseTemplate = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n\n '.block-container': {\n margin: '8px',\n display: 'inline-flex',\n border: '2px solid grey',\n\n '.mq-cursor': {\n visibility: 'hidden',\n },\n },\n '.block-container-generic': {\n margin: '4px',\n },\n\n '.block-response': {\n flex: 2,\n color: 'grey',\n background: '#f5f5f5',\n fontSize: '0.8rem',\n padding: '4px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRight: '2px solid grey',\n },\n '.block-response-generic': {\n borderRight: 0,\n },\n\n '.response-editor ': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n maxWidth: '900px',\n height: 'auto',\n minHeight: '130px',\n textAlign: 'left',\n padding: '8px',\n },\n\n '.math-toolbar': {\n maxWidth: '900px',\n },\n});\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n '& .MuiTooltip-tooltip': {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre-wrap',\n },\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst PromptHolder = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst AdvancedResponse = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nconst REGEX = /{{response}}/gm;\nconst TEMPORARY_RESPONSE_FIELD = /\\\\%response\\\\%/gm;\nconst ANSWER_BLOCK_REGEX = /\\\\embed\\{answerBlock\\}\\[r\\d*\\]/g;\nconst NEWLINE_BLOCK = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = /\\\\newline/g;\n\nfunction prepareForStatic(expression) {\n if (expression) {\n let answerBlocks = 1; // assume one at least\n\n return expression\n .replace(REGEX, () => `\\\\embed{answerBlock}[r${answerBlocks++}]`)\n .replace(NEWLINE_LATEX, '\\\\embed{newLine}[]');\n }\n}\n\nfunction prepareForModel(expression) {\n if (expression) {\n return expression\n .replace(ANSWER_BLOCK_REGEX, () => '{{response}}')\n .replace(TEMPORARY_RESPONSE_FIELD, () => '{{response}}')\n .replace(NEWLINE_BLOCK, () => '\\\\newline');\n }\n}\n\nclass GeneralConfigBlock extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n configuration: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n promptEnabled: PropTypes.bool,\n rationaleEnabled: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n const responseAreas = {};\n\n if (props.model && props.model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n props.model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n this.state = {\n showKeypad: false,\n responseAreas,\n responseIdCounter: Object.keys(responseAreas).length,\n };\n }\n\n onChange = (name) => (evtOrValue) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (typeof evtOrValue === 'object') {\n newModel[name] = evtOrValue.target.value;\n } else {\n newModel[name] = evtOrValue;\n }\n\n if (name === 'expression') {\n newModel[name] = prepareForModel(evtOrValue);\n }\n\n onChange(newModel);\n };\n\n onDone = () => {\n this.setState({ showKeypad: false });\n };\n\n onFocus = () => {\n this.setState({ showKeypad: true });\n };\n\n onPromptFocus = () => {\n this.setState({ showKeypad: false });\n };\n\n UNSAFE_componentWillMount() {\n if (typeof window !== 'undefined') {\n if (!registered) {\n registerEmbed('answerBlock', (data) => {\n const genericAnswerBlock = `\n <div class=\"block-container block-container-generic\">\n <div class=\"block-response block-response-generic\" id=\"${data}Index\">Response</div>\n </div>`;\n\n return {\n htmlString: genericAnswerBlock,\n text: () => 'text',\n latex: () => `\\\\embed{answerBlock}[${data}]`,\n };\n });\n\n registered = true;\n }\n }\n }\n\n componentDidMount() {\n this.handleAnswerBlockDomUpdate();\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n handleAnswerBlockDomUpdate = () => {\n const { model } = this.props;\n\n const responseAreas = {};\n\n if (model && model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n if (!isEqual(responseAreas, this.state.responseAreas)) {\n this.setState(\n {\n responseAreas,\n },\n () => {\n if (this.root && Object.keys(responseAreas).length) {\n Object.keys(responseAreas).forEach((responseId, idx) => {\n const el = this.root.querySelector(`#${responseId}`);\n const indexEl = this.root.querySelector(`#${responseId}Index`);\n\n if (el) {\n applyStaticMath(el);\n indexEl.textContent = `R${idx + 1}`;\n }\n });\n }\n },\n );\n }\n };\n\n onAddResponse = () => {\n const { model, onChange } = this.props;\n const { responseIdCounter } = this.state;\n const newModel = { ...model };\n\n let newCounter = responseIdCounter;\n\n while (model.responses.find((response) => response.id === newCounter)) {\n newCounter++;\n }\n\n const response = {\n id: newCounter,\n validation: 'literal',\n answer: '',\n alternates: {},\n };\n\n newModel.responses = newModel.responses.concat(response);\n onChange(newModel);\n\n this.setState({\n responseIdCounter: response.id,\n });\n };\n\n onResponseChange = (response, index) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.responses[index] = response;\n onChange(newModel);\n };\n\n render() {\n const { model, imageSupport, uploadSoundSupport, configuration, promptEnabled, rationaleEnabled, toolbarOpts } =\n this.props;\n const { showKeypad } = this.state;\n const {\n prompt,\n expression,\n equationEditor,\n promptEquationEditor = '8',\n responses,\n responseType,\n rationale,\n spellCheckEnabled,\n errors = {},\n } = model;\n const {\n baseInputConfiguration = {},\n rationale: cRationale = {},\n prompt: cPrompt = {},\n ignoreOrder: cIgnoreOrder = {},\n allowTrailingZeros: cAllowTrailingZeros = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n } = configuration || {};\n const validationMessage = generateValidationMessage(configuration, model);\n const { prompt: promptError, rationale: rationaleError, responsesErrors, responseAreasError } = errors;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const classNames = {\n editor: 'response-editor',\n mathToolbar: 'math-toolbar',\n };\n\n const responsesToUse = responseType === ResponseTypes.advanced ? responses : responses.slice(0, 1);\n\n const validationTooltip = (\n <StyledTooltip disableFocusListener disableTouchListener placement={'right'} title={validationMessage}>\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }} />\n </StyledTooltip>\n );\n\n return (\n <Container ref={(r) => (this.root = r || this.root)}>\n {promptEnabled && (\n <PromptHolder label={cPrompt.label}>\n <EditableHtml\n onFocus={this.onPromptFocus}\n markup={prompt || ''}\n onChange={this.onChange('prompt')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cPrompt?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </PromptHolder>\n )}\n\n {responseType === ResponseTypes.advanced && (\n <AdvancedResponse>\n <FlexContainer style={{ justifyContent: 'flex-start' }}>\n <Title>Define Response</Title>\n {validationTooltip}\n </FlexContainer>\n\n <SelectContainer key=\"templateEditorType\" label=\"Response Template Equation Editor\">\n <Select\n onChange={this.onChange('promptEquationEditor')}\n value={promptEquationEditor}\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </SelectContainer>\n\n <ResponseTemplate key=\"templateHolder\">\n <TemplateTitle>RESPONSE TEMPLATE</TemplateTitle>\n <MathToolbar\n classNames={classNames}\n allowAnswerBlock\n keypadMode={promptEquationEditor}\n controlledKeypad\n showKeypad={showKeypad}\n latex={prepareForStatic(expression) || ''}\n onChange={this.onChange('expression')}\n onFocus={this.onFocus}\n onDone={this.onDone}\n maxResponseAreas={maxResponseAreas}\n error={responseAreasError}\n />\n </ResponseTemplate>\n\n {responseAreasError && <ErrorText>{responseAreasError}</ErrorText>}\n </AdvancedResponse>\n )}\n\n <FlexContainer style={{ justifyContent: 'flex-start' }}>\n <Title>Define Correct Response</Title>\n {responseType === ResponseTypes.simple ? validationTooltip : null}\n </FlexContainer>\n\n <SelectContainer label=\"Equation Editor\">\n <Select\n onChange={this.onChange('equationEditor')}\n value={equationEditor}\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </SelectContainer>\n\n {responsesToUse.map((response, idx) => (\n <Response\n key={response.id}\n mode={equationEditor}\n response={response}\n defaultResponse={responseType === ResponseTypes.simple}\n onResponseChange={this.onResponseChange}\n index={idx}\n cIgnoreOrder={cIgnoreOrder}\n cAllowTrailingZeros={cAllowTrailingZeros}\n error={responsesErrors && responsesErrors[idx]}\n />\n ))}\n\n {rationaleEnabled && (\n <PromptHolder label={cRationale.label}>\n <EditableHtml\n markup={rationale || ''}\n onChange={this.onChange('rationale')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cRationale?.inputConfiguration, {\n ...baseInputConfiguration,\n math: {\n controlledKeypadMode: false,\n },\n })}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <ErrorText>{rationaleError}</ErrorText>}\n </PromptHolder>\n )}\n </Container>\n );\n }\n}\n\nexport default GeneralConfigBlock;\n"],"mappings":"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","ignoreList":[]}