@pie-lib/math-input 7.0.0-next.0 → 7.1.0-next.1

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 (70) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.json +2 -10
  3. package/src/keypad/index.jsx +2 -3
  4. package/lib/horizontal-keypad.js +0 -96
  5. package/lib/horizontal-keypad.js.map +0 -1
  6. package/lib/index.js +0 -54
  7. package/lib/index.js.map +0 -1
  8. package/lib/keypad/index.js +0 -434
  9. package/lib/keypad/index.js.map +0 -1
  10. package/lib/keypad/keys-layout.js +0 -24
  11. package/lib/keypad/keys-layout.js.map +0 -1
  12. package/lib/keys/basic-operators.js +0 -33
  13. package/lib/keys/basic-operators.js.map +0 -1
  14. package/lib/keys/chars.js +0 -12
  15. package/lib/keys/chars.js.map +0 -1
  16. package/lib/keys/comparison.js +0 -39
  17. package/lib/keys/comparison.js.map +0 -1
  18. package/lib/keys/constants.js +0 -37
  19. package/lib/keys/constants.js.map +0 -1
  20. package/lib/keys/digits.js +0 -47
  21. package/lib/keys/digits.js.map +0 -1
  22. package/lib/keys/edit.js +0 -14
  23. package/lib/keys/edit.js.map +0 -1
  24. package/lib/keys/exponent.js +0 -30
  25. package/lib/keys/exponent.js.map +0 -1
  26. package/lib/keys/fractions.js +0 -29
  27. package/lib/keys/fractions.js.map +0 -1
  28. package/lib/keys/geometry.js +0 -140
  29. package/lib/keys/geometry.js.map +0 -1
  30. package/lib/keys/grades.js +0 -259
  31. package/lib/keys/grades.js.map +0 -1
  32. package/lib/keys/index.js +0 -35
  33. package/lib/keys/index.js.map +0 -1
  34. package/lib/keys/log.js +0 -27
  35. package/lib/keys/log.js.map +0 -1
  36. package/lib/keys/logic.js +0 -19
  37. package/lib/keys/logic.js.map +0 -1
  38. package/lib/keys/matrices.js +0 -19
  39. package/lib/keys/matrices.js.map +0 -1
  40. package/lib/keys/misc.js +0 -62
  41. package/lib/keys/misc.js.map +0 -1
  42. package/lib/keys/navigation.js +0 -20
  43. package/lib/keys/navigation.js.map +0 -1
  44. package/lib/keys/operators.js +0 -15
  45. package/lib/keys/operators.js.map +0 -1
  46. package/lib/keys/statistics.js +0 -40
  47. package/lib/keys/statistics.js.map +0 -1
  48. package/lib/keys/sub-sup.js +0 -19
  49. package/lib/keys/sub-sup.js.map +0 -1
  50. package/lib/keys/trigonometry.js +0 -45
  51. package/lib/keys/trigonometry.js.map +0 -1
  52. package/lib/keys/utils.js +0 -87
  53. package/lib/keys/utils.js.map +0 -1
  54. package/lib/keys/vars.js +0 -24
  55. package/lib/keys/vars.js.map +0 -1
  56. package/lib/math-input.js +0 -141
  57. package/lib/math-input.js.map +0 -1
  58. package/lib/mq/common-mq-styles.js +0 -99
  59. package/lib/mq/common-mq-styles.js.map +0 -1
  60. package/lib/mq/custom-elements.js +0 -20
  61. package/lib/mq/custom-elements.js.map +0 -1
  62. package/lib/mq/index.js +0 -28
  63. package/lib/mq/index.js.map +0 -1
  64. package/lib/mq/input.js +0 -194
  65. package/lib/mq/input.js.map +0 -1
  66. package/lib/mq/static.js +0 -298
  67. package/lib/mq/static.js.map +0 -1
  68. package/lib/shared/constants.js +0 -13
  69. package/lib/updateSpans.js +0 -19
  70. package/lib/updateSpans.js.map +0 -1
