@pie-lib/math-toolbar 3.0.10 → 3.0.11-beta.10

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,44 +3,6 @@
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
- ## [3.0.10](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.9...@pie-lib/math-toolbar@3.0.10) (2026-09-22)
7
-
8
- **Note:** Version bump only for package @pie-lib/math-toolbar
9
-
10
- ## [3.0.9](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.8...@pie-lib/math-toolbar@3.0.9) (2026-09-02)
11
-
12
- **Note:** Version bump only for package @pie-lib/math-toolbar
13
-
14
- ## [3.0.8](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.7...@pie-lib/math-toolbar@3.0.8) (2026-08-26)
15
-
16
- **Note:** Version bump only for package @pie-lib/math-toolbar
17
-
18
- ## [3.0.7](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.6...@pie-lib/math-toolbar@3.0.7) (2026-08-21)
19
-
20
- ### Bug Fixes
21
-
22
- - **theming:** move the grey palette reads onto --pie-\* tokens PIE-856 ([9bbaf10](https://github.com/pie-framework/pie-lib/commit/9bbaf10ab25a050e4d1b727f84c7ad9fdc952f6a)), closes [#C0C3](https://github.com/pie-framework/pie-lib/issues/C0C3)
23
-
24
- ## [3.0.6](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.5...@pie-lib/math-toolbar@3.0.6) (2026-07-01)
25
-
26
- **Note:** Version bump only for package @pie-lib/math-toolbar
27
-
28
- ## [3.0.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.4...@pie-lib/math-toolbar@3.0.5) (2026-06-25)
29
-
30
- ### Bug Fixes
31
-
32
- - math editor saves on close and focuses when switching node [PIE-695][PIE-697] ([54beb75](https://github.com/pie-framework/pie-lib/commit/54beb75afe197d157623bb7feec92796a196091a))
33
-
34
- ## [3.0.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.3...@pie-lib/math-toolbar@3.0.4) (2026-06-12)
35
-
36
- ### Bug Fixes
37
-
38
- - correct @emotion/style typo to @emotion/styled in package deps PIE-678 ([d529ac7](https://github.com/pie-framework/pie-lib/commit/d529ac7bc3dfa94d8037688452d4c70c66f2590b))
39
-
40
- ## [3.0.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.2...@pie-lib/math-toolbar@3.0.3) (2026-06-01)
41
-
42
- **Note:** Version bump only for package @pie-lib/math-toolbar
43
-
44
6
  ## [3.0.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-toolbar@3.0.2-next.2...@pie-lib/math-toolbar@3.0.2) (2026-05-07)
45
7
 
46
8
  **Note:** Version bump only for package @pie-lib/math-toolbar
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _editorAndPad = require("../editor-and-pad");
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ /**
9
+ * Covers the call sites that changed when this package moved from
10
+ * @pie-lib/math-input (MathQuill) to @pie-lib/math-input-mathlive.
11
+ *
12
+ * All three were MathQuill-shaped and silently changed meaning:
13
+ * - shouldComponentUpdate read `this.input.mathField.latex()`, which throws now
14
+ * (and the field loads asynchronously, so `this.input` can be null)
15
+ * - the mixed-number workaround poked `__controller.cursor`, a MathQuill
16
+ * internal with no MathLive equivalent
17
+ * - onClick routes keypad presses through the imperative field API
18
+ */
19
+ describe('EditorAndPad after the MathLive migration', function () {
20
+ var props = function props() {
21
+ var over = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
22
+ return _objectSpread({
23
+ classes: {},
24
+ classNames: {},
25
+ onChange: jest.fn()
26
+ }, over);
27
+ };
28
+ describe('shouldComponentUpdate', function () {
29
+ it('treats a missing input ref as different, so the first render is not skipped', function () {
30
+ var c = new _editorAndPad.EditorAndPad(props({
31
+ latex: 'x'
32
+ }));
33
+ c.input = null;
34
+ expect(c.shouldComponentUpdate({
35
+ latex: 'x'
36
+ }, {})).toBe(true);
37
+ });
38
+ it('does not throw when the math engine has not loaded yet', function () {
39
+ var c = new _editorAndPad.EditorAndPad(props({
40
+ latex: 'x'
41
+ }));
42
+
43
+ // latex() returns '' until MathLive is ready
44
+ c.input = {
45
+ latex: function latex() {
46
+ return '';
47
+ }
48
+ };
49
+ expect(function () {
50
+ return c.shouldComponentUpdate({
51
+ latex: 'x'
52
+ }, {});
53
+ }).not.toThrow();
54
+ expect(c.shouldComponentUpdate({
55
+ latex: 'x'
56
+ }, {})).toBe(true);
57
+ });
58
+ it('skips the update when the field already holds the incoming latex', function () {
59
+ var c = new _editorAndPad.EditorAndPad(props({
60
+ latex: 'x',
61
+ keypadMode: 'a',
62
+ noDecimal: false
63
+ }));
64
+ c.input = {
65
+ latex: function latex() {
66
+ return 'x';
67
+ }
68
+ };
69
+ c.state = {
70
+ equationEditor: 'geometry'
71
+ };
72
+ expect(c.shouldComponentUpdate({
73
+ latex: 'x',
74
+ keypadMode: 'a',
75
+ noDecimal: false
76
+ }, c.state)).toBe(false);
77
+ });
78
+ it('re-renders when the field differs from the incoming latex', function () {
79
+ var c = new _editorAndPad.EditorAndPad(props({
80
+ latex: 'y'
81
+ }));
82
+ c.input = {
83
+ latex: function latex() {
84
+ return 'x';
85
+ }
86
+ };
87
+ expect(c.shouldComponentUpdate({
88
+ latex: 'y'
89
+ }, {})).toBe(true);
90
+ });
91
+ it('uses input.latex(), never input.mathField.latex()', function () {
92
+ var c = new _editorAndPad.EditorAndPad(props({
93
+ latex: 'x'
94
+ }));
95
+ var latex = jest.fn(function () {
96
+ return 'x';
97
+ });
98
+
99
+ // deliberately no `mathField` - the old code would have thrown here
100
+ c.input = {
101
+ latex: latex
102
+ };
103
+ c.state = {
104
+ equationEditor: 'geometry'
105
+ };
106
+ c.shouldComponentUpdate({
107
+ latex: 'x'
108
+ }, c.state);
109
+ expect(latex).toHaveBeenCalled();
110
+ });
111
+ });
112
+ describe('onClick key routing', function () {
113
+ var withInput = function withInput() {
114
+ var over = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
115
+ var c = new _editorAndPad.EditorAndPad(props(over));
116
+ var calls = {
117
+ write: [],
118
+ command: [],
119
+ keystroke: [],
120
+ clear: 0
121
+ };
122
+ c.input = {
123
+ write: function write(v) {
124
+ return calls.write.push(v);
125
+ },
126
+ command: function command(v) {
127
+ return calls.command.push(v);
128
+ },
129
+ keystroke: function keystroke(v) {
130
+ return calls.keystroke.push(v);
131
+ },
132
+ clear: function clear() {
133
+ return calls.clear++;
134
+ }
135
+ };
136
+ c.updateDisable = function () {};
137
+ return {
138
+ c: c,
139
+ calls: calls
140
+ };
141
+ };
142
+
143
+ // toNodeData keys this off `value === 'clear'`, not `type`
144
+ it('clear', function () {
145
+ var _withInput = withInput(),
146
+ c = _withInput.c,
147
+ calls = _withInput.calls;
148
+ c.onClick({
149
+ value: 'clear'
150
+ });
151
+ expect(calls.clear).toBe(1);
152
+ });
153
+ it('command', function () {
154
+ var _withInput2 = withInput(),
155
+ c = _withInput2.c,
156
+ calls = _withInput2.calls;
157
+ c.onClick({
158
+ type: 'command',
159
+ value: '\\frac'
160
+ });
161
+ expect(calls.command).toEqual(['\\frac']);
162
+ });
163
+ it('cursor keystroke', function () {
164
+ var _withInput3 = withInput(),
165
+ c = _withInput3.c,
166
+ calls = _withInput3.calls;
167
+ c.onClick({
168
+ type: 'cursor',
169
+ value: 'Left'
170
+ });
171
+ expect(calls.keystroke).toEqual(['Left']);
172
+ });
173
+ it('answer block writes the response token', function () {
174
+ var _withInput4 = withInput(),
175
+ c = _withInput4.c,
176
+ calls = _withInput4.calls;
177
+ c.onClick({
178
+ type: 'answer'
179
+ });
180
+ expect(calls.write).toEqual(['%response%']);
181
+ });
182
+ it('plain value', function () {
183
+ var _withInput5 = withInput(),
184
+ c = _withInput5.c,
185
+ calls = _withInput5.calls;
186
+ c.onClick({
187
+ value: 'x'
188
+ });
189
+ expect(calls.write).toEqual(['x']);
190
+ });
191
+ it('ignores a nullish key', function () {
192
+ var _withInput6 = withInput(),
193
+ c = _withInput6.c,
194
+ calls = _withInput6.calls;
195
+ expect(function () {
196
+ return c.onClick(null);
197
+ }).not.toThrow();
198
+ expect(calls.write).toEqual([]);
199
+ });
200
+ });
201
+ describe('onEditorChange', function () {
202
+ var withInput = function withInput() {
203
+ var over = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
204
+ var onChange = jest.fn();
205
+ var c = new _editorAndPad.EditorAndPad(props(_objectSpread({
206
+ onChange: onChange
207
+ }, over)));
208
+ var calls = {
209
+ keystroke: [],
210
+ clear: 0,
211
+ write: []
212
+ };
213
+ c.input = {
214
+ keystroke: function keystroke(v) {
215
+ return calls.keystroke.push(v);
216
+ },
217
+ clear: function clear() {
218
+ return calls.clear++;
219
+ },
220
+ write: function write(v) {
221
+ return calls.write.push(v);
222
+ }
223
+ };
224
+ c.updateDisable = function () {};
225
+ return {
226
+ c: c,
227
+ onChange: onChange,
228
+ calls: calls
229
+ };
230
+ };
231
+ it('propagates ordinary latex to onChange', function () {
232
+ var _withInput7 = withInput(),
233
+ c = _withInput7.c,
234
+ onChange = _withInput7.onChange;
235
+ c.onEditorChange('\\frac{1}{2}');
236
+ expect(onChange).toHaveBeenCalledWith('\\frac{1}{2}');
237
+ });
238
+ it('strips decimals when noDecimal is set', function () {
239
+ var _withInput8 = withInput({
240
+ noDecimal: true
241
+ }),
242
+ c = _withInput8.c,
243
+ onChange = _withInput8.onChange,
244
+ calls = _withInput8.calls;
245
+ c.onEditorChange('1.5');
246
+ expect(calls.clear).toBe(1);
247
+ expect(calls.write).toEqual(['15']);
248
+ expect(onChange).not.toHaveBeenCalled();
249
+ });
250
+ it('undoes the empty fraction after a digit with a public delete, not MathQuill internals', function () {
251
+ var _withInput9 = withInput(),
252
+ c = _withInput9.c,
253
+ onChange = _withInput9.onChange,
254
+ calls = _withInput9.calls;
255
+
256
+ // the shape the old __controller hack targeted
257
+ c.onEditorChange('2\\ \\frac{1}{ }');
258
+ expect(calls.keystroke).toEqual(['Backspace']);
259
+ expect(onChange).not.toHaveBeenCalled();
260
+ });
261
+ it('does not treat normal fractions as the mixed-number case', function () {
262
+ var _withInput0 = withInput(),
263
+ c = _withInput0.c,
264
+ onChange = _withInput0.onChange,
265
+ calls = _withInput0.calls;
266
+ c.onEditorChange('\\frac{1}{2}');
267
+ expect(calls.keystroke).toEqual([]);
268
+ expect(onChange).toHaveBeenCalled();
269
+ });
270
+ });
271
+ });
272
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZWRpdG9yQW5kUGFkIiwicmVxdWlyZSIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiZGVzY3JpYmUiLCJwcm9wcyIsIm92ZXIiLCJ1bmRlZmluZWQiLCJjbGFzc2VzIiwiY2xhc3NOYW1lcyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwiaXQiLCJjIiwiRWRpdG9yQW5kUGFkIiwibGF0ZXgiLCJpbnB1dCIsImV4cGVjdCIsInNob3VsZENvbXBvbmVudFVwZGF0ZSIsInRvQmUiLCJub3QiLCJ0b1Rocm93Iiwia2V5cGFkTW9kZSIsIm5vRGVjaW1hbCIsInN0YXRlIiwiZXF1YXRpb25FZGl0b3IiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwid2l0aElucHV0IiwiY2FsbHMiLCJ3cml0ZSIsImNvbW1hbmQiLCJrZXlzdHJva2UiLCJjbGVhciIsInYiLCJ1cGRhdGVEaXNhYmxlIiwiX3dpdGhJbnB1dCIsIm9uQ2xpY2siLCJ2YWx1ZSIsIl93aXRoSW5wdXQyIiwidHlwZSIsInRvRXF1YWwiLCJfd2l0aElucHV0MyIsIl93aXRoSW5wdXQ0IiwiX3dpdGhJbnB1dDUiLCJfd2l0aElucHV0NiIsIl93aXRoSW5wdXQ3Iiwib25FZGl0b3JDaGFuZ2UiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsIl93aXRoSW5wdXQ4IiwiX3dpdGhJbnB1dDkiLCJfd2l0aElucHV0MCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZWRpdG9yLWFuZC1wYWQtbWF0aGxpdmUudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3JBbmRQYWQgfSBmcm9tICcuLi9lZGl0b3ItYW5kLXBhZCc7XG5cbi8qKlxuICogQ292ZXJzIHRoZSBjYWxsIHNpdGVzIHRoYXQgY2hhbmdlZCB3aGVuIHRoaXMgcGFja2FnZSBtb3ZlZCBmcm9tXG4gKiBAcGllLWxpYi9tYXRoLWlucHV0IChNYXRoUXVpbGwpIHRvIEBwaWUtbGliL21hdGgtaW5wdXQtbWF0aGxpdmUuXG4gKlxuICogQWxsIHRocmVlIHdlcmUgTWF0aFF1aWxsLXNoYXBlZCBhbmQgc2lsZW50bHkgY2hhbmdlZCBtZWFuaW5nOlxuICogIC0gc2hvdWxkQ29tcG9uZW50VXBkYXRlIHJlYWQgYHRoaXMuaW5wdXQubWF0aEZpZWxkLmxhdGV4KClgLCB3aGljaCB0aHJvd3Mgbm93XG4gKiAgICAoYW5kIHRoZSBmaWVsZCBsb2FkcyBhc3luY2hyb25vdXNseSwgc28gYHRoaXMuaW5wdXRgIGNhbiBiZSBudWxsKVxuICogIC0gdGhlIG1peGVkLW51bWJlciB3b3JrYXJvdW5kIHBva2VkIGBfX2NvbnRyb2xsZXIuY3Vyc29yYCwgYSBNYXRoUXVpbGxcbiAqICAgIGludGVybmFsIHdpdGggbm8gTWF0aExpdmUgZXF1aXZhbGVudFxuICogIC0gb25DbGljayByb3V0ZXMga2V5cGFkIHByZXNzZXMgdGhyb3VnaCB0aGUgaW1wZXJhdGl2ZSBmaWVsZCBBUElcbiAqL1xuZGVzY3JpYmUoJ0VkaXRvckFuZFBhZCBhZnRlciB0aGUgTWF0aExpdmUgbWlncmF0aW9uJywgKCkgPT4ge1xuICBjb25zdCBwcm9wcyA9IChvdmVyID0ge30pID0+ICh7IGNsYXNzZXM6IHt9LCBjbGFzc05hbWVzOiB7fSwgb25DaGFuZ2U6IGplc3QuZm4oKSwgLi4ub3ZlciB9KTtcblxuICBkZXNjcmliZSgnc2hvdWxkQ29tcG9uZW50VXBkYXRlJywgKCkgPT4ge1xuICAgIGl0KCd0cmVhdHMgYSBtaXNzaW5nIGlucHV0IHJlZiBhcyBkaWZmZXJlbnQsIHNvIHRoZSBmaXJzdCByZW5kZXIgaXMgbm90IHNraXBwZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjID0gbmV3IEVkaXRvckFuZFBhZChwcm9wcyh7IGxhdGV4OiAneCcgfSkpO1xuXG4gICAgICBjLmlucHV0ID0gbnVsbDtcblxuICAgICAgZXhwZWN0KGMuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHsgbGF0ZXg6ICd4JyB9LCB7fSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZG9lcyBub3QgdGhyb3cgd2hlbiB0aGUgbWF0aCBlbmdpbmUgaGFzIG5vdCBsb2FkZWQgeWV0JywgKCkgPT4ge1xuICAgICAgY29uc3QgYyA9IG5ldyBFZGl0b3JBbmRQYWQocHJvcHMoeyBsYXRleDogJ3gnIH0pKTtcblxuICAgICAgLy8gbGF0ZXgoKSByZXR1cm5zICcnIHVudGlsIE1hdGhMaXZlIGlzIHJlYWR5XG4gICAgICBjLmlucHV0ID0geyBsYXRleDogKCkgPT4gJycgfTtcblxuICAgICAgZXhwZWN0KCgpID0+IGMuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHsgbGF0ZXg6ICd4JyB9LCB7fSkpLm5vdC50b1Rocm93KCk7XG4gICAgICBleHBlY3QoYy5zaG91bGRDb21wb25lbnRVcGRhdGUoeyBsYXRleDogJ3gnIH0sIHt9KSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdza2lwcyB0aGUgdXBkYXRlIHdoZW4gdGhlIGZpZWxkIGFscmVhZHkgaG9sZHMgdGhlIGluY29taW5nIGxhdGV4JywgKCkgPT4ge1xuICAgICAgY29uc3QgYyA9IG5ldyBFZGl0b3JBbmRQYWQocHJvcHMoeyBsYXRleDogJ3gnLCBrZXlwYWRNb2RlOiAnYScsIG5vRGVjaW1hbDogZmFsc2UgfSkpO1xuXG4gICAgICBjLmlucHV0ID0geyBsYXRleDogKCkgPT4gJ3gnIH07XG4gICAgICBjLnN0YXRlID0geyBlcXVhdGlvbkVkaXRvcjogJ2dlb21ldHJ5JyB9O1xuXG4gICAgICBleHBlY3QoYy5zaG91bGRDb21wb25lbnRVcGRhdGUoeyBsYXRleDogJ3gnLCBrZXlwYWRNb2RlOiAnYScsIG5vRGVjaW1hbDogZmFsc2UgfSwgYy5zdGF0ZSkpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlLXJlbmRlcnMgd2hlbiB0aGUgZmllbGQgZGlmZmVycyBmcm9tIHRoZSBpbmNvbWluZyBsYXRleCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGMgPSBuZXcgRWRpdG9yQW5kUGFkKHByb3BzKHsgbGF0ZXg6ICd5JyB9KSk7XG5cbiAgICAgIGMuaW5wdXQgPSB7IGxhdGV4OiAoKSA9PiAneCcgfTtcblxuICAgICAgZXhwZWN0KGMuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHsgbGF0ZXg6ICd5JyB9LCB7fSkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgndXNlcyBpbnB1dC5sYXRleCgpLCBuZXZlciBpbnB1dC5tYXRoRmllbGQubGF0ZXgoKScsICgpID0+IHtcbiAgICAgIGNvbnN0IGMgPSBuZXcgRWRpdG9yQW5kUGFkKHByb3BzKHsgbGF0ZXg6ICd4JyB9KSk7XG4gICAgICBjb25zdCBsYXRleCA9IGplc3QuZm4oKCkgPT4gJ3gnKTtcblxuICAgICAgLy8gZGVsaWJlcmF0ZWx5IG5vIGBtYXRoRmllbGRgIC0gdGhlIG9sZCBjb2RlIHdvdWxkIGhhdmUgdGhyb3duIGhlcmVcbiAgICAgIGMuaW5wdXQgPSB7IGxhdGV4IH07XG4gICAgICBjLnN0YXRlID0geyBlcXVhdGlvbkVkaXRvcjogJ2dlb21ldHJ5JyB9O1xuICAgICAgYy5zaG91bGRDb21wb25lbnRVcGRhdGUoeyBsYXRleDogJ3gnIH0sIGMuc3RhdGUpO1xuXG4gICAgICBleHBlY3QobGF0ZXgpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ29uQ2xpY2sga2V5IHJvdXRpbmcnLCAoKSA9PiB7XG4gICAgY29uc3Qgd2l0aElucHV0ID0gKG92ZXIgPSB7fSkgPT4ge1xuICAgICAgY29uc3QgYyA9IG5ldyBFZGl0b3JBbmRQYWQocHJvcHMob3ZlcikpO1xuICAgICAgY29uc3QgY2FsbHMgPSB7IHdyaXRlOiBbXSwgY29tbWFuZDogW10sIGtleXN0cm9rZTogW10sIGNsZWFyOiAwIH07XG5cbiAgICAgIGMuaW5wdXQgPSB7XG4gICAgICAgIHdyaXRlOiAodikgPT4gY2FsbHMud3JpdGUucHVzaCh2KSxcbiAgICAgICAgY29tbWFuZDogKHYpID0+IGNhbGxzLmNvbW1hbmQucHVzaCh2KSxcbiAgICAgICAga2V5c3Ryb2tlOiAodikgPT4gY2FsbHMua2V5c3Ryb2tlLnB1c2godiksXG4gICAgICAgIGNsZWFyOiAoKSA9PiBjYWxscy5jbGVhcisrLFxuICAgICAgfTtcbiAgICAgIGMudXBkYXRlRGlzYWJsZSA9ICgpID0+IHt9O1xuXG4gICAgICByZXR1cm4geyBjLCBjYWxscyB9O1xuICAgIH07XG5cbiAgICAvLyB0b05vZGVEYXRhIGtleXMgdGhpcyBvZmYgYHZhbHVlID09PSAnY2xlYXInYCwgbm90IGB0eXBlYFxuICAgIGl0KCdjbGVhcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgYywgY2FsbHMgfSA9IHdpdGhJbnB1dCgpO1xuXG4gICAgICBjLm9uQ2xpY2soeyB2YWx1ZTogJ2NsZWFyJyB9KTtcbiAgICAgIGV4cGVjdChjYWxscy5jbGVhcikudG9CZSgxKTtcbiAgICB9KTtcblxuICAgIGl0KCdjb21tYW5kJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjLCBjYWxscyB9ID0gd2l0aElucHV0KCk7XG5cbiAgICAgIGMub25DbGljayh7IHR5cGU6ICdjb21tYW5kJywgdmFsdWU6ICdcXFxcZnJhYycgfSk7XG4gICAgICBleHBlY3QoY2FsbHMuY29tbWFuZCkudG9FcXVhbChbJ1xcXFxmcmFjJ10pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2N1cnNvciBrZXlzdHJva2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGMsIGNhbGxzIH0gPSB3aXRoSW5wdXQoKTtcblxuICAgICAgYy5vbkNsaWNrKHsgdHlwZTogJ2N1cnNvcicsIHZhbHVlOiAnTGVmdCcgfSk7XG4gICAgICBleHBlY3QoY2FsbHMua2V5c3Ryb2tlKS50b0VxdWFsKFsnTGVmdCddKTtcbiAgICB9KTtcblxuICAgIGl0KCdhbnN3ZXIgYmxvY2sgd3JpdGVzIHRoZSByZXNwb25zZSB0b2tlbicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgYywgY2FsbHMgfSA9IHdpdGhJbnB1dCgpO1xuXG4gICAgICBjLm9uQ2xpY2soeyB0eXBlOiAnYW5zd2VyJyB9KTtcbiAgICAgIGV4cGVjdChjYWxscy53cml0ZSkudG9FcXVhbChbJyVyZXNwb25zZSUnXSk7XG4gICAgfSk7XG5cbiAgICBpdCgncGxhaW4gdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGMsIGNhbGxzIH0gPSB3aXRoSW5wdXQoKTtcblxuICAgICAgYy5vbkNsaWNrKHsgdmFsdWU6ICd4JyB9KTtcbiAgICAgIGV4cGVjdChjYWxscy53cml0ZSkudG9FcXVhbChbJ3gnXSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaWdub3JlcyBhIG51bGxpc2gga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjLCBjYWxscyB9ID0gd2l0aElucHV0KCk7XG5cbiAgICAgIGV4cGVjdCgoKSA9PiBjLm9uQ2xpY2sobnVsbCkpLm5vdC50b1Rocm93KCk7XG4gICAgICBleHBlY3QoY2FsbHMud3JpdGUpLnRvRXF1YWwoW10pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnb25FZGl0b3JDaGFuZ2UnLCAoKSA9PiB7XG4gICAgY29uc3Qgd2l0aElucHV0ID0gKG92ZXIgPSB7fSkgPT4ge1xuICAgICAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgICBjb25zdCBjID0gbmV3IEVkaXRvckFuZFBhZChwcm9wcyh7IG9uQ2hhbmdlLCAuLi5vdmVyIH0pKTtcbiAgICAgIGNvbnN0IGNhbGxzID0geyBrZXlzdHJva2U6IFtdLCBjbGVhcjogMCwgd3JpdGU6IFtdIH07XG5cbiAgICAgIGMuaW5wdXQgPSB7XG4gICAgICAgIGtleXN0cm9rZTogKHYpID0+IGNhbGxzLmtleXN0cm9rZS5wdXNoKHYpLFxuICAgICAgICBjbGVhcjogKCkgPT4gY2FsbHMuY2xlYXIrKyxcbiAgICAgICAgd3JpdGU6ICh2KSA9PiBjYWxscy53cml0ZS5wdXNoKHYpLFxuICAgICAgfTtcbiAgICAgIGMudXBkYXRlRGlzYWJsZSA9ICgpID0+IHt9O1xuXG4gICAgICByZXR1cm4geyBjLCBvbkNoYW5nZSwgY2FsbHMgfTtcbiAgICB9O1xuXG4gICAgaXQoJ3Byb3BhZ2F0ZXMgb3JkaW5hcnkgbGF0ZXggdG8gb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGMsIG9uQ2hhbmdlIH0gPSB3aXRoSW5wdXQoKTtcblxuICAgICAgYy5vbkVkaXRvckNoYW5nZSgnXFxcXGZyYWN7MX17Mn0nKTtcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ1xcXFxmcmFjezF9ezJ9Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc3RyaXBzIGRlY2ltYWxzIHdoZW4gbm9EZWNpbWFsIGlzIHNldCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgYywgb25DaGFuZ2UsIGNhbGxzIH0gPSB3aXRoSW5wdXQoeyBub0RlY2ltYWw6IHRydWUgfSk7XG5cbiAgICAgIGMub25FZGl0b3JDaGFuZ2UoJzEuNScpO1xuXG4gICAgICBleHBlY3QoY2FsbHMuY2xlYXIpLnRvQmUoMSk7XG4gICAgICBleHBlY3QoY2FsbHMud3JpdGUpLnRvRXF1YWwoWycxNSddKTtcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCd1bmRvZXMgdGhlIGVtcHR5IGZyYWN0aW9uIGFmdGVyIGEgZGlnaXQgd2l0aCBhIHB1YmxpYyBkZWxldGUsIG5vdCBNYXRoUXVpbGwgaW50ZXJuYWxzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjLCBvbkNoYW5nZSwgY2FsbHMgfSA9IHdpdGhJbnB1dCgpO1xuXG4gICAgICAvLyB0aGUgc2hhcGUgdGhlIG9sZCBfX2NvbnRyb2xsZXIgaGFjayB0YXJnZXRlZFxuICAgICAgYy5vbkVkaXRvckNoYW5nZSgnMlxcXFwgXFxcXGZyYWN7MX17IH0nKTtcblxuICAgICAgZXhwZWN0KGNhbGxzLmtleXN0cm9rZSkudG9FcXVhbChbJ0JhY2tzcGFjZSddKTtcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdkb2VzIG5vdCB0cmVhdCBub3JtYWwgZnJhY3Rpb25zIGFzIHRoZSBtaXhlZC1udW1iZXIgY2FzZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgYywgb25DaGFuZ2UsIGNhbGxzIH0gPSB3aXRoSW5wdXQoKTtcblxuICAgICAgYy5vbkVkaXRvckNoYW5nZSgnXFxcXGZyYWN7MX17Mn0nKTtcblxuICAgICAgZXhwZWN0KGNhbGxzLmtleXN0cm9rZSkudG9FcXVhbChbXSk7XG4gICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUFBLGFBQUEsR0FBQUMsT0FBQTtBQUFpRCxTQUFBQyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEs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
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _editorAndPad = require("../editor-and-pad");
6
+ var _react = require("@testing-library/react");
7
+ var _react2 = _interopRequireDefault(require("react"));
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ describe('EditorAndPad', function () {
11
+ var defaultProps = {
12
+ classes: {},
13
+ classNames: {},
14
+ onBlur: jest.fn()
15
+ };
16
+ beforeEach(function () {
17
+ jest.useFakeTimers();
18
+ });
19
+ afterEach(function () {
20
+ jest.useRealTimers();
21
+ });
22
+ it('renders with default props', function () {
23
+ var _render = (0, _react.render)(/*#__PURE__*/_react2["default"].createElement(_editorAndPad.EditorAndPad, defaultProps)),
24
+ container = _render.container;
25
+ expect(container.firstChild).toBeInTheDocument();
26
+ });
27
+ describe('autoFocus', function () {
28
+ it('focuses input immediately via setTimeout when autoFocus is true', function () {
29
+ var mockFocus = jest.fn();
30
+ var component = new _editorAndPad.EditorAndPad(_objectSpread(_objectSpread({}, defaultProps), {}, {
31
+ autoFocus: true
32
+ }));
33
+ component.input = {
34
+ focus: mockFocus
35
+ };
36
+ component.componentDidMount();
37
+ expect(mockFocus).not.toHaveBeenCalled();
38
+ jest.runAllTimers();
39
+ expect(mockFocus).toHaveBeenCalledTimes(1);
40
+ });
41
+ it('does not focus input when autoFocus is false', function () {
42
+ var mockFocus = jest.fn();
43
+ var component = new _editorAndPad.EditorAndPad(_objectSpread(_objectSpread({}, defaultProps), {}, {
44
+ autoFocus: false
45
+ }));
46
+ component.input = {
47
+ focus: mockFocus
48
+ };
49
+ component.componentDidMount();
50
+ jest.runAllTimers();
51
+ expect(mockFocus).not.toHaveBeenCalled();
52
+ });
53
+ it('does not focus when input ref is not set', function () {
54
+ var component = new _editorAndPad.EditorAndPad(_objectSpread(_objectSpread({}, defaultProps), {}, {
55
+ autoFocus: true
56
+ }));
57
+ component.input = null;
58
+ expect(function () {
59
+ component.componentDidMount();
60
+ jest.runAllTimers();
61
+ }).not.toThrow();
62
+ });
63
+ it('uses setTimeout with 0ms delay to defer focus', function () {
64
+ var setTimeoutSpy = jest.spyOn(global, 'setTimeout');
65
+ var mockFocus = jest.fn();
66
+ var component = new _editorAndPad.EditorAndPad(_objectSpread(_objectSpread({}, defaultProps), {}, {
67
+ autoFocus: true
68
+ }));
69
+ component.input = {
70
+ focus: mockFocus
71
+ };
72
+ component.componentDidMount();
73
+ expect(setTimeoutSpy).toHaveBeenCalledWith(expect.any(Function), 0);
74
+ setTimeoutSpy.mockRestore();
75
+ });
76
+ });
77
+ });
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZWRpdG9yQW5kUGFkIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdDIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJkZXNjcmliZSIsImRlZmF1bHRQcm9wcyIsImNsYXNzZXMiLCJjbGFzc05hbWVzIiwib25CbHVyIiwiamVzdCIsImZuIiwiYmVmb3JlRWFjaCIsInVzZUZha2VUaW1lcnMiLCJhZnRlckVhY2giLCJ1c2VSZWFsVGltZXJzIiwiaXQiLCJfcmVuZGVyIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIkVkaXRvckFuZFBhZCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIm1vY2tGb2N1cyIsImNvbXBvbmVudCIsImF1dG9Gb2N1cyIsImlucHV0IiwiZm9jdXMiLCJjb21wb25lbnREaWRNb3VudCIsIm5vdCIsInRvSGF2ZUJlZW5DYWxsZWQiLCJydW5BbGxUaW1lcnMiLCJ0b0hhdmVCZWVuQ2FsbGVkVGltZXMiLCJ0b1Rocm93Iiwic2V0VGltZW91dFNweSIsInNweU9uIiwiZ2xvYmFsIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJhbnkiLCJGdW5jdGlvbiIsIm1vY2tSZXN0b3JlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9lZGl0b3ItYW5kLXBhZC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvckFuZFBhZCB9IGZyb20gJy4uL2VkaXRvci1hbmQtcGFkJztcbmltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuZGVzY3JpYmUoJ0VkaXRvckFuZFBhZCcsICgpID0+IHtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgIGNsYXNzZXM6IHt9LFxuICAgIGNsYXNzTmFtZXM6IHt9LFxuICAgIG9uQmx1cjogamVzdC5mbigpLFxuICB9O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGplc3QudXNlRmFrZVRpbWVycygpO1xuICB9KTtcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIGplc3QudXNlUmVhbFRpbWVycygpO1xuICB9KTtcblxuICBpdCgncmVuZGVycyB3aXRoIGRlZmF1bHQgcHJvcHMnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8RWRpdG9yQW5kUGFkIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhdXRvRm9jdXMnLCAoKSA9PiB7XG4gICAgaXQoJ2ZvY3VzZXMgaW5wdXQgaW1tZWRpYXRlbHkgdmlhIHNldFRpbWVvdXQgd2hlbiBhdXRvRm9jdXMgaXMgdHJ1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1vY2tGb2N1cyA9IGplc3QuZm4oKTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG5ldyBFZGl0b3JBbmRQYWQoeyAuLi5kZWZhdWx0UHJvcHMsIGF1dG9Gb2N1czogdHJ1ZSB9KTtcbiAgICAgIGNvbXBvbmVudC5pbnB1dCA9IHsgZm9jdXM6IG1vY2tGb2N1cyB9O1xuXG4gICAgICBjb21wb25lbnQuY29tcG9uZW50RGlkTW91bnQoKTtcblxuICAgICAgZXhwZWN0KG1vY2tGb2N1cykubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcblxuICAgICAgamVzdC5ydW5BbGxUaW1lcnMoKTtcblxuICAgICAgZXhwZWN0KG1vY2tGb2N1cykudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RvZXMgbm90IGZvY3VzIGlucHV0IHdoZW4gYXV0b0ZvY3VzIGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgY29uc3QgbW9ja0ZvY3VzID0gamVzdC5mbigpO1xuICAgICAgY29uc3QgY29tcG9uZW50ID0gbmV3IEVkaXRvckFuZFBhZCh7IC4uLmRlZmF1bHRQcm9wcywgYXV0b0ZvY3VzOiBmYWxzZSB9KTtcbiAgICAgIGNvbXBvbmVudC5pbnB1dCA9IHsgZm9jdXM6IG1vY2tGb2N1cyB9O1xuXG4gICAgICBjb21wb25lbnQuY29tcG9uZW50RGlkTW91bnQoKTtcbiAgICAgIGplc3QucnVuQWxsVGltZXJzKCk7XG5cbiAgICAgIGV4cGVjdChtb2NrRm9jdXMpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnZG9lcyBub3QgZm9jdXMgd2hlbiBpbnB1dCByZWYgaXMgbm90IHNldCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG5ldyBFZGl0b3JBbmRQYWQoeyAuLi5kZWZhdWx0UHJvcHMsIGF1dG9Gb2N1czogdHJ1ZSB9KTtcbiAgICAgIGNvbXBvbmVudC5pbnB1dCA9IG51bGw7XG5cbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIGNvbXBvbmVudC5jb21wb25lbnREaWRNb3VudCgpO1xuICAgICAgICBqZXN0LnJ1bkFsbFRpbWVycygpO1xuICAgICAgfSkubm90LnRvVGhyb3coKTtcbiAgICB9KTtcblxuICAgIGl0KCd1c2VzIHNldFRpbWVvdXQgd2l0aCAwbXMgZGVsYXkgdG8gZGVmZXIgZm9jdXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzZXRUaW1lb3V0U3B5ID0gamVzdC5zcHlPbihnbG9iYWwsICdzZXRUaW1lb3V0Jyk7XG4gICAgICBjb25zdCBtb2NrRm9jdXMgPSBqZXN0LmZuKCk7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgRWRpdG9yQW5kUGFkKHsgLi4uZGVmYXVsdFByb3BzLCBhdXRvRm9jdXM6IHRydWUgfSk7XG4gICAgICBjb21wb25lbnQuaW5wdXQgPSB7IGZvY3VzOiBtb2NrRm9jdXMgfTtcblxuICAgICAgY29tcG9uZW50LmNvbXBvbmVudERpZE1vdW50KCk7XG5cbiAgICAgIGV4cGVjdChzZXRUaW1lb3V0U3B5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aChleHBlY3QuYW55KEZ1bmN0aW9uKSwgMCk7XG5cbiAgICAgIHNldFRpbWVvdXRTcHkubW9ja1Jlc3RvcmUoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUFBLGFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUEwQixTQUFBSSxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVks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
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var _index = require("../index");
6
+ var _react = require("@testing-library/react");
7
+ var _react2 = _interopRequireDefault(require("react"));
8
+ describe('RawPureToolbar', function () {
9
+ var defaultProps = {
10
+ classes: {},
11
+ controlledKeypad: true,
12
+ showKeypad: true
13
+ };
14
+ it('renders with DONE button if hideDoneButton is not defined', function () {
15
+ var _render = (0, _react.render)(/*#__PURE__*/_react2["default"].createElement(_index.RawPureToolbar, defaultProps)),
16
+ container = _render.container;
17
+ expect(container.firstChild).toBeInTheDocument();
18
+ });
19
+ it('renders without DONE button if hideDoneButton value is true', function () {
20
+ var _render2 = (0, _react.render)(/*#__PURE__*/_react2["default"].createElement(_index.RawPureToolbar, (0, _extends2["default"])({}, defaultProps, {
21
+ hideDoneButton: true
22
+ }))),
23
+ container = _render2.container;
24
+ expect(container.firstChild).toBeInTheDocument();
25
+ });
26
+ });
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJkZXNjcmliZSIsImRlZmF1bHRQcm9wcyIsImNsYXNzZXMiLCJjb250cm9sbGVkS2V5cGFkIiwic2hvd0tleXBhZCIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJSYXdQdXJlVG9vbGJhciIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIl9yZW5kZXIyIiwiX2V4dGVuZHMyIiwiaGlkZURvbmVCdXR0b24iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL2luZGV4LnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmF3UHVyZVRvb2xiYXIgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmRlc2NyaWJlKCdSYXdQdXJlVG9vbGJhcicsICgpID0+IHtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgIGNsYXNzZXM6IHt9LFxuICAgIGNvbnRyb2xsZWRLZXlwYWQ6IHRydWUsXG4gICAgc2hvd0tleXBhZDogdHJ1ZSxcbiAgfTtcblxuICBpdCgncmVuZGVycyB3aXRoIERPTkUgYnV0dG9uIGlmIGhpZGVEb25lQnV0dG9uIGlzIG5vdCBkZWZpbmVkJywgKCkgPT4ge1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPFJhd1B1cmVUb29sYmFyIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdyZW5kZXJzIHdpdGhvdXQgRE9ORSBidXR0b24gaWYgaGlkZURvbmVCdXR0b24gdmFsdWUgaXMgdHJ1ZScsICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxSYXdQdXJlVG9vbGJhciB7Li4uZGVmYXVsdFByb3BzfSBoaWRlRG9uZUJ1dHRvbj17dHJ1ZX0gLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBSSxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsWUFBTTtFQUMvQixJQUFNQyxZQUFZLEdBQUc7SUFDbkJDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDWEMsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QkMsVUFBVSxFQUFFO0VBQ2QsQ0FBQztFQUVEQyxFQUFFLENBQUMsMkRBQTJELEVBQUUsWUFBTTtJQUNwRSxJQUFBQyxPQUFBLEdBQXNCLElBQUFDLGFBQU0sZUFBQ1QsT0FBQSxZQUFBVSxhQUFBLENBQUNiLE1BQUEsQ0FBQWMsY0FBYyxFQUFLUixZQUFlLENBQUMsQ0FBQztNQUExRFMsU0FBUyxHQUFBSixPQUFBLENBQVRJLFNBQVM7SUFDakJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDRSxVQUFVLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztFQUNsRCxDQUFDLENBQUM7RUFFRlIsRUFBRSxDQUFDLDZEQUE2RCxFQUFFLFlBQU07SUFDdEUsSUFBQVMsUUFBQSxHQUFzQixJQUFBUCxhQUFNLGVBQUNULE9BQUEsWUFBQVUsYUFBQSxDQUFDYixNQUFBLENBQUFjLGNBQWMsTUFBQU0sU0FBQSxpQkFBS2QsWUFBWTtRQUFFZSxjQUFjLEVBQUU7TUFBSyxFQUFFLENBQUMsQ0FBQztNQUFoRk4sU0FBUyxHQUFBSSxRQUFBLENBQVRKLFNBQVM7SUFDakJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDRSxVQUFVLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztFQUNsRCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _react2 = require("@testing-library/react");
7
+ var _mathPreview = _interopRequireDefault(require("../math-preview"));
8
+ /** Every rule emotion has injected so far, as CSSStyleRule objects. */
9
+ var injectedRules = function injectedRules() {
10
+ return Array.from(document.querySelectorAll('style[data-emotion]')).flatMap(function (tag) {
11
+ return tag.sheet ? Array.from(tag.sheet.cssRules) : [];
12
+ }).filter(function (rule) {
13
+ return rule.selectorText;
14
+ });
15
+ };
16
+
17
+ /**
18
+ * The `.ML__latex` rule that actually applies to `element`.
19
+ *
20
+ * Matching with `element.matches` rather than string comparison means the
21
+ * assertions cover the selector too: a rule written as `& > .ML__latex` would
22
+ * not match the nested markup MathLive emits, and these tests would fail.
23
+ */
24
+ var mathLiveRuleFor = function mathLiveRuleFor(element) {
25
+ return injectedRules().find(function (rule) {
26
+ return rule.selectorText.includes('.ML__latex') && element.matches(rule.selectorText);
27
+ });
28
+ };
29
+
30
+ /**
31
+ * Stand in for MathLive's `convertLatexToMarkup` output, which is
32
+ * `<span class="ML__latex">...</span>` nested inside `mf.Static`'s holder span.
33
+ * MathLive does not load under jsdom, so the markup is added by hand.
34
+ */
35
+ var addStaticMarkup = function addStaticMarkup(container) {
36
+ var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
37
+ var parent = container.firstChild;
38
+ for (var i = 1; i < depth; i += 1) {
39
+ var wrapper = document.createElement('span');
40
+ parent.appendChild(wrapper);
41
+ parent = wrapper;
42
+ }
43
+ var markup = document.createElement('span');
44
+ markup.className = 'ML__latex';
45
+ parent.appendChild(markup);
46
+ return markup;
47
+ };
48
+ describe('MathPreview', function () {
49
+ var defaultProps = {
50
+ latex: 'sqrt(5)',
51
+ classes: {},
52
+ isSelected: false,
53
+ onFocus: jest.fn(),
54
+ onBlur: jest.fn()
55
+ };
56
+ it('renders with default props', function () {
57
+ var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_mathPreview["default"], defaultProps)),
58
+ container = _render.container;
59
+ expect(container.firstChild).toBeInTheDocument();
60
+ });
61
+ describe('MathLive static markup', function () {
62
+ it('is outlined and padded when not selected', function () {
63
+ var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_mathPreview["default"], (0, _extends2["default"])({}, defaultProps, {
64
+ isSelected: false
65
+ }))),
66
+ container = _render2.container;
67
+ var rule = mathLiveRuleFor(addStaticMarkup(container));
68
+ expect(rule).toBeDefined();
69
+ expect(rule.style.getPropertyValue('border')).toEqual('solid 1px lightgrey');
70
+ expect(rule.style.getPropertyValue('padding')).toEqual('5px');
71
+ });
72
+ it('drops its outline and padding when selected, so only the container border shows', function () {
73
+ var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_mathPreview["default"], (0, _extends2["default"])({}, defaultProps, {
74
+ isSelected: true
75
+ }))),
76
+ container = _render3.container;
77
+ var rule = mathLiveRuleFor(addStaticMarkup(container));
78
+ expect(rule).toBeDefined();
79
+ expect(rule.style.getPropertyValue('border')).toEqual('solid 0px lightgrey');
80
+ expect(rule.style.getPropertyValue('padding')).toEqual('0px');
81
+ });
82
+ it('is styled at any depth below the container, not just as a direct child', function () {
83
+ var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_mathPreview["default"], (0, _extends2["default"])({}, defaultProps, {
84
+ isSelected: false
85
+ }))),
86
+ container = _render4.container;
87
+ expect(mathLiveRuleFor(addStaticMarkup(container, 3))).toBeDefined();
88
+ });
89
+ });
90
+ });
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfbWF0aFByZXZpZXciLCJpbmplY3RlZFJ1bGVzIiwiQXJyYXkiLCJmcm9tIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZmxhdE1hcCIsInRhZyIsInNoZWV0IiwiY3NzUnVsZXMiLCJmaWx0ZXIiLCJydWxlIiwic2VsZWN0b3JUZXh0IiwibWF0aExpdmVSdWxlRm9yIiwiZWxlbWVudCIsImZpbmQiLCJpbmNsdWRlcyIsIm1hdGNoZXMiLCJhZGRTdGF0aWNNYXJrdXAiLCJjb250YWluZXIiLCJkZXB0aCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInBhcmVudCIsImZpcnN0Q2hpbGQiLCJpIiwid3JhcHBlciIsImNyZWF0ZUVsZW1lbnQiLCJhcHBlbmRDaGlsZCIsIm1hcmt1cCIsImNsYXNzTmFtZSIsImRlc2NyaWJlIiwiZGVmYXVsdFByb3BzIiwibGF0ZXgiLCJjbGFzc2VzIiwiaXNTZWxlY3RlZCIsIm9uRm9jdXMiLCJqZXN0IiwiZm4iLCJvbkJsdXIiLCJpdCIsIl9yZW5kZXIiLCJyZW5kZXIiLCJleHBlY3QiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIl9yZW5kZXIyIiwiX2V4dGVuZHMyIiwidG9CZURlZmluZWQiLCJzdHlsZSIsImdldFByb3BlcnR5VmFsdWUiLCJ0b0VxdWFsIiwiX3JlbmRlcjMiLCJfcmVuZGVyNCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWF0aC1wcmV2aWV3LnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IE1hdGhQcmV2aWV3IGZyb20gJy4uL21hdGgtcHJldmlldyc7XG5cbi8qKiBFdmVyeSBydWxlIGVtb3Rpb24gaGFzIGluamVjdGVkIHNvIGZhciwgYXMgQ1NTU3R5bGVSdWxlIG9iamVjdHMuICovXG5jb25zdCBpbmplY3RlZFJ1bGVzID0gKCkgPT5cbiAgQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzdHlsZVtkYXRhLWVtb3Rpb25dJykpXG4gICAgLmZsYXRNYXAoKHRhZykgPT4gKHRhZy5zaGVldCA/IEFycmF5LmZyb20odGFnLnNoZWV0LmNzc1J1bGVzKSA6IFtdKSlcbiAgICAuZmlsdGVyKChydWxlKSA9PiBydWxlLnNlbGVjdG9yVGV4dCk7XG5cbi8qKlxuICogVGhlIGAuTUxfX2xhdGV4YCBydWxlIHRoYXQgYWN0dWFsbHkgYXBwbGllcyB0byBgZWxlbWVudGAuXG4gKlxuICogTWF0Y2hpbmcgd2l0aCBgZWxlbWVudC5tYXRjaGVzYCByYXRoZXIgdGhhbiBzdHJpbmcgY29tcGFyaXNvbiBtZWFucyB0aGVcbiAqIGFzc2VydGlvbnMgY292ZXIgdGhlIHNlbGVjdG9yIHRvbzogYSBydWxlIHdyaXR0ZW4gYXMgYCYgPiAuTUxfX2xhdGV4YCB3b3VsZFxuICogbm90IG1hdGNoIHRoZSBuZXN0ZWQgbWFya3VwIE1hdGhMaXZlIGVtaXRzLCBhbmQgdGhlc2UgdGVzdHMgd291bGQgZmFpbC5cbiAqL1xuY29uc3QgbWF0aExpdmVSdWxlRm9yID0gKGVsZW1lbnQpID0+XG4gIGluamVjdGVkUnVsZXMoKS5maW5kKChydWxlKSA9PiBydWxlLnNlbGVjdG9yVGV4dC5pbmNsdWRlcygnLk1MX19sYXRleCcpICYmIGVsZW1lbnQubWF0Y2hlcyhydWxlLnNlbGVjdG9yVGV4dCkpO1xuXG4vKipcbiAqIFN0YW5kIGluIGZvciBNYXRoTGl2ZSdzIGBjb252ZXJ0TGF0ZXhUb01hcmt1cGAgb3V0cHV0LCB3aGljaCBpc1xuICogYDxzcGFuIGNsYXNzPVwiTUxfX2xhdGV4XCI+Li4uPC9zcGFuPmAgbmVzdGVkIGluc2lkZSBgbWYuU3RhdGljYCdzIGhvbGRlciBzcGFuLlxuICogTWF0aExpdmUgZG9lcyBub3QgbG9hZCB1bmRlciBqc2RvbSwgc28gdGhlIG1hcmt1cCBpcyBhZGRlZCBieSBoYW5kLlxuICovXG5jb25zdCBhZGRTdGF0aWNNYXJrdXAgPSAoY29udGFpbmVyLCBkZXB0aCA9IDEpID0+IHtcbiAgbGV0IHBhcmVudCA9IGNvbnRhaW5lci5maXJzdENoaWxkO1xuXG4gIGZvciAobGV0IGkgPSAxOyBpIDwgZGVwdGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG5cbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQod3JhcHBlcik7XG4gICAgcGFyZW50ID0gd3JhcHBlcjtcbiAgfVxuXG4gIGNvbnN0IG1hcmt1cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICBtYXJrdXAuY2xhc3NOYW1lID0gJ01MX19sYXRleCc7XG4gIHBhcmVudC5hcHBlbmRDaGlsZChtYXJrdXApO1xuXG4gIHJldHVybiBtYXJrdXA7XG59O1xuXG5kZXNjcmliZSgnTWF0aFByZXZpZXcnLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICBsYXRleDogJ3NxcnQoNSknLFxuICAgIGNsYXNzZXM6IHt9LFxuICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgIG9uRm9jdXM6IGplc3QuZm4oKSxcbiAgICBvbkJsdXI6IGplc3QuZm4oKSxcbiAgfTtcblxuICBpdCgncmVuZGVycyB3aXRoIGRlZmF1bHQgcHJvcHMnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8TWF0aFByZXZpZXcgey4uLmRlZmF1bHRQcm9wc30gLz4pO1xuICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ01hdGhMaXZlIHN0YXRpYyBtYXJrdXAnLCAoKSA9PiB7XG4gICAgaXQoJ2lzIG91dGxpbmVkIGFuZCBwYWRkZWQgd2hlbiBub3Qgc2VsZWN0ZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxNYXRoUHJldmlldyB7Li4uZGVmYXVsdFByb3BzfSBpc1NlbGVjdGVkPXtmYWxzZX0gLz4pO1xuICAgICAgY29uc3QgcnVsZSA9IG1hdGhMaXZlUnVsZUZvcihhZGRTdGF0aWNNYXJrdXAoY29udGFpbmVyKSk7XG5cbiAgICAgIGV4cGVjdChydWxlKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KHJ1bGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykpLnRvRXF1YWwoJ3NvbGlkIDFweCBsaWdodGdyZXknKTtcbiAgICAgIGV4cGVjdChydWxlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmcnKSkudG9FcXVhbCgnNXB4Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnZHJvcHMgaXRzIG91dGxpbmUgYW5kIHBhZGRpbmcgd2hlbiBzZWxlY3RlZCwgc28gb25seSB0aGUgY29udGFpbmVyIGJvcmRlciBzaG93cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPE1hdGhQcmV2aWV3IHsuLi5kZWZhdWx0UHJvcHN9IGlzU2VsZWN0ZWQgLz4pO1xuICAgICAgY29uc3QgcnVsZSA9IG1hdGhMaXZlUnVsZUZvcihhZGRTdGF0aWNNYXJrdXAoY29udGFpbmVyKSk7XG5cbiAgICAgIGV4cGVjdChydWxlKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KHJ1bGUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyJykpLnRvRXF1YWwoJ3NvbGlkIDBweCBsaWdodGdyZXknKTtcbiAgICAgIGV4cGVjdChydWxlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmcnKSkudG9FcXVhbCgnMHB4Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgc3R5bGVkIGF0IGFueSBkZXB0aCBiZWxvdyB0aGUgY29udGFpbmVyLCBub3QganVzdCBhcyBhIGRpcmVjdCBjaGlsZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPE1hdGhQcmV2aWV3IHsuLi5kZWZhdWx0UHJvcHN9IGlzU2VsZWN0ZWQ9e2ZhbHNlfSAvPik7XG5cbiAgICAgIGV4cGVjdChtYXRoTGl2ZVJ1bGVGb3IoYWRkU3RhdGljTWFya3VwKGNvbnRhaW5lciwgMykpKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsWUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUE7QUFDQSxJQUFNRyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUE7RUFBQSxPQUNqQkMsS0FBSyxDQUFDQyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUN6REMsT0FBTyxDQUFDLFVBQUNDLEdBQUc7SUFBQSxPQUFNQSxHQUFHLENBQUNDLEtBQUssR0FBR04sS0FBSyxDQUFDQyxJQUFJLENBQUNJLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDQyxRQUFRLENBQUMsR0FBRyxFQUFFO0VBQUEsQ0FBQyxDQUFDLENBQ25FQyxNQUFNLENBQUMsVUFBQ0MsSUFBSTtJQUFBLE9BQUtBLElBQUksQ0FBQ0MsWUFBWTtFQUFBLEVBQUM7QUFBQTs7QUFFeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLE9BQU87RUFBQSxPQUM5QmIsYUFBYSxDQUFDLENBQUMsQ0FBQ2MsSUFBSSxDQUFDLFVBQUNKLElBQUk7SUFBQSxPQUFLQSxJQUFJLENBQUNDLFlBQVksQ0FBQ0ksUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJRixPQUFPLENBQUNHLE9BQU8sQ0FBQ04sSUFBSSxDQUFDQyxZQUFZLENBQUM7RUFBQSxFQUFD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
@@ -11,23 +11,20 @@ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
11
11
  var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
