@pie-lib/math-input 6.6.10 → 6.7.2
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 +37 -0
- package/lib/horizontal-keypad.js +20 -31
- 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 +36 -57
- 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 +10 -22
- 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 +3 -3
- package/src/keypad/index.jsx +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,43 @@
|
|
|
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.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.7.1...@pie-lib/math-input@6.7.2) (2022-07-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* bump mathquill to 1.1.3 ([48b84c5](https://github.com/pie-framework/pie-lib/commit/48b84c534cbf519e172a80d18a48b26eda3cf7e6))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [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)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Reverts
|
|
21
|
+
|
|
22
|
+
* Revert "feat(math-toolbar): Make math-toolbar style inline with mathjax for Geometry" ([fee3f22](https://github.com/pie-framework/pie-lib/commit/fee3f22897a03d1d5c892f731dfc441dba9ed10f))
|
|
23
|
+
* Revert "feat(math-toolbar): Make math-toolbar preview style inline with mathjax" ([bb86c35](https://github.com/pie-framework/pie-lib/commit/bb86c35ed56228c673020faf5ea089fb99418fd8))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# [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)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Features
|
|
33
|
+
|
|
34
|
+
* **characters:** special character accents span 2 rows, added border for visibility [PD-1462] ([c60b0bc](https://github.com/pie-framework/pie-lib/commit/c60b0bc8ff45cc01f53bc752fd5dd64da623f6be))
|
|
35
|
+
* **math-toolbar:** Make math-toolbar preview style inline with mathjax ([266b1bc](https://github.com/pie-framework/pie-lib/commit/266b1bc9a277530fd653edfacbb836596957dd33))
|
|
36
|
+
* **math-toolbar:** Make math-toolbar style inline with mathjax for Geometry ([811bde0](https://github.com/pie-framework/pie-lib/commit/811bde0aa97633822fa3260666e298e841b6b9f7))
|
|
37
|
+
* **plugins:** added special characters adding capabilities [PD-1462] ([b9f41e1](https://github.com/pie-framework/pie-lib/commit/b9f41e11f44df140a66145d0b04558ca2b0ea48e))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
6
43
|
## [6.6.10](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.6.9...@pie-lib/math-input@6.6.10) (2022-06-13)
|
|
7
44
|
|
|
8
45
|
**Note:** Version bump only for package @pie-lib/math-input
|
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,
|
|
@@ -105,13 +97,11 @@ var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
|
|
|
105
97
|
});
|
|
106
98
|
}
|
|
107
99
|
}]);
|
|
108
|
-
|
|
109
100
|
return HorizontalKeypad;
|
|
110
101
|
}(_react["default"].Component);
|
|
111
102
|
|
|
112
103
|
exports["default"] = HorizontalKeypad;
|
|
113
|
-
|
|
114
|
-
_defineProperty(HorizontalKeypad, "propTypes", {
|
|
104
|
+
(0, _defineProperty2["default"])(HorizontalKeypad, "propTypes", {
|
|
115
105
|
className: _propTypes["default"].string,
|
|
116
106
|
mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
117
107
|
layoutForKeyPad: _propTypes["default"].object,
|
|
@@ -120,8 +110,7 @@ _defineProperty(HorizontalKeypad, "propTypes", {
|
|
|
120
110
|
noDecimal: _propTypes["default"].bool,
|
|
121
111
|
additionalKeys: _propTypes["default"].array
|
|
122
112
|
});
|
|
123
|
-
|
|
124
|
-
_defineProperty(HorizontalKeypad, "defaultProps", {
|
|
113
|
+
(0, _defineProperty2["default"])(HorizontalKeypad, "defaultProps", {
|
|
125
114
|
mode: 'scientific',
|
|
126
115
|
noDecimal: false,
|
|
127
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","layoutForKeyPad","normalizedKeys","keypadPress","React","Component","PropTypes","string","oneOfType","number","object","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,48 +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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
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
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; }
|
|
45
61
|
|
|
46
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
47
|
-
|
|
48
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
49
|
-
|
|
50
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
51
|
-
|
|
52
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
53
|
-
|
|
54
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
55
|
-
|
|
56
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
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; }
|
|
57
63
|
|
|
58
|
-
function
|
|
59
|
-
|
|
60
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
61
|
-
|
|
62
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
63
|
-
|
|
64
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
65
|
-
|
|
66
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
67
|
-
|
|
68
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
69
|
-
|
|
70
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
71
|
-
|
|
72
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
73
|
-
|
|
74
|
-
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); }; }
|
|
75
65
|
|
|
76
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; } }
|
|
77
67
|
|
|
78
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
79
|
-
|
|
80
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
81
|
-
|
|
82
68
|
var log = (0, _debug["default"])('pie-lib:math-inline:keypad');
|
|
83
69
|
var LatexButton = (0, _styles.withStyles)(function (theme) {
|
|
84
70
|
return {
|
|
@@ -240,33 +226,30 @@ var createCustomLayout = function createCustomLayout(layoutObj) {
|
|
|
240
226
|
};
|
|
241
227
|
|
|
242
228
|
var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
243
|
-
|
|
229
|
+
(0, _inherits2["default"])(KeyPad, _React$Component);
|
|
244
230
|
|
|
245
231
|
var _super = _createSuper(KeyPad);
|
|
246
232
|
|
|
247
233
|
function KeyPad() {
|
|
248
234
|
var _this;
|
|
249
235
|
|
|
250
|
-
|
|
236
|
+
(0, _classCallCheck2["default"])(this, KeyPad);
|
|
251
237
|
|
|
252
238
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
253
239
|
args[_key] = arguments[_key];
|
|
254
240
|
}
|
|
255
241
|
|
|
256
242
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
257
|
-
|
|
258
|
-
_defineProperty(_assertThisInitialized(_this), "buttonClick", function (key) {
|
|
243
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buttonClick", function (key) {
|
|
259
244
|
log('[buttonClick]', key);
|
|
260
245
|
var onPress = _this.props.onPress;
|
|
261
246
|
onPress(key);
|
|
262
247
|
});
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
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)));
|
|
266
250
|
return _lodash["default"].flatten(transposed);
|
|
267
251
|
});
|
|
268
|
-
|
|
269
|
-
_defineProperty(_assertThisInitialized(_this), "keyIsNotAllowed", function (key) {
|
|
252
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyIsNotAllowed", function (key) {
|
|
270
253
|
var noDecimal = _this.props.noDecimal;
|
|
271
254
|
|
|
272
255
|
if ((key.write === '.' && key.label === '.' || key.write === ',' && key.label === ',') && noDecimal) {
|
|
@@ -275,11 +258,10 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
275
258
|
|
|
276
259
|
return false;
|
|
277
260
|
});
|
|
278
|
-
|
|
279
261
|
return _this;
|
|
280
262
|
}
|
|
281
263
|
|
|
282
|
-
|
|
264
|
+
(0, _createClass2["default"])(KeyPad, [{
|
|
283
265
|
key: "render",
|
|
284
266
|
value: function render() {
|
|
285
267
|
var _this2 = this;
|
|
@@ -315,15 +297,15 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
315
297
|
});
|
|
316
298
|
}
|
|
317
299
|
|
|
318
|
-
var common = _objectSpread({
|
|
300
|
+
var common = _objectSpread(_objectSpread({
|
|
319
301
|
onClick: onClick,
|
|
320
302
|
className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], classes[k.extraClass], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
|
|
321
303
|
disabled: _this2.keyIsNotAllowed(k),
|
|
322
304
|
key: "".concat(k.label || k.latex || k.command, "-").concat(index)
|
|
323
|
-
}, k.actions || {});
|
|
305
|
+
}, k.actions || {}), k.extraProps || {});
|
|
324
306
|
|
|
325
307
|
if (k.latex) {
|
|
326
|
-
return /*#__PURE__*/_react["default"].createElement(LatexButton,
|
|
308
|
+
return /*#__PURE__*/_react["default"].createElement(LatexButton, (0, _extends2["default"])({
|
|
327
309
|
latex: k.latex
|
|
328
310
|
}, common, {
|
|
329
311
|
className: classes.latexButton
|
|
@@ -334,7 +316,7 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
334
316
|
return /*#__PURE__*/_react["default"].createElement(_Button["default"], common, k.label);
|
|
335
317
|
} else {
|
|
336
318
|
var Icon = k.icon ? k.icon : 'div';
|
|
337
|
-
return /*#__PURE__*/_react["default"].createElement(_IconButton["default"],
|
|
319
|
+
return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], (0, _extends2["default"])({
|
|
338
320
|
tabIndex: '-1'
|
|
339
321
|
}, common), /*#__PURE__*/_react["default"].createElement(Icon, {
|
|
340
322
|
className: classes.icon
|
|
@@ -343,13 +325,11 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
|
|
|
343
325
|
}));
|
|
344
326
|
}
|
|
345
327
|
}]);
|
|
346
|
-
|
|
347
328
|
return KeyPad;
|
|
348
329
|
}(_react["default"].Component);
|
|
349
330
|
|
|
350
331
|
exports.KeyPad = KeyPad;
|
|
351
|
-
|
|
352
|
-
_defineProperty(KeyPad, "propTypes", {
|
|
332
|
+
(0, _defineProperty2["default"])(KeyPad, "propTypes", {
|
|
353
333
|
classes: _propTypes["default"].object.isRequired,
|
|
354
334
|
className: _propTypes["default"].string,
|
|
355
335
|
baseSet: _propTypes["default"].array,
|
|
@@ -360,8 +340,7 @@ _defineProperty(KeyPad, "propTypes", {
|
|
|
360
340
|
noDecimal: _propTypes["default"].bool,
|
|
361
341
|
mode: _propTypes["default"].string
|
|
362
342
|
});
|
|
363
|
-
|
|
364
|
-
_defineProperty(KeyPad, "defaultProps", {
|
|
343
|
+
(0, _defineProperty2["default"])(KeyPad, "defaultProps", {
|
|
365
344
|
baseSet: _keys.baseSet,
|
|
366
345
|
noDecimal: false
|
|
367
346
|
});
|
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","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPad","key","onPress","base","extras","transposed","_","flatten","noDecimal","write","label","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","length","style","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","extraClass","comma","dot","disabled","keyIsNotAllowed","command","actions","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","fontFamily","gridRowGap","gridColumnGap","character","holder","position","height","borderRadius","spacing","unit","minWidth","primary","light","operators","comparison","green"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport IconButton from '@material-ui/core/IconButton';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { lighten, fade } from '@material-ui/core/styles/colorManipulator';\nimport green from '@material-ui/core/colors/green';\nimport { sortKeys } from './keys-layout';\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport debug from 'debug';\nimport _ from 'lodash';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst LatexButton = withStyles(theme => ({\n root: {\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important'\n },\n latexButton: {\n pointerEvents: 'none',\n textTransform: 'none !important',\n '& .mq-scaled.mq-sqrt-prefix': {\n transform: 'scale(1, 0.9) !important'\n },\n '& .mq-sup-only .mq-sup': {\n marginBottom: '0.9px !important'\n },\n '& .mq-empty': {\n backgroundColor: `${fade(theme.palette.secondary.main, 0.4)} !important`\n },\n '& .mq-overline .mq-overline-inner': {\n borderTop: '2px solid black'\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n '&.mq-arrow-both': {\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&:after': {\n fontSize: '80% !important',\n right: 'calc(-13%) !important',\n top: '-1.5em'\n },\n '&.mq-empty:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty': {\n minHeight: '1.4em'\n }\n },\n '&.mq-arrow-right:before': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important'\n },\n '& .mq-overarrow-inner .mq-overarrow-inner-right': {\n display: 'none !important'\n }\n },\n '& .mq-root-block': {\n padding: '5px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:after': {\n right: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-right.mq-empty:before': {\n right: '-5px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:before': {\n left: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n },\n '& .mq-overarc': {\n borderTop: '2px solid black !important',\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important'\n }\n }\n },\n parallelButton: {\n fontStyle: 'italic'\n },\n leftRightArrowButton: {\n '& .mq-overarrow.mq-arrow-both': {\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important'\n },\n '&:after': {\n top: '-1.64em !important'\n }\n }\n }\n}))(props => {\n let buttonClass;\n\n if (props.latex === '\\\\parallel') {\n buttonClass = classNames(\n props.classes.latexButton,\n props.mqClassName,\n props.classes.parallelButton\n );\n } else if (props.latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n buttonClass = classNames(\n props.classes.latexButton,\n props.mqClassName,\n props.classes.leftRightArrowButton\n );\n } else {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName);\n }\n\n try {\n const MQ = MathQuill.getInterface(2);\n const span = document.createElement('span');\n span.innerHTML = '';\n const mathField = MQ.StaticMath(span);\n\n mathField.parseLatex(props.latex);\n mathField.latex(props.latex);\n } catch (e) {\n // received latex has errors - do not create button\n return <></>;\n }\n\n return (\n <Button className={classNames(props.classes.root, props.className)} onClick={props.onClick}>\n <mq.Static className={buttonClass} latex={props.latex} />\n </Button>\n );\n});\n\nconst createCustomLayout = layoutObj => {\n if (layoutObj) {\n return {\n gridTemplateColumns: `repeat(${layoutObj.columns}, minmax(min-content, 150px))`,\n gridTemplateRows: `repeat(${layoutObj.rows}, minmax(40px, 60px))`,\n gridAutoFlow: 'initial'\n };\n }\n\n return {};\n};\n\nexport class KeyPad extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n baseSet: PropTypes.array,\n additionalKeys: PropTypes.array,\n layoutForKeyPad: PropTypes.object,\n onPress: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n mode: PropTypes.string\n };\n static defaultProps = {\n baseSet: baseSet,\n noDecimal: false\n };\n\n buttonClick = key => {\n log('[buttonClick]', key);\n const { onPress } = this.props;\n onPress(key);\n };\n\n flowKeys = (base, extras) => {\n const transposed = [...sortKeys(base), ...sortKeys(extras)];\n return _.flatten(transposed);\n };\n\n keyIsNotAllowed = key => {\n const { noDecimal } = this.props;\n\n if (\n ((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) &&\n noDecimal\n ) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const {\n classes,\n className,\n baseSet,\n additionalKeys,\n layoutForKeyPad,\n onFocus,\n mode\n } = this.props;\n\n const noBaseSet = [\n 'non-negative-integers',\n 'integers',\n 'decimals',\n 'fractions',\n 'item-authoring',\n 'language'\n ];\n\n const keysWithoutBaseSet = noBaseSet.includes(mode);\n const allKeys = keysWithoutBaseSet\n ? this.flowKeys([], additionalKeys || [])\n : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];\n\n const shift = allKeys.length % 5 ? 1 : 0;\n const style = {\n gridTemplateColumns: `repeat(${Math.floor(allKeys.length / 5) +\n shift}, minmax(min-content, 150px))`,\n ...createCustomLayout(layoutForKeyPad)\n };\n return (\n <div\n className={classNames(classes.keys, className, classes[mode])}\n style={style}\n onFocus={onFocus}\n >\n {allKeys.map((k, index) => {\n const onClick = this.buttonClick.bind(this, k);\n\n if (!k) {\n return <span key={`empty-${index}`} />;\n }\n\n const common = {\n onClick,\n className: classNames(\n classes.labelButton,\n !keysWithoutBaseSet && classes[k.category],\n classes[k.extraClass],\n k.label === ',' && classes.comma,\n k.label === '.' && classes.dot\n ),\n disabled: this.keyIsNotAllowed(k),\n key: `${k.label || k.latex || k.command}-${index}`,\n ...(k.actions || {})\n };\n\n if (k.latex) {\n return <LatexButton latex={k.latex} {...common} className={classes.latexButton} />;\n }\n\n if (k.label) {\n return <Button {...common}>{k.label}</Button>;\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <IconButton tabIndex={'-1'} {...common}>\n <Icon className={classes.icon} />\n </IconButton>\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n keys: {\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n width: '100%',\n display: 'grid',\n gridTemplateRows: 'repeat(5, minmax(40px, 60px))',\n gridRowGap: '0px',\n gridColumnGap: '0px',\n gridAutoFlow: 'column'\n },\n character: {\n textTransform: 'initial !important'\n },\n holder: {\n position: 'relative',\n width: '100%',\n height: '100%',\n backgroundColor: '#cef',\n borderRadius: 0,\n padding: `${theme.spacing.unit}px 0 ${theme.spacing.unit}px 0`\n },\n labelButton: {\n minWidth: 'auto',\n fontSize: '140% !important',\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n },\n borderRadius: 0\n },\n latexButton: {\n minWidth: 'auto',\n borderRadius: 0,\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n }\n },\n base: {},\n operators: {\n backgroundColor: lighten(theme.palette.secondary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.secondary.light, 0.7)\n }\n },\n comparison: {\n backgroundColor: lighten(green[500], 0.5),\n '&:hover': {\n backgroundColor: lighten(green[500], 0.7)\n }\n },\n comma: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n dot: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n icon: {\n height: '30px'\n }\n});\n\nexport default withStyles(styles)(KeyPad);\n"],"file":"index.js"}
|
|
1
|
+
{"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
|
package/lib/keys/comparison.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
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.lessThanEqual = exports.lessThan = exports.greaterThanEqual = exports.greaterThan = void 0;
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
11
|
|
|
10
|
-
function
|
|
12
|
+
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; }
|
|
11
13
|
|
|
12
|
-
function
|
|
14
|
+
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; }
|
|
13
15
|
|
|
14
16
|
var set = function set(o) {
|
|
15
17
|
return _objectSpread(_objectSpread({}, o), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/keys/comparison.js"],"names":["set","o","category","lessThan","name","latex","command","greaterThan","lessThanEqual","symbol","greaterThanEqual"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/keys/comparison.js"],"names":["set","o","category","lessThan","name","latex","command","greaterThan","lessThanEqual","symbol","greaterThanEqual"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAMA,GAAG,GAAG,SAANA,GAAM,CAAAC,CAAC;AAAA,yCAAUA,CAAV;AAAaC,IAAAA,QAAQ,EAAE;AAAvB;AAAA,CAAb;;AAEO,IAAMC,QAAQ,GAAGH,GAAG,CAAC;AAC1BI,EAAAA,IAAI,EAAE,WADoB;AAE1BC,EAAAA,KAAK,EAAE,GAFmB;AAG1BC,EAAAA,OAAO,EAAE;AAHiB,CAAD,CAApB;;AAMA,IAAMC,WAAW,GAAGP,GAAG,CAAC;AAC7BI,EAAAA,IAAI,EAAE,cADuB;AAE7BC,EAAAA,KAAK,EAAE,GAFsB;AAG7BC,EAAAA,OAAO,EAAE;AAHoB,CAAD,CAAvB;;AAMA,IAAME,aAAa,GAAGR,GAAG,CAAC;AAC/BI,EAAAA,IAAI,EAAE,oBADyB;AAE/BC,EAAAA,KAAK,EAAE,MAFwB;AAG/BI,EAAAA,MAAM,EAAE,IAHuB;AAI/BH,EAAAA,OAAO,EAAE;AAJsB,CAAD,CAAzB;;AAOA,IAAMI,gBAAgB,GAAGV,GAAG,CAAC;AAClCI,EAAAA,IAAI,EAAE,uBAD4B;AAElCK,EAAAA,MAAM,EAAE,IAF0B;AAGlCH,EAAAA,OAAO,EAAE,MAHyB;AAIlCD,EAAAA,KAAK,EAAE;AAJ2B,CAAD,CAA5B","sourcesContent":["const set = o => ({ ...o, category: 'comparison' });\n\nexport const lessThan = set({\n name: 'Less than',\n latex: '<',\n command: '\\\\lt'\n});\n\nexport const greaterThan = set({\n name: 'Greater than',\n latex: '>',\n command: '\\\\gt'\n});\n\nexport const lessThanEqual = set({\n name: 'Less than or equal',\n latex: '\\\\le',\n symbol: '<=',\n command: '\\\\le'\n});\n\nexport const greaterThanEqual = set({\n name: 'Greater than or equal',\n symbol: '>=',\n command: '\\\\ge',\n latex: '\\\\ge'\n});\n"],"file":"comparison.js"}
|
package/lib/keys/digits.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
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
|
});
|
|
@@ -7,8 +9,6 @@ exports["default"] = void 0;
|
|
|
7
9
|
|
|
8
10
|
var _times = _interopRequireDefault(require("lodash/times"));
|
|
9
11
|
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
12
12
|
var digitMap = {
|
|
13
13
|
0: 'zero',
|
|
14
14
|
1: 'one',
|
package/lib/keys/digits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/keys/digits.js"],"names":["digitMap","comma","name","label","write","category","decimalPoint","String","map","n","reduce","acc","o"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/keys/digits.js"],"names":["digitMap","comma","name","label","write","category","decimalPoint","String","map","n","reduce","acc","o"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,QAAQ,GAAG;AACf,KAAG,MADY;AAEf,KAAG,KAFY;AAGf,KAAG,KAHY;AAIf,KAAG,OAJY;AAKf,KAAG,MALY;AAMf,KAAG,MANY;AAOf,KAAG,KAPY;AAQf,KAAG,OARY;AASf,KAAG,OATY;AAUf,KAAG;AAVY,CAAjB;AAaA,IAAMC,KAAK,GAAG;AAAEC,EAAAA,IAAI,EAAE,OAAR;AAAiBC,EAAAA,KAAK,EAAE,GAAxB;AAA6BC,EAAAA,KAAK,EAAE,GAApC;AAAyCC,EAAAA,QAAQ,EAAE;AAAnD,CAAd;AAEA,IAAMC,YAAY,GAAG;AACnBJ,EAAAA,IAAI,EAAE,eADa;AAEnBC,EAAAA,KAAK,EAAE,GAFY;AAGnBC,EAAAA,KAAK,EAAE,GAHY;AAInBC,EAAAA,QAAQ,EAAE;AAJS,CAArB;;eAOe,uBAAM,EAAN,EAAUE,MAAV,EACZC,GADY,CACR,UAAAC,CAAC,EAAI;AACR,SAAO;AACLP,IAAAA,IAAI,EAAEF,QAAQ,CAACS,CAAD,CADT;AAELL,IAAAA,KAAK,EAAEK,CAFF;AAGLN,IAAAA,KAAK,EAAEM,CAHF;AAILJ,IAAAA,QAAQ,EAAE;AAJL,GAAP;AAMD,CARY,EASZK,MATY,CAUX,UAACC,GAAD,EAAMC,CAAN,EAAY;AACVD,EAAAA,GAAG,CAACC,CAAC,CAACV,IAAH,CAAH,GAAcU,CAAd;AACA,SAAOD,GAAP;AACD,CAbU,EAcX;AAAEV,EAAAA,KAAK,EAALA,KAAF;AAASK,EAAAA,YAAY,EAAZA;AAAT,CAdW,C","sourcesContent":["import times from 'lodash/times';\n\nconst digitMap = {\n 0: 'zero',\n 1: 'one',\n 2: 'two',\n 3: 'three',\n 4: 'four',\n 5: 'five',\n 6: 'six',\n 7: 'seven',\n 8: 'eight',\n 9: 'nine'\n};\n\nconst comma = { name: 'comma', label: ',', write: ',', category: 'digit' };\n\nconst decimalPoint = {\n name: 'decimal-point',\n label: '.',\n write: '.',\n category: 'digit'\n};\n\nexport default times(10, String)\n .map(n => {\n return {\n name: digitMap[n],\n write: n,\n label: n,\n category: 'digit'\n };\n })\n .reduce(\n (acc, o) => {\n acc[o.name] = o;\n return acc;\n },\n { comma, decimalPoint }\n );\n"],"file":"digits.js"}
|