@pie-lib/math-input 6.11.4 → 6.13.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.
Files changed (94) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/lib/__tests__/math-input-test.js +109 -0
  4. package/lib/horizontal-keypad.js +10 -4
  5. package/lib/index.js +11 -15
  6. package/lib/keypad/__tests__/index.test.js +41 -0
  7. package/lib/keypad/__tests__/keys-layout.test.js +15 -0
  8. package/lib/keypad/index.js +96 -25
  9. package/lib/keypad/keys-layout.js +1 -1
  10. package/lib/keys/__tests__/utils.test.js +60 -0
  11. package/lib/keys/basic-operators.js +1 -1
  12. package/lib/keys/chars.js +1 -1
  13. package/lib/keys/comparison.js +1 -1
  14. package/lib/keys/constants.js +1 -1
  15. package/lib/keys/digits.js +1 -1
  16. package/lib/keys/edit.js +1 -1
  17. package/lib/keys/exponent.js +1 -1
  18. package/lib/keys/fractions.js +1 -1
  19. package/lib/keys/geometry.js +5 -3
  20. package/lib/keys/grades.js +13 -1
  21. package/lib/keys/index.js +1 -1
  22. package/lib/keys/log.js +2 -2
  23. package/lib/keys/logic.js +1 -1
  24. package/lib/keys/matrices.js +1 -1
  25. package/lib/keys/misc.js +1 -1
  26. package/lib/keys/navigation.js +1 -1
  27. package/lib/keys/operators.js +1 -1
  28. package/lib/keys/statistics.js +1 -1
  29. package/lib/keys/sub-sup.js +1 -1
  30. package/lib/keys/trigonometry.js +1 -1
  31. package/lib/keys/utils.js +1 -1
  32. package/lib/keys/vars.js +1 -1
  33. package/lib/math-input.js +1 -1
  34. package/lib/mq/__tests__/input.test.js +119 -0
  35. package/lib/mq/__tests__/static.test.js +74 -0
  36. package/lib/mq/common-mq-styles.js +110 -0
  37. package/lib/mq/custom-elements.js +1 -1
  38. package/lib/mq/index.js +9 -1
  39. package/lib/mq/input.js +13 -11
  40. package/lib/mq/static.js +199 -76
  41. package/lib/updateSpans.js +23 -0
  42. package/package.json +2 -2
  43. package/src/__tests__/__snapshots__/math-input-test.jsx.snap +152 -0
  44. package/src/__tests__/math-input-test.jsx +85 -0
  45. package/src/horizontal-keypad.jsx +14 -1
  46. package/src/index.jsx +1 -10
  47. package/src/keypad/__tests__/__snapshots__/index.test.jsx.snap +193 -0
  48. package/src/keypad/__tests__/index.test.jsx +24 -0
  49. package/src/keypad/__tests__/keys-layout.test.js +15 -0
  50. package/src/keypad/index.jsx +99 -15
  51. package/src/keys/__tests__/utils.test.js +57 -0
  52. package/src/keys/geometry.js +6 -2
  53. package/src/keys/grades.js +11 -0
  54. package/src/keys/log.js +1 -1
  55. package/src/mq/__tests__/__snapshots__/input.test.jsx.snap +9 -0
  56. package/src/mq/__tests__/input.test.jsx +92 -0
  57. package/src/mq/__tests__/static.test.jsx +57 -0
  58. package/src/mq/common-mq-styles.js +105 -0
  59. package/src/mq/index.js +2 -1
  60. package/src/mq/input.jsx +22 -9
  61. package/src/mq/static.jsx +142 -13
  62. package/src/updateSpans.js +15 -0
  63. package/README.md +0 -27
  64. package/lib/horizontal-keypad.js.map +0 -1
  65. package/lib/index.js.map +0 -1
  66. package/lib/keypad/index.js.map +0 -1
  67. package/lib/keypad/keys-layout.js.map +0 -1
  68. package/lib/keys/basic-operators.js.map +0 -1
  69. package/lib/keys/chars.js.map +0 -1
  70. package/lib/keys/comparison.js.map +0 -1
  71. package/lib/keys/constants.js.map +0 -1
  72. package/lib/keys/digits.js.map +0 -1
  73. package/lib/keys/edit.js.map +0 -1
  74. package/lib/keys/exponent.js.map +0 -1
  75. package/lib/keys/fractions.js.map +0 -1
  76. package/lib/keys/geometry.js.map +0 -1
  77. package/lib/keys/grades.js.map +0 -1
  78. package/lib/keys/index.js.map +0 -1
  79. package/lib/keys/log.js.map +0 -1
  80. package/lib/keys/logic.js.map +0 -1
  81. package/lib/keys/matrices.js.map +0 -1
  82. package/lib/keys/misc.js.map +0 -1
  83. package/lib/keys/navigation.js.map +0 -1
  84. package/lib/keys/operators.js.map +0 -1
  85. package/lib/keys/statistics.js.map +0 -1
  86. package/lib/keys/sub-sup.js.map +0 -1
  87. package/lib/keys/trigonometry.js.map +0 -1
  88. package/lib/keys/utils.js.map +0 -1
  89. package/lib/keys/vars.js.map +0 -1
  90. package/lib/math-input.js.map +0 -1
  91. package/lib/mq/custom-elements.js.map +0 -1
  92. package/lib/mq/index.js.map +0 -1
  93. package/lib/mq/input.js.map +0 -1
  94. package/lib/mq/static.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _input = require("../input");
