@pie-lib/math-input 6.6.1-next.42 → 6.6.1-next.437

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 (68) hide show
  1. package/CHANGELOG.json +75 -0
  2. package/CHANGELOG.md +95 -0
  3. package/lib/horizontal-keypad.js +33 -38
  4. package/lib/horizontal-keypad.js.map +1 -1
  5. package/lib/index.js +12 -7
  6. package/lib/index.js.map +1 -1
  7. package/lib/keypad/index.js +114 -68
  8. package/lib/keypad/index.js.map +1 -1
  9. package/lib/keypad/keys-layout.js +5 -1
  10. package/lib/keypad/keys-layout.js.map +1 -1
  11. package/lib/keys/basic-operators.js +1 -1
  12. package/lib/keys/basic-operators.js.map +1 -1
  13. package/lib/keys/chars.js +1 -1
  14. package/lib/keys/chars.js.map +1 -1
  15. package/lib/keys/comparison.js +7 -5
  16. package/lib/keys/comparison.js.map +1 -1
  17. package/lib/keys/constants.js +17 -1
  18. package/lib/keys/constants.js.map +1 -1
  19. package/lib/keys/digits.js +2 -2
  20. package/lib/keys/digits.js.map +1 -1
  21. package/lib/keys/edit.js.map +1 -1
  22. package/lib/keys/exponent.js +1 -1
  23. package/lib/keys/exponent.js.map +1 -1
  24. package/lib/keys/fractions.js +1 -1
  25. package/lib/keys/fractions.js.map +1 -1
  26. package/lib/keys/geometry.js +35 -7
  27. package/lib/keys/geometry.js.map +1 -1
  28. package/lib/keys/grades.js +122 -37
  29. package/lib/keys/grades.js.map +1 -1
  30. package/lib/keys/index.js +7 -3
  31. package/lib/keys/index.js.map +1 -1
  32. package/lib/keys/log.js +2 -2
  33. package/lib/keys/log.js.map +1 -1
  34. package/lib/keys/logic.js +1 -1
  35. package/lib/keys/logic.js.map +1 -1
  36. package/lib/keys/matrices.js +1 -1
  37. package/lib/keys/matrices.js.map +1 -1
  38. package/lib/keys/misc.js +1 -1
  39. package/lib/keys/misc.js.map +1 -1
  40. package/lib/keys/navigation.js.map +1 -1
  41. package/lib/keys/operators.js.map +1 -1
  42. package/lib/keys/statistics.js +8 -1
  43. package/lib/keys/statistics.js.map +1 -1
  44. package/lib/keys/sub-sup.js +1 -1
  45. package/lib/keys/sub-sup.js.map +1 -1
  46. package/lib/keys/trigonometry.js +1 -1
  47. package/lib/keys/trigonometry.js.map +1 -1
  48. package/lib/keys/utils.js +11 -17
  49. package/lib/keys/utils.js.map +1 -1
  50. package/lib/keys/vars.js +1 -1
  51. package/lib/keys/vars.js.map +1 -1
  52. package/lib/math-input.js +39 -47
  53. package/lib/math-input.js.map +1 -1
  54. package/lib/mq/custom-elements.js.map +1 -1
  55. package/lib/mq/index.js +2 -2
  56. package/lib/mq/index.js.map +1 -1
  57. package/lib/mq/input.js +30 -40
  58. package/lib/mq/input.js.map +1 -1
  59. package/lib/mq/static.js +26 -34
  60. package/lib/mq/static.js.map +1 -1
  61. package/package.json +2 -2
  62. package/src/horizontal-keypad.jsx +4 -1
  63. package/src/keypad/index.jsx +91 -8
  64. package/src/keys/constants.js +16 -0
  65. package/src/keys/geometry.js +26 -2
  66. package/src/keys/grades.js +198 -84
  67. package/src/keys/log.js +1 -1
  68. package/src/keys/statistics.js +7 -0
@@ -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 }; }
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); }
37
57
 
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); }
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 _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); }
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; }
41
61
 
42
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
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; }
43
63
 
44
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
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); }; }
45
65
 
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); } }
53
-
54
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
55
-
56
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
57
-
58
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
59
-
60
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
61
-
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) {
@@ -156,11 +156,29 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
156
156
  paddingTop: '1.5px !important'
157
157
  },
158
158
  '& .mq-parallelogram': {
159
- lineHeight: 0.8
159
+ lineHeight: 0.85
160
+ },
161
+ '& .mq-overarc': {
162
+ borderTop: '2px solid black !important',
163
+ '& .mq-overline-inner': {
164
+ borderTop: 'none !important',
165
+ paddingTop: '0 !important'
166
+ }
160
167
  }
161
168
  },
162
169
  parallelButton: {
163
170
  fontStyle: 'italic'
171
+ },
172
+ leftRightArrowButton: {
173
+ '& .mq-overarrow.mq-arrow-both': {
174
+ '& .mq-overline-inner': {
175
+ borderTop: 'none !important',
176
+ paddingTop: '0 !important'
177
+ },
178
+ '&:after': {
179
+ top: '-1.64em !important'
180
+ }
181
+ }
164
182
  }
165
183
  };
