@pie-lib/math-input 6.11.4 → 6.11.5-next.1844

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 (48) hide show
  1. package/CHANGELOG.json +6 -1536
  2. package/CHANGELOG.md +178 -117
  3. package/NEXT.CHANGELOG.json +1 -0
  4. package/lib/horizontal-keypad.js +9 -3
  5. package/lib/horizontal-keypad.js.map +1 -1
  6. package/lib/index.js +10 -14
  7. package/lib/index.js.map +1 -1
  8. package/lib/keypad/index.js +95 -24
  9. package/lib/keypad/index.js.map +1 -1
  10. package/lib/keys/geometry.js +4 -2
  11. package/lib/keys/geometry.js.map +1 -1
  12. package/lib/keys/grades.js +12 -0
  13. package/lib/keys/grades.js.map +1 -1
  14. package/lib/keys/log.js +1 -1
  15. package/lib/keys/log.js.map +1 -1
  16. package/lib/mq/common-mq-styles.js +110 -0
  17. package/lib/mq/common-mq-styles.js.map +1 -0
  18. package/lib/mq/index.js +8 -0
  19. package/lib/mq/index.js.map +1 -1
  20. package/lib/mq/input.js +12 -10
  21. package/lib/mq/input.js.map +1 -1
  22. package/lib/mq/static.js +198 -75
  23. package/lib/mq/static.js.map +1 -1
  24. package/lib/shared/constants.js +16 -0
  25. package/lib/updateSpans.js +23 -0
  26. package/lib/updateSpans.js.map +1 -0
  27. package/package.json +4 -2
  28. package/src/__tests__/__snapshots__/math-input-test.jsx.snap +152 -0
  29. package/src/__tests__/math-input-test.jsx +85 -0
  30. package/src/horizontal-keypad.jsx +14 -1
  31. package/src/index.jsx +1 -10
  32. package/src/keypad/__tests__/__snapshots__/index.test.jsx.snap +193 -0
  33. package/src/keypad/__tests__/index.test.jsx +24 -0
  34. package/src/keypad/__tests__/keys-layout.test.js +15 -0
  35. package/src/keypad/index.jsx +99 -15
  36. package/src/keys/__tests__/utils.test.js +57 -0
  37. package/src/keys/geometry.js +6 -2
  38. package/src/keys/grades.js +11 -0
  39. package/src/keys/log.js +1 -1
  40. package/src/mq/__tests__/__snapshots__/input.test.jsx.snap +9 -0
  41. package/src/mq/__tests__/input.test.jsx +92 -0
  42. package/src/mq/__tests__/static.test.jsx +57 -0
  43. package/src/mq/common-mq-styles.js +105 -0
  44. package/src/mq/index.js +2 -1
  45. package/src/mq/input.jsx +22 -9
  46. package/src/mq/static.jsx +142 -13
  47. package/src/updateSpans.js +15 -0
  48. package/README.md +0 -27
package/lib/index.js CHANGED
@@ -20,10 +20,18 @@ Object.defineProperty(exports, "keysForGrade", {
20
20
  return _grades.keysForGrade;
21
21
  }
22
22
  });
23
- exports.updateSpans = exports.removeBrackets = exports.mq = void 0;
23
+ exports.removeBrackets = exports.mq = void 0;
24
+ Object.defineProperty(exports, "updateSpans", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _updateSpans.updateSpans;
28
+ }
29
+ });
24
30
 
25
31
  var _grades = require("./keys/grades");
26
32
 
33
+ var _updateSpans = require("./updateSpans");
34
+
27
35
  var keys = _interopRequireWildcard(require("./keys"));
28
36
 
29
37
  exports.keys = keys;
@@ -62,19 +70,7 @@ exports.addBrackets = addBrackets;
62
70
 
63
71
  var removeBrackets = function removeBrackets(s) {
64
72
  return rmRightBracket(rmLeftBracket(s));
65
- }; // increase the font of parallel notation
66
-
67
-
68
- exports.removeBrackets = removeBrackets;
69
-
70
- var updateSpans = function updateSpans() {
71
- var spans = Array.from(document.querySelectorAll('span[mathquill-command-id]'));
72
- (spans || []).forEach(function (span) {
73
- if (span && span.innerText === '∥' && span.className !== 'mq-editable-field') {
74
- span.style.fontSize = '32px';
75
- }
76
- });
77
73
  };
78
74
 
79
- exports.updateSpans = updateSpans;
75
+ exports.removeBrackets = removeBrackets;
80
76
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.jsx"],"names":["addLeftBracket","s","indexOf","addRightBracket","length","rmLeftBracket","substring","rmRightBracket","addBrackets","removeBrackets","updateSpans","spans","Array","from","document","querySelectorAll","forEach","span","innerText","className","style","fontSize"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAoBA;;;;AAEA;;AAEA;;;;;;;;AAtBA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqB,CAArB,GAAyBD,CAAzB,gBAAmCA,CAAnC,CAAR;AAAA,CAAvB;;AACA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAACF,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqBD,CAAC,CAACG,MAAF,GAAW,CAAhC,GAAoCH,CAApC,aAA2CA,CAA3C,QAAR;AAAA,CAAxB;;AACA,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAACJ,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqB,CAArB,GAAyBD,CAAC,CAACK,SAAF,CAAY,CAAZ,CAAzB,GAA0CL,CAAlD;AAAA,CAAtB;;AACA,IAAMM,cAAc,GAAG,SAAjBA,cAAiB,CAACN,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqBD,CAAC,CAACG,MAAF,GAAW,CAAhC,GAAoCH,CAAC,CAACK,SAAF,CAAY,CAAZ,EAAeL,CAAC,CAACG,MAAF,GAAW,CAA1B,CAApC,GAAmEH,CAA3E;AAAA,CAAvB;;AAEA,IAAMO,WAAW,GAAG,SAAdA,WAAc,CAACP,CAAD;AAAA,SAAOE,eAAe,CAACH,cAAc,CAACC,CAAD,CAAf,CAAtB;AAAA,CAApB;;;;AACA,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAACR,CAAD;AAAA,SAAOM,cAAc,CAACF,aAAa,CAACJ,CAAD,CAAd,CAArB;AAAA,CAAvB,C,CAEA;;;;;AACA,IAAMS,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,MAAMC,KAAK,GAAGC,KAAK,CAACC,IAAN,CAAWC,QAAQ,CAACC,gBAAT,CAA0B,4BAA1B,CAAX,CAAd;AACA,GAACJ,KAAK,IAAI,EAAV,EAAcK,OAAd,CAAsB,UAACC,IAAD,EAAU;AAC9B,QAAIA,IAAI,IAAIA,IAAI,CAACC,SAAL,KAAmB,GAA3B,IAAkCD,IAAI,CAACE,SAAL,KAAmB,mBAAzD,EAA8E;AAC5EF,MAAAA,IAAI,CAACG,KAAL,CAAWC,QAAX,GAAsB,MAAtB;AACD;AACF,GAJD;AAKD,CAPD","sourcesContent":["import { keysForGrade } from './keys/grades';\n\nconst addLeftBracket = (s) => (s.indexOf('\\\\(') === 0 ? s : `\\\\(${s}`);\nconst addRightBracket = (s) => (s.indexOf('\\\\)') === s.length - 2 ? s : `${s}\\\\)`);\nconst rmLeftBracket = (s) => (s.indexOf('\\\\(') === 0 ? s.substring(2) : s);\nconst rmRightBracket = (s) => (s.indexOf('\\\\)') === s.length - 2 ? s.substring(0, s.length - 2) : s);\n\nconst addBrackets = (s) => addRightBracket(addLeftBracket(s));\nconst removeBrackets = (s) => rmRightBracket(rmLeftBracket(s));\n\n// increase the font of parallel notation\nconst updateSpans = () => {\n const spans = Array.from(document.querySelectorAll('span[mathquill-command-id]'));\n (spans || []).forEach((span) => {\n if (span && span.innerText === '∥' && span.className !== 'mq-editable-field') {\n span.style.fontSize = '32px';\n }\n });\n};\n\nimport * as keys from './keys';\n\nimport HorizontalKeypad from './horizontal-keypad';\n\nimport * as mq from './mq';\n\nexport { keysForGrade, addBrackets, removeBrackets, keys, HorizontalKeypad, mq, updateSpans };\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.jsx"],"names":["addLeftBracket","s","indexOf","addRightBracket","length","rmLeftBracket","substring","rmRightBracket","addBrackets","removeBrackets"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAUA;;;;AAEA;;AAEA;;;;;;;;AAZA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqB,CAArB,GAAyBD,CAAzB,gBAAmCA,CAAnC,CAAR;AAAA,CAAvB;;AACA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAACF,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqBD,CAAC,CAACG,MAAF,GAAW,CAAhC,GAAoCH,CAApC,aAA2CA,CAA3C,QAAR;AAAA,CAAxB;;AACA,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAACJ,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqB,CAArB,GAAyBD,CAAC,CAACK,SAAF,CAAY,CAAZ,CAAzB,GAA0CL,CAAlD;AAAA,CAAtB;;AACA,IAAMM,cAAc,GAAG,SAAjBA,cAAiB,CAACN,CAAD;AAAA,SAAQA,CAAC,CAACC,OAAF,CAAU,KAAV,MAAqBD,CAAC,CAACG,MAAF,GAAW,CAAhC,GAAoCH,CAAC,CAACK,SAAF,CAAY,CAAZ,EAAeL,CAAC,CAACG,MAAF,GAAW,CAA1B,CAApC,GAAmEH,CAA3E;AAAA,CAAvB;;AAEA,IAAMO,WAAW,GAAG,SAAdA,WAAc,CAACP,CAAD;AAAA,SAAOE,eAAe,CAACH,cAAc,CAACC,CAAD,CAAf,CAAtB;AAAA,CAApB;;;;AACA,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAACR,CAAD;AAAA,SAAOM,cAAc,CAACF,aAAa,CAACJ,CAAD,CAAd,CAArB;AAAA,CAAvB","sourcesContent":["import { keysForGrade } from './keys/grades';\nimport { updateSpans } from './updateSpans';\n\nconst addLeftBracket = (s) => (s.indexOf('\\\\(') === 0 ? s : `\\\\(${s}`);\nconst addRightBracket = (s) => (s.indexOf('\\\\)') === s.length - 2 ? s : `${s}\\\\)`);\nconst rmLeftBracket = (s) => (s.indexOf('\\\\(') === 0 ? s.substring(2) : s);\nconst rmRightBracket = (s) => (s.indexOf('\\\\)') === s.length - 2 ? s.substring(0, s.length - 2) : s);\n\nconst addBrackets = (s) => addRightBracket(addLeftBracket(s));\nconst removeBrackets = (s) => rmRightBracket(rmLeftBracket(s));\n\nimport * as keys from './keys';\n\nimport HorizontalKeypad from './horizontal-keypad';\n\nimport * as mq from './mq';\n\nexport { keysForGrade, addBrackets, removeBrackets, keys, HorizontalKeypad, mq, updateSpans };\n"],"file":"index.js"}
@@ -43,17 +43,21 @@ var _colorManipulator = require("@material-ui/core/styles/colorManipulator");
43
43
 
44
44
  var _green = _interopRequireDefault(require("@material-ui/core/colors/green"));
45
45
 
46
- var _keysLayout = require("./keys-layout");
46
+ var _debug = _interopRequireDefault(require("debug"));
47
+
48
+ var _lodash = _interopRequireDefault(require("lodash"));
49
+
50
+ var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
47
51
 
48
52
  var mq = _interopRequireWildcard(require("../mq"));
49
53
 
50
54
  var _keys = require("../keys");
51
55
 
52
- var _debug = _interopRequireDefault(require("debug"));
56
+ var _constants = _interopRequireDefault(require("./../shared/constants"));
53
57
 
54
- var _lodash = _interopRequireDefault(require("lodash"));
58
+ var _commonMqStyles = require("../mq/common-mq-styles");
55
59
 
56
- var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
60
+ var _keysLayout = require("./keys-layout");
57
61
 
58
62
  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); }
