@pie-lib/math-input 6.31.2-next.11 → 6.31.3-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.
Files changed (90) hide show
  1. package/CHANGELOG.md +6 -64
  2. package/lib/__tests__/math-input-test.js +56 -0
  3. package/lib/horizontal-keypad.js +17 -45
  4. package/lib/horizontal-keypad.js.map +1 -1
  5. package/lib/index.js +4 -26
  6. package/lib/index.js.map +1 -1
  7. package/lib/keypad/__tests__/index.test.js +28 -0
  8. package/lib/keypad/__tests__/keys-layout.test.js +13 -0
  9. package/lib/keypad/index.js +255 -333
  10. package/lib/keypad/index.js.map +1 -1
  11. package/lib/keypad/keys-layout.js +3 -13
  12. package/lib/keypad/keys-layout.js.map +1 -1
  13. package/lib/keys/__tests__/utils.test.js +49 -0
  14. package/lib/keys/basic-operators.js +6 -14
  15. package/lib/keys/basic-operators.js.map +1 -1
  16. package/lib/keys/chars.js +6 -11
  17. package/lib/keys/chars.js.map +1 -1
  18. package/lib/keys/comparison.js +7 -17
  19. package/lib/keys/comparison.js.map +1 -1
  20. package/lib/keys/constants.js +5 -11
  21. package/lib/keys/constants.js.map +1 -1
  22. package/lib/keys/digits.js +2 -8
  23. package/lib/keys/digits.js.map +1 -1
  24. package/lib/keys/edit.js +2 -5
  25. package/lib/keys/edit.js.map +1 -1
  26. package/lib/keys/exponent.js +5 -11
  27. package/lib/keys/exponent.js.map +1 -1
  28. package/lib/keys/fractions.js +4 -9
  29. package/lib/keys/fractions.js.map +1 -1
  30. package/lib/keys/geometry.js +26 -55
  31. package/lib/keys/geometry.js.map +1 -1
  32. package/lib/keys/grades.js +11 -47
  33. package/lib/keys/grades.js.map +1 -1
  34. package/lib/keys/index.js +14 -33
  35. package/lib/keys/index.js.map +1 -1
  36. package/lib/keys/log.js +4 -9
  37. package/lib/keys/log.js.map +1 -1
  38. package/lib/keys/logic.js +3 -7
  39. package/lib/keys/logic.js.map +1 -1
  40. package/lib/keys/matrices.js +3 -7
  41. package/lib/keys/matrices.js.map +1 -1
  42. package/lib/keys/misc.js +11 -23
  43. package/lib/keys/misc.js.map +1 -1
  44. package/lib/keys/navigation.js +3 -8
  45. package/lib/keys/navigation.js.map +1 -1
  46. package/lib/keys/operators.js +2 -5
  47. package/lib/keys/operators.js.map +1 -1
  48. package/lib/keys/statistics.js +6 -13
  49. package/lib/keys/statistics.js.map +1 -1
  50. package/lib/keys/sub-sup.js +3 -7
  51. package/lib/keys/sub-sup.js.map +1 -1
  52. package/lib/keys/trigonometry.js +7 -15
  53. package/lib/keys/trigonometry.js.map +1 -1
  54. package/lib/keys/utils.js +8 -41
  55. package/lib/keys/utils.js.map +1 -1
  56. package/lib/keys/vars.js +4 -9
  57. package/lib/keys/vars.js.map +1 -1
  58. package/lib/math-input.js +53 -104
  59. package/lib/math-input.js.map +1 -1
  60. package/lib/mq/__tests__/input.test.js +49 -0
  61. package/lib/mq/__tests__/static.test.js +43 -0
  62. package/lib/mq/common-mq-styles.js +8 -19
  63. package/lib/mq/common-mq-styles.js.map +1 -1
  64. package/lib/mq/custom-elements.js +2 -5
  65. package/lib/mq/custom-elements.js.map +1 -1
  66. package/lib/mq/index.js +1 -5
  67. package/lib/mq/index.js.map +1 -1
  68. package/lib/mq/input.js +23 -76
  69. package/lib/mq/input.js.map +1 -1
  70. package/lib/mq/static.js +35 -93
  71. package/lib/mq/static.js.map +1 -1
  72. package/lib/shared/constants.js +4 -7
  73. package/lib/updateSpans.js +2 -6
  74. package/lib/updateSpans.js.map +1 -1
  75. package/package.json +10 -18
  76. package/src/__tests__/math-input-test.jsx +31 -71
  77. package/src/keypad/__tests__/index.test.jsx +18 -17
  78. package/src/keypad/index.jsx +172 -169
  79. package/src/math-input.jsx +35 -44
  80. package/src/mq/__tests__/input.test.jsx +26 -78
  81. package/src/mq/__tests__/static.test.jsx +14 -38
  82. package/src/mq/input.jsx +9 -9
  83. package/src/mq/static.jsx +3 -0
  84. package/esm/index.css +0 -847
  85. package/esm/index.js +0 -44393
  86. package/esm/index.js.map +0 -1
  87. package/esm/package.json +0 -3
  88. package/src/__tests__/__snapshots__/math-input-test.jsx.snap +0 -152
  89. package/src/keypad/__tests__/__snapshots__/index.test.jsx.snap +0 -193
  90. package/src/mq/__tests__/__snapshots__/input.test.jsx.snap +0 -9
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/math-input.jsx"],"names":["log","MathInput","props","key","input","latex","command","write","keystroke","setState","focused","l","onChange","state","classes","className","keyset","showKeypad","mathInput","mqInput","r","inputFocus","inputBlur","changeLatex","pad","baseSet","keypadPress","React","Component","PropTypes","object","isRequired","string","array","displayMode","oneOf","func","grey","styles","theme","formGroup","display","textAlign","width","borderRadius","border","marginTop","spacing","unit","marginBottom","transition","palette","primary","main","light","padding","outline","boxShadow","dark"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport * as mq from './mq';\nimport { baseSet } from './keys';\nimport KeyPad from './keypad';\nimport debug from 'debug';\n\nconst log = debug('pie-lib:math-input');\n\nexport class MathInput extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n keyset: PropTypes.array,\n displayMode: PropTypes.oneOf(['block', 'block-on-focus']),\n latex: PropTypes.string,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {\n keyset: [],\n displayMode: 'block',\n };\n\n constructor(props) {\n super(props);\n this.state = {\n focused: false,\n };\n }\n\n keypadPress = (key) => {\n log('[keypadPress] key:', key);\n\n if (!this.input) {\n return;\n }\n\n if (key.latex && !key.command) {\n this.input.write(key.latex);\n } else if (key.write) {\n this.input.write(key.write);\n } else if (key.command) {\n this.input.command(key.command);\n } else if (key.keystroke) {\n this.input.keystroke(key.keystroke);\n }\n };\n\n inputFocus = () => {\n this.setState({ focused: true });\n };\n\n inputBlur = () => {\n this.setState({ focused: false });\n };\n\n changeLatex = (l) => {\n const { onChange } = this.props;\n\n if (onChange && l !== this.props.latex) {\n log('[changeLatex]', l, this.props.latex);\n onChange(l);\n }\n };\n\n render() {\n const { classes, className, keyset, latex } = this.props;\n const { focused } = this.state;\n\n const showKeypad = true; // TODO: add support for different displayModes - displayMode === 'block' || focused;\n\n return (\n <div className={classNames(classes.mathInput, className, focused && classes.focused)}>\n <mq.Input\n className={classes.mqInput}\n innerRef={(r) => (this.input = r)}\n onFocus={this.inputFocus}\n onBlur={this.inputBlur}\n latex={latex}\n onChange={this.changeLatex}\n />\n {showKeypad && (\n <div className={classes.pad}>\n <KeyPad baseSet={baseSet} additionalKeys={keyset} onPress={this.keypadPress} />\n </div>\n )}\n </div>\n );\n }\n}\n\nconst grey = 'rgba(0, 0, 0, 0.23)';\nconst styles = (theme) => ({\n formGroup: {\n display: 'flex',\n textAlign: 'right',\n float: 'right',\n },\n pad: {\n width: '100%',\n display: 'flex',\n },\n mathInput: {\n borderRadius: '4px',\n border: `solid 1px ${grey}`,\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit,\n transition: 'border 200ms linear',\n },\n focused: {\n border: `solid 1px ${theme.palette.primary.main}`,\n },\n mqInput: {\n width: '100%',\n border: `solid 0px ${theme.palette.primary.light}`,\n transition: 'border 200ms linear',\n padding: theme.spacing.unit,\n '&.mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: `solid 0px ${theme.palette.primary.dark}`,\n },\n },\n});\nexport default withStyles(styles)(MathInput);\n"],"file":"math-input.js"}
1
+ {"version":3,"file":"math-input.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","mq","_interopRequireWildcard","_keys","_keypad","_debug","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","log","debug","grey","MathInputContainer","styled","_ref","theme","focused","borderRadius","border","concat","palette","primary","main","marginTop","spacing","marginBottom","transition","PadContainer","width","display","StyledMqInput","Input","_ref2","light","padding","outline","boxShadow","dark","MathInput","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","key","input","latex","command","write","keystroke","setState","l","onChange","state","_inherits2","_createClass2","value","render","_this2","_this$props","className","keyset","showKeypad","createElement","innerRef","onFocus","inputFocus","onBlur","inputBlur","changeLatex","baseSet","additionalKeys","onPress","keypadPress","React","Component","PropTypes","string","array","displayMode","oneOf","func","_default"],"sources":["../src/math-input.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport * as mq from './mq';\nimport { baseSet } from './keys';\nimport KeyPad from './keypad';\nimport debug from 'debug';\n\nconst log = debug('pie-lib:math-input');\n\nconst grey = 'rgba(0, 0, 0, 0.23)';\n\nconst MathInputContainer = styled('div')(({ theme, focused }) => ({\n borderRadius: '4px',\n border: `solid 1px ${focused ? theme.palette.primary.main : grey}`,\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n transition: 'border 200ms linear',\n}));\n\nconst PadContainer = styled('div')({\n width: '100%',\n display: 'flex',\n});\n\nconst StyledMqInput = styled(mq.Input)(({ theme }) => ({\n width: '100%',\n border: `solid 0px ${theme.palette.primary.light}`,\n transition: 'border 200ms linear',\n padding: theme.spacing(1),\n '&.mq-focused': {\n outline: 'none',\n boxShadow: 'none',\n border: `solid 0px ${theme.palette.primary.dark}`,\n },\n}));\n\nexport class MathInput extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n keyset: PropTypes.array,\n displayMode: PropTypes.oneOf(['block', 'block-on-focus']),\n latex: PropTypes.string,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {\n keyset: [],\n displayMode: 'block',\n };\n\n constructor(props) {\n super(props);\n this.state = {\n focused: false,\n };\n }\n\n keypadPress = (key) => {\n log('[keypadPress] key:', key);\n\n if (!this.input) {\n return;\n }\n\n if (key.latex && !key.command) {\n this.input.write(key.latex);\n } else if (key.write) {\n this.input.write(key.write);\n } else if (key.command) {\n this.input.command(key.command);\n } else if (key.keystroke) {\n this.input.keystroke(key.keystroke);\n }\n };\n\n inputFocus = () => {\n this.setState({ focused: true });\n };\n\n inputBlur = () => {\n this.setState({ focused: false });\n };\n\n changeLatex = (l) => {\n const { onChange } = this.props;\n\n if (onChange && l !== this.props.latex) {\n log('[changeLatex]', l, this.props.latex);\n onChange(l);\n }\n };\n\n render() {\n const { className, keyset, latex } = this.props;\n const { focused } = this.state;\n\n const showKeypad = true; // TODO: add support for different displayModes - displayMode === 'block' || focused;\n\n return (\n <MathInputContainer className={className} focused={focused}>\n <StyledMqInput\n innerRef={(r) => (this.input = r)}\n onFocus={this.inputFocus}\n onBlur={this.inputBlur}\n latex={latex}\n onChange={this.changeLatex}\n />\n {showKeypad && (\n <PadContainer>\n <KeyPad baseSet={baseSet} additionalKeys={keyset} onPress={this.keypadPress} />\n </PadContainer>\n )}\n </MathInputContainer>\n );\n }\n}\n\nexport default MathInput;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+ var React = _interopRequireWildcard(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _input = require("../input");
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
+ describe('Input', function () {
11
+ var onChange = jest.fn();
12
+ var defaultProps = {
13
+ classes: {},
14
+ className: 'className',
15
+ onChange: onChange
16
+ };
17
+ beforeEach(function () {
18
+ onChange.mockClear();
19
+ });
20
+ describe('rendering', function () {
21
+ it('renders with default props', function () {
22
+ var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_input.Input, defaultProps)),
23
+ container = _render.container;
24
+ expect(container.firstChild).toBeInTheDocument();
25
+ expect(container.firstChild).toHaveClass('className');
26
+ });
27
+ it('renders with latex prop', function () {
28
+ var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(_input.Input, (0, _extends2["default"])({}, defaultProps, {
29
+ latex: "x^2"
30
+ }))),
31
+ container = _render2.container;
32
+ expect(container.firstChild).toBeInTheDocument();
33
+ });
34
+ it('renders with disabled prop', function () {
35
+ var _render3 = (0, _react2.render)(/*#__PURE__*/React.createElement(_input.Input, (0, _extends2["default"])({}, defaultProps, {
36
+ disabled: true
37
+ }))),
38
+ container = _render3.container;
39
+ expect(container.firstChild).toBeInTheDocument();
40
+ });
41
+ });
42
+
43
+ // Note: Tests for internal methods (clear, blur, focus, command, keystroke, write)
44
+ // are implementation details and cannot be directly tested with RTL.
45
+ // These components are wrappers around MathQuill library and the original tests
46
+ // focused on testing internal implementation via instance methods rather than user-facing behavior.
47
+ // The actual MathQuill integration and user interactions are tested through integration/e2e tests.
48
+ });
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfaW5wdXQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJkZWZhdWx0UHJvcHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJJbnB1dCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInRvSGF2ZUNsYXNzIiwiX3JlbmRlcjIiLCJfZXh0ZW5kczIiLCJsYXRleCIsIl9yZW5kZXIzIiwiZGlzYWJsZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXEvX190ZXN0c19fL2lucHV0LnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICcuLi9pbnB1dCc7XG5cbmRlc2NyaWJlKCdJbnB1dCcsICgpID0+IHtcbiAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjbGFzc2VzOiB7fSxcbiAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgIG9uQ2hhbmdlLFxuICB9O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlLm1vY2tDbGVhcigpO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGggZGVmYXVsdCBwcm9wcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPElucHV0IHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9IYXZlQ2xhc3MoJ2NsYXNzTmFtZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBsYXRleCBwcm9wJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8SW5wdXQgey4uLmRlZmF1bHRQcm9wc30gbGF0ZXg9XCJ4XjJcIiAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGRpc2FibGVkIHByb3AnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxJbnB1dCB7Li4uZGVmYXVsdFByb3BzfSBkaXNhYmxlZD17dHJ1ZX0gLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcblxuICAvLyBOb3RlOiBUZXN0cyBmb3IgaW50ZXJuYWwgbWV0aG9kcyAoY2xlYXIsIGJsdXIsIGZvY3VzLCBjb21tYW5kLCBrZXlzdHJva2UsIHdyaXRlKVxuICAvLyBhcmUgaW1wbGVtZW50YXRpb24gZGV0YWlscyBhbmQgY2Fubm90IGJlIGRpcmVjdGx5IHRlc3RlZCB3aXRoIFJUTC5cbiAgLy8gVGhlc2UgY29tcG9uZW50cyBhcmUgd3JhcHBlcnMgYXJvdW5kIE1hdGhRdWlsbCBsaWJyYXJ5IGFuZCB0aGUgb3JpZ2luYWwgdGVzdHNcbiAgLy8gZm9jdXNlZCBvbiB0ZXN0aW5nIGludGVybmFsIGltcGxlbWVudGF0aW9uIHZpYSBpbnN0YW5jZSBtZXRob2RzIHJhdGhlciB0aGFuIHVzZXItZmFjaW5nIGJlaGF2aW9yLlxuICAvLyBUaGUgYWN0dWFsIE1hdGhRdWlsbCBpbnRlZ3JhdGlvbiBhbmQgdXNlciBpbnRlcmFjdGlvbnMgYXJlIHRlc3RlZCB0aHJvdWdoIGludGVncmF0aW9uL2UyZSB0ZXN0cy5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUFpQyxTQUFBRCx3QkFBQUksQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQU4sdUJBQUEsWUFBQUEsd0JBQUFJLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFB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
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var React = _interopRequireWildcard(require("react"));
6
+ var _react2 = require("@testing-library/react");
7
+ var _static = _interopRequireDefault(require("../static"));
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
9
+ var Mathquill = require('@pie-framework/mathquill');
10
+ jest.mock('@pie-framework/mathquill', function () {
11
+ return {
12
+ StaticMath: jest.fn().mockReturnValue({
13
+ latex: jest.fn(),
14
+ parseLatex: jest.fn()
15
+ }),
16
+ getInterface: jest.fn().mockReturnThis()
17
+ };
18
+ });
19
+ describe('static', function () {
20
+ describe('rendering', function () {
21
+ it('renders with latex prop', function () {
22
+ var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_static["default"], {
23
+ latex: "foo"
24
+ })),
25
+ container = _render.container;
26
+ expect(container.firstChild).toBeInTheDocument();
27
+ });
28
+ it('renders with empty latex', function () {
29
+ var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(_static["default"], {
30
+ latex: ""
31
+ })),
32
+ container = _render2.container;
33
+ expect(container.firstChild).toBeInTheDocument();
34
+ });
35
+ });
36
+
37
+ // Note: Tests for internal methods like componentDidMount, shouldComponentUpdate
38
+ // are implementation details and cannot be directly tested with RTL.
39
+ // These components are wrappers around MathQuill library and the original tests
40
+ // focused on testing internal implementation rather than user-facing behavior.
41
+ // The actual MathQuill integration is tested through integration/e2e tests.
42
+ });
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfc3RhdGljIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiTWF0aHF1aWxsIiwiamVzdCIsIm1vY2siLCJTdGF0aWNNYXRoIiwiZm4iLCJtb2NrUmV0dXJuVmFsdWUiLCJsYXRleCIsInBhcnNlTGF0ZXgiLCJnZXRJbnRlcmZhY2UiLCJtb2NrUmV0dXJuVGhpcyIsImRlc2NyaWJlIiwiaXQiLCJfcmVuZGVyIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIl9yZW5kZXIyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21xL19fdGVzdHNfXy9zdGF0aWMudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgU3RhdGljIGZyb20gJy4uL3N0YXRpYyc7XG5cbmNvbnN0IE1hdGhxdWlsbCA9IHJlcXVpcmUoJ0BwaWUtZnJhbWV3b3JrL21hdGhxdWlsbCcpO1xuXG5qZXN0Lm1vY2soJ0BwaWUtZnJhbWV3b3JrL21hdGhxdWlsbCcsICgpID0+ICh7XG4gIFN0YXRpY01hdGg6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgIGxhdGV4OiBqZXN0LmZuKCksXG4gICAgcGFyc2VMYXRleDogamVzdC5mbigpLFxuICB9KSxcbiAgZ2V0SW50ZXJmYWNlOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbn0pKTtcblxuZGVzY3JpYmUoJ3N0YXRpYycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRoIGxhdGV4IHByb3AnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxTdGF0aWMgbGF0ZXg9XCJmb29cIiAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGVtcHR5IGxhdGV4JywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8U3RhdGljIGxhdGV4PVwiXCIgLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcblxuICAvLyBOb3RlOiBUZXN0cyBmb3IgaW50ZXJuYWwgbWV0aG9kcyBsaWtlIGNvbXBvbmVudERpZE1vdW50LCBzaG91bGRDb21wb25lbnRVcGRhdGVcbiAgLy8gYXJlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYW5kIGNhbm5vdCBiZSBkaXJlY3RseSB0ZXN0ZWQgd2l0aCBSVEwuXG4gIC8vIFRoZXNlIGNvbXBvbmVudHMgYXJlIHdyYXBwZXJzIGFyb3VuZCBNYXRoUXVpbGwgbGlicmFyeSBhbmQgdGhlIG9yaWdpbmFsIHRlc3RzXG4gIC8vIGZvY3VzZWQgb24gdGVzdGluZyBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiByYXRoZXIgdGhhbiB1c2VyLWZhY2luZyBiZWhhdmlvci5cbiAgLy8gVGhlIGFjdHVhbCBNYXRoUXVpbGwgaW50ZWdyYXRpb24gaXMgdGVzdGVkIHRocm91Z2ggaW50ZWdyYXRpb24vZTJlIHRlc3RzLlxufSk7XG4iXSwibWFw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
@@ -1,19 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.supsubStyles = exports.longdivStyles = exports["default"] = exports.commonMqKeyboardStyles = exports.commonMqFontStyles = void 0;
9
-
10
8
  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 = {
9
+ 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; }
10
+ 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; }
11
+ var commonMqFontStyles = exports.commonMqFontStyles = {
17
12
  fontFamily: 'MJXZERO, MJXTEX !important',
18
13
  '-webkit-font-smoothing': 'antialiased !important',
19
14
  '& .mq-math-mode > span > var': {
@@ -29,8 +24,7 @@ var commonMqFontStyles = {
29
24
  fontFamily: 'MJXZERO, MJXTEX !important'
30
25
  }
31
26
  };
32
- exports.commonMqFontStyles = commonMqFontStyles;
33
- var longdivStyles = {
27
+ var longdivStyles = exports.longdivStyles = {
34
28
  '& .mq-longdiv-inner': {
35
29
  marginTop: '-1px',
36
30
  marginLeft: '5px !important;',
@@ -44,8 +38,7 @@ var longdivStyles = {
44
38
  display: 'inline-flex !important'
45
39
  }
46
40
  };
47
- exports.longdivStyles = longdivStyles;
48
- var supsubStyles = {
41
+ var supsubStyles = exports.supsubStyles = {
49
42
  '& .mq-math-mode sup.mq-nthroot': {
50
43
  fontSize: '70% !important',
51
44
  verticalAlign: '0.5em !important',
@@ -63,7 +56,6 @@ var supsubStyles = {
63
56
  marginBottom: '0px !important'
64
57
  }
65
58
  },
66
-
67
59
  /* But when the base is a fraction, move it higher */
68
60
  '& .mq-math-mode .mq-fraction + .mq-supsub.mq-sup-only': {
69
61
  verticalAlign: '0.4em !important'
@@ -72,8 +64,7 @@ var supsubStyles = {
72
64
  verticalAlign: '0.4em !important'
73
65
  }
74
66
  };
75
- exports.supsubStyles = supsubStyles;
76
- var commonMqKeyboardStyles = {
67
+ var commonMqKeyboardStyles = exports.commonMqKeyboardStyles = {
77
68
  '& *': _objectSpread(_objectSpread(_objectSpread({}, commonMqFontStyles), longdivStyles), {}, {
78
69
  '& .mq-math-mode .mq-sqrt-prefix': {
79
70
  top: '0 !important'
@@ -99,12 +90,10 @@ var commonMqKeyboardStyles = {
99
90
  }
100
91
  })
101
92
  };
102
- exports.commonMqKeyboardStyles = commonMqKeyboardStyles;
103
- var _default = {
93
+ var _default = exports["default"] = {
104
94
  commonMqFontStyles: commonMqFontStyles,
105
95
  longdivStyles: longdivStyles,
106
96
  supsubStyles: supsubStyles,
107
97
  commonMqKeyboardStyles: commonMqKeyboardStyles
108
98
  };
109
- exports["default"] = _default;
110
- //# sourceMappingURL=common-mq-styles.js.map
99
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tb25NcUZvbnRTdHlsZXMiLCJleHBvcnRzIiwiZm9udEZhbWlseSIsImxvbmdkaXZTdHlsZXMiLCJtYXJnaW5Ub3AiLCJtYXJnaW5MZWZ0IiwicGFkZGluZyIsImRpc3BsYXkiLCJzdXBzdWJTdHlsZXMiLCJmb250U2l6ZSIsInZlcnRpY2FsQWxpZ24iLCJwYWRkaW5nUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJjb21tb25NcUtleWJvYXJkU3R5bGVzIiwiX29iamVjdFNwcmVhZCIsInRvcCIsInBhZGRpbmdUb3AiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tcS9jb21tb24tbXEtc3R5bGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBjb21tb25NcUZvbnRTdHlsZXMgPSB7XG4gIGZvbnRGYW1pbHk6ICdNSlhaRVJPLCBNSlhURVggIWltcG9ydGFudCcsXG4gICctd2Via2l0LWZvbnQtc21vb3RoaW5nJzogJ2FudGlhbGlhc2VkICFpbXBvcnRhbnQnLFxuXG4gICcmIC5tcS1tYXRoLW1vZGUgPiBzcGFuID4gdmFyJzoge1xuICAgIGZvbnRGYW1pbHk6ICdNSlhaRVJPLCBNSlhURVgtSSAhaW1wb3J0YW50JyxcbiAgfSxcbiAgJyYgLm1xLW1hdGgtbW9kZSBzcGFuIHZhcic6IHtcbiAgICBmb250RmFtaWx5OiAnTUpYWkVSTywgTUpYVEVYLUkgIWltcG9ydGFudCcsXG4gIH0sXG4gICcmIC5tcS1tYXRoLW1vZGUgLm1xLW5vblN5bWJvbGEnOiB7XG4gICAgZm9udEZhbWlseTogJ01KWFpFUk8sIE1KWFRFWC1JICFpbXBvcnRhbnQnLFxuICB9LFxuICAnJiAubXEtbWF0aC1tb2RlID4gc3BhbiA+IHZhci5tcS1vcGVyYXRvci1uYW1lJzoge1xuICAgIGZvbnRGYW1pbHk6ICdNSlhaRVJPLCBNSlhURVggIWltcG9ydGFudCcsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgbG9uZ2RpdlN0eWxlcyA9IHtcbiAgJyYgLm1xLWxvbmdkaXYtaW5uZXInOiB7XG4gICAgbWFyZ2luVG9wOiAnLTFweCcsXG4gICAgbWFyZ2luTGVmdDogJzVweCAhaW1wb3J0YW50OycsXG5cbiAgICAnJiA+IC5tcS1lbXB0eSc6IHtcbiAgICAgIHBhZGRpbmc6ICcwICFpbXBvcnRhbnQnLFxuICAgICAgbWFyZ2luTGVmdDogJzBweCAhaW1wb3J0YW50JyxcbiAgICAgIG1hcmdpblRvcDogJzJweCcsXG4gICAgfSxcbiAgfSxcblxuICAnJiAubXEtbWF0aC1tb2RlIC5tcS1sb25nZGl2Jzoge1xuICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCAhaW1wb3J0YW50JyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBzdXBzdWJTdHlsZXMgPSB7XG4gICcmIC5tcS1tYXRoLW1vZGUgc3VwLm1xLW50aHJvb3QnOiB7XG4gICAgZm9udFNpemU6ICc3MCUgIWltcG9ydGFudCcsXG4gICAgdmVydGljYWxBbGlnbjogJzAuNWVtICFpbXBvcnRhbnQnLFxuICAgIHBhZGRpbmdSaWdodDogJzAuMTVlbScsXG4gIH0sXG4gICcmIC5tcS1tYXRoLW1vZGUgLm1xLXN1cHN1Yic6IHtcbiAgICBmb250U2l6ZTogJzcwLjclICFpbXBvcnRhbnQnLFxuICB9LFxuICAnJiAubXEtc3Vwc3ViICc6IHtcbiAgICBmb250U2l6ZTogJzcwLjclJyxcbiAgfSxcbiAgJyYgLm1xLW1hdGgtbW9kZSAubXEtc3Vwc3ViLm1xLXN1cC1vbmx5Jzoge1xuICAgIHZlcnRpY2FsQWxpZ246ICctMC4xZW0gIWltcG9ydGFudCcsXG5cbiAgICAnJiAubXEtc3VwJzoge1xuICAgICAgbWFyZ2luQm90dG9tOiAnMHB4ICFpbXBvcnRhbnQnLFxuICAgIH0sXG4gIH0sXG4gIC8qIEJ1dCB3aGVuIHRoZSBiYXNlIGlzIGEgZnJhY3Rpb24sIG1vdmUgaXQgaGlnaGVyICovXG4gICcmIC5tcS1tYXRoLW1vZGUgLm1xLWZyYWN0aW9uICsgLm1xLXN1cHN1Yi5tcS1zdXAtb25seSc6IHtcbiAgICB2ZXJ0aWNhbEFsaWduOiAnMC40ZW0gIWltcG9ydGFudCcsXG4gIH0sXG5cbiAgJyYgLm1xLW1hdGgtbW9kZSAubXEtc3Vwc3ViLm1xLXN1cC1vbmx5Lm1xLWFmdGVyLWZyYWN0aW9uLWdyb3VwJzoge1xuICAgIHZlcnRpY2FsQWxpZ246ICcwLjRlbSAhaW1wb3J0YW50JyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBjb21tb25NcUtleWJvYXJkU3R5bGVzID0ge1xuICAnJiAqJzoge1xuICAgIC4uLmNvbW1vbk1xRm9udFN0eWxlcyxcbiAgICAuLi5sb25nZGl2U3R5bGVzLFxuICAgICcmIC5tcS1tYXRoLW1vZGUgLm1xLXNxcnQtcHJlZml4Jzoge1xuICAgICAgdG9wOiAnMCAhaW1wb3J0YW50JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtZW1wdHknOiB7XG4gICAgICBwYWRkaW5nOiAnOXB4IDFweCAhaW1wb3J0YW50JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtc3Vwc3ViJzoge1xuICAgICAgZm9udFNpemU6ICc3MC43JSAhaW1wb3J0YW50JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtc3FydC1zdGVtJzoge1xuICAgICAgbWFyZ2luVG9wOiAnLTVweCcsXG4gICAgICBwYWRkaW5nVG9wOiAnNHB4JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtcGFyZW4nOiB7XG4gICAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlICFpbXBvcnRhbnQnLFxuICAgIH0sXG5cbiAgICAnJiAubXEtbWF0aC1tb2RlIC5tcS1vdmVyYXJyb3cgLm1xLW92ZXJhcnJvdy1pbm5lciAubXEtZW1wdHknOiB7XG4gICAgICBwYWRkaW5nOiAnMCAhaW1wb3J0YW50JyxcbiAgICB9LFxuXG4gICAgJyYgLm1xLW1hdGgtbW9kZSAubXEtb3ZlcmxpbmUgLm1xLW92ZXJsaW5lLWlubmVyIC5tcS1lbXB0eSAnOiB7XG4gICAgICBwYWRkaW5nOiAnMCAhaW1wb3J0YW50JyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBjb21tb25NcUZvbnRTdHlsZXMsXG4gIGxvbmdkaXZTdHlsZXMsXG4gIHN1cHN1YlN0eWxlcyxcbiAgY29tbW9uTXFLZXlib2FyZFN0eWxlcyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBTyxJQUFNQSxrQkFBa0IsR0FBQUMsT0FBQSxDQUFBRCxrQkFBQSxHQUFHO0VBQ2hDRSxVQUFVLEVBQUUsNEJBQTRCO0VBQ3hDLHdCQUF3QixFQUFFLHdCQUF3QjtFQUVsRCw4QkFBOEIsRUFBRTtJQUM5QkEsVUFBVSxFQUFFO0VBQ2QsQ0FBQztFQUNELDBCQUEwQixFQUFFO0lBQzFCQSxVQUFVLEVBQUU7RUFDZCxDQUFDO0VBQ0QsZ0NBQWdDLEVBQUU7SUFDaENBLFVBQVUsRUFBRTtFQUNkLENBQUM7RUFDRCwrQ0FBK0MsRUFBRTtJQUMvQ0EsVUFBVSxFQUFFO0VBQ2Q7QUFDRixDQUFDO0FBRU0sSUFBTUMsYUFBYSxHQUFBRixPQUFBLENBQUFFLGFBQUEsR0FBRztFQUMzQixxQkFBcUIsRUFBRTtJQUNyQkMsU0FBUyxFQUFFLE1BQU07SUFDakJDLFVBQVUsRUFBRSxpQkFBaUI7SUFFN0IsZUFBZSxFQUFFO01BQ2ZDLE9BQU8sRUFBRSxjQUFjO01BQ3ZCRCxVQUFVLEVBQUUsZ0JBQWdCO01BQzVCRCxTQUFTLEVBQUU7SUFDYjtFQUNGLENBQUM7RUFFRCw2QkFBNkIsRUFBRTtJQUM3QkcsT0FBTyxFQUFFO0VBQ1g7QUFDRixDQUFDO0FBRU0sSUFBTUMsWUFBWSxHQUFBUCxPQUFBLENBQUFPLFlBQUEsR0FBRztFQUMxQixnQ0FBZ0MsRUFBRTtJQUNoQ0MsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQkMsYUFBYSxFQUFFLGtCQUFrQjtJQUNqQ0MsWUFBWSxFQUFFO0VBQ2hCLENBQUM7RUFDRCw0QkFBNEIsRUFBRTtJQUM1QkYsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNELGVBQWUsRUFBRTtJQUNmQSxRQUFRLEVBQUU7RUFDWixDQUFDO0VBQ0Qsd0NBQXdDLEVBQUU7SUFDeENDLGFBQWEsRUFBRSxtQkFBbUI7SUFFbEMsV0FBVyxFQUFFO01BQ1hFLFlBQVksRUFBRTtJQUNoQjtFQUNGLENBQUM7RUFDRDtFQUNBLHVEQUF1RCxFQUFFO0lBQ3ZERixhQUFhLEVBQUU7RUFDakIsQ0FBQztFQUVELGdFQUFnRSxFQUFFO0lBQ2hFQSxhQUFhLEVBQUU7RUFDakI7QUFDRixDQUFDO0FBRU0sSUFBTUcsc0JBQXNCLEdBQUFaLE9BQUEsQ0FBQVksc0JBQUEsR0FBRztFQUNwQyxLQUFLLEVBQUFDLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLEtBQ0FkLGtCQUFrQixHQUNsQkcsYUFBYTtJQUNoQixpQ0FBaUMsRUFBRTtNQUNqQ1ksR0FBRyxFQUFFO0lBQ1AsQ0FBQztJQUVELDJCQUEyQixFQUFFO01BQzNCVCxPQUFPLEVBQUU7SUFDWCxDQUFDO0lBRUQsNEJBQTRCLEVBQUU7TUFDNUJHLFFBQVEsRUFBRTtJQUNaLENBQUM7SUFFRCwrQkFBK0IsRUFBRTtNQUMvQkwsU0FBUyxFQUFFLE1BQU07TUFDakJZLFVBQVUsRUFBRTtJQUNkLENBQUM7SUFFRCwyQkFBMkIsRUFBRTtNQUMzQk4sYUFBYSxFQUFFO0lBQ2pCLENBQUM7SUFFRCw2REFBNkQsRUFBRTtNQUM3REosT0FBTyxFQUFFO0lBQ1gsQ0FBQztJQUVELDREQUE0RCxFQUFFO01BQzVEQSxPQUFPLEVBQUU7SUFDWDtFQUFDO0FBRUwsQ0FBQztBQUFDLElBQUFXLFFBQUEsR0FBQWhCLE9BQUEsY0FFYTtFQUNiRCxrQkFBa0IsRUFBbEJBLGtCQUFrQjtFQUNsQkcsYUFBYSxFQUFiQSxhQUFhO0VBQ2JLLFlBQVksRUFBWkEsWUFBWTtFQUNaSyxzQkFBc0IsRUFBdEJBO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mq/common-mq-styles.js"],"names":["commonMqFontStyles","fontFamily","longdivStyles","marginTop","marginLeft","padding","display","supsubStyles","fontSize","verticalAlign","paddingRight","marginBottom","commonMqKeyboardStyles","top","paddingTop"],"mappings":";;;;;;;;;;;;;;;AAAO,IAAMA,kBAAkB,GAAG;AAChCC,EAAAA,UAAU,EAAE,4BADoB;AAEhC,4BAA0B,wBAFM;AAIhC,kCAAgC;AAC9BA,IAAAA,UAAU,EAAE;AADkB,GAJA;AAOhC,8BAA4B;AAC1BA,IAAAA,UAAU,EAAE;AADc,GAPI;AAUhC,oCAAkC;AAChCA,IAAAA,UAAU,EAAE;AADoB,GAVF;AAahC,mDAAiD;AAC/CA,IAAAA,UAAU,EAAE;AADmC;AAbjB,CAA3B;;AAkBA,IAAMC,aAAa,GAAG;AAC3B,yBAAuB;AACrBC,IAAAA,SAAS,EAAE,MADU;AAErBC,IAAAA,UAAU,EAAE,iBAFS;AAIrB,qBAAiB;AACfC,MAAAA,OAAO,EAAE,cADM;AAEfD,MAAAA,UAAU,EAAE,gBAFG;AAGfD,MAAAA,SAAS,EAAE;AAHI;AAJI,GADI;AAY3B,iCAA+B;AAC7BG,IAAAA,OAAO,EAAE;AADoB;AAZJ,CAAtB;;AAiBA,IAAMC,YAAY,GAAG;AAC1B,oCAAkC;AAChCC,IAAAA,QAAQ,EAAE,gBADsB;AAEhCC,IAAAA,aAAa,EAAE,kBAFiB;AAGhCC,IAAAA,YAAY,EAAE;AAHkB,GADR;AAM1B,gCAA8B;AAC5BF,IAAAA,QAAQ,EAAE;AADkB,GANJ;AAS1B,mBAAiB;AACfA,IAAAA,QAAQ,EAAE;AADK,GATS;AAY1B,4CAA0C;AACxCC,IAAAA,aAAa,EAAE,mBADyB;AAGxC,iBAAa;AACXE,MAAAA,YAAY,EAAE;AADH;AAH2B,GAZhB;;AAmB1B;AACA,2DAAyD;AACvDF,IAAAA,aAAa,EAAE;AADwC,GApB/B;AAwB1B,oEAAkE;AAChEA,IAAAA,aAAa,EAAE;AADiD;AAxBxC,CAArB;;AA6BA,IAAMG,sBAAsB,GAAG;AACpC,uDACKZ,kBADL,GAEKE,aAFL;AAGE,uCAAmC;AACjCW,MAAAA,GAAG,EAAE;AAD4B,KAHrC;AAOE,iCAA6B;AAC3BR,MAAAA,OAAO,EAAE;AADkB,KAP/B;AAWE,kCAA8B;AAC5BG,MAAAA,QAAQ,EAAE;AADkB,KAXhC;AAeE,qCAAiC;AAC/BL,MAAAA,SAAS,EAAE,MADoB;AAE/BW,MAAAA,UAAU,EAAE;AAFmB,KAfnC;AAoBE,iCAA6B;AAC3BL,MAAAA,aAAa,EAAE;AADY,KApB/B;AAwBE,mEAA+D;AAC7DJ,MAAAA,OAAO,EAAE;AADoD,KAxBjE;AA4BE,kEAA8D;AAC5DA,MAAAA,OAAO,EAAE;AADmD;AA5BhE;AADoC,CAA/B;;eAmCQ;AACbL,EAAAA,kBAAkB,EAAlBA,kBADa;AAEbE,EAAAA,aAAa,EAAbA,aAFa;AAGbK,EAAAA,YAAY,EAAZA,YAHa;AAIbK,EAAAA,sBAAsB,EAAtBA;AAJa,C","sourcesContent":["export const commonMqFontStyles = {\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};\n\nexport const longdivStyles = {\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\n '& .mq-math-mode .mq-longdiv': {\n display: 'inline-flex !important',\n },\n};\n\nexport const supsubStyles = {\n '& .mq-math-mode sup.mq-nthroot': {\n fontSize: '70% !important',\n verticalAlign: '0.5em !important',\n paddingRight: '0.15em',\n },\n '& .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important',\n },\n '& .mq-supsub ': {\n fontSize: '70.7%',\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 /* But when the base is a fraction, move it higher */\n '& .mq-math-mode .mq-fraction + .mq-supsub.mq-sup-only': {\n verticalAlign: '0.4em !important',\n },\n\n '& .mq-math-mode .mq-supsub.mq-sup-only.mq-after-fraction-group': {\n verticalAlign: '0.4em !important',\n },\n};\n\nexport const commonMqKeyboardStyles = {\n '& *': {\n ...commonMqFontStyles,\n ...longdivStyles,\n '& .mq-math-mode .mq-sqrt-prefix': {\n top: '0 !important',\n },\n\n '& .mq-math-mode .mq-empty': {\n padding: '9px 1px !important',\n },\n\n '& .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important',\n },\n\n '& .mq-math-mode .mq-sqrt-stem': {\n marginTop: '-5px',\n paddingTop: '4px',\n },\n\n '& .mq-math-mode .mq-paren': {\n verticalAlign: 'middle !important',\n },\n\n '& .mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-empty': {\n padding: '0 !important',\n },\n\n '& .mq-math-mode .mq-overline .mq-overline-inner .mq-empty ': {\n padding: '0 !important',\n },\n },\n};\n\nexport default {\n commonMqFontStyles,\n longdivStyles,\n supsubStyles,\n commonMqKeyboardStyles,\n};\n"],"file":"common-mq-styles.js"}
1
+ {"version":3,"file":"common-mq-styles.js","names":["commonMqFontStyles","exports","fontFamily","longdivStyles","marginTop","marginLeft","padding","display","supsubStyles","fontSize","verticalAlign","paddingRight","marginBottom","commonMqKeyboardStyles","_objectSpread","top","paddingTop","_default"],"sources":["../../src/mq/common-mq-styles.js"],"sourcesContent":["export const commonMqFontStyles = {\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};\n\nexport const longdivStyles = {\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\n '& .mq-math-mode .mq-longdiv': {\n display: 'inline-flex !important',\n },\n};\n\nexport const supsubStyles = {\n '& .mq-math-mode sup.mq-nthroot': {\n fontSize: '70% !important',\n verticalAlign: '0.5em !important',\n paddingRight: '0.15em',\n },\n '& .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important',\n },\n '& .mq-supsub ': {\n fontSize: '70.7%',\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 /* But when the base is a fraction, move it higher */\n '& .mq-math-mode .mq-fraction + .mq-supsub.mq-sup-only': {\n verticalAlign: '0.4em !important',\n },\n\n '& .mq-math-mode .mq-supsub.mq-sup-only.mq-after-fraction-group': {\n verticalAlign: '0.4em !important',\n },\n};\n\nexport const commonMqKeyboardStyles = {\n '& *': {\n ...commonMqFontStyles,\n ...longdivStyles,\n '& .mq-math-mode .mq-sqrt-prefix': {\n top: '0 !important',\n },\n\n '& .mq-math-mode .mq-empty': {\n padding: '9px 1px !important',\n },\n\n '& .mq-math-mode .mq-supsub': {\n fontSize: '70.7% !important',\n },\n\n '& .mq-math-mode .mq-sqrt-stem': {\n marginTop: '-5px',\n paddingTop: '4px',\n },\n\n '& .mq-math-mode .mq-paren': {\n verticalAlign: 'middle !important',\n },\n\n '& .mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-empty': {\n padding: '0 !important',\n },\n\n '& .mq-math-mode .mq-overline .mq-overline-inner .mq-empty ': {\n padding: '0 !important',\n },\n },\n};\n\nexport default {\n commonMqFontStyles,\n longdivStyles,\n supsubStyles,\n commonMqKeyboardStyles,\n};\n"],"mappings":";;;;;;;;;;AAAO,IAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EAChCE,UAAU,EAAE,4BAA4B;EACxC,wBAAwB,EAAE,wBAAwB;EAElD,8BAA8B,EAAE;IAC9BA,UAAU,EAAE;EACd,CAAC;EACD,0BAA0B,EAAE;IAC1BA,UAAU,EAAE;EACd,CAAC;EACD,gCAAgC,EAAE;IAChCA,UAAU,EAAE;EACd,CAAC;EACD,+CAA+C,EAAE;IAC/CA,UAAU,EAAE;EACd;AACF,CAAC;AAEM,IAAMC,aAAa,GAAAF,OAAA,CAAAE,aAAA,GAAG;EAC3B,qBAAqB,EAAE;IACrBC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,iBAAiB;IAE7B,eAAe,EAAE;MACfC,OAAO,EAAE,cAAc;MACvBD,UAAU,EAAE,gBAAgB;MAC5BD,SAAS,EAAE;IACb;EACF,CAAC;EAED,6BAA6B,EAAE;IAC7BG,OAAO,EAAE;EACX;AACF,CAAC;AAEM,IAAMC,YAAY,GAAAP,OAAA,CAAAO,YAAA,GAAG;EAC1B,gCAAgC,EAAE;IAChCC,QAAQ,EAAE,gBAAgB;IAC1BC,aAAa,EAAE,kBAAkB;IACjCC,YAAY,EAAE;EAChB,CAAC;EACD,4BAA4B,EAAE;IAC5BF,QAAQ,EAAE;EACZ,CAAC;EACD,eAAe,EAAE;IACfA,QAAQ,EAAE;EACZ,CAAC;EACD,wCAAwC,EAAE;IACxCC,aAAa,EAAE,mBAAmB;IAElC,WAAW,EAAE;MACXE,YAAY,EAAE;IAChB;EACF,CAAC;EACD;EACA,uDAAuD,EAAE;IACvDF,aAAa,EAAE;EACjB,CAAC;EAED,gEAAgE,EAAE;IAChEA,aAAa,EAAE;EACjB;AACF,CAAC;AAEM,IAAMG,sBAAsB,GAAAZ,OAAA,CAAAY,sBAAA,GAAG;EACpC,KAAK,EAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACAd,kBAAkB,GAClBG,aAAa;IAChB,iCAAiC,EAAE;MACjCY,GAAG,EAAE;IACP,CAAC;IAED,2BAA2B,EAAE;MAC3BT,OAAO,EAAE;IACX,CAAC;IAED,4BAA4B,EAAE;MAC5BG,QAAQ,EAAE;IACZ,CAAC;IAED,+BAA+B,EAAE;MAC/BL,SAAS,EAAE,MAAM;MACjBY,UAAU,EAAE;IACd,CAAC;IAED,2BAA2B,EAAE;MAC3BN,aAAa,EAAE;IACjB,CAAC;IAED,6DAA6D,EAAE;MAC7DJ,OAAO,EAAE;IACX,CAAC;IAED,4DAA4D,EAAE;MAC5DA,OAAO,EAAE;IACX;EAAC;AAEL,CAAC;AAAC,IAAAW,QAAA,GAAAhB,OAAA,cAEa;EACbD,kBAAkB,EAAlBA,kBAAkB;EAClBG,aAAa,EAAbA,aAAa;EACbK,YAAY,EAAZA,YAAY;EACZK,sBAAsB,EAAtBA;AACF,CAAC","ignoreList":[]}
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.registerLineBreak = void 0;
7
-
8
- var registerLineBreak = function registerLineBreak(MQ) {
7
+ var registerLineBreak = exports.registerLineBreak = function registerLineBreak(MQ) {
9
8
  MQ.registerEmbed('newLine', function () {
10
9
  return {
11
10
  htmlString: '<div class="newLine"></div>',
@@ -18,6 +17,4 @@ var registerLineBreak = function registerLineBreak(MQ) {
18
17
  };
19
18
  });
20
19
  };
21
-
22
- exports.registerLineBreak = registerLineBreak;
23
- //# sourceMappingURL=custom-elements.js.map
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWdpc3RlckxpbmVCcmVhayIsImV4cG9ydHMiLCJNUSIsInJlZ2lzdGVyRW1iZWQiLCJodG1sU3RyaW5nIiwidGV4dCIsImxhdGV4Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21xL2N1c3RvbS1lbGVtZW50cy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZWdpc3RlckxpbmVCcmVhayA9IGZ1bmN0aW9uKE1RKSB7XG4gIE1RLnJlZ2lzdGVyRW1iZWQoJ25ld0xpbmUnLCAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGh0bWxTdHJpbmc6ICc8ZGl2IGNsYXNzPVwibmV3TGluZVwiPjwvZGl2PicsXG4gICAgICB0ZXh0OiAoKSA9PiAndGVzdFRleHQnLFxuICAgICAgbGF0ZXg6ICgpID0+ICdcXFxcZW1iZWR7bmV3TGluZX1bXScsXG4gICAgfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgeyByZWdpc3RlckxpbmVCcmVhayB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFNQSxpQkFBaUIsR0FBQUMsT0FBQSxDQUFBRCxpQkFBQSxHQUFHLFNBQXBCQSxpQkFBaUJBLENBQVlFLEVBQUUsRUFBRTtFQUNyQ0EsRUFBRSxDQUFDQyxhQUFhLENBQUMsU0FBUyxFQUFFLFlBQU07SUFDaEMsT0FBTztNQUNMQyxVQUFVLEVBQUUsNkJBQTZCO01BQ3pDQyxJQUFJLEVBQUUsU0FBTkEsSUFBSUEsQ0FBQTtRQUFBLE9BQVEsVUFBVTtNQUFBO01BQ3RCQyxLQUFLLEVBQUUsU0FBUEEsS0FBS0EsQ0FBQTtRQUFBLE9BQVEsb0JBQW9CO01BQUE7SUFDbkMsQ0FBQztFQUNILENBQUMsQ0FBQztBQUNKLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mq/custom-elements.js"],"names":["registerLineBreak","MQ","registerEmbed","htmlString","text","latex"],"mappings":";;;;;;;AAAA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAASC,EAAT,EAAa;AACrCA,EAAAA,EAAE,CAACC,aAAH,CAAiB,SAAjB,EAA4B,YAAM;AAChC,WAAO;AACLC,MAAAA,UAAU,EAAE,6BADP;AAELC,MAAAA,IAAI,EAAE;AAAA,eAAM,UAAN;AAAA,OAFD;AAGLC,MAAAA,KAAK,EAAE;AAAA,eAAM,oBAAN;AAAA;AAHF,KAAP;AAKD,GAND;AAOD,CARD","sourcesContent":["const registerLineBreak = function(MQ) {\n MQ.registerEmbed('newLine', () => {\n return {\n htmlString: '<div class=\"newLine\"></div>',\n text: () => 'testText',\n latex: () => '\\\\embed{newLine}[]',\n };\n });\n};\n\nexport { registerLineBreak };\n"],"file":"custom-elements.js"}
1
+ {"version":3,"file":"custom-elements.js","names":["registerLineBreak","exports","MQ","registerEmbed","htmlString","text","latex"],"sources":["../../src/mq/custom-elements.js"],"sourcesContent":["const registerLineBreak = function(MQ) {\n MQ.registerEmbed('newLine', () => {\n return {\n htmlString: '<div class=\"newLine\"></div>',\n text: () => 'testText',\n latex: () => '\\\\embed{newLine}[]',\n };\n });\n};\n\nexport { registerLineBreak };\n"],"mappings":";;;;;;AAAA,IAAMA,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAAYE,EAAE,EAAE;EACrCA,EAAE,CAACC,aAAa,CAAC,SAAS,EAAE,YAAM;IAChC,OAAO;MACLC,UAAU,EAAE,6BAA6B;MACzCC,IAAI,EAAE,SAANA,IAAIA,CAAA;QAAA,OAAQ,UAAU;MAAA;MACtBC,KAAK,EAAE,SAAPA,KAAKA,CAAA;QAAA,OAAQ,oBAAoB;MAAA;IACnC,CAAC;EACH,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
package/lib/mq/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -23,10 +22,7 @@ Object.defineProperty(exports, "Static", {
23
22
  return _static["default"];
24
23
  }
25
24
  });
26
-
27
25
  var _input = _interopRequireDefault(require("./input"));
28
-
29
26
  var _static = _interopRequireDefault(require("./static"));
30
-
31
27
  var _commonMqStyles = _interopRequireDefault(require("./common-mq-styles"));
32
- //# sourceMappingURL=index.js.map
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5wdXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdGF0aWMiLCJfY29tbW9uTXFTdHlsZXMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbXEvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElucHV0IGZyb20gJy4vaW5wdXQnO1xuaW1wb3J0IFN0YXRpYyBmcm9tICcuL3N0YXRpYyc7XG5pbXBvcnQgQ29tbW9uTXFTdHlsZXMgZnJvbSAnLi9jb21tb24tbXEtc3R5bGVzJztcblxuZXhwb3J0IHsgSW5wdXQsIFN0YXRpYywgQ29tbW9uTXFTdHlsZXMgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mq/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA","sourcesContent":["import Input from './input';\nimport Static from './static';\nimport CommonMqStyles from './common-mq-styles';\n\nexport { Input, Static, CommonMqStyles };\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_input","_interopRequireDefault","require","_static","_commonMqStyles"],"sources":["../../src/mq/index.js"],"sourcesContent":["import Input from './input';\nimport Static from './static';\nimport CommonMqStyles from './common-mq-styles';\n\nexport { Input, Static, CommonMqStyles };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA","ignoreList":[]}
package/lib/mq/input.js CHANGED
@@ -1,123 +1,88 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.Input = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
22
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
14
  var _react = _interopRequireDefault(require("react"));
25
-
26
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
16
+ var _styles = require("@mui/material/styles");
30
17
  var _debug = _interopRequireDefault(require("debug"));
31
-
32
- var _classnames = _interopRequireDefault(require("classnames"));
33
-
34
18
  var _customElements = require("./custom-elements");
35
-
36
19
  var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
-
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
-
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; })(); }
42
22
  var MQ;
43
-
44
23
  if (typeof window !== 'undefined') {
45
24
  MQ = _mathquill["default"].getInterface(2);
46
-
47
25
  if (MQ && MQ.registerEmbed) {
48
26
  (0, _customElements.registerLineBreak)(MQ);
49
27
  }
50
28
  }
51
-
52
29
  var log = (0, _debug["default"])('math-input:mq:input');
30
+ var StyledSpan = (0, _styles.styled)('span')({
31
+ // No specific styles needed, but component is available for future styling
32
+ });
33
+
53
34
  /**
54
35
  * Wrapper for MathQuill MQ.MathField.
55
36
  */
56
-
57
- var Input = /*#__PURE__*/function (_React$Component) {
58
- (0, _inherits2["default"])(Input, _React$Component);
59
-
60
- var _super = _createSuper(Input);
61
-
37
+ var Input = exports.Input = /*#__PURE__*/function (_React$Component) {
62
38
  function Input() {
63
39
  var _this;
64
-
65
40
  (0, _classCallCheck2["default"])(this, Input);
66
-
67
41
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
42
  args[_key] = arguments[_key];
69
43
  }
70
-
71
- _this = _super.call.apply(_super, [this].concat(args));
72
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onInputEdit", function () {
44
+ _this = _callSuper(this, Input, [].concat(args));
45
+ (0, _defineProperty2["default"])(_this, "onInputEdit", function () {
73
46
  log('[onInputEdit] ...');
74
47
  var onChange = _this.props.onChange;
75
-
76
48
  if (!_this.mathField) {
77
49
  return;
78
50
  }
79
-
80
51
  if (onChange) {
81
52
  onChange(_this.mathField.latex());
82
53
  }
83
54
  });
84
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "refresh", function () {
55
+ (0, _defineProperty2["default"])(_this, "refresh", function () {
85
56
  _this.blur();
86
-
87
57
  _this.focus();
88
58
  });
89
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onKeyPress", function (event) {
59
+ (0, _defineProperty2["default"])(_this, "onKeyPress", function (event) {
90
60
  var keys = Object.keys(_this.mathField.__controller.options);
91
-
92
61
  if (keys.indexOf('ignoreNextMousedown') < 0) {
93
62
  // It seems like the controller has the above handler as an option
94
63
  // when all the right events are set and everything works fine
95
64
  // this seems to work in all cases
96
65
  _this.refresh();
97
66
  }
98
-
99
67
  if (event.charCode === 13) {
100
68
  event.preventDefault();
101
69
  return;
102
70
  }
103
71
  });
104
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (event) {
72
+ (0, _defineProperty2["default"])(_this, "onClick", function (event) {
105
73
  var onClick = _this.props.onClick;
106
-
107
74
  _this.refresh();
108
-
109
75
  onClick && onClick(event);
110
76
  });
111
77
  return _this;
112
78
  }
113
-
114
- (0, _createClass2["default"])(Input, [{
79
+ (0, _inherits2["default"])(Input, _React$Component);
80
+ return (0, _createClass2["default"])(Input, [{
115
81
  key: "componentDidMount",
116
82
  value: function componentDidMount() {
117
83
  if (!MQ) {
118
84
  throw new Error('MQ is not defined - but component has mounted?');
119
85
  }
120
-
121
86
  this.mathField = MQ.MathField(this.input, {
122
87
  handlers: {
123
88
  edit: this.onInputEdit.bind(this)
@@ -136,9 +101,7 @@ var Input = /*#__PURE__*/function (_React$Component) {
136
101
  if (!this.mathField) {
137
102
  return;
138
103
  }
139
-
140
104
  var latex = this.props.latex;
141
-
142
105
  if (latex !== undefined && latex !== null) {
143
106
  this.mathField.latex(latex);
144
107
  }
@@ -165,9 +128,7 @@ var Input = /*#__PURE__*/function (_React$Component) {
165
128
  key: "command",
166
129
  value: function command(v) {
167
130
  var _this2 = this;
168
-
169
131
  log('command: ', v);
170
-
171
132
  if (Array.isArray(v)) {
172
133
  v.forEach(function (vv) {
173
134
  _this2.mathField.cmd(vv);
@@ -175,7 +136,6 @@ var Input = /*#__PURE__*/function (_React$Component) {
175
136
  } else {
176
137
  this.mathField.cmd(v);
177
138
  }
178
-
179
139
  this.mathField.focus();
180
140
  return this.mathField.latex();
181
141
  }
@@ -205,14 +165,12 @@ var Input = /*#__PURE__*/function (_React$Component) {
205
165
  key: "render",
206
166
  value: function render() {
207
167
  var _this3 = this;
208
-
209
168
  var _this$props = this.props,
210
- onFocus = _this$props.onFocus,
211
- onBlur = _this$props.onBlur,
212
- classes = _this$props.classes,
213
- className = _this$props.className;
214
- return /*#__PURE__*/_react["default"].createElement("span", {
215
- className: (0, _classnames["default"])(classes.input, className),
169
+ onFocus = _this$props.onFocus,
170
+ onBlur = _this$props.onBlur,
171
+ className = _this$props.className;
172
+ return /*#__PURE__*/_react["default"].createElement(StyledSpan, {
173
+ className: className,
216
174
  onKeyDown: this.onKeyPress,
217
175
  onClick: this.onClick,
218
176
  onFocus: onFocus,
@@ -223,25 +181,14 @@ var Input = /*#__PURE__*/function (_React$Component) {
223
181
  });
224
182
  }
225
183
  }]);
226
- return Input;
227
184
  }(_react["default"].Component);
228
-
229
- exports.Input = Input;
230
185
  (0, _defineProperty2["default"])(Input, "propTypes", {
231
186
  className: _propTypes["default"].string,
232
- classes: _propTypes["default"].object.isRequired,
233
187
  onClick: _propTypes["default"].func,
234
188
  onChange: _propTypes["default"].func,
235
189
  latex: _propTypes["default"].string,
236
190
  onFocus: _propTypes["default"].func,
237
191
  onBlur: _propTypes["default"].func
238
192
  });
239
-
240
- var styles = function styles() {
241
- return {};
242
- };
243
-
244
- var _default = (0, _styles.withStyles)(styles)(Input);
245
-
246
- exports["default"] = _default;
247
- //# sourceMappingURL=input.js.map
193
+ var _default = exports["default"] = Input;
194
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX2RlYnVnIiwiX2N1c3RvbUVsZW1lbnRzIiwiX21hdGhxdWlsbCIsIl9jYWxsU3VwZXIiLCJ0IiwibyIsImUiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiTVEiLCJ3aW5kb3ciLCJNYXRoUXVpbGwiLCJnZXRJbnRlcmZhY2UiLCJyZWdpc3RlckVtYmVkIiwicmVnaXN0ZXJMaW5lQnJlYWsiLCJsb2ciLCJkZWJ1ZyIsIlN0eWxlZFNwYW4iLCJzdHlsZWQiLCJJbnB1dCIsImV4cG9ydHMiLCJfUmVhY3QkQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJfZGVmaW5lUHJvcGVydHkyIiwib25DaGFuZ2UiLCJwcm9wcyIsIm1hdGhGaWVsZCIsImxhdGV4IiwiYmx1ciIsImZvY3VzIiwiZXZlbnQiLCJrZXlzIiwiT2JqZWN0IiwiX19jb250cm9sbGVyIiwib3B0aW9ucyIsImluZGV4T2YiLCJyZWZyZXNoIiwiY2hhckNvZGUiLCJwcmV2ZW50RGVmYXVsdCIsIm9uQ2xpY2siLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwiY29tcG9uZW50RGlkTW91bnQiLCJFcnJvciIsIk1hdGhGaWVsZCIsImlucHV0IiwiaGFuZGxlcnMiLCJlZGl0Iiwib25JbnB1dEVkaXQiLCJiaW5kIiwidXBkYXRlTGF0ZXgiLCJjb21wb25lbnREaWRVcGRhdGUiLCJ1bmRlZmluZWQiLCJjbGVhciIsImNvbW1hbmQiLCJ2IiwiX3RoaXMyIiwiaXNBcnJheSIsImZvckVhY2giLCJ2diIsImNtZCIsImtleXN0cm9rZSIsIndyaXRlIiwic2hvdWxkQ29tcG9uZW50VXBkYXRlIiwibmV4dFByb3BzIiwicmVuZGVyIiwiX3RoaXMzIiwiX3RoaXMkcHJvcHMiLCJvbkZvY3VzIiwib25CbHVyIiwiY2xhc3NOYW1lIiwiY3JlYXRlRWxlbWVudCIsIm9uS2V5RG93biIsIm9uS2V5UHJlc3MiLCJyZWYiLCJyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJmdW5jIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbXEvaW5wdXQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IHJlZ2lzdGVyTGluZUJyZWFrIH0gZnJvbSAnLi9jdXN0b20tZWxlbWVudHMnO1xuaW1wb3J0IE1hdGhRdWlsbCBmcm9tICdAcGllLWZyYW1ld29yay9tYXRocXVpbGwnO1xuXG5sZXQgTVE7XG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgTVEgPSBNYXRoUXVpbGwuZ2V0SW50ZXJmYWNlKDIpO1xuXG4gIGlmIChNUSAmJiBNUS5yZWdpc3RlckVtYmVkKSB7XG4gICAgcmVnaXN0ZXJMaW5lQnJlYWsoTVEpO1xuICB9XG59XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdtYXRoLWlucHV0Om1xOmlucHV0Jyk7XG5cbmNvbnN0IFN0eWxlZFNwYW4gPSBzdHlsZWQoJ3NwYW4nKSh7XG4gIC8vIE5vIHNwZWNpZmljIHN0eWxlcyBuZWVkZWQsIGJ1dCBjb21wb25lbnQgaXMgYXZhaWxhYmxlIGZvciBmdXR1cmUgc3R5bGluZ1xufSk7XG5cbi8qKlxuICogV3JhcHBlciBmb3IgTWF0aFF1aWxsIE1RLk1hdGhGaWVsZC5cbiAqL1xuZXhwb3J0IGNsYXNzIElucHV0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIGxhdGV4OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQmx1cjogUHJvcFR5cGVzLmZ1bmMsXG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgaWYgKCFNUSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNUSBpcyBub3QgZGVmaW5lZCAtIGJ1dCBjb21wb25lbnQgaGFzIG1vdW50ZWQ/Jyk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXRoRmllbGQgPSBNUS5NYXRoRmllbGQodGhpcy5pbnB1dCwge1xuICAgICAgaGFuZGxlcnM6IHtcbiAgICAgICAgZWRpdDogdGhpcy5vbklucHV0RWRpdC5iaW5kKHRoaXMpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMudXBkYXRlTGF0ZXgoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICB0aGlzLnVwZGF0ZUxhdGV4KCk7XG4gIH1cblxuICB1cGRhdGVMYXRleCgpIHtcbiAgICBpZiAoIXRoaXMubWF0aEZpZWxkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBsYXRleCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChsYXRleCAhPT0gdW5kZWZpbmVkICYmIGxhdGV4ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLm1hdGhGaWVsZC5sYXRleChsYXRleCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5tYXRoRmllbGQubGF0ZXgoJycpO1xuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgYmx1cigpIHtcbiAgICBsb2coJ2JsdXIgbWF0aGZpZWxkJyk7XG4gICAgdGhpcy5tYXRoRmllbGQuYmx1cigpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgbG9nKCdmb2N1cyBtYXRoZmllbGQuLi4nKTtcbiAgICB0aGlzLm1hdGhGaWVsZC5mb2N1cygpO1xuICB9XG5cbiAgY29tbWFuZCh2KSB7XG4gICAgbG9nKCdjb21tYW5kOiAnLCB2KTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgdi5mb3JFYWNoKCh2dikgPT4ge1xuICAgICAgICB0aGlzLm1hdGhGaWVsZC5jbWQodnYpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWF0aEZpZWxkLmNtZCh2KTtcbiAgICB9XG5cbiAgICB0aGlzLm1hdGhGaWVsZC5mb2N1cygpO1xuXG4gICAgcmV0dXJuIHRoaXMubWF0aEZpZWxkLmxhdGV4KCk7XG4gIH1cblxuICBrZXlzdHJva2Uodikge1xuICAgIHRoaXMubWF0aEZpZWxkLmtleXN0cm9rZSh2KTtcbiAgICB0aGlzLm1hdGhGaWVsZC5mb2N1cygpO1xuXG4gICAgcmV0dXJuIHRoaXMubWF0aEZpZWxkLmxhdGV4KCk7XG4gIH1cblxuICB3cml0ZSh2KSB7XG4gICAgbG9nKCd3cml0ZTogJywgdik7XG4gICAgdGhpcy5tYXRoRmllbGQud3JpdGUodik7XG4gICAgdGhpcy5tYXRoRmllbGQuZm9jdXMoKTtcblxuICAgIHJldHVybiB0aGlzLm1hdGhGaWVsZC5sYXRleCgpO1xuICB9XG5cbiAgb25JbnB1dEVkaXQgPSAoKSA9PiB7XG4gICAgbG9nKCdbb25JbnB1dEVkaXRdIC4uLicpO1xuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoIXRoaXMubWF0aEZpZWxkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICBvbkNoYW5nZSh0aGlzLm1hdGhGaWVsZC5sYXRleCgpKTtcbiAgICB9XG4gIH07XG5cbiAgcmVmcmVzaCA9ICgpID0+IHtcbiAgICB0aGlzLmJsdXIoKTtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH07XG5cbiAgb25LZXlQcmVzcyA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLm1hdGhGaWVsZC5fX2NvbnRyb2xsZXIub3B0aW9ucyk7XG5cbiAgICBpZiAoa2V5cy5pbmRleE9mKCdpZ25vcmVOZXh0TW91c2Vkb3duJykgPCAwKSB7XG4gICAgICAvLyBJdCBzZWVtcyBsaWtlIHRoZSBjb250cm9sbGVyIGhhcyB0aGUgYWJvdmUgaGFuZGxlciBhcyBhbiBvcHRpb25cbiAgICAgIC8vIHdoZW4gYWxsIHRoZSByaWdodCBldmVudHMgYXJlIHNldCBhbmQgZXZlcnl0aGluZyB3b3JrcyBmaW5lXG4gICAgICAvLyB0aGlzIHNlZW1zIHRvIHdvcmsgaW4gYWxsIGNhc2VzXG4gICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQuY2hhckNvZGUgPT09IDEzKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfTtcblxuICBvbkNsaWNrID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBvbkNsaWNrIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgb25DbGljayAmJiBvbkNsaWNrKGV2ZW50KTtcbiAgfTtcblxuICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgbG9nKCduZXh0OiAnLCBuZXh0UHJvcHMubGF0ZXgpO1xuICAgIGxvZygnY3VycmVudDogJywgdGhpcy5tYXRoRmllbGQubGF0ZXgoKSk7XG5cbiAgICByZXR1cm4gbmV4dFByb3BzLmxhdGV4ICE9PSB0aGlzLm1hdGhGaWVsZC5sYXRleCgpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgb25Gb2N1cywgb25CbHVyLCBjbGFzc05hbWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNwYW5cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgIG9uS2V5RG93bj17dGhpcy5vbktleVByZXNzfVxuICAgICAgICBvbkNsaWNrPXt0aGlzLm9uQ2xpY2t9XG4gICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICByZWY9eyhyKSA9PiAodGhpcy5pbnB1dCA9IHIpfVxuICAgICAgLz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IElucHV0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQWlELFNBQUFNLFdBQUFDLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFdBQUFELENBQUEsT0FBQUUsZ0JBQUEsYUFBQUYsQ0FBQSxPQUFBRywyQkFBQSxhQUFBSixDQUFBLEVBQUFLLHlCQUFBLEtBQUFDLE9BQUEsQ0FBQUMsU0FBQSxDQUFBTixDQUFBLEVBQUFDLENBQUEsWUFBQUMsZ0JBQUEsYUFBQUgsQ0FBQSxFQUFBUSxXQUFBLElBQUFQLENBQUEsQ0FBQVEsS0FBQSxDQUFBVCxDQUFBLEVBQUFFLENBQUE7QUFBQSxTQUFBRywwQkFBQSxjQUFBTCxDQUFBLElBQUFVLE9BQUEsQ0FBQUMsU0FBQSxDQUFB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