@pie-lib/math-toolbar 2.0.0-beta.3 → 2.1.0-next.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.
@@ -5,209 +5,189 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = exports.RawMathPreview = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
14
  var _react = _interopRequireDefault(require("react"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _get = _interopRequireDefault(require("lodash/get"));
12
15
  var _debug = _interopRequireDefault(require("debug"));
13
- var _styles = require("@material-ui/styles");
16
+ var _styles = require("@mui/material/styles");
14
17
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
18
  var _mathInput = require("@pie-lib/math-input");
19
+ var _utils = require("./utils");
20
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ 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; }
23
+ 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; }
24
+ var _mq$CommonMqStyles = _mathInput.mq.CommonMqStyles,
25
+ commonMqFontStyles = _mq$CommonMqStyles.commonMqFontStyles,
26
+ longdivStyles = _mq$CommonMqStyles.longdivStyles,
27
+ supsubStyles = _mq$CommonMqStyles.supsubStyles;
16
28
  var log = (0, _debug["default"])('@pie-lib:math-toolbar:math-preview');
17
- var useStyles = (0, _styles.makeStyles)(function (theme) {
18
- return {
19
- root: {
20
- display: 'inline-flex',
21
- alignItems: 'center',
22
- position: 'relative',
29
+ var MathPreviewContainer = (0, _styles.styled)('div')(function (_ref) {
30
+ var theme = _ref.theme,
31
+ isSelected = _ref.isSelected;
32
+ return _objectSpread(_objectSpread(_objectSpread({
33
+ display: 'inline-flex',
34
+ alignItems: 'center',
35
+ position: 'relative',
36
+ '& *': commonMqFontStyles
37
+ }, supsubStyles), longdivStyles), {}, {
38
+ '& > .mq-math-mode': {
39
+ border: isSelected ? 'solid 0px lightgrey' : 'solid 1px lightgrey'
40
+ },
41
+ '& > .mq-focused': {
42
+ outline: 'none',
43
+ boxShadow: 'none',
44
+ border: 'solid 1px black',
45
+ borderRadius: '0px'
46
+ },
47
+ '& > .mq-math-mode .mq-root-block': {
48
+ paddingTop: '7px !important'
49
+ },
50
+ '& > .mq-math-mode .mq-overarc ': {
51
+ paddingTop: '0.45em !important'
52
+ },
53
+ '& > .mq-math-mode .mq-sqrt-prefix': {
54
+ verticalAlign: 'baseline !important',
55
+ top: '1px !important',
56
+ left: '-0.1em !important'
57
+ },
58
+ '& > .mq-math-mode .mq-denominator': {
59
+ marginTop: '-5px !important',
60
+ padding: '0.5em 0.1em 0.1em !important'
61
+ },
62
+ '& > .mq-math-mode .mq-numerator, .mq-math-mode .mq-over': {
63
+ padding: '0 0.1em !important',
64
+ paddingBottom: '0 !important',
65
+ marginBottom: '-2px'
66
+ },
67
+ '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner .mq-empty': {
68
+ paddingTop: '6px !important',
69
+ paddingLeft: '4px !important'
70
+ },
71
+ '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner': {
72
+ marginLeft: '0 !important'
73
+ },
74
+ '& > .mq-math-mode .mq-overarrow': {
75
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
76
+ },
77
+ '& > .mq-math-mode .mq-paren': {
78
+ verticalAlign: 'top !important',
79
+ padding: '1px 0.1em !important'
80
+ },
81
+ '& > .mq-math-mode .mq-sqrt-stem': {
82
+ borderTop: '0.07em solid',
83
+ marginLeft: '-1.5px',
84
+ marginTop: '-2px !important',
85
+ paddingTop: '5px !important'
86
+ },
87
+ '& .mq-overarrow-inner': {
88
+ paddingTop: '0 !important',
89
+ border: 'none !important'
90
+ },
91
+ '& .mq-editable-field .mq-cursor': {
92
+ marginTop: '-15px !important'
93
+ },
94
+ '& .mq-overarrow.mq-arrow-both': {
95
+ top: '7.5px',
96
+ marginTop: '0px',
97
+ minWidth: '1.23em',
23
98
  '& *': {
24
- fontFamily: 'MJXZERO, MJXTEX !important',
25
- '-webkit-font-smoothing': 'antialiased !important'
26
- },
27
- '& > .mq-math-mode > span > var': {
28
- fontFamily: 'MJXZERO, MJXTEX-I !important'
29
- },
30
- '& > .mq-math-mode span var': {
31
- fontFamily: 'MJXZERO, MJXTEX-I !important'
32
- },
33
- '& > .mq-math-mode .mq-nonSymbola': {
34
- fontFamily: 'MJXZERO, MJXTEX-I !important'
35
- },
36
- '& > .mq-math-mode > span > var.mq-operator-name': {
37
- fontFamily: 'MJXZERO, MJXTEX !important'
38
- },
39
- '& > .mq-math-mode': {
40
- border: 'solid 1px lightgrey'
41
- },
42
- '& > .mq-focused': {
43
- outline: 'none',
44
- boxShadow: 'none',
45
- border: 'solid 1px black',
46
- borderRadius: '0px'
47
- },
48
- '& > .mq-math-mode .mq-root-block': {
49
- paddingTop: '7px !important'
50
- },
51
- '& > .mq-math-mode .mq-overarc ': {
52
- paddingTop: '0.45em !important'
53
- },
54
- '& > .mq-math-mode .mq-sqrt-prefix': {
55
- verticalAlign: 'baseline !important',
56
- top: '1px !important',
57
- left: '-0.1em !important'
58
- },
59
- '& > .mq-math-mode .mq-denominator': {
60
- marginTop: '-5px !important',
61
- padding: '0.5em 0.1em 0.1em !important'
62
- },
63
- '& > .mq-math-mode .mq-numerator, .mq-math-mode .mq-over': {
64
- padding: '0 0.1em !important',
65
- paddingBottom: '0 !important',
66
- marginBottom: '-2px'
99
+ lineHeight: '1 !important'
67
100
  },
68
- '& > .mq-math-mode sup.mq-nthroot': {
69
- fontSize: '70.7% !important',
70
- verticalAlign: '0.5em !important',
71
- paddingRight: '0.15em'
101
+ '&:before': {
102
+ top: '-0.4em',
103
+ left: '-1px'
72
104
  },
73
- '& > .mq-longdiv-inner': {
74
- marginTop: '-1px',
75
- marginLeft: '5px !important;',
76
- '& > .mq-empty': {
77
- padding: '0 !important',
78
- marginLeft: '0px !important',
79
- marginTop: '2px'
80
- }
105
+ '&:after': {
106
+ top: '0px !important',
107
+ position: 'absolute !important',
108
+ right: '-2px'
81
109
  },
82
- '& > .mq-math-mode .mq-longdiv': {
83
- display: 'inline-flex !important'
84
- },
85
- '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner .mq-empty': {
86
- paddingTop: '6px !important',
87
- paddingLeft: '4px !important'
88
- },
89
- '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner': {
90
- marginLeft: '0 !important'
91
- },
92
- '& > .mq-math-mode .mq-supsub': {
93
- fontSize: '70.7% !important'
94
- },
95
- '& > .mq-math-mode .mq-overarrow': {
96
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
97
- },
98
- '& > .mq-math-mode .mq-paren': {
99
- verticalAlign: 'top !important',
100
- padding: '1px 0.1em !important'
101
- },
102
- '& > .mq-math-mode .mq-sqrt-stem': {
103
- borderTop: '0.07em solid',
104
- marginLeft: '-1.5px',
105
- marginTop: '-2px !important',
106
- paddingTop: '5px !important'
107
- },
108
- '& > .mq-supsub ': {
109
- fontSize: '70.7%'
110
- },
111
- '& > .mq-math-mode .mq-supsub.mq-sup-only': {
112
- verticalAlign: '-0.1em !important',
113
- '& .mq-sup': {
114
- marginBottom: '0px !important'
115
- }
116
- },
117
- '& .mq-overarrow-inner': {
118
- paddingTop: '0 !important',
119
- border: 'none !important'
120
- },
121
- '& .mq-editable-field .mq-cursor': {
122
- marginTop: '-15px !important'
123
- },
124
- '& .mq-overarrow.mq-arrow-both': {
125
- top: '7.5px',
126
- marginTop: '0px',
127
- minWidth: '1.23em',
128
- '& *': {
129
- lineHeight: '1 !important'
130
- },
131
- '&:before': {
132
- top: '-0.4em',
133
- left: '-1px'
134
- },
135
- '&:after': {
136
- top: '0px !important',
137
- position: 'absolute',
138
- right: '-2px'
139
- },
140
- '&.mq-empty:after': {
141
- top: '-0.45em'
142
- }
143
- },
144
- '& .mq-overarrow.mq-arrow-right': {
145
- '&:before': {
146
- top: '-0.4em',
147
- right: '-1px'
148
- }
149
- },
150
- '& .mq-overarrow-inner-right': {
151
- display: 'none !important'
152
- },
153
- '& .mq-overarrow-inner-left': {
154
- display: 'none !important'
155
- },
156
- '& .mq-longdiv-inner': {
157
- borderTop: '1px solid !important',
158
- paddingTop: '1.5px !important'
159
- },
160
- '& .mq-parallelogram': {
161
- lineHeight: 0.85
110
+ '&.mq-empty:after': {
111
+ top: '-0.45em'
162
112
  }
163
113
  },
164
- selected: {
165
- border: "solid 1px ".concat((0, _get["default"])(theme, 'palette.primary.main')),
166
- '& > .mq-math-mode': {
167
- border: 'solid 0px lightgrey'
114
+ '& .mq-overarrow.mq-arrow-right': {
115
+ '&:before': {
116
+ top: '-0.4em',
117
+ right: '-1px'
168
118
  }
169
119
  },
170
- insideOverlay: {
171
- position: 'absolute',
172
- bottom: 0,
173
- left: 0,
174
- right: 0,
175
- top: 0
120
+ '& .mq-overarrow-inner-right': {
121
+ display: 'none !important'
122
+ },
123
+ '& .mq-overarrow-inner-left': {
124
+ display: 'none !important'
125
+ },
126
+ '& .mq-longdiv-inner': {
127
+ borderTop: '1px solid !important',
128
+ paddingTop: '1.5px !important'
129
+ },
130
+ '& .mq-parallelogram': {
131
+ lineHeight: 0.85
132
+ },
133
+ '& span[data-prime="true"]': {
134
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
176
135
  }
177
- };
136
+ }, isSelected && {
137
+ border: "solid 1px ".concat(theme.palette.primary.main)
138
+ });
178
139
  });
179
- var RawMathPreview = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
180
- log('[render] data: ', props.element.data);
181
- var latex = props.element.data.latex;
182
- var isSelected = props.isSelected,
183
- onFocus = props.onFocus,
184
- onBlur = props.onBlur,
185
- attributes = props.attributes,
186
- children = props.children;
187
- var classes = useStyles(props);
188
- return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
189
- className: (0, _classnames["default"])(classes.root, isSelected && classes.selected)
190
- }, attributes, {
191
- contentEditable: false,
192
- ref: ref
193
- }), children, " ", /*#__PURE__*/_react["default"].createElement("span", {
194
- className: classes.insideOverlay
195
- }), /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Static, {
196
- latex: latex,
197
- onFocus: onFocus,
198
- onBlur: onBlur
199
- }));
140
+ var InsideOverlay = (0, _styles.styled)('span')({
141
+ position: 'absolute',
142
+ bottom: 0,
143
+ left: 0,
144
+ right: 0,
145
+ top: 0
200
146
  });
201
- exports.RawMathPreview = RawMathPreview;
202
- RawMathPreview.propTypes = {
203
- element: _propTypes["default"].object,
147
+ var RawMathPreview = exports.RawMathPreview = /*#__PURE__*/function (_React$Component) {
148
+ function RawMathPreview() {
149
+ (0, _classCallCheck2["default"])(this, RawMathPreview);
150
+ return _callSuper(this, RawMathPreview, arguments);
151
+ }
152
+ (0, _inherits2["default"])(RawMathPreview, _React$Component);
153
+ return (0, _createClass2["default"])(RawMathPreview, [{
154
+ key: "componentDidMount",
155
+ value: function componentDidMount() {
156
+ (0, _utils.markFractionBaseSuperscripts)();
157
+ }
158
+ }, {
159
+ key: "componentDidUpdate",
160
+ value: function componentDidUpdate(prevProps) {
161
+ // Re-run only if LaTeX changed
162
+ if (this.props.node.data.get('latex') !== prevProps.node.data.get('latex')) {
163
+ (0, _utils.markFractionBaseSuperscripts)();
164
+ }
165
+ }
166
+ }, {
167
+ key: "render",
168
+ value: function render() {
169
+ log('[render] data: ', this.props.node.data);
170
+ var latex = this.props.node.data.get('latex');
171
+ var _this$props = this.props,
172
+ isSelected = _this$props.isSelected,
173
+ onFocus = _this$props.onFocus,
174
+ onBlur = _this$props.onBlur;
175
+ return /*#__PURE__*/_react["default"].createElement(MathPreviewContainer, {
176
+ isSelected: isSelected
177
+ }, ' ', /*#__PURE__*/_react["default"].createElement(InsideOverlay, null), /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Static, {
178
+ latex: latex,
179
+ onFocus: onFocus,
180
+ onBlur: onBlur
181
+ }));
182
+ }
183
+ }]);
184
+ }(_react["default"].Component);
185
+ (0, _defineProperty2["default"])(RawMathPreview, "propTypes", {
204
186
  latex: _propTypes["default"].string,
205
187
  node: _propTypes["default"].object,
206
- classes: _propTypes["default"].object,
207
188
  isSelected: _propTypes["default"].bool,
208
189
  onFocus: _propTypes["default"].func,
209
190
  onBlur: _propTypes["default"].func
210
- };
211
- var _default = RawMathPreview;
212
- exports["default"] = _default;
213
- //# sourceMappingURL=math-preview.js.map
191
+ });
192
+ var _default = exports["default"] = RawMathPreview;
193
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kZWJ1ZyIsIl9zdHlsZXMiLCJfcHJvcFR5cGVzIiwiX21hdGhJbnB1dCIsIl91dGlscyIsIl9jYWxsU3VwZXIiLCJ0IiwibyIsImUiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwib3duS2V5cyIsInIiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX21xJENvbW1vbk1xU3R5bGVzIiwibXEiLCJDb21tb25NcVN0eWxlcyIsImNvbW1vbk1xRm9udFN0eWxlcyIsImxvbmdkaXZTdHlsZXMiLCJzdXBzdWJTdHlsZXMiLCJsb2ciLCJkZWJ1ZyIsIk1hdGhQcmV2aWV3Q29udGFpbmVyIiwic3R5bGVkIiwiX3JlZiIsInRoZW1lIiwiaXNTZWxlY3RlZCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwicG9zaXRpb24iLCJib3JkZXIiLCJvdXRsaW5lIiwiYm94U2hhZG93IiwiYm9yZGVyUmFkaXVzIiwicGFkZGluZ1RvcCIsInZlcnRpY2FsQWxpZ24iLCJ0b3AiLCJsZWZ0IiwibWFyZ2luVG9wIiwicGFkZGluZyIsInBhZGRpbmdCb3R0b20iLCJtYXJnaW5Cb3R0b20iLCJwYWRkaW5nTGVmdCIsIm1hcmdpbkxlZnQiLCJmb250RmFtaWx5IiwiYm9yZGVyVG9wIiwibWluV2lkdGgiLCJsaW5lSGVpZ2h0IiwicmlnaHQiLCJjb25jYXQiLCJwYWxldHRlIiwicHJpbWFyeSIsIm1haW4iLCJJbnNpZGVPdmVybGF5IiwiYm90dG9tIiwiUmF3TWF0aFByZXZpZXciLCJleHBvcnRzIiwiX1JlYWN0JENvbXBvbmVudCIsIl9jbGFzc0NhbGxDaGVjazIiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwiY29tcG9uZW50RGlkTW91bnQiLCJtYXJrRnJhY3Rpb25CYXNlU3VwZXJzY3JpcHRzIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwicHJvcHMiLCJub2RlIiwiZGF0YSIsImdldCIsInJlbmRlciIsImxhdGV4IiwiX3RoaXMkcHJvcHMiLCJvbkZvY3VzIiwib25CbHVyIiwiY3JlYXRlRWxlbWVudCIsIlN0YXRpYyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib2JqZWN0IiwiYm9vbCIsImZ1bmMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXRoLXByZXZpZXcuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IG1xIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1pbnB1dCc7XG5pbXBvcnQgeyBtYXJrRnJhY3Rpb25CYXNlU3VwZXJzY3JpcHRzIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IHsgY29tbW9uTXFGb250U3R5bGVzLCBsb25nZGl2U3R5bGVzLCBzdXBzdWJTdHlsZXMgfSA9IG1xLkNvbW1vbk1xU3R5bGVzO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6bWF0aC10b29sYmFyOm1hdGgtcHJldmlldycpO1xuXG5jb25zdCBNYXRoUHJldmlld0NvbnRhaW5lciA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUsIGlzU2VsZWN0ZWQgfSkgPT4gKHtcbiAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAnJiAqJzogY29tbW9uTXFGb250U3R5bGVzLFxuICAuLi5zdXBzdWJTdHlsZXMsXG4gIC4uLmxvbmdkaXZTdHlsZXMsXG4gICcmID4gLm1xLW1hdGgtbW9kZSc6IHtcbiAgICBib3JkZXI6IGlzU2VsZWN0ZWQgPyAnc29saWQgMHB4IGxpZ2h0Z3JleScgOiAnc29saWQgMXB4IGxpZ2h0Z3JleScsXG4gIH0sXG4gICcmID4gLm1xLWZvY3VzZWQnOiB7XG4gICAgb3V0bGluZTogJ25vbmUnLFxuICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgIGJvcmRlcjogJ3NvbGlkIDFweCBibGFjaycsXG4gICAgYm9yZGVyUmFkaXVzOiAnMHB4JyxcbiAgfSxcbiAgJyYgPiAubXEtbWF0aC1tb2RlIC5tcS1yb290LWJsb2NrJzoge1xuICAgIHBhZGRpbmdUb3A6ICc3cHggIWltcG9ydGFudCcsXG4gIH0sXG4gICcmID4gLm1xLW1hdGgtbW9kZSAubXEtb3ZlcmFyYyAnOiB7XG4gICAgcGFkZGluZ1RvcDogJzAuNDVlbSAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYgPiAubXEtbWF0aC1tb2RlIC5tcS1zcXJ0LXByZWZpeCc6IHtcbiAgICB2ZXJ0aWNhbEFsaWduOiAnYmFzZWxpbmUgIWltcG9ydGFudCcsXG4gICAgdG9wOiAnMXB4ICFpbXBvcnRhbnQnLFxuICAgIGxlZnQ6ICctMC4xZW0gIWltcG9ydGFudCcsXG4gIH0sXG4gICcmID4gLm1xLW1hdGgtbW9kZSAubXEtZGVub21pbmF0b3InOiB7XG4gICAgbWFyZ2luVG9wOiAnLTVweCAhaW1wb3J0YW50JyxcbiAgICBwYWRkaW5nOiAnMC41ZW0gMC4xZW0gMC4xZW0gIWltcG9ydGFudCcsXG4gIH0sXG4gICcmID4gLm1xLW1hdGgtbW9kZSAubXEtbnVtZXJhdG9yLCAubXEtbWF0aC1tb2RlIC5tcS1vdmVyJzoge1xuICAgIHBhZGRpbmc6ICcwIDAuMWVtICFpbXBvcnRhbnQnLFxuICAgIHBhZGRpbmdCb3R0b206ICcwICFpbXBvcnRhbnQnLFxuICAgIG1hcmdpbkJvdHRvbTogJy0ycHgnLFxuICB9LFxuICAnJiA+IC5tcS1tYXRoLW1vZGUgLm1xLWxvbmdkaXYgLm1xLWxvbmdkaXYtaW5uZXIgLm1xLWVtcHR5Jzoge1xuICAgIHBhZGRpbmdUb3A6ICc2cHggIWltcG9ydGFudCcsXG4gICAgcGFkZGluZ0xlZnQ6ICc0cHggIWltcG9ydGFudCcsXG4gIH0sXG4gICcmID4gLm1xLW1hdGgtbW9kZSAubXEtbG9uZ2RpdiAubXEtbG9uZ2Rpdi1pbm5lcic6IHtcbiAgICBtYXJnaW5MZWZ0OiAnMCAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYgPiAubXEtbWF0aC1tb2RlIC5tcS1vdmVyYXJyb3cnOiB7XG4gICAgZm9udEZhbWlseTogJ1JvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYgPiAubXEtbWF0aC1tb2RlIC5tcS1wYXJlbic6IHtcbiAgICB2ZXJ0aWNhbEFsaWduOiAndG9wICFpbXBvcnRhbnQnLFxuICAgIHBhZGRpbmc6ICcxcHggMC4xZW0gIWltcG9ydGFudCcsXG4gIH0sXG4gICcmID4gLm1xLW1hdGgtbW9kZSAubXEtc3FydC1zdGVtJzoge1xuICAgIGJvcmRlclRvcDogJzAuMDdlbSBzb2xpZCcsXG4gICAgbWFyZ2luTGVmdDogJy0xLjVweCcsXG4gICAgbWFyZ2luVG9wOiAnLTJweCAhaW1wb3J0YW50JyxcbiAgICBwYWRkaW5nVG9wOiAnNXB4ICFpbXBvcnRhbnQnLFxuICB9LFxuICAnJiAubXEtb3ZlcmFycm93LWlubmVyJzoge1xuICAgIHBhZGRpbmdUb3A6ICcwICFpbXBvcnRhbnQnLFxuICAgIGJvcmRlcjogJ25vbmUgIWltcG9ydGFudCcsXG4gIH0sXG4gICcmIC5tcS1lZGl0YWJsZS1maWVsZCAubXEtY3Vyc29yJzoge1xuICAgIG1hcmdpblRvcDogJy0xNXB4ICFpbXBvcnRhbnQnLFxuICB9LFxuICAnJiAubXEtb3ZlcmFycm93Lm1xLWFycm93LWJvdGgnOiB7XG4gICAgdG9wOiAnNy41cHgnLFxuICAgIG1hcmdpblRvcDogJzBweCcsXG4gICAgbWluV2lkdGg6ICcxLjIzZW0nLFxuICAgICcmIConOiB7XG4gICAgICBsaW5lSGVpZ2h0OiAnMSAhaW1wb3J0YW50JyxcbiAgICB9LFxuICAgICcmOmJlZm9yZSc6IHtcbiAgICAgIHRvcDogJy0wLjRlbScsXG4gICAgICBsZWZ0OiAnLTFweCcsXG4gICAgfSxcbiAgICAnJjphZnRlcic6IHtcbiAgICAgIHRvcDogJzBweCAhaW1wb3J0YW50JyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUgIWltcG9ydGFudCcsXG4gICAgICByaWdodDogJy0ycHgnLFxuICAgIH0sXG4gICAgJyYubXEtZW1wdHk6YWZ0ZXInOiB7XG4gICAgICB0b3A6ICctMC40NWVtJyxcbiAgICB9LFxuICB9LFxuICAnJiAubXEtb3ZlcmFycm93Lm1xLWFycm93LXJpZ2h0Jzoge1xuICAgICcmOmJlZm9yZSc6IHtcbiAgICAgIHRvcDogJy0wLjRlbScsXG4gICAgICByaWdodDogJy0xcHgnLFxuICAgIH0sXG4gIH0sXG4gICcmIC5tcS1vdmVyYXJyb3ctaW5uZXItcmlnaHQnOiB7XG4gICAgZGlzcGxheTogJ25vbmUgIWltcG9ydGFudCcsXG4gIH0sXG4gICcmIC5tcS1vdmVyYXJyb3ctaW5uZXItbGVmdCc6IHtcbiAgICBkaXNwbGF5OiAnbm9uZSAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYgLm1xLWxvbmdkaXYtaW5uZXInOiB7XG4gICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkICFpbXBvcnRhbnQnLFxuICAgIHBhZGRpbmdUb3A6ICcxLjVweCAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYgLm1xLXBhcmFsbGVsb2dyYW0nOiB7XG4gICAgbGluZUhlaWdodDogMC44NSxcbiAgfSxcbiAgJyYgc3BhbltkYXRhLXByaW1lPVwidHJ1ZVwiXSc6IHtcbiAgICBmb250RmFtaWx5OiAnUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQnLFxuICB9LFxuICAuLi4oaXNTZWxlY3RlZCAmJiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCxcbiAgfSksXG59KSk7XG5cbmNvbnN0IEluc2lkZU92ZXJsYXkgPSBzdHlsZWQoJ3NwYW4nKSh7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICBib3R0b206IDAsXG4gIGxlZnQ6IDAsXG4gIHJpZ2h0OiAwLFxuICB0b3A6IDAsXG59KTtcblxuZXhwb3J0IGNsYXNzIFJhd01hdGhQcmV2aWV3IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBsYXRleDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBub2RlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGlzU2VsZWN0ZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQmx1cjogUHJvcFR5cGVzLmZ1bmMsXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgbWFya0ZyYWN0aW9uQmFzZVN1cGVyc2NyaXB0cygpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIC8vIFJlLXJ1biBvbmx5IGlmIExhVGVYIGNoYW5nZWRcbiAgICBpZiAodGhpcy5wcm9wcy5ub2RlLmRhdGEuZ2V0KCdsYXRleCcpICE9PSBwcmV2UHJvcHMubm9kZS5kYXRhLmdldCgnbGF0ZXgnKSkge1xuICAgICAgbWFya0ZyYWN0aW9uQmFzZVN1cGVyc2NyaXB0cygpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBsb2coJ1tyZW5kZXJdIGRhdGE6ICcsIHRoaXMucHJvcHMubm9kZS5kYXRhKTtcbiAgICBjb25zdCBsYXRleCA9IHRoaXMucHJvcHMubm9kZS5kYXRhLmdldCgnbGF0ZXgnKTtcbiAgICBjb25zdCB7IGlzU2VsZWN0ZWQsIG9uRm9jdXMsIG9uQmx1ciB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPE1hdGhQcmV2aWV3Q29udGFpbmVyIGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9PlxuICAgICAgICB7JyAnfVxuICAgICAgICA8SW5zaWRlT3ZlcmxheSAvPlxuICAgICAgICA8bXEuU3RhdGljIGxhdGV4PXtsYXRleH0gb25Gb2N1cz17b25Gb2N1c30gb25CbHVyPXtvbkJsdXJ9IC8+XG4gICAgICA8L01hdGhQcmV2aWV3Q29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUmF3TWF0aFByZXZpZXc7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFBdUQsU0FBQU0sV0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsV0FBQUQsQ0FBQSxPQUFBRSxnQkFBQSxhQUFBRixDQUFBLE9BQUFHLDJCQUFBLGFBQUFKLENBQUEsRUFBQUsseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFOLENBQUEsRUFBQUMsQ0FBQSxZQUFBQyxnQkFBQSxhQUFBSCxDQUFBLEVBQUFRLFdBQUEsSUFBQVAs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
@@ -1 +1 @@
1
- {"version":3,"file":"math-preview.js","names":["_react","_interopRequireDefault","require","_classnames","_get","_debug","_styles","_propTypes","_mathInput","log","debug","useStyles","makeStyles","theme","root","display","alignItems","position","fontFamily","border","outline","boxShadow","borderRadius","paddingTop","verticalAlign","top","left","marginTop","padding","paddingBottom","marginBottom","fontSize","paddingRight","marginLeft","paddingLeft","borderTop","minWidth","lineHeight","right","selected","concat","get","insideOverlay","bottom","RawMathPreview","React","forwardRef","props","ref","element","data","latex","isSelected","onFocus","onBlur","attributes","children","classes","createElement","_extends2","className","classNames","contentEditable","mq","Static","exports","propTypes","PropTypes","object","string","node","bool","func","_default"],"sources":["../src/math-preview.jsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport get from 'lodash/get';\nimport debug from 'debug';\nimport { makeStyles } from '@material-ui/styles';\nimport PropTypes from 'prop-types';\nimport { mq } from '@pie-lib/math-input';\n\nconst log = debug('@pie-lib:math-toolbar:math-preview');\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n position: 'relative',\n '& *': {\n fontFamily: 'MJXZERO, MJXTEX !important',\n '-webkit-font-smoothing': 'antialiased !important',\n },\n '& > .mq-math-mode > span > var': {\n fontFamily: 'MJXZERO, MJXTEX-I !important',\n },\n '& > .mq-math-mode span var': {\n fontFamily: 'MJXZERO, MJXTEX-I !important',\n },\n '& > .mq-math-mode .mq-nonSymbola': {\n fontFamily: 'MJXZERO, MJXTEX-I !important',\n },\n '& > .mq-math-mode > span > var.mq-operator-name': {\n fontFamily: 'MJXZERO, MJXTEX !important',\n },\n '& > .mq-math-mode': {\n border: 'solid 1px lightgrey',\n },\n '& > .mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: 'solid 1px black',\n borderRadius: '0px',\n },\n '& > .mq-math-mode .mq-root-block': {\n paddingTop: '7px !important',\n },\n '& > .mq-math-mode .mq-overarc ': {\n paddingTop: '0.45em !important',\n },\n '& > .mq-math-mode .mq-sqrt-prefix': {\n verticalAlign: 'baseline !important',\n top: '1px !important',\n left: '-0.1em !important',\n },\n '& > .mq-math-mode .mq-denominator': {\n marginTop: '-5px !important',\n padding: '0.5em 0.1em 0.1em !important',\n },\n '& > .mq-math-mode .mq-numerator, .mq-math-mode .mq-over': {\n padding: '0 0.1em !important',\n paddingBottom: '0 !important',\n marginBottom: '-2px',\n },\n '& > .mq-math-mode sup.mq-nthroot': {\n fontSize: '70.7% !important',\n verticalAlign: '0.5em !important',\n paddingRight: '0.15em',\n },\n '& > .mq-longdiv-inner': {\n marginTop: '-1px',\n marginLeft: '5px !important;',\n\n '& > .mq-empty': {\n padding: '0 !important',\n marginLeft: '0px !important',\n marginTop: '2px',\n },\n },\n '& > .mq-math-mode .mq-longdiv': {\n display: 'inline-flex !important',\n },\n '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner .mq-empty': {\n paddingTop: '6px !important',\n paddingLeft: '4px !important',\n },\n '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner': {\n marginLeft: '0 !important',\n },\n '& > .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important',\n },\n '& > .mq-math-mode .mq-overarrow': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\n '& > .mq-math-mode .mq-paren': {\n verticalAlign: 'top !important',\n padding: '1px 0.1em !important',\n },\n\n '& > .mq-math-mode .mq-sqrt-stem': {\n borderTop: '0.07em solid',\n marginLeft: '-1.5px',\n marginTop: '-2px !important',\n paddingTop: '5px !important',\n },\n '& > .mq-supsub ': {\n fontSize: '70.7%',\n },\n\n '& > .mq-math-mode .mq-supsub.mq-sup-only': {\n verticalAlign: '-0.1em !important',\n\n '& .mq-sup': {\n marginBottom: '0px !important',\n },\n },\n '& .mq-overarrow-inner': {\n paddingTop: '0 !important',\n border: 'none !important',\n },\n '& .mq-editable-field .mq-cursor': {\n marginTop: '-15px !important',\n },\n '& .mq-overarrow.mq-arrow-both': {\n top: '7.5px',\n marginTop: '0px',\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important',\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px',\n },\n '&:after': {\n top: '0px !important',\n position: 'absolute',\n right: '-2px',\n },\n '&.mq-empty:after': {\n top: '-0.45em',\n },\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px',\n },\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important',\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important',\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important',\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85,\n },\n },\n selected: {\n border: `solid 1px ${get(theme, 'palette.primary.main')}`,\n '& > .mq-math-mode': {\n border: 'solid 0px lightgrey',\n },\n },\n insideOverlay: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n },\n}));\n\nexport const RawMathPreview = React.forwardRef((props, ref) => {\n log('[render] data: ', props.element.data);\n const latex = props.element.data.latex;\n const { isSelected, onFocus, onBlur, attributes, children } = props;\n const classes = useStyles(props);\n\n return (\n <div\n className={classNames(classes.root, isSelected && classes.selected)}\n {...attributes}\n contentEditable={false}\n ref={ref}\n >\n {children} <span className={classes.insideOverlay} />\n <mq.Static latex={latex} onFocus={onFocus} onBlur={onBlur} />\n </div>\n );\n});\n\nRawMathPreview.propTypes = {\n element: PropTypes.object,\n latex: PropTypes.string,\n node: PropTypes.object,\n classes: PropTypes.object,\n isSelected: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n};\n\nexport default RawMathPreview;\n"],"mappings":"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"}
1
+ {"version":3,"file":"math-preview.js","names":["_react","_interopRequireDefault","require","_debug","_styles","_propTypes","_mathInput","_utils","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_mq$CommonMqStyles","mq","CommonMqStyles","commonMqFontStyles","longdivStyles","supsubStyles","log","debug","MathPreviewContainer","styled","_ref","theme","isSelected","display","alignItems","position","border","outline","boxShadow","borderRadius","paddingTop","verticalAlign","top","left","marginTop","padding","paddingBottom","marginBottom","paddingLeft","marginLeft","fontFamily","borderTop","minWidth","lineHeight","right","concat","palette","primary","main","InsideOverlay","bottom","RawMathPreview","exports","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","componentDidMount","markFractionBaseSuperscripts","componentDidUpdate","prevProps","props","node","data","get","render","latex","_this$props","onFocus","onBlur","createElement","Static","React","Component","PropTypes","string","object","bool","func","_default"],"sources":["../src/math-preview.jsx"],"sourcesContent":["import React from 'react';\nimport debug from 'debug';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { mq } from '@pie-lib/math-input';\nimport { markFractionBaseSuperscripts } from './utils';\n\nconst { commonMqFontStyles, longdivStyles, supsubStyles } = mq.CommonMqStyles;\n\nconst log = debug('@pie-lib:math-toolbar:math-preview');\n\nconst MathPreviewContainer = styled('div')(({ theme, isSelected }) => ({\n display: 'inline-flex',\n alignItems: 'center',\n position: 'relative',\n '& *': commonMqFontStyles,\n ...supsubStyles,\n ...longdivStyles,\n '& > .mq-math-mode': {\n border: isSelected ? 'solid 0px lightgrey' : 'solid 1px lightgrey',\n },\n '& > .mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: 'solid 1px black',\n borderRadius: '0px',\n },\n '& > .mq-math-mode .mq-root-block': {\n paddingTop: '7px !important',\n },\n '& > .mq-math-mode .mq-overarc ': {\n paddingTop: '0.45em !important',\n },\n '& > .mq-math-mode .mq-sqrt-prefix': {\n verticalAlign: 'baseline !important',\n top: '1px !important',\n left: '-0.1em !important',\n },\n '& > .mq-math-mode .mq-denominator': {\n marginTop: '-5px !important',\n padding: '0.5em 0.1em 0.1em !important',\n },\n '& > .mq-math-mode .mq-numerator, .mq-math-mode .mq-over': {\n padding: '0 0.1em !important',\n paddingBottom: '0 !important',\n marginBottom: '-2px',\n },\n '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner .mq-empty': {\n paddingTop: '6px !important',\n paddingLeft: '4px !important',\n },\n '& > .mq-math-mode .mq-longdiv .mq-longdiv-inner': {\n marginLeft: '0 !important',\n },\n '& > .mq-math-mode .mq-overarrow': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\n '& > .mq-math-mode .mq-paren': {\n verticalAlign: 'top !important',\n padding: '1px 0.1em !important',\n },\n '& > .mq-math-mode .mq-sqrt-stem': {\n borderTop: '0.07em solid',\n marginLeft: '-1.5px',\n marginTop: '-2px !important',\n paddingTop: '5px !important',\n },\n '& .mq-overarrow-inner': {\n paddingTop: '0 !important',\n border: 'none !important',\n },\n '& .mq-editable-field .mq-cursor': {\n marginTop: '-15px !important',\n },\n '& .mq-overarrow.mq-arrow-both': {\n top: '7.5px',\n marginTop: '0px',\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important',\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px',\n },\n '&:after': {\n top: '0px !important',\n position: 'absolute !important',\n right: '-2px',\n },\n '&.mq-empty:after': {\n top: '-0.45em',\n },\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px',\n },\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important',\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important',\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important',\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85,\n },\n '& span[data-prime=\"true\"]': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\n ...(isSelected && {\n border: `solid 1px ${theme.palette.primary.main}`,\n }),\n}));\n\nconst InsideOverlay = styled('span')({\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n});\n\nexport class RawMathPreview extends React.Component {\n static propTypes = {\n latex: PropTypes.string,\n node: PropTypes.object,\n isSelected: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n };\n\n componentDidMount() {\n markFractionBaseSuperscripts();\n }\n\n componentDidUpdate(prevProps) {\n // Re-run only if LaTeX changed\n if (this.props.node.data.get('latex') !== prevProps.node.data.get('latex')) {\n markFractionBaseSuperscripts();\n }\n }\n\n render() {\n log('[render] data: ', this.props.node.data);\n const latex = this.props.node.data.get('latex');\n const { isSelected, onFocus, onBlur } = this.props;\n return (\n <MathPreviewContainer isSelected={isSelected}>\n {' '}\n <InsideOverlay />\n <mq.Static latex={latex} onFocus={onFocus} onBlur={onBlur} />\n </MathPreviewContainer>\n );\n }\n}\n\nexport default RawMathPreview;\n"],"mappings":"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","ignoreList":[]}
package/lib/utils.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.markFractionBaseSuperscripts = void 0;
7
+ var markFractionBaseSuperscripts = exports.markFractionBaseSuperscripts = function markFractionBaseSuperscripts() {
8
+ document.querySelectorAll('.mq-supsub.mq-sup-only').forEach(function (supsub) {
9
+ var prev = supsub.previousElementSibling;
10
+ if (prev && prev.classList.contains('mq-non-leaf') && prev.querySelector('.mq-fraction')) {
11
+ supsub.classList.add('mq-after-fraction-group');
12
+ } else {
13
+ supsub.classList.remove('mq-after-fraction-group');
14
+ }
15
+ });
16
+ };
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXJrRnJhY3Rpb25CYXNlU3VwZXJzY3JpcHRzIiwiZXhwb3J0cyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJzdXBzdWIiLCJwcmV2IiwicHJldmlvdXNFbGVtZW50U2libGluZyIsImNsYXNzTGlzdCIsImNvbnRhaW5zIiwicXVlcnlTZWxlY3RvciIsImFkZCIsInJlbW92ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbWFya0ZyYWN0aW9uQmFzZVN1cGVyc2NyaXB0cyA9ICgpID0+IHtcbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1xLXN1cHN1Yi5tcS1zdXAtb25seScpLmZvckVhY2goKHN1cHN1YikgPT4ge1xuICAgIGNvbnN0IHByZXYgPSBzdXBzdWIucHJldmlvdXNFbGVtZW50U2libGluZztcblxuICAgIGlmIChwcmV2ICYmIHByZXYuY2xhc3NMaXN0LmNvbnRhaW5zKCdtcS1ub24tbGVhZicpICYmIHByZXYucXVlcnlTZWxlY3RvcignLm1xLWZyYWN0aW9uJykpIHtcbiAgICAgIHN1cHN1Yi5jbGFzc0xpc3QuYWRkKCdtcS1hZnRlci1mcmFjdGlvbi1ncm91cCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBzdWIuY2xhc3NMaXN0LnJlbW92ZSgnbXEtYWZ0ZXItZnJhY3Rpb24tZ3JvdXAnKTtcbiAgICB9XG4gIH0pO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU8sSUFBTUEsNEJBQTRCLEdBQUFDLE9BQUEsQ0FBQUQsNEJBQUEsR0FBRyxTQUEvQkEsNEJBQTRCQSxDQUFBLEVBQVM7RUFDaERFLFFBQVEsQ0FBQ0MsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLE1BQU0sRUFBSztJQUN0RSxJQUFNQyxJQUFJLEdBQUdELE1BQU0sQ0FBQ0Usc0JBQXNCO0lBRTFDLElBQUlELElBQUksSUFBSUEsSUFBSSxDQUFDRSxTQUFTLENBQUNDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSUgsSUFBSSxDQUFDSSxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUU7TUFDeEZMLE1BQU0sQ0FBQ0csU0FBUyxDQUFDRyxHQUFHLENBQUMseUJBQXlCLENBQUM7SUFDakQsQ0FBQyxNQUFNO01BQ0xOLE1BQU0sQ0FBQ0csU0FBUyxDQUFDSSxNQUFNLENBQUMseUJBQXlCLENBQUM7SUFDcEQ7RUFDRixDQUFDLENBQUM7QUFDSixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["markFractionBaseSuperscripts","exports","document","querySelectorAll","forEach","supsub","prev","previousElementSibling","classList","contains","querySelector","add","remove"],"sources":["../src/utils.js"],"sourcesContent":["export const markFractionBaseSuperscripts = () => {\n document.querySelectorAll('.mq-supsub.mq-sup-only').forEach((supsub) => {\n const prev = supsub.previousElementSibling;\n\n if (prev && prev.classList.contains('mq-non-leaf') && prev.querySelector('.mq-fraction')) {\n supsub.classList.add('mq-after-fraction-group');\n } else {\n supsub.classList.remove('mq-after-fraction-group');\n }\n });\n};\n"],"mappings":";;;;;;AAAO,IAAMA,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,GAAG,SAA/BA,4BAA4BA,CAAA,EAAS;EAChDE,QAAQ,CAACC,gBAAgB,CAAC,wBAAwB,CAAC,CAACC,OAAO,CAAC,UAACC,MAAM,EAAK;IACtE,IAAMC,IAAI,GAAGD,MAAM,CAACE,sBAAsB;IAE1C,IAAID,IAAI,IAAIA,IAAI,CAACE,SAAS,CAACC,QAAQ,CAAC,aAAa,CAAC,IAAIH,IAAI,CAACI,aAAa,CAAC,cAAc,CAAC,EAAE;MACxFL,MAAM,CAACG,SAAS,CAACG,GAAG,CAAC,yBAAyB,CAAC;IACjD,CAAC,MAAM;MACLN,MAAM,CAACG,SAAS,CAACI,MAAM,CAAC,yBAAyB,CAAC;IACpD;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.0.0-beta.3",
6
+ "version": "2.1.0-next.0",
7
7
  "description": "Math toolbar for editing math equations",
8
8
  "keywords": [
9
9
  "math",
@@ -17,21 +17,23 @@
17
17
  "author": "",
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@material-ui/core": "^3.8.3",
21
- "@material-ui/icons": "^3.0.2",
22
- "@pie-lib/math-input": "^6.11.4",
23
- "classnames": "^2.2.6",
20
+ "@emotion/react": "^11.14.0",
21
+ "@emotion/style": "^0.8.0",
22
+ "@mui/icons-material": "^7.3.4",
23
+ "@mui/material": "^7.3.4",
24
+ "@pie-lib/math-input": "7.1.0-next.0",
25
+ "@pie-lib/render-ui": "5.1.0-next.0",
24
26
  "debug": "^4.1.1",
25
- "keycode": "^2.2.0",
26
- "lodash": "^4.17.11"
27
+ "lodash": "^4.17.11",
28
+ "prop-types": "^15.7.2"
27
29
  },
28
30
  "peerDependencies": {
29
- "react": "^16.8.1",
30
- "react-dom": "^16.9.0"
31
+ "react": "^18.2.0",
32
+ "react-dom": "^18.2.0"
31
33
  },
32
34
  "devDependencies": {
33
- "@pie-lib/test-utils": "^0.2.33"
35
+ "@pie-lib/test-utils": "1.1.0-next.0"
34
36
  },
35
37
  "scripts": {},
36
- "gitHead": "f3345ae70660f4ae88450512261c7ea1601003c8"
38
+ "gitHead": "d33251d33967cfc861dfe0ac05a1cac7b91bb7e1"
37
39
  }
@@ -0,0 +1,16 @@
1
+ import { EditorAndPad } from '../editor-and-pad';
2
+ import { render } from '@testing-library/react';
3
+ import React from 'react';
4
+
5
+ describe('EditorAndPad', () => {
6
+ const defaultProps = {
7
+ classes: {},
8
+ classNames: {},
9
+ onBlur: jest.fn(),
10
+ };
11
+
12
+ it('renders with default props', () => {
13
+ const { container } = render(<EditorAndPad {...defaultProps} />);
14
+ expect(container.firstChild).toBeInTheDocument();
15
+ });
16
+ });
@@ -0,0 +1,21 @@
1
+ import { RawPureToolbar } from '../index';
2
+ import { render } from '@testing-library/react';
3
+ import React from 'react';
4
+
5
+ describe('RawPureToolbar', () => {
6
+ const defaultProps = {
7
+ classes: {},
8
+ controlledKeypad: true,
9
+ showKeypad: true,
10
+ };
11
+
12
+ it('renders with DONE button if hideDoneButton is not defined', () => {
13
+ const { container } = render(<RawPureToolbar {...defaultProps} />);
14
+ expect(container.firstChild).toBeInTheDocument();
15
+ });
16
+
17
+ it('renders without DONE button if hideDoneButton value is true', () => {
18
+ const { container } = render(<RawPureToolbar {...defaultProps} hideDoneButton={true} />);
19
+ expect(container.firstChild).toBeInTheDocument();
20
+ });
21
+ });
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import MathPreview from '../math-preview';
4
+
5
+ describe('MathPreview', () => {
6
+ const defaultProps = {
7
+ node: {
8
+ data: {
9
+ get: jest.fn().mockReturnValue('sqrt(5)'),
10
+ },
11
+ },
12
+ classes: {},
13
+ isSelected: false,
14
+ onFocus: jest.fn(),
15
+ onBlur: jest.fn(),
16
+ };
17
+
18
+ it('renders with default props', () => {
19
+ const { container } = render(<MathPreview {...defaultProps} />);
20
+ expect(container.firstChild).toBeInTheDocument();
21
+ });
22
+ });