@pie-lib/math-input 6.6.7 → 6.6.10
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.
- package/CHANGELOG.md +27 -0
- package/lib/horizontal-keypad.js +20 -15
- package/lib/horizontal-keypad.js.map +1 -1
- package/lib/index.js +11 -6
- package/lib/index.js.map +1 -1
- package/lib/keypad/index.js +76 -33
- package/lib/keypad/index.js.map +1 -1
- package/lib/keypad/keys-layout.js +5 -1
- package/lib/keypad/keys-layout.js.map +1 -1
- package/lib/keys/basic-operators.js +1 -1
- package/lib/keys/chars.js +1 -1
- package/lib/keys/comparison.js +4 -4
- package/lib/keys/comparison.js.map +1 -1
- package/lib/keys/constants.js +1 -1
- package/lib/keys/exponent.js +1 -1
- package/lib/keys/fractions.js +1 -1
- package/lib/keys/geometry.js +4 -4
- package/lib/keys/geometry.js.map +1 -1
- package/lib/keys/grades.js +16 -8
- package/lib/keys/grades.js.map +1 -1
- package/lib/keys/index.js +6 -2
- package/lib/keys/index.js.map +1 -1
- package/lib/keys/log.js +1 -1
- package/lib/keys/logic.js +1 -1
- package/lib/keys/matrices.js +1 -1
- package/lib/keys/misc.js +1 -1
- package/lib/keys/statistics.js +1 -1
- package/lib/keys/sub-sup.js +1 -1
- package/lib/keys/trigonometry.js +1 -1
- package/lib/keys/utils.js +13 -9
- package/lib/keys/utils.js.map +1 -1
- package/lib/keys/vars.js +1 -1
- package/lib/math-input.js +22 -16
- package/lib/math-input.js.map +1 -1
- package/lib/mq/input.js +16 -14
- package/lib/mq/input.js.map +1 -1
- package/lib/mq/static.js +16 -14
- package/lib/mq/static.js.map +1 -1
- package/package.json +2 -2
- package/src/horizontal-keypad.jsx +3 -1
- package/src/keypad/index.jsx +51 -5
- package/src/keys/grades.js +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [6.6.10](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.6.9...@pie-lib/math-input@6.6.10) (2022-06-13)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-lib/math-input
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [6.6.9](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.6.8...@pie-lib/math-input@6.6.9) (2022-04-12)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **math-input:** PD-1669 handle latex with errors in keypad buttons ([6b36f17](https://github.com/pie-framework/pie-lib/commit/6b36f175deffbd0a0fe021f4f7a11d7c4f14a014))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [6.6.8](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.6.7...@pie-lib/math-input@6.6.8) (2022-02-04)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @pie-lib/math-input
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
## [6.6.7](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.6.6...@pie-lib/math-input@6.6.7) (2022-01-10)
|
|
7
34
|
|
|
8
35
|
**Note:** Version bump only for package @pie-lib/math-input
|
package/lib/horizontal-keypad.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -17,23 +19,25 @@ var _keypad = _interopRequireDefault(require("./keypad"));
|
|
|
17
19
|
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
21
|
|
|
20
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
21
|
-
|
|
22
22
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
23
23
|
|
|
24
24
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
25
25
|
|
|
26
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
26
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
27
27
|
|
|
28
|
-
function
|
|
28
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
29
29
|
|
|
30
|
-
function
|
|
30
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
31
|
+
|
|
32
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
33
|
+
|
|
34
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
31
35
|
|
|
32
36
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
33
37
|
|
|
34
|
-
function
|
|
38
|
+
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; } }
|
|
35
39
|
|
|
36
|
-
function
|
|
40
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
37
41
|
|
|
38
42
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
39
43
|
|
|
@@ -55,14 +59,12 @@ var toOldModel = function toOldModel(d) {
|
|
|
55
59
|
}
|
|
56
60
|
};
|
|
57
61
|
|
|
58
|
-
var HorizontalKeypad =
|
|
59
|
-
/*#__PURE__*/
|
|
60
|
-
function (_React$Component) {
|
|
62
|
+
var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
|
|
61
63
|
_inherits(HorizontalKeypad, _React$Component);
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
var _getPrototypeOf2;
|
|
65
|
+
var _super = _createSuper(HorizontalKeypad);
|
|
65
66
|
|
|
67
|
+
function HorizontalKeypad() {
|
|
66
68
|
var _this;
|
|
67
69
|
|
|
68
70
|
_classCallCheck(this, HorizontalKeypad);
|
|
@@ -71,7 +73,7 @@ function (_React$Component) {
|
|
|
71
73
|
args[_key] = arguments[_key];
|
|
72
74
|
}
|
|
73
75
|
|
|
74
|
-
_this =
|
|
76
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
75
77
|
|
|
76
78
|
_defineProperty(_assertThisInitialized(_this), "keypadPress", function (data) {
|
|
77
79
|
var onClick = _this.props.onClick;
|
|
@@ -89,12 +91,14 @@ function (_React$Component) {
|
|
|
89
91
|
onFocus = _this$props.onFocus,
|
|
90
92
|
noDecimal = _this$props.noDecimal,
|
|
91
93
|
className = _this$props.className,
|
|
92
|
-
additionalKeys = _this$props.additionalKeys
|
|
94
|
+
additionalKeys = _this$props.additionalKeys,
|
|
95
|
+
layoutForKeyPad = _this$props.layoutForKeyPad;
|
|
93
96
|
var normalizedKeys = (0, _grades.normalizeAdditionalKeys)(additionalKeys);
|
|
94
|
-
return _react["default"].createElement(_keypad["default"], {
|
|
97
|
+
return /*#__PURE__*/_react["default"].createElement(_keypad["default"], {
|
|
95
98
|
className: className,
|
|
96
99
|
onFocus: onFocus,
|
|
97
100
|
noDecimal: noDecimal,
|
|
101
|
+
layoutForKeyPad: layoutForKeyPad,
|
|
98
102
|
additionalKeys: (0, _utils.extendKeySet)((0, _grades.keysForGrade)(mode), normalizedKeys),
|
|
99
103
|
onPress: this.keypadPress,
|
|
100
104
|
mode: mode
|
|
@@ -110,6 +114,7 @@ exports["default"] = HorizontalKeypad;
|
|
|
110
114
|
_defineProperty(HorizontalKeypad, "propTypes", {
|
|
111
115
|
className: _propTypes["default"].string,
|
|
112
116
|
mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
117
|
+
layoutForKeyPad: _propTypes["default"].object,
|
|
113
118
|
onClick: _propTypes["default"].func.isRequired,
|
|
114
119
|
onFocus: _propTypes["default"].func,
|
|
115
120
|
noDecimal: _propTypes["default"].bool,
|
|
@@ -1 +1 @@
|
|
|
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","normalizedKeys","keypadPress","React","Component","PropTypes","string","oneOfType","number","func","isRequired","bool","array"],"mappings":"
|
|
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,CAAAC,CAAC,EAAI;AACtB,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;;;;;;;;;;;;;;;;kEAiBL,UAAAC,IAAI,EAAI;AACpB,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;;;;gBAA/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;;gBADAtB,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
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
Object.defineProperty(exports, "
|
|
8
|
+
Object.defineProperty(exports, "HorizontalKeypad", {
|
|
7
9
|
enumerable: true,
|
|
8
10
|
get: function get() {
|
|
9
|
-
return
|
|
11
|
+
return _horizontalKeypad["default"];
|
|
10
12
|
}
|
|
11
13
|
});
|
|
12
|
-
|
|
14
|
+
exports.keys = exports.addBrackets = void 0;
|
|
15
|
+
Object.defineProperty(exports, "keysForGrade", {
|
|
13
16
|
enumerable: true,
|
|
14
17
|
get: function get() {
|
|
15
|
-
return
|
|
18
|
+
return _grades.keysForGrade;
|
|
16
19
|
}
|
|
17
20
|
});
|
|
18
|
-
exports.
|
|
21
|
+
exports.updateSpans = exports.removeBrackets = exports.mq = void 0;
|
|
19
22
|
|
|
20
23
|
var _grades = require("./keys/grades");
|
|
21
24
|
|
|
@@ -31,7 +34,9 @@ exports.mq = mq;
|
|
|
31
34
|
|
|
32
35
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
33
36
|
|
|
34
|
-
function
|
|
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; }
|
|
35
40
|
|
|
36
41
|
var addLeftBracket = function addLeftBracket(s) {
|
|
37
42
|
return s.indexOf('\\(') === 0 ? s : "\\(".concat(s);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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,CAAAC,CAAC;AAAA,SAAKA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqB,CAArB,GAAyBD,CAAzB,gBAAmCA,CAAnC,CAAL;AAAA,CAAxB;;AACA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAAAF,CAAC;AAAA,SAAKA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqBD,CAAC,CAACG,MAAF,GAAW,CAAhC,GAAoCH,CAApC,aAA2CA,CAA3C,QAAL;AAAA,CAAzB;;AACA,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAAAJ,CAAC;AAAA,SAAKA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqB,CAArB,GAAyBD,CAAC,CAACK,SAAF,CAAY,CAAZ,CAAzB,GAA0CL,CAA/C;AAAA,CAAvB;;AACA,IAAMM,cAAc,GAAG,SAAjBA,cAAiB,CAAAN,CAAC;AAAA,SAAKA,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,CAAxE;AAAA,CAAxB;;AAEA,IAAMO,WAAW,GAAG,SAAdA,WAAc,CAAAP,CAAC;AAAA,SAAIE,eAAe,CAACH,cAAc,CAACC,CAAD,CAAf,CAAnB;AAAA,CAArB;;;;AACA,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAAAR,CAAC;AAAA,SAAIM,cAAc,CAACF,aAAa,CAACJ,CAAD,CAAd,CAAlB;AAAA,CAAxB,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,UAAAC,IAAI,EAAI;AAC5B,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"}
|
package/lib/keypad/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -31,37 +33,49 @@ var _debug = _interopRequireDefault(require("debug"));
|
|
|
31
33
|
|
|
32
34
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
33
35
|
|
|
34
|
-
function
|
|
36
|
+
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); }
|
|
35
37
|
|
|
36
|
-
function
|
|
38
|
+
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; }
|
|
37
39
|
|
|
38
|
-
function
|
|
40
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
41
|
|
|
40
42
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
41
43
|
|
|
42
|
-
function
|
|
44
|
+
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; }
|
|
45
|
+
|
|
46
|
+
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) { _defineProperty(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; }
|
|
47
|
+
|
|
48
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
49
|
+
|
|
50
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
43
51
|
|
|
44
|
-
function
|
|
52
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
45
53
|
|
|
46
|
-
function _iterableToArray(iter) { if (Symbol.iterator
|
|
54
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
47
55
|
|
|
48
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr))
|
|
56
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
57
|
+
|
|
58
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
49
59
|
|
|
50
60
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
51
61
|
|
|
52
62
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
53
63
|
|
|
54
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
64
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
55
65
|
|
|
56
|
-
function
|
|
66
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
57
67
|
|
|
58
|
-
function
|
|
68
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
69
|
+
|
|
70
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
71
|
+
|
|
72
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
59
73
|
|
|
60
74
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
61
75
|
|
|
62
|
-
function
|
|
76
|
+
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; } }
|
|
63
77
|
|
|
64
|
-
function
|
|
78
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
65
79
|
|
|
66
80
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
67
81
|
|
|
@@ -192,23 +206,45 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
|
192
206
|
buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName);
|
|
193
207
|
}
|
|
194
208
|
|
|
195
|
-
|
|
209
|
+
try {
|
|
210
|
+
var MQ = MathQuill.getInterface(2);
|
|
211
|
+
var span = document.createElement('span');
|
|
212
|
+
span.innerHTML = '';
|
|
213
|
+
var mathField = MQ.StaticMath(span);
|
|
214
|
+
mathField.parseLatex(props.latex);
|
|
215
|
+
mathField.latex(props.latex);
|
|
216
|
+
} catch (e) {
|
|
217
|
+
// received latex has errors - do not create button
|
|
218
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
196
222
|
className: (0, _classnames["default"])(props.classes.root, props.className),
|
|
197
223
|
onClick: props.onClick
|
|
198
|
-
}, _react["default"].createElement(mq.Static, {
|
|
224
|
+
}, /*#__PURE__*/_react["default"].createElement(mq.Static, {
|
|
199
225
|
className: buttonClass,
|
|
200
226
|
latex: props.latex
|
|
201
227
|
}));
|
|
202
228
|
});
|
|
203
229
|
|
|
204
|
-
var
|
|
205
|
-
|
|
206
|
-
|
|
230
|
+
var createCustomLayout = function createCustomLayout(layoutObj) {
|
|
231
|
+
if (layoutObj) {
|
|
232
|
+
return {
|
|
233
|
+
gridTemplateColumns: "repeat(".concat(layoutObj.columns, ", minmax(min-content, 150px))"),
|
|
234
|
+
gridTemplateRows: "repeat(".concat(layoutObj.rows, ", minmax(40px, 60px))"),
|
|
235
|
+
gridAutoFlow: 'initial'
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return {};
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
207
243
|
_inherits(KeyPad, _React$Component);
|
|
208
244
|
|
|
209
|
-
|
|
210
|
-
var _getPrototypeOf2;
|
|
245
|
+
var _super = _createSuper(KeyPad);
|
|
211
246
|
|
|
247
|
+
function KeyPad() {
|
|
212
248
|
var _this;
|
|
213
249
|
|
|
214
250
|
_classCallCheck(this, KeyPad);
|
|
@@ -217,7 +253,7 @@ function (_React$Component) {
|
|
|
217
253
|
args[_key] = arguments[_key];
|
|
218
254
|
}
|
|
219
255
|
|
|
220
|
-
_this =
|
|
256
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
221
257
|
|
|
222
258
|
_defineProperty(_assertThisInitialized(_this), "buttonClick", function (key) {
|
|
223
259
|
log('[buttonClick]', key);
|
|
@@ -253,38 +289,41 @@ function (_React$Component) {
|
|
|
253
289
|
className = _this$props.className,
|
|
254
290
|
baseSet = _this$props.baseSet,
|
|
255
291
|
additionalKeys = _this$props.additionalKeys,
|
|
292
|
+
layoutForKeyPad = _this$props.layoutForKeyPad,
|
|
256
293
|
onFocus = _this$props.onFocus,
|
|
257
294
|
mode = _this$props.mode;
|
|
258
|
-
var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring'];
|
|
295
|
+
var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];
|
|
259
296
|
var keysWithoutBaseSet = noBaseSet.includes(mode);
|
|
260
297
|
var allKeys = keysWithoutBaseSet ? this.flowKeys([], additionalKeys || []) : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];
|
|
261
298
|
|
|
262
299
|
var shift = allKeys.length % 5 ? 1 : 0;
|
|
263
|
-
|
|
300
|
+
|
|
301
|
+
var style = _objectSpread({
|
|
264
302
|
gridTemplateColumns: "repeat(".concat(Math.floor(allKeys.length / 5) + shift, ", minmax(min-content, 150px))")
|
|
265
|
-
};
|
|
266
|
-
|
|
267
|
-
|
|
303
|
+
}, createCustomLayout(layoutForKeyPad));
|
|
304
|
+
|
|
305
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
306
|
+
className: (0, _classnames["default"])(classes.keys, className, classes[mode]),
|
|
268
307
|
style: style,
|
|
269
308
|
onFocus: onFocus
|
|
270
309
|
}, allKeys.map(function (k, index) {
|
|
271
310
|
var onClick = _this2.buttonClick.bind(_this2, k);
|
|
272
311
|
|
|
273
312
|
if (!k) {
|
|
274
|
-
return _react["default"].createElement("span", {
|
|
313
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
275
314
|
key: "empty-".concat(index)
|
|
276
315
|
});
|
|
277
316
|
}
|
|
278
317
|
|
|
279
|
-
var common = {
|
|
318
|
+
var common = _objectSpread({
|
|
280
319
|
onClick: onClick,
|
|
281
|
-
className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
|
|
320
|
+
className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], classes[k.extraClass], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
|
|
282
321
|
disabled: _this2.keyIsNotAllowed(k),
|
|
283
322
|
key: "".concat(k.label || k.latex || k.command, "-").concat(index)
|
|
284
|
-
};
|
|
323
|
+
}, k.actions || {});
|
|
285
324
|
|
|
286
325
|
if (k.latex) {
|
|
287
|
-
return _react["default"].createElement(LatexButton, _extends({
|
|
326
|
+
return /*#__PURE__*/_react["default"].createElement(LatexButton, _extends({
|
|
288
327
|
latex: k.latex
|
|
289
328
|
}, common, {
|
|
290
329
|
className: classes.latexButton
|
|
@@ -292,12 +331,12 @@ function (_React$Component) {
|
|
|
292
331
|
}
|
|
293
332
|
|
|
294
333
|
if (k.label) {
|
|
295
|
-
return _react["default"].createElement(_Button["default"], common, k.label);
|
|
334
|
+
return /*#__PURE__*/_react["default"].createElement(_Button["default"], common, k.label);
|
|
296
335
|
} else {
|
|
297
336
|
var Icon = k.icon ? k.icon : 'div';
|
|
298
|
-
return _react["default"].createElement(_IconButton["default"], _extends({
|
|
337
|
+
return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], _extends({
|
|
299
338
|
tabIndex: '-1'
|
|
300
|
-
}, common), _react["default"].createElement(Icon, {
|
|
339
|
+
}, common), /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
301
340
|
className: classes.icon
|
|
302
341
|
}));
|
|
303
342
|
}
|
|
@@ -315,6 +354,7 @@ _defineProperty(KeyPad, "propTypes", {
|
|
|
315
354
|
className: _propTypes["default"].string,
|
|
316
355
|
baseSet: _propTypes["default"].array,
|
|
317
356
|
additionalKeys: _propTypes["default"].array,
|
|
357
|
+
layoutForKeyPad: _propTypes["default"].object,
|
|
318
358
|
onPress: _propTypes["default"].func.isRequired,
|
|
319
359
|
onFocus: _propTypes["default"].func,
|
|
320
360
|
noDecimal: _propTypes["default"].bool,
|
|
@@ -339,6 +379,9 @@ var styles = function styles(theme) {
|
|
|
339
379
|
gridColumnGap: '0px',
|
|
340
380
|
gridAutoFlow: 'column'
|
|
341
381
|
},
|
|
382
|
+
character: {
|
|
383
|
+
textTransform: 'initial !important'
|
|
384
|
+
},
|
|
342
385
|
holder: {
|
|
343
386
|
position: 'relative',
|
|
344
387
|
width: '100%',
|
package/lib/keypad/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/keypad/index.jsx"],"names":["log","LatexButton","theme","root","textTransform","padding","margin","fontSize","latexButton","pointerEvents","transform","marginBottom","backgroundColor","palette","secondary","main","borderTop","width","marginTop","lineHeight","left","top","right","minHeight","border","display","paddingTop","parallelButton","fontStyle","leftRightArrowButton","props","buttonClass","latex","classes","mqClassName","className","onClick","KeyPad","key","onPress","base","extras","transposed","_","flatten","noDecimal","write","label","baseSet","additionalKeys","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","length","style","gridTemplateColumns","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","comma","dot","disabled","keyIsNotAllowed","command","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","fontFamily","gridTemplateRows","gridRowGap","gridColumnGap","gridAutoFlow","holder","position","height","borderRadius","spacing","unit","minWidth","primary","light","operators","comparison","green"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport IconButton from '@material-ui/core/IconButton';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { lighten, fade } from '@material-ui/core/styles/colorManipulator';\nimport green from '@material-ui/core/colors/green';\nimport { sortKeys } from './keys-layout';\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport debug from 'debug';\nimport _ from 'lodash';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst LatexButton = withStyles(theme => ({\n root: {\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important'\n },\n latexButton: {\n pointerEvents: 'none',\n textTransform: 'none !important',\n '& .mq-scaled.mq-sqrt-prefix': {\n transform: 'scale(1, 0.9) !important'\n },\n '& .mq-sup-only .mq-sup': {\n marginBottom: '0.9px !important'\n },\n '& .mq-empty': {\n backgroundColor: `${fade(theme.palette.secondary.main, 0.4)} !important`\n },\n '& .mq-overline .mq-overline-inner': {\n borderTop: '2px solid black'\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n '&.mq-arrow-both': {\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&:after': {\n fontSize: '80% !important',\n right: 'calc(-13%) !important',\n top: '-1.5em'\n },\n '&.mq-empty:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty': {\n minHeight: '1.4em'\n }\n },\n '&.mq-arrow-right:before': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important'\n },\n '& .mq-overarrow-inner .mq-overarrow-inner-right': {\n display: 'none !important'\n }\n },\n '& .mq-root-block': {\n padding: '5px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:after': {\n right: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-right.mq-empty:before': {\n right: '-5px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:before': {\n left: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n },\n '& .mq-overarc': {\n borderTop: '2px solid black !important',\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important'\n }\n }\n },\n parallelButton: {\n fontStyle: 'italic'\n },\n leftRightArrowButton: {\n '& .mq-overarrow.mq-arrow-both': {\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important'\n },\n '&:after': {\n top: '-1.64em !important'\n }\n }\n }\n}))(props => {\n let buttonClass;\n\n if (props.latex === '\\\\parallel') {\n buttonClass = classNames(\n props.classes.latexButton,\n props.mqClassName,\n props.classes.parallelButton\n );\n } else if (props.latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n buttonClass = classNames(\n props.classes.latexButton,\n props.mqClassName,\n props.classes.leftRightArrowButton\n );\n } else {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName);\n }\n return (\n <Button className={classNames(props.classes.root, props.className)} onClick={props.onClick}>\n <mq.Static className={buttonClass} latex={props.latex} />\n </Button>\n );\n});\n\nexport class KeyPad extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n baseSet: PropTypes.array,\n additionalKeys: PropTypes.array,\n onPress: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n mode: PropTypes.string\n };\n static defaultProps = {\n baseSet: baseSet,\n noDecimal: false\n };\n\n buttonClick = key => {\n log('[buttonClick]', key);\n const { onPress } = this.props;\n onPress(key);\n };\n\n flowKeys = (base, extras) => {\n const transposed = [...sortKeys(base), ...sortKeys(extras)];\n return _.flatten(transposed);\n };\n\n keyIsNotAllowed = key => {\n const { noDecimal } = this.props;\n\n if (\n ((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) &&\n noDecimal\n ) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { classes, className, baseSet, additionalKeys, onFocus, mode } = this.props;\n\n const noBaseSet = [\n 'non-negative-integers',\n 'integers',\n 'decimals',\n 'fractions',\n 'item-authoring'\n ];\n\n const keysWithoutBaseSet = noBaseSet.includes(mode);\n const allKeys = keysWithoutBaseSet\n ? this.flowKeys([], additionalKeys || [])\n : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];\n\n const shift = allKeys.length % 5 ? 1 : 0;\n const style = {\n gridTemplateColumns: `repeat(${Math.floor(allKeys.length / 5) +\n shift}, minmax(min-content, 150px))`\n };\n return (\n <div className={classNames(classes.keys, className)} style={style} onFocus={onFocus}>\n {allKeys.map((k, index) => {\n const onClick = this.buttonClick.bind(this, k);\n\n if (!k) {\n return <span key={`empty-${index}`} />;\n }\n\n const common = {\n onClick,\n className: classNames(\n classes.labelButton,\n !keysWithoutBaseSet && classes[k.category],\n k.label === ',' && classes.comma,\n k.label === '.' && classes.dot\n ),\n disabled: this.keyIsNotAllowed(k),\n key: `${k.label || k.latex || k.command}-${index}`\n };\n\n if (k.latex) {\n return <LatexButton latex={k.latex} {...common} className={classes.latexButton} />;\n }\n\n if (k.label) {\n return <Button {...common}>{k.label}</Button>;\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <IconButton tabIndex={'-1'} {...common}>\n <Icon className={classes.icon} />\n </IconButton>\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n keys: {\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n width: '100%',\n display: 'grid',\n gridTemplateRows: 'repeat(5, minmax(40px, 60px))',\n gridRowGap: '0px',\n gridColumnGap: '0px',\n gridAutoFlow: 'column'\n },\n holder: {\n position: 'relative',\n width: '100%',\n height: '100%',\n backgroundColor: '#cef',\n borderRadius: 0,\n padding: `${theme.spacing.unit}px 0 ${theme.spacing.unit}px 0`\n },\n labelButton: {\n minWidth: 'auto',\n fontSize: '140% !important',\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n },\n borderRadius: 0\n },\n latexButton: {\n minWidth: 'auto',\n borderRadius: 0,\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n }\n },\n base: {},\n operators: {\n backgroundColor: lighten(theme.palette.secondary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.secondary.light, 0.7)\n }\n },\n comparison: {\n backgroundColor: lighten(green[500], 0.5),\n '&:hover': {\n backgroundColor: lighten(green[500], 0.7)\n }\n },\n comma: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n dot: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n icon: {\n height: '30px'\n }\n});\n\nexport default withStyles(styles)(KeyPad);\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/keypad/index.jsx"],"names":["log","LatexButton","theme","root","textTransform","padding","margin","fontSize","latexButton","pointerEvents","transform","marginBottom","backgroundColor","palette","secondary","main","borderTop","width","marginTop","lineHeight","left","top","right","minHeight","border","display","paddingTop","parallelButton","fontStyle","leftRightArrowButton","props","buttonClass","latex","classes","mqClassName","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","e","className","onClick","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPad","key","onPress","base","extras","transposed","_","flatten","noDecimal","write","label","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","length","style","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","extraClass","comma","dot","disabled","keyIsNotAllowed","command","actions","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","fontFamily","gridRowGap","gridColumnGap","character","holder","position","height","borderRadius","spacing","unit","minWidth","primary","light","operators","comparison","green"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport IconButton from '@material-ui/core/IconButton';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { lighten, fade } from '@material-ui/core/styles/colorManipulator';\nimport green from '@material-ui/core/colors/green';\nimport { sortKeys } from './keys-layout';\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport debug from 'debug';\nimport _ from 'lodash';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst LatexButton = withStyles(theme => ({\n root: {\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important'\n },\n latexButton: {\n pointerEvents: 'none',\n textTransform: 'none !important',\n '& .mq-scaled.mq-sqrt-prefix': {\n transform: 'scale(1, 0.9) !important'\n },\n '& .mq-sup-only .mq-sup': {\n marginBottom: '0.9px !important'\n },\n '& .mq-empty': {\n backgroundColor: `${fade(theme.palette.secondary.main, 0.4)} !important`\n },\n '& .mq-overline .mq-overline-inner': {\n borderTop: '2px solid black'\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n '&.mq-arrow-both': {\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&:after': {\n fontSize: '80% !important',\n right: 'calc(-13%) !important',\n top: '-1.5em'\n },\n '&.mq-empty:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty': {\n minHeight: '1.4em'\n }\n },\n '&.mq-arrow-right:before': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important'\n },\n '& .mq-overarrow-inner .mq-overarrow-inner-right': {\n display: 'none !important'\n }\n },\n '& .mq-root-block': {\n padding: '5px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:after': {\n right: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-right.mq-empty:before': {\n right: '-5px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:before': {\n left: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n },\n '& .mq-overarc': {\n borderTop: '2px solid black !important',\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important'\n }\n }\n },\n parallelButton: {\n fontStyle: 'italic'\n },\n leftRightArrowButton: {\n '& .mq-overarrow.mq-arrow-both': {\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important'\n },\n '&:after': {\n top: '-1.64em !important'\n }\n }\n }\n}))(props => {\n let buttonClass;\n\n if (props.latex === '\\\\parallel') {\n buttonClass = classNames(\n props.classes.latexButton,\n props.mqClassName,\n props.classes.parallelButton\n );\n } else if (props.latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n buttonClass = classNames(\n props.classes.latexButton,\n props.mqClassName,\n props.classes.leftRightArrowButton\n );\n } else {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName);\n }\n\n try {\n const MQ = MathQuill.getInterface(2);\n const span = document.createElement('span');\n span.innerHTML = '';\n const mathField = MQ.StaticMath(span);\n\n mathField.parseLatex(props.latex);\n mathField.latex(props.latex);\n } catch (e) {\n // received latex has errors - do not create button\n return <></>;\n }\n\n return (\n <Button className={classNames(props.classes.root, props.className)} onClick={props.onClick}>\n <mq.Static className={buttonClass} latex={props.latex} />\n </Button>\n );\n});\n\nconst createCustomLayout = layoutObj => {\n if (layoutObj) {\n return {\n gridTemplateColumns: `repeat(${layoutObj.columns}, minmax(min-content, 150px))`,\n gridTemplateRows: `repeat(${layoutObj.rows}, minmax(40px, 60px))`,\n gridAutoFlow: 'initial'\n };\n }\n\n return {};\n};\n\nexport class KeyPad extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n baseSet: PropTypes.array,\n additionalKeys: PropTypes.array,\n layoutForKeyPad: PropTypes.object,\n onPress: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n mode: PropTypes.string\n };\n static defaultProps = {\n baseSet: baseSet,\n noDecimal: false\n };\n\n buttonClick = key => {\n log('[buttonClick]', key);\n const { onPress } = this.props;\n onPress(key);\n };\n\n flowKeys = (base, extras) => {\n const transposed = [...sortKeys(base), ...sortKeys(extras)];\n return _.flatten(transposed);\n };\n\n keyIsNotAllowed = key => {\n const { noDecimal } = this.props;\n\n if (\n ((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) &&\n noDecimal\n ) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const {\n classes,\n className,\n baseSet,\n additionalKeys,\n layoutForKeyPad,\n onFocus,\n mode\n } = this.props;\n\n const noBaseSet = [\n 'non-negative-integers',\n 'integers',\n 'decimals',\n 'fractions',\n 'item-authoring',\n 'language'\n ];\n\n const keysWithoutBaseSet = noBaseSet.includes(mode);\n const allKeys = keysWithoutBaseSet\n ? this.flowKeys([], additionalKeys || [])\n : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];\n\n const shift = allKeys.length % 5 ? 1 : 0;\n const style = {\n gridTemplateColumns: `repeat(${Math.floor(allKeys.length / 5) +\n shift}, minmax(min-content, 150px))`,\n ...createCustomLayout(layoutForKeyPad)\n };\n return (\n <div\n className={classNames(classes.keys, className, classes[mode])}\n style={style}\n onFocus={onFocus}\n >\n {allKeys.map((k, index) => {\n const onClick = this.buttonClick.bind(this, k);\n\n if (!k) {\n return <span key={`empty-${index}`} />;\n }\n\n const common = {\n onClick,\n className: classNames(\n classes.labelButton,\n !keysWithoutBaseSet && classes[k.category],\n classes[k.extraClass],\n k.label === ',' && classes.comma,\n k.label === '.' && classes.dot\n ),\n disabled: this.keyIsNotAllowed(k),\n key: `${k.label || k.latex || k.command}-${index}`,\n ...(k.actions || {})\n };\n\n if (k.latex) {\n return <LatexButton latex={k.latex} {...common} className={classes.latexButton} />;\n }\n\n if (k.label) {\n return <Button {...common}>{k.label}</Button>;\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <IconButton tabIndex={'-1'} {...common}>\n <Icon className={classes.icon} />\n </IconButton>\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n keys: {\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n width: '100%',\n display: 'grid',\n gridTemplateRows: 'repeat(5, minmax(40px, 60px))',\n gridRowGap: '0px',\n gridColumnGap: '0px',\n gridAutoFlow: 'column'\n },\n character: {\n textTransform: 'initial !important'\n },\n holder: {\n position: 'relative',\n width: '100%',\n height: '100%',\n backgroundColor: '#cef',\n borderRadius: 0,\n padding: `${theme.spacing.unit}px 0 ${theme.spacing.unit}px 0`\n },\n labelButton: {\n minWidth: 'auto',\n fontSize: '140% !important',\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n },\n borderRadius: 0\n },\n latexButton: {\n minWidth: 'auto',\n borderRadius: 0,\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n }\n },\n base: {},\n operators: {\n backgroundColor: lighten(theme.palette.secondary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.secondary.light, 0.7)\n }\n },\n comparison: {\n backgroundColor: lighten(green[500], 0.5),\n '&:hover': {\n backgroundColor: lighten(green[500], 0.7)\n }\n },\n comma: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n dot: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n icon: {\n height: '30px'\n }\n});\n\nexport default withStyles(styles)(KeyPad);\n"],"file":"index.js"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -7,7 +9,9 @@ exports.sortKeys = void 0;
|
|
|
7
9
|
|
|
8
10
|
var _ = _interopRequireWildcard(require("lodash"));
|
|
9
11
|
|
|
10
|
-
function
|
|
12
|
+
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); }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
11
15
|
|
|
12
16
|
/**
|
|
13
17
|
* Sort additional keys.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/keypad/keys-layout.js"],"names":["sortKeys","keys","_","times","length","push","out","zip","apply"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/keypad/keys-layout.js"],"names":["sortKeys","keys","_","times","length","push","out","zip","apply"],"mappings":";;;;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAAAC,IAAI,EAAI;AAC9B;AACAC,EAAAA,CAAC,CAACC,KAAF,CAAQ,IAAIF,IAAI,CAACG,MAAjB,EAAyB,YAAM;AAC7BH,IAAAA,IAAI,CAACI,IAAL,CAAU,EAAV;AACD,GAFD;;AAIA,MAAMC,GAAG,GAAGJ,CAAC,CAACK,GAAF,CAAMC,KAAN,CAAY,IAAZ,EAAkBP,IAAlB,CAAZ;;AACA,SAAOK,GAAP;AACD,CARM","sourcesContent":["import * as _ from 'lodash';\n\n/**\n * Sort additional keys.\n *\n * Expects an array of rows.\n * @param {} keys\n */\nexport const sortKeys = keys => {\n // add any missing rows\n _.times(5 - keys.length, () => {\n keys.push([]);\n });\n\n const out = _.zip.apply(null, keys);\n return out;\n};\n"],"file":"keys-layout.js"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.plus = exports.multiply = exports.minus = exports.equals = exports.divide = void 0;
|
|
7
7
|
|
|
8
8
|
var _chars = require("./chars");
|
|
9
9
|
|
package/lib/keys/chars.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.RIGHT_ARROW = exports.MULTIPLY = exports.LEFT_ARROW = exports.DIVIDE = exports.DELETE = void 0;
|
|
7
7
|
var DELETE = "\u232B";
|
|
8
8
|
exports.DELETE = DELETE;
|
|
9
9
|
var LEFT_ARROW = '◀';
|