12
+
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+
17
+ describe('Input', function () {
18
+ var w;
19
+ var onChange;
20
+ beforeEach(function () {
21
+ onChange = jest.fn();
22
+ });
23
+
24
+ var wrapper = function wrapper(extras) {
25
+ var defaults = {
26
+ classes: {},
27
+ className: 'className',
28
+ onChange: onChange
29
+ };
30
+
31
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
32
+
33
+ var out = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_input.Input, props));
34
+
35
+ out.mathField = function () {
36
+ return out.instance().mathField;
37
+ };
38
+
39
+ return out;
40
+ };
41
+
42
+ describe('snapshot', function () {
43
+ it('renders', function () {
44
+ w = wrapper();
45
+ expect(w).toMatchSnapshot();
46
+ });
47
+ });
48
+ describe('logic', function () {
49
+ beforeEach(function () {
50
+ w = wrapper();
51
+ });
52
+ describe('clear', function () {
53
+ it('calls latex', function () {
54
+ w.instance().clear();
55
+ expect(w.mathField().latex).toHaveBeenCalledWith('');
56
+ });
57
+ });
58
+ describe('blur', function () {
59
+ it('calls blur', function () {
60
+ w.instance().blur();
61
+ expect(w.mathField().blur).toHaveBeenCalled();
62
+ });
63
+ });
64
+ describe('focus', function () {
65
+ it('calls focus', function () {
66
+ w.instance().focus();
67
+ expect(w.mathField().focus).toHaveBeenCalled();
68
+ });
69
+ });
70
+ describe('command', function () {
71
+ it('calls cmd', function () {
72
+ w.instance().command('foo');
73
+ expect(w.mathField().cmd).toHaveBeenCalledWith('foo');
74
+ });
75
+ it('calls cmd if passed an array', function () {
76
+ w.instance().command(['foo', 'bar']);
77
+ expect(w.mathField().cmd).toHaveBeenCalledWith('foo');
78
+ expect(w.mathField().cmd).toHaveBeenCalledWith('bar');
79
+ });
80
+ });
81
+ describe('keystroke', function () {
82
+ beforeEach(function () {
83
+ w.instance().keystroke('9');
84
+ });
85
+ it('calls keystroke', function () {
86
+ return expect(w.mathField().keystroke).toHaveBeenCalledWith('9');
87
+ });
88
+ it('calls focus', function () {
89
+ return expect(w.mathField().focus).toHaveBeenCalled();
90
+ });
91
+ it('calls latex', function () {
92
+ return expect(w.mathField().latex).toHaveBeenCalled();
93
+ });
94
+ });
95
+ describe('write', function () {
96
+ beforeEach(function () {
97
+ w.instance().write('hi');
98
+ });
99
+ it('calls write', function () {
100
+ return expect(w.mathField().write).toHaveBeenCalledWith('hi');
101
+ });
102
+ it('calls focus', function () {
103
+ return expect(w.mathField().focus).toHaveBeenCalled();
104
+ });
105
+ it('calls latex', function () {
106
+ return expect(w.mathField().latex).toHaveBeenCalled();
107
+ });
108
+ });
109
+ describe('onInputEdit', function () {
110
+ it('calls onChange', function () {
111
+ w = wrapper();
112
+ w.mathField().latex.mockReturnValue('foo');
113
+ w.instance().onInputEdit();
114
+ expect(onChange).toHaveBeenCalledWith('foo');
115
+ });
116
+ });
117
+ });
118
+ });
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tcS9fX3Rlc3RzX18vaW5wdXQudGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJ3Iiwib25DaGFuZ2UiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwid3JhcHBlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsInByb3BzIiwib3V0IiwibWF0aEZpZWxkIiwiaW5zdGFuY2UiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImNsZWFyIiwibGF0ZXgiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsImJsdXIiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwiZm9jdXMiLCJjb21tYW5kIiwiY21kIiwia2V5c3Ryb2tlIiwid3JpdGUiLCJtb2NrUmV0dXJuVmFsdWUiLCJvbklucHV0RWRpdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLENBQUMsT0FBRCxFQUFVLFlBQU07QUFDdEIsTUFBSUMsQ0FBSjtBQUNBLE1BQUlDLFFBQUo7QUFFQUMsRUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkQsSUFBQUEsUUFBUSxHQUFHRSxJQUFJLENBQUNDLEVBQUwsRUFBWDtBQUNELEdBRlMsQ0FBVjs7QUFHQSxNQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLE1BQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLE1BQUFBLFNBQVMsRUFBRSxXQUZJO0FBR2ZSLE1BQUFBLFFBQVEsRUFBUkE7QUFIZSxLQUFqQjs7QUFLQSxRQUFNUyxLQUFLLG1DQUFRSCxRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUNBLFFBQU1LLEdBQUcsR0FBRyxtQ0FBUSxnQ0FBQyxZQUFELEVBQVdELEtBQVgsQ0FBUixDQUFaOztBQUVBQyxJQUFBQSxHQUFHLENBQUNDLFNBQUosR0FBZ0I7QUFBQSxhQUFNRCxHQUFHLENB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TyxFQUFYO0FBQ0FMLFFBQUFBLENBQUMsQ0FBQ1ksU0FBRixHQUFjTSxLQUFkLENBQW9CUyxlQUFwQixDQUFvQyxLQUFwQztBQUNBM0IsUUFBQUEsQ0FBQyxDQUFDYSxRQUFGLEdBQWFlLFdBQWI7QUFDQWIsUUFBQUEsTUFBTSxDQUFDZCxRQUFELENBQU4sQ0FBaUJrQixvQkFBakIsQ0FBc0MsS0FBdEM7QUFDRCxPQUxDLENBQUY7QUFNRCxLQVBPLENBQVI7QUFRRCxHQTVETyxDQUFSO0FBNkRELENBdkZPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4uL2lucHV0JztcblxuZGVzY3JpYmUoJ0lucHV0JywgKCkgPT4ge1xuICBsZXQgdztcbiAgbGV0IG9uQ2hhbmdlO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICB9KTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICBjb25zdCBvdXQgPSBzaGFsbG93KDxJbnB1dCB7Li4ucHJvcHN9IC8+KTtcblxuICAgIG91dC5tYXRoRmllbGQgPSAoKSA9PiBvdXQuaW5zdGFuY2UoKS5tYXRoRmllbGQ7XG4gICAgcmV0dXJuIG91dDtcbiAgfTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgdyA9IHdyYXBwZXIoKTtcbiAgICB9KTtcbiAgICBkZXNjcmliZSgnY2xlYXInLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgbGF0ZXgnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5jbGVhcigpO1xuICAgICAgICBleHBlY3Qody5tYXRoRmllbGQoKS5sYXRleCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJycpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ2JsdXInLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgYmx1cicsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmJsdXIoKTtcbiAgICAgICAgZXhwZWN0KHcubWF0aEZpZWxkKCkuYmx1cikudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIGZvY3VzJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkuZm9jdXMoKTtcbiAgICAgICAgZXhwZWN0KHcubWF0aEZpZWxkKCkuZm9jdXMpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCdjb21tYW5kJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIGNtZCcsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmNvbW1hbmQoJ2ZvbycpO1xuICAgICAgICBleHBlY3Qody5tYXRoRmllbGQoKS5jbWQpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdmb28nKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ2NhbGxzIGNtZCBpZiBwYXNzZWQgYW4gYXJyYXknLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5jb21tYW5kKFsnZm9vJywgJ2JhciddKTtcbiAgICAgICAgZXhwZWN0KHcubWF0aEZpZWxkKCkuY21kKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnZm9vJyk7XG4gICAgICAgIGV4cGVjdCh3Lm1hdGhGaWVsZCgpLmNtZCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2JhcicpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgna2V5c3Ryb2tlJywgKCkgPT4ge1xuICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5rZXlzdHJva2UoJzknKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ2NhbGxzIGtleXN0cm9rZScsICgpID0+IGV4cGVjdCh3Lm1hdGhGaWVsZCgpLmtleXN0cm9rZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJzknKSk7XG4gICAgICBpdCgnY2FsbHMgZm9jdXMnLCAoKSA9PiBleHBlY3Qody5tYXRoRmllbGQoKS5mb2N1cykudG9IYXZlQmVlbkNhbGxlZCgpKTtcbiAgICAgIGl0KCdjYWxscyBsYXRleCcsICgpID0+IGV4cGVjdCh3Lm1hdGhGaWVsZCgpLmxhdGV4KS50b0hhdmVCZWVuQ2FsbGVkKCkpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3dyaXRlJywgKCkgPT4ge1xuICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS53cml0ZSgnaGknKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ2NhbGxzIHdyaXRlJywgKCkgPT4gZXhwZWN0KHcubWF0aEZpZWxkKCkud3JpdGUpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdoaScpKTtcbiAgICAgIGl0KCdjYWxscyBmb2N1cycsICgpID0+IGV4cGVjdCh3Lm1hdGhGaWVsZCgpLmZvY3VzKS50b0hhdmVCZWVuQ2FsbGVkKCkpO1xuICAgICAgaXQoJ2NhbGxzIGxhdGV4JywgKCkgPT4gZXhwZWN0KHcubWF0aEZpZWxkKCkubGF0ZXgpLnRvSGF2ZUJlZW5DYWxsZWQoKSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnb25JbnB1dEVkaXQnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICAgIHcubWF0aEZpZWxkKCkubGF0ZXgubW9ja1JldHVyblZhbHVlKCdmb28nKTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uSW5wdXRFZGl0KCk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2ZvbycpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _static = _interopRequireDefault(require("../static"));
10
+
11
+ var Mathquill = require('@pie-framework/mathquill');
12
+
13
+ jest.mock('@pie-framework/mathquill', function () {
14
+ return {
15
+ StaticMath: jest.fn().mockReturnValue({
16
+ latex: jest.fn(),
17
+ parseLatex: jest.fn()
18
+ }),
19
+ getInterface: jest.fn().mockReturnThis()
20
+ };
21
+ });
22
+ describe('static', function () {
23
+ var w;
24
+ describe('mount', function () {
25
+ beforeEach(function () {
26
+ w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_static["default"], {
27
+ latex: "foo"
28
+ }), {
29
+ disableLifecycleMethods: true
30
+ });
31
+ w.instance().input = {};
32
+ w.instance().componentDidMount();
33
+ });
34
+ it('set the html', function () {
35
+ expect(Mathquill.getInterface().StaticMath().latex).toBeCalledWith('foo');
36
+ });
37
+ it('calls MQ.StaticMath', function () {
38
+ expect(Mathquill.getInterface().StaticMath).toHaveBeenCalled();
39
+ });
40
+ });
41
+ describe('shouldComponentUpdate', function () {
42
+ it('returns false if there is an error', function () {
43
+ w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_static["default"], {
44
+ latex: "foo"
45
+ }), {
46
+ disableLifecycleMethods: true
47
+ });
48
+ w.instance().mathField = {
49
+ parseLatex: jest.fn(function (e) {
50
+ throw new Error('boom');
51
+ })
52
+ };
53
+ expect(w.instance().shouldComponentUpdate({
54
+ latex: '\\abs{}'
55
+ })).toEqual(false);
56
+ });
57
+ it('returns true if ??', function () {
58
+ w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_static["default"], {
59
+ latex: "foo"
60
+ }), {
61
+ disableLifecycleMethods: true
62
+ });
63
+ w.instance().mathField = {
64
+ latex: jest.fn().mockReturnValue('foo'),
65
+ parseLatex: jest.fn().mockReturnValue('foo'),
66
+ innerFields: ['field1', 'field2']
67
+ };
68
+ expect(w.instance().shouldComponentUpdate({
69
+ latex: '\\abs{}'
70
+ })).toEqual(true);
71
+ });
72
+ });
73
+ });
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tcS9fX3Rlc3RzX18vc3RhdGljLnRlc3QuanN4Il0sIm5hbWVzIjpbIk1hdGhxdWlsbCIsInJlcXVpcmUiLCJqZXN0IiwibW9jayIsIlN0YXRpY01hdGgiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsImxhdGV4IiwicGFyc2VMYXRleCIsImdldEludGVyZmFjZSIsIm1vY2tSZXR1cm5UaGlzIiwiZGVzY3JpYmUiLCJ3IiwiYmVmb3JlRWFjaCIsImRpc2FibGVMaWZlY3ljbGVNZXRob2RzIiwiaW5zdGFuY2UiLCJpbnB1dCIsImNvbXBvbmVudERpZE1vdW50IiwiaXQiLCJleHBlY3QiLCJ0b0JlQ2FsbGVkV2l0aCIsInRvSGF2ZUJlZW5DYWxsZWQiLCJtYXRoRmllbGQiLCJlIiwiRXJyb3IiLCJzaG91bGRDb21wb25lbnRVcGRhdGUiLCJ0b0VxdWFsIiwiaW5uZXJGaWVsZHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxTQUFTLEdBQUdDLE9BQU8sQ0FBQywwQkFBRCxDQUF6Qjs7QUFFQUMsSUFBSSxDQUFDQyxJQUFMLENBQVUsMEJBQVYsRUFBc0M7QUFBQSxTQUFPO0FBQzNDQyxJQUFBQSxVQUFVLEVBQUVGLElBQUksQ0FBQ0csRUFBTCxHQUFVQyxlQUFWLENBQTBCO0FBQ3BDQyxNQUFBQSxLQUFLLEVBQUVMLElBQUksQ0FBQ0csRUFBTCxFQUQ2QjtBQUVwQ0csTUFBQUEsVUFBVSxFQUFFTixJQUFJLENBQUNHLEVBQUw7QUFGd0IsS0FBMUIsQ0FEK0I7QUFLM0NJLElBQUFBLFlBQVksRUFBRVAsSUFBSSxDQUFDRyxFQUFMLEdBQVVLLGNBQVY7QUFMNkIsR0FBUDtBQUFBLENBQXRDO0FBUUFDLFFBQVEsQ0FBQyxRQUFELEVBQVcsWUFBTTtBQUN2QixNQUFJQyxDQUFKO0FBQ0FELEVBQUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0QkUsSUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkQsTUFBQUEsQ0FBQyxHQUFHLG1DQUFRLGdDQUFDLGtCQUFEO0FBQVEsUUFBQSxLQUFLLEVBQUM7QUFBZCxRQUFSLEVBQWdDO0FBQ2xDRSxRQUFBQSx1QkFBdUIsRUFBRTtBQURTLE9BQWhDLENBQUo7QUFJQUYsTUFBQUEsQ0FBQyxDQUFDRyxRQUFGLEdBQWFDLEtBQWIsR0FBcUIsRUFBckI7QUFDQUosTUFBQUEsQ0FBQyxDQUFDRyxRQUFGLEdBQWFFLGlCQUFiO0FBQ0QsS0FQUyxDQUFWO0FBU0FDLElBQUFBLEVBQUUsQ0FBQyxjQUFELEVBQWlCLFlBQU07QUFDdkJDLE1BQUFBLE1BQU0sQ0FBQ25CLFNBQVMsQ0FBQ1MsWUFBVixHQUF5QkwsVUFBekIsR0FBc0NHLEtBQXZDLENBQU4sQ0FBb0RhLGNBQXBELENBQW1FLEtBQW5FO0FBQ0QsS0FGQyxDQUFGO0FBSUFGLElBQUFBLEVBQUUsQ0FBQyxxQkFBRCxFQUF3QixZQUFNO0FBQzlCQyxNQUFBQSxNQUFNLENBQUNuQixTQUFTLENBQUNTLFlBQVYsR0FBeUJMLFVBQTFCLENBQU4sQ0FBNENpQixnQkFBNUM7QUFDRCxLQUZDLENBQUY7QUFHRCxHQWpCTyxDQUFSO0FBbUJBVixFQUFBQSxRQUFRLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUN0Q08sSUFBQUEsRUFBRSxDQUFDLG9DQUFELEVBQXVDLFlBQU07QUFDN0NOLE1BQUFBLENBQUMsR0FBRyxtQ0FBUSxnQ0FBQyxrQkFBRDtBQUFRLFFBQUEsS0FBSyxFQUFDO0FBQWQsUUFBUixFQUFnQztBQUFFRSxRQUFBQSx1QkFBdUIsRUFBRTtBQUEzQixPQUFoQyxDQUFKO0FBQ0FGLE1BQUFBLENBQUMsQ0FBQ0csUUFBRixHQUFhTyxTQUFiLEdBQXlCO0FBQ3ZCZCxRQUFBQSxVQUFVLEVBQUVOLElBQUksQ0FBQ0csRUFBTCxDQUFRLFVBQUNrQixDQUFELEVBQU87QUFDekIsZ0JBQU0sSUFBSUMsS0FBSixDQUFVLE1BQVYsQ0FBTjtBQUNELFNBRlc7QUFEVyxPQUF6QjtBQUtBTCxNQUFBQSxNQUFNLENBQUNQLENBQUMsQ0FBQ0csUUFBRixHQUFhVSxxQkFBYixDQUFtQztBQUFFbEIsUUFBQUEsS0FBSyxFQUFFO0FBQVQsT0FBbkMsQ0FBRCxDQUFOLENBQWlFbUIsT0FBakUsQ0FBeUUsS0FBekU7QUFDRCxLQVJDLENBQUY7QUFVQVIsSUFBQUEsRUFBRSxDQUFDLG9CQUFELEVBQXVCLFlBQU07QUFDN0JOLE1BQUFBLENBQUMsR0FBRyxtQ0FBUSxnQ0FBQyxrQkFBRDtBQUFRLFFBQUEsS0FBSyxFQUFDO0FBQWQsUUFBUixFQUFnQztBQUFFRSxRQUFBQSx1QkFBdUIsRUFBRTtBQUEzQixPQUFoQyxDQUFKO0FBQ0FGLE1BQUFBLENBQUMsQ0FBQ0csUUFBRixHQUFhTyxTQUFiLEdBQXlCO0FBQ3ZCZixRQUFBQSxLQUFLLEVBQUVMLElBQUksQ0FBQ0csRUFBTCxHQUFVQyxlQUFWLENBQTBCLEtBQTFCLENBRGdCO0FBRXZCRSxRQUFBQSxVQUFVLEVBQUVOLElBQUksQ0FBQ0csRUFBTCxHQUFVQyxlQUFWLENBQTBCLEtBQTFCLENBRlc7QUFHdkJxQixRQUFBQSxXQUFXLEVBQUUsQ0FBQyxRQUFELEVBQVcsUUFBWDtBQUhVLE9BQXpCO0FBS0FSLE1BQUFBLE1BQU0sQ0FBQ1AsQ0FBQyxDQUFDRyxRQUFGLEdBQWFVLHFCQUFiLENBQW1DO0FBQUVsQixRQUFBQSxLQUFLLEVBQUU7QUFBVCxPQUFuQyxDQUFELENBQU4sQ0FBaUVtQixPQUFqRSxDQUF5RSxJQUF6RTtBQUNELEtBUkMsQ0FBRjtBQVNELEdBcEJPLENBQVI7QUFxQkQsQ0ExQ08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTdGF0aWMgZnJvbSAnLi4vc3RhdGljJztcblxuY29uc3QgTWF0aHF1aWxsID0gcmVxdWlyZSgnQHBpZS1mcmFtZXdvcmsvbWF0aHF1aWxsJyk7XG5cbmplc3QubW9jaygnQHBpZS1mcmFtZXdvcmsvbWF0aHF1aWxsJywgKCkgPT4gKHtcbiAgU3RhdGljTWF0aDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgbGF0ZXg6IGplc3QuZm4oKSxcbiAgICBwYXJzZUxhdGV4OiBqZXN0LmZuKCksXG4gIH0pLFxuICBnZXRJbnRlcmZhY2U6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxufSkpO1xuXG5kZXNjcmliZSgnc3RhdGljJywgKCkgPT4ge1xuICBsZXQgdztcbiAgZGVzY3JpYmUoJ21vdW50JywgKCkgPT4ge1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgdyA9IHNoYWxsb3coPFN0YXRpYyBsYXRleD1cImZvb1wiIC8+LCB7XG4gICAgICAgIGRpc2FibGVMaWZlY3ljbGVNZXRob2RzOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIHcuaW5zdGFuY2UoKS5pbnB1dCA9IHt9O1xuICAgICAgdy5pbnN0YW5jZSgpLmNvbXBvbmVudERpZE1vdW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2V0IHRoZSBodG1sJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KE1hdGhxdWlsbC5nZXRJbnRlcmZhY2UoKS5TdGF0aWNNYXRoKCkubGF0ZXgpLnRvQmVDYWxsZWRXaXRoKCdmb28nKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBNUS5TdGF0aWNNYXRoJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KE1hdGhxdWlsbC5nZXRJbnRlcmZhY2UoKS5TdGF0aWNNYXRoKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGRDb21wb25lbnRVcGRhdGUnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgZmFsc2UgaWYgdGhlcmUgaXMgYW4gZXJyb3InLCAoKSA9PiB7XG4gICAgICB3ID0gc2hhbGxvdyg8U3RhdGljIGxhdGV4PVwiZm9vXCIgLz4sIHsgZGlzYWJsZUxpZmVjeWNsZU1ldGhvZHM6IHRydWUgfSk7XG4gICAgICB3Lmluc3RhbmNlKCkubWF0aEZpZWxkID0ge1xuICAgICAgICBwYXJzZUxhdGV4OiBqZXN0LmZuKChlKSA9PiB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdib29tJyk7XG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHsgbGF0ZXg6ICdcXFxcYWJze30nIH0pKS50b0VxdWFsKGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIHRydWUgaWYgPz8nLCAoKSA9PiB7XG4gICAgICB3ID0gc2hhbGxvdyg8U3RhdGljIGxhdGV4PVwiZm9vXCIgLz4sIHsgZGlzYWJsZUxpZmVjeWNsZU1ldGhvZHM6IHRydWUgfSk7XG4gICAgICB3Lmluc3RhbmNlKCkubWF0aEZpZWxkID0ge1xuICAgICAgICBsYXRleDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSgnZm9vJyksXG4gICAgICAgIHBhcnNlTGF0ZXg6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoJ2ZvbycpLFxuICAgICAgICBpbm5lckZpZWxkczogWydmaWVsZDEnLCAnZmllbGQyJ10sXG4gICAgICB9O1xuICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5zaG91bGRDb21wb25lbnRVcGRhdGUoeyBsYXRleDogJ1xcXFxhYnN7fScgfSkpLnRvRXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.supsubStyles = exports.longdivStyles = exports["default"] = exports.commonMqKeyboardStyles = exports.commonMqFontStyles = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
+
16
+ var commonMqFontStyles = {
17
+ fontFamily: 'MJXZERO, MJXTEX !important',
18
+ '-webkit-font-smoothing': 'antialiased !important',
19
+ '& .mq-math-mode > span > var': {
20
+ fontFamily: 'MJXZERO, MJXTEX-I !important'
21
+ },
22
+ '& .mq-math-mode span var': {
23
+ fontFamily: 'MJXZERO, MJXTEX-I !important'
24
+ },
25
+ '& .mq-math-mode .mq-nonSymbola': {
26
+ fontFamily: 'MJXZERO, MJXTEX-I !important'
27
+ },
28
+ '& .mq-math-mode > span > var.mq-operator-name': {
29
+ fontFamily: 'MJXZERO, MJXTEX !important'
30
+ }
31
+ };
32
+ exports.commonMqFontStyles = commonMqFontStyles;
33
+ var longdivStyles = {
34
+ '& .mq-longdiv-inner': {
35
+ marginTop: '-1px',
36
+ marginLeft: '5px !important;',
37
+ '& > .mq-empty': {
38
+ padding: '0 !important',
39
+ marginLeft: '0px !important',
40
+ marginTop: '2px'
41
+ }
42
+ },
43
+ '& .mq-math-mode .mq-longdiv': {
44
+ display: 'inline-flex !important'
45
+ }
46
+ };
47
+ exports.longdivStyles = longdivStyles;
48
+ var supsubStyles = {
49
+ '& .mq-math-mode sup.mq-nthroot': {
50
+ fontSize: '70% !important',
51
+ verticalAlign: '0.5em !important',
52
+ paddingRight: '0.15em'
53
+ },
54
+ '& .mq-math-mode .mq-supsub': {
55
+ fontSize: '70.7% !important'
56
+ },
57
+ '& .mq-supsub ': {
58
+ fontSize: '70.7%'
59
+ },
60
+ '& .mq-math-mode .mq-supsub.mq-sup-only': {
61
+ verticalAlign: '-0.1em !important',
62
+ '& .mq-sup': {
63
+ marginBottom: '0px !important'
64
+ }
65
+ },
66
+
67
+ /* But when the base is a fraction, move it higher */
68
+ '& .mq-math-mode .mq-fraction + .mq-supsub.mq-sup-only': {
69
+ verticalAlign: '0.4em !important'
70
+ },
71
+ '& .mq-math-mode .mq-supsub.mq-sup-only.mq-after-fraction-group': {
72
+ verticalAlign: '0.4em !important'
73
+ }
74
+ };
75
+ exports.supsubStyles = supsubStyles;
76
+ var commonMqKeyboardStyles = {
77
+ '& *': _objectSpread(_objectSpread(_objectSpread({}, commonMqFontStyles), longdivStyles), {}, {
78
+ '& .mq-math-mode .mq-sqrt-prefix': {
79
+ top: '0 !important'
80
+ },
81
+ '& .mq-math-mode .mq-empty': {
82
+ padding: '9px 1px !important'
83
+ },
84
+ '& .mq-math-mode .mq-supsub': {
85
+ fontSize: '70.7% !important'
86
+ },
87
+ '& .mq-math-mode .mq-sqrt-stem': {
88
+ marginTop: '-5px',
89
+ paddingTop: '4px'
90
+ },
91
+ '& .mq-math-mode .mq-paren': {
92
+ verticalAlign: 'middle !important'
93
+ },
94
+ '& .mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-empty': {
95
+ padding: '0 !important'
96
+ },
97
+ '& .mq-math-mode .mq-overline .mq-overline-inner .mq-empty ': {
98
+ padding: '0 !important'
99
+ }
100
+ })
101
+ };
102
+ exports.commonMqKeyboardStyles = commonMqKeyboardStyles;
103
+ var _default = {
104
+ commonMqFontStyles: commonMqFontStyles,
105
+ longdivStyles: longdivStyles,
106
+ supsubStyles: supsubStyles,
107
+ commonMqKeyboardStyles: commonMqKeyboardStyles
108
+ };
109
+ exports["default"] = _default;
110
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tcS9jb21tb24tbXEtc3R5bGVzLmpzIl0sIm5hbWVzIjpbImNvbW1vbk1xRm9udFN0eWxlcyIsImZvbnRGYW1pbHkiLCJsb25nZGl2U3R5bGVzIiwibWFyZ2luVG9wIiwibWFyZ2luTGVmdCIsInBhZGRpbmciLCJkaXNwbGF5Iiwic3Vwc3ViU3R5bGVzIiwiZm9udFNpemUiLCJ2ZXJ0aWNhbEFsaWduIiwicGFkZGluZ1JpZ2h0IiwibWFyZ2luQm90dG9tIiwiY29tbW9uTXFLZXlib2FyZFN0eWxlcyIsInRvcCIsInBhZGRpbmdUb3AiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFPLElBQU1BLGtCQUFrQixHQUFHO0FBQ2hDQyxFQUFBQSxVQUFVLEVBQUUsNEJBRG9CO0FBRWhDLDRCQUEwQix3QkFGTTtBQUloQyxrQ0FBZ0M7QUFDOUJBLElBQUFBLFVBQVUsRUFBRTtBQURrQixHQUpBO0FBT2hDLDhCQUE0QjtBQUMxQkEsSUFBQUEsVUFBVSxFQUFFO0FBRGMsR0FQSTtBQVVoQyxvQ0FBa0M7QUFDaENBLElBQUFBLFVBQVUsRUFBRTtBQURvQixHQVZGO0FBYWhDLG1EQUFpRDtBQUMvQ0EsSUFBQUEsVUFBVSxFQUFFO0FBRG1DO0FBYmpCLENBQTNCOztBQWtCQSxJQUFNQyxhQUFhLEdBQUc7QUFDM0IseUJBQXVCO0FBQ3JCQyxJQUFBQSxTQUFTLEVBQUUsTUFEVTtBQUVyQkMsSUFBQUEsVUFBVSxFQUFFLGlCQUZTO0FBSXJCLHFCQUFpQjtBQUNmQyxNQUFBQSxPQUFPLEVBQUUsY0FETTtBQUVmRCxNQUFBQSxVQUFVLEVBQUUsZ0JBRkc7QUFHZkQsTUFBQUEsU0FBUyxFQUFFO0FBSEk7QUFKSSxHQURJO0FBWTNCLGlDQUErQjtBQUM3QkcsSUFBQUEsT0FBTyxFQUFFO0FBRG9CO0FBWkosQ0FBdEI7O0FBaUJBLElBQU1DLFlBQVksR0FBRztBQUMxQixvQ0FBa0M7QUFDaENDLElBQUFBLFFBQVEsRUFBRSxnQkFEc0I7QUFFaENDLElBQUFBLGFBQWEsRUFBRSxrQkFGaUI7QUFHaENDLElBQUFBLFlBQVksRUFBRTtBQUhrQixHQURSO0FBTTFCLGdDQUE4QjtBQUM1QkYsSUFBQUEsUUFBUSxFQUFFO0FBRGtCLEdBTko7QUFTMUIsbUJBQWlCO0FBQ2ZBLElBQUFBLFFBQVEsRUFBRTtBQURLLEdBVFM7QUFZMUIsNENBQTBDO0FBQ3hDQyxJQUFBQSxhQUFhLEVBQUUsbUJBRHlCO0FBR3hDLGlCQUFhO0FBQ1hFLE1BQUFBLFlBQVksRUFBRTtBQURIO0FBSDJCLEdBWmhCOztBQW1CMUI7QUFDQSwyREFBeUQ7QUFDdkRGLElBQUFBLGFBQWEsRUFBRTtBQUR3QyxHQXBCL0I7QUF3QjFCLG9FQUFrRTtBQUNoRUEsSUFBQUEsYUFBYSxFQUFFO0FBRGlEO0FBeEJ4QyxDQUFyQjs7QUE2QkEsSUFBTUcsc0JBQXNCLEdBQUc7QUFDcEMsdURBQ0taLGtCQURMLEdBRUtFLGFBRkw7QUFHRSx1Q0FBbUM7QUFDakNXLE1BQUFBLEdBQUcsRUFBRTtBQUQ0QixLQUhyQztBQU9FLGlDQUE2QjtBQUMzQlIsTUFBQUEsT0FBTyxFQUFFO0FBRGtCLEtBUC9CO0FBV0Usa0NBQThCO0FBQzVCRyxNQUFBQSxRQUFRLEVBQUU7QUFEa0IsS0FYaEM7QUFlRSxxQ0FBaUM7QUFDL0JMLE1BQUFBLFNBQVMsRUFBRSxNQURvQjtBQUUvQlcsTUFBQUEsVUFBVSxFQUFFO0FBRm1CLEtBZm5DO0FBb0JFLGlDQUE2QjtBQUMzQkwsTUFBQUEsYUFBYSxFQUFFO0FBRFksS0FwQi9CO0FBd0JFLG1FQUErRDtBQUM3REosTUFBQUEsT0FBTyxFQUFFO0FBRG9ELEtBeEJqRTtBQTRCRSxrRUFBOEQ7QUFDNURBLE1BQUFBLE9BQU8sRUFBRTtBQURtRDtBQTVCaEU7QUFEb0MsQ0FBL0I7O2VBbUNRO0FBQ2JMLEVBQUFBLGtCQUFrQixFQUFsQkEsa0JBRGE7QUFFYkUsRUFBQUEsYUFBYSxFQUFiQSxhQUZhO0FBR2JLLEVBQUFBLFlBQVksRUFBWkEsWUFIYTtBQUliSyxFQUFBQSxzQkFBc0IsRUFBdEJBO0FBSmEsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBjb21tb25NcUZvbnRTdHlsZXMgPSB7XG4gIGZvbnRGYW1pbHk6ICdNSlhaRVJPLCBNSlhURVggIWltcG9ydGFudCcsXG4gICctd2Via2l0LWZvbnQtc21vb3RoaW5nJzogJ2FudGlhbGlhc2VkICFpbXBvcnRhbnQnLFxuXG4gICcmIC5tcS1tYXRoLW1vZGUgPiBzcGFuID4gdmFyJzoge1xuICAgIGZvbnRGYW1pbHk6ICdNSlhaRVJPLCBNSlhURVgtSSAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYgLm1xLW1hdGgtbW9kZSBzcGFuIHZhcic6IHtcbiAgICBmb250RmFtaWx5OiAnTUpYWkVSTywgTUpYVEVYLUkgIWltcG9ydGFudCcsXG4gIH0sXG4gICcmIC5tcS1tYXRoLW1vZGUgLm1xLW5vblN5bWJvbGEnOiB7XG4gICAgZm9udEZhbWlseTogJ01KWFpFUk8sIE1KWFRFWC1JICFpbXBvcnRhbnQnLFxuICB9LFxuICAnJiAubXEtbWF0aC1tb2RlID4gc3BhbiA+IHZhci5tcS1vcGVyYXRvci1uYW1lJzoge1xuICAgIGZvbnRGYW1pbHk6ICdNSlhaRVJPLCBNSlhURVggIWltcG9ydGFudCcsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgbG9uZ2RpdlN0eWxlcyA9IHtcbiAgJyYgLm1xLWxvbmdkaXYtaW5uZXInOiB7XG4gICAgbWFyZ2luVG9wOiAnLTFweCcsXG4gICAgbWFyZ2luTGVmdDogJzVweCAhaW1wb3J0YW50OycsXG5cbiAgICAnJiA+IC5tcS1lbXB0eSc6IHtcbiAgICAgIHBhZGRpbmc6ICcwICFpbXBvcnRhbnQnLFxuICAgICAgbWFyZ2luTGVmdDogJzBweCAhaW1wb3J0YW50JyxcbiAgICAgIG1hcmdpblRvcDogJzJweCcsXG4gICAgfSxcbiAgfSxcblxuICAnJiAubXEtbWF0aC1tb2RlIC5tcS1sb25nZGl2Jzoge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCAhaW1wb3J0YW50JyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBzdXBzdWJTdHlsZXMgPSB7XG4gICcmIC5tcS1tYXRoLW1vZGUgc3VwLm1xLW50aHJvb3QnOiB7XG4gICAgZm9udFNpemU6ICc3MCUgIWltcG9ydGFudCcsXG4gICAgdmVydGljYWxBbGlnbjogJzAuNWVtICFpbXBvcnRhbnQnLFxuICAgIHBhZGRpbmdSaWdodDogJzAuMTVlbScsXG4gIH0sXG4gICcmIC5tcS1tYXRoLW1vZGUgLm1xLXN1cHN1Yic6IHtcbiAgICBmb250U2l6ZTogJzcwLjclICFpbXBvcnRhbnQnLFxuICB9LFxuICAnJiAubXEtc3Vwc3ViICc6IHtcbiAgICBmb250U2l6ZTogJzcwLjclJyxcbiAgfSxcbiAgJyYgLm1xLW1hdGgtbW9kZSAubXEtc3Vwc3ViLm1xLXN1cC1vbmx5Jzoge1xuICAgIHZlcnRpY2FsQWxpZ246ICctMC4xZW0gIWltcG9ydGFudCcsXG5cbiAgICAnJiAubXEtc3VwJzoge1xuICAgICAgbWFyZ2luQm90dG9tOiAnMHB4ICFpbXBvcnRhbnQnLFxuICAgIH0sXG4gIH0sXG4gIC8qIEJ1dCB3aGVuIHRoZSBiYXNlIGlzIGEgZnJhY3Rpb24sIG1vdmUgaXQgaGlnaGVyICovXG4gICcmIC5tcS1tYXRoLW1vZGUgLm1xLWZyYWN0aW9uICsgLm1xLXN1cHN1Yi5tcS1zdXAtb25seSc6IHtcbiAgICB2ZXJ0aWNhbEFsaWduOiAnMC40ZW0gIWltcG9ydGFudCcsXG4gIH0sXG5cbiAgJyYgLm1xLW1hdGgtbW9kZSAubXEtc3Vwc3ViLm1xLXN1cC1vbmx5Lm1xLWFmdGVyLWZyYWN0aW9uLWdyb3VwJzoge1xuICAgIHZlcnRpY2FsQWxpZ246ICcwLjRlbSAhaW1wb3J0YW50JyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBjb21tb25NcUtleWJvYXJkU3R5bGVzID0ge1xuICAnJiAqJzoge1xuICAgIC4uLmNvbW1vbk1xRm9udFN0eWxlcyxcbiAgICAuLi5sb25nZGl2U3R5bGVzLFxuICAgICcmIC5tcS1tYXRoLW1vZGUgLm1xLXNxcnQtcHJlZml4Jzoge1xuICAgICAgdG9wOiAnMCAhaW1wb3J0YW50JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtZW1wdHknOiB7XG4gICAgICBwYWRkaW5nOiAnOXB4IDFweCAhaW1wb3J0YW50JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtc3Vwc3ViJzoge1xuICAgICAgZm9udFNpemU6ICc3MC43JSAhaW1wb3J0YW50JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtc3FydC1zdGVtJzoge1xuICAgICAgbWFyZ2luVG9wOiAnLTVweCcsXG4gICAgICBwYWRkaW5nVG9wOiAnNHB4JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtcGFyZW4nOiB7XG4gICAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlICFpbXBvcnRhbnQnLFxuICAgIH0sXG5cbiAgICAnJiAubXEtbWF0aC1tb2RlIC5tcS1vdmVyYXJyb3cgLm1xLW92ZXJhcnJvdy1pbm5lciAubXEtZW1wdHknOiB7XG4gICAgICBwYWRkaW5nOiAnMCAhaW1wb3J0YW50JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtb3ZlcmxpbmUgLm1xLW92ZXJsaW5lLWlubmVyIC5tcS1lbXB0eSAnOiB7XG4gICAgICBwYWRkaW5nOiAnMCAhaW1wb3J0YW50JyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBjb21tb25NcUZvbnRTdHlsZXMsXG4gIGxvbmdkaXZTdHlsZXMsXG4gIHN1cHN1YlN0eWxlcyxcbiAgY29tbW9uTXFLZXlib2FyZFN0eWxlcyxcbn07XG4iXX0=
@@ -20,4 +20,4 @@ var registerLineBreak = function registerLineBreak(MQ) {
20
20
  };
