@pie-lib/math-input 6.9.0 → 6.9.1-next.53
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/lib/horizontal-keypad.js +6 -30
- package/lib/horizontal-keypad.js.map +1 -1
- package/lib/index.js +2 -21
- package/lib/index.js.map +1 -1
- package/lib/keypad/index.js +15 -66
- package/lib/keypad/index.js.map +1 -1
- package/lib/keypad/keys-layout.js +0 -8
- package/lib/keypad/keys-layout.js.map +1 -1
- package/lib/keys/basic-operators.js +0 -3
- package/lib/keys/basic-operators.js.map +1 -1
- package/lib/keys/chars.js.map +1 -1
- package/lib/keys/comparison.js +0 -6
- package/lib/keys/comparison.js.map +1 -1
- package/lib/keys/constants.js +0 -2
- package/lib/keys/constants.js.map +1 -1
- package/lib/keys/digits.js +0 -5
- package/lib/keys/digits.js.map +1 -1
- package/lib/keys/edit.js +0 -2
- package/lib/keys/edit.js.map +1 -1
- package/lib/keys/exponent.js +0 -2
- package/lib/keys/exponent.js.map +1 -1
- package/lib/keys/fractions.js +0 -2
- package/lib/keys/fractions.js.map +1 -1
- package/lib/keys/geometry.js +0 -6
- package/lib/keys/geometry.js.map +1 -1
- package/lib/keys/grades.js +2 -35
- package/lib/keys/grades.js.map +1 -1
- package/lib/keys/index.js +11 -28
- package/lib/keys/index.js.map +1 -1
- package/lib/keys/log.js +0 -2
- package/lib/keys/log.js.map +1 -1
- package/lib/keys/logic.js +0 -2
- package/lib/keys/logic.js.map +1 -1
- package/lib/keys/matrices.js +0 -2
- package/lib/keys/matrices.js.map +1 -1
- package/lib/keys/misc.js +0 -2
- package/lib/keys/misc.js.map +1 -1
- package/lib/keys/navigation.js +0 -3
- package/lib/keys/navigation.js.map +1 -1
- package/lib/keys/operators.js +0 -2
- package/lib/keys/operators.js.map +1 -1
- package/lib/keys/statistics.js +0 -2
- package/lib/keys/statistics.js.map +1 -1
- package/lib/keys/sub-sup.js +0 -2
- package/lib/keys/sub-sup.js.map +1 -1
- package/lib/keys/trigonometry.js +0 -2
- package/lib/keys/trigonometry.js.map +1 -1
- package/lib/keys/utils.js +0 -28
- package/lib/keys/utils.js.map +1 -1
- package/lib/keys/vars.js +0 -2
- package/lib/keys/vars.js.map +1 -1
- package/lib/math-input.js +4 -39
- package/lib/math-input.js.map +1 -1
- package/lib/mq/custom-elements.js +0 -2
- package/lib/mq/custom-elements.js.map +1 -1
- package/lib/mq/index.js +0 -3
- package/lib/mq/index.js.map +1 -1
- package/lib/mq/input.js +6 -50
- package/lib/mq/input.js.map +1 -1
- package/lib/mq/static.js +7 -46
- package/lib/mq/static.js.map +1 -1
- package/package.json +2 -2
- package/src/keypad/index.jsx +4 -3
package/lib/horizontal-keypad.js
CHANGED
|
@@ -1,40 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
15
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
17
|
var _grades = require("./keys/grades");
|
|
29
|
-
|
|
30
18
|
var _utils = require("./keys/utils");
|
|
31
|
-
|
|
32
19
|
var _keypad = _interopRequireDefault(require("./keypad"));
|
|
33
|
-
|
|
34
20
|
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
21
|
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
22
|
var toOldModel = function toOldModel(d) {
|
|
39
23
|
if (d.command) {
|
|
40
24
|
return {
|
|
@@ -52,21 +36,15 @@ var toOldModel = function toOldModel(d) {
|
|
|
52
36
|
};
|
|
53
37
|
}
|
|
54
38
|
};
|
|
55
|
-
|
|
56
39
|
var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
|
|
57
40
|
(0, _inherits2["default"])(HorizontalKeypad, _React$Component);
|
|
58
|
-
|
|
59
41
|
var _super = _createSuper(HorizontalKeypad);
|
|
60
|
-
|
|
61
42
|
function HorizontalKeypad() {
|
|
62
43
|
var _this;
|
|
63
|
-
|
|
64
44
|
(0, _classCallCheck2["default"])(this, HorizontalKeypad);
|
|
65
|
-
|
|
66
45
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
67
46
|
args[_key] = arguments[_key];
|
|
68
47
|
}
|
|
69
|
-
|
|
70
48
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
71
49
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keypadPress", function (data) {
|
|
72
50
|
var onClick = _this.props.onClick;
|
|
@@ -74,17 +52,16 @@ var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
|
|
|
74
52
|
});
|
|
75
53
|
return _this;
|
|
76
54
|
}
|
|
77
|
-
|
|
78
55
|
(0, _createClass2["default"])(HorizontalKeypad, [{
|
|
79
56
|
key: "render",
|
|
80
57
|
value: function render() {
|
|
81
58
|
var _this$props = this.props,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
59
|
+
mode = _this$props.mode,
|
|
60
|
+
onFocus = _this$props.onFocus,
|
|
61
|
+
noDecimal = _this$props.noDecimal,
|
|
62
|
+
className = _this$props.className,
|
|
63
|
+
additionalKeys = _this$props.additionalKeys,
|
|
64
|
+
layoutForKeyPad = _this$props.layoutForKeyPad;
|
|
88
65
|
var normalizedKeys = (0, _grades.normalizeAdditionalKeys)(additionalKeys);
|
|
89
66
|
return /*#__PURE__*/_react["default"].createElement(_keypad["default"], {
|
|
90
67
|
className: className,
|
|
@@ -99,7 +76,6 @@ var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
|
|
|
99
76
|
}]);
|
|
100
77
|
return HorizontalKeypad;
|
|
101
78
|
}(_react["default"].Component);
|
|
102
|
-
|
|
103
79
|
exports["default"] = HorizontalKeypad;
|
|
104
80
|
(0, _defineProperty2["default"])(HorizontalKeypad, "propTypes", {
|
|
105
81
|
className: _propTypes["default"].string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"horizontal-keypad.js","names":["toOldModel","d","command","value","type","write","keystroke","HorizontalKeypad","data","onClick","props","mode","onFocus","noDecimal","className","additionalKeys","layoutForKeyPad","normalizedKeys","normalizeAdditionalKeys","extendKeySet","keysForGrade","keypadPress","React","Component","PropTypes","string","oneOfType","number","object","func","isRequired","bool","array"],"sources":["../src/horizontal-keypad.jsx"],"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"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAA8B;AAAA;AAE9B,IAAMA,UAAU,GAAG,SAAbA,UAAU,CAAIC,CAAC,EAAK;EACxB,IAAIA,CAAC,CAACC,OAAO,EAAE;IACb,OAAO;MAAEC,KAAK,EAAEF,CAAC,CAACC,OAAO;MAAEE,IAAI,EAAE;IAAU,CAAC;EAC9C,CAAC,MAAM,IAAIH,CAAC,CAACI,KAAK,EAAE;IAClB,OAAO;MAAEF,KAAK,EAAEF,CAAC,CAACI;IAAM,CAAC;EAC3B,CAAC,MAAM,IAAIJ,CAAC,CAACK,SAAS,EAAE;IACtB,OAAO;MAAEF,IAAI,EAAE,QAAQ;MAAED,KAAK,EAAEF,CAAC,CAACK;IAAU,CAAC;EAC/C;AACF,CAAC;AAAC,IAEmBC,gBAAgB;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,gGAiBrB,UAACC,IAAI,EAAK;MACtB,IAAQC,OAAO,GAAK,MAAKC,KAAK,CAAtBD,OAAO;MAEfA,OAAO,CAACT,UAAU,CAACQ,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAA;EAAA;EAAA;IAAA;IAAA,OAED,kBAAS;MACP,kBAAiF,IAAI,CAACE,KAAK;QAAnFC,IAAI,eAAJA,IAAI;QAAEC,OAAO,eAAPA,OAAO;QAAEC,SAAS,eAATA,SAAS;QAAEC,SAAS,eAATA,SAAS;QAAEC,cAAc,eAAdA,cAAc;QAAEC,eAAe,eAAfA,eAAe;MAC5E,IAAMC,cAAc,GAAG,IAAAC,+BAAuB,EAACH,cAAc,CAAC;MAE9D,oBACE,gCAAC,kBAAM;QACL,SAAS,EAAED,SAAU;QACrB,OAAO,EAAEF,OAAQ;QACjB,SAAS,EAAEC,SAAU;QACrB,eAAe,EAAEG,eAAgB;QACjC,cAAc,EAAE,IAAAG,mBAAY,EAAC,IAAAC,oBAAY,EAACT,IAAI,CAAC,EAAEM,cAAc,CAAE;QACjE,OAAO,EAAE,IAAI,CAACI,WAAY;QAC1B,IAAI,EAAEV;MAAK,EACX;IAEN;EAAC;EAAA;AAAA,EAtC2CW,iBAAK,CAACC,SAAS;AAAA;AAAA,iCAAxChB,gBAAgB,eAChB;EACjBO,SAAS,EAAEU,qBAAS,CAACC,MAAM;EAC3Bd,IAAI,EAAEa,qBAAS,CAACE,SAAS,CAAC,CAACF,qBAAS,CAACC,MAAM,EAAED,qBAAS,CAACG,MAAM,CAAC,CAAC;EAC/DX,eAAe,EAAEQ,qBAAS,CAACI,MAAM;EACjCnB,OAAO,EAAEe,qBAAS,CAACK,IAAI,CAACC,UAAU;EAClClB,OAAO,EAAEY,qBAAS,CAACK,IAAI;EACvBhB,SAAS,EAAEW,qBAAS,CAACO,IAAI;EACzBhB,cAAc,EAAES,qBAAS,CAACQ;AAC5B,CAAC;AAAA,iCATkBzB,gBAAgB,kBAWb;EACpBI,IAAI,EAAE,YAAY;EAClBE,SAAS,EAAE,KAAK;EAChBE,cAAc,EAAE;AAClB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -21,52 +19,36 @@ Object.defineProperty(exports, "keysForGrade", {
|
|
|
21
19
|
}
|
|
22
20
|
});
|
|
23
21
|
exports.updateSpans = exports.removeBrackets = exports.mq = void 0;
|
|
24
|
-
|
|
25
22
|
var _grades = require("./keys/grades");
|
|
26
|
-
|
|
27
23
|
var keys = _interopRequireWildcard(require("./keys"));
|
|
28
|
-
|
|
29
24
|
exports.keys = keys;
|
|
30
|
-
|
|
31
25
|
var _horizontalKeypad = _interopRequireDefault(require("./horizontal-keypad"));
|
|
32
|
-
|
|
33
26
|
var mq = _interopRequireWildcard(require("./mq"));
|
|
34
|
-
|
|
35
27
|
exports.mq = mq;
|
|
36
|
-
|
|
37
28
|
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
29
|
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
30
|
var addLeftBracket = function addLeftBracket(s) {
|
|
42
31
|
return s.indexOf('\\(') === 0 ? s : "\\(".concat(s);
|
|
43
32
|
};
|
|
44
|
-
|
|
45
33
|
var addRightBracket = function addRightBracket(s) {
|
|
46
34
|
return s.indexOf('\\)') === s.length - 2 ? s : "".concat(s, "\\)");
|
|
47
35
|
};
|
|
48
|
-
|
|
49
36
|
var rmLeftBracket = function rmLeftBracket(s) {
|
|
50
37
|
return s.indexOf('\\(') === 0 ? s.substring(2) : s;
|
|
51
38
|
};
|
|
52
|
-
|
|
53
39
|
var rmRightBracket = function rmRightBracket(s) {
|
|
54
40
|
return s.indexOf('\\)') === s.length - 2 ? s.substring(0, s.length - 2) : s;
|
|
55
41
|
};
|
|
56
|
-
|
|
57
42
|
var addBrackets = function addBrackets(s) {
|
|
58
43
|
return addRightBracket(addLeftBracket(s));
|
|
59
44
|
};
|
|
60
|
-
|
|
61
45
|
exports.addBrackets = addBrackets;
|
|
62
|
-
|
|
63
46
|
var removeBrackets = function removeBrackets(s) {
|
|
64
47
|
return rmRightBracket(rmLeftBracket(s));
|
|
65
|
-
};
|
|
66
|
-
|
|
48
|
+
};
|
|
67
49
|
|
|
50
|
+
// increase the font of parallel notation
|
|
68
51
|
exports.removeBrackets = removeBrackets;
|
|
69
|
-
|
|
70
52
|
var updateSpans = function updateSpans() {
|
|
71
53
|
var spans = Array.from(document.querySelectorAll('span[mathquill-command-id]'));
|
|
72
54
|
(spans || []).forEach(function (span) {
|
|
@@ -75,6 +57,5 @@ var updateSpans = function updateSpans() {
|
|
|
75
57
|
}
|
|
76
58
|
});
|
|
77
59
|
};
|
|
78
|
-
|
|
79
60
|
exports.updateSpans = updateSpans;
|
|
80
61
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["addLeftBracket","s","indexOf","addRightBracket","length","rmLeftBracket","substring","rmRightBracket","addBrackets","removeBrackets","updateSpans","spans","Array","from","document","querySelectorAll","forEach","span","innerText","className","style","fontSize"],"sources":["../src/index.jsx"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAoBA;AAA+B;AAE/B;AAEA;AAA2B;AAAA;AAAA;AAtB3B,IAAMA,cAAc,GAAG,SAAjBA,cAAc,CAAIC,CAAC;EAAA,OAAMA,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAGD,CAAC,gBAASA,CAAC,CAAE;AAAA,CAAC;AACtE,IAAME,eAAe,GAAG,SAAlBA,eAAe,CAAIF,CAAC;EAAA,OAAMA,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC,KAAKD,CAAC,CAACG,MAAM,GAAG,CAAC,GAAGH,CAAC,aAAMA,CAAC,QAAK;AAAA,CAAC;AAClF,IAAMI,aAAa,GAAG,SAAhBA,aAAa,CAAIJ,CAAC;EAAA,OAAMA,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAGD,CAAC,CAACK,SAAS,CAAC,CAAC,CAAC,GAAGL,CAAC;AAAA,CAAC;AAC1E,IAAMM,cAAc,GAAG,SAAjBA,cAAc,CAAIN,CAAC;EAAA,OAAMA,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC,KAAKD,CAAC,CAACG,MAAM,GAAG,CAAC,GAAGH,CAAC,CAACK,SAAS,CAAC,CAAC,EAAEL,CAAC,CAACG,MAAM,GAAG,CAAC,CAAC,GAAGH,CAAC;AAAA,CAAC;AAEpG,IAAMO,WAAW,GAAG,SAAdA,WAAW,CAAIP,CAAC;EAAA,OAAKE,eAAe,CAACH,cAAc,CAACC,CAAC,CAAC,CAAC;AAAA;AAAC;AAC9D,IAAMQ,cAAc,GAAG,SAAjBA,cAAc,CAAIR,CAAC;EAAA,OAAKM,cAAc,CAACF,aAAa,CAACJ,CAAC,CAAC,CAAC;AAAA;;AAE9D;AAAA;AACA,IAAMS,WAAW,GAAG,SAAdA,WAAW,GAAS;EACxB,IAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACC,QAAQ,CAACC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;EACjF,CAACJ,KAAK,IAAI,EAAE,EAAEK,OAAO,CAAC,UAACC,IAAI,EAAK;IAC9B,IAAIA,IAAI,IAAIA,IAAI,CAACC,SAAS,KAAK,GAAG,IAAID,IAAI,CAACE,SAAS,KAAK,mBAAmB,EAAE;MAC5EF,IAAI,CAACG,KAAK,CAACC,QAAQ,GAAG,MAAM;IAC9B;EACF,CAAC,CAAC;AACJ,CAAC;AAAC"}
|
package/lib/keypad/index.js
CHANGED
|
@@ -1,70 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = exports.KeyPad = void 0;
|
|
11
|
-
|
|
12
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
13
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
21
|
-
|
|
22
14
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
-
|
|
24
15
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
-
|
|
26
16
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
-
|
|
28
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
-
|
|
30
18
|
var _react = _interopRequireDefault(require("react"));
|
|
31
|
-
|
|
32
19
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
-
|
|
34
20
|
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
35
|
-
|
|
36
21
|
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
37
|
-
|
|
38
22
|
var _styles = require("@material-ui/core/styles");
|
|
39
|
-
|
|
40
23
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
41
|
-
|
|
42
24
|
var _colorManipulator = require("@material-ui/core/styles/colorManipulator");
|
|
43
|
-
|
|
44
25
|
var _green = _interopRequireDefault(require("@material-ui/core/colors/green"));
|
|
45
|
-
|
|
46
26
|
var _keysLayout = require("./keys-layout");
|
|
47
|
-
|
|
48
27
|
var mq = _interopRequireWildcard(require("../mq"));
|
|
49
|
-
|
|
50
28
|
var _keys = require("../keys");
|
|
51
|
-
|
|
52
29
|
var _debug = _interopRequireDefault(require("debug"));
|
|
53
|
-
|
|
54
30
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
55
|
-
|
|
56
31
|
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); }
|
|
57
|
-
|
|
58
32
|
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; }
|
|
59
|
-
|
|
60
33
|
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; }
|
|
61
|
-
|
|
62
34
|
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; }
|
|
63
|
-
|
|
64
35
|
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); }; }
|
|
65
|
-
|
|
66
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; } }
|
|
67
|
-
|
|
68
37
|
var log = (0, _debug["default"])('pie-lib:math-inline:keypad');
|
|
69
38
|
var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
70
39
|
return {
|
|
@@ -186,7 +155,6 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
|
186
155
|
};
|
|
187
156
|
})(function (props) {
|
|
188
157
|
var buttonClass;
|
|
189
|
-
|
|
190
158
|
if (props.latex === '\\parallel') {
|
|
191
159
|
buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName, props.classes.parallelButton);
|
|
192
160
|
} else if (props.latex === '\\overleftrightarrow{\\overline{}}') {
|
|
@@ -194,7 +162,6 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
|
194
162
|
} else {
|
|
195
163
|
buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName);
|
|
196
164
|
}
|
|
197
|
-
|
|
198
165
|
try {
|
|
199
166
|
var MQ = MathQuill.getInterface(2);
|
|
200
167
|
var span = document.createElement('span');
|
|
@@ -206,7 +173,6 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
|
206
173
|
// received latex has errors - do not create button
|
|
207
174
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
|
|
208
175
|
}
|
|
209
|
-
|
|
210
176
|
return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
211
177
|
className: (0, _classnames["default"])(props.classes.root, props.className),
|
|
212
178
|
onClick: props.onClick,
|
|
@@ -216,7 +182,6 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
|
216
182
|
latex: props.latex
|
|
217
183
|
}));
|
|
218
184
|
});
|
|
219
|
-
|
|
220
185
|
var createCustomLayout = function createCustomLayout(layoutObj) {
|
|
221
186
|
if (layoutObj) {
|
|
222
187
|
return {
|
|
@@ -225,24 +190,17 @@ var createCustomLayout = function createCustomLayout(layoutObj) {
|
|
|
225
190
|
gridAutoFlow: 'initial'
|
|
226
191
|
};
|
|
227
192
|
}
|
|
228
|
-
|
|
229
193
|
return {};
|
|
230
194
|
};
|
|
231
|
-
|
|
232
195
|
var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
233
196
|
(0, _inherits2["default"])(KeyPad, _React$Component);
|
|
234
|
-
|
|
235
197
|
var _super = _createSuper(KeyPad);
|
|
236
|
-
|
|
237
198
|
function KeyPad() {
|
|
238
199
|
var _this;
|
|
239
|
-
|
|
240
200
|
(0, _classCallCheck2["default"])(this, KeyPad);
|
|
241
|
-
|
|
242
201
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
243
202
|
args[_key] = arguments[_key];
|
|
244
203
|
}
|
|
245
|
-
|
|
246
204
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
247
205
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buttonClick", function (key) {
|
|
248
206
|
log('[buttonClick]', key);
|
|
@@ -255,77 +213,72 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
255
213
|
});
|
|
256
214
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyIsNotAllowed", function (key) {
|
|
257
215
|
var noDecimal = _this.props.noDecimal;
|
|
258
|
-
|
|
259
216
|
if ((key.write === '.' && key.label === '.' || key.write === ',' && key.label === ',') && noDecimal) {
|
|
260
217
|
return true;
|
|
261
218
|
}
|
|
262
|
-
|
|
263
219
|
return false;
|
|
264
220
|
});
|
|
265
221
|
return _this;
|
|
266
222
|
}
|
|
267
|
-
|
|
268
223
|
(0, _createClass2["default"])(KeyPad, [{
|
|
269
224
|
key: "render",
|
|
270
225
|
value: function render() {
|
|
271
226
|
var _this2 = this;
|
|
272
|
-
|
|
273
227
|
var _this$props = this.props,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
228
|
+
classes = _this$props.classes,
|
|
229
|
+
className = _this$props.className,
|
|
230
|
+
baseSet = _this$props.baseSet,
|
|
231
|
+
additionalKeys = _this$props.additionalKeys,
|
|
232
|
+
layoutForKeyPad = _this$props.layoutForKeyPad,
|
|
233
|
+
onFocus = _this$props.onFocus,
|
|
234
|
+
mode = _this$props.mode;
|
|
281
235
|
var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];
|
|
282
236
|
var keysWithoutBaseSet = noBaseSet.includes(mode);
|
|
283
237
|
var allKeys = keysWithoutBaseSet ? this.flowKeys([], additionalKeys || []) : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];
|
|
284
238
|
|
|
285
239
|
var shift = allKeys.length % 5 ? 1 : 0;
|
|
286
|
-
|
|
287
240
|
var style = _objectSpread({
|
|
288
241
|
gridTemplateColumns: "repeat(".concat(Math.floor(allKeys.length / 5) + shift, ", minmax(min-content, 150px))")
|
|
289
242
|
}, createCustomLayout(layoutForKeyPad));
|
|
290
|
-
|
|
291
243
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
292
244
|
className: (0, _classnames["default"])(classes.keys, className, classes[mode]),
|
|
293
245
|
style: style,
|
|
294
246
|
onFocus: onFocus
|
|
295
247
|
}, allKeys.map(function (k, index) {
|
|
296
248
|
var onClick = _this2.buttonClick.bind(_this2, k);
|
|
297
|
-
|
|
298
249
|
if (!k) {
|
|
299
250
|
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
300
251
|
key: "empty-".concat(index)
|
|
301
252
|
});
|
|
302
253
|
}
|
|
303
|
-
|
|
304
254
|
var common = _objectSpread(_objectSpread({
|
|
305
255
|
onClick: onClick,
|
|
306
256
|
className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], classes[k.extraClass], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
|
|
307
257
|
disabled: _this2.keyIsNotAllowed(k),
|
|
308
258
|
key: "".concat(k.label || k.latex || k.command, "-").concat(index)
|
|
309
259
|
}, k.actions || {}), k.extraProps || {});
|
|
310
|
-
|
|
311
260
|
if (k.latex) {
|
|
312
261
|
return /*#__PURE__*/_react["default"].createElement(LatexButton, (0, _extends2["default"])({
|
|
313
|
-
latex: k.latex
|
|
262
|
+
latex: k.latex,
|
|
263
|
+
key: index
|
|
314
264
|
}, common, {
|
|
315
265
|
className: classes.latexButton,
|
|
316
266
|
ariaLabel: k.ariaLabel ? k.ariaLabel : k.name || k.label
|
|
317
267
|
}));
|
|
318
268
|
}
|
|
319
|
-
|
|
320
269
|
if (k.label) {
|
|
321
|
-
return /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
|
|
270
|
+
return /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
|
|
271
|
+
key: index
|
|
272
|
+
}, common, {
|
|
322
273
|
"aria-label": k.ariaLabel ? k.ariaLabel : k.name || k.label
|
|
323
274
|
}), k.label);
|
|
324
275
|
} else {
|
|
325
276
|
var Icon = k.icon ? k.icon : 'div';
|
|
326
277
|
return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], (0, _extends2["default"])({
|
|
327
278
|
tabIndex: '-1'
|
|
328
|
-
}, common
|
|
279
|
+
}, common, {
|
|
280
|
+
key: index
|
|
281
|
+
}), /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
329
282
|
className: classes.icon
|
|
330
283
|
}));
|
|
331
284
|
}
|
|
@@ -334,7 +287,6 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
334
287
|
}]);
|
|
335
288
|
return KeyPad;
|
|
336
289
|
}(_react["default"].Component);
|
|
337
|
-
|
|
338
290
|
exports.KeyPad = KeyPad;
|
|
339
291
|
(0, _defineProperty2["default"])(KeyPad, "propTypes", {
|
|
340
292
|
classes: _propTypes["default"].object.isRequired,
|
|
@@ -351,7 +303,6 @@ exports.KeyPad = KeyPad;
|
|
|
351
303
|
baseSet: _keys.baseSet,
|
|
352
304
|
noDecimal: false
|
|
353
305
|
});
|
|
354
|
-
|
|
355
306
|
var styles = function styles(theme) {
|
|
356
307
|
return {
|
|
357
308
|
keys: {
|
|
@@ -419,8 +370,6 @@ var styles = function styles(theme) {
|
|
|
419
370
|
}
|
|
420
371
|
};
|
|
421
372
|
};
|
|
422
|
-
|
|
423
373
|
var _default = (0, _styles.withStyles)(styles)(KeyPad);
|
|
424
|
-
|
|
425
374
|
exports["default"] = _default;
|
|
426
375
|
//# sourceMappingURL=index.js.map
|
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","fontFamily","top","lineHeight","left","right","minHeight","border","display","paddingTop","parallelButton","fontStyle","leftRightArrowButton","position","props","buttonClass","latex","classes","mqClassName","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","e","className","onClick","ariaLabel","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","extraProps","name","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","gridRowGap","gridColumnGap","character","holder","height","borderRadius","spacing","unit","minWidth","primary","light","operators","comparison","green"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,4BAAN,CAAZ;AAEA,IAAMC,WAAW,GAAG,wBAAW,UAACC,KAAD;AAAA,SAAY;AACzCC,IAAAA,IAAI,EAAE;AACJC,MAAAA,aAAa,EAAE,MADX;AAEJC,MAAAA,OAAO,EAAE,CAFL;AAGJC,MAAAA,MAAM,EAAE,CAHJ;AAIJC,MAAAA,QAAQ,EAAE;AAJN,KADmC;AAOzCC,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAE,MADJ;AAEXL,MAAAA,aAAa,EAAE,iBAFJ;AAGX,qCAA+B;AAC7BM,QAAAA,SAAS,EAAE;AADkB,OAHpB;AAMX,gCAA0B;AACxBC,QAAAA,YAAY,EAAE;AADU,OANf;AASX,qBAAe;AACbC,QAAAA,eAAe,YAAK,4BAAKV,KAAK,CAACW,OAAN,CAAcC,SAAd,CAAwBC,IAA7B,EAAmC,GAAnC,CAAL;AADF,OATJ;AAYX,2CAAqC;AACnCC,QAAAA,SAAS,EAAE;AADwB,OAZ1B;AAeX,yBAAmB;AACjBC,QAAAA,KAAK,EAAE,MADU;AAEjBC,QAAAA,SAAS,EAAE,cAFM;AAGjBF,QAAAA,SAAS,EAAE,iBAHM;AAIjBG,QAAAA,UAAU,EAAE,iDAJK;AAMjB,2BAAmB;AACjBC,UAAAA,GAAG,EAAE,gBADY;AAEjB,iBAAO;AACLC,YAAAA,UAAU,EAAE;AADP,WAFU;AAKjB,sBAAY;AACVd,YAAAA,QAAQ,EAAE,KADA;AAEVe,YAAAA,IAAI,EAAE,YAFI;AAGVF,YAAAA,GAAG,EAAE;AAHK,WALK;AAUjB,qBAAW;AACTb,YAAAA,QAAQ,EAAE,gBADD;AAETgB,YAAAA,KAAK,EAAE,uBAFE;AAGTH,YAAAA,GAAG,EAAE;AAHI,WAVM;AAejB,+BAAqB;AACnBb,YAAAA,QAAQ,EAAE,KADS;AAEnBe,YAAAA,IAAI,EAAE,YAFa;AAGnBF,YAAAA,GAAG,EAAE;AAHc,WAfJ;AAoBjB,8BAAoB;AAClBb,YAAAA,QAAQ,EAAE,KADQ;AAElBgB,YAAAA,KAAK,EAAE,YAFW;AAGlBH,YAAAA,GAAG,EAAE;AAHa,WApBH;AAyBjB,wBAAc;AACZI,YAAAA,SAAS,EAAE;AADC;AAzBG,SANF;AAmCjB,mCAA2B;AACzBjB,UAAAA,QAAQ,EAAE,KADe;AAEzBgB,UAAAA,KAAK,EAAE,YAFkB;AAGzBH,UAAAA,GAAG,EAAE;AAHoB,SAnCV;AAwCjB,iCAAyB;AACvBK,UAAAA,MAAM,EAAE;AADe,SAxCR;AA2CjB,2DAAmD;AACjDC,UAAAA,OAAO,EAAE;AADwC;AA3ClC,OAfR;AA8DX,0BAAoB;AAClBrB,QAAAA,OAAO,EAAE;AADS,OA9DT;AAiEX,sDAAgD;AAC9CkB,QAAAA,KAAK,EAAE,MADuC;AAE9ChB,QAAAA,QAAQ,EAAE,gBAFoC;AAG9Ca,QAAAA,GAAG,EAAE;AAHyC,OAjErC;AAsEX,wDAAkD;AAChDG,QAAAA,KAAK,EAAE,MADyC;AAEhDhB,QAAAA,QAAQ,EAAE,gBAFsC;AAGhDa,QAAAA,GAAG,EAAE;AAH2C,OAtEvC;AA2EX,uDAAiD;AAC/CE,QAAAA,IAAI,EAAE,MADyC;AAE/Cf,QAAAA,QAAQ,EAAE,gBAFqC;AAG/Ca,QAAAA,GAAG,EAAE;AAH0C,OA3EtC;AAgFX,6BAAuB;AACrBJ,QAAAA,SAAS,EAAE,sBADU;AAErBW,QAAAA,UAAU,EAAE;AAFS,OAhFZ;AAoFX,6BAAuB;AACrBN,QAAAA,UAAU,EAAE;AADS,OApFZ;AAuFX,uBAAiB;AACfL,QAAAA,SAAS,EAAE,4BADI;AAEf,gCAAwB;AACtBA,UAAAA,SAAS,EAAE,iBADW;AAEtBW,UAAAA,UAAU,EAAE;AAFU;AAFT;AAvFN,KAP4B;AAsGzCC,IAAAA,cAAc,EAAE;AACdC,MAAAA,SAAS,EAAE;AADG,KAtGyB;AAyGzCC,IAAAA,oBAAoB,EAAE;AACpB,uCAAiC;AAC/B,gCAAwB;AACtBd,UAAAA,SAAS,EAAE,iBADW;AAEtBW,UAAAA,UAAU,EAAE;AAFU,SADO;AAK/B,mBAAW;AACTI,UAAAA,QAAQ,EAAE,qBADD;AAETX,UAAAA,GAAG,EAAE;AAFI;AALoB;AADb;AAzGmB,GAAZ;AAAA,CAAX,EAqHhB,UAACY,KAAD,EAAW;AACb,MAAIC,WAAJ;;AAEA,MAAID,KAAK,CAACE,KAAN,KAAgB,YAApB,EAAkC;AAChCD,IAAAA,WAAW,GAAG,4BAAWD,KAAK,CAACG,OAAN,CAAc3B,WAAzB,EAAsCwB,KAAK,CAACI,WAA5C,EAAyDJ,KAAK,CAACG,OAAN,CAAcP,cAAvE,CAAd;AACD,GAFD,MAEO,IAAII,KAAK,CAACE,KAAN,KAAgB,oCAApB,EAA0D;AAC/DD,IAAAA,WAAW,GAAG,4BAAWD,KAAK,CAACG,OAAN,CAAc3B,WAAzB,EAAsCwB,KAAK,CAACI,WAA5C,EAAyDJ,KAAK,CAACG,OAAN,CAAcL,oBAAvE,CAAd;AACD,GAFM,MAEA;AACLG,IAAAA,WAAW,GAAG,4BAAWD,KAAK,CAACG,OAAN,CAAc3B,WAAzB,EAAsCwB,KAAK,CAACI,WAA5C,CAAd;AACD;;AAED,MAAI;AACF,QAAMC,EAAE,GAAGC,SAAS,CAACC,YAAV,CAAuB,CAAvB,CAAX;AACA,QAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAb;AACAF,IAAAA,IAAI,CAACG,SAAL,GAAiB,EAAjB;AACA,QAAMC,SAAS,GAAGP,EAAE,CAACQ,UAAH,CAAcL,IAAd,CAAlB;AAEAI,IAAAA,SAAS,CAACE,UAAV,CAAqBd,KAAK,CAACE,KAA3B;AACAU,IAAAA,SAAS,CAACV,KAAV,CAAgBF,KAAK,CAACE,KAAtB;AACD,GARD,CAQE,OAAOa,CAAP,EAAU;AACV;AACA,wBAAO,iEAAP;AACD;;AAED,sBACE,gCAAC,kBAAD;AACE,IAAA,SAAS,EAAE,4BAAWf,KAAK,CAACG,OAAN,CAAchC,IAAzB,EAA+B6B,KAAK,CAACgB,SAArC,CADb;AAEE,IAAA,OAAO,EAAEhB,KAAK,CAACiB,OAFjB;AAGE,kBAAYjB,KAAK,CAACkB;AAHpB,kBAKE,gCAAC,EAAD,CAAI,MAAJ;AAAW,IAAA,SAAS,EAAEjB,WAAtB;AAAmC,IAAA,KAAK,EAAED,KAAK,CAACE;AAAhD,IALF,CADF;AASD,CAtJmB,CAApB;;AAwJA,IAAMiB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,SAAD,EAAe;AACxC,MAAIA,SAAJ,EAAe;AACb,WAAO;AACLC,MAAAA,mBAAmB,mBAAYD,SAAS,CAACE,OAAtB,kCADd;AAELC,MAAAA,gBAAgB,mBAAYH,SAAS,CAACI,IAAtB,0BAFX;AAGLC,MAAAA,YAAY,EAAE;AAHT,KAAP;AAKD;;AAED,SAAO,EAAP;AACD,CAVD;;IAYaC,M;;;;;;;;;;;;;;;oGAiBG,UAACC,GAAD,EAAS;AACrB3D,MAAAA,GAAG,CAAC,eAAD,EAAkB2D,GAAlB,CAAH;AACA,UAAQC,OAAR,GAAoB,MAAK5B,KAAzB,CAAQ4B,OAAR;AACAA,MAAAA,OAAO,CAACD,GAAD,CAAP;AACD,K;iGAEU,UAACE,IAAD,EAAOC,MAAP,EAAkB;AAC3B,UAAMC,UAAU,iDAAO,0BAASF,IAAT,CAAP,uCAA0B,0BAASC,MAAT,CAA1B,EAAhB;AACA,aAAOE,mBAAEC,OAAF,CAAUF,UAAV,CAAP;AACD,K;wGAEiB,UAACJ,GAAD,EAAS;AACzB,UAAQO,SAAR,GAAsB,MAAKlC,KAA3B,CAAQkC,SAAR;;AAEA,UAAI,CAAEP,GAAG,CAACQ,KAAJ,KAAc,GAAd,IAAqBR,GAAG,CAACS,KAAJ,KAAc,GAApC,IAA6CT,GAAG,CAACQ,KAAJ,KAAc,GAAd,IAAqBR,GAAG,CAACS,KAAJ,KAAc,GAAjF,KAA0FF,SAA9F,EAAyG;AACvG,eAAO,IAAP;AACD;;AAED,aAAO,KAAP;AACD,K;;;;;;WAED,kBAAS;AAAA;;AACP,wBAAwF,KAAKlC,KAA7F;AAAA,UAAQG,OAAR,eAAQA,OAAR;AAAA,UAAiBa,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BqB,OAA5B,eAA4BA,OAA5B;AAAA,UAAqCC,cAArC,eAAqCA,cAArC;AAAA,UAAqDC,eAArD,eAAqDA,eAArD;AAAA,UAAsEC,OAAtE,eAAsEA,OAAtE;AAAA,UAA+EC,IAA/E,eAA+EA,IAA/E;AAEA,UAAMC,SAAS,GAAG,CAAC,uBAAD,EAA0B,UAA1B,EAAsC,UAAtC,EAAkD,WAAlD,EAA+D,gBAA/D,EAAiF,UAAjF,CAAlB;AAEA,UAAMC,kBAAkB,GAAGD,SAAS,CAACE,QAAV,CAAmBH,IAAnB,CAA3B;AACA,UAAMI,OAAO,GAAGF,kBAAkB,GAC9B,KAAKG,QAAL,CAAc,EAAd,EAAkBR,cAAc,IAAI,EAApC,CAD8B,GAE9B,KAAKQ,QAAL,CAAcT,OAAd,EAAuBC,cAAc,IAAI,EAAzC,CAFJ,CANO,CAQ2C;;AAElD,UAAMS,KAAK,GAAGF,OAAO,CAACG,MAAR,GAAiB,CAAjB,GAAqB,CAArB,GAAyB,CAAvC;;AACA,UAAMC,KAAK;AACT5B,QAAAA,mBAAmB,mBAAY6B,IAAI,CAACC,KAAL,CAAWN,OAAO,CAACG,MAAR,GAAiB,CAA5B,IAAiCD,KAA7C;AADV,SAEN5B,kBAAkB,CAACoB,eAAD,CAFZ,CAAX;;AAKA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWpC,OAAO,CAACiD,IAAnB,EAAyBpC,SAAzB,EAAoCb,OAAO,CAACsC,IAAD,CAA3C,CAAhB;AAAoE,QAAA,KAAK,EAAEQ,KAA3E;AAAkF,QAAA,OAAO,EAAET;AAA3F,SACGK,OAAO,CAACQ,GAAR,CAAY,UAACC,CAAD,EAAIC,KAAJ,EAAc;AACzB,YAAMtC,OAAO,GAAG,MAAI,CAACuC,WAAL,CAAiBC,IAAjB,CAAsB,MAAtB,EAA4BH,CAA5B,CAAhB;;AAEA,YAAI,CAACA,CAAL,EAAQ;AACN,8BAAO;AAAM,YAAA,GAAG,kBAAWC,KAAX;AAAT,YAAP;AACD;;AAED,YAAMG,MAAM;AACVzC,UAAAA,OAAO,EAAPA,OADU;AAEVD,UAAAA,SAAS,EAAE,4BACTb,OAAO,CAACwD,WADC,EAET,CAAChB,kBAAD,IAAuBxC,OAAO,CAACmD,CAAC,CAACM,QAAH,CAFrB,EAGTzD,OAAO,CAACmD,CAAC,CAACO,UAAH,CAHE,EAITP,CAAC,CAAClB,KAAF,KAAY,GAAZ,IAAmBjC,OAAO,CAAC2D,KAJlB,EAKTR,CAAC,CAAClB,KAAF,KAAY,GAAZ,IAAmBjC,OAAO,CAAC4D,GALlB,CAFD;AASVC,UAAAA,QAAQ,EAAE,MAAI,CAACC,eAAL,CAAqBX,CAArB,CATA;AAUV3B,UAAAA,GAAG,YAAK2B,CAAC,CAAClB,KAAF,IAAWkB,CAAC,CAACpD,KAAb,IAAsBoD,CAAC,CAACY,OAA7B,cAAwCX,KAAxC;AAVO,WAWND,CAAC,CAACa,OAAF,IAAa,EAXP,GAYNb,CAAC,CAACc,UAAF,IAAgB,EAZV,CAAZ;;AAeA,YAAId,CAAC,CAACpD,KAAN,EAAa;AACX,8BACE,gCAAC,WAAD;AACE,YAAA,KAAK,EAAEoD,CAAC,CAACpD;AADX,aAEMwD,MAFN;AAGE,YAAA,SAAS,EAAEvD,OAAO,CAAC3B,WAHrB;AAIE,YAAA,SAAS,EAAE8E,CAAC,CAACpC,SAAF,GAAcoC,CAAC,CAACpC,SAAhB,GAA6BoC,CAAC,CAACe,IAAF,IAAUf,CAAC,CAAClB;AAJtD,aADF;AAQD;;AAED,YAAIkB,CAAC,CAAClB,KAAN,EAAa;AACX,8BACE,gCAAC,kBAAD,gCAAYsB,MAAZ;AAAoB,0BAAYJ,CAAC,CAACpC,SAAF,GAAcoC,CAAC,CAACpC,SAAhB,GAA6BoC,CAAC,CAACe,IAAF,IAAUf,CAAC,CAAClB;AAAzE,cACGkB,CAAC,CAAClB,KADL,CADF;AAKD,SAND,MAMO;AACL,cAAMkC,IAAI,GAAGhB,CAAC,CAACiB,IAAF,GAASjB,CAAC,CAACiB,IAAX,GAAkB,KAA/B;AAEA,8BACE,gCAAC,sBAAD;AAAY,YAAA,QAAQ,EAAE;AAAtB,aAAgCb,MAAhC,gBACE,gCAAC,IAAD;AAAM,YAAA,SAAS,EAAEvD,OAAO,CAACoE;AAAzB,YADF,CADF;AAKD;AACF,OAhDA,CADH,CADF;AAqDD;;;EA3GyBC,kBAAMC,S;;;iCAArB/C,M,eACQ;AACjBvB,EAAAA,OAAO,EAAEuE,sBAAUC,MAAV,CAAiBC,UADT;AAEjB5D,EAAAA,SAAS,EAAE0D,sBAAUG,MAFJ;AAGjBxC,EAAAA,OAAO,EAAEqC,sBAAUI,KAHF;AAIjBxC,EAAAA,cAAc,EAAEoC,sBAAUI,KAJT;AAKjBvC,EAAAA,eAAe,EAAEmC,sBAAUC,MALV;AAMjB/C,EAAAA,OAAO,EAAE8C,sBAAUK,IAAV,CAAeH,UANP;AAOjBpC,EAAAA,OAAO,EAAEkC,sBAAUK,IAPF;AAQjB7C,EAAAA,SAAS,EAAEwC,sBAAUM,IARJ;AASjBvC,EAAAA,IAAI,EAAEiC,sBAAUG;AATC,C;iCADRnD,M,kBAYW;AACpBW,EAAAA,OAAO,EAAEA,aADW;AAEpBH,EAAAA,SAAS,EAAE;AAFS,C;;AAkGxB,IAAM+C,MAAM,GAAG,SAATA,MAAS,CAAC/G,KAAD;AAAA,SAAY;AACzBkF,IAAAA,IAAI,EAAE;AACJ,aAAO;AACLjE,QAAAA,UAAU,EAAE;AADP,OADH;AAIJF,MAAAA,KAAK,EAAE,MAJH;AAKJS,MAAAA,OAAO,EAAE,MALL;AAMJ6B,MAAAA,gBAAgB,EAAE,+BANd;AAOJ2D,MAAAA,UAAU,EAAE,KAPR;AAQJC,MAAAA,aAAa,EAAE,KARX;AASJ1D,MAAAA,YAAY,EAAE;AATV,KADmB;AAYzB2D,IAAAA,SAAS,EAAE;AACThH,MAAAA,aAAa,EAAE;AADN,KAZc;AAezBiH,IAAAA,MAAM,EAAE;AACNtF,MAAAA,QAAQ,EAAE,UADJ;AAENd,MAAAA,KAAK,EAAE,MAFD;AAGNqG,MAAAA,MAAM,EAAE,MAHF;AAIN1G,MAAAA,eAAe,EAAE,MAJX;AAKN2G,MAAAA,YAAY,EAAE,CALR;AAMNlH,MAAAA,OAAO,YAAKH,KAAK,CAACsH,OAAN,CAAcC,IAAnB,kBAA+BvH,KAAK,CAACsH,OAAN,CAAcC,IAA7C;AAND,KAfiB;AAuBzB9B,IAAAA,WAAW,EAAE;AACX+B,MAAAA,QAAQ,EAAE,MADC;AAEXnH,MAAAA,QAAQ,EAAE,iBAFC;AAGXK,MAAAA,eAAe,EAAE,+BAAQV,KAAK,CAACW,OAAN,CAAc8G,OAAd,CAAsBC,KAA9B,EAAqC,GAArC,CAHN;AAIX,iBAAW;AACThH,QAAAA,eAAe,EAAE,+BAAQV,KAAK,CAACW,OAAN,CAAc8G,OAAd,CAAsBC,KAA9B,EAAqC,GAArC;AADR,OAJA;AAOXL,MAAAA,YAAY,EAAE;AAPH,KAvBY;AAgCzB/G,IAAAA,WAAW,EAAE;AACXkH,MAAAA,QAAQ,EAAE,MADC;AAEXH,MAAAA,YAAY,EAAE,CAFH;AAGX3G,MAAAA,eAAe,EAAE,+BAAQV,KAAK,CAACW,OAAN,CAAc8G,OAAd,CAAsBC,KAA9B,EAAqC,GAArC,CAHN;AAIX,iBAAW;AACThH,QAAAA,eAAe,EAAE,+BAAQV,KAAK,CAACW,OAAN,CAAc8G,OAAd,CAAsBC,KAA9B,EAAqC,GAArC;AADR;AAJA,KAhCY;AAwCzB/D,IAAAA,IAAI,EAAE,EAxCmB;AAyCzBgE,IAAAA,SAAS,EAAE;AACTjH,MAAAA,eAAe,EAAE,+BAAQV,KAAK,CAACW,OAAN,CAAcC,SAAd,CAAwB8G,KAAhC,EAAuC,GAAvC,CADR;AAET,iBAAW;AACThH,QAAAA,eAAe,EAAE,+BAAQV,KAAK,CAACW,OAAN,CAAcC,SAAd,CAAwB8G,KAAhC,EAAuC,GAAvC;AADR;AAFF,KAzCc;AA+CzBE,IAAAA,UAAU,EAAE;AACVlH,MAAAA,eAAe,EAAE,+BAAQmH,kBAAM,GAAN,CAAR,EAAoB,GAApB,CADP;AAEV,iBAAW;AACTnH,QAAAA,eAAe,EAAE,+BAAQmH,kBAAM,GAAN,CAAR,EAAoB,GAApB;AADR;AAFD,KA/Ca;AAqDzBjC,IAAAA,KAAK,EAAE;AACLvF,MAAAA,QAAQ,EAAE,iBADL;AAELc,MAAAA,UAAU,EAAE;AAFP,KArDkB;AAyDzB0E,IAAAA,GAAG,EAAE;AACHxF,MAAAA,QAAQ,EAAE,iBADP;AAEHc,MAAAA,UAAU,EAAE;AAFT,KAzDoB;AA6DzBkF,IAAAA,IAAI,EAAE;AACJe,MAAAA,MAAM,EAAE;AADJ;AA7DmB,GAAZ;AAAA,CAAf;;eAkEe,wBAAWL,MAAX,EAAmBvD,MAAnB,C","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 fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n\n '&.mq-arrow-both': {\n top: '0px !important',\n '& *': {\n lineHeight: '1 !important',\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.31em',\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.26em',\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.26em',\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.26em',\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 position: 'absolute !important',\n top: '0px !important',\n },\n },\n },\n}))((props) => {\n let buttonClass;\n\n if (props.latex === '\\\\parallel') {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName, props.classes.parallelButton);\n } else if (props.latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName, props.classes.leftRightArrowButton);\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\n className={classNames(props.classes.root, props.className)}\n onClick={props.onClick}\n aria-label={props.ariaLabel}\n >\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 (((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) && noDecimal) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { classes, className, baseSet, additionalKeys, layoutForKeyPad, onFocus, mode } = this.props;\n\n const noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];\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) + shift}, minmax(min-content, 150px))`,\n ...createCustomLayout(layoutForKeyPad),\n };\n\n return (\n <div className={classNames(classes.keys, className, classes[mode])} 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 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 ...(k.extraProps || {}),\n };\n\n if (k.latex) {\n return (\n <LatexButton\n latex={k.latex}\n {...common}\n className={classes.latexButton}\n ariaLabel={k.ariaLabel ? k.ariaLabel : (k.name || k.label)}\n />\n );\n }\n\n if (k.label) {\n return (\n <Button {...common} aria-label={k.ariaLabel ? k.ariaLabel : (k.name || k.label)}>\n {k.label}\n </Button>\n );\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
|
+
{"version":3,"file":"index.js","names":["log","debug","LatexButton","withStyles","theme","root","textTransform","padding","margin","fontSize","latexButton","pointerEvents","transform","marginBottom","backgroundColor","fade","palette","secondary","main","borderTop","width","marginTop","fontFamily","top","lineHeight","left","right","minHeight","border","display","paddingTop","parallelButton","fontStyle","leftRightArrowButton","position","props","buttonClass","latex","classNames","classes","mqClassName","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","e","className","onClick","ariaLabel","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPad","key","onPress","base","extras","transposed","sortKeys","_","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","extraProps","name","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","gridRowGap","gridColumnGap","character","holder","height","borderRadius","spacing","unit","minWidth","lighten","primary","light","operators","comparison","green"],"sources":["../../src/keypad/index.jsx"],"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 fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n\n '&.mq-arrow-both': {\n top: '0px !important',\n '& *': {\n lineHeight: '1 !important',\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.31em',\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.26em',\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.26em',\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.26em',\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 position: 'absolute !important',\n top: '0px !important',\n },\n },\n },\n}))((props) => {\n let buttonClass;\n\n if (props.latex === '\\\\parallel') {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName, props.classes.parallelButton);\n } else if (props.latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName, props.classes.leftRightArrowButton);\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\n className={classNames(props.classes.root, props.className)}\n onClick={props.onClick}\n aria-label={props.ariaLabel}\n >\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 (((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) && noDecimal) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { classes, className, baseSet, additionalKeys, layoutForKeyPad, onFocus, mode } = this.props;\n\n const noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];\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) + shift}, minmax(min-content, 150px))`,\n ...createCustomLayout(layoutForKeyPad),\n };\n\n return (\n <div className={classNames(classes.keys, className, classes[mode])} 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 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 ...(k.extraProps || {}),\n };\n\n if (k.latex) {\n return (\n <LatexButton\n latex={k.latex}\n key={index}\n {...common}\n className={classes.latexButton}\n ariaLabel={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n />\n );\n }\n\n if (k.label) {\n return (\n <Button key={index} {...common} aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}>\n {k.label}\n </Button>\n );\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <IconButton tabIndex={'-1'} {...common} key={index}>\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"],"mappings":"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"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.sortKeys = void 0;
|
|
9
|
-
|
|
10
8
|
var _ = _interopRequireWildcard(require("lodash"));
|
|
11
|
-
|
|
12
9
|
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
10
|
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; }
|
|
15
|
-
|
|
16
11
|
/**
|
|
17
12
|
* Sort additional keys.
|
|
18
13
|
*
|
|
@@ -24,11 +19,8 @@ var sortKeys = function sortKeys(keys) {
|
|
|
24
19
|
_.times(5 - keys.length, function () {
|
|
25
20
|
keys.push([]);
|
|
26
21
|
});
|
|
27
|
-
|
|
28
22
|
var out = _.zip.apply(null, keys);
|
|
29
|
-
|
|
30
23
|
return out;
|
|
31
24
|
};
|
|
32
|
-
|
|
33
25
|
exports.sortKeys = sortKeys;
|
|
34
26
|
//# sourceMappingURL=keys-layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"keys-layout.js","names":["sortKeys","keys","_","times","length","push","out","zip","apply"],"sources":["../../src/keypad/keys-layout.js"],"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"],"mappings":";;;;;;;AAAA;AAA4B;AAAA;AAE5B;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,QAAQ,GAAG,SAAXA,QAAQ,CAAIC,IAAI,EAAK;EAChC;EACAC,CAAC,CAACC,KAAK,CAAC,CAAC,GAAGF,IAAI,CAACG,MAAM,EAAE,YAAM;IAC7BH,IAAI,CAACI,IAAI,CAAC,EAAE,CAAC;EACf,CAAC,CAAC;EAEF,IAAMC,GAAG,GAAGJ,CAAC,CAACK,GAAG,CAACC,KAAK,CAAC,IAAI,EAAEP,IAAI,CAAC;EACnC,OAAOK,GAAG;AACZ,CAAC;AAAC"}
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.plus = exports.multiply = exports.minus = exports.equals = exports.divide = void 0;
|
|
7
|
-
|
|
8
7
|
var _chars = require("./chars");
|
|
9
|
-
|
|
10
8
|
var _utils = require("./utils");
|
|
11
|
-
|
|
12
9
|
var set = (0, _utils.mkSet)('operators');
|
|
13
10
|
var equals = set({
|
|
14
11
|
write: '=',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"basic-operators.js","names":["set","mkSet","equals","write","label","plus","minus","divide","name","DIVIDE","command","otherNotation","multiply","MULTIPLY"],"sources":["../../src/keys/basic-operators.js"],"sourcesContent":["import { DIVIDE, MULTIPLY } from './chars';\nimport { mkSet } from './utils';\n\nconst set = mkSet('operators');\n\nexport const equals = set({\n write: '=',\n label: '=',\n});\n\nexport const plus = set({\n write: '+',\n label: '+',\n});\n\nexport const minus = set({\n write: '−',\n label: '−',\n});\n\nexport const divide = set({\n name: 'divide',\n label: DIVIDE,\n command: '\\\\divide',\n otherNotation: '\\\\div',\n});\n\nexport const multiply = set({\n name: 'multiply',\n label: MULTIPLY,\n command: '\\\\times',\n});\n"],"mappings":";;;;;;AAAA;AACA;AAEA,IAAMA,GAAG,GAAG,IAAAC,YAAK,EAAC,WAAW,CAAC;AAEvB,IAAMC,MAAM,GAAGF,GAAG,CAAC;EACxBG,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE;AACT,CAAC,CAAC;AAAC;AAEI,IAAMC,IAAI,GAAGL,GAAG,CAAC;EACtBG,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE;AACT,CAAC,CAAC;AAAC;AAEI,IAAME,KAAK,GAAGN,GAAG,CAAC;EACvBG,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE;AACT,CAAC,CAAC;AAAC;AAEI,IAAMG,MAAM,GAAGP,GAAG,CAAC;EACxBQ,IAAI,EAAE,QAAQ;EACdJ,KAAK,EAAEK,aAAM;EACbC,OAAO,EAAE,UAAU;EACnBC,aAAa,EAAE;AACjB,CAAC,CAAC;AAAC;AAEI,IAAMC,QAAQ,GAAGZ,GAAG,CAAC;EAC1BQ,IAAI,EAAE,UAAU;EAChBJ,KAAK,EAAES,eAAQ;EACfH,OAAO,EAAE;AACX,CAAC,CAAC;AAAC"}
|
package/lib/keys/chars.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"chars.js","names":["DELETE","LEFT_ARROW","RIGHT_ARROW","DIVIDE","MULTIPLY"],"sources":["../../src/keys/chars.js"],"sourcesContent":["export const DELETE = '\\u232B';\nexport const LEFT_ARROW = '◀';\nexport const RIGHT_ARROW = '▶';\nexport const DIVIDE = '\\u00F7';\nexport const MULTIPLY = '\\u00D7';\n"],"mappings":";;;;;;AAAO,IAAMA,MAAM,GAAG,QAAQ;AAAC;AACxB,IAAMC,UAAU,GAAG,GAAG;AAAC;AACvB,IAAMC,WAAW,GAAG,GAAG;AAAC;AACxB,IAAMC,MAAM,GAAG,MAAQ;AAAC;AACxB,IAAMC,QAAQ,GAAG,MAAQ;AAAC"}
|