@pie-lib/math-input 6.6.9 → 6.6.10

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 CHANGED
@@ -3,6 +3,14 @@
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.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
+
8
+ **Note:** Version bump only for package @pie-lib/math-input
9
+
10
+
11
+
12
+
13
+
6
14
  ## [6.6.9](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.6.8...@pie-lib/math-input@6.6.9) (2022-04-12)
7
15
 
8
16
 
@@ -91,12 +91,14 @@ var HorizontalKeypad = /*#__PURE__*/function (_React$Component) {
91
91
  onFocus = _this$props.onFocus,
92
92
  noDecimal = _this$props.noDecimal,
93
93
  className = _this$props.className,
94
- additionalKeys = _this$props.additionalKeys;
94
+ additionalKeys = _this$props.additionalKeys,
95
+ layoutForKeyPad = _this$props.layoutForKeyPad;
95
96
  var normalizedKeys = (0, _grades.normalizeAdditionalKeys)(additionalKeys);
96
97
  return /*#__PURE__*/_react["default"].createElement(_keypad["default"], {
97
98
  className: className,
98
99
  onFocus: onFocus,
99
100
  noDecimal: noDecimal,
101
+ layoutForKeyPad: layoutForKeyPad,
100
102
  additionalKeys: (0, _utils.extendKeySet)((0, _grades.keysForGrade)(mode), normalizedKeys),
101
103
  onPress: this.keypadPress,
102
104
  mode: mode
@@ -112,6 +114,7 @@ exports["default"] = HorizontalKeypad;
112
114
  _defineProperty(HorizontalKeypad, "propTypes", {
113
115
  className: _propTypes["default"].string,
114
116
  mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
117
+ layoutForKeyPad: _propTypes["default"].object,
115
118
  onClick: _propTypes["default"].func.isRequired,
116
119
  onFocus: _propTypes["default"].func,
117
120
  noDecimal: _propTypes["default"].bool,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/horizontal-keypad.jsx"],"names":["toOldModel","d","command","value","type","write","keystroke","HorizontalKeypad","data","onClick","props","mode","onFocus","noDecimal","className","additionalKeys","normalizedKeys","keypadPress","React","Component","PropTypes","string","oneOfType","number","func","isRequired","bool","array"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,CAAC,EAAI;AACtB,MAAIA,CAAC,CAACC,OAAN,EAAe;AACb,WAAO;AAAEC,MAAAA,KAAK,EAAEF,CAAC,CAACC,OAAX;AAAoBE,MAAAA,IAAI,EAAE;AAA1B,KAAP;AACD,GAFD,MAEO,IAAIH,CAAC,CAACI,KAAN,EAAa;AAClB,WAAO;AAAEF,MAAAA,KAAK,EAAEF,CAAC,CAACI;AAAX,KAAP;AACD,GAFM,MAEA,IAAIJ,CAAC,CAACK,SAAN,EAAiB;AACtB,WAAO;AAAEF,MAAAA,IAAI,EAAE,QAAR;AAAkBD,MAAAA,KAAK,EAAEF,CAAC,CAACK;AAA3B,KAAP;AACD;AACF,CARD;;IAUqBC,gB;;;;;;;;;;;;;;;;kEAgBL,UAAAC,IAAI,EAAI;AACpB,UAAQC,OAAR,GAAoB,MAAKC,KAAzB,CAAQD,OAAR;AAEAA,MAAAA,OAAO,CAACT,UAAU,CAACQ,IAAD,CAAX,CAAP;AACD,K;;;;;;;WAED,kBAAS;AACP,wBAAgE,KAAKE,KAArE;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;AACA,UAAMC,cAAc,GAAG,qCAAwBD,cAAxB,CAAvB;AAEA,0BACE,gCAAC,kBAAD;AACE,QAAA,SAAS,EAAED,SADb;AAEE,QAAA,OAAO,EAAEF,OAFX;AAGE,QAAA,SAAS,EAAEC,SAHb;AAIE,QAAA,cAAc,EAAE,yBAAa,0BAAaF,IAAb,CAAb,EAAiCK,cAAjC,CAJlB;AAKE,QAAA,OAAO,EAAE,KAAKC,WALhB;AAME,QAAA,IAAI,EAAEN;AANR,QADF;AAUD;;;;EApC2CO,kBAAMC,S;;;;gBAA/BZ,gB,eACA;AACjBO,EAAAA,SAAS,EAAEM,sBAAUC,MADJ;AAEjBV,EAAAA,IAAI,EAAES,sBAAUE,SAAV,CAAoB,CAACF,sBAAUC,MAAX,EAAmBD,sBAAUG,MAA7B,CAApB,CAFW;AAGjBd,EAAAA,OAAO,EAAEW,sBAAUI,IAAV,CAAeC,UAHP;AAIjBb,EAAAA,OAAO,EAAEQ,sBAAUI,IAJF;AAKjBX,EAAAA,SAAS,EAAEO,sBAAUM,IALJ;AAMjBX,EAAAA,cAAc,EAAEK,sBAAUO;AANT,C;;gBADApB,gB,kBAUG;AACpBI,EAAAA,IAAI,EAAE,YADc;AAEpBE,EAAAA,SAAS,EAAE,KAFS;AAGpBE,EAAAA,cAAc,EAAE;AAHI,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { keysForGrade, normalizeAdditionalKeys } from './keys/grades';\nimport { extendKeySet } from './keys/utils';\nimport Keypad from './keypad';\n\nconst toOldModel = d => {\n if (d.command) {\n return { value: d.command, type: 'command' };\n } else if (d.write) {\n return { value: d.write };\n } else if (d.keystroke) {\n return { type: 'cursor', value: d.keystroke };\n }\n};\n\nexport default class HorizontalKeypad extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onClick: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n additionalKeys: PropTypes.array\n };\n\n static defaultProps = {\n mode: 'scientific',\n noDecimal: false,\n additionalKeys: []\n };\n\n keypadPress = data => {\n const { onClick } = this.props;\n\n onClick(toOldModel(data));\n };\n\n render() {\n const { mode, onFocus, noDecimal, className, additionalKeys } = this.props;\n const normalizedKeys = normalizeAdditionalKeys(additionalKeys);\n\n return (\n <Keypad\n className={className}\n onFocus={onFocus}\n noDecimal={noDecimal}\n additionalKeys={extendKeySet(keysForGrade(mode), normalizedKeys)}\n onPress={this.keypadPress}\n mode={mode}\n />\n );\n }\n}\n"],"file":"horizontal-keypad.js"}
1
+ {"version":3,"sources":["../src/horizontal-keypad.jsx"],"names":["toOldModel","d","command","value","type","write","keystroke","HorizontalKeypad","data","onClick","props","mode","onFocus","noDecimal","className","additionalKeys","layoutForKeyPad","normalizedKeys","keypadPress","React","Component","PropTypes","string","oneOfType","number","object","func","isRequired","bool","array"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,CAAC,EAAI;AACtB,MAAIA,CAAC,CAACC,OAAN,EAAe;AACb,WAAO;AAAEC,MAAAA,KAAK,EAAEF,CAAC,CAACC,OAAX;AAAoBE,MAAAA,IAAI,EAAE;AAA1B,KAAP;AACD,GAFD,MAEO,IAAIH,CAAC,CAACI,KAAN,EAAa;AAClB,WAAO;AAAEF,MAAAA,KAAK,EAAEF,CAAC,CAACI;AAAX,KAAP;AACD,GAFM,MAEA,IAAIJ,CAAC,CAACK,SAAN,EAAiB;AACtB,WAAO;AAAEF,MAAAA,IAAI,EAAE,QAAR;AAAkBD,MAAAA,KAAK,EAAEF,CAAC,CAACK;AAA3B,KAAP;AACD;AACF,CARD;;IAUqBC,gB;;;;;;;;;;;;;;;;kEAiBL,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;;;;gBAA/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;;gBADAtB,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"}
@@ -41,6 +41,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
41
41
 
42
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
43
 
44
+ 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
+
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) { _defineProperty(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; }
47
+
44
48
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
45
49
 
46
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."); }
@@ -223,6 +227,18 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
223
227
  }));
224
228
  });