21
21
 
22
22
  exports.registerLineBreak = registerLineBreak;
23
- //# sourceMappingURL=custom-elements.js.map
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tcS9jdXN0b20tZWxlbWVudHMuanMiXSwibmFtZXMiOlsicmVnaXN0ZXJMaW5lQnJlYWsiLCJNUSIsInJlZ2lzdGVyRW1iZWQiLCJodG1sU3RyaW5nIiwidGV4dCIsImxhdGV4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBTUEsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUFTQyxFQUFULEVBQWE7QUFDckNBLEVBQUFBLEVBQUUsQ0FBQ0MsYUFBSCxDQUFpQixTQUFqQixFQUE0QixZQUFNO0FBQ2hDLFdBQU87QUFDTEMsTUFBQUEsVUFBVSxFQUFFLDZCQURQO0FBRUxDLE1BQUFBLElBQUksRUFBRTtBQUFBLGVBQU0sVUFBTjtBQUFBLE9BRkQ7QUFHTEMsTUFBQUEsS0FBSyxFQUFFO0FBQUEsZUFBTSxvQkFBTjtBQUFBO0FBSEYsS0FBUDtBQUtELEdBTkQ7QUFPRCxDQVJEIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVnaXN0ZXJMaW5lQnJlYWsgPSBmdW5jdGlvbihNUSkge1xuICBNUS5yZWdpc3RlckVtYmVkKCduZXdMaW5lJywgKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBodG1sU3RyaW5nOiAnPGRpdiBjbGFzcz1cIm5ld0xpbmVcIj48L2Rpdj4nLFxuICAgICAgdGV4dDogKCkgPT4gJ3Rlc3RUZXh0JyxcbiAgICAgIGxhdGV4OiAoKSA9PiAnXFxcXGVtYmVke25ld0xpbmV9W10nLFxuICAgIH07XG4gIH0pO1xufTtcblxuZXhwb3J0IHsgcmVnaXN0ZXJMaW5lQnJlYWsgfTtcbiJdfQ==
package/lib/mq/index.js CHANGED
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ Object.defineProperty(exports, "CommonMqStyles", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _commonMqStyles["default"];
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "Input", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -21,4 +27,6 @@ Object.defineProperty(exports, "Static", {
21
27
  var _input = _interopRequireDefault(require("./input"));
22
28
 
23
29
  var _static = _interopRequireDefault(require("./static"));
24
- //# sourceMappingURL=index.js.map
30
+
31
+ var _commonMqStyles = _interopRequireDefault(require("./common-mq-styles"));
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tcS9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElucHV0IGZyb20gJy4vaW5wdXQnO1xuaW1wb3J0IFN0YXRpYyBmcm9tICcuL3N0YXRpYyc7XG5pbXBvcnQgQ29tbW9uTXFTdHlsZXMgZnJvbSAnLi9jb21tb24tbXEtc3R5bGVzJztcblxuZXhwb3J0IHsgSW5wdXQsIFN0YXRpYywgQ29tbW9uTXFTdHlsZXMgfTtcbiJdfQ==
package/lib/mq/input.js CHANGED
@@ -97,14 +97,17 @@ var Input = /*#__PURE__*/function (_React$Component) {
97
97
  }
98
98
 
99
99
  if (event.charCode === 13) {
100
- // if enter's pressed, we're going for a custom embedded element that'll
101
- // have a block display (empty div) - for a hacked line break using ccs
102
- // all because mathquill doesn't support a line break
103
- _this.write('\\embed{newLine}[]');
104
-
105
- _this.onInputEdit();
100
+ event.preventDefault();
101
+ return;
106
102
  }
107
103
  });
104
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (event) {
105
+ var onClick = _this.props.onClick;
106
+
107
+ _this.refresh();
108
+
109
+ onClick && onClick(event);
110
+ });
108
111
  return _this;
