@pie-lib/math-input 6.6.9 → 6.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/lib/horizontal-keypad.js +24 -32
- package/lib/horizontal-keypad.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/keypad/index.js +61 -59
- package/lib/keypad/index.js.map +1 -1
- package/lib/keypad/keys-layout.js +1 -1
- package/lib/keys/comparison.js +5 -3
- package/lib/keys/comparison.js.map +1 -1
- package/lib/keys/digits.js +2 -2
- package/lib/keys/digits.js.map +1 -1
- package/lib/keys/geometry.js +5 -3
- package/lib/keys/geometry.js.map +1 -1
- package/lib/keys/grades.js +11 -23
- package/lib/keys/grades.js.map +1 -1
- package/lib/keys/index.js +3 -3
- package/lib/keys/index.js.map +1 -1
- package/lib/keys/utils.js +7 -17
- package/lib/keys/utils.js.map +1 -1
- package/lib/math-input.js +27 -41
- package/lib/math-input.js.map +1 -1
- package/lib/mq/index.js +2 -2
- package/lib/mq/index.js.map +1 -1
- package/lib/mq/input.js +23 -35
- package/lib/mq/input.js.map +1 -1
- package/lib/mq/static.js +19 -29
- 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 +38 -5
- package/src/keys/grades.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,40 @@
|
|
|
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.7.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.7.0...@pie-lib/math-input@6.7.1) (2022-07-18)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Reverts
|
|
10
|
+
|
|
11
|
+
* Revert "feat(math-toolbar): Make math-toolbar style inline with mathjax for Geometry" ([fee3f22](https://github.com/pie-framework/pie-lib/commit/fee3f22897a03d1d5c892f731dfc441dba9ed10f))
|
|
12
|
+
* Revert "feat(math-toolbar): Make math-toolbar preview style inline with mathjax" ([bb86c35](https://github.com/pie-framework/pie-lib/commit/bb86c35ed56228c673020faf5ea089fb99418fd8))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# [6.7.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.6.10...@pie-lib/math-input@6.7.0) (2022-07-18)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* **characters:** special character accents span 2 rows, added border for visibility [PD-1462] ([c60b0bc](https://github.com/pie-framework/pie-lib/commit/c60b0bc8ff45cc01f53bc752fd5dd64da623f6be))
|
|
24
|
+
* **math-toolbar:** Make math-toolbar preview style inline with mathjax ([266b1bc](https://github.com/pie-framework/pie-lib/commit/266b1bc9a277530fd653edfacbb836596957dd33))
|
|
25
|
+
* **math-toolbar:** Make math-toolbar style inline with mathjax for Geometry ([811bde0](https://github.com/pie-framework/pie-lib/commit/811bde0aa97633822fa3260666e298e841b6b9f7))
|
|
26
|
+
* **plugins:** added special characters adding capabilities [PD-1462] ([b9f41e1](https://github.com/pie-framework/pie-lib/commit/b9f41e11f44df140a66145d0b04558ca2b0ea48e))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## [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)
|
|
33
|
+
|
|
34
|
+
**Note:** Version bump only for package @pie-lib/math-input
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
6
40
|
## [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)
|
|
7
41
|
|
|
8
42
|
|
package/lib/horizontal-keypad.js
CHANGED
|
@@ -1,46 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
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; }
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
27
|
|
|
30
|
-
|
|
28
|
+
var _grades = require("./keys/grades");
|
|
31
29
|
|
|
32
|
-
|
|
30
|
+
var _utils = require("./keys/utils");
|
|
33
31
|
|
|
34
|
-
|
|
32
|
+
var _keypad = _interopRequireDefault(require("./keypad"));
|
|
35
33
|
|
|
36
|
-
function
|
|
34
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
37
35
|
|
|
38
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; } }
|
|
39
37
|
|
|
40
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
41
|
-
|
|
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; }
|
|
43
|
-
|
|
44
38
|
var toOldModel = function toOldModel(d) {
|
|
45
39
|
if (d.command) {
|
|
46
40
|
return {
|
|
@@ -60,30 +54,28 @@ var toOldModel = function toOldModel(d) {
|
|
|
60
54
|
};
|
|
61
55
|
|
|
62
56
|
var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
|
|
63
|
-
|
|
57
|
+
(0, _inherits2["default"])(HorizontalKeypad, _React$Component);
|
|
64
58
|
|
|
65
59
|
var _super = _createSuper(HorizontalKeypad);
|
|
66
60
|
|
|
67
61
|
function HorizontalKeypad() {
|
|
68
62
|
var _this;
|
|
69
63
|
|
|
70
|
-
|
|
64
|
+
(0, _classCallCheck2["default"])(this, HorizontalKeypad);
|
|
71
65
|
|
|
72
66
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
73
67
|
args[_key] = arguments[_key];
|
|
74
68
|
}
|
|
75
69
|
|
|
76
70
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
77
|
-
|
|
78
|
-
_defineProperty(_assertThisInitialized(_this), "keypadPress", function (data) {
|
|
71
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keypadPress", function (data) {
|
|
79
72
|
var onClick = _this.props.onClick;
|
|
80
73
|
onClick(toOldModel(data));
|
|
81
74
|
});
|
|
82
|
-
|
|
83
75
|
return _this;
|
|
84
76
|
}
|
|
85
77
|
|
|
86
|
-
|
|
78
|
+
(0, _createClass2["default"])(HorizontalKeypad, [{
|
|
87
79
|
key: "render",
|
|
88
80
|
value: function render() {
|
|
89
81
|
var _this$props = this.props,
|
|
@@ -91,34 +83,34 @@ var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
|
|
|
91
83
|
onFocus = _this$props.onFocus,
|
|
92
84
|
noDecimal = _this$props.noDecimal,
|
|
93
85
|
className = _this$props.className,
|
|
94
|
-
additionalKeys = _this$props.additionalKeys
|
|
86
|
+
additionalKeys = _this$props.additionalKeys,
|
|
87
|
+
layoutForKeyPad = _this$props.layoutForKeyPad;
|
|
95
88
|
var normalizedKeys = (0, _grades.normalizeAdditionalKeys)(additionalKeys);
|
|
96
89
|
return /*#__PURE__*/_react["default"].createElement(_keypad["default"], {
|
|
97
90
|
className: className,
|
|
98
91
|
onFocus: onFocus,
|
|
99
92
|
noDecimal: noDecimal,
|
|
93
|
+
layoutForKeyPad: layoutForKeyPad,
|
|
100
94
|
additionalKeys: (0, _utils.extendKeySet)((0, _grades.keysForGrade)(mode), normalizedKeys),
|
|
101
95
|
onPress: this.keypadPress,
|
|
102
96
|
mode: mode
|
|
103
97
|
});
|
|
104
98
|
}
|
|
105
99
|
}]);
|
|
106
|
-
|
|
107
100
|
return HorizontalKeypad;
|
|
108
101
|
}(_react["default"].Component);
|
|
109
102
|
|
|
110
103
|
exports["default"] = HorizontalKeypad;
|
|
111
|
-
|
|
112
|
-
_defineProperty(HorizontalKeypad, "propTypes", {
|
|
104
|
+
(0, _defineProperty2["default"])(HorizontalKeypad, "propTypes", {
|
|
113
105
|
className: _propTypes["default"].string,
|
|
114
106
|
mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
107
|
+
layoutForKeyPad: _propTypes["default"].object,
|
|
115
108
|
onClick: _propTypes["default"].func.isRequired,
|
|
116
109
|
onFocus: _propTypes["default"].func,
|
|
117
110
|
noDecimal: _propTypes["default"].bool,
|
|
118
111
|
additionalKeys: _propTypes["default"].array
|
|
119
112
|
});
|
|
120
|
-
|
|
121
|
-
_defineProperty(HorizontalKeypad, "defaultProps", {
|
|
113
|
+
(0, _defineProperty2["default"])(HorizontalKeypad, "defaultProps", {
|
|
122
114
|
mode: 'scientific',
|
|
123
115
|
noDecimal: false,
|
|
124
116
|
additionalKeys: []
|
|
@@ -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;;;;;;;;;;;;;;;oGAiBL,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;;;iCAA/Bb,gB,eACA;AACjBO,EAAAA,SAAS,EAAEO,sBAAUC,MADJ;AAEjBX,EAAAA,IAAI,EAAEU,sBAAUE,SAAV,CAAoB,CAACF,sBAAUC,MAAX,EAAmBD,sBAAUG,MAA7B,CAApB,CAFW;AAGjBR,EAAAA,eAAe,EAAEK,sBAAUI,MAHV;AAIjBhB,EAAAA,OAAO,EAAEY,sBAAUK,IAAV,CAAeC,UAJP;AAKjBf,EAAAA,OAAO,EAAES,sBAAUK,IALF;AAMjBb,EAAAA,SAAS,EAAEQ,sBAAUO,IANJ;AAOjBb,EAAAA,cAAc,EAAEM,sBAAUQ;AAPT,C;iCADAtB,gB,kBAWG;AACpBI,EAAAA,IAAI,EAAE,YADc;AAEpBE,EAAAA,SAAS,EAAE,KAFS;AAGpBE,EAAAA,cAAc,EAAE;AAHI,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { keysForGrade, normalizeAdditionalKeys } from './keys/grades';\nimport { extendKeySet } from './keys/utils';\nimport Keypad from './keypad';\n\nconst toOldModel = d => {\n if (d.command) {\n return { value: d.command, type: 'command' };\n } else if (d.write) {\n return { value: d.write };\n } else if (d.keystroke) {\n return { type: 'cursor', value: d.keystroke };\n }\n};\n\nexport default class HorizontalKeypad extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n layoutForKeyPad: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n additionalKeys: PropTypes.array\n };\n\n static defaultProps = {\n mode: 'scientific',\n noDecimal: false,\n additionalKeys: []\n };\n\n keypadPress = data => {\n const { onClick } = this.props;\n\n onClick(toOldModel(data));\n };\n\n render() {\n const { mode, onFocus, noDecimal, className, additionalKeys, layoutForKeyPad } = this.props;\n const normalizedKeys = normalizeAdditionalKeys(additionalKeys);\n\n return (\n <Keypad\n className={className}\n onFocus={onFocus}\n noDecimal={noDecimal}\n layoutForKeyPad={layoutForKeyPad}\n additionalKeys={extendKeySet(keysForGrade(mode), normalizedKeys)}\n onPress={this.keypadPress}\n mode={mode}\n />\n );\n }\n}\n"],"file":"horizontal-keypad.js"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
6
|
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
@@ -32,8 +34,6 @@ var mq = _interopRequireWildcard(require("./mq"));
|
|
|
32
34
|
|
|
33
35
|
exports.mq = mq;
|
|
34
36
|
|
|
35
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
36
|
-
|
|
37
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
38
|
|
|
39
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; }
|
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,12 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
6
|
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = exports.KeyPad = void 0;
|
|
9
11
|
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
+
|
|
18
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
+
|
|
20
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
21
|
+
|
|
22
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
+
|
|
24
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
+
|
|
26
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
+
|
|
28
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
+
|
|
10
30
|
var _react = _interopRequireDefault(require("react"));
|
|
11
31
|
|
|
12
32
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -37,44 +57,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
37
57
|
|
|
38
58
|
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; }
|
|
39
59
|
|
|
40
|
-
function
|
|
41
|
-
|
|
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); }
|
|
43
|
-
|
|
44
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
45
|
-
|
|
46
|
-
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."); }
|
|
47
|
-
|
|
48
|
-
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); }
|
|
49
|
-
|
|
50
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
51
|
-
|
|
52
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
53
|
-
|
|
54
|
-
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; }
|
|
55
|
-
|
|
56
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
57
|
-
|
|
58
|
-
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); } }
|
|
59
|
-
|
|
60
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
60
|
+
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
61
|
|
|
62
|
-
function
|
|
62
|
+
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
63
|
|
|
64
|
-
function
|
|
65
|
-
|
|
66
|
-
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); }; }
|
|
67
|
-
|
|
68
|
-
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); }
|
|
69
|
-
|
|
70
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
64
|
+
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); }; }
|
|
71
65
|
|
|
72
66
|
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; } }
|
|
73
67
|
|
|
74
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
75
|
-
|
|
76
|
-
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; }
|
|
77
|
-
|
|
78
68
|
var log = (0, _debug["default"])('pie-lib:math-inline:keypad');
|
|
79
69
|
var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
80
70
|
return {
|
|
@@ -223,34 +213,43 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
|
223
213
|
}));
|
|
224
214
|
});
|
|
225
215
|
|
|
216
|
+
var createCustomLayout = function createCustomLayout(layoutObj) {
|
|
217
|
+
if (layoutObj) {
|
|
218
|
+
return {
|
|
219
|
+
gridTemplateColumns: "repeat(".concat(layoutObj.columns, ", minmax(min-content, 150px))"),
|
|
220
|
+
gridTemplateRows: "repeat(".concat(layoutObj.rows, ", minmax(40px, 60px))"),
|
|
221
|
+
gridAutoFlow: 'initial'
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
return {};
|
|
226
|
+
};
|
|
227
|
+
|
|
226
228
|
var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
227
|
-
|
|
229
|
+
(0, _inherits2["default"])(KeyPad, _React$Component);
|
|
228
230
|
|
|
229
231
|
var _super = _createSuper(KeyPad);
|
|
230
232
|
|
|
231
233
|
function KeyPad() {
|
|
232
234
|
var _this;
|
|
233
235
|
|
|
234
|
-
|
|
236
|
+
(0, _classCallCheck2["default"])(this, KeyPad);
|
|
235
237
|
|
|
236
238
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
237
239
|
args[_key] = arguments[_key];
|
|
238
240
|
}
|
|
239
241
|
|
|
240
242
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
241
|
-
|
|
242
|
-
_defineProperty(_assertThisInitialized(_this), "buttonClick", function (key) {
|
|
243
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buttonClick", function (key) {
|
|
243
244
|
log('[buttonClick]', key);
|
|
244
245
|
var onPress = _this.props.onPress;
|
|
245
246
|
onPress(key);
|
|
246
247
|
});
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
var transposed = [].concat(_toConsumableArray((0, _keysLayout.sortKeys)(base)), _toConsumableArray((0, _keysLayout.sortKeys)(extras)));
|
|
248
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "flowKeys", function (base, extras) {
|
|
249
|
+
var transposed = [].concat((0, _toConsumableArray2["default"])((0, _keysLayout.sortKeys)(base)), (0, _toConsumableArray2["default"])((0, _keysLayout.sortKeys)(extras)));
|
|
250
250
|
return _lodash["default"].flatten(transposed);
|
|
251
251
|
});
|
|
252
|
-
|
|
253
|
-
_defineProperty(_assertThisInitialized(_this), "keyIsNotAllowed", function (key) {
|
|
252
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyIsNotAllowed", function (key) {
|
|
254
253
|
var noDecimal = _this.props.noDecimal;
|
|
255
254
|
|
|
256
255
|
if ((key.write === '.' && key.label === '.' || key.write === ',' && key.label === ',') && noDecimal) {
|
|
@@ -259,11 +258,10 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
259
258
|
|
|
260
259
|
return false;
|
|
261
260
|
});
|
|
262
|
-
|
|
263
261
|
return _this;
|
|
264
262
|
}
|
|
265
263
|
|
|
266
|
-
|
|
264
|
+
(0, _createClass2["default"])(KeyPad, [{
|
|
267
265
|
key: "render",
|
|
268
266
|
value: function render() {
|
|
269
267
|
var _this2 = this;
|
|
@@ -273,18 +271,21 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
273
271
|
className = _this$props.className,
|
|
274
272
|
baseSet = _this$props.baseSet,
|
|
275
273
|
additionalKeys = _this$props.additionalKeys,
|
|
274
|
+
layoutForKeyPad = _this$props.layoutForKeyPad,
|
|
276
275
|
onFocus = _this$props.onFocus,
|
|
277
276
|
mode = _this$props.mode;
|
|
278
|
-
var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring'];
|
|
277
|
+
var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];
|
|
279
278
|
var keysWithoutBaseSet = noBaseSet.includes(mode);
|
|
280
279
|
var allKeys = keysWithoutBaseSet ? this.flowKeys([], additionalKeys || []) : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];
|
|
281
280
|
|
|
282
281
|
var shift = allKeys.length % 5 ? 1 : 0;
|
|
283
|
-
|
|
282
|
+
|
|
283
|
+
var style = _objectSpread({
|
|
284
284
|
gridTemplateColumns: "repeat(".concat(Math.floor(allKeys.length / 5) + shift, ", minmax(min-content, 150px))")
|
|
285
|
-
};
|
|
285
|
+
}, createCustomLayout(layoutForKeyPad));
|
|
286
|
+
|
|
286
287
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
287
|
-
className: (0, _classnames["default"])(classes.keys, className),
|
|
288
|
+
className: (0, _classnames["default"])(classes.keys, className, classes[mode]),
|
|
288
289
|
style: style,
|
|
289
290
|
onFocus: onFocus
|
|
290
291
|
}, allKeys.map(function (k, index) {
|
|
@@ -296,15 +297,15 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
296
297
|
});
|
|
297
298
|
}
|
|
298
299
|
|
|
299
|
-
var common = {
|
|
300
|
+
var common = _objectSpread(_objectSpread({
|
|
300
301
|
onClick: onClick,
|
|
301
|
-
className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
|
|
302
|
+
className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], classes[k.extraClass], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
|
|
302
303
|
disabled: _this2.keyIsNotAllowed(k),
|
|
303
304
|
key: "".concat(k.label || k.latex || k.command, "-").concat(index)
|
|
304
|
-
};
|
|
305
|
+
}, k.actions || {}), k.extraProps || {});
|
|
305
306
|
|
|
306
307
|
if (k.latex) {
|
|
307
|
-
return /*#__PURE__*/_react["default"].createElement(LatexButton,
|
|
308
|
+
return /*#__PURE__*/_react["default"].createElement(LatexButton, (0, _extends2["default"])({
|
|
308
309
|
latex: k.latex
|
|
309
310
|
}, common, {
|
|
310
311
|
className: classes.latexButton
|
|
@@ -315,7 +316,7 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
315
316
|
return /*#__PURE__*/_react["default"].createElement(_Button["default"], common, k.label);
|
|
316
317
|
} else {
|
|
317
318
|
var Icon = k.icon ? k.icon : 'div';
|
|
318
|
-
return /*#__PURE__*/_react["default"].createElement(_IconButton["default"],
|
|
319
|
+
return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], (0, _extends2["default"])({
|
|
319
320
|
tabIndex: '-1'
|
|
320
321
|
}, common), /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
321
322
|
className: classes.icon
|
|
@@ -324,24 +325,22 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
324
325
|
}));
|
|
325
326
|
}
|
|
326
327
|
}]);
|
|
327
|
-
|
|
328
328
|
return KeyPad;
|
|
329
329
|
}(_react["default"].Component);
|
|
330
330
|
|
|
331
331
|
exports.KeyPad = KeyPad;
|
|
332
|
-
|
|
333
|
-
_defineProperty(KeyPad, "propTypes", {
|
|
332
|
+
(0, _defineProperty2["default"])(KeyPad, "propTypes", {
|
|
334
333
|
classes: _propTypes["default"].object.isRequired,
|
|
335
334
|
className: _propTypes["default"].string,
|
|
336
335
|
baseSet: _propTypes["default"].array,
|
|
337
336
|
additionalKeys: _propTypes["default"].array,
|
|
337
|
+
layoutForKeyPad: _propTypes["default"].object,
|
|
338
338
|
onPress: _propTypes["default"].func.isRequired,
|
|
339
339
|
onFocus: _propTypes["default"].func,
|
|
340
340
|
noDecimal: _propTypes["default"].bool,
|
|
341
341
|
mode: _propTypes["default"].string
|
|
342
342
|
});
|
|
343
|
-
|
|
344
|
-
_defineProperty(KeyPad, "defaultProps", {
|
|
343
|
+
(0, _defineProperty2["default"])(KeyPad, "defaultProps", {
|
|
345
344
|
baseSet: _keys.baseSet,
|
|
346
345
|
noDecimal: false
|
|
347
346
|
});
|
|
@@ -359,6 +358,9 @@ var styles = function styles(theme) {
|
|
|
359
358
|
gridColumnGap: '0px',
|
|
360
359
|
gridAutoFlow: 'column'
|
|
361
360
|
},
|
|
361
|
+
character: {
|
|
362
|
+
textTransform: 'initial !important'
|
|
363
|
+
},
|
|
362
364
|
holder: {
|
|
363
365
|
position: 'relative',
|
|
364
366
|
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","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","e","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\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\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","extraProps","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 ...(k.extraProps || {})\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,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|