@pie-lib/math-input 6.11.5-next.0 → 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.
- package/CHANGELOG.json +6 -1536
- package/CHANGELOG.md +178 -117
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/horizontal-keypad.js +9 -3
- package/lib/horizontal-keypad.js.map +1 -1
- package/lib/index.js +10 -14
- package/lib/index.js.map +1 -1
- package/lib/keypad/index.js +95 -24
- package/lib/keypad/index.js.map +1 -1
- package/lib/keys/geometry.js +4 -2
- package/lib/keys/geometry.js.map +1 -1
- package/lib/keys/grades.js +12 -0
- package/lib/keys/grades.js.map +1 -1
- package/lib/keys/log.js +1 -1
- package/lib/keys/log.js.map +1 -1
- package/lib/mq/common-mq-styles.js +110 -0
- package/lib/mq/common-mq-styles.js.map +1 -0
- package/lib/mq/index.js +8 -0
- package/lib/mq/index.js.map +1 -1
- package/lib/mq/input.js +12 -10
- package/lib/mq/input.js.map +1 -1
- package/lib/mq/static.js +198 -75
- package/lib/mq/static.js.map +1 -1
- package/lib/shared/constants.js +16 -0
- package/lib/updateSpans.js +23 -0
- package/lib/updateSpans.js.map +1 -0
- package/package.json +4 -2
- package/src/__tests__/__snapshots__/math-input-test.jsx.snap +152 -0
- package/src/__tests__/math-input-test.jsx +85 -0
- package/src/horizontal-keypad.jsx +14 -1
- package/src/index.jsx +1 -10
- package/src/keypad/__tests__/__snapshots__/index.test.jsx.snap +193 -0
- package/src/keypad/__tests__/index.test.jsx +24 -0
- package/src/keypad/__tests__/keys-layout.test.js +15 -0
- package/src/keypad/index.jsx +99 -15
- package/src/keys/__tests__/utils.test.js +57 -0
- package/src/keys/geometry.js +6 -2
- package/src/keys/grades.js +11 -0
- package/src/keys/log.js +1 -1
- package/src/mq/__tests__/__snapshots__/input.test.jsx.snap +9 -0
- package/src/mq/__tests__/input.test.jsx +92 -0
- package/src/mq/__tests__/static.test.jsx +57 -0
- package/src/mq/common-mq-styles.js +105 -0
- package/src/mq/index.js +2 -1
- package/src/mq/input.jsx +22 -9
- package/src/mq/static.jsx +142 -13
- package/src/updateSpans.js +15 -0
- 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.
|
|
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.
|
|
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"
|
|
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"}
|
package/lib/keypad/index.js
CHANGED
|
@@ -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
|
|
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
|
|
56
|
+
var _constants = _interopRequireDefault(require("./../shared/constants"));
|
|
53
57
|
|
|
54
|
-
var
|
|
58
|
+
var _commonMqStyles = require("../mq/common-mq-styles");
|
|
55
59
|
|
|
56
|
-
var
|
|
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
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
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
|
-
|
|
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(
|
|
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),
|
package/lib/keypad/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/keypad/index.jsx"],"names":["log","LatexButton","theme","root","textTransform","padding","margin","fontSize","latexButton","pointerEvents","transform","marginBottom","backgroundColor","palette","secondary","main","borderTop","width","marginTop","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"}
|
package/lib/keys/geometry.js
CHANGED
|
@@ -142,8 +142,10 @@ var primeArcminute = set({
|
|
|
142
142
|
exports.primeArcminute = primeArcminute;
|
|
143
143
|
var doublePrimeArcSecond = set({
|
|
144
144
|
name: 'Double Prime',
|
|
145
|
-
|
|
146
|
-
|
|
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({
|
package/lib/keys/geometry.js.map
CHANGED
|
@@ -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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
|
|
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});\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"}
|
package/lib/keys/grades.js
CHANGED
|
@@ -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
|
|
package/lib/keys/grades.js.map
CHANGED
|
@@ -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":"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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 // 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"}
|