225
229
 
230
+ var createCustomLayout = function createCustomLayout(layoutObj) {
231
+ if (layoutObj) {
232
+ return {
233
+ gridTemplateColumns: "repeat(".concat(layoutObj.columns, ", minmax(min-content, 150px))"),
234
+ gridTemplateRows: "repeat(".concat(layoutObj.rows, ", minmax(40px, 60px))"),
235
+ gridAutoFlow: 'initial'
236
+ };
237
+ }
238
+
239
+ return {};
240
+ };
241
+
226
242
  var KeyPad = /*#__PURE__*/function (_React$Component) {
227
243
  _inherits(KeyPad, _React$Component);
228
244
 
@@ -273,18 +289,21 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
273
289
  className = _this$props.className,
274
290
  baseSet = _this$props.baseSet,
275
291
  additionalKeys = _this$props.additionalKeys,
292
+ layoutForKeyPad = _this$props.layoutForKeyPad,
276
293
  onFocus = _this$props.onFocus,
277
294
  mode = _this$props.mode;
278
- var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring'];
295
+ var noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];
279
296
  var keysWithoutBaseSet = noBaseSet.includes(mode);
280
297
  var allKeys = keysWithoutBaseSet ? this.flowKeys([], additionalKeys || []) : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];
281
298
 
282
299
  var shift = allKeys.length % 5 ? 1 : 0;
283
- var style = {
300
+
301
+ var style = _objectSpread({
284
302
  gridTemplateColumns: "repeat(".concat(Math.floor(allKeys.length / 5) + shift, ", minmax(min-content, 150px))")
285
- };
303
+ }, createCustomLayout(layoutForKeyPad));
304
+
286
305
  return /*#__PURE__*/_react["default"].createElement("div", {
287
- className: (0, _classnames["default"])(classes.keys, className),
306
+ className: (0, _classnames["default"])(classes.keys, className, classes[mode]),
288
307
  style: style,
289
308
  onFocus: onFocus
290
309
  }, allKeys.map(function (k, index) {
@@ -296,12 +315,12 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
296
315
  });
297
316
  }
298
317
 
299
- var common = {
318
+ var common = _objectSpread({
300
319
  onClick: onClick,
301
- className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
320
+ className: (0, _classnames["default"])(classes.labelButton, !keysWithoutBaseSet && classes[k.category], classes[k.extraClass], k.label === ',' && classes.comma, k.label === '.' && classes.dot),
302
321
  disabled: _this2.keyIsNotAllowed(k),
303
322
  key: "".concat(k.label || k.latex || k.command, "-").concat(index)
304
- };
323
+ }, k.actions || {});
305
324
 