166
184
  })(function (props) {
@@ -168,49 +186,70 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
168
186
 
169
187
  if (props.latex === '\\parallel') {
170
188
  buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName, props.classes.parallelButton);
189
+ } else if (props.latex === '\\overleftrightarrow{\\overline{}}') {
190
+ buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName, props.classes.leftRightArrowButton);
171
191
  } else {
172
192
  buttonClass = (0, _classnames["default"])(props.classes.latexButton, props.mqClassName);
173
193
  }
174
194
 
175
- return _react["default"].createElement(_Button["default"], {
195
+ try {
196
+ var MQ = MathQuill.getInterface(2);
197
+ var span = document.createElement('span');
198
+ span.innerHTML = '';
199
+ var mathField = MQ.StaticMath(span);
200
+ mathField.parseLatex(props.latex);
201
+ mathField.latex(props.latex);
202
+ } catch (e) {
203
+ // received latex has errors - do not create button
204
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null);
205
+ }
206
+
207
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
176
208
  className: (0, _classnames["default"])(props.classes.root, props.className),
177
209
  onClick: props.onClick
178
- }, _react["default"].createElement(mq.Static, {
210
+ }, /*#__PURE__*/_react["default"].createElement(mq.Static, {
179
211
  className: buttonClass,
180
212
  latex: props.latex
181
213
  }));
182
214
  });
183
215
 
184
- var KeyPad =
185
- /*#__PURE__*/
186
- function (_React$Component) {
187
- _inherits(KeyPad, _React$Component);
216
+ var createCustomLayout = function createCustomLayout(layoutObj) {
217
+ if (layoutObj) {
218
+ return {
219
+ gridTemplateColumns: "repeat(".concat(layoutObj.columns, ", minmax(min-content, 150px))"),
220
+ gridTemplateRows: "repeat(".concat(layoutObj.rows, ", minmax(40px, 60px))"),
221
+ gridAutoFlow: 'initial'
222
+ };
223
+ }
188
224
 
189
- function KeyPad() {
190
- var _getPrototypeOf2;
225
+ return {};
226
+ };
227
+
228
+ var KeyPad = /*#__PURE__*/function (_React$Component) {
229
+ (0, _inherits2["default"])(KeyPad, _React$Component);
230
+
231
+ var _super = _createSuper(KeyPad);
191
232
 
233
+ function KeyPad() {
192
234
  var _this;
193
235
 
194
- _classCallCheck(this, KeyPad);
236
+ (0, _classCallCheck2["default"])(this, KeyPad);
195
237
 
196
238
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
197
239
  args[_key] = arguments[_key];
198
240
  }
199
241
 
200
- _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(KeyPad)).call.apply(_getPrototypeOf2, [this].concat(args)));
201
-
202
- _defineProperty(_assertThisInitialized(_this), "buttonClick", function (key) {
242
+ _this = _super.call.apply(_super, [this].concat(args));
243
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buttonClick", function (key) {
203
244
  log('[buttonClick]', key);
204
245
  var onPress = _this.props.onPress;
205
246
  onPress(key);
206
247
  });
207
-
208
- _defineProperty(_assertThisInitialized(_this), "flowKeys", function (base, extras) {
209
- 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)));
210
250
  return _lodash["default"].flatten(transposed);
211
251
  });