12
12
  var _styles = require("@mui/material/styles");
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _renderUi = require("@pie-lib/render-ui");
15
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
16
  var StyledIconButton = (0, _styles.styled)(_IconButton["default"])(function (_ref) {
18
- var hideBackground = _ref.hideBackground;
17
+ var theme = _ref.theme,
18
+ hideBackground = _ref.hideBackground;
19
19
  return _objectSpread(_objectSpread({
20
20
  verticalAlign: 'top',
21
21
  width: '28px',
22
22
  height: '28px',
23
23
  color: '#00bb00'
24
24
  }, hideBackground && {
25
- // `--pie-white` inverts with the scheme where `common.white` did not, so the
26
- // button keeps reading as raised against the toolbar instead of staying a
27
- // white chip on a dark surface.
28
- backgroundColor: _renderUi.color.white(),
25
+ backgroundColor: theme.palette.common.white,
29
26
  '&:hover': {
30
- backgroundColor: _renderUi.color.backgroundDark()
27
+ backgroundColor: theme.palette.grey[200]
31
28
  }
32
29
  }), {}, {
33
30
  '& .MuiIconButton-label': {
@@ -1 +1 @@
1
- {"version":3,"file":"done-button.js","names":["_react","_interopRequireDefault","require","_IconButton","_Check","_styles","_propTypes","_renderUi","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledIconButton","styled","IconButton","_ref","hideBackground","verticalAlign","width","height","color","backgroundColor","white","backgroundDark","position","top","RawDoneButton","exports","_ref2","onClick","createElement","size","propTypes","PropTypes","func","bool","DoneButton"],"sources":["../src/done-button.jsx"],"sourcesContent":["import React from 'react';\n\nimport IconButton from '@mui/material/IconButton';\nimport Check from '@mui/icons-material/Check';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\n\nconst StyledIconButton = styled(IconButton)(({ hideBackground }) => ({\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: '#00bb00',\n ...(hideBackground && {\n // `--pie-white` inverts with the scheme where `common.white` did not, so the\n // button keeps reading as raised against the toolbar instead of staying a\n // white chip on a dark surface.\n backgroundColor: color.white(),\n '&:hover': {\n backgroundColor: color.backgroundDark(),\n },\n }),\n '& .MuiIconButton-label': {\n position: 'absolute',\n top: '2px',\n },\n}));\n\nexport const RawDoneButton = ({ onClick, hideBackground }) => (\n <StyledIconButton aria-label=\"Done\" onClick={onClick} hideBackground={hideBackground} size=\"large\">\n <Check />\n </StyledIconButton>\n);\n\nRawDoneButton.propTypes = {\n onClick: PropTypes.func,\n hideBackground: PropTypes.bool,\n};\n\nexport const DoneButton = RawDoneButton;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAA2C,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAE3C,IAAMoB,gBAAgB,GAAG,IAAAC,cAAM,EAACC,sBAAU,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,cAAc,GAAAD,IAAA,CAAdC,cAAc;EAAA,OAAAZ,aAAA,CAAAA,aAAA;IAC3Da,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE;EAAS,GACZJ,cAAc,IAAI;IACpB;IACA;IACA;IACAK,eAAe,EAAED,eAAK,CAACE,KAAK,CAAC,CAAC;IAC9B,SAAS,EAAE;MACTD,eAAe,EAAED,eAAK,CAACG,cAAc,CAAC;IACxC;EACF,CAAC;IACD,wBAAwB,EAAE;MACxBC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE;IACP;EAAC;AAAA,CACD,CAAC;AAEI,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAAE,KAAA;EAAA,IAAMC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAEb,cAAc,GAAAY,KAAA,CAAdZ,cAAc;EAAA,oBACrDjC,MAAA,YAAA+C,aAAA,CAAClB,gBAAgB;IAAC,cAAW,MAAM;IAACiB,OAAO,EAAEA,OAAQ;IAACb,cAAc,EAAEA,cAAe;IAACe,IAAI,EAAC;EAAO,gBAChGhD,MAAA,YAAA+C,aAAA,CAAC3C,MAAA,WAAK,MAAE,CACQ,CAAC;AAAA,CACpB;AAEDuC,aAAa,CAACM,SAAS,GAAG;EACxBH,OAAO,EAAEI,qBAAS,CAACC,IAAI;EACvBlB,cAAc,EAAEiB,qBAAS,CAACE;AAC5B,CAAC;AAEM,IAAMC,UAAU,GAAAT,OAAA,CAAAS,UAAA,GAAGV,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"done-button.js","names":["_react","_interopRequireDefault","require","_IconButton","_Check","_styles","_propTypes","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledIconButton","styled","IconButton","_ref","theme","hideBackground","verticalAlign","width","height","color","backgroundColor","palette","common","white","grey","position","top","RawDoneButton","exports","_ref2","onClick","createElement","size","propTypes","PropTypes","func","bool","DoneButton"],"sources":["../src/done-button.jsx"],"sourcesContent":["import React from 'react';\n\nimport IconButton from '@mui/material/IconButton';\nimport Check from '@mui/icons-material/Check';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\n\nconst StyledIconButton = styled(IconButton)(({ theme, hideBackground }) => ({\n verticalAlign: 'top',\n width: '28px',\n height: '28px',\n color: '#00bb00',\n ...(hideBackground && {\n backgroundColor: theme.palette.common.white,\n '&:hover': {\n backgroundColor: theme.palette.grey[200],\n },\n }),\n '& .MuiIconButton-label': {\n position: 'absolute',\n top: '2px',\n },\n}));\n\nexport const RawDoneButton = ({ onClick, hideBackground }) => (\n <StyledIconButton aria-label=\"Done\" onClick={onClick} hideBackground={hideBackground} size=\"large\">\n <Check />\n </StyledIconButton>\n);\n\nRawDoneButton.propTypes = {\n onClick: PropTypes.func,\n hideBackground: PropTypes.bool,\n};\n\nexport const DoneButton = RawDoneButton;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAmC,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAEnC,IAAMoB,gBAAgB,GAAG,IAAAC,cAAM,EAACC,sBAAU,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,cAAc,GAAAF,IAAA,CAAdE,cAAc;EAAA,OAAAb,aAAA,CAAAA,aAAA;IAClEc,aAAa,EAAE,KAAK;IACpBC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,KAAK,EAAE;EAAS,GACZJ,cAAc,IAAI;IACpBK,eAAe,EAAEN,KAAK,CAACO,OAAO,CAACC,MAAM,CAACC,KAAK;IAC3C,SAAS,EAAE;MACTH,eAAe,EAAEN,KAAK,CAACO,OAAO,CAACG,IAAI,CAAC,GAAG;IACzC;EACF,CAAC;IACD,wBAAwB,EAAE;MACxBC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE;IACP;EAAC;AAAA,CACD,CAAC;AAEI,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAAE,KAAA;EAAA,IAAMC,OAAO,GAAAD,KAAA,CAAPC,OAAO;IAAEf,cAAc,GAAAc,KAAA,CAAdd,cAAc;EAAA,oBACrDjC,MAAA,YAAAiD,aAAA,CAACrB,gBAAgB;IAAC,cAAW,MAAM;IAACoB,OAAO,EAAEA,OAAQ;IAACf,cAAc,EAAEA,cAAe;IAACiB,IAAI,EAAC;EAAO,gBAChGlD,MAAA,YAAAiD,aAAA,CAAC7C,MAAA,WAAK,MAAE,CACQ,CAAC;AAAA,CACpB;AAEDyC,aAAa,CAACM,SAAS,GAAG;EACxBH,OAAO,EAAEI,qBAAS,CAACC,IAAI;EACvBpB,cAAc,EAAEmB,qBAAS,CAACE;AAC5B,CAAC;AAEM,IAAMC,UAAU,GAAAT,OAAA,CAAAS,UAAA,GAAGV,aAAa","ignoreList":[]}