package/lib/math-input.js DELETED
@@ -1,141 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.MathInput = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
17
- var _styles = require("@mui/material/styles");
18
- var mq = _interopRequireWildcard(require("./mq"));
19
- var _keys = require("./keys");
20
- var _keypad = _interopRequireDefault(require("./keypad"));
21
- var _debug = _interopRequireDefault(require("debug"));
22
- 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); }
23
- 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)); }
24
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
25
- var log = (0, _debug["default"])('pie-lib:math-input');
26
- var grey = 'rgba(0, 0, 0, 0.23)';
27
- var MathInputContainer = (0, _styles.styled)('div')(function (_ref) {
28
- var theme = _ref.theme,
29
- focused = _ref.focused;
30
- return {
31
- borderRadius: '4px',
32
- border: "solid 1px ".concat(focused ? theme.palette.primary.main : grey),
33
- marginTop: theme.spacing(1),
34
- marginBottom: theme.spacing(1),
35
- transition: 'border 200ms linear'
36
- };
37
- });
38
- var PadContainer = (0, _styles.styled)('div')({
39
- width: '100%',
40
- display: 'flex'
41
- });
42
- var StyledMqInput = (0, _styles.styled)(mq.Input)(function (_ref2) {
43
- var theme = _ref2.theme;
44
- return {
45
- width: '100%',
46
- border: "solid 0px ".concat(theme.palette.primary.light),
47
- transition: 'border 200ms linear',
48
- padding: theme.spacing(1),
49
- '&.mq-focused': {
50
- outline: 'none',
51
- boxShadow: 'none',
52
- border: "solid 0px ".concat(theme.palette.primary.dark)
53
- }
54
- };
55
- });
56
- var MathInput = exports.MathInput = /*#__PURE__*/function (_React$Component) {
57
- function MathInput(props) {
58
- var _this;
59
- (0, _classCallCheck2["default"])(this, MathInput);
60
- _this = _callSuper(this, MathInput, [props]);
61
- (0, _defineProperty2["default"])(_this, "keypadPress", function (key) {
62
- log('[keypadPress] key:', key);
63
- if (!_this.input) {
64
- return;
65
- }
66
- if (key.latex && !key.command) {
67
- _this.input.write(key.latex);
68
- } else if (key.write) {
69
- _this.input.write(key.write);
70
- } else if (key.command) {
71
- _this.input.command(key.command);
72
- } else if (key.keystroke) {
73
- _this.input.keystroke(key.keystroke);
74
- }
75
- });
76
- (0, _defineProperty2["default"])(_this, "inputFocus", function () {
77
- _this.setState({
78
- focused: true
79
- });
80
- });
81
- (0, _defineProperty2["default"])(_this, "inputBlur", function () {
82
- _this.setState({
83
- focused: false
84
- });
85
- });
86
- (0, _defineProperty2["default"])(_this, "changeLatex", function (l) {
87
- var onChange = _this.props.onChange;
88
- if (onChange && l !== _this.props.latex) {
89
- log('[changeLatex]', l, _this.props.latex);
90
- onChange(l);
91
- }
92
- });
93
- _this.state = {
94
- focused: false
95
- };
96
- return _this;
97
- }
98
- (0, _inherits2["default"])(MathInput, _React$Component);
99
- return (0, _createClass2["default"])(MathInput, [{
100
- key: "render",
101
- value: function render() {
102
- var _this2 = this;
103
- var _this$props = this.props,
104
- className = _this$props.className,
105
- keyset = _this$props.keyset,
106
- latex = _this$props.latex;
107
- var focused = this.state.focused;
108
- var showKeypad = true; // TODO: add support for different displayModes - displayMode === 'block' || focused;
109
-
110
- return /*#__PURE__*/_react["default"].createElement(MathInputContainer, {
111
- className: className,
112
- focused: focused
113
- }, /*#__PURE__*/_react["default"].createElement(StyledMqInput, {
114
- innerRef: function innerRef(r) {
115
- return _this2.input = r;
116
- },
117
- onFocus: this.inputFocus,
118
- onBlur: this.inputBlur,
119
- latex: latex,
120
- onChange: this.changeLatex
121
- }), showKeypad && /*#__PURE__*/_react["default"].createElement(PadContainer, null, /*#__PURE__*/_react["default"].createElement(_keypad["default"], {
122
- baseSet: _keys.baseSet,
123
- additionalKeys: keyset,
124
- onPress: this.keypadPress
125
- })));
126
- }
127
- }]);
128
- }(_react["default"].Component);
129
- (0, _defineProperty2["default"])(MathInput, "propTypes", {
130
- className: _propTypes["default"].string,
131
- keyset: _propTypes["default"].array,
132
- displayMode: _propTypes["default"].oneOf(['block', 'block-on-focus']),
133
- latex: _propTypes["default"].string,
134
- onChange: _propTypes["default"].func
135
- });
136
- (0, _defineProperty2["default"])(MathInput, "defaultProps", {
137
- keyset: [],
138
- displayMode: 'block'
139
- });
140
- var _default = exports["default"] = MathInput;
141
- //# sourceMappingURL=math-input.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1,99 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.supsubStyles = exports.longdivStyles = exports["default"] = exports.commonMqKeyboardStyles = exports.commonMqFontStyles = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
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 = {
12
- fontFamily: 'MJXZERO, MJXTEX !important',
13
- '-webkit-font-smoothing': 'antialiased !important',
14
- '& .mq-math-mode > span > var': {
15
- fontFamily: 'MJXZERO, MJXTEX-I !important'
16
- },
17
- '& .mq-math-mode span var': {
18
- fontFamily: 'MJXZERO, MJXTEX-I !important'
19
- },
20
- '& .mq-math-mode .mq-nonSymbola': {
21
- fontFamily: 'MJXZERO, MJXTEX-I !important'
22
- },
23
- '& .mq-math-mode > span > var.mq-operator-name': {
24
- fontFamily: 'MJXZERO, MJXTEX !important'
25
- }
26
- };
27
- var longdivStyles = exports.longdivStyles = {
28
- '& .mq-longdiv-inner': {
29
- marginTop: '-1px',
30
- marginLeft: '5px !important;',
31
- '& > .mq-empty': {
32
- padding: '0 !important',
33
- marginLeft: '0px !important',
34
- marginTop: '2px'
35
- }
36
- },
37
- '& .mq-math-mode .mq-longdiv': {
38
- display: 'inline-flex !important'
39
- }
40
- };
41
- var supsubStyles = exports.supsubStyles = {
42
- '& .mq-math-mode sup.mq-nthroot': {
43
- fontSize: '70% !important',
44
- verticalAlign: '0.5em !important',
45
- paddingRight: '0.15em'
46
- },
47
- '& .mq-math-mode .mq-supsub': {
48
- fontSize: '70.7% !important'
49
- },
50
- '& .mq-supsub ': {
51
- fontSize: '70.7%'
52
- },
53
- '& .mq-math-mode .mq-supsub.mq-sup-only': {
54
- verticalAlign: '-0.1em !important',
55
- '& .mq-sup': {
56
- marginBottom: '0px !important'
57
- }
58
- },
59
- /* But when the base is a fraction, move it higher */
60
- '& .mq-math-mode .mq-fraction + .mq-supsub.mq-sup-only': {
61
- verticalAlign: '0.4em !important'
62
- },
63
- '& .mq-math-mode .mq-supsub.mq-sup-only.mq-after-fraction-group': {
64
- verticalAlign: '0.4em !important'
65
- }
66
- };
67
- var commonMqKeyboardStyles = exports.commonMqKeyboardStyles = {
68
- '& *': _objectSpread(_objectSpread(_objectSpread({}, commonMqFontStyles), longdivStyles), {}, {
69
- '& .mq-math-mode .mq-sqrt-prefix': {
70
- top: '0 !important'
71
- },
72
- '& .mq-math-mode .mq-empty': {
73
- padding: '9px 1px !important'
74
- },
75
- '& .mq-math-mode .mq-supsub': {
76
- fontSize: '70.7% !important'
77
- },
78
- '& .mq-math-mode .mq-sqrt-stem': {
79
- marginTop: '-5px',
80
- paddingTop: '4px'
81
- },
82
- '& .mq-math-mode .mq-paren': {
83
- verticalAlign: 'middle !important'
84
- },
85
- '& .mq-math-mode .mq-overarrow .mq-overarrow-inner .mq-empty': {
86
- padding: '0 !important'
87
- },
88
- '& .mq-math-mode .mq-overline .mq-overline-inner .mq-empty ': {
89
- padding: '0 !important'
90
- }
91
- })
92
- };
93
- var _default = exports["default"] = {
94
- commonMqFontStyles: commonMqFontStyles,
95
- longdivStyles: longdivStyles,
96
- supsubStyles: supsubStyles,
97
- commonMqKeyboardStyles: commonMqKeyboardStyles
98
- };
99
- //# sourceMappingURL=common-mq-styles.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.registerLineBreak = void 0;
7
- var registerLineBreak = exports.registerLineBreak = function registerLineBreak(MQ) {
8
- MQ.registerEmbed('newLine', function () {
9
- return {
10
- htmlString: '<div class="newLine"></div>',
11
- text: function text() {
12
- return 'testText';
13
- },
14
- latex: function latex() {
15
- return '\\embed{newLine}[]';
16
- }
17
- };
18
- });
19
- };
20
- //# sourceMappingURL=custom-elements.js.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "CommonMqStyles", {
8
- enumerable: true,
9
- get: function get() {
10
- return _commonMqStyles["default"];
11
- }
12
- });
13
- Object.defineProperty(exports, "Input", {
14
- enumerable: true,
15
- get: function get() {
16
- return _input["default"];
17
- }
18
- });
19
- Object.defineProperty(exports, "Static", {
20
- enumerable: true,
21
- get: function get() {
22
- return _static["default"];
23
- }
24
- });
25
- var _input = _interopRequireDefault(require("./input"));
26
- var _static = _interopRequireDefault(require("./static"));
27
- var _commonMqStyles = _interopRequireDefault(require("./common-mq-styles"));
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,194 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = exports.Input = void 0;
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"));
14
- var _react = _interopRequireDefault(require("react"));
15
- var _propTypes = _interopRequireDefault(require("prop-types"));
16
- var _styles = require("@mui/material/styles");
17
- var _debug = _interopRequireDefault(require("debug"));
18
- var _customElements = require("./custom-elements");
19
- var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
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
- var MQ;
23
- if (typeof window !== 'undefined') {
24
- MQ = _mathquill["default"].getInterface(2);
25
- if (MQ && MQ.registerEmbed) {
26
- (0, _customElements.registerLineBreak)(MQ);
27
- }
28
- }
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
-
34
- /**
35
- * Wrapper for MathQuill MQ.MathField.
36
- */
37
- var Input = exports.Input = /*#__PURE__*/function (_React$Component) {
38
- function Input() {
39
- var _this;
40
- (0, _classCallCheck2["default"])(this, Input);
41
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
42
- args[_key] = arguments[_key];
43
- }
44
- _this = _callSuper(this, Input, [].concat(args));
45
- (0, _defineProperty2["default"])(_this, "onInputEdit", function () {
46
- log('[onInputEdit] ...');
47
- var onChange = _this.props.onChange;
48
- if (!_this.mathField) {
49
- return;
50
- }
51
- if (onChange) {
52
- onChange(_this.mathField.latex());
53
- }
54
- });
55
- (0, _defineProperty2["default"])(_this, "refresh", function () {
56
- _this.blur();
57
- _this.focus();
58
- });
59
- (0, _defineProperty2["default"])(_this, "onKeyPress", function (event) {
60
- var keys = Object.keys(_this.mathField.__controller.options);
61
- if (keys.indexOf('ignoreNextMousedown') < 0) {
62
- // It seems like the controller has the above handler as an option
63
- // when all the right events are set and everything works fine
64
- // this seems to work in all cases
65
- _this.refresh();
66
- }
67
- if (event.charCode === 13) {
68
- event.preventDefault();
69
- return;
70
- }
71
- });
72
- (0, _defineProperty2["default"])(_this, "onClick", function (event) {
73
- var onClick = _this.props.onClick;
74
- _this.refresh();
75
- onClick && onClick(event);
76
- });
77
- return _this;
78
- }
79
- (0, _inherits2["default"])(Input, _React$Component);
80
- return (0, _createClass2["default"])(Input, [{
81
- key: "componentDidMount",
82
- value: function componentDidMount() {
83
- if (!MQ) {
84
- throw new Error('MQ is not defined - but component has mounted?');
85
- }
86
- this.mathField = MQ.MathField(this.input, {
87
- handlers: {
88
- edit: this.onInputEdit.bind(this)
89
- }
90
- });
91
- this.updateLatex();
92
- }
93
- }, {
94
- key: "componentDidUpdate",
95
- value: function componentDidUpdate() {
96
- this.updateLatex();
97
- }
98
- }, {
99
- key: "updateLatex",
100
- value: function updateLatex() {
101
- if (!this.mathField) {
102
- return;
103
- }
104
- var latex = this.props.latex;
105
- if (latex !== undefined && latex !== null) {
106
- this.mathField.latex(latex);
107
- }
108
- }
109
- }, {
110
- key: "clear",
111
- value: function clear() {
112
- this.mathField.latex('');
113
- return '';
114
- }
115
- }, {
116
- key: "blur",
117
- value: function blur() {
118
- log('blur mathfield');
119
- this.mathField.blur();
120
- }
121
- }, {
122
- key: "focus",
123
- value: function focus() {
124
- log('focus mathfield...');
125
- this.mathField.focus();
126
- }
127
- }, {
128
- key: "command",
129
- value: function command(v) {
130
- var _this2 = this;
131
- log('command: ', v);
132
- if (Array.isArray(v)) {
133
- v.forEach(function (vv) {
134
- _this2.mathField.cmd(vv);
135
- });
136
- } else {
137
- this.mathField.cmd(v);
138
- }
139
- this.mathField.focus();
140
- return this.mathField.latex();
141
- }
142
- }, {
143
- key: "keystroke",
144
- value: function keystroke(v) {
145
- this.mathField.keystroke(v);
146
- this.mathField.focus();
147
- return this.mathField.latex();
148
- }
149
- }, {
150
- key: "write",
151
- value: function write(v) {
152
- log('write: ', v);
153
- this.mathField.write(v);
154
- this.mathField.focus();
155
- return this.mathField.latex();
156
- }
157
- }, {
158
- key: "shouldComponentUpdate",
159
- value: function shouldComponentUpdate(nextProps) {
160
- log('next: ', nextProps.latex);
161
- log('current: ', this.mathField.latex());
162
- return nextProps.latex !== this.mathField.latex();
163
- }
164
- }, {
165
- key: "render",
166
- value: function render() {
167
- var _this3 = this;
168
- var _this$props = this.props,
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,
174
- onKeyDown: this.onKeyPress,
175
- onClick: this.onClick,
176
- onFocus: onFocus,
177
- onBlur: onBlur,
178
- ref: function ref(r) {
179
- return _this3.input = r;
180
- }
181
- });
182
- }
183
- }]);
184
- }(_react["default"].Component);
185
- (0, _defineProperty2["default"])(Input, "propTypes", {
186
- className: _propTypes["default"].string,
187
- onClick: _propTypes["default"].func,
188
- onChange: _propTypes["default"].func,
189
- latex: _propTypes["default"].string,
190
- onFocus: _propTypes["default"].func,
191
- onBlur: _propTypes["default"].func
192
- });
193
- var _default = exports["default"] = Input;
194
- //# sourceMappingURL=input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_debug","_customElements","_mathquill","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","MQ","window","MathQuill","getInterface","registerEmbed","registerLineBreak","log","debug","StyledSpan","styled","Input","exports","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","onChange","props","mathField","latex","blur","focus","event","keys","Object","__controller","options","indexOf","refresh","charCode","preventDefault","onClick","_inherits2","_createClass2","key","value","componentDidMount","Error","MathField","input","handlers","edit","onInputEdit","bind","updateLatex","componentDidUpdate","undefined","clear","command","v","_this2","isArray","forEach","vv","cmd","keystroke","write","shouldComponentUpdate","nextProps","render","_this3","_this$props","onFocus","onBlur","className","createElement","onKeyDown","onKeyPress","ref","r","React","Component","PropTypes","string","func","_default"],"sources":["../../src/mq/input.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport debug from 'debug';\nimport { registerLineBreak } from './custom-elements';\nimport MathQuill from '@pie-framework/mathquill';\n\nlet MQ;\nif (typeof window !== 'undefined') {\n MQ = MathQuill.getInterface(2);\n\n if (MQ && MQ.registerEmbed) {\n registerLineBreak(MQ);\n }\n}\n\nconst log = debug('math-input:mq:input');\n\nconst StyledSpan = styled('span')({\n // No specific styles needed, but component is available for future styling\n});\n\n/**\n * Wrapper for MathQuill MQ.MathField.\n */\nexport class Input extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func,\n onChange: PropTypes.func,\n latex: PropTypes.string,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n };\n\n componentDidMount() {\n if (!MQ) {\n throw new Error('MQ is not defined - but component has mounted?');\n }\n\n this.mathField = MQ.MathField(this.input, {\n handlers: {\n edit: this.onInputEdit.bind(this),\n },\n });\n\n this.updateLatex();\n }\n\n componentDidUpdate() {\n this.updateLatex();\n }\n\n updateLatex() {\n if (!this.mathField) {\n return;\n }\n\n const { latex } = this.props;\n\n if (latex !== undefined && latex !== null) {\n this.mathField.latex(latex);\n }\n }\n\n clear() {\n this.mathField.latex('');\n\n return '';\n }\n\n blur() {\n log('blur mathfield');\n this.mathField.blur();\n }\n\n focus() {\n log('focus mathfield...');\n this.mathField.focus();\n }\n\n command(v) {\n log('command: ', v);\n if (Array.isArray(v)) {\n v.forEach((vv) => {\n this.mathField.cmd(vv);\n });\n } else {\n this.mathField.cmd(v);\n }\n\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n keystroke(v) {\n this.mathField.keystroke(v);\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n write(v) {\n log('write: ', v);\n this.mathField.write(v);\n this.mathField.focus();\n\n return this.mathField.latex();\n }\n\n onInputEdit = () => {\n log('[onInputEdit] ...');\n const { onChange } = this.props;\n\n if (!this.mathField) {\n return;\n }\n\n if (onChange) {\n onChange(this.mathField.latex());\n }\n };\n\n refresh = () => {\n this.blur();\n this.focus();\n };\n\n onKeyPress = (event) => {\n const keys = Object.keys(this.mathField.__controller.options);\n\n if (keys.indexOf('ignoreNextMousedown') < 0) {\n // It seems like the controller has the above handler as an option\n // when all the right events are set and everything works fine\n // this seems to work in all cases\n this.refresh();\n }\n\n if (event.charCode === 13) {\n event.preventDefault();\n return;\n }\n };\n\n onClick = (event) => {\n const { onClick } = this.props;\n\n this.refresh();\n onClick && onClick(event);\n };\n\n shouldComponentUpdate(nextProps) {\n log('next: ', nextProps.latex);\n log('current: ', this.mathField.latex());\n\n return nextProps.latex !== this.mathField.latex();\n }\n\n render() {\n const { onFocus, onBlur, className } = this.props;\n\n return (\n <StyledSpan\n className={className}\n onKeyDown={this.onKeyPress}\n onClick={this.onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={(r) => (this.input = r)}\n />\n );\n }\n}\n\nexport default Input;\n"],"mappings":"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","ignoreList":[]}