212
-
213
- _defineProperty(_assertThisInitialized(_this), "keyIsNotAllowed", function (key) {
252
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyIsNotAllowed", function (key) {
214
253
  var noDecimal = _this.props.noDecimal;
215
254
 
216
255
  if ((key.write === '.' && key.label === '.' || key.write === ',' && key.label === ',') && noDecimal) {
@@ -219,11 +258,10 @@ function (_React$Component) {
219
258
 
220
259
  return false;
221
260
  });
222
-
223
261
  return _this;
224
262
  }
225
263
 
226
- _createClass(KeyPad, [{
264
+ (0, _createClass2["default"])(KeyPad, [{
227
265
  key: "render",
228
266
  value: function render() {
229
267
  var _this2 = this;
@@ -233,35 +271,41 @@ function (_React$Component) {
233
271
  className = _this$props.className,
234
272
  baseSet = _this$props.baseSet,
235
273
  additionalKeys = _this$props.additionalKeys,
236
- onFocus = _this$props.onFocus;
237
- var allKeys = this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];
274
+ layoutForKeyPad = _this$props.layoutForKeyPad,
275
+ onFocus = _this$props.onFocus,
276
+ mode = _this$props.mode;
277
+ var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];
278
+ var keysWithoutBaseSet = noBaseSet.includes(mode);
279
+ var allKeys = keysWithoutBaseSet ? this.flowKeys([], additionalKeys || []) : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];
238
280
 
239
281
  var shift = allKeys.length % 5 ? 1 : 0;
240
- var style = {
282
+
283
+ var style = _objectSpread({
241
284
  gridTemplateColumns: "repeat(".concat(Math.floor(allKeys.length / 5) + shift, ", minmax(min-content, 150px))")
242
- };
243
- return _react["default"].createElement("div", {
244
- className: (0, _classnames["default"])(classes.keys, className),
285
+ }, createCustomLayout(layoutForKeyPad));
286
+
287
+ return /*#__PURE__*/_react["default"].createElement("div", {
288
+ className: (0, _classnames["default"])(classes.keys, className, classes[mode]),
245
289
  style: style,
246
290
  onFocus: onFocus
247
291
  }, allKeys.map(function (k, index) {
248
292
  var onClick = _this2.buttonClick.bind(_this2, k);
249
293
 
250
294
  if (!k) {
251
- return _react["default"].createElement("span", {
295
+ return /*#__PURE__*/_react["default"].createElement("span", {
252
296
  key: "empty-".concat(index)
253
297
  });
254
298
  }
255
299
 
256
- var common = {
300
+ var common = _objectSpread(_objectSpread({
257
301
  onClick: onClick,
258
- className: (0, _classnames["default"])(classes.labelButton, classes[k.category], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
302
+ className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], classes[k.extraClass], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
259
303
  disabled: _this2.keyIsNotAllowed(k),
260
304
  key: "".concat(k.label || k.latex || k.command, "-").concat(index)
261
- };
305
+ }, k.actions || {}), k.extraProps || {});
262
306
 
263
307
  if (k.latex) {
264
- return _react["default"].createElement(LatexButton, _extends({
308
+ return /*#__PURE__*/_react["default"].createElement(LatexButton, (0, _extends2["default"])({
265
309
  latex: k.latex
266
310
  }, common, {
267
311
  className: classes.latexButton
@@ -269,35 +313,34 @@ function (_React$Component) {
269
313
  }
270
314
 
271
315
  if (k.label) {
272
- return _react["default"].createElement(_Button["default"], common, k.label);
316
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], common, k.label);
273
317
  } else {
274
318
  var Icon = k.icon ? k.icon : 'div';
275
- return _react["default"].createElement(_IconButton["default"], _extends({
319
+ return /*#__PURE__*/_react["default"].createElement(_IconButton["default"], (0, _extends2["default"])({
276
320
  tabIndex: '-1'
277
- }, common), _react["default"].createElement(Icon, {
321
+ }, common), /*#__PURE__*/_react["default"].createElement(Icon, {
278
322
  className: classes.icon
279
323
  }));
280
324
  }
281
325
  }));
282
326
  }
283
327
  }]);
284
-
285
328
  return KeyPad;
286
329
  }(_react["default"].Component);
287
330
 
288
331
  exports.KeyPad = KeyPad;
289
-
290
- _defineProperty(KeyPad, "propTypes", {
332
+ (0, _defineProperty2["default"])(KeyPad, "propTypes", {
291
333
  classes: _propTypes["default"].object.isRequired,
292
334
  className: _propTypes["default"].string,
293
335
  baseSet: _propTypes["default"].array,
294
336
  additionalKeys: _propTypes["default"].array,
337
+ layoutForKeyPad: _propTypes["default"].object,
295
338
  onPress: _propTypes["default"].func.isRequired,
296
339
  onFocus: _propTypes["default"].func,
297
- noDecimal: _propTypes["default"].bool
340
+ noDecimal: _propTypes["default"].bool,
341
+ mode: _propTypes["default"].string
298
342
  });
299
-
300
- _defineProperty(KeyPad, "defaultProps", {
343
+ (0, _defineProperty2["default"])(KeyPad, "defaultProps", {
301
344
  baseSet: _keys.baseSet,
302
345
  noDecimal: false
303
346
  });
@@ -315,6 +358,9 @@ var styles = function styles(theme) {
315
358
  gridColumnGap: '0px',
316
359
  gridAutoFlow: 'column'
317
360
  },
361
+ character: {
362
+ textTransform: 'initial !important'
363
+ },
318
364
  holder: {
319
365
  position: 'relative',
320
366
  width: '100%',
@@ -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","props","buttonClass","latex","classes","mqClassName","className","onClick","KeyPad","key","onPress","base","extras","transposed","_","flatten","noDecimal","write","label","baseSet","additionalKeys","onFocus","allKeys","flowKeys","shift","length","style","gridTemplateColumns","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","comma","dot","disabled","keyIsNotAllowed","command","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","fontFamily","gridTemplateRows","gridRowGap","gridColumnGap","gridAutoFlow","holder","position","height","borderRadius","spacing","unit","minWidth","primary","light","operators","comparison","green"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport IconButton from '@material-ui/core/IconButton';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { lighten, fade } from '@material-ui/core/styles/colorManipulator';\nimport green from '@material-ui/core/colors/green';\nimport { sortKeys } from './keys-layout';\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport debug from 'debug';\nimport _ from 'lodash';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst LatexButton = withStyles(theme => ({\n root: {\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important'\n },\n latexButton: {\n pointerEvents: 'none',\n textTransform: 'none !important',\n '& .mq-scaled.mq-sqrt-prefix': {\n transform: 'scale(1, 0.9) !important'\n },\n '& .mq-sup-only .mq-sup': {\n marginBottom: '0.9px !important'\n },\n '& .mq-empty': {\n backgroundColor: `${fade(theme.palette.secondary.main, 0.4)} !important`\n },\n '& .mq-overline .mq-overline-inner': {\n borderTop: '2px solid black'\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n '&.mq-arrow-both': {\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&:after': {\n fontSize: '80% !important',\n right: 'calc(-13%) !important',\n top: '-1.5em'\n },\n '&.mq-empty:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty': {\n minHeight: '1.4em'\n }\n },\n '&.mq-arrow-right:before': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important'\n },\n '& .mq-overarrow-inner .mq-overarrow-inner-right': {\n display: 'none !important'\n }\n },\n '& .mq-root-block': {\n padding: '5px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:after': {\n right: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-right.mq-empty:before': {\n right: '-5px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:before': {\n left: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.8\n }\n },\n parallelButton: {\n fontStyle: 'italic'\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 {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName);\n }\n return (\n <Button className={classNames(props.classes.root, props.className)} onClick={props.onClick}>\n <mq.Static className={buttonClass} latex={props.latex} />\n </Button>\n );\n});\n\nexport class KeyPad extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n baseSet: PropTypes.array,\n additionalKeys: PropTypes.array,\n onPress: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool\n };\n static defaultProps = {\n baseSet: baseSet,\n noDecimal: false\n };\n\n buttonClick = key => {\n log('[buttonClick]', key);\n const { onPress } = this.props;\n onPress(key);\n };\n\n flowKeys = (base, extras) => {\n const transposed = [...sortKeys(base), ...sortKeys(extras)];\n return _.flatten(transposed);\n };\n\n keyIsNotAllowed = key => {\n const { noDecimal } = this.props;\n\n if (\n ((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) &&\n noDecimal\n ) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { classes, className, baseSet, additionalKeys, onFocus } = this.props;\n\n const allKeys = this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];\n\n const shift = allKeys.length % 5 ? 1 : 0;\n const style = {\n gridTemplateColumns: `repeat(${Math.floor(allKeys.length / 5) +\n shift}, minmax(min-content, 150px))`\n };\n return (\n <div className={classNames(classes.keys, className)} style={style} onFocus={onFocus}>\n {allKeys.map((k, index) => {\n const onClick = this.buttonClick.bind(this, k);\n\n if (!k) {\n return <span key={`empty-${index}`} />;\n }\n\n const common = {\n onClick,\n className: classNames(\n classes.labelButton,\n classes[k.category],\n k.label === ',' && classes.comma,\n k.label === '.' && classes.dot\n ),\n disabled: this.keyIsNotAllowed(k),\n key: `${k.label || k.latex || k.command}-${index}`\n };\n\n if (k.latex) {\n return <LatexButton latex={k.latex} {...common} className={classes.latexButton} />;\n }\n\n if (k.label) {\n return <Button {...common}>{k.label}</Button>;\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <IconButton tabIndex={'-1'} {...common}>\n <Icon className={classes.icon} />\n </IconButton>\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n keys: {\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n width: '100%',\n display: 'grid',\n gridTemplateRows: 'repeat(5, minmax(40px, 60px))',\n gridRowGap: '0px',\n gridColumnGap: '0px',\n gridAutoFlow: 'column'\n },\n holder: {\n position: 'relative',\n width: '100%',\n height: '100%',\n backgroundColor: '#cef',\n borderRadius: 0,\n padding: `${theme.spacing.unit}px 0 ${theme.spacing.unit}px 0`\n },\n labelButton: {\n minWidth: 'auto',\n fontSize: '140% !important',\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n },\n borderRadius: 0\n },\n latexButton: {\n minWidth: 'auto',\n borderRadius: 0,\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n }\n },\n base: {},\n operators: {\n backgroundColor: lighten(theme.palette.secondary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.secondary.light, 0.7)\n }\n },\n comparison: {\n backgroundColor: lighten(green[500], 0.5),\n '&:hover': {\n backgroundColor: lighten(green[500], 0.7)\n }\n },\n comma: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n dot: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n icon: {\n height: '30px'\n }\n});\n\nexport default withStyles(styles)(KeyPad);\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["log","debug","LatexButton","withStyles","theme","root","textTransform","padding","margin","fontSize","latexButton","pointerEvents","transform","marginBottom","backgroundColor","fade","palette","secondary","main","borderTop","width","marginTop","lineHeight","left","top","right","minHeight","border","display","paddingTop","parallelButton","fontStyle","leftRightArrowButton","props","buttonClass","latex","classNames","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","sortKeys","_","flatten","noDecimal","write","label","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","length","style","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","extraClass","comma","dot","disabled","keyIsNotAllowed","command","actions","extraProps","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","fontFamily","gridRowGap","gridColumnGap","character","holder","position","height","borderRadius","spacing","unit","minWidth","lighten","primary","light","operators","comparison","green"],"sources":["../../src/keypad/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport IconButton from '@material-ui/core/IconButton';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { lighten, fade } from '@material-ui/core/styles/colorManipulator';\nimport green from '@material-ui/core/colors/green';\nimport { sortKeys } from './keys-layout';\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport debug from 'debug';\nimport _ from 'lodash';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst LatexButton = withStyles(theme => ({\n root: {\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important'\n },\n latexButton: {\n pointerEvents: 'none',\n textTransform: 'none !important',\n '& .mq-scaled.mq-sqrt-prefix': {\n transform: 'scale(1, 0.9) !important'\n },\n '& .mq-sup-only .mq-sup': {\n marginBottom: '0.9px !important'\n },\n '& .mq-empty': {\n backgroundColor: `${fade(theme.palette.secondary.main, 0.4)} !important`\n },\n '& .mq-overline .mq-overline-inner': {\n borderTop: '2px solid black'\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n '&.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"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -7,7 +9,9 @@ exports.sortKeys = void 0;
7
9
 
8
10
  var _ = _interopRequireWildcard(require("lodash"));
9
11
 
10
- function _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; } }
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
15
 
12
16
  /**
13
17
  * Sort additional keys.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/keypad/keys-layout.js"],"names":["sortKeys","keys","_","times","length","push","out","zip","apply"],"mappings":";;;;;;;AAAA;;;;AAEA;;;;;;AAMO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAAAC,IAAI,EAAI;AAC9B;AACAC,EAAAA,CAAC,CAACC,KAAF,CAAQ,IAAIF,IAAI,CAACG,MAAjB,EAAyB,YAAM;AAC7BH,IAAAA,IAAI,CAACI,IAAL,CAAU,EAAV;AACD,GAFD;;AAIA,MAAMC,GAAG,GAAGJ,CAAC,CAACK,GAAF,CAAMC,KAAN,CAAY,IAAZ,EAAkBP,IAAlB,CAAZ;;AACA,SAAOK,GAAP;AACD,CARM","sourcesContent":["import * as _ from 'lodash';\n\n/**\n * Sort additional keys.\n *\n * Expects an array of rows.\n * @param {} keys\n */\nexport const sortKeys = keys => {\n // add any missing rows\n _.times(5 - keys.length, () => {\n keys.push([]);\n });\n\n const out = _.zip.apply(null, keys);\n return out;\n};\n"],"file":"keys-layout.js"}
1
+ {"version":3,"file":"keys-layout.js","names":["sortKeys","keys","_","times","length","push","out","zip","apply"],"sources":["../../src/keypad/keys-layout.js"],"sourcesContent":["import * as _ from 'lodash';\n\n/**\n * Sort additional keys.\n *\n * Expects an array of rows.\n * @param {} keys\n */\nexport const sortKeys = keys => {\n // add any missing rows\n _.times(5 - keys.length, () => {\n keys.push([]);\n });\n\n const out = _.zip.apply(null, keys);\n return out;\n};\n"],"mappings":";;;;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAAAC,IAAI,EAAI;EAC9B;EACAC,CAAC,CAACC,KAAF,CAAQ,IAAIF,IAAI,CAACG,MAAjB,EAAyB,YAAM;IAC7BH,IAAI,CAACI,IAAL,CAAU,EAAV;EACD,CAFD;;EAIA,IAAMC,GAAG,GAAGJ,CAAC,CAACK,GAAF,CAAMC,KAAN,CAAY,IAAZ,EAAkBP,IAAlB,CAAZ;;EACA,OAAOK,GAAP;AACD,CARM"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.multiply = exports.divide = exports.minus = exports.plus = exports.equals = void 0;
6
+ exports.plus = exports.multiply = exports.minus = exports.equals = exports.divide = void 0;
7
7
 
8
8
  var _chars = require("./chars");
9
9
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/keys/basic-operators.js"],"names":["set","equals","write","label","plus","minus","divide","name","DIVIDE","command","otherNotation","multiply","MULTIPLY"],"mappings":";;;;;;;AAAA;;AACA;;AAEA,IAAMA,GAAG,GAAG,kBAAM,WAAN,CAAZ;AAEO,IAAMC,MAAM,GAAGD,GAAG,CAAC;AACxBE,EAAAA,KAAK,EAAE,GADiB;AAExBC,EAAAA,KAAK,EAAE;AAFiB,CAAD,CAAlB;;AAKA,IAAMC,IAAI,GAAGJ,GAAG,CAAC;AACtBE,EAAAA,KAAK,EAAE,GADe;AAEtBC,EAAAA,KAAK,EAAE;AAFe,CAAD,CAAhB;;AAKA,IAAME,KAAK,GAAGL,GAAG,CAAC;AACvBE,EAAAA,KAAK,EAAE,GADgB;AAEvBC,EAAAA,KAAK,EAAE;AAFgB,CAAD,CAAjB;;AAKA,IAAMG,MAAM,GAAGN,GAAG,CAAC;AACxBO,EAAAA,IAAI,EAAE,QADkB;AAExBJ,EAAAA,KAAK,EAAEK,aAFiB;AAGxBC,EAAAA,OAAO,EAAE,UAHe;AAIxBC,EAAAA,aAAa,EAAE;AAJS,CAAD,CAAlB;;AAOA,IAAMC,QAAQ,GAAGX,GAAG,CAAC;AAC1BO,EAAAA,IAAI,EAAE,UADoB;AAE1BJ,EAAAA,KAAK,EAAES,eAFmB;AAG1BH,EAAAA,OAAO,EAAE;AAHiB,CAAD,CAApB","sourcesContent":["import { DIVIDE, MULTIPLY } from './chars';\nimport { mkSet } from './utils';\n\nconst set = mkSet('operators');\n\nexport const equals = set({\n write: '=',\n label: '='\n});\n\nexport const plus = set({\n write: '+',\n label: '+'\n});\n\nexport const minus = set({\n write: '−',\n label: '−'\n});\n\nexport const divide = set({\n name: 'divide',\n label: DIVIDE,\n command: '\\\\divide',\n otherNotation: '\\\\div'\n});\n\nexport const multiply = set({\n name: 'multiply',\n label: MULTIPLY,\n command: '\\\\times'\n});\n"],"file":"basic-operators.js"}
1
+ {"version":3,"file":"basic-operators.js","names":["set","mkSet","equals","write","label","plus","minus","divide","name","DIVIDE","command","otherNotation","multiply","MULTIPLY"],"sources":["../../src/keys/basic-operators.js"],"sourcesContent":["import { DIVIDE, MULTIPLY } from './chars';\nimport { mkSet } from './utils';\n\nconst set = mkSet('operators');\n\nexport const equals = set({\n write: '=',\n label: '='\n});\n\nexport const plus = set({\n write: '+',\n label: '+'\n});\n\nexport const minus = set({\n write: '−',\n label: '−'\n});\n\nexport const divide = set({\n name: 'divide',\n label: DIVIDE,\n command: '\\\\divide',\n otherNotation: '\\\\div'\n});\n\nexport const multiply = set({\n name: 'multiply',\n label: MULTIPLY,\n command: '\\\\times'\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA,IAAMA,GAAG,GAAG,IAAAC,YAAA,EAAM,WAAN,CAAZ;AAEO,IAAMC,MAAM,GAAGF,GAAG,CAAC;EACxBG,KAAK,EAAE,GADiB;EAExBC,KAAK,EAAE;AAFiB,CAAD,CAAlB;;AAKA,IAAMC,IAAI,GAAGL,GAAG,CAAC;EACtBG,KAAK,EAAE,GADe;EAEtBC,KAAK,EAAE;AAFe,CAAD,CAAhB;;AAKA,IAAME,KAAK,GAAGN,GAAG,CAAC;EACvBG,KAAK,EAAE,GADgB;EAEvBC,KAAK,EAAE;AAFgB,CAAD,CAAjB;;AAKA,IAAMG,MAAM,GAAGP,GAAG,CAAC;EACxBQ,IAAI,EAAE,QADkB;EAExBJ,KAAK,EAAEK,aAFiB;EAGxBC,OAAO,EAAE,UAHe;EAIxBC,aAAa,EAAE;AAJS,CAAD,CAAlB;;AAOA,IAAMC,QAAQ,GAAGZ,GAAG,CAAC;EAC1BQ,IAAI,EAAE,UADoB;EAE1BJ,KAAK,EAAES,eAFmB;EAG1BH,OAAO,EAAE;AAHiB,CAAD,CAApB"}
package/lib/keys/chars.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MULTIPLY = exports.DIVIDE = exports.RIGHT_ARROW = exports.LEFT_ARROW = exports.DELETE = void 0;
6
+ exports.RIGHT_ARROW = exports.MULTIPLY = exports.LEFT_ARROW = exports.DIVIDE = exports.DELETE = void 0;
7
7
  var DELETE = "\u232B";
8
8
  exports.DELETE = DELETE;
9
9
  var LEFT_ARROW = '◀';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/keys/chars.js"],"names":["DELETE","LEFT_ARROW","RIGHT_ARROW","DIVIDE","MULTIPLY"],"mappings":";;;;;;AAAO,IAAMA,MAAM,GAAG,QAAf;;AACA,IAAMC,UAAU,GAAG,GAAnB;;AACA,IAAMC,WAAW,GAAG,GAApB;;AACA,IAAMC,MAAM,GAAG,MAAf;;AACA,IAAMC,QAAQ,GAAG,MAAjB","sourcesContent":["export const DELETE = '\\u232B';\nexport const LEFT_ARROW = '◀';\nexport const RIGHT_ARROW = '▶';\nexport const DIVIDE = '\\u00F7';\nexport const MULTIPLY = '\\u00D7';\n"],"file":"chars.js"}
1
+ {"version":3,"file":"chars.js","names":["DELETE","LEFT_ARROW","RIGHT_ARROW","DIVIDE","MULTIPLY"],"sources":["../../src/keys/chars.js"],"sourcesContent":["export const DELETE = '\\u232B';\nexport const LEFT_ARROW = '◀';\nexport const RIGHT_ARROW = '▶';\nexport const DIVIDE = '\\u00F7';\nexport const MULTIPLY = '\\u00D7';\n"],"mappings":";;;;;;AAAO,IAAMA,MAAM,GAAG,QAAf;;AACA,IAAMC,UAAU,GAAG,GAAnB;;AACA,IAAMC,WAAW,GAAG,GAApB;;AACA,IAAMC,MAAM,GAAG,MAAf;;AACA,IAAMC,QAAQ,GAAG,MAAjB"}
@@ -1,18 +1,20 @@
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
- exports.greaterThanEqual = exports.lessThanEqual = exports.greaterThan = exports.lessThan = void 0;
8
+ exports.lessThanEqual = exports.lessThan = exports.greaterThanEqual = exports.greaterThan = void 0;
7
9
 
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
11
 
10
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
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 _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; }
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
- return _objectSpread({}, o, {
17
+ return _objectSpread(_objectSpread({}, o), {}, {
16
18
  category: 'comparison'
17
19
  });
18
20
  };
@@ -1 +1 @@
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,2BAAUA,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"}
1
+ {"version":3,"file":"comparison.js","names":["set","o","category","lessThan","name","latex","command","greaterThan","lessThanEqual","symbol","greaterThanEqual"],"sources":["../../src/keys/comparison.js"],"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"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAMA,GAAG,GAAG,SAANA,GAAM,CAAAC,CAAC;EAAA,uCAAUA,CAAV;IAAaC,QAAQ,EAAE;EAAvB;AAAA,CAAb;;AAEO,IAAMC,QAAQ,GAAGH,GAAG,CAAC;EAC1BI,IAAI,EAAE,WADoB;EAE1BC,KAAK,EAAE,GAFmB;EAG1BC,OAAO,EAAE;AAHiB,CAAD,CAApB;;AAMA,IAAMC,WAAW,GAAGP,GAAG,CAAC;EAC7BI,IAAI,EAAE,cADuB;EAE7BC,KAAK,EAAE,GAFsB;EAG7BC,OAAO,EAAE;AAHoB,CAAD,CAAvB;;AAMA,IAAME,aAAa,GAAGR,GAAG,CAAC;EAC/BI,IAAI,EAAE,oBADyB;EAE/BC,KAAK,EAAE,MAFwB;EAG/BI,MAAM,EAAE,IAHuB;EAI/BH,OAAO,EAAE;AAJsB,CAAD,CAAzB;;AAOA,IAAMI,gBAAgB,GAAGV,GAAG,CAAC;EAClCI,IAAI,EAAE,uBAD4B;EAElCK,MAAM,EAAE,IAF0B;EAGlCH,OAAO,EAAE,MAHyB;EAIlCD,KAAK,EAAE;AAJ2B,CAAD,CAA5B"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.eulers = exports.pi = void 0;
6
+ exports.pi = exports.infinity = exports.halfInfinity = exports.eulers = void 0;
7
7
 
8
8
  var _utils = require("./utils");
9
9
 
@@ -24,4 +24,20 @@ var eulers = set({
24
24
  category: 'constants'
25
25
  });
26
26
  exports.eulers = eulers;
27
+ var infinity = set({
28
+ name: 'Infinity',
29
+ label: '\\infty',
30
+ latex: '\\infty',
31
+ command: '\\infty',
32
+ category: 'constants'
33
+ });
34
+ exports.infinity = infinity;
35
+ var halfInfinity = set({
36
+ name: 'Half Infinity',
37
+ label: '\\propto',
38
+ latex: '\\propto',
39
+ command: '\\propto',
40
+ category: 'constants'
41
+ });
42
+ exports.halfInfinity = halfInfinity;
27
43
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/keys/constants.js"],"names":["set","pi","name","label","latex","command","category","eulers"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,GAAG,GAAG,kBAAM,WAAN,CAAZ;AAEO,IAAMC,EAAE,GAAGD,GAAG,CAAC;AACpBE,EAAAA,IAAI,EAAE,IADc;AAEpBC,EAAAA,KAAK,EAAE,GAFa;AAGpBC,EAAAA,KAAK,EAAE,MAHa;AAIpBC,EAAAA,OAAO,EAAE,MAJW;AAKpBC,EAAAA,QAAQ,EAAE;AALU,CAAD,CAAd;;AAQA,IAAMC,MAAM,GAAGP,GAAG,CAAC;AACxBE,EAAAA,IAAI,EAAE,QADkB;AAExBC,EAAAA,KAAK,EAAE,GAFiB;AAGxBC,EAAAA,KAAK,EAAE,GAHiB;AAIxBC,EAAAA,OAAO,EAAE,GAJe;AAKxBC,EAAAA,QAAQ,EAAE;AALc,CAAD,CAAlB","sourcesContent":["import { mkSet } from './utils';\n\nconst set = mkSet('constants');\n\nexport const pi = set({\n name: 'Pi',\n label: 'π',\n latex: '\\\\pi',\n command: '\\\\pi',\n category: 'constants'\n});\n\nexport const eulers = set({\n name: 'Eulers',\n label: 'e',\n latex: 'e',\n command: 'e',\n category: 'constants'\n});\n"],"file":"constants.js"}
1
+ {"version":3,"file":"constants.js","names":["set","mkSet","pi","name","label","latex","command","category","eulers","infinity","halfInfinity"],"sources":["../../src/keys/constants.js"],"sourcesContent":["import { mkSet } from './utils';\n\nconst set = mkSet('constants');\n\nexport const pi = set({\n name: 'Pi',\n label: 'π',\n latex: '\\\\pi',\n command: '\\\\pi',\n category: 'constants'\n});\n\nexport const eulers = set({\n name: 'Eulers',\n label: 'e',\n latex: 'e',\n command: 'e',\n category: 'constants'\n});\n\nexport const infinity = set({\n name: 'Infinity',\n label: '\\\\infty',\n latex: '\\\\infty',\n command: '\\\\infty',\n category: 'constants'\n});\n\nexport const halfInfinity = set({\n name: 'Half Infinity',\n label: '\\\\propto',\n latex: '\\\\propto',\n command: '\\\\propto',\n category: 'constants'\n});\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,GAAG,GAAG,IAAAC,YAAA,EAAM,WAAN,CAAZ;AAEO,IAAMC,EAAE,GAAGF,GAAG,CAAC;EACpBG,IAAI,EAAE,IADc;EAEpBC,KAAK,EAAE,GAFa;EAGpBC,KAAK,EAAE,MAHa;EAIpBC,OAAO,EAAE,MAJW;EAKpBC,QAAQ,EAAE;AALU,CAAD,CAAd;;AAQA,IAAMC,MAAM,GAAGR,GAAG,CAAC;EACxBG,IAAI,EAAE,QADkB;EAExBC,KAAK,EAAE,GAFiB;EAGxBC,KAAK,EAAE,GAHiB;EAIxBC,OAAO,EAAE,GAJe;EAKxBC,QAAQ,EAAE;AALc,CAAD,CAAlB;;AAQA,IAAME,QAAQ,GAAGT,GAAG,CAAC;EAC1BG,IAAI,EAAE,UADoB;EAE1BC,KAAK,EAAE,SAFmB;EAG1BC,KAAK,EAAE,SAHmB;EAI1BC,OAAO,EAAE,SAJiB;EAK1BC,QAAQ,EAAE;AALgB,CAAD,CAApB;;AAQA,IAAMG,YAAY,GAAGV,GAAG,CAAC;EAC9BG,IAAI,EAAE,eADwB;EAE9BC,KAAK,EAAE,UAFuB;EAG9BC,KAAK,EAAE,UAHuB;EAI9BC,OAAO,EAAE,UAJqB;EAK9BC,QAAQ,EAAE;AALoB,CAAD,CAAxB"}
@@ -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',
@@ -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":";;;;;;;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"}
1
+ {"version":3,"file":"digits.js","names":["digitMap","comma","name","label","write","category","decimalPoint","times","String","map","n","reduce","acc","o"],"sources":["../../src/keys/digits.js"],"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"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,QAAQ,GAAG;EACf,GAAG,MADY;EAEf,GAAG,KAFY;EAGf,GAAG,KAHY;EAIf,GAAG,OAJY;EAKf,GAAG,MALY;EAMf,GAAG,MANY;EAOf,GAAG,KAPY;EAQf,GAAG,OARY;EASf,GAAG,OATY;EAUf,GAAG;AAVY,CAAjB;AAaA,IAAMC,KAAK,GAAG;EAAEC,IAAI,EAAE,OAAR;EAAiBC,KAAK,EAAE,GAAxB;EAA6BC,KAAK,EAAE,GAApC;EAAyCC,QAAQ,EAAE;AAAnD,CAAd;AAEA,IAAMC,YAAY,GAAG;EACnBJ,IAAI,EAAE,eADa;EAEnBC,KAAK,EAAE,GAFY;EAGnBC,KAAK,EAAE,GAHY;EAInBC,QAAQ,EAAE;AAJS,CAArB;;eAOe,IAAAE,iBAAA,EAAM,EAAN,EAAUC,MAAV,EACZC,GADY,CACR,UAAAC,CAAC,EAAI;EACR,OAAO;IACLR,IAAI,EAAEF,QAAQ,CAACU,CAAD,CADT;IAELN,KAAK,EAAEM,CAFF;IAGLP,KAAK,EAAEO,CAHF;IAILL,QAAQ,EAAE;EAJL,CAAP;AAMD,CARY,EASZM,MATY,CAUX,UAACC,GAAD,EAAMC,CAAN,EAAY;EACVD,GAAG,CAACC,CAAC,CAACX,IAAH,CAAH,GAAcW,CAAd;EACA,OAAOD,GAAP;AACD,CAbU,EAcX;EAAEX,KAAK,EAALA,KAAF;EAASK,YAAY,EAAZA;AAAT,CAdW,C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/keys/edit.js"],"names":["del","label","DELETE","category","keystroke"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,GAAG,GAAG;AAAEC,EAAAA,KAAK,EAAEC,aAAT;AAAiBC,EAAAA,QAAQ,EAAE,MAA3B;AAAmCC,EAAAA,SAAS,EAAE;AAA9C,CAAZ","sourcesContent":["import { DELETE } from './chars';\n\nexport const del = { label: DELETE, category: 'edit', keystroke: 'Backspace' };\n"],"file":"edit.js"}
1
+ {"version":3,"file":"edit.js","names":["del","label","DELETE","category","keystroke"],"sources":["../../src/keys/edit.js"],"sourcesContent":["import { DELETE } from './chars';\n\nexport const del = { label: DELETE, category: 'edit', keystroke: 'Backspace' };\n"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,GAAG,GAAG;EAAEC,KAAK,EAAEC,aAAT;EAAiBC,QAAQ,EAAE,MAA3B;EAAmCC,SAAS,EAAE;AAA9C,CAAZ"}