109
112
  }
110
113
 
@@ -136,7 +139,7 @@ var Input = /*#__PURE__*/function (_React$Component) {
136
139
 
137
140
  var latex = this.props.latex;
138
141
 
139
- if (latex) {
142
+ if (latex !== undefined && latex !== null) {
140
143
  this.mathField.latex(latex);
141
144
  }
142
145
  }
@@ -204,15 +207,14 @@ var Input = /*#__PURE__*/function (_React$Component) {
204
207
  var _this3 = this;
205
208
 
206
209
  var _this$props = this.props,
207
- onClick = _this$props.onClick,
208
210
  onFocus = _this$props.onFocus,
209
211
  onBlur = _this$props.onBlur,
210
212
  classes = _this$props.classes,
211
213
  className = _this$props.className;
212
214
  return /*#__PURE__*/_react["default"].createElement("span", {
213
215
  className: (0, _classnames["default"])(classes.input, className),
214
- onKeyPress: this.onKeyPress,
215
- onClick: onClick,
216
+ onKeyDown: this.onKeyPress,
217
+ onClick: this.onClick,
216
218
  onFocus: onFocus,
217
219
  onBlur: onBlur,
218
220
  ref: function ref(r) {
@@ -242,4 +244,4 @@ var styles = function styles() {
242
244
  var _default = (0, _styles.withStyles)(styles)(Input);
243
245
 
244
246
  exports["default"] = _default;
245
- //# sourceMappingURL=input.js.map
247
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tcS9pbnB1dC5qc3giXSwibmFtZXMiOlsiTVEiLCJ3aW5kb3ciLCJNYXRoUXVpbGwiLCJnZXRJbnRlcmZhY2UiLCJyZWdpc3RlckVtYmVkIiwibG9nIiwiSW5wdXQiLCJvbkNoYW5nZSIsInByb3BzIiwibWF0aEZpZWxkIiwibGF0ZXgiLCJibHVyIiwiZm9jdXMiLCJldmVudCIsImtleXMiLCJPYmplY3QiLCJfX2NvbnRyb2xsZXIiLCJvcHRpb25zIiwiaW5kZXhPZiIsInJlZnJlc2giLCJjaGFyQ29kZSIsInByZXZlbnREZWZhdWx0Iiwib25DbGljayIsIkVycm9yIiwiTWF0aEZpZWxkIiwiaW5wdXQiLCJoYW5kbGVycyIsImVkaXQiLCJvbklucHV0RWRpdCIsImJpbmQiLCJ1cGRhdGVMYXRleCIsInVuZGVmaW5lZCIsInYiLCJBcnJheSIsImlzQXJyYXkiLCJmb3JFYWNoIiwidnYiLCJjbWQiLCJrZXlzdHJva2UiLCJ3cml0ZSIsIm5leHRQcm9wcyIsIm9uRm9jdXMiLCJvbkJsdXIiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwib25LZXlQcmVzcyIsInIiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwic3R5bGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFJQSxFQUFKOztBQUNBLElBQUksT0FBT0MsTUFBUCxLQUFrQixXQUF0QixFQUFtQztBQUNqQ0QsRUFBQUEsRUFBRSxHQUFHRSxzQkFBVUMsWUFBVixDQUF1QixDQUF2QixDQUFMOztBQUVBLE1BQUlILEVBQUUsSUFBSUEsRUFBRSxDQUFDSSxhQUFiLEVBQTRCO0FBQzFCLDJDQUFrQkosRUFBbEI7QUFDRDtBQUNGOztBQUVELElBQU1LLEdBQUcsR0FBRyx1QkFBTSxxQkFBTixDQUFa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QUt2QixPQUhoQjtBQUlFLFFBQUEsT0FBTyxFQUFFbUIsT0FKWDtBQUtFLFFBQUEsTUFBTSxFQUFFQyxNQUxWO0FBTUUsUUFBQSxHQUFHLEVBQUUsYUFBQ0ksQ0FBRDtBQUFBLGlCQUFRLE1BQUksQ0FBQ3JCLEtBQUwsR0FBYXFCLENBQXJCO0FBQUE7QUFOUCxRQURGO0FBVUQ7OztFQXBKd0JDLGtCQUFNQyxTOzs7aUNBQXBCMUMsSyxlQUNRO0FBQ2pCc0MsRUFBQUEsU0FBUyxFQUFFSyxzQkFBVUMsTUFESjtBQUVqQlAsRUFBQUEsT0FBTyxFQUFFTSxzQkFBVUUsTUFBVixDQUFpQkMsVUFGVDtBQUdqQjlCLEVBQUFBLE9BQU8sRUFBRTJCLHNCQUFVSSxJQUhGO0FBSWpCOUMsRUFBQUEsUUFBUSxFQUFFMEMsc0JBQVVJLElBSkg7QUFLakIzQyxFQUFBQSxLQUFLLEVBQUV1QyxzQkFBVUMsTUFMQTtBQU1qQlQsRUFBQUEsT0FBTyxFQUFFUSxzQkFBVUksSUFORjtBQU9qQlgsRUFBQUEsTUFBTSxFQUFFTyxzQkFBVUk7QUFQRCxDOztBQXNKckIsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQVM7QUFBQSxTQUFPLEVBQVA7QUFBQSxDQUFmOztlQUVlLHdCQUFXQSxNQUFYLEVBQW1CaEQsS0FBbkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyByZWdpc3RlckxpbmVCcmVhayB9IGZyb20gJy4vY3VzdG9tLWVsZW1lbnRzJztcbmltcG9ydCBNYXRoUXVpbGwgZnJvbSAnQHBpZS1mcmFtZXdvcmsvbWF0aHF1aWxsJztcblxubGV0IE1RO1xuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIE1RID0gTWF0aFF1aWxsLmdldEludGVyZmFjZSgyKTtcblxuICBpZiAoTVEgJiYgTVEucmVnaXN0ZXJFbWJlZCkge1xuICAgIHJlZ2lzdGVyTGluZUJyZWFrKE1RKTtcbiAgfVxufVxuXG5jb25zdCBsb2cgPSBkZWJ1ZygnbWF0aC1pbnB1dDptcTppbnB1dCcpO1xuXG4vKipcbiAqIFdyYXBwZXIgZm9yIE1hdGhRdWlsbCBNUS5NYXRoRmllbGQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnB1dCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbGF0ZXg6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Gb2N1czogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25CbHVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBpZiAoIU1RKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01RIGlzIG5vdCBkZWZpbmVkIC0gYnV0IGNvbXBvbmVudCBoYXMgbW91bnRlZD8nKTtcbiAgICB9XG5cbiAgICB0aGlzLm1hdGhGaWVsZCA9IE1RLk1hdGhGaWVsZCh0aGlzLmlucHV0LCB7XG4gICAgICBoYW5kbGVyczoge1xuICAgICAgICBlZGl0OiB0aGlzLm9uSW5wdXRFZGl0LmJpbmQodGhpcyksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVMYXRleCgpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIHRoaXMudXBkYXRlTGF0ZXgoKTtcbiAgfVxuXG4gIHVwZGF0ZUxhdGV4KCkge1xuICAgIGlmICghdGhpcy5tYXRoRmllbGQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGxhdGV4IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGxhdGV4ICE9PSB1bmRlZmluZWQgJiYgbGF0ZXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMubWF0aEZpZWxkLmxhdGV4KGxhdGV4KTtcbiAgICB9XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICB0aGlzLm1hdGhGaWVsZC5sYXRleCgnJyk7XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBibHVyKCkge1xuICAgIGxvZygnYmx1ciBtYXRoZmllbGQnKTtcbiAgICB0aGlzLm1hdGhGaWVsZC5ibHVyKCk7XG4gIH1cblxuICBmb2N1cygpIHtcbiAgICBsb2coJ2ZvY3VzIG1hdGhmaWVsZC4uLicpO1xuICAgIHRoaXMubWF0aEZpZWxkLmZvY3VzKCk7XG4gIH1cblxuICBjb21tYW5kKHYpIHtcbiAgICBsb2coJ2NvbW1hbmQ6ICcsIHYpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHYpKSB7XG4gICAgICB2LmZvckVhY2goKHZ2KSA9PiB7XG4gICAgICAgIHRoaXMubWF0aEZpZWxkLmNtZCh2dik7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXRoRmllbGQuY21kKHYpO1xuICAgIH1cblxuICAgIHRoaXMubWF0aEZpZWxkLmZvY3VzKCk7XG5cbiAgICByZXR1cm4gdGhpcy5tYXRoRmllbGQubGF0ZXgoKTtcbiAgfVxuXG4gIGtleXN0cm9rZSh2KSB7XG4gICAgdGhpcy5tYXRoRmllbGQua2V5c3Ryb2tlKHYpO1xuICAgIHRoaXMubWF0aEZpZWxkLmZvY3VzKCk7XG5cbiAgICByZXR1cm4gdGhpcy5tYXRoRmllbGQubGF0ZXgoKTtcbiAgfVxuXG4gIHdyaXRlKHYpIHtcbiAgICBsb2coJ3dyaXRlOiAnLCB2KTtcbiAgICB0aGlzLm1hdGhGaWVsZC53cml0ZSh2KTtcbiAgICB0aGlzLm1hdGhGaWVsZC5mb2N1cygpO1xuXG4gICAgcmV0dXJuIHRoaXMubWF0aEZpZWxkLmxhdGV4KCk7XG4gIH1cblxuICBvbklucHV0RWRpdCA9ICgpID0+IHtcbiAgICBsb2coJ1tvbklucHV0RWRpdF0gLi4uJyk7XG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghdGhpcy5tYXRoRmllbGQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgIG9uQ2hhbmdlKHRoaXMubWF0aEZpZWxkLmxhdGV4KCkpO1xuICAgIH1cbiAgfTtcblxuICByZWZyZXNoID0gKCkgPT4ge1xuICAgIHRoaXMuYmx1cigpO1xuICAgIHRoaXMuZm9jdXMoKTtcbiAgfTtcblxuICBvbktleVByZXNzID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRoaXMubWF0aEZpZWxkLl9fY29udHJvbGxlci5vcHRpb25zKTtcblxuICAgIGlmIChrZXlzLmluZGV4T2YoJ2lnbm9yZU5leHRNb3VzZWRvd24nKSA8IDApIHtcbiAgICAgIC8vIEl0IHNlZW1zIGxpa2UgdGhlIGNvbnRyb2xsZXIgaGFzIHRoZSBhYm92ZSBoYW5kbGVyIGFzIGFuIG9wdGlvblxuICAgICAgLy8gd2hlbiBhbGwgdGhlIHJpZ2h0IGV2ZW50cyBhcmUgc2V0IGFuZCBldmVyeXRoaW5nIHdvcmtzIGZpbmVcbiAgICAgIC8vIHRoaXMgc2VlbXMgdG8gd29yayBpbiBhbGwgY2FzZXNcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cblxuICAgIGlmIChldmVudC5jaGFyQ29kZSA9PT0gMTMpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9O1xuXG4gIG9uQ2xpY2sgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB7IG9uQ2xpY2sgfSA9IHRoaXMucHJvcHM7XG5cbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgICBvbkNsaWNrICYmIG9uQ2xpY2soZXZlbnQpO1xuICB9O1xuXG4gIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICBsb2coJ25leHQ6ICcsIG5leHRQcm9wcy5sYXRleCk7XG4gICAgbG9nKCdjdXJyZW50OiAnLCB0aGlzLm1hdGhGaWVsZC5sYXRleCgpKTtcblxuICAgIHJldHVybiBuZXh0UHJvcHMubGF0ZXggIT09IHRoaXMubWF0aEZpZWxkLmxhdGV4KCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBvbkZvY3VzLCBvbkJsdXIsIGNsYXNzZXMsIGNsYXNzTmFtZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8c3BhblxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5pbnB1dCwgY2xhc3NOYW1lKX1cbiAgICAgICAgb25LZXlEb3duPXt0aGlzLm9uS2V5UHJlc3N9XG4gICAgICAgIG9uQ2xpY2s9e3RoaXMub25DbGlja31cbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgIHJlZj17KHIpID0+ICh0aGlzLmlucHV0ID0gcil9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cblxuY29uc3Qgc3R5bGVzID0gKCkgPT4gKHt9KTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZXMpKElucHV0KTtcbiJdfQ==