306
325
  if (k.latex) {
307
326
  return /*#__PURE__*/_react["default"].createElement(LatexButton, _extends({
@@ -335,6 +354,7 @@ _defineProperty(KeyPad, "propTypes", {
335
354
  className: _propTypes["default"].string,
336
355
  baseSet: _propTypes["default"].array,
337
356
  additionalKeys: _propTypes["default"].array,
357
+ layoutForKeyPad: _propTypes["default"].object,
338
358
  onPress: _propTypes["default"].func.isRequired,
339
359
  onFocus: _propTypes["default"].func,
340
360
  noDecimal: _propTypes["default"].bool,
@@ -359,6 +379,9 @@ var styles = function styles(theme) {
359
379
  gridColumnGap: '0px',
360
380
  gridAutoFlow: 'column'
361
381
  },
382
+ character: {
383
+ textTransform: 'initial !important'
384
+ },
362
385
  holder: {
363
386
  position: 'relative',
364
387
  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","leftRightArrowButton","props","buttonClass","latex","classes","mqClassName","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","e","className","onClick","KeyPad","key","onPress","base","extras","transposed","_","flatten","noDecimal","write","label","baseSet","additionalKeys","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","length","style","gridTemplateColumns","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","comma","dot","disabled","keyIsNotAllowed","command","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","fontFamily","gridTemplateRows","gridRowGap","gridColumnGap","gridAutoFlow","holder","position","height","borderRadius","spacing","unit","minWidth","primary","light","operators","comparison","green"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport IconButton from '@material-ui/core/IconButton';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { lighten, fade } from '@material-ui/core/styles/colorManipulator';\nimport green from '@material-ui/core/colors/green';\nimport { sortKeys } from './keys-layout';\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport debug from 'debug';\nimport _ from 'lodash';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst LatexButton = withStyles(theme => ({\n root: {\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important'\n },\n latexButton: {\n pointerEvents: 'none',\n textTransform: 'none !important',\n '& .mq-scaled.mq-sqrt-prefix': {\n transform: 'scale(1, 0.9) !important'\n },\n '& .mq-sup-only .mq-sup': {\n marginBottom: '0.9px !important'\n },\n '& .mq-empty': {\n backgroundColor: `${fade(theme.palette.secondary.main, 0.4)} !important`\n },\n '& .mq-overline .mq-overline-inner': {\n borderTop: '2px solid black'\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n '&.mq-arrow-both': {\n '& *': {\n lineHeight: '1 !important'\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&:after': {\n fontSize: '80% !important',\n right: 'calc(-13%) !important',\n top: '-1.5em'\n },\n '&.mq-empty:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '&.mq-empty': {\n minHeight: '1.4em'\n }\n },\n '&.mq-arrow-right:before': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.25em'\n },\n '& .mq-overarrow-inner': {\n border: 'none !important'\n },\n '& .mq-overarrow-inner .mq-overarrow-inner-right': {\n display: 'none !important'\n }\n },\n '& .mq-root-block': {\n padding: '5px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:after': {\n right: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-right.mq-empty:before': {\n right: '-5px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:before': {\n left: '-6px',\n fontSize: '80% !important',\n top: '-3px'\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important'\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85\n },\n '& .mq-overarc': {\n borderTop: '2px solid black !important',\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important'\n }\n }\n },\n parallelButton: {\n fontStyle: 'italic'\n },\n leftRightArrowButton: {\n '& .mq-overarrow.mq-arrow-both': {\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important'\n },\n '&:after': {\n top: '-1.64em !important'\n }\n }\n }\n}))(props => {\n let buttonClass;\n\n if (props.latex === '\\\\parallel') {\n buttonClass = classNames(\n props.classes.latexButton,\n props.mqClassName,\n props.classes.parallelButton\n );\n } else if (props.latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n buttonClass = classNames(\n props.classes.latexButton,\n props.mqClassName,\n props.classes.leftRightArrowButton\n );\n } else {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName);\n }\n\n try {\n const MQ = MathQuill.getInterface(2);\n const span = document.createElement('span');\n span.innerHTML = '';\n const mathField = MQ.StaticMath(span);\n\n mathField.parseLatex(props.latex);\n mathField.latex(props.latex);\n } catch (e) {\n // received latex has errors - do not create button\n return <></>;\n }\n\n return (\n <Button className={classNames(props.classes.root, props.className)} onClick={props.onClick}>\n <mq.Static className={buttonClass} latex={props.latex} />\n </Button>\n );\n});\n\nexport class KeyPad extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n baseSet: PropTypes.array,\n additionalKeys: PropTypes.array,\n onPress: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n mode: PropTypes.string\n };\n static defaultProps = {\n baseSet: baseSet,\n noDecimal: false\n };\n\n buttonClick = key => {\n log('[buttonClick]', key);\n const { onPress } = this.props;\n onPress(key);\n };\n\n flowKeys = (base, extras) => {\n const transposed = [...sortKeys(base), ...sortKeys(extras)];\n return _.flatten(transposed);\n };\n\n keyIsNotAllowed = key => {\n const { noDecimal } = this.props;\n\n if (\n ((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) &&\n noDecimal\n ) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { classes, className, baseSet, additionalKeys, onFocus, mode } = this.props;\n\n const noBaseSet = [\n 'non-negative-integers',\n 'integers',\n 'decimals',\n 'fractions',\n 'item-authoring'\n ];\n\n const keysWithoutBaseSet = noBaseSet.includes(mode);\n const allKeys = keysWithoutBaseSet\n ? this.flowKeys([], additionalKeys || [])\n : this.flowKeys(baseSet, additionalKeys || []); //, ...sortKeys(additionalKeys)];\n\n const shift = allKeys.length % 5 ? 1 : 0;\n const style = {\n gridTemplateColumns: `repeat(${Math.floor(allKeys.length / 5) +\n shift}, minmax(min-content, 150px))`\n };\n return (\n <div className={classNames(classes.keys, className)} style={style} onFocus={onFocus}>\n {allKeys.map((k, index) => {\n const onClick = this.buttonClick.bind(this, k);\n\n if (!k) {\n return <span key={`empty-${index}`} />;\n }\n\n const common = {\n onClick,\n className: classNames(\n classes.labelButton,\n !keysWithoutBaseSet && classes[k.category],\n k.label === ',' && classes.comma,\n k.label === '.' && classes.dot\n ),\n disabled: this.keyIsNotAllowed(k),\n key: `${k.label || k.latex || k.command}-${index}`\n };\n\n if (k.latex) {\n return <LatexButton latex={k.latex} {...common} className={classes.latexButton} />;\n }\n\n if (k.label) {\n return <Button {...common}>{k.label}</Button>;\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <IconButton tabIndex={'-1'} {...common}>\n <Icon className={classes.icon} />\n </IconButton>\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n keys: {\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'\n },\n width: '100%',\n display: 'grid',\n gridTemplateRows: 'repeat(5, minmax(40px, 60px))',\n gridRowGap: '0px',\n gridColumnGap: '0px',\n gridAutoFlow: 'column'\n },\n holder: {\n position: 'relative',\n width: '100%',\n height: '100%',\n backgroundColor: '#cef',\n borderRadius: 0,\n padding: `${theme.spacing.unit}px 0 ${theme.spacing.unit}px 0`\n },\n labelButton: {\n minWidth: 'auto',\n fontSize: '140% !important',\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n },\n borderRadius: 0\n },\n latexButton: {\n minWidth: 'auto',\n borderRadius: 0,\n backgroundColor: lighten(theme.palette.primary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.primary.light, 0.7)\n }\n },\n base: {},\n operators: {\n backgroundColor: lighten(theme.palette.secondary.light, 0.5),\n '&:hover': {\n backgroundColor: lighten(theme.palette.secondary.light, 0.7)\n }\n },\n comparison: {\n backgroundColor: lighten(green[500], 0.5),\n '&:hover': {\n backgroundColor: lighten(green[500], 0.7)\n }\n },\n comma: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n dot: {\n fontSize: '200% !important',\n lineHeight: '100%'\n },\n icon: {\n height: '30px'\n }\n});\n\nexport default withStyles(styles)(KeyPad);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/keypad/index.jsx"],"names":["log","LatexButton","theme","root","textTransform","padding","margin","fontSize","latexButton","pointerEvents","transform","marginBottom","backgroundColor","palette","secondary","main","borderTop","width","marginTop","lineHeight","left","top","right","minHeight","border","display","paddingTop","parallelButton","fontStyle","leftRightArrowButton","props","buttonClass","latex","classes","mqClassName","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","e","className","onClick","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPad","key","onPress","base","extras","transposed","_","flatten","noDecimal","write","label","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","length","style","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","extraClass","comma","dot","disabled","keyIsNotAllowed","command","actions","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"}
@@ -287,7 +287,7 @@ var normalizeAdditionalKeys = function normalizeAdditionalKeys(additionalKeys) {
287
287
  var predefinedKey = (ALL_KEYS || []).find(function (key) {
288
288
  return latex === key.latex || latex === key.write || latex === key.command || latex === key.otherNotation;
289
289
  });
290
- return predefinedKey || additionalkey;
290
+ return !latex ? additionalkey : predefinedKey || additionalkey;
291
291
  });
292
292
  };
293
293
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/keys/grades.js"],"names":["hs","fractions","blankOverBlank","misc","percentage","vars","x","exponent","squared","squareRoot","operators","circleDot","y","subSup","subscript","xToPowerOfN","nthRoot","plusMinus","comparison","lessThan","greaterThan","lessThanEqual","greaterThanEqual","constants","pi","theta","parenthesis","brackets","absValue","notEqual","trigonometry","sin","cos","tan","geometry","degree","advancedAlgebra","out","map","arr","push","name","latex","write","log","logSubscript","ln","eulers","statisticsSet","statistics","mu","xBar","yBar","sigma","smallSigma","gradeSets","predicate","n","set","xOverBlank","xBlankBlank","logic","longDivision","digits","seven","eight","nine","four","five","six","one","two","three","zero","nav","left","right","edit","del","basicOperators","minus","decimalPoint","primeArcminute","doublePrimeArcSecond","congruentTo","similarTo","angle","measureOfAngle","triangle","notCongruentTo","notSimilar","csc","sec","cot","overline","overRightArrow","overLeftRightArrow","overArc","perpindicular","parallel","divide","halfInfinity","multiply","leftArrow","rightArrow","square","therefore","leftrightArrow","infinity","keysForGrade","number","parseInt","isNaN","match","find","gs","ALL_KEYS","Object","values","matrices","normalizeAdditionalKeys","additionalKeys","additionalkey","predefinedKey","key","command","otherNotation"],"mappings":"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","sourcesContent":["import * as comparison from './comparison';\nimport * as vars from './vars';\nimport * as fractions from './fractions';\nimport * as exponent from './exponent';\nimport * as misc from './misc';\nimport * as constants from './constants';\nimport * as trigonometry from './trigonometry';\nimport * as geometry from './geometry';\nimport * as operators from './operators';\nimport * as log from './log';\nimport * as subSup from './sub-sup';\nimport * as statistics from './statistics';\nimport * as basicOperators from './basic-operators';\nimport * as matrices from './matrices';\nimport digits from './digits';\nimport * as logic from './logic';\nimport * as nav from './navigation';\nimport * as edit from './edit';\n\nconst hs = [\n [fractions.blankOverBlank, misc.percentage, vars.x, exponent.squared, exponent.squareRoot],\n [operators.circleDot, vars.y, subSup.subscript, exponent.xToPowerOfN, exponent.nthRoot],\n [\n misc.plusMinus,\n comparison.lessThan,\n comparison.greaterThan,\n comparison.lessThanEqual,\n comparison.greaterThanEqual\n ],\n [constants.pi, vars.theta, misc.parenthesis, misc.brackets, misc.absValue],\n [misc.notEqual, trigonometry.sin, trigonometry.cos, trigonometry.tan, geometry.degree]\n];\n\nconst advancedAlgebra = (() => {\n const out = [...hs.map(arr => [...arr])];\n\n out[0].push({ name: 'i', latex: 'i', write: 'i' });\n out[1].push(log.log);\n out[2].push(log.logSubscript);\n out[3].push(log.ln);\n out[4].push(constants.eulers);\n return out;\n})();\n\nconst statisticsSet = (() => {\n const out = [...hs.map(arr => [...arr])];\n out[0].push(statistics.mu);\n out[1].push(statistics.xBar);\n out[2].push(statistics.yBar);\n out[3].push(statistics.sigma);\n out[4].push(statistics.smallSigma);\n return out;\n})();\n\nexport const gradeSets = [\n {\n predicate: n => n >= 3 && n <= 5,\n set: [\n [comparison.lessThan, comparison.greaterThan],\n [fractions.xOverBlank, fractions.xBlankBlank],\n [vars.x, logic.longDivision]\n ]\n },\n {\n predicate: n => n >= 6 && n <= 7,\n set: [\n [geometry.degree, comparison.lessThan, comparison.greaterThan],\n [operators.circleDot, comparison.lessThanEqual, comparison.greaterThanEqual],\n [vars.x, vars.y, exponent.squared, exponent.xToPowerOfN],\n [misc.plusMinus, fractions.xOverBlank, fractions.xBlankBlank, exponent.squareRoot],\n [constants.pi, misc.parenthesis, misc.absValue, exponent.nthRoot]\n ]\n },\n {\n predicate: n => n >= 8 || n === 'HS',\n set: hs\n },\n {\n predicate: 'non-negative-integers',\n set: [\n [digits.seven, digits.eight, digits.nine],\n [digits.four, digits.five, digits.six],\n [digits.one, digits.two, digits.three],\n [digits.zero, { name: '', latex: '', write: '' }, { name: '', latex: '', write: '' }],\n [nav.left, nav.right, edit.del]\n ]\n },\n {\n predicate: 'integers',\n set: [\n [digits.seven, digits.eight, digits.nine],\n [digits.four, digits.five, digits.six],\n [digits.one, digits.two, digits.three],\n [digits.zero, { name: '', latex: '', write: '' }, basicOperators.minus],\n [nav.left, nav.right, edit.del]\n ]\n },\n {\n predicate: 'decimals',\n set: [\n [digits.seven, digits.eight, digits.nine],\n [digits.four, digits.five, digits.six],\n [digits.one, digits.two, digits.three],\n [digits.zero, digits.decimalPoint, basicOperators.minus],\n [nav.left, nav.right, edit.del]\n ]\n },\n {\n predicate: 'fractions',\n set: [\n [digits.seven, digits.eight, digits.nine],\n [digits.four, digits.five, digits.six],\n [digits.one, digits.two, digits.three],\n [digits.zero, fractions.blankOverBlank, basicOperators.minus],\n [nav.left, nav.right, edit.del]\n ]\n },\n {\n predicate: 'geometry',\n set: [\n [\n fractions.blankOverBlank,\n geometry.degree,\n geometry.primeArcminute,\n geometry.doublePrimeArcSecond,\n geometry.congruentTo,\n geometry.similarTo\n ],\n [\n operators.circleDot,\n geometry.angle,\n geometry.measureOfAngle,\n geometry.triangle,\n geometry.notCongruentTo,\n misc.notSimilar\n ],\n [\n trigonometry.sin,\n trigonometry.cos,\n trigonometry.tan,\n constants.pi,\n exponent.squareRoot,\n exponent.nthRoot\n ],\n [\n trigonometry.csc,\n trigonometry.sec,\n trigonometry.cot,\n vars.theta,\n subSup.subscript,\n exponent.xToPowerOfN\n ],\n [\n geometry.overline,\n geometry.overRightArrow,\n geometry.overLeftRightArrow,\n geometry.overArc,\n geometry.perpindicular,\n geometry.parallel\n ]\n ]\n },\n // {\n // predicate: 'miscellaneous',\n // set: [\n // [\n // subSup.superscript,\n // subSup.subscript,\n // fractions.blankOverBlank,\n // misc.percentage,\n // geometry.segment,\n // geometry.parallel\n // ],\n // [\n // exponent.squareRoot,\n // exponent.nthRoot,\n // misc.absValue,\n // misc.parenthesis,\n // geometry.perpindicular,\n // geometry.angle\n // ],\n // [\n // comparison.lessThan,\n // comparison.greaterThan,\n // geometry.degree,\n // misc.approx,\n // geometry.measureOfAngle,\n // geometry.triangle\n // ],\n // [\n // misc.nApprox,\n // misc.notEqual,\n // geometry.congruentTo,\n // geometry.notCongruentTo,\n // geometry.parallelogram,\n // geometry.circledDot\n // ],\n // [\n // misc.similar,\n // misc.notSimilar,\n // comparison.lessThanEqual,\n // comparison.greaterThanEqual,\n // vars.x,\n // vars.y\n // ]\n // ]\n // },\n // {\n // predicate: 'everything',\n // set: [\n // [\n // subSup.superscript,\n // subSup.subscript,\n // fractions.blankOverBlank,\n // misc.percentage,\n // geometry.segment,\n // geometry.parallel\n // ],\n // [\n // exponent.squareRoot,\n // exponent.nthRoot,\n // misc.absValue,\n // misc.parenthesis,\n // geometry.perpindicular,\n // geometry.angle\n // ],\n // [\n // comparison.lessThan,\n // comparison.greaterThan,\n // geometry.degree,\n // misc.approx,\n // geometry.measureOfAngle,\n // geometry.triangle\n // ],\n // [\n // misc.nApprox,\n // misc.notEqual,\n // geometry.congruentTo,\n // geometry.notCongruentTo,\n // geometry.parallelogram,\n // geometry.circledDot\n // ],\n // [\n // misc.similar,\n // misc.notSimilar,\n // comparison.lessThanEqual,\n // comparison.greaterThanEqual,\n // vars.x,\n // vars.y\n // ]\n // ]\n // },\n {\n predicate: 'advanced-algebra',\n set: advancedAlgebra\n },\n {\n predicate: 'statistics',\n set: statisticsSet\n },\n {\n predicate: 'item-authoring',\n set: [\n [\n basicOperators.divide,\n fractions.blankOverBlank,\n logic.longDivision,\n constants.halfInfinity,\n exponent.squared,\n exponent.squareRoot,\n geometry.overline,\n geometry.overRightArrow,\n geometry.overLeftRightArrow,\n log.log\n ],\n [\n basicOperators.multiply,\n operators.circleDot,\n { name: '', latex: '', write: '' },\n subSup.subscript,\n exponent.xToPowerOfN,\n exponent.nthRoot,\n geometry.perpindicular,\n geometry.parallel,\n geometry.overArc,\n log.logSubscript\n ],\n [\n misc.plusMinus,\n constants.pi,\n vars.theta,\n geometry.degree,\n geometry.angle,\n geometry.leftArrow,\n geometry.rightArrow,\n geometry.triangle,\n geometry.square,\n log.ln\n ],\n [\n misc.notEqual,\n misc.absValue,\n statistics.smallSigma,\n statistics.mu,\n logic.therefore,\n statistics.sigma,\n geometry.leftrightArrow,\n trigonometry.sin,\n trigonometry.cos,\n trigonometry.tan\n ],\n [\n comparison.lessThanEqual,\n comparison.greaterThanEqual,\n { name: '', latex: '', write: '' },\n { name: '', latex: '', write: '' },\n constants.infinity,\n { name: '', latex: '', write: '' },\n { name: '', latex: '', write: '' },\n trigonometry.csc,\n trigonometry.sec,\n trigonometry.cot\n ]\n ]\n }\n];\n\nexport const keysForGrade = n => {\n const number = parseInt(n, 10);\n n = isNaN(number) ? n : number;\n if (!n) {\n return [];\n }\n\n const match = gradeSets.find(gs => {\n if (typeof gs.predicate === 'string') {\n return gs.predicate === n;\n } else {\n return gs.predicate(n);\n }\n });\n\n if (match) {\n return match.set || [];\n }\n};\n\nconst ALL_KEYS = [\n ...Object.values(basicOperators),\n ...Object.values(comparison),\n ...Object.values(constants),\n ...Object.values(digits),\n ...Object.values(exponent),\n ...Object.values(fractions),\n ...Object.values(geometry),\n ...Object.values(log),\n ...Object.values(matrices),\n ...Object.values(misc),\n ...Object.values(operators),\n ...Object.values(statistics),\n ...Object.values(subSup),\n ...Object.values(trigonometry),\n ...Object.values(vars)\n];\n\nexport const normalizeAdditionalKeys = additionalKeys => {\n return (additionalKeys || []).map(additionalkey => {\n const { latex } = additionalkey;\n const predefinedKey = (ALL_KEYS || []).find(\n key =>\n latex === key.latex ||\n latex === key.write ||\n latex === key.command ||\n latex === key.otherNotation\n );\n\n return predefinedKey || additionalkey;\n });\n};\n"],"file":"grades.js"}
1
+ {"version":3,"sources":["../../src/keys/grades.js"],"names":["hs","fractions","blankOverBlank","misc","percentage","vars","x","exponent","squared","squareRoot","operators","circleDot","y","subSup","subscript","xToPowerOfN","nthRoot","plusMinus","comparison","lessThan","greaterThan","lessThanEqual","greaterThanEqual","constants","pi","theta","parenthesis","brackets","absValue","notEqual","trigonometry","sin","cos","tan","geometry","degree","advancedAlgebra","out","map","arr","push","name","latex","write","log","logSubscript","ln","eulers","statisticsSet","statistics","mu","xBar","yBar","sigma","smallSigma","gradeSets","predicate","n","set","xOverBlank","xBlankBlank","logic","longDivision","digits","seven","eight","nine","four","five","six","one","two","three","zero","nav","left","right","edit","del","basicOperators","minus","decimalPoint","primeArcminute","doublePrimeArcSecond","congruentTo","similarTo","angle","measureOfAngle","triangle","notCongruentTo","notSimilar","csc","sec","cot","overline","overRightArrow","overLeftRightArrow","overArc","perpindicular","parallel","divide","halfInfinity","multiply","leftArrow","rightArrow","square","therefore","leftrightArrow","infinity","keysForGrade","number","parseInt","isNaN","match","find","gs","ALL_KEYS","Object","values","matrices","normalizeAdditionalKeys","additionalKeys","additionalkey","predefinedKey","key","command","otherNotation"],"mappings":"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","sourcesContent":["import * as comparison from './comparison';\nimport * as vars from './vars';\nimport * as fractions from './fractions';\nimport * as exponent from './exponent';\nimport * as misc from './misc';\nimport * as constants from './constants';\nimport * as trigonometry from './trigonometry';\nimport * as geometry from './geometry';\nimport * as operators from './operators';\nimport * as log from './log';\nimport * as subSup from './sub-sup';\nimport * as statistics from './statistics';\nimport * as basicOperators from './basic-operators';\nimport * as matrices from './matrices';\nimport digits from './digits';\nimport * as logic from './logic';\nimport * as nav from './navigation';\nimport * as edit from './edit';\n\nconst hs = [\n [fractions.blankOverBlank, misc.percentage, vars.x, exponent.squared, exponent.squareRoot],\n [operators.circleDot, vars.y, subSup.subscript, exponent.xToPowerOfN, exponent.nthRoot],\n [\n misc.plusMinus,\n comparison.lessThan,\n comparison.greaterThan,\n comparison.lessThanEqual,\n comparison.greaterThanEqual\n ],\n [constants.pi, vars.theta, misc.parenthesis, misc.brackets, misc.absValue],\n [misc.notEqual, trigonometry.sin, trigonometry.cos, trigonometry.tan, geometry.degree]\n];\n\nconst advancedAlgebra = (() => {\n const out = [...hs.map(arr => [...arr])];\n\n out[0].push({ name: 'i', latex: 'i', write: 'i' });\n out[1].push(log.log);\n out[2].push(log.logSubscript);\n out[3].push(log.ln);\n out[4].push(constants.eulers);\n return out;\n})();\n\nconst statisticsSet = (() => {\n const out = [...hs.map(arr => [...arr])];\n out[0].push(statistics.mu);\n out[1].push(statistics.xBar);\n out[2].push(statistics.yBar);\n out[3].push(statistics.sigma);\n out[4].push(statistics.smallSigma);\n return out;\n})();\n\nexport const gradeSets = [\n {\n predicate: n => n >= 3 && n <= 5,\n set: [\n [comparison.lessThan, comparison.greaterThan],\n [fractions.xOverBlank, fractions.xBlankBlank],\n [vars.x, logic.longDivision]\n ]\n },\n {\n predicate: n => n >= 6 && n <= 7,\n set: [\n [geometry.degree, comparison.lessThan, comparison.greaterThan],\n [operators.circleDot, comparison.lessThanEqual, comparison.greaterThanEqual],\n [vars.x, vars.y, exponent.squared, exponent.xToPowerOfN],\n [misc.plusMinus, fractions.xOverBlank, fractions.xBlankBlank, exponent.squareRoot],\n [constants.pi, misc.parenthesis, misc.absValue, exponent.nthRoot]\n ]\n },\n {\n predicate: n => n >= 8 || n === 'HS',\n set: hs\n },\n {\n predicate: 'non-negative-integers',\n set: [\n [digits.seven, digits.eight, digits.nine],\n [digits.four, digits.five, digits.six],\n [digits.one, digits.two, digits.three],\n [digits.zero, { name: '', latex: '', write: '' }, { name: '', latex: '', write: '' }],\n [nav.left, nav.right, edit.del]\n ]\n },\n {\n predicate: 'integers',\n set: [\n [digits.seven, digits.eight, digits.nine],\n [digits.four, digits.five, digits.six],\n [digits.one, digits.two, digits.three],\n [digits.zero, { name: '', latex: '', write: '' }, basicOperators.minus],\n [nav.left, nav.right, edit.del]\n ]\n },\n {\n predicate: 'decimals',\n set: [\n [digits.seven, digits.eight, digits.nine],\n [digits.four, digits.five, digits.six],\n [digits.one, digits.two, digits.three],\n [digits.zero, digits.decimalPoint, basicOperators.minus],\n [nav.left, nav.right, edit.del]\n ]\n },\n {\n predicate: 'fractions',\n set: [\n [digits.seven, digits.eight, digits.nine],\n [digits.four, digits.five, digits.six],\n [digits.one, digits.two, digits.three],\n [digits.zero, fractions.blankOverBlank, basicOperators.minus],\n [nav.left, nav.right, edit.del]\n ]\n },\n {\n predicate: 'geometry',\n set: [\n [\n fractions.blankOverBlank,\n geometry.degree,\n geometry.primeArcminute,\n geometry.doublePrimeArcSecond,\n geometry.congruentTo,\n geometry.similarTo\n ],\n [\n operators.circleDot,\n geometry.angle,\n geometry.measureOfAngle,\n geometry.triangle,\n geometry.notCongruentTo,\n misc.notSimilar\n ],\n [\n trigonometry.sin,\n trigonometry.cos,\n trigonometry.tan,\n constants.pi,\n exponent.squareRoot,\n exponent.nthRoot\n ],\n [\n trigonometry.csc,\n trigonometry.sec,\n trigonometry.cot,\n vars.theta,\n subSup.subscript,\n exponent.xToPowerOfN\n ],\n [\n geometry.overline,\n geometry.overRightArrow,\n geometry.overLeftRightArrow,\n geometry.overArc,\n geometry.perpindicular,\n geometry.parallel\n ]\n ]\n },\n // {\n // predicate: 'miscellaneous',\n // set: [\n // [\n // subSup.superscript,\n // subSup.subscript,\n // fractions.blankOverBlank,\n // misc.percentage,\n // geometry.segment,\n // geometry.parallel\n // ],\n // [\n // exponent.squareRoot,\n // exponent.nthRoot,\n // misc.absValue,\n // misc.parenthesis,\n // geometry.perpindicular,\n // geometry.angle\n // ],\n // [\n // comparison.lessThan,\n // comparison.greaterThan,\n // geometry.degree,\n // misc.approx,\n // geometry.measureOfAngle,\n // geometry.triangle\n // ],\n // [\n // misc.nApprox,\n // misc.notEqual,\n // geometry.congruentTo,\n // geometry.notCongruentTo,\n // geometry.parallelogram,\n // geometry.circledDot\n // ],\n // [\n // misc.similar,\n // misc.notSimilar,\n // comparison.lessThanEqual,\n // comparison.greaterThanEqual,\n // vars.x,\n // vars.y\n // ]\n // ]\n // },\n // {\n // predicate: 'everything',\n // set: [\n // [\n // subSup.superscript,\n // subSup.subscript,\n // fractions.blankOverBlank,\n // misc.percentage,\n // geometry.segment,\n // geometry.parallel\n // ],\n // [\n // exponent.squareRoot,\n // exponent.nthRoot,\n // misc.absValue,\n // misc.parenthesis,\n // geometry.perpindicular,\n // geometry.angle\n // ],\n // [\n // comparison.lessThan,\n // comparison.greaterThan,\n // geometry.degree,\n // misc.approx,\n // geometry.measureOfAngle,\n // geometry.triangle\n // ],\n // [\n // misc.nApprox,\n // misc.notEqual,\n // geometry.congruentTo,\n // geometry.notCongruentTo,\n // geometry.parallelogram,\n // geometry.circledDot\n // ],\n // [\n // misc.similar,\n // misc.notSimilar,\n // comparison.lessThanEqual,\n // comparison.greaterThanEqual,\n // vars.x,\n // vars.y\n // ]\n // ]\n // },\n {\n predicate: 'advanced-algebra',\n set: advancedAlgebra\n },\n {\n predicate: 'statistics',\n set: statisticsSet\n },\n {\n predicate: 'item-authoring',\n set: [\n [\n basicOperators.divide,\n fractions.blankOverBlank,\n logic.longDivision,\n constants.halfInfinity,\n exponent.squared,\n exponent.squareRoot,\n geometry.overline,\n geometry.overRightArrow,\n geometry.overLeftRightArrow,\n log.log\n ],\n [\n basicOperators.multiply,\n operators.circleDot,\n { name: '', latex: '', write: '' },\n subSup.subscript,\n exponent.xToPowerOfN,\n exponent.nthRoot,\n geometry.perpindicular,\n geometry.parallel,\n geometry.overArc,\n log.logSubscript\n ],\n [\n misc.plusMinus,\n constants.pi,\n vars.theta,\n geometry.degree,\n geometry.angle,\n geometry.leftArrow,\n geometry.rightArrow,\n geometry.triangle,\n geometry.square,\n log.ln\n ],\n [\n misc.notEqual,\n misc.absValue,\n statistics.smallSigma,\n statistics.mu,\n logic.therefore,\n statistics.sigma,\n geometry.leftrightArrow,\n trigonometry.sin,\n trigonometry.cos,\n trigonometry.tan\n ],\n [\n comparison.lessThanEqual,\n comparison.greaterThanEqual,\n { name: '', latex: '', write: '' },\n { name: '', latex: '', write: '' },\n constants.infinity,\n { name: '', latex: '', write: '' },\n { name: '', latex: '', write: '' },\n trigonometry.csc,\n trigonometry.sec,\n trigonometry.cot\n ]\n ]\n }\n];\n\nexport const keysForGrade = n => {\n const number = parseInt(n, 10);\n n = isNaN(number) ? n : number;\n if (!n) {\n return [];\n }\n\n const match = gradeSets.find(gs => {\n if (typeof gs.predicate === 'string') {\n return gs.predicate === n;\n } else {\n return gs.predicate(n);\n }\n });\n\n if (match) {\n return match.set || [];\n }\n};\n\nconst ALL_KEYS = [\n ...Object.values(basicOperators),\n ...Object.values(comparison),\n ...Object.values(constants),\n ...Object.values(digits),\n ...Object.values(exponent),\n ...Object.values(fractions),\n ...Object.values(geometry),\n ...Object.values(log),\n ...Object.values(matrices),\n ...Object.values(misc),\n ...Object.values(operators),\n ...Object.values(statistics),\n ...Object.values(subSup),\n ...Object.values(trigonometry),\n ...Object.values(vars)\n];\n\nexport const normalizeAdditionalKeys = additionalKeys => {\n return (additionalKeys || []).map(additionalkey => {\n const { latex } = additionalkey;\n const predefinedKey = (ALL_KEYS || []).find(\n key =>\n latex === key.latex ||\n latex === key.write ||\n latex === key.command ||\n latex === key.otherNotation\n );\n\n return !latex ? additionalkey : predefinedKey || additionalkey;\n });\n};\n"],"file":"grades.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "6.6.9",
6
+ "version": "6.6.10",
7
7
  "main": "lib/index.js",
8
8
  "module": "src/index.jsx",
9
9
  "dependencies": {
@@ -22,5 +22,5 @@
22
22
  "react-dom": "^16.9.0"
23
23
  },
24
24
  "scripts": {},
25
- "gitHead": "c37429328de4f87b6a7095de6e671c2cc53dd7f5"
25
+ "gitHead": "531a7f4895323a9d524cfb96f7e26a5f1ab9f7c1"
26
26
  }
@@ -18,6 +18,7 @@ export default class HorizontalKeypad extends React.Component {
18
18
  static propTypes = {
19
19
  className: PropTypes.string,
20
20
  mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
21
+ layoutForKeyPad: PropTypes.object,
21
22
  onClick: PropTypes.func.isRequired,
22
23
  onFocus: PropTypes.func,
23
24
  noDecimal: PropTypes.bool,
@@ -37,7 +38,7 @@ export default class HorizontalKeypad extends React.Component {
37
38
  };
38
39
 
39
40
  render() {
40
- const { mode, onFocus, noDecimal, className, additionalKeys } = this.props;
41
+ const { mode, onFocus, noDecimal, className, additionalKeys, layoutForKeyPad } = this.props;
41
42
  const normalizedKeys = normalizeAdditionalKeys(additionalKeys);
42
43
 
43
44
  return (
@@ -45,6 +46,7 @@ export default class HorizontalKeypad extends React.Component {
45
46
  className={className}
46
47
  onFocus={onFocus}
47
48
  noDecimal={noDecimal}
49
+ layoutForKeyPad={layoutForKeyPad}
48
50
  additionalKeys={extendKeySet(keysForGrade(mode), normalizedKeys)}
49
51
  onPress={this.keypadPress}
50
52
  mode={mode}
@@ -166,12 +166,25 @@ const LatexButton = withStyles(theme => ({
166
166
  );
167
167
  });
168
168
 
169
+ const createCustomLayout = layoutObj => {
170
+ if (layoutObj) {
171
+ return {
172
+ gridTemplateColumns: `repeat(${layoutObj.columns}, minmax(min-content, 150px))`,
173
+ gridTemplateRows: `repeat(${layoutObj.rows}, minmax(40px, 60px))`,
174
+ gridAutoFlow: 'initial'
175
+ };
176
+ }
177
+
178
+ return {};
179
+ };
180
+
169
181
  export class KeyPad extends React.Component {
170
182
  static propTypes = {
171
183
  classes: PropTypes.object.isRequired,
172
184
  className: PropTypes.string,
173
185
  baseSet: PropTypes.array,
174
186
  additionalKeys: PropTypes.array,
187
+ layoutForKeyPad: PropTypes.object,
175
188
  onPress: PropTypes.func.isRequired,
176
189
  onFocus: PropTypes.func,
177
190
  noDecimal: PropTypes.bool,
@@ -207,14 +220,23 @@ export class KeyPad extends React.Component {
207
220
  };
208
221
 
209
222
  render() {
210
- const { classes, className, baseSet, additionalKeys, onFocus, mode } = this.props;
223
+ const {
224
+ classes,
225
+ className,
226
+ baseSet,
227
+ additionalKeys,
228
+ layoutForKeyPad,
229
+ onFocus,
230
+ mode
231
+ } = this.props;
211
232
 
212
233
  const noBaseSet = [
213
234
  'non-negative-integers',
214
235
  'integers',
215
236
  'decimals',
216
237
  'fractions',
217
- 'item-authoring'
238
+ 'item-authoring',
239
+ 'language'
218
240
  ];
219
241
 
220
242
  const keysWithoutBaseSet = noBaseSet.includes(mode);
@@ -225,10 +247,15 @@ export class KeyPad extends React.Component {
225
247
  const shift = allKeys.length % 5 ? 1 : 0;
226
248
  const style = {
227
249
  gridTemplateColumns: `repeat(${Math.floor(allKeys.length / 5) +
228
- shift}, minmax(min-content, 150px))`
250
+ shift}, minmax(min-content, 150px))`,
251
+ ...createCustomLayout(layoutForKeyPad)
229
252
  };
230
253
  return (
231
- <div className={classNames(classes.keys, className)} style={style} onFocus={onFocus}>
254
+ <div
255
+ className={classNames(classes.keys, className, classes[mode])}
256
+ style={style}
257
+ onFocus={onFocus}
258
+ >
232
259
  {allKeys.map((k, index) => {
233
260
  const onClick = this.buttonClick.bind(this, k);
234
261
 
@@ -241,11 +268,13 @@ export class KeyPad extends React.Component {
241
268
  className: classNames(
242
269
  classes.labelButton,
243
270
  !keysWithoutBaseSet && classes[k.category],
271
+ classes[k.extraClass],
244
272
  k.label === ',' && classes.comma,
245
273
  k.label === '.' && classes.dot
246
274
  ),
247
275
  disabled: this.keyIsNotAllowed(k),
248
- key: `${k.label || k.latex || k.command}-${index}`
276
+ key: `${k.label || k.latex || k.command}-${index}`,
277
+ ...(k.actions || {})
249
278
  };
250
279
 
251
280
  if (k.latex) {
@@ -281,6 +310,9 @@ const styles = theme => ({
281
310
  gridColumnGap: '0px',
282
311
  gridAutoFlow: 'column'
283
312
  },
313
+ character: {
314
+ textTransform: 'initial !important'
315
+ },
284
316
  holder: {
285
317
  position: 'relative',
286
318
  width: '100%',
@@ -374,6 +374,6 @@ export const normalizeAdditionalKeys = additionalKeys => {
374
374
  latex === key.otherNotation
375
375
  );
376
376
 
377
- return predefinedKey || additionalkey;
377
+ return !latex ? additionalkey : predefinedKey || additionalkey;
378
378
  });
379
379
  };