@pie-lib/math-input 6.11.5-next.0 → 6.12.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/CHANGELOG.md +54 -187
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/package.json +6 -2
  4. package/src/__tests__/__snapshots__/math-input-test.jsx.snap +152 -0
  5. package/src/__tests__/math-input-test.jsx +85 -0
  6. package/src/horizontal-keypad.jsx +14 -1
  7. package/src/index.jsx +1 -10
  8. package/src/keypad/__tests__/__snapshots__/index.test.jsx.snap +193 -0
  9. package/src/keypad/__tests__/index.test.jsx +24 -0
  10. package/src/keypad/__tests__/keys-layout.test.js +15 -0
  11. package/src/keypad/index.jsx +99 -15
  12. package/src/keys/__tests__/utils.test.js +57 -0
  13. package/src/keys/geometry.js +6 -2
  14. package/src/keys/grades.js +11 -0
  15. package/src/keys/log.js +1 -1
  16. package/src/mq/__tests__/__snapshots__/input.test.jsx.snap +9 -0
  17. package/src/mq/__tests__/input.test.jsx +92 -0
  18. package/src/mq/__tests__/static.test.jsx +57 -0
  19. package/src/mq/common-mq-styles.js +105 -0
  20. package/src/mq/index.js +2 -1
  21. package/src/mq/input.jsx +22 -9
  22. package/src/mq/static.jsx +142 -13
  23. package/src/updateSpans.js +15 -0
  24. package/README.md +0 -27
  25. package/lib/horizontal-keypad.js +0 -118
  26. package/lib/horizontal-keypad.js.map +0 -1
  27. package/lib/index.js +0 -80
  28. package/lib/index.js.map +0 -1
  29. package/lib/keypad/index.js +0 -441
  30. package/lib/keypad/index.js.map +0 -1
  31. package/lib/keypad/keys-layout.js +0 -34
  32. package/lib/keypad/keys-layout.js.map +0 -1
  33. package/lib/keys/basic-operators.js +0 -41
  34. package/lib/keys/basic-operators.js.map +0 -1
  35. package/lib/keys/chars.js +0 -17
  36. package/lib/keys/chars.js.map +0 -1
  37. package/lib/keys/comparison.js +0 -49
  38. package/lib/keys/comparison.js.map +0 -1
  39. package/lib/keys/constants.js +0 -43
  40. package/lib/keys/constants.js.map +0 -1
  41. package/lib/keys/digits.js +0 -53
  42. package/lib/keys/digits.js.map +0 -1
  43. package/lib/keys/edit.js +0 -17
  44. package/lib/keys/edit.js.map +0 -1
  45. package/lib/keys/exponent.js +0 -36
  46. package/lib/keys/exponent.js.map +0 -1
  47. package/lib/keys/fractions.js +0 -34
  48. package/lib/keys/fractions.js.map +0 -1
  49. package/lib/keys/geometry.js +0 -167
  50. package/lib/keys/geometry.js.map +0 -1
  51. package/lib/keys/grades.js +0 -283
  52. package/lib/keys/grades.js.map +0 -1
  53. package/lib/keys/index.js +0 -54
  54. package/lib/keys/index.js.map +0 -1
  55. package/lib/keys/log.js +0 -32
  56. package/lib/keys/log.js.map +0 -1
  57. package/lib/keys/logic.js +0 -23
  58. package/lib/keys/logic.js.map +0 -1
  59. package/lib/keys/matrices.js +0 -23
  60. package/lib/keys/matrices.js.map +0 -1
  61. package/lib/keys/misc.js +0 -74
  62. package/lib/keys/misc.js.map +0 -1
  63. package/lib/keys/navigation.js +0 -25
  64. package/lib/keys/navigation.js.map +0 -1
  65. package/lib/keys/operators.js +0 -18
  66. package/lib/keys/operators.js.map +0 -1
  67. package/lib/keys/statistics.js +0 -47
  68. package/lib/keys/statistics.js.map +0 -1
  69. package/lib/keys/sub-sup.js +0 -23
  70. package/lib/keys/sub-sup.js.map +0 -1
  71. package/lib/keys/trigonometry.js +0 -53
  72. package/lib/keys/trigonometry.js.map +0 -1
  73. package/lib/keys/utils.js +0 -120
  74. package/lib/keys/utils.js.map +0 -1
  75. package/lib/keys/vars.js +0 -29
  76. package/lib/keys/vars.js.map +0 -1
  77. package/lib/math-input.js +0 -192
  78. package/lib/math-input.js.map +0 -1
  79. package/lib/mq/custom-elements.js +0 -23
  80. package/lib/mq/custom-elements.js.map +0 -1
  81. package/lib/mq/index.js +0 -24
  82. package/lib/mq/index.js.map +0 -1
  83. package/lib/mq/input.js +0 -245
  84. package/lib/mq/input.js.map +0 -1
  85. package/lib/mq/static.js +0 -233
  86. package/lib/mq/static.js.map +0 -1