59
63
 
@@ -91,6 +95,10 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
91
95
  '& .mq-overline .mq-overline-inner': {
92
96
  borderTop: '2px solid black'
93
97
  },
98
+ '& .mq-non-leaf.mq-overline': {
99
+ borderTop: 'none !important' // fixing PD-4873 - in OT, it has border-top 1px and adds extra line
100
+
101
+ },
94
102
  '& .mq-overarrow': {
95
103
  width: '30px',
96
104
  marginTop: '0 !important',
@@ -99,12 +107,14 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
99
107
  '&.mq-arrow-both': {
100
108
  top: '0px !important',
101
109
  '& *': {
102
- lineHeight: '1 !important'
110
+ lineHeight: '1 !important',
111
+ borderTop: 'none !important' // fixing PD-4873 - in OT, it has border-top 1px and adds extra line,
112
+
103
113
  },
104
114
  '&:before': {
105
115
  fontSize: '80%',
106
- left: 'calc(-13%)',
107
- top: '-0.31em'
116
+ left: 'calc(-13%) !important',
117
+ top: '-0.31em !important'
108
118
  },
109
119
  '&:after': {
110
120
  fontSize: '80% !important',
@@ -127,8 +137,8 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
127
137
  },
128
138
  '&.mq-arrow-right:before': {
129
139
  fontSize: '80%',
130
- right: 'calc(-13%)',
131
- top: '-0.26em'
140
+ right: 'calc(-13%) !important',
141
+ top: '-0.26em !important'
132
142
  },
133
143
  '& .mq-overarrow-inner': {
134
144
  border: 'none !important'
@@ -164,6 +174,10 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
164
174
  },
165
175
  '& .mq-overarc': {
166
176
  borderTop: '2px solid black !important',
177
+ '& .mq-overline': {
178
+ borderTop: 'none !important' // fixing PD-4873 - in OT, it has border-top 1px and adds extra line
179
+
180
+ },
167
181
  '& .mq-overline-inner': {
168
182
  borderTop: 'none !important',
169
183
  paddingTop: '0 !important'
@@ -171,7 +185,7 @@ var LatexButton = (0, _styles.withStyles)(function (theme) {
171
185
  }
172
186
  },
173
187
  parallelButton: {
174
- fontStyle: 'italic'
188
+ fontStyle: 'italic !important'
175
189
  },
176
190
  leftRightArrowButton: {
177
191
  '& .mq-overarrow.mq-arrow-both': {
@@ -237,16 +251,18 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
237
251
 
238
252
  var _super = _createSuper(KeyPad);
239
253
 
240
- function KeyPad() {
254
+ function KeyPad(props) {
241
255
  var _this;
242
256
 
243
257
  (0, _classCallCheck2["default"])(this, KeyPad);
244
-
245
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
246
- args[_key] = arguments[_key];
247
- }
248
-
249
- _this = _super.call.apply(_super, [this].concat(args));
258
+ _this = _super.call(this, props);
259
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleKeypadInteraction", function () {
260
+ // Check if the setKeypadInteraction prop is available, which is used for both
261
+ // the language keypad and the special characters keypad
262
+ if (_this.props.setKeypadInteraction) {
263
+ _this.props.setKeypadInteraction(true);
264
+ }
265
+ });
250
266
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "buttonClick", function (key) {
251
267
  log('[buttonClick]', key);
252
268
  var onPress = _this.props.onPress;
@@ -265,10 +281,59 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
265
281
 
266
282
  return false;
267
283
  });
284
+ _this.keypadRef = /*#__PURE__*/_react["default"].createRef();
268
285
  return _this;
269
286
  }
270
287
 
271
288
  (0, _createClass2["default"])(KeyPad, [{
289
+ key: "componentDidMount",
290
+ value: function componentDidMount() {
291
+ var _this$keypadRef;
292
+
293
+ var keyPadElement = (_this$keypadRef = this.keypadRef) === null || _this$keypadRef === void 0 ? void 0 : _this$keypadRef.current;
294
+ var mainContainer = keyPadElement === null || keyPadElement === void 0 ? void 0 : keyPadElement.closest(".".concat(_constants["default"].MAIN_CONTAINER_CLASS));
295
+ var currentToolbar = keyPadElement === null || keyPadElement === void 0 ? void 0 : keyPadElement.closest('.pie-toolbar'); // need only for math keyboard so we need also controlledKeypadMode
296
+
297
+ if (this.props.controlledKeypadMode && mainContainer && currentToolbar) {
298
+ var mainContainerPosition = mainContainer.getBoundingClientRect();
299
+ var currentToolbarPosition = currentToolbar.getBoundingClientRect();
300
+ var difference = mainContainerPosition.top + mainContainerPosition.height - (currentToolbarPosition.top + currentToolbarPosition.height);
301
+
302
+ if (difference < 0) {
303
+ var totalHeight = mainContainerPosition.height + mainContainerPosition.top - difference; // increase the height of the main container if keyboard needs it
304
+
305
+ if (mainContainer) {
306
+ mainContainer.style.height = "".concat(totalHeight, "px");
307
+ }
308
+ }
309
+ }
310
+
311
+ if (keyPadElement) {
312
+ keyPadElement.addEventListener('touchstart', this.handleKeypadInteraction, true);
313
+ keyPadElement.addEventListener('mousedown', this.handleKeypadInteraction, true);
314
+ }
315
+ }
316
+ }, {
317
+ key: "componentWillUnmount",
318
+ value: function componentWillUnmount() {
319
+ var _this$keypadRef2;
320
+
321
+ var keyPadElement = (_this$keypadRef2 = this.keypadRef) === null || _this$keypadRef2 === void 0 ? void 0 : _this$keypadRef2.current; // need only for math keyboard
322
+
323
+ if (this.props.controlledKeypadMode && keyPadElement) {
324
+ var mainContainer = keyPadElement.closest(".".concat(_constants["default"].MAIN_CONTAINER_CLASS));
325
+
326
+ if (mainContainer) {
327
+ mainContainer.style.height = 'unset';
328
+ }
329
+ }
330
+
331
+ if (keyPadElement) {
332
+ keyPadElement.removeEventListener('touchstart', this.handleKeypadInteraction, true);
333
+ keyPadElement.removeEventListener('mousedown', this.handleKeypadInteraction, true);
334
+ }
335
+ }
336
+ }, {
272
337
  key: "render",
273
338
  value: function render() {
274
339
  var _this2 = this;
@@ -292,6 +357,7 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
292
357
  }, createCustomLayout(layoutForKeyPad));
293
358
 
294
359
  return /*#__PURE__*/_react["default"].createElement("div", {
360
+ ref: this.keypadRef,
295
361
  className: (0, _classnames["default"])(classes.keys, className, classes[mode]),
296
362
  style: style,
297
363
  onFocus: onFocus
@@ -325,6 +391,7 @@ var KeyPad = /*#__PURE__*/function (_React$Component) {
325
391
  return /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
326
392
  key: index
327
393
  }, common, {
394
+ className: (0, _classnames["default"])(common.className, (0, _defineProperty2["default"])({}, classes.deleteButton, k.label === '⌫')),
328
395
  "aria-label": k.ariaLabel ? k.ariaLabel : k.name || k.label
329
396
  }), k.label);
330
397
  } else {
@@ -347,13 +414,15 @@ exports.KeyPad = KeyPad;
347
414
  (0, _defineProperty2["default"])(KeyPad, "propTypes", {
348
415
  classes: _propTypes["default"].object.isRequired,
349
416
  className: _propTypes["default"].string,
417
+ controlledKeypadMode: _propTypes["default"].bool,
350
418
  baseSet: _propTypes["default"].array,
351
419
  additionalKeys: _propTypes["default"].array,
352
420
  layoutForKeyPad: _propTypes["default"].object,
353
421
  onPress: _propTypes["default"].func.isRequired,
354
422
  onFocus: _propTypes["default"].func,
355
423
  noDecimal: _propTypes["default"].bool,
356
- mode: _propTypes["default"].string
424
+ setKeypadInteraction: _propTypes["default"].func,
425
+ mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
357
426
  });
358
427
  (0, _defineProperty2["default"])(KeyPad, "defaultProps", {
359
428
  baseSet: _keys.baseSet,
@@ -362,23 +431,20 @@ exports.KeyPad = KeyPad;
362
431
 
363
432
  var styles = function styles(theme) {
364
433
  return {
365
- keys: {
366
- '& *': {
367
- fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
368
- },
434
+ keys: _objectSpread(_objectSpread({}, _commonMqStyles.commonMqKeyboardStyles), {}, {
369
435
  width: '100%',
370
436
  display: 'grid',
371
437
  gridTemplateRows: 'repeat(5, minmax(40px, 60px))',
372
438
  gridRowGap: '0px',
373
439
  gridColumnGap: '0px',
374
440
  gridAutoFlow: 'column'
375
- },
441
+ }),
376
442
  character: {
377
443
  textTransform: 'initial !important',
378
444
  gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important'
379
445
  },
380
446
  language: {
381
- gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important',
447
+ gridTemplateRows: 'repeat(4, minmax(40px, 50px)) !important',
382
448
  '& *': {
383
449
  fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
384
450
  }
@@ -408,6 +474,11 @@ var styles = function styles(theme) {
408
474
  backgroundColor: (0, _colorManipulator.lighten)(theme.palette.primary.light, 0.7)
409
475
  }
410
476
  },
477
+ deleteButton: {
478
+ '& > span': {
479
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important'
480
+ }
481
+ },
411
482
  base: {},
412
483
  operators: {
413
484
  backgroundColor: (0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.5),
@@ -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","fontFamily","top","lineHeight","left","right","minHeight","border","display","paddingTop","parallelButton","fontStyle","leftRightArrowButton","position","props","buttonClass","latex","classes","mqClassName","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","e","className","onClick","ariaLabel","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPad","key","onPress","base","extras","transposed","_","flatten","noDecimal","write","label","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","length","style","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","extraClass","comma","dot","disabled","keyIsNotAllowed","command","actions","extraProps","name","Icon","icon","React","Component","PropTypes","object","isRequired","string","array","func","bool","styles","gridRowGap","gridColumnGap","character","language","holder","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';\nimport MathQuill from '@pie-framework/mathquill';\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 fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n\n '&.mq-arrow-both': {\n top: '0px !important',\n '& *': {\n lineHeight: '1 !important',\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.31em',\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.26em',\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.26em',\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.26em',\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 !important',\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 position: 'absolute !important',\n top: '0px !important',\n },\n },\n },\n}))((props) => {\n let buttonClass;\n\n if (props.latex === '\\\\parallel') {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName, props.classes.parallelButton);\n } else if (props.latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName, props.classes.leftRightArrowButton);\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\n className={classNames(props.classes.root, props.className)}\n onClick={props.onClick}\n aria-label={props.ariaLabel}\n >\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 (((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) && noDecimal) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { classes, className, baseSet, additionalKeys, layoutForKeyPad, onFocus, mode } = this.props;\n\n const noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];\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) + shift}, minmax(min-content, 150px))`,\n ...createCustomLayout(layoutForKeyPad),\n };\n\n return (\n <div className={classNames(classes.keys, className, classes[mode])} 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 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 (\n <LatexButton\n latex={k.latex}\n key={index}\n {...common}\n className={classes.latexButton}\n ariaLabel={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n />\n );\n }\n\n if (k.label) {\n return (\n <Button key={index} {...common} aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}>\n {k.label}\n </Button>\n );\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <IconButton tabIndex={'-1'} {...common} key={index}>\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 gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important',\n },\n language: {\n gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important',\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\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","fontFamily","top","lineHeight","left","right","minHeight","border","display","paddingTop","parallelButton","fontStyle","leftRightArrowButton","position","props","buttonClass","latex","classes","mqClassName","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","e","className","onClick","ariaLabel","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPad","setKeypadInteraction","key","onPress","base","extras","transposed","_","flatten","noDecimal","write","label","keypadRef","React","createRef","keyPadElement","current","mainContainer","closest","editableHtmlConstants","MAIN_CONTAINER_CLASS","currentToolbar","controlledKeypadMode","mainContainerPosition","getBoundingClientRect","currentToolbarPosition","difference","height","totalHeight","style","addEventListener","handleKeypadInteraction","removeEventListener","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","length","Math","floor","keys","map","k","index","buttonClick","bind","common","labelButton","category","extraClass","comma","dot","disabled","keyIsNotAllowed","command","actions","extraProps","name","deleteButton","Icon","icon","Component","PropTypes","object","isRequired","string","bool","array","func","oneOfType","number","styles","commonMqKeyboardStyles","gridRowGap","gridColumnGap","character","language","holder","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 debug from 'debug';\nimport _ from 'lodash';\nimport MathQuill from '@pie-framework/mathquill';\n\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport editableHtmlConstants from '../../../editable-html/src/constants';\nimport { commonMqKeyboardStyles } from '../mq/common-mq-styles';\nimport { sortKeys } from './keys-layout';\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-non-leaf.mq-overline': {\n borderTop: 'none !important', // fixing PD-4873 - in OT, it has border-top 1px and adds extra line\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n\n '&.mq-arrow-both': {\n top: '0px !important',\n '& *': {\n lineHeight: '1 !important',\n borderTop: 'none !important', // fixing PD-4873 - in OT, it has border-top 1px and adds extra line,\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%) !important',\n top: '-0.31em !important',\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.26em',\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.26em',\n },\n '&.mq-empty': {\n minHeight: '1.4em',\n },\n },\n '&.mq-arrow-right:before': {\n fontSize: '80%',\n right: 'calc(-13%) !important',\n top: '-0.26em !important',\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 !important',\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': {\n borderTop: 'none !important', // fixing PD-4873 - in OT, it has border-top 1px and adds extra line\n },\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important',\n },\n },\n },\n parallelButton: {\n fontStyle: 'italic !important',\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 position: 'absolute !important',\n top: '0px !important',\n },\n },\n },\n}))((props) => {\n let buttonClass;\n\n if (props.latex === '\\\\parallel') {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName, props.classes.parallelButton);\n } else if (props.latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n buttonClass = classNames(props.classes.latexButton, props.mqClassName, props.classes.leftRightArrowButton);\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\n className={classNames(props.classes.root, props.className)}\n onClick={props.onClick}\n aria-label={props.ariaLabel}\n >\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 controlledKeypadMode: PropTypes.bool,\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 setKeypadInteraction: PropTypes.func,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n };\n static defaultProps = {\n baseSet: baseSet,\n noDecimal: false,\n };\n\n constructor(props) {\n super(props);\n this.keypadRef = React.createRef();\n }\n\n componentDidMount() {\n const keyPadElement = this.keypadRef?.current;\n const mainContainer = keyPadElement?.closest(`.${editableHtmlConstants.MAIN_CONTAINER_CLASS}`);\n const currentToolbar = keyPadElement?.closest('.pie-toolbar');\n\n // need only for math keyboard so we need also controlledKeypadMode\n if (this.props.controlledKeypadMode && mainContainer && currentToolbar) {\n const mainContainerPosition = mainContainer.getBoundingClientRect();\n const currentToolbarPosition = currentToolbar.getBoundingClientRect();\n const difference =\n mainContainerPosition.top +\n mainContainerPosition.height -\n (currentToolbarPosition.top + currentToolbarPosition.height);\n if (difference < 0) {\n const totalHeight = mainContainerPosition.height + mainContainerPosition.top - difference;\n // increase the height of the main container if keyboard needs it\n if (mainContainer) {\n mainContainer.style.height = `${totalHeight}px`;\n }\n }\n }\n\n if (keyPadElement) {\n keyPadElement.addEventListener('touchstart', this.handleKeypadInteraction, true);\n keyPadElement.addEventListener('mousedown', this.handleKeypadInteraction, true);\n }\n }\n\n componentWillUnmount() {\n const keyPadElement = this.keypadRef?.current;\n // need only for math keyboard\n if (this.props.controlledKeypadMode && keyPadElement) {\n const mainContainer = keyPadElement.closest(`.${editableHtmlConstants.MAIN_CONTAINER_CLASS}`);\n\n if (mainContainer) {\n mainContainer.style.height = 'unset';\n }\n }\n\n if (keyPadElement) {\n keyPadElement.removeEventListener('touchstart', this.handleKeypadInteraction, true);\n keyPadElement.removeEventListener('mousedown', this.handleKeypadInteraction, true);\n }\n }\n\n handleKeypadInteraction = () => {\n // Check if the setKeypadInteraction prop is available, which is used for both\n // the language keypad and the special characters keypad\n if (this.props.setKeypadInteraction) {\n this.props.setKeypadInteraction(true);\n }\n };\n\n buttonClick = (key) => {\n log('[buttonClick]', key);\n const { onPress } = this.props;\n\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 (((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) && noDecimal) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { classes, className, baseSet, additionalKeys, layoutForKeyPad, onFocus, mode } = this.props;\n\n const noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];\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) + shift}, minmax(min-content, 150px))`,\n ...createCustomLayout(layoutForKeyPad),\n };\n\n return (\n <div\n ref={this.keypadRef}\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 (\n <LatexButton\n latex={k.latex}\n key={index}\n {...common}\n className={classes.latexButton}\n ariaLabel={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n />\n );\n }\n\n if (k.label) {\n return (\n <Button\n key={index}\n {...common}\n className={classNames(common.className, { [classes.deleteButton]: k.label === '⌫' })}\n aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n >\n {k.label}\n </Button>\n );\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <IconButton tabIndex={'-1'} {...common} key={index}>\n <Icon className={classes.icon} />\n </IconButton>\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n keys: {\n ...commonMqKeyboardStyles,\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 gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important',\n },\n language: {\n gridTemplateRows: 'repeat(4, minmax(40px, 50px)) !important',\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\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 deleteButton: {\n '& > span': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\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"}
@@ -142,8 +142,10 @@ var primeArcminute = set({
142
142
  exports.primeArcminute = primeArcminute;
143
143
  var doublePrimeArcSecond = set({
144
144
  name: 'Double Prime',
145
- latex: '"',
146
- write: '"'
145
+ // eslint-disable-next-line
146
+ latex: "''",
147
+ // eslint-disable-next-line
148
+ write: "''"
147
149
  });
148
150
  exports.doublePrimeArcSecond = doublePrimeArcSecond;
149
151
  var leftArrow = set({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/keys/geometry.js"],"names":["set","o","category","overline","name","latex","command","overRightArrow","overLeftRightArrow","symbol","segment","write","label","parallel","notParallel","perpindicular","angle","overArc","measureOfAngle","triangle","square","parallelogram","circledDot","degree","similarTo","congruentTo","notCongruentTo","primeArcminute","doublePrimeArcSecond","leftArrow","rightArrow","leftrightArrow"],"mappings":"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","sourcesContent":["const set = (o) => ({ ...o, category: 'geometry' });\n\nexport const overline = set({\n name: 'Line',\n latex: '\\\\overline{}',\n command: '\\\\overline',\n});\n\nexport const overRightArrow = set({\n name: 'Ray',\n latex: '\\\\overrightarrow{}',\n command: '\\\\overrightarrow',\n});\n\nexport const overLeftRightArrow = set({\n name: 'Segment',\n latex: '\\\\overleftrightarrow{\\\\overline{}}', // used this notation to display the pink box\n symbol: 'AB',\n command: '\\\\overleftrightarrow',\n});\n\nexport const segment = set({\n name: 'Segment',\n latex: '\\\\overleftrightarrow{AB}',\n write: '\\\\overleftrightarrow{AB}',\n label: 'AB',\n});\n\nexport const parallel = set({\n name: 'Parallel',\n latex: '\\\\parallel',\n command: '\\\\parallel',\n});\n\nexport const notParallel = set({\n name: 'Not Parallel',\n latex: '\\\\nparallel',\n command: '\\\\nparallel',\n});\n\nexport const perpindicular = set({\n name: 'Perpendicular',\n latex: '\\\\perp',\n command: '\\\\perpendicular',\n});\n\nexport const angle = set({\n name: 'Angle',\n latex: '\\\\angle',\n command: '\\\\angle',\n});\nexport const overArc = set({\n name: 'Over arc',\n latex: '\\\\overarc{\\\\overline{}}', // used this notation to display the pink box\n command: '\\\\overarc',\n});\nexport const measureOfAngle = set({\n name: 'Measured Angle',\n latex: '\\\\measuredangle',\n command: ['m', '\\\\angle'],\n});\n\nexport const triangle = set({\n name: 'Triangle',\n latex: '\\\\triangle',\n command: '\\\\triangle',\n});\n\nexport const square = set({\n name: 'Square',\n latex: '\\\\square',\n command: '\\\\square',\n});\n\nexport const parallelogram = set({\n name: 'Parallelogram',\n latex: '\\\\parallelogram',\n command: '\\\\parallelogram',\n});\n\nexport const circledDot = set({\n name: 'Circled Dot',\n latex: '\\\\odot',\n command: '\\\\odot',\n});\n\nexport const degree = set({\n name: 'Degree',\n latex: '\\\\degree',\n command: '\\\\degree',\n});\n\nexport const similarTo = set({\n name: 'Similar',\n command: '\\\\sim',\n latex: '\\\\sim',\n});\n\nexport const congruentTo = set({\n name: 'Congruent To',\n command: '\\\\cong',\n latex: '\\\\cong',\n});\nexport const notCongruentTo = set({\n name: 'Not Congruent To',\n command: '\\\\ncong',\n latex: '\\\\ncong',\n});\n\nexport const primeArcminute = set({\n name: 'Prime',\n label: 'pam',\n // eslint-disable-next-line\n latex: \"'\",\n // eslint-disable-next-line\n write: \"'\",\n});\nexport const doublePrimeArcSecond = set({\n name: 'Double Prime',\n latex: '\"',\n write: '\"',\n});\n\nexport const leftArrow = set({\n name: 'Left Arrow',\n latex: '\\\\leftarrow',\n command: '\\\\leftarrow',\n});\n\nexport const rightArrow = set({\n name: 'Right Arrow',\n latex: '\\\\rightarrow',\n command: '\\\\rightarrow',\n});\n\nexport const leftrightArrow = set({\n name: 'Left and Right Arrow',\n latex: '\\\\leftrightarrow',\n command: '\\\\leftrightarrow',\n});\n"],"file":"geometry.js"}
1
+ {"version":3,"sources":["../../src/keys/geometry.js"],"names":["set","o","category","overline","name","latex","command","overRightArrow","overLeftRightArrow","symbol","segment","write","label","parallel","notParallel","perpindicular","angle","overArc","measureOfAngle","triangle","square","parallelogram","circledDot","degree","similarTo","congruentTo","notCongruentTo","primeArcminute","doublePrimeArcSecond","leftArrow","rightArrow","leftrightArrow"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAMA,GAAG,GAAG,SAANA,GAAM,CAACC,CAAD;AAAA,yCAAaA,CAAb;AAAgBC,IAAAA,QAAQ,EAAE;AAA1B;AAAA,CAAZ;;AAEO,IAAMC,QAAQ,GAAGH,GAAG,CAAC;AAC1BI,EAAAA,IAAI,EAAE,MADoB;AAE1BC,EAAAA,KAAK,EAAE,cAFmB;AAG1BC,EAAAA,OAAO,EAAE;AAHiB,CAAD,CAApB;;AAMA,IAAMC,cAAc,GAAGP,GAAG,CAAC;AAChCI,EAAAA,IAAI,EAAE,KAD0B;AAEhCC,EAAAA,KAAK,EAAE,oBAFyB;AAGhCC,EAAAA,OAAO,EAAE;AAHuB,CAAD,CAA1B;;AAMA,IAAME,kBAAkB,GAAGR,GAAG,CAAC;AACpCI,EAAAA,IAAI,EAAE,SAD8B;AAEpCC,EAAAA,KAAK,EAAE,oCAF6B;AAES;AAC7CI,EAAAA,MAAM,EAAE,IAH4B;AAIpCH,EAAAA,OAAO,EAAE;AAJ2B,CAAD,CAA9B;;AAOA,IAAMI,OAAO,GAAGV,GAAG,CAAC;AACzBI,EAAAA,IAAI,EAAE,SADmB;AAEzBC,EAAAA,KAAK,EAAE,0BAFkB;AAGzBM,EAAAA,KAAK,EAAE,0BAHkB;AAIzBC,EAAAA,KAAK,EAAE;AAJkB,CAAD,CAAnB;;AAOA,IAAMC,QAAQ,GAAGb,GAAG,CAAC;AAC1BI,EAAAA,IAAI,EAAE,UADoB;AAE1BC,EAAAA,KAAK,EAAE,YAFmB;AAG1BC,EAAAA,OAAO,EAAE;AAHiB,CAAD,CAApB;;AAMA,IAAMQ,WAAW,GAAGd,GAAG,CAAC;AAC7BI,EAAAA,IAAI,EAAE,cADuB;AAE7BC,EAAAA,KAAK,EAAE,aAFsB;AAG7BC,EAAAA,OAAO,EAAE;AAHoB,CAAD,CAAvB;;AAMA,IAAMS,aAAa,GAAGf,GAAG,CAAC;AAC/BI,EAAAA,IAAI,EAAE,eADyB;AAE/BC,EAAAA,KAAK,EAAE,QAFwB;AAG/BC,EAAAA,OAAO,EAAE;AAHsB,CAAD,CAAzB;;AAMA,IAAMU,KAAK,GAAGhB,GAAG,CAAC;AACvBI,EAAAA,IAAI,EAAE,OADiB;AAEvBC,EAAAA,KAAK,EAAE,SAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAD,CAAjB;;AAKA,IAAMW,OAAO,GAAGjB,GAAG,CAAC;AACzBI,EAAAA,IAAI,EAAE,UADmB;AAEzBC,EAAAA,KAAK,EAAE,yBAFkB;AAES;AAClCC,EAAAA,OAAO,EAAE;AAHgB,CAAD,CAAnB;;AAKA,IAAMY,cAAc,GAAGlB,GAAG,CAAC;AAChCI,EAAAA,IAAI,EAAE,gBAD0B;AAEhCC,EAAAA,KAAK,EAAE,iBAFyB;AAGhCC,EAAAA,OAAO,EAAE,CAAC,GAAD,EAAM,SAAN;AAHuB,CAAD,CAA1B;;AAMA,IAAMa,QAAQ,GAAGnB,GAAG,CAAC;AAC1BI,EAAAA,IAAI,EAAE,UADoB;AAE1BC,EAAAA,KAAK,EAAE,YAFmB;AAG1BC,EAAAA,OAAO,EAAE;AAHiB,CAAD,CAApB;;AAMA,IAAMc,MAAM,GAAGpB,GAAG,CAAC;AACxBI,EAAAA,IAAI,EAAE,QADkB;AAExBC,EAAAA,KAAK,EAAE,UAFiB;AAGxBC,EAAAA,OAAO,EAAE;AAHe,CAAD,CAAlB;;AAMA,IAAMe,aAAa,GAAGrB,GAAG,CAAC;AAC/BI,EAAAA,IAAI,EAAE,eADyB;AAE/BC,EAAAA,KAAK,EAAE,iBAFwB;AAG/BC,EAAAA,OAAO,EAAE;AAHsB,CAAD,CAAzB;;AAMA,IAAMgB,UAAU,GAAGtB,GAAG,CAAC;AAC5BI,EAAAA,IAAI,EAAE,aADsB;AAE5BC,EAAAA,KAAK,EAAE,QAFqB;AAG5BC,EAAAA,OAAO,EAAE;AAHmB,CAAD,CAAtB;;AAMA,IAAMiB,MAAM,GAAGvB,GAAG,CAAC;AACxBI,EAAAA,IAAI,EAAE,QADkB;AAExBC,EAAAA,KAAK,EAAE,UAFiB;AAGxBC,EAAAA,OAAO,EAAE;AAHe,CAAD,CAAlB;;AAMA,IAAMkB,SAAS,GAAGxB,GAAG,CAAC;AAC3BI,EAAAA,IAAI,EAAE,SADqB;AAE3BE,EAAAA,OAAO,EAAE,OAFkB;AAG3BD,EAAAA,KAAK,EAAE;AAHoB,CAAD,CAArB;;AAMA,IAAMoB,WAAW,GAAGzB,GAAG,CAAC;AAC7BI,EAAAA,IAAI,EAAE,cADuB;AAE7BE,EAAAA,OAAO,EAAE,QAFoB;AAG7BD,EAAAA,KAAK,EAAE;AAHsB,CAAD,CAAvB;;AAMA,IAAMqB,cAAc,GAAG1B,GAAG,CAAC;AAChCI,EAAAA,IAAI,EAAE,kBAD0B;AAEhCE,EAAAA,OAAO,EAAE,SAFuB;AAGhCD,EAAAA,KAAK,EAAE;AAHyB,CAAD,CAA1B;;AAMA,IAAMsB,cAAc,GAAG3B,GAAG,CAAC;AAChCI,EAAAA,IAAI,EAAE,OAD0B;AAEhCQ,EAAAA,KAAK,EAAE,KAFyB;AAGhC;AACAP,EAAAA,KAAK,EAAE,GAJyB;AAKhC;AACAM,EAAAA,KAAK,EAAE;AANyB,CAAD,CAA1B;;AASA,IAAMiB,oBAAoB,GAAG5B,GAAG,CAAC;AACtCI,EAAAA,IAAI,EAAE,cADgC;AAEtC;AACAC,EAAAA,KAAK,EAAE,IAH+B;AAItC;AACAM,EAAAA,KAAK,EAAE;AAL+B,CAAD,CAAhC;;AAQA,IAAMkB,SAAS,GAAG7B,GAAG,CAAC;AAC3BI,EAAAA,IAAI,EAAE,YADqB;AAE3BC,EAAAA,KAAK,EAAE,aAFoB;AAG3BC,EAAAA,OAAO,EAAE;AAHkB,CAAD,CAArB;;AAMA,IAAMwB,UAAU,GAAG9B,GAAG,CAAC;AAC5BI,EAAAA,IAAI,EAAE,aADsB;AAE5BC,EAAAA,KAAK,EAAE,cAFqB;AAG5BC,EAAAA,OAAO,EAAE;AAHmB,CAAD,CAAtB;;AAMA,IAAMyB,cAAc,GAAG/B,GAAG,CAAC;AAChCI,EAAAA,IAAI,EAAE,sBAD0B;AAEhCC,EAAAA,KAAK,EAAE,kBAFyB;AAGhCC,EAAAA,OAAO,EAAE;AAHuB,CAAD,CAA1B","sourcesContent":["const set = (o) => ({ ...o, category: 'geometry' });\n\nexport const overline = set({\n name: 'Line',\n latex: '\\\\overline{}',\n command: '\\\\overline',\n});\n\nexport const overRightArrow = set({\n name: 'Ray',\n latex: '\\\\overrightarrow{}',\n command: '\\\\overrightarrow',\n});\n\nexport const overLeftRightArrow = set({\n name: 'Segment',\n latex: '\\\\overleftrightarrow{\\\\overline{}}', // used this notation to display the pink box\n symbol: 'AB',\n command: '\\\\overleftrightarrow',\n});\n\nexport const segment = set({\n name: 'Segment',\n latex: '\\\\overleftrightarrow{AB}',\n write: '\\\\overleftrightarrow{AB}',\n label: 'AB',\n});\n\nexport const parallel = set({\n name: 'Parallel',\n latex: '\\\\parallel',\n command: '\\\\parallel',\n});\n\nexport const notParallel = set({\n name: 'Not Parallel',\n latex: '\\\\nparallel',\n command: '\\\\nparallel',\n});\n\nexport const perpindicular = set({\n name: 'Perpendicular',\n latex: '\\\\perp',\n command: '\\\\perpendicular',\n});\n\nexport const angle = set({\n name: 'Angle',\n latex: '\\\\angle',\n command: '\\\\angle',\n});\nexport const overArc = set({\n name: 'Over arc',\n latex: '\\\\overarc{\\\\overline{}}', // used this notation to display the pink box\n command: '\\\\overarc',\n});\nexport const measureOfAngle = set({\n name: 'Measured Angle',\n latex: '\\\\measuredangle',\n command: ['m', '\\\\angle'],\n});\n\nexport const triangle = set({\n name: 'Triangle',\n latex: '\\\\triangle',\n command: '\\\\triangle',\n});\n\nexport const square = set({\n name: 'Square',\n latex: '\\\\square',\n command: '\\\\square',\n});\n\nexport const parallelogram = set({\n name: 'Parallelogram',\n latex: '\\\\parallelogram',\n command: '\\\\parallelogram',\n});\n\nexport const circledDot = set({\n name: 'Circled Dot',\n latex: '\\\\odot',\n command: '\\\\odot',\n});\n\nexport const degree = set({\n name: 'Degree',\n latex: '\\\\degree',\n command: '\\\\degree',\n});\n\nexport const similarTo = set({\n name: 'Similar',\n command: '\\\\sim',\n latex: '\\\\sim',\n});\n\nexport const congruentTo = set({\n name: 'Congruent To',\n command: '\\\\cong',\n latex: '\\\\cong',\n});\n\nexport const notCongruentTo = set({\n name: 'Not Congruent To',\n command: '\\\\ncong',\n latex: '\\\\ncong',\n});\n\nexport const primeArcminute = set({\n name: 'Prime',\n label: 'pam',\n // eslint-disable-next-line\n latex: \"'\",\n // eslint-disable-next-line\n write: \"'\",\n});\n\nexport const doublePrimeArcSecond = set({\n name: 'Double Prime',\n // eslint-disable-next-line\n latex: \"''\",\n // eslint-disable-next-line\n write: \"''\",\n});\n\nexport const leftArrow = set({\n name: 'Left Arrow',\n latex: '\\\\leftarrow',\n command: '\\\\leftarrow',\n});\n\nexport const rightArrow = set({\n name: 'Right Arrow',\n latex: '\\\\rightarrow',\n command: '\\\\rightarrow',\n});\n\nexport const leftrightArrow = set({\n name: 'Left and Right Arrow',\n latex: '\\\\leftrightarrow',\n command: '\\\\leftrightarrow',\n});\n"],"file":"geometry.js"}
@@ -242,6 +242,13 @@ var gradeSets = [{
242
242
  latex: '',
243
243
  write: ''
244
244
  }, trigonometry.csc, trigonometry.sec, trigonometry.cot]]
245
+ }, // for grade 1-2, we want to display the base set only
246
+ // we need it here because we don't want to display the default set (grade 8)
247
+ {
248
+ predicate: function predicate(n) {
249
+ return n >= 1 && n <= 2;
250
+ },
251
+ set: []
245
252
  }];
246
253
  exports.gradeSets = gradeSets;
247
254
 
@@ -263,6 +270,11 @@ var keysForGrade = function keysForGrade(n) {
263
270
 
264
271
  if (match) {
265
272
  return match.set || [];
273
+ } // if the grade is not found, return the default set which is grade 8 (as per PD-3549), for mode language it is not the default
274
+
275
+
276
+ if (n !== 'language') {
277
+ return gradeSets[2].set;
266
278
  }
267
279
  };
268
280
 
@@ -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 [misc.plusMinus, comparison.lessThan, comparison.greaterThan, comparison.lessThanEqual, comparison.greaterThanEqual],\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 [exponent.squared, exponent.xToPowerOfN],\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 [trigonometry.sin, trigonometry.cos, trigonometry.tan, constants.pi, exponent.squareRoot, exponent.nthRoot],\n [trigonometry.csc, trigonometry.sec, trigonometry.cot, vars.theta, subSup.subscript, exponent.xToPowerOfN],\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) => latex === key.latex || latex === key.write || latex === key.command || latex === key.otherNotation,\n );\n\n return !latex ? additionalkey : 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":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,EAAE,GAAG,CACT,CAACC,SAAS,CAACC,cAAX,EAA2BC,IAAI,CAACC,UAAhC,EAA4CC,IAAI,CAACC,CAAjD,EAAoDC,QAAQ,CAACC,OAA7D,EAAsED,QAAQ,CAACE,UAA/E,CADS,EAET,CAACC,SAAS,CAACC,SAAX,EAAsBN,IAAI,CAACO,CAA3B,EAA8BC,MAAM,CAACC,SAArC,EAAgDP,QAAQ,CAACQ,WAAzD,EAAsER,QAAQ,CAACS,OAA/E,CAFS,EAGT,CAACb,IAAI,CAACc,SAAN,EAAiBC,UAAU,CAACC,QAA5B,EAAsCD,UAAU,CAACE,WAAjD,EAA8DF,UAAU,CAACG,aAAzE,EAAwFH,UAAU,CAACI,gBAAnG,CAHS,EAIT,CAACC,SAAS,CAACC,EAAX,EAAenB,IAAI,CAACoB,KAApB,EAA2BtB,IAAI,CAACuB,WAAhC,EAA6CvB,IAAI,CAACwB,QAAlD,EAA4DxB,IAAI,CAACyB,QAAjE,CAJS,EAKT,CAACzB,IAAI,CAAC0B,QAAN,EAAgBC,YAAY,CAACC,GAA7B,EAAkCD,YAAY,CAACE,GAA/C,EAAoDF,YAAY,CAACG,GAAjE,EAAsEC,QAAQ,CAACC,MAA/E,CALS,CAAX;;AAQA,IAAMC,eAAe,GAAI,YAAM;AAC7B,MAAMC,GAAG,uCAAOrC,EAAE,CAACsC,GAAH,CAAO,UAACC,GAAD;AAAA,+CAAaA,GAAb;AAAA,GAAP,CAAP,CAAT;AAEAF,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAY;AAAEC,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE,GAApB;AAAyBC,IAAAA,KAAK,EAAE;AAAhC,GAAZ;AACAN,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYI,GAAG,CAACA,GAAhB;AACAP,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYI,GAAG,CAACC,YAAhB;AACAR,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYI,GAAG,CAACE,EAAhB;AACAT,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYjB,SAAS,CAACwB,MAAtB;AACA,SAAOV,GAAP;AACD,CATuB,EAAxB;;AAWA,IAAMW,aAAa,GAAI,YAAM;AAC3B,MAAMX,GAAG,uCAAOrC,EAAE,CAACsC,GAAH,CAAO,UAACC,GAAD;AAAA,+CAAaA,GAAb;AAAA,GAAP,CAAP,CAAT;AACAF,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYS,UAAU,CAACC,EAAvB;AACAb,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYS,UAAU,CAACE,IAAvB;AACAd,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYS,UAAU,CAACG,IAAvB;AACAf,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYS,UAAU,CAACI,KAAvB;AACAhB,EAAAA,GAAG,CAAC,CAAD,CAAH,CAAOG,IAAP,CAAYS,UAAU,CAACK,UAAvB;AACA,SAAOjB,GAAP;AACD,CARqB,EAAtB;;AAUO,IAAMkB,SAAS,GAAG,CACvB;AACEC,EAAAA,SAAS,EAAE,mBAACC,CAAD;AAAA,WAAOA,CAAC,IAAI,CAAL,IAAUA,CAAC,IAAI,CAAtB;AAAA,GADb;AAEEC,EAAAA,GAAG,EAAE,CACH,CAACxC,UAAU,CAACC,QAAZ,EAAsBD,UAAU,CAACE,WAAjC,CADG,EAEH,CAACnB,SAAS,CAAC0D,UAAX,EAAuB1D,SAAS,CAAC2D,WAAjC,CAFG,EAGH,CAACvD,IAAI,CAACC,CAAN,EAASuD,KAAK,CAACC,YAAf,CAHG,EAIH,CAACvD,QAAQ,CAACC,OAAV,EAAmBD,QAAQ,CAACQ,WAA5B,CAJG;AAFP,CADuB,EAUvB;AACEyC,EAAAA,SAAS,EAAE,mBAACC,CAAD;AAAA,WAAOA,CAAC,IAAI,CAAL,IAAUA,CAAC,IAAI,CAAtB;AAAA,GADb;AAEEC,EAAAA,GAAG,EAAE,CACH,CAACxB,QAAQ,CAACC,MAAV,EAAkBjB,UAAU,CAACC,QAA7B,EAAuCD,UAAU,CAACE,WAAlD,CADG,EAEH,CAACV,SAAS,CAACC,SAAX,EAAsBO,UAAU,CAACG,aAAjC,EAAgDH,UAAU,CAACI,gBAA3D,CAFG,EAGH,CAACjB,IAAI,CAACC,CAAN,EAASD,IAAI,CAACO,CAAd,EAAiBL,QAAQ,CAACC,OAA1B,EAAmCD,QAAQ,CAACQ,WAA5C,CAHG,EAIH,CAACZ,IAAI,CAACc,SAAN,EAAiBhB,SAAS,CAAC0D,UAA3B,EAAuC1D,SAAS,CAAC2D,WAAjD,EAA8DrD,QAAQ,CAACE,UAAvE,CAJG,EAKH,CAACc,SAAS,CAACC,EAAX,EAAerB,IAAI,CAACuB,WAApB,EAAiCvB,IAAI,CAACyB,QAAtC,EAAgDrB,QAAQ,CAACS,OAAzD,CALG;AAFP,CAVuB,EAoBvB;AACEwC,EAAAA,SAAS,EAAE,mBAACC,CAAD;AAAA,WAAOA,CAAC,IAAI,CAAL,IAAUA,CAAC,KAAK,IAAvB;AAAA,GADb;AAEEC,EAAAA,GAAG,EAAE1D;AAFP,CApBuB,EAwBvB;AACEwD,EAAAA,SAAS,EAAE,uBADb;AAEEE,EAAAA,GAAG,EAAE,CACH,CAACK,mBAAOC,KAAR,EAAeD,mBAAOE,KAAtB,EAA6BF,mBAAOG,IAApC,CADG,EAEH,CAACH,mBAAOI,IAAR,EAAcJ,mBAAOK,IAArB,EAA2BL,mBAAOM,GAAlC,CAFG,EAGH,CAACN,mBAAOO,GAAR,EAAaP,mBAAOQ,GAApB,EAAyBR,mBAAOS,KAAhC,CAHG,EAIH,CAACT,mBAAOU,IAAR,EAAc;AAAEhC,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,KAAK,EAAE,EAAnB;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GAAd,EAAkD;AAAEF,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,KAAK,EAAE,EAAnB;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GAAlD,CAJG,EAKH,CAAC+B,GAAG,CAACC,IAAL,EAAWD,GAAG,CAACE,KAAf,EAAsBC,IAAI,CAACC,GAA3B,CALG;AAFP,CAxBuB,EAkCvB;AACEtB,EAAAA,SAAS,EAAE,UADb;AAEEE,EAAAA,GAAG,EAAE,CACH,CAACK,mBAAOC,KAAR,EAAeD,mBAAOE,KAAtB,EAA6BF,mBAAOG,IAApC,CADG,EAEH,CAACH,mBAAOI,IAAR,EAAcJ,mBAAOK,IAArB,EAA2BL,mBAAOM,GAAlC,CAFG,EAGH,CAACN,mBAAOO,GAAR,EAAaP,mBAAOQ,GAApB,EAAyBR,mBAAOS,KAAhC,CAHG,EAIH,CAACT,mBAAOU,IAAR,EAAc;AAAEhC,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,KAAK,EAAE,EAAnB;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GAAd,EAAkDoC,cAAc,CAACC,KAAjE,CAJG,EAKH,CAACN,GAAG,CAACC,IAAL,EAAWD,GAAG,CAACE,KAAf,EAAsBC,IAAI,CAACC,GAA3B,CALG;AAFP,CAlCuB,EA4CvB;AACEtB,EAAAA,SAAS,EAAE,UADb;AAEEE,EAAAA,GAAG,EAAE,CACH,CAACK,mBAAOC,KAAR,EAAeD,mBAAOE,KAAtB,EAA6BF,mBAAOG,IAApC,CADG,EAEH,CAACH,mBAAOI,IAAR,EAAcJ,mBAAOK,IAArB,EAA2BL,mBAAOM,GAAlC,CAFG,EAGH,CAACN,mBAAOO,GAAR,EAAaP,mBAAOQ,GAApB,EAAyBR,mBAAOS,KAAhC,CAHG,EAIH,CAACT,mBAAOU,IAAR,EAAcV,mBAAOkB,YAArB,EAAmCF,cAAc,CAACC,KAAlD,CAJG,EAKH,CAACN,GAAG,CAACC,IAAL,EAAWD,GAAG,CAACE,KAAf,EAAsBC,IAAI,CAACC,GAA3B,CALG;AAFP,CA5CuB,EAsDvB;AACEtB,EAAAA,SAAS,EAAE,WADb;AAEEE,EAAAA,GAAG,EAAE,CACH,CAACK,mBAAOC,KAAR,EAAeD,mBAAOE,KAAtB,EAA6BF,mBAAOG,IAApC,CADG,EAEH,CAACH,mBAAOI,IAAR,EAAcJ,mBAAOK,IAArB,EAA2BL,mBAAOM,GAAlC,CAFG,EAGH,CAACN,mBAAOO,GAAR,EAAaP,mBAAOQ,GAApB,EAAyBR,mBAAOS,KAAhC,CAHG,EAIH,CAACT,mBAAOU,IAAR,EAAcxE,SAAS,CAACC,cAAxB,EAAwC6E,cAAc,CAACC,KAAvD,CAJG,EAKH,CAACN,GAAG,CAACC,IAAL,EAAWD,GAAG,CAACE,KAAf,EAAsBC,IAAI,CAACC,GAA3B,CALG;AAFP,CAtDuB,EAgEvB;AACEtB,EAAAA,SAAS,EAAE,UADb;AAEEE,EAAAA,GAAG,EAAE,CACH,CACEzD,SAAS,CAACC,cADZ,EAEEgC,QAAQ,CAACC,MAFX,EAGED,QAAQ,CAACgD,cAHX,EAIEhD,QAAQ,CAACiD,oBAJX,EAKEjD,QAAQ,CAACkD,WALX,EAMElD,QAAQ,CAACmD,SANX,CADG,EASH,CACE3E,SAAS,CAACC,SADZ,EAEEuB,QAAQ,CAACoD,KAFX,EAGEpD,QAAQ,CAACqD,cAHX,EAIErD,QAAQ,CAACsD,QAJX,EAKEtD,QAAQ,CAACuD,cALX,EAMEtF,IAAI,CAACuF,UANP,CATG,EAiBH,CAAC5D,YAAY,CAACC,GAAd,EAAmBD,YAAY,CAACE,GAAhC,EAAqCF,YAAY,CAACG,GAAlD,EAAuDV,SAAS,CAACC,EAAjE,EAAqEjB,QAAQ,CAACE,UAA9E,EAA0FF,QAAQ,CAACS,OAAnG,CAjBG,EAkBH,CAACc,YAAY,CAAC6D,GAAd,EAAmB7D,YAAY,CAAC8D,GAAhC,EAAqC9D,YAAY,CAAC+D,GAAlD,EAAuDxF,IAAI,CAACoB,KAA5D,EAAmEZ,MAAM,CAACC,SAA1E,EAAqFP,QAAQ,CAACQ,WAA9F,CAlBG,EAmBH,CACEmB,QAAQ,CAAC4D,QADX,EAEE5D,QAAQ,CAAC6D,cAFX,EAGE7D,QAAQ,CAAC8D,kBAHX,EAIE9D,QAAQ,CAAC+D,OAJX,EAKE/D,QAAQ,CAACgE,aALX,EAMEhE,QAAQ,CAACiE,QANX,CAnBG;AAFP,CAhEuB,EA+FvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE3C,EAAAA,SAAS,EAAE,kBADb;AAEEE,EAAAA,GAAG,EAAEtB;AAFP,CAzLuB,EA6LvB;AACEoB,EAAAA,SAAS,EAAE,YADb;AAEEE,EAAAA,GAAG,EAAEV;AAFP,CA7LuB,EAiMvB;AACEQ,EAAAA,SAAS,EAAE,gBADb;AAEEE,EAAAA,GAAG,EAAE,CACH,CACEqB,cAAc,CAACqB,MADjB,EAEEnG,SAAS,CAACC,cAFZ,EAGE2D,KAAK,CAACC,YAHR,EAIEvC,SAAS,CAAC8E,YAJZ,EAKE9F,QAAQ,CAACC,OALX,EAMED,QAAQ,CAACE,UANX,EAOEyB,QAAQ,CAAC4D,QAPX,EAQE5D,QAAQ,CAAC6D,cARX,EASE7D,QAAQ,CAAC8D,kBATX,EAUEpD,GAAG,CAACA,GAVN,CADG,EAaH,CACEmC,cAAc,CAACuB,QADjB,EAEE5F,SAAS,CAACC,SAFZ,EAGE;AAAE8B,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,KAAK,EAAE,EAAnB;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GAHF,EAIE9B,MAAM,CAACC,SAJT,EAKEP,QAAQ,CAACQ,WALX,EAMER,QAAQ,CAACS,OANX,EAOEkB,QAAQ,CAACgE,aAPX,EAQEhE,QAAQ,CAACiE,QARX,EASEjE,QAAQ,CAAC+D,OATX,EAUErD,GAAG,CAACC,YAVN,CAbG,EAyBH,CACE1C,IAAI,CAACc,SADP,EAEEM,SAAS,CAACC,EAFZ,EAGEnB,IAAI,CAACoB,KAHP,EAIES,QAAQ,CAACC,MAJX,EAKED,QAAQ,CAACoD,KALX,EAMEpD,QAAQ,CAACqE,SANX,EAOErE,QAAQ,CAACsE,UAPX,EAQEtE,QAAQ,CAACsD,QARX,EASEtD,QAAQ,CAACuE,MATX,EAUE7D,GAAG,CAACE,EAVN,CAzBG,EAqCH,CACE3C,IAAI,CAAC0B,QADP,EAEE1B,IAAI,CAACyB,QAFP,EAGEqB,UAAU,CAACK,UAHb,EAIEL,UAAU,CAACC,EAJb,EAKEW,KAAK,CAAC6C,SALR,EAMEzD,UAAU,CAACI,KANb,EAOEnB,QAAQ,CAACyE,cAPX,EAQE7E,YAAY,CAACC,GARf,EASED,YAAY,CAACE,GATf,EAUEF,YAAY,CAACG,GAVf,CArCG,EAiDH,CACEf,UAAU,CAACG,aADb,EAEEH,UAAU,CAACI,gBAFb,EAGE;AAAEmB,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,KAAK,EAAE,EAAnB;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GAHF,EAIE;AAAEF,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,KAAK,EAAE,EAAnB;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GAJF,EAKEpB,SAAS,CAACqF,QALZ,EAME;AAAEnE,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,KAAK,EAAE,EAAnB;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GANF,EAOE;AAAEF,IAAAA,IAAI,EAAE,EAAR;AAAYC,IAAAA,KAAK,EAAE,EAAnB;AAAuBC,IAAAA,KAAK,EAAE;AAA9B,GAPF,EAQEb,YAAY,CAAC6D,GARf,EASE7D,YAAY,CAAC8D,GATf,EAUE9D,YAAY,CAAC+D,GAVf,CAjDG;AAFP,CAjMuB,EAkQvB;AACA;AACA;AACErC,EAAAA,SAAS,EAAE,mBAACC,CAAD;AAAA,WAAOA,CAAC,IAAI,CAAL,IAAUA,CAAC,IAAI,CAAtB;AAAA,GADb;AAEEC,EAAAA,GAAG,EAAE;AAFP,CApQuB,CAAlB;;;AA0QA,IAAMmD,YAAY,GAAG,SAAfA,YAAe,CAACpD,CAAD,EAAO;AACjC,MAAMqD,MAAM,GAAGC,QAAQ,CAACtD,CAAD,EAAI,EAAJ,CAAvB;AACAA,EAAAA,CAAC,GAAGuD,KAAK,CAACF,MAAD,CAAL,GAAgBrD,CAAhB,GAAoBqD,MAAxB;;AACA,MAAI,CAACrD,CAAL,EAAQ;AACN,WAAO,EAAP;AACD;;AAED,MAAMwD,KAAK,GAAG1D,SAAS,CAAC2D,IAAV,CAAe,UAACC,EAAD,EAAQ;AACnC,QAAI,OAAOA,EAAE,CAAC3D,SAAV,KAAwB,QAA5B,EAAsC;AACpC,aAAO2D,EAAE,CAAC3D,SAAH,KAAiBC,CAAxB;AACD,KAFD,MAEO;AACL,aAAO0D,EAAE,CAAC3D,SAAH,CAAaC,CAAb,CAAP;AACD;AACF,GANa,CAAd;;AAQA,MAAIwD,KAAJ,EAAW;AACT,WAAOA,KAAK,CAACvD,GAAN,IAAa,EAApB;AACD,GAjBgC,CAmBjC;;;AACA,MAAID,CAAC,KAAK,UAAV,EAAsB;AACpB,WAAOF,SAAS,CAAC,CAAD,CAAT,CAAaG,GAApB;AACD;AACF,CAvBM;;;AAyBP,IAAM0D,QAAQ,iDACTC,MAAM,CAACC,MAAP,CAAcvC,cAAd,CADS,uCAETsC,MAAM,CAACC,MAAP,CAAcpG,UAAd,CAFS,uCAGTmG,MAAM,CAACC,MAAP,CAAc/F,SAAd,CAHS,uCAIT8F,MAAM,CAACC,MAAP,CAAcvD,kBAAd,CAJS,uCAKTsD,MAAM,CAACC,MAAP,CAAc/G,QAAd,CALS,uCAMT8G,MAAM,CAACC,MAAP,CAAcrH,SAAd,CANS,uCAOToH,MAAM,CAACC,MAAP,CAAcpF,QAAd,CAPS,uCAQTmF,MAAM,CAACC,MAAP,CAAc1E,GAAd,CARS,uCASTyE,MAAM,CAACC,MAAP,CAAcC,QAAd,CATS,uCAUTF,MAAM,CAACC,MAAP,CAAcnH,IAAd,CAVS,uCAWTkH,MAAM,CAACC,MAAP,CAAc5G,SAAd,CAXS,uCAYT2G,MAAM,CAACC,MAAP,CAAcrE,UAAd,CAZS,uCAaToE,MAAM,CAACC,MAAP,CAAczG,MAAd,CAbS,uCAcTwG,MAAM,CAACC,MAAP,CAAcxF,YAAd,CAdS,uCAeTuF,MAAM,CAACC,MAAP,CAAcjH,IAAd,CAfS,EAAd;;AAkBO,IAAMmH,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,cAAD,EAAoB;AACzD,SAAO,CAACA,cAAc,IAAI,EAAnB,EAAuBnF,GAAvB,CAA2B,UAACoF,aAAD,EAAmB;AACnD,QAAQhF,KAAR,GAAkBgF,aAAlB,CAAQhF,KAAR;AACA,QAAMiF,aAAa,GAAG,CAACP,QAAQ,IAAI,EAAb,EAAiBF,IAAjB,CACpB,UAACU,GAAD;AAAA,aAASlF,KAAK,KAAKkF,GAAG,CAAClF,KAAd,IAAuBA,KAAK,KAAKkF,GAAG,CAACjF,KAArC,IAA8CD,KAAK,KAAKkF,GAAG,CAACC,OAA5D,IAAuEnF,KAAK,KAAKkF,GAAG,CAACE,aAA9F;AAAA,KADoB,CAAtB;AAIA,WAAO,CAACpF,KAAD,GAASgF,aAAT,GAAyBC,aAAa,IAAID,aAAjD;AACD,GAPM,CAAP;AAQD,CATM","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 [misc.plusMinus, comparison.lessThan, comparison.greaterThan, comparison.lessThanEqual, comparison.greaterThanEqual],\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 [exponent.squared, exponent.xToPowerOfN],\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 [trigonometry.sin, trigonometry.cos, trigonometry.tan, constants.pi, exponent.squareRoot, exponent.nthRoot],\n [trigonometry.csc, trigonometry.sec, trigonometry.cot, vars.theta, subSup.subscript, exponent.xToPowerOfN],\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 // for grade 1-2, we want to display the base set only\n // we need it here because we don't want to display the default set (grade 8)\n {\n predicate: (n) => n >= 1 && n <= 2,\n set: [],\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 // if the grade is not found, return the default set which is grade 8 (as per PD-3549), for mode language it is not the default\n if (n !== 'language') {\n return gradeSets[2].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) => latex === key.latex || latex === key.write || latex === key.command || latex === key.otherNotation,\n );\n\n return !latex ? additionalkey : predefinedKey || additionalkey;\n });\n};\n"],"file":"grades.js"}