@pie-lib/math-input 6.6.8 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/lib/horizontal-keypad.js +31 -37
  3. package/lib/horizontal-keypad.js.map +1 -1
  4. package/lib/index.js +12 -7
  5. package/lib/index.js.map +1 -1
  6. package/lib/keypad/index.js +93 -69
  7. package/lib/keypad/index.js.map +1 -1
  8. package/lib/keypad/keys-layout.js +5 -1
  9. package/lib/keypad/keys-layout.js.map +1 -1
  10. package/lib/keys/basic-operators.js +1 -1
  11. package/lib/keys/chars.js +1 -1
  12. package/lib/keys/comparison.js +7 -5
  13. package/lib/keys/comparison.js.map +1 -1
  14. package/lib/keys/constants.js +1 -1
  15. package/lib/keys/digits.js +2 -2
  16. package/lib/keys/digits.js.map +1 -1
  17. package/lib/keys/exponent.js +1 -1
  18. package/lib/keys/fractions.js +1 -1
  19. package/lib/keys/geometry.js +7 -5
  20. package/lib/keys/geometry.js.map +1 -1
  21. package/lib/keys/grades.js +14 -18
  22. package/lib/keys/grades.js.map +1 -1
  23. package/lib/keys/index.js +7 -3
  24. package/lib/keys/index.js.map +1 -1
  25. package/lib/keys/log.js +1 -1
  26. package/lib/keys/logic.js +1 -1
  27. package/lib/keys/matrices.js +1 -1
  28. package/lib/keys/misc.js +1 -1
  29. package/lib/keys/statistics.js +1 -1
  30. package/lib/keys/sub-sup.js +1 -1
  31. package/lib/keys/trigonometry.js +1 -1
  32. package/lib/keys/utils.js +11 -17
  33. package/lib/keys/utils.js.map +1 -1
  34. package/lib/keys/vars.js +1 -1
  35. package/lib/math-input.js +39 -47
  36. package/lib/math-input.js.map +1 -1
  37. package/lib/mq/index.js +2 -2
  38. package/lib/mq/index.js.map +1 -1
  39. package/lib/mq/input.js +30 -40
  40. package/lib/mq/input.js.map +1 -1
  41. package/lib/mq/static.js +26 -34
  42. package/lib/mq/static.js.map +1 -1
  43. package/package.json +2 -2
  44. package/src/horizontal-keypad.jsx +3 -1
  45. package/src/keypad/index.jsx +59 -9
  46. package/src/keys/grades.js +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,39 @@
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.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)
7
+
8
+
9
+ ### Features
10
+
11
+ * **characters:** special character accents span 2 rows, added border for visibility [PD-1462] ([c60b0bc](https://github.com/pie-framework/pie-lib/commit/c60b0bc8ff45cc01f53bc752fd5dd64da623f6be))
12
+ * **math-toolbar:** Make math-toolbar preview style inline with mathjax ([266b1bc](https://github.com/pie-framework/pie-lib/commit/266b1bc9a277530fd653edfacbb836596957dd33))
13
+ * **math-toolbar:** Make math-toolbar style inline with mathjax for Geometry ([811bde0](https://github.com/pie-framework/pie-lib/commit/811bde0aa97633822fa3260666e298e841b6b9f7))
14
+ * **plugins:** added special characters adding capabilities [PD-1462] ([b9f41e1](https://github.com/pie-framework/pie-lib/commit/b9f41e11f44df140a66145d0b04558ca2b0ea48e))
15
+
16
+
17
+
18
+
19
+
20
+ ## [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)
21
+
22
+ **Note:** Version bump only for package @pie-lib/math-input
23
+
24
+
25
+
26
+
27
+
28
+ ## [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)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **math-input:** PD-1669 handle latex with errors in keypad buttons ([6b36f17](https://github.com/pie-framework/pie-lib/commit/6b36f175deffbd0a0fe021f4f7a11d7c4f14a014))
34
+
35
+
36
+
37
+
38
+
6
39
  ## [6.6.8](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.6.7...@pie-lib/math-input@6.6.8) (2022-02-04)
7
40
 
8
41
  **Note:** Version bump only for package @pie-lib/math-input
@@ -1,41 +1,39 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _grades = require("./keys/grades");
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
11
 
14
- var _utils = require("./keys/utils");
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
13
 
16
- var _keypad = _interopRequireDefault(require("./keypad"));
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
15
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
17
 
20
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
19
 
22
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
21
 
24
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
23
 
26
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
24
+ var _react = _interopRequireDefault(require("react"));
27
25
 
28
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
29
27
 
30
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
28
+ var _grades = require("./keys/grades");
31
29
 
32
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
30
+ var _utils = require("./keys/utils");
33
31
 
34
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
32
+ var _keypad = _interopRequireDefault(require("./keypad"));
35
33
 
36
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
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
- 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; }
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
38
  var toOldModel = function toOldModel(d) {
41
39
  if (d.command) {
@@ -55,33 +53,29 @@ var toOldModel = function toOldModel(d) {
55
53
  }
56
54
  };
57
55
 
58
- var HorizontalKeypad =
59
- /*#__PURE__*/
60
- function (_React$Component) {
61
- _inherits(HorizontalKeypad, _React$Component);
56
+ var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
57
+ (0, _inherits2["default"])(HorizontalKeypad, _React$Component);
62
58
 
63
- function HorizontalKeypad() {
64
- var _getPrototypeOf2;
59
+ var _super = _createSuper(HorizontalKeypad);
65
60
 
61
+ function HorizontalKeypad() {
66
62
  var _this;
67
63
 
68
- _classCallCheck(this, HorizontalKeypad);
64
+ (0, _classCallCheck2["default"])(this, HorizontalKeypad);
69
65
 
70
66
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
71
67
  args[_key] = arguments[_key];
72
68
  }
73
69
 
74
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(HorizontalKeypad)).call.apply(_getPrototypeOf2, [this].concat(args)));
75
-
76
- _defineProperty(_assertThisInitialized(_this), "keypadPress", function (data) {
70
+ _this = _super.call.apply(_super, [this].concat(args));
71
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keypadPress", function (data) {
77
72
  var onClick = _this.props.onClick;
78
73
  onClick(toOldModel(data));
79
74
  });
80
-
81
75
  return _this;
82
76
  }
83
77
 
84
- _createClass(HorizontalKeypad, [{
78
+ (0, _createClass2["default"])(HorizontalKeypad, [{
85
79
  key: "render",
86
80
  value: function render() {
87
81
  var _this$props = this.props,
@@ -89,34 +83,34 @@ function (_React$Component) {
89
83
  onFocus = _this$props.onFocus,
90
84
  noDecimal = _this$props.noDecimal,
91
85
  className = _this$props.className,
92
- additionalKeys = _this$props.additionalKeys;
86
+ additionalKeys = _this$props.additionalKeys,
87
+ layoutForKeyPad = _this$props.layoutForKeyPad;
93
88
  var normalizedKeys = (0, _grades.normalizeAdditionalKeys)(additionalKeys);
94
- return _react["default"].createElement(_keypad["default"], {
89
+ return /*#__PURE__*/_react["default"].createElement(_keypad["default"], {
95
90
  className: className,
96
91
  onFocus: onFocus,
97
92
  noDecimal: noDecimal,
93
+ layoutForKeyPad: layoutForKeyPad,
98
94
  additionalKeys: (0, _utils.extendKeySet)((0, _grades.keysForGrade)(mode), normalizedKeys),
99
95
  onPress: this.keypadPress,
100
96
  mode: mode
101
97
  });
102
98
  }
103
99
  }]);
104
-
105
100
  return HorizontalKeypad;
106
101
  }(_react["default"].Component);
107
102
 
108
103
  exports["default"] = HorizontalKeypad;
109
-
110
- _defineProperty(HorizontalKeypad, "propTypes", {
104
+ (0, _defineProperty2["default"])(HorizontalKeypad, "propTypes", {
111
105
  className: _propTypes["default"].string,
112
106
  mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
107
+ layoutForKeyPad: _propTypes["default"].object,
113
108
  onClick: _propTypes["default"].func.isRequired,
114
109
  onFocus: _propTypes["default"].func,
115
110
  noDecimal: _propTypes["default"].bool,
116
111
  additionalKeys: _propTypes["default"].array
117
112
  });
118
-
119
- _defineProperty(HorizontalKeypad, "defaultProps", {
113
+ (0, _defineProperty2["default"])(HorizontalKeypad, "defaultProps", {
120
114
  mode: 'scientific',
121
115
  noDecimal: false,
122
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":";;;;;;;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;;;;;;;;;;;;;;;;;;kEAgBL,UAAAC,IAAI,EAAI;AAAA,UACZC,OADY,GACA,MAAKC,KADL,CACZD,OADY;AAGpBA,MAAAA,OAAO,CAACT,UAAU,CAACQ,IAAD,CAAX,CAAP;AACD,K;;;;;;;6BAEQ;AAAA,wBACyD,KAAKE,KAD9D;AAAA,UACCC,IADD,eACCA,IADD;AAAA,UACOC,OADP,eACOA,OADP;AAAA,UACgBC,SADhB,eACgBA,SADhB;AAAA,UAC2BC,SAD3B,eAC2BA,SAD3B;AAAA,UACsCC,cADtC,eACsCA,cADtC;AAEP,UAAMC,cAAc,GAAG,qCAAwBD,cAAxB,CAAvB;AAEA,aACE,gCAAC,kBAAD;AACE,QAAA,SAAS,EAAED,SADb;AAEE,QAAA,OAAO,EAAEF,OAFX;AAGE,QAAA,SAAS,EAAEC,SAHb;AAIE,QAAA,cAAc,EAAE,yBAAa,0BAAaF,IAAb,CAAb,EAAiCK,cAAjC,CAJlB;AAKE,QAAA,OAAO,EAAE,KAAKC,WALhB;AAME,QAAA,IAAI,EAAEN;AANR,QADF;AAUD;;;;EApC2CO,kBAAMC,S;;;;gBAA/BZ,gB,eACA;AACjBO,EAAAA,SAAS,EAAEM,sBAAUC,MADJ;AAEjBV,EAAAA,IAAI,EAAES,sBAAUE,SAAV,CAAoB,CAACF,sBAAUC,MAAX,EAAmBD,sBAAUG,MAA7B,CAApB,CAFW;AAGjBd,EAAAA,OAAO,EAAEW,sBAAUI,IAAV,CAAeC,UAHP;AAIjBb,EAAAA,OAAO,EAAEQ,sBAAUI,IAJF;AAKjBX,EAAAA,SAAS,EAAEO,sBAAUM,IALJ;AAMjBX,EAAAA,cAAc,EAAEK,sBAAUO;AANT,C;;gBADApB,gB,kBAUG;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 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 } = this.props;\n const normalizedKeys = normalizeAdditionalKeys(additionalKeys);\n\n return (\n <Keypad\n className={className}\n onFocus={onFocus}\n noDecimal={noDecimal}\n additionalKeys={extendKeySet(keysForGrade(mode), normalizedKeys)}\n onPress={this.keypadPress}\n mode={mode}\n />\n );\n }\n}\n"],"file":"horizontal-keypad.js"}
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,21 +1,26 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
3
7
  Object.defineProperty(exports, "__esModule", {
4
8
  value: true
5
9
  });
6
- Object.defineProperty(exports, "keysForGrade", {
10
+ Object.defineProperty(exports, "HorizontalKeypad", {
7
11
  enumerable: true,
8
12
  get: function get() {
9
- return _grades.keysForGrade;
13
+ return _horizontalKeypad["default"];
10
14
  }
11
15
  });
12
- Object.defineProperty(exports, "HorizontalKeypad", {
16
+ exports.keys = exports.addBrackets = void 0;
17
+ Object.defineProperty(exports, "keysForGrade", {
13
18
  enumerable: true,
14
19
  get: function get() {
15
- return _horizontalKeypad["default"];
20
+ return _grades.keysForGrade;
16
21
  }
17
22
  });
18
- exports.mq = exports.keys = exports.updateSpans = exports.removeBrackets = exports.addBrackets = void 0;
23
+ exports.updateSpans = exports.removeBrackets = exports.mq = void 0;
19
24
 
20
25
  var _grades = require("./keys/grades");
21
26
 
@@ -29,9 +34,9 @@ var mq = _interopRequireWildcard(require("./mq"));
29
34
 
30
35
  exports.mq = mq;
31
36
 
32
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); }
33
38
 
34
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
39
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
40
 
36
41
  var addLeftBracket = function addLeftBracket(s) {
37
42
  return s.indexOf('\\(') === 0 ? s : "\\(".concat(s);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.jsx"],"names":["addLeftBracket","s","indexOf","addRightBracket","length","rmLeftBracket","substring","rmRightBracket","addBrackets","removeBrackets","updateSpans","spans","Array","from","document","querySelectorAll","forEach","span","innerText","className","style","fontSize"],"mappings":";;;;;;;;;;;;;;;;;;;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"}
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"}
@@ -1,10 +1,32 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
3
7
  Object.defineProperty(exports, "__esModule", {
4
8
  value: true
5
9
  });
6
10
  exports["default"] = exports.KeyPad = void 0;
7
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
+
8
30
  var _react = _interopRequireDefault(require("react"));
9
31
 
10
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -31,39 +53,17 @@ var _debug = _interopRequireDefault(require("debug"));
31
53
 
32
54
  var _lodash = _interopRequireDefault(require("lodash"));
33
55
 
34
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
35
-
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
37
-
38
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
39
-
40
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
41
-
42
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
43
-
44
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
45
-
46
- function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
47
-
48
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
49
-
50
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51
-
52
- 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); } }
56
+ 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); }
53
57
 
54
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
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; }
55
59
 
56
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
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; }
57
61
 
58
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
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; }
59
63
 
60
- 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); }; }
61
65
 
62
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
63
-
64
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
65
-
66
- 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; }
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; } }
67
67
 
68
68
  var log = (0, _debug["default"])('pie-lib:math-inline:keypad');
69
69
  var LatexButton = (0, _styles.withStyles)(function (theme) {
@@ -93,14 +93,16 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
93
93
  width: '30px',
94
94
  marginTop: '0 !important',
95
95
  borderTop: '2px solid black',
96
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',
96
97
  '&.mq-arrow-both': {
98
+ top: '5px !important',
97
99
  '& *': {
98
100
  lineHeight: '1 !important'
99
101
  },
100
102
  '&:before': {
101
103
  fontSize: '80%',
102
104
  left: 'calc(-13%)',
103
- top: '-0.25em'
105
+ top: '-0.31em'
104
106
  },
105
107
  '&:after': {
106
108
  fontSize: '80% !important',
@@ -110,12 +112,12 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
110
112
  '&.mq-empty:before': {
111
113
  fontSize: '80%',
112
114
  left: 'calc(-13%)',
113
- top: '-0.25em'
115
+ top: '-0.26em'
114
116
  },
115
117
  '&.mq-empty:after': {
116
118
  fontSize: '80%',
117
119
  right: 'calc(-13%)',
118
- top: '-0.25em'
120
+ top: '-0.26em'
119
121
  },
120
122
  '&.mq-empty': {
121
123
  minHeight: '1.4em'
@@ -176,7 +178,7 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
176
178
  paddingTop: '0 !important'
177
179
  },
178
180
  '&:after': {
179
- top: '-1.64em !important'
181
+ top: '-2.8em !important'
180
182
  }
181
183
  }
182
184
  }
@@ -192,45 +194,64 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
192
194
  buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName);
193
195
  }
194
196
 
195
- return _react["default"].createElement(_Button["default"], {
197
+ try {
198
+ var MQ = MathQuill.getInterface(2);
199
+ var span = document.createElement('span');
200
+ span.innerHTML = '';
201
+ var mathField = MQ.StaticMath(span);
202
+ mathField.parseLatex(props.latex);
203
+ mathField.latex(props.latex);
204
+ } catch (e) {
205
+ // received latex has errors - do not create button
206
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
207
+ }
208
+
209
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
196
210
  className: (0, _classnames["default"])(props.classes.root, props.className),
197
211
  onClick: props.onClick
198
- }, _react["default"].createElement(mq.Static, {
212
+ }, /*#__PURE__*/_react["default"].createElement(mq.Static, {
199
213
  className: buttonClass,
200
214
  latex: props.latex
201
215
  }));
202
216
  });
203
217
 
204
- var KeyPad =
205
- /*#__PURE__*/
206
- function (_React$Component) {
207
- _inherits(KeyPad, _React$Component);
218
+ var createCustomLayout = function createCustomLayout(layoutObj) {
219
+ if (layoutObj) {
220
+ return {
221
+ gridTemplateColumns: "repeat(".concat(layoutObj.columns, ", minmax(min-content, 150px))"),
222
+ gridTemplateRows: "repeat(".concat(layoutObj.rows, ", minmax(40px, 60px))"),
223
+ gridAutoFlow: 'initial'
224
+ };
225
+ }
226
+
227
+ return {};
228
+ };
208
229
 
209
- function KeyPad() {
210
- var _getPrototypeOf2;
230
+ var KeyPad = /*#__PURE__*/function (_React$Component) {
231
+ (0, _inherits2["default"])(KeyPad, _React$Component);
211
232
 
233
+ var _super = _createSuper(KeyPad);
234
+
235
+ function KeyPad() {
212
236
  var _this;
213
237
 
214
- _classCallCheck(this, KeyPad);
238
+ (0, _classCallCheck2["default"])(this, KeyPad);
215
239
 
216
240
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
217
241
  args[_key] = arguments[_key];
218
242
  }
219
243
 
220
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(KeyPad)).call.apply(_getPrototypeOf2, [this].concat(args)));
221
-
222
- _defineProperty(_assertThisInitialized(_this), "buttonClick", function (key) {
244
+ _this = _super.call.apply(_super, [this].concat(args));
245
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buttonClick", function (key) {
223
246
  log('[buttonClick]', key);
224
247
  var onPress = _this.props.onPress;
225
248
  onPress(key);
226
249
  });
227
-
228
- _defineProperty(_assertThisInitialized(_this), "flowKeys", function (base, extras) {
229
- var transposed = [].concat(_toConsumableArray((0, _keysLayout.sortKeys)(base)), _toConsumableArray((0, _keysLayout.sortKeys)(extras)));
250
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "flowKeys", function (base, extras) {
251
+ var transposed = [].concat((0, _toConsumableArray2["default"])((0, _keysLayout.sortKeys)(base)), (0, _toConsumableArray2["default"])((0, _keysLayout.sortKeys)(extras)));
230
252
  return _lodash["default"].flatten(transposed);
231
253
  });
232
-
233
- _defineProperty(_assertThisInitialized(_this), "keyIsNotAllowed", function (key) {
254
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyIsNotAllowed", function (key) {
234
255
  var noDecimal = _this.props.noDecimal;
235
256
 
236
257
  if ((key.write === '.' && key.label === '.' || key.write === ',' && key.label === ',') && noDecimal) {
@@ -239,11 +260,10 @@ function (_React$Component) {
239
260
 
240
261
  return false;
241
262
  });
242
-
243
263
  return _this;
244
264
  }
245
265
 
246
- _createClass(KeyPad, [{
266
+ (0, _createClass2["default"])(KeyPad, [{
247
267
  key: "render",
248
268
  value: function render() {
249
269
  var _this2 = this;
@@ -253,38 +273,41 @@ function (_React$Component) {
253
273
  className = _this$props.className,
254
274
  baseSet = _this$props.baseSet,
255
275
  additionalKeys = _this$props.additionalKeys,
276
+ layoutForKeyPad = _this$props.layoutForKeyPad,
256
277
  onFocus = _this$props.onFocus,
257
278
  mode = _this$props.mode;
258
- var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring'];
279
+ var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];
259
280
  var keysWithoutBaseSet = noBaseSet.includes(mode);
260
281
  var allKeys = keysWithoutBaseSet ? this.flowKeys([], additionalKeys || []) : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];
261
282
 
262
283
  var shift = allKeys.length % 5 ? 1 : 0;
263
- var style = {
284
+
285
+ var style = _objectSpread({
264
286
  gridTemplateColumns: "repeat(".concat(Math.floor(allKeys.length / 5) + shift, ", minmax(min-content, 150px))")
265
- };
266
- return _react["default"].createElement("div", {
267
- className: (0, _classnames["default"])(classes.keys, className),
287
+ }, createCustomLayout(layoutForKeyPad));
288
+
289
+ return /*#__PURE__*/_react["default"].createElement("div", {
290
+ className: (0, _classnames["default"])(classes.keys, className, classes[mode]),
268
291
  style: style,
269
292
  onFocus: onFocus
270
293
  }, allKeys.map(function (k, index) {
271
294
  var onClick = _this2.buttonClick.bind(_this2, k);
272
295
 
273
296
  if (!k) {
274
- return _react["default"].createElement("span", {
297
+ return /*#__PURE__*/_react["default"].createElement("span", {
275
298
  key: "empty-".concat(index)
276
299
  });
277
300
  }
278
301
 
279
- var common = {
302
+ var common = _objectSpread(_objectSpread({
280
303
  onClick: onClick,
281
- className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
304
+ className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], classes[k.extraClass], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
282
305
  disabled: _this2.keyIsNotAllowed(k),
283
306
  key: "".concat(k.label || k.latex || k.command, "-").concat(index)
284
- };
307
+ }, k.actions || {}), k.extraProps || {});
285
308
 
286
309
  if (k.latex) {
287
- return _react["default"].createElement(LatexButton, _extends({
310
+ return /*#__PURE__*/_react["default"].createElement(LatexButton, (0, _extends2["default"])({
288
311
  latex: k.latex
289
312
  }, common, {
290
313
  className: classes.latexButton
@@ -292,36 +315,34 @@ function (_React$Component) {
292
315
  }
293
316
 
294
317
  if (k.label) {
295
- return _react["default"].createElement(_Button["default"], common, k.label);
318
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], common, k.label);
296
319
  } else {
297
320
  var Icon = k.icon ? k.icon : 'div';
298
- return _react["default"].createElement(_IconButton["default"], _extends({
321
+ return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], (0, _extends2["default"])({
299
322
  tabIndex: '-1'
300
- }, common), _react["default"].createElement(Icon, {
323
+ }, common), /*#__PURE__*/_react["default"].createElement(Icon, {
301
324
  className: classes.icon
302
325
  }));
303
326
  }
304
327
  }));
305
328
  }
306
329
  }]);
307
-
308
330
  return KeyPad;
309
331
  }(_react["default"].Component);
310
332
 
311
333
  exports.KeyPad = KeyPad;
312
-
313
- _defineProperty(KeyPad, "propTypes", {
334
+ (0, _defineProperty2["default"])(KeyPad, "propTypes", {
314
335
  classes: _propTypes["default"].object.isRequired,
315
336
  className: _propTypes["default"].string,
316
337
  baseSet: _propTypes["default"].array,
317
338
  additionalKeys: _propTypes["default"].array,
339
+ layoutForKeyPad: _propTypes["default"].object,
318
340
  onPress: _propTypes["default"].func.isRequired,
319
341
  onFocus: _propTypes["default"].func,
320
342
  noDecimal: _propTypes["default"].bool,
321
343
  mode: _propTypes["default"].string
322
344
  });
323
-
324
- _defineProperty(KeyPad, "defaultProps", {
345
+ (0, _defineProperty2["default"])(KeyPad, "defaultProps", {
325
346
  baseSet: _keys.baseSet,
326
347
  noDecimal: false
327
348
  });
@@ -339,6 +360,9 @@ var styles = function styles(theme) {
339
360
  gridColumnGap: '0px',
340
361
  gridAutoFlow: 'column'
341
362
  },
363
+ character: {
364
+ textTransform: 'initial !important'
365
+ },
342
366
  holder: {
343
367
  position: 'relative',
344
368
  width: '100%',