@@ -1,118 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- 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
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _grades = require("./keys/grades");
29
-
30
- var _utils = require("./keys/utils");
31
-
32
- var _keypad = _interopRequireDefault(require("./keypad"));
33
-
34
- 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); }; }
35
-
36
- 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; } }
37
-
38
- var toOldModel = function toOldModel(d) {
39
- if (d.command) {
40
- return {
41
- value: d.command,
42
- type: 'command'
43
- };
44
- } else if (d.write) {
45
- return {
46
- value: d.write
47
- };
48
- } else if (d.keystroke) {
49
- return {
50
- type: 'cursor',
51
- value: d.keystroke
52
- };
53
- }
54
- };
55
-
56
- var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
57
- (0, _inherits2["default"])(HorizontalKeypad, _React$Component);
58
-
59
- var _super = _createSuper(HorizontalKeypad);
60
-
61
- function HorizontalKeypad() {
62
- var _this;
63
-
64
- (0, _classCallCheck2["default"])(this, HorizontalKeypad);
65
-
66
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
67
- args[_key] = arguments[_key];
68
- }
69
-
70
- _this = _super.call.apply(_super, [this].concat(args));
71
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keypadPress", function (data) {
72
- var onClick = _this.props.onClick;
73
- onClick(toOldModel(data));
74
- });
75
- return _this;
76
- }
77
-
78
- (0, _createClass2["default"])(HorizontalKeypad, [{
79
- key: "render",
80
- value: function render() {
81
- var _this$props = this.props,
82
- mode = _this$props.mode,
83
- onFocus = _this$props.onFocus,
84
- noDecimal = _this$props.noDecimal,
85
- className = _this$props.className,
86
- additionalKeys = _this$props.additionalKeys,
87
- layoutForKeyPad = _this$props.layoutForKeyPad;
88
- var normalizedKeys = (0, _grades.normalizeAdditionalKeys)(additionalKeys);
89
- return /*#__PURE__*/_react["default"].createElement(_keypad["default"], {
90
- className: className,
91
- onFocus: onFocus,
92
- noDecimal: noDecimal,
93
- layoutForKeyPad: layoutForKeyPad,
94
- additionalKeys: (0, _utils.extendKeySet)((0, _grades.keysForGrade)(mode), normalizedKeys),
95
- onPress: this.keypadPress,
96
- mode: mode
97
- });
98
- }
99
- }]);
100
- return HorizontalKeypad;
101
- }(_react["default"].Component);
102
-
103
- exports["default"] = HorizontalKeypad;
104
- (0, _defineProperty2["default"])(HorizontalKeypad, "propTypes", {
105
- className: _propTypes["default"].string,
106
- mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
107
- layoutForKeyPad: _propTypes["default"].object,
108
- onClick: _propTypes["default"].func.isRequired,
109
- onFocus: _propTypes["default"].func,
110
- noDecimal: _propTypes["default"].bool,
111
- additionalKeys: _propTypes["default"].array
112
- });
113
- (0, _defineProperty2["default"])(HorizontalKeypad, "defaultProps", {
114
- mode: 'scientific',
115
- noDecimal: false,
116
- additionalKeys: []
117
- });
118
- //# sourceMappingURL=horizontal-keypad.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/horizontal-keypad.jsx"],"names":["toOldModel","d","command","value","type","write","keystroke","HorizontalKeypad","data","onClick","props","mode","onFocus","noDecimal","className","additionalKeys","layoutForKeyPad","normalizedKeys","keypadPress","React","Component","PropTypes","string","oneOfType","number","object","func","isRequired","bool","array"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAACC,CAAD,EAAO;AACxB,MAAIA,CAAC,CAACC,OAAN,EAAe;AACb,WAAO;AAAEC,MAAAA,KAAK,EAAEF,CAAC,CAACC,OAAX;AAAoBE,MAAAA,IAAI,EAAE;AAA1B,KAAP;AACD,GAFD,MAEO,IAAIH,CAAC,CAACI,KAAN,EAAa;AAClB,WAAO;AAAEF,MAAAA,KAAK,EAAEF,CAAC,CAACI;AAAX,KAAP;AACD,GAFM,MAEA,IAAIJ,CAAC,CAACK,SAAN,EAAiB;AACtB,WAAO;AAAEF,MAAAA,IAAI,EAAE,QAAR;AAAkBD,MAAAA,KAAK,EAAEF,CAAC,CAACK;AAA3B,KAAP;AACD;AACF,CARD;;IAUqBC,gB;;;;;;;;;;;;;;;oGAiBL,UAACC,IAAD,EAAU;AACtB,UAAQC,OAAR,GAAoB,MAAKC,KAAzB,CAAQD,OAAR;AAEAA,MAAAA,OAAO,CAACT,UAAU,CAACQ,IAAD,CAAX,CAAP;AACD,K;;;;;;WAED,kBAAS;AACP,wBAAiF,KAAKE,KAAtF;AAAA,UAAQC,IAAR,eAAQA,IAAR;AAAA,UAAcC,OAAd,eAAcA,OAAd;AAAA,UAAuBC,SAAvB,eAAuBA,SAAvB;AAAA,UAAkCC,SAAlC,eAAkCA,SAAlC;AAAA,UAA6CC,cAA7C,eAA6CA,cAA7C;AAAA,UAA6DC,eAA7D,eAA6DA,eAA7D;AACA,UAAMC,cAAc,GAAG,qCAAwBF,cAAxB,CAAvB;AAEA,0BACE,gCAAC,kBAAD;AACE,QAAA,SAAS,EAAED,SADb;AAEE,QAAA,OAAO,EAAEF,OAFX;AAGE,QAAA,SAAS,EAAEC,SAHb;AAIE,QAAA,eAAe,EAAEG,eAJnB;AAKE,QAAA,cAAc,EAAE,yBAAa,0BAAaL,IAAb,CAAb,EAAiCM,cAAjC,CALlB;AAME,QAAA,OAAO,EAAE,KAAKC,WANhB;AAOE,QAAA,IAAI,EAAEP;AAPR,QADF;AAWD;;;EAtC2CQ,kBAAMC,S;;;iCAA/Bb,gB,eACA;AACjBO,EAAAA,SAAS,EAAEO,sBAAUC,MADJ;AAEjBX,EAAAA,IAAI,EAAEU,sBAAUE,SAAV,CAAoB,CAACF,sBAAUC,MAAX,EAAmBD,sBAAUG,MAA7B,CAApB,CAFW;AAGjBR,EAAAA,eAAe,EAAEK,sBAAUI,MAHV;AAIjBhB,EAAAA,OAAO,EAAEY,sBAAUK,IAAV,CAAeC,UAJP;AAKjBf,EAAAA,OAAO,EAAES,sBAAUK,IALF;AAMjBb,EAAAA,SAAS,EAAEQ,sBAAUO,IANJ;AAOjBb,EAAAA,cAAc,EAAEM,sBAAUQ;AAPT,C;iCADAtB,gB,kBAWG;AACpBI,EAAAA,IAAI,EAAE,YADc;AAEpBE,EAAAA,SAAS,EAAE,KAFS;AAGpBE,EAAAA,cAAc,EAAE;AAHI,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { keysForGrade, normalizeAdditionalKeys } from './keys/grades';\nimport { extendKeySet } from './keys/utils';\nimport Keypad from './keypad';\n\nconst toOldModel = (d) => {\n if (d.command) {\n return { value: d.command, type: 'command' };\n } else if (d.write) {\n return { value: d.write };\n } else if (d.keystroke) {\n return { type: 'cursor', value: d.keystroke };\n }\n};\n\nexport default class HorizontalKeypad extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n layoutForKeyPad: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n additionalKeys: PropTypes.array,\n };\n\n static defaultProps = {\n mode: 'scientific',\n noDecimal: false,\n additionalKeys: [],\n };\n\n keypadPress = (data) => {\n const { onClick } = this.props;\n\n onClick(toOldModel(data));\n };\n\n render() {\n const { mode, onFocus, noDecimal, className, additionalKeys, layoutForKeyPad } = this.props;\n const normalizedKeys = normalizeAdditionalKeys(additionalKeys);\n\n return (\n <Keypad\n className={className}\n onFocus={onFocus}\n noDecimal={noDecimal}\n layoutForKeyPad={layoutForKeyPad}\n additionalKeys={extendKeySet(keysForGrade(mode), normalizedKeys)}\n onPress={this.keypadPress}\n mode={mode}\n />\n );\n }\n}\n"],"file":"horizontal-keypad.js"}
package/lib/index.js DELETED
@@ -1,80 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- Object.defineProperty(exports, "HorizontalKeypad", {
11
- enumerable: true,
12
- get: function get() {
13
- return _horizontalKeypad["default"];
14
- }
15
- });
16
- exports.keys = exports.addBrackets = void 0;
17
- Object.defineProperty(exports, "keysForGrade", {
18
- enumerable: true,
19
- get: function get() {
20
- return _grades.keysForGrade;
21
- }
22
- });
23
- exports.updateSpans = exports.removeBrackets = exports.mq = void 0;
24
-
25
- var _grades = require("./keys/grades");
26
-
27
- var keys = _interopRequireWildcard(require("./keys"));
28
-
29
- exports.keys = keys;
30
-
31
- var _horizontalKeypad = _interopRequireDefault(require("./horizontal-keypad"));
32
-
33
- var mq = _interopRequireWildcard(require("./mq"));
34
-
35
- exports.mq = mq;
36
-
37
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
38
-
39
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
40
-
41
- var addLeftBracket = function addLeftBracket(s) {
42
- return s.indexOf('\\(') === 0 ? s : "\\(".concat(s);
43
- };
44
-
45
- var addRightBracket = function addRightBracket(s) {
46
- return s.indexOf('\\)') === s.length - 2 ? s : "".concat(s, "\\)");
47
- };
48
-
49
- var rmLeftBracket = function rmLeftBracket(s) {
50
- return s.indexOf('\\(') === 0 ? s.substring(2) : s;
51
- };
52
-
53
- var rmRightBracket = function rmRightBracket(s) {
54
- return s.indexOf('\\)') === s.length - 2 ? s.substring(0, s.length - 2) : s;
55
- };
56
-
57
- var addBrackets = function addBrackets(s) {
58
- return addRightBracket(addLeftBracket(s));
59
- };
60
-
61
- exports.addBrackets = addBrackets;
62
-
63
- var removeBrackets = function removeBrackets(s) {
64
- return rmRightBracket(rmLeftBracket(s));
65
- }; // increase the font of parallel notation
66
-
67
-
68
- exports.removeBrackets = removeBrackets;
69
-
70
- var updateSpans = function updateSpans() {
71
- var spans = Array.from(document.querySelectorAll('span[mathquill-command-id]'));
72
- (spans || []).forEach(function (span) {
73
- if (span && span.innerText === '∥' && span.className !== 'mq-editable-field') {
74
- span.style.fontSize = '32px';
75
- }
76
- });
77
- };
78
-
79
- exports.updateSpans = updateSpans;
80
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.jsx"],"names":["addLeftBracket","s","indexOf","addRightBracket","length","rmLeftBracket","substring","rmRightBracket","addBrackets","removeBrackets","updateSpans","spans","Array","from","document","querySelectorAll","forEach","span","innerText","className","style","fontSize"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAoBA;;;;AAEA;;AAEA;;;;;;;;AAtBA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqB,CAArB,GAAyBD,CAAzB,gBAAmCA,CAAnC,CAAR;AAAA,CAAvB;;AACA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAACF,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqBD,CAAC,CAACG,MAAF,GAAW,CAAhC,GAAoCH,CAApC,aAA2CA,CAA3C,QAAR;AAAA,CAAxB;;AACA,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAACJ,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqB,CAArB,GAAyBD,CAAC,CAACK,SAAF,CAAY,CAAZ,CAAzB,GAA0CL,CAAlD;AAAA,CAAtB;;AACA,IAAMM,cAAc,GAAG,SAAjBA,cAAiB,CAACN,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqBD,CAAC,CAACG,MAAF,GAAW,CAAhC,GAAoCH,CAAC,CAACK,SAAF,CAAY,CAAZ,EAAeL,CAAC,CAACG,MAAF,GAAW,CAA1B,CAApC,GAAmEH,CAA3E;AAAA,CAAvB;;AAEA,IAAMO,WAAW,GAAG,SAAdA,WAAc,CAACP,CAAD;AAAA,SAAOE,eAAe,CAACH,cAAc,CAACC,CAAD,CAAf,CAAtB;AAAA,CAApB;;;;AACA,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAACR,CAAD;AAAA,SAAOM,cAAc,CAACF,aAAa,CAACJ,CAAD,CAAd,CAArB;AAAA,CAAvB,C,CAEA;;;;;AACA,IAAMS,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,MAAMC,KAAK,GAAGC,KAAK,CAACC,IAAN,CAAWC,QAAQ,CAACC,gBAAT,CAA0B,4BAA1B,CAAX,CAAd;AACA,GAACJ,KAAK,IAAI,EAAV,EAAcK,OAAd,CAAsB,UAACC,IAAD,EAAU;AAC9B,QAAIA,IAAI,IAAIA,IAAI,CAACC,SAAL,KAAmB,GAA3B,IAAkCD,IAAI,CAACE,SAAL,KAAmB,mBAAzD,EAA8E;AAC5EF,MAAAA,IAAI,CAACG,KAAL,CAAWC,QAAX,GAAsB,MAAtB;AACD;AACF,GAJD;AAKD,CAPD","sourcesContent":["import { keysForGrade } from './keys/grades';\n\nconst addLeftBracket = (s) => (s.indexOf('\\\\(') === 0 ? s : `\\\\(${s}`);\nconst addRightBracket = (s) => (s.indexOf('\\\\)') === s.length - 2 ? s : `${s}\\\\)`);\nconst rmLeftBracket = (s) => (s.indexOf('\\\\(') === 0 ? s.substring(2) : s);\nconst rmRightBracket = (s) => (s.indexOf('\\\\)') === s.length - 2 ? s.substring(0, s.length - 2) : s);\n\nconst addBrackets = (s) => addRightBracket(addLeftBracket(s));\nconst removeBrackets = (s) => rmRightBracket(rmLeftBracket(s));\n\n// increase the font of parallel notation\nconst updateSpans = () => {\n const spans = Array.from(document.querySelectorAll('span[mathquill-command-id]'));\n (spans || []).forEach((span) => {\n if (span && span.innerText === '∥' && span.className !== 'mq-editable-field') {\n span.style.fontSize = '32px';\n }\n });\n};\n\nimport * as keys from './keys';\n\nimport HorizontalKeypad from './horizontal-keypad';\n\nimport * as mq from './mq';\n\nexport { keysForGrade, addBrackets, removeBrackets, keys, HorizontalKeypad, mq, updateSpans };\n"],"file":"index.js"}
@@ -1,441 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = exports.KeyPad = void 0;
11
-
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
-
22
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
-
26
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
-
28
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
- var _react = _interopRequireDefault(require("react"));
31
-
32
- var _propTypes = _interopRequireDefault(require("prop-types"));
33
-
34
- var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
35
-
36
- var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
37
-
38
- var _styles = require("@material-ui/core/styles");
39
-
40
- var _classnames = _interopRequireDefault(require("classnames"));
41
-
42
- var _colorManipulator = require("@material-ui/core/styles/colorManipulator");
43
-
44
- var _green = _interopRequireDefault(require("@material-ui/core/colors/green"));
45
-
46
- var _keysLayout = require("./keys-layout");
47
-
48
- var mq = _interopRequireWildcard(require("../mq"));
49
-
50
- var _keys = require("../keys");
51
-
52
- var _debug = _interopRequireDefault(require("debug"));
53
-
54
- var _lodash = _interopRequireDefault(require("lodash"));
55
-
56
- var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
57
-
58
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
59
-
60
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
61
-
62
- 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; }
63
-
64
- 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; }
65
-
66
- 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); }; }
67
-
68
- 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; } }
69
-
70
- var log = (0, _debug["default"])('pie-lib:math-inline:keypad');
71
- var LatexButton = (0, _styles.withStyles)(function (theme) {
72
- return {
73
- root: {
74
- textTransform: 'none',
75
- padding: 0,
76
- margin: 0,
77
- fontSize: '110% !important'
78
- },
79
- latexButton: {
80
- pointerEvents: 'none',
81
- textTransform: 'none !important',
82
- '& .mq-scaled.mq-sqrt-prefix': {
83
- transform: 'scale(1, 0.9) !important'
84
- },
85
- '& .mq-sup-only .mq-sup': {
86
- marginBottom: '0.9px !important'
87
- },
88
- '& .mq-empty': {
89
- backgroundColor: "".concat((0, _colorManipulator.fade)(theme.palette.secondary.main, 0.4), " !important")
90
- },
91
- '& .mq-overline .mq-overline-inner': {
92
- borderTop: '2px solid black'
93
- },
94
- '& .mq-overarrow': {
95
- width: '30px',
96
- marginTop: '0 !important',
97
- borderTop: '2px solid black',
98
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',
99
- '&.mq-arrow-both': {
100
- top: '0px !important',
101
- '& *': {
102
- lineHeight: '1 !important'
103
- },
104
- '&:before': {
105
- fontSize: '80%',
106
- left: 'calc(-13%)',
107
- top: '-0.31em'
108
- },
109
- '&:after': {
110
- fontSize: '80% !important',
111
- right: 'calc(-13%) !important',
112
- top: '-1.5em'
113
- },
114
- '&.mq-empty:before': {
115
- fontSize: '80%',
116
- left: 'calc(-13%)',
117
- top: '-0.26em'
118
- },
119
- '&.mq-empty:after': {
120
- fontSize: '80%',
121
- right: 'calc(-13%)',
122
- top: '-0.26em'
123
- },
124
- '&.mq-empty': {
125
- minHeight: '1.4em'
126
- }
127
- },
128
- '&.mq-arrow-right:before': {
129
- fontSize: '80%',
130
- right: 'calc(-13%)',
131
- top: '-0.26em'
132
- },
133
- '& .mq-overarrow-inner': {
134
- border: 'none !important'
135
- },
136
- '& .mq-overarrow-inner .mq-overarrow-inner-right': {
137
- display: 'none !important'
138
- }
139
- },
140
- '& .mq-root-block': {
141
- padding: '5px !important'
142
- },
143
- '& .mq-overarrow.mq-arrow-both.mq-empty:after': {
144
- right: '-6px',
145
- fontSize: '80% !important',
146
- top: '-3px'
147
- },
148
- '& .mq-overarrow.mq-arrow-right.mq-empty:before': {
149
- right: '-5px',
150
- fontSize: '80% !important',
151
- top: '-3px'
152
- },
153
- '& .mq-overarrow.mq-arrow-both.mq-empty:before': {
154
- left: '-6px',
155
- fontSize: '80% !important',
156
- top: '-3px'
157
- },
158
- '& .mq-longdiv-inner': {
159
- borderTop: '1px solid !important',
160
- paddingTop: '1.5px !important'
161
- },
162
- '& .mq-parallelogram': {
163
- lineHeight: 0.85
164
- },
165
- '& .mq-overarc': {
166
- borderTop: '2px solid black !important',
167
- '& .mq-overline-inner': {
168
- borderTop: 'none !important',
169
- paddingTop: '0 !important'
170
- }
171
- }
172
- },
173
- parallelButton: {
174
- fontStyle: 'italic'
175
- },
176
- leftRightArrowButton: {
177
- '& .mq-overarrow.mq-arrow-both': {
178
- '& .mq-overline-inner': {
179
- borderTop: 'none !important',
180
- paddingTop: '0 !important'
181
- },
182
- '&:after': {
183
- position: 'absolute !important',
184
- top: '0px !important'
185
- }
186
- }
187
- }
188
- };
189
- })(function (props) {
190
- var buttonClass;
191
-
192
- if (props.latex === '\\parallel') {
193
- buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName, props.classes.parallelButton);
194
- } else if (props.latex === '\\overleftrightarrow{\\overline{}}') {
195
- buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName, props.classes.leftRightArrowButton);
196
- } else {
197
- buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName);
198
- }
199
-
200
- try {
201
- var MQ = _mathquill["default"].getInterface(2);
202
-
203
- var span = document.createElement('span');
204
- span.innerHTML = '';
205
- var mathField = MQ.StaticMath(span);
206
- mathField.parseLatex(props.latex);
207
- mathField.latex(props.latex);
208
- } catch (e) {
209
- // received latex has errors - do not create button
210
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
211
- }
212
-
213
- return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
214
- className: (0, _classnames["default"])(props.classes.root, props.className),
215
- onClick: props.onClick,
216
- "aria-label": props.ariaLabel
217
- }, /*#__PURE__*/_react["default"].createElement(mq.Static, {
218
- className: buttonClass,
219
- latex: props.latex
220
- }));
221
- });
222
-
223
- var createCustomLayout = function createCustomLayout(layoutObj) {
224
- if (layoutObj) {
225
- return {
226
- gridTemplateColumns: "repeat(".concat(layoutObj.columns, ", minmax(min-content, 150px))"),
227
- gridTemplateRows: "repeat(".concat(layoutObj.rows, ", minmax(40px, 60px))"),
228
- gridAutoFlow: 'initial'
229
- };
230
- }
231
-
232
- return {};
233
- };
234
-
235
- var KeyPad = /*#__PURE__*/function (_React$Component) {
236
- (0, _inherits2["default"])(KeyPad, _React$Component);
237
-
238
- var _super = _createSuper(KeyPad);
239
-
240
- function KeyPad() {
241
- var _this;
242
-
243
- (0, _classCallCheck2["default"])(this, KeyPad);
244
-
245
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
246
- args[_key] = arguments[_key];
247
- }
248
-
249
- _this = _super.call.apply(_super, [this].concat(args));
250
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buttonClick", function (key) {
251
- log('[buttonClick]', key);
252
- var onPress = _this.props.onPress;
253
- onPress(key);
254
- });
255
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "flowKeys", function (base, extras) {
256
- var transposed = [].concat((0, _toConsumableArray2["default"])((0, _keysLayout.sortKeys)(base)), (0, _toConsumableArray2["default"])((0, _keysLayout.sortKeys)(extras)));
257
- return _lodash["default"].flatten(transposed);
258
- });
259
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyIsNotAllowed", function (key) {
260
- var noDecimal = _this.props.noDecimal;
261
-
262
- if ((key.write === '.' && key.label === '.' || key.write === ',' && key.label === ',') && noDecimal) {
263
- return true;
264
- }
265
-
266
- return false;
267
- });
268
- return _this;
269
- }
270
-
271
- (0, _createClass2["default"])(KeyPad, [{
272
- key: "render",
273
- value: function render() {
274
- var _this2 = this;
275
-
276
- var _this$props = this.props,
277
- classes = _this$props.classes,
278
- className = _this$props.className,
279
- baseSet = _this$props.baseSet,
280
- additionalKeys = _this$props.additionalKeys,
281
- layoutForKeyPad = _this$props.layoutForKeyPad,
282
- onFocus = _this$props.onFocus,
283
- mode = _this$props.mode;
284
- var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];
285
- var keysWithoutBaseSet = noBaseSet.includes(mode);
286
- var allKeys = keysWithoutBaseSet ? this.flowKeys([], additionalKeys || []) : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];
287
-
288
- var shift = allKeys.length % 5 ? 1 : 0;
289
-
290
- var style = _objectSpread({
291
- gridTemplateColumns: "repeat(".concat(Math.floor(allKeys.length / 5) + shift, ", minmax(min-content, 150px))")
292
- }, createCustomLayout(layoutForKeyPad));
293
-
294
- return /*#__PURE__*/_react["default"].createElement("div", {
295
- className: (0, _classnames["default"])(classes.keys, className, classes[mode]),
296
- style: style,
297
- onFocus: onFocus
298
- }, allKeys.map(function (k, index) {
299
- var onClick = _this2.buttonClick.bind(_this2, k);
300
-
301
- if (!k) {
302
- return /*#__PURE__*/_react["default"].createElement("span", {
303
- key: "empty-".concat(index)
304
- });
305
- }
306
-
307
- var common = _objectSpread(_objectSpread({
308
- onClick: onClick,
309
- className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], classes[k.extraClass], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
310
- disabled: _this2.keyIsNotAllowed(k),
311
- key: "".concat(k.label || k.latex || k.command, "-").concat(index)
312
- }, k.actions || {}), k.extraProps || {});
313
-
314
- if (k.latex) {
315
- return /*#__PURE__*/_react["default"].createElement(LatexButton, (0, _extends2["default"])({
316
- latex: k.latex,
317
- key: index
318
- }, common, {
319
- className: classes.latexButton,
320
- ariaLabel: k.ariaLabel ? k.ariaLabel : k.name || k.label
321
- }));
322
- }
323
-
324
- if (k.label) {
325
- return /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
326
- key: index
327
- }, common, {
328
- "aria-label": k.ariaLabel ? k.ariaLabel : k.name || k.label
329
- }), k.label);
330
- } else {
331
- var Icon = k.icon ? k.icon : 'div';
332
- return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], (0, _extends2["default"])({
333
- tabIndex: '-1'
334
- }, common, {
335
- key: index
336
- }), /*#__PURE__*/_react["default"].createElement(Icon, {
337
- className: classes.icon
338
- }));
339
- }
340
- }));
341
- }
342
- }]);
343
- return KeyPad;
344
- }(_react["default"].Component);
345
-
346
- exports.KeyPad = KeyPad;
347
- (0, _defineProperty2["default"])(KeyPad, "propTypes", {
348
- classes: _propTypes["default"].object.isRequired,
349
- className: _propTypes["default"].string,
350
- baseSet: _propTypes["default"].array,
351
- additionalKeys: _propTypes["default"].array,
352
- layoutForKeyPad: _propTypes["default"].object,
353
- onPress: _propTypes["default"].func.isRequired,
354
- onFocus: _propTypes["default"].func,
355
- noDecimal: _propTypes["default"].bool,
356
- mode: _propTypes["default"].string
357
- });
358
- (0, _defineProperty2["default"])(KeyPad, "defaultProps", {
359
- baseSet: _keys.baseSet,
360
- noDecimal: false
361
- });
362
-
363
- var styles = function styles(theme) {
364
- return {
365
- keys: {
366
- '& *': {
367
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
368
- },
369
- width: '100%',
370
- display: 'grid',
371
- gridTemplateRows: 'repeat(5, minmax(40px, 60px))',
372
- gridRowGap: '0px',
373
- gridColumnGap: '0px',
374
- gridAutoFlow: 'column'
375
- },
376
- character: {
377
- textTransform: 'initial !important',
378
- gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important'
379
- },
380
- language: {
381
- gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important',
382
- '& *': {
383
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
384
- }
385
- },
386
- holder: {
387
- position: 'relative',
388
- width: '100%',
389
- height: '100%',
390
- backgroundColor: '#cef',
391
- borderRadius: 0,
392
- padding: "".concat(theme.spacing.unit, "px 0 ").concat(theme.spacing.unit, "px 0")
393
- },
394
- labelButton: {
395
- minWidth: 'auto',
396
- fontSize: '140% !important',
397
- backgroundColor: (0, _colorManipulator.lighten)(theme.palette.primary.light, 0.5),
398
- '&:hover': {
399
- backgroundColor: (0, _colorManipulator.lighten)(theme.palette.primary.light, 0.7)
400
- },
401
- borderRadius: 0
402
- },
403
- latexButton: {
404
- minWidth: 'auto',
405
- borderRadius: 0,
406
- backgroundColor: (0, _colorManipulator.lighten)(theme.palette.primary.light, 0.5),
407
- '&:hover': {
408
- backgroundColor: (0, _colorManipulator.lighten)(theme.palette.primary.light, 0.7)
409
- }
410
- },
411
- base: {},
412
- operators: {
413
- backgroundColor: (0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.5),
414
- '&:hover': {
415
- backgroundColor: (0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.7)
416
- }
417
- },
418
- comparison: {
419
- backgroundColor: (0, _colorManipulator.lighten)(_green["default"][500], 0.5),
420
- '&:hover': {
421
- backgroundColor: (0, _colorManipulator.lighten)(_green["default"][500], 0.7)
422
- }
423
- },
424
- comma: {
425
- fontSize: '200% !important',
426
- lineHeight: '100%'
427
- },
428
- dot: {
429
- fontSize: '200% !important',
430
- lineHeight: '100%'
431
- },
432
- icon: {
433
- height: '30px'
434
- }
435
- };
436
- };
437
-
438
- var _default = (0, _styles.withStyles)(styles)(KeyPad);
439
-
440
- exports["default"] = _default;
441
- //# sourceMappingURL=index.js.map