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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.json +75 -0
  2. package/CHANGELOG.md +95 -0
  3. package/lib/horizontal-keypad.js +33 -38
  4. package/lib/horizontal-keypad.js.map +1 -1
  5. package/lib/index.js +12 -7
  6. package/lib/index.js.map +1 -1
  7. package/lib/keypad/index.js +114 -68
  8. package/lib/keypad/index.js.map +1 -1
  9. package/lib/keypad/keys-layout.js +5 -1
  10. package/lib/keypad/keys-layout.js.map +1 -1
  11. package/lib/keys/basic-operators.js +1 -1
  12. package/lib/keys/basic-operators.js.map +1 -1
  13. package/lib/keys/chars.js +1 -1
  14. package/lib/keys/chars.js.map +1 -1
  15. package/lib/keys/comparison.js +7 -5
  16. package/lib/keys/comparison.js.map +1 -1
  17. package/lib/keys/constants.js +17 -1
  18. package/lib/keys/constants.js.map +1 -1
  19. package/lib/keys/digits.js +2 -2
  20. package/lib/keys/digits.js.map +1 -1
  21. package/lib/keys/edit.js.map +1 -1
  22. package/lib/keys/exponent.js +1 -1
  23. package/lib/keys/exponent.js.map +1 -1
  24. package/lib/keys/fractions.js +1 -1
  25. package/lib/keys/fractions.js.map +1 -1
  26. package/lib/keys/geometry.js +35 -7
  27. package/lib/keys/geometry.js.map +1 -1
  28. package/lib/keys/grades.js +122 -37
  29. package/lib/keys/grades.js.map +1 -1
  30. package/lib/keys/index.js +7 -3
  31. package/lib/keys/index.js.map +1 -1
  32. package/lib/keys/log.js +2 -2
  33. package/lib/keys/log.js.map +1 -1
  34. package/lib/keys/logic.js +1 -1
  35. package/lib/keys/logic.js.map +1 -1
  36. package/lib/keys/matrices.js +1 -1
  37. package/lib/keys/matrices.js.map +1 -1
  38. package/lib/keys/misc.js +1 -1
  39. package/lib/keys/misc.js.map +1 -1
  40. package/lib/keys/navigation.js.map +1 -1
  41. package/lib/keys/operators.js.map +1 -1
  42. package/lib/keys/statistics.js +8 -1
  43. package/lib/keys/statistics.js.map +1 -1
  44. package/lib/keys/sub-sup.js +1 -1
  45. package/lib/keys/sub-sup.js.map +1 -1
  46. package/lib/keys/trigonometry.js +1 -1
  47. package/lib/keys/trigonometry.js.map +1 -1
  48. package/lib/keys/utils.js +11 -17
  49. package/lib/keys/utils.js.map +1 -1
  50. package/lib/keys/vars.js +1 -1
  51. package/lib/keys/vars.js.map +1 -1
  52. package/lib/math-input.js +39 -47
  53. package/lib/math-input.js.map +1 -1
  54. package/lib/mq/custom-elements.js.map +1 -1
  55. package/lib/mq/index.js +2 -2
  56. package/lib/mq/index.js.map +1 -1
  57. package/lib/mq/input.js +30 -40
  58. package/lib/mq/input.js.map +1 -1
  59. package/lib/mq/static.js +26 -34
  60. package/lib/mq/static.js.map +1 -1
  61. package/package.json +2 -2
  62. package/src/horizontal-keypad.jsx +4 -1
  63. package/src/keypad/index.jsx +91 -8
  64. package/src/keys/constants.js +16 -0
  65. package/src/keys/geometry.js +26 -2
  66. package/src/keys/grades.js +198 -84
  67. package/src/keys/log.js +1 -1
  68. package/src/keys/statistics.js +7 -0
@@ -14,7 +14,7 @@ export const overRightArrow = set({
14
14
 
15
15
  export const overLeftRightArrow = set({
16
16
  name: 'Overline',
17
- latex: '\\overleftrightarrow{}',
17
+ latex: '\\overleftrightarrow{\\overline{}}', // used this notation to display the pink box
18
18
  symbol: 'AB',
19
19
  command: '\\overleftrightarrow'
20
20
  });
@@ -51,7 +51,7 @@ export const angle = set({
51
51
  });
52
52
  export const overArc = set({
53
53
  name: 'Over arc',
54
- latex: '\\overarc{}',
54
+ latex: '\\overarc{\\overline{}}', // used this notation to display the pink box
55
55
  command: '\\overarc'
56
56
  });
57
57
  export const measureOfAngle = set({
@@ -66,6 +66,12 @@ export const triangle = set({
66
66
  command: '\\triangle'
67
67
  });
68
68
 
69
+ export const square = set({
70
+ name: 'Square',
71
+ latex: '\\square',
72
+ command: '\\square'
73
+ });
74
+
69
75
  export const parallelogram = set({
70
76
  name: 'Parallelogram',
71
77
  latex: '\\parallelogram',
@@ -114,3 +120,21 @@ export const doublePrimeArcSecond = set({
114
120
  latex: '"',
115
121
  write: '"'
116
122
  });
123
+
124
+ export const leftArrow = set({
125
+ name: 'Left Arrow',
126
+ latex: '\\leftarrow',
127
+ command: '\\leftarrow'
128
+ });
129
+
130
+ export const rightArrow = set({
131
+ name: 'Right Arrow',
132
+ latex: '\\rightarrow',
133
+ command: '\\rightarrow'
134
+ });
135
+
136
+ export const leftrightArrow = set({
137
+ name: 'Left Right Arrow',
138
+ latex: '\\leftrightarrow',
139
+ command: '\\leftrightarrow'
140
+ });
@@ -14,18 +14,27 @@ import * as basicOperators from './basic-operators';
14
14
  import * as matrices from './matrices';
15
15
  import digits from './digits';
16
16
  import * as logic from './logic';
17
+ import * as nav from './navigation';
18
+ import * as edit from './edit';
17
19
 
18
20
  const hs = [
19
- [vars.x, vars.y, exponent.squared, exponent.squareRoot, vars.theta],
20
- [fractions.xOverBlank, subSup.subscript, exponent.xToPowerOfN, exponent.nthRoot],
21
- [comparison.lessThanEqual, comparison.greaterThanEqual, misc.plusMinus, misc.absValue],
22
- [constants.pi, { name: 'i', latex: 'i', write: 'i' }, misc.parenthesis, misc.brackets],
23
- [trigonometry.sin, trigonometry.cos, trigonometry.tan, geometry.degree]
21
+ [fractions.blankOverBlank, misc.percentage, vars.x, exponent.squared, exponent.squareRoot],
22
+ [operators.circleDot, vars.y, subSup.subscript, exponent.xToPowerOfN, exponent.nthRoot],
23
+ [
24
+ misc.plusMinus,
25
+ comparison.lessThan,
26
+ comparison.greaterThan,
27
+ comparison.lessThanEqual,
28
+ comparison.greaterThanEqual
29
+ ],
30
+ [constants.pi, vars.theta, misc.parenthesis, misc.brackets, misc.absValue],
31
+ [misc.notEqual, trigonometry.sin, trigonometry.cos, trigonometry.tan, geometry.degree]
24
32
  ];
25
33
 
26
34
  const advancedAlgebra = (() => {
27
35
  const out = [...hs.map(arr => [...arr])];
28
36
 
37
+ out[0].push({ name: 'i', latex: 'i', write: 'i' });
29
38
  out[1].push(log.log);
30
39
  out[2].push(log.logSubscript);
31
40
  out[3].push(log.ln);
@@ -35,10 +44,11 @@ const advancedAlgebra = (() => {
35
44
 
36
45
  const statisticsSet = (() => {
37
46
  const out = [...hs.map(arr => [...arr])];
38
- out[1].push(statistics.mu);
39
- out[2].push(statistics.xBar);
40
- out[3].push(statistics.yBar);
41
- out[4].push(statistics.sigma);
47
+ out[0].push(statistics.mu);
48
+ out[1].push(statistics.xBar);
49
+ out[2].push(statistics.yBar);
50
+ out[3].push(statistics.sigma);
51
+ out[4].push(statistics.smallSigma);
42
52
  return out;
43
53
  })();
44
54
 
@@ -54,109 +64,148 @@ export const gradeSets = [
54
64
  {
55
65
  predicate: n => n >= 6 && n <= 7,
56
66
  set: [
57
- [vars.x, vars.y, exponent.squared, exponent.squareRoot, operators.circleDot],
58
- [fractions.xOverBlank, fractions.xBlankBlank, exponent.xToPowerOfN, exponent.nthRoot, logic.longDivision],
59
- [comparison.lessThan, comparison.greaterThan, misc.plusMinus, misc.absValue],
60
- [comparison.lessThanEqual, comparison.greaterThanEqual, misc.parenthesis, constants.pi],
61
- [trigonometry.sin, trigonometry.cos, trigonometry.tan, geometry.degree]
67
+ [geometry.degree, comparison.lessThan, comparison.greaterThan],
68
+ [operators.circleDot, comparison.lessThanEqual, comparison.greaterThanEqual],
69
+ [vars.x, vars.y, exponent.squared, exponent.xToPowerOfN],
70
+ [misc.plusMinus, fractions.xOverBlank, fractions.xBlankBlank, exponent.squareRoot],
71
+ [constants.pi, misc.parenthesis, misc.absValue, exponent.nthRoot]
62
72
  ]
63
73
  },
64
74
  {
65
75
  predicate: n => n >= 8 || n === 'HS',
76
+ set: hs
77
+ },
78
+ {
79
+ predicate: 'non-negative-integers',
66
80
  set: [
67
- [vars.x, vars.y, exponent.squared, exponent.squareRoot, operators.circleDot],
68
- [fractions.xOverBlank, subSup.subscript, exponent.xToPowerOfN, exponent.nthRoot],
69
- [
70
- comparison.lessThanEqual,
71
- comparison.greaterThanEqual,
72
- misc.plusMinus,
73
- misc.absValue
74
- // matrices.singleCellMatrix
75
- ],
76
- [
77
- constants.pi,
78
- { name: 'i', latex: 'i', write: 'i' },
79
- misc.parenthesis,
80
- misc.brackets
81
- // matrices.doubleCellMatrix
82
- ],
83
- [trigonometry.sin, trigonometry.cos, trigonometry.tan, geometry.degree]
81
+ [digits.seven, digits.eight, digits.nine],
82
+ [digits.four, digits.five, digits.six],
83
+ [digits.one, digits.two, digits.three],
84
+ [digits.zero, { name: '', latex: '', write: '' }, { name: '', latex: '', write: '' }],
85
+ [nav.left, nav.right, edit.del]
86
+ ]
87
+ },
88
+ {
89
+ predicate: 'integers',
90
+ set: [
91
+ [digits.seven, digits.eight, digits.nine],
92
+ [digits.four, digits.five, digits.six],
93
+ [digits.one, digits.two, digits.three],
94
+ [digits.zero, { name: '', latex: '', write: '' }, basicOperators.minus],
95
+ [nav.left, nav.right, edit.del]
96
+ ]
97
+ },
98
+ {
99
+ predicate: 'decimals',
100
+ set: [
101
+ [digits.seven, digits.eight, digits.nine],
102
+ [digits.four, digits.five, digits.six],
103
+ [digits.one, digits.two, digits.three],
104
+ [digits.zero, digits.decimalPoint, basicOperators.minus],
105
+ [nav.left, nav.right, edit.del]
106
+ ]
107
+ },
108
+ {
109
+ predicate: 'fractions',
110
+ set: [
111
+ [digits.seven, digits.eight, digits.nine],
112
+ [digits.four, digits.five, digits.six],
113
+ [digits.one, digits.two, digits.three],
114
+ [digits.zero, fractions.blankOverBlank, basicOperators.minus],
115
+ [nav.left, nav.right, edit.del]
84
116
  ]
85
117
  },
86
118
  {
87
119
  predicate: 'geometry',
88
120
  set: [
89
121
  [
122
+ fractions.blankOverBlank,
90
123
  geometry.degree,
91
124
  geometry.primeArcminute,
92
125
  geometry.doublePrimeArcSecond,
93
- geometry.triangle,
94
- fractions.xOverBlank
126
+ geometry.congruentTo,
127
+ geometry.similarTo
95
128
  ],
96
129
  [
130
+ operators.circleDot,
97
131
  geometry.angle,
98
132
  geometry.measureOfAngle,
99
- geometry.similarTo,
100
- geometry.congruentTo,
101
- exponent.squareRoot
102
- ],
103
- [trigonometry.sin, trigonometry.cos, trigonometry.tan, trigonometry.sec, exponent.nthRoot],
104
- [trigonometry.csc, trigonometry.cot, exponent.xToPowerOfN, constants.pi, subSup.subscript],
105
- [
106
- geometry.overline,
107
- geometry.overRightArrow,
108
- geometry.overLeftRightArrow,
109
- geometry.overArc,
110
- vars.theta
111
- ]
112
- ]
113
- },
114
- {
115
- predicate: 'miscellaneous',
116
- set: [
117
- [
118
- subSup.superscript,
119
- subSup.subscript,
120
- fractions.blankOverBlank,
121
- misc.percentage,
122
- geometry.segment,
123
- geometry.parallel
133
+ geometry.triangle,
134
+ geometry.notCongruentTo,
135
+ misc.notSimilar
124
136
  ],
125
137
  [
138
+ trigonometry.sin,
139
+ trigonometry.cos,
140
+ trigonometry.tan,
141
+ constants.pi,
126
142
  exponent.squareRoot,
127
- exponent.nthRoot,
128
- misc.absValue,
129
- misc.parenthesis,
130
- geometry.perpindicular,
131
- geometry.angle
143
+ exponent.nthRoot
132
144
  ],
133
145
  [
134
- comparison.lessThan,
135
- comparison.greaterThan,
136
- geometry.degree,
137
- misc.approx,
138
- geometry.measureOfAngle,
139
- geometry.triangle
140
- ],
141
- [
142
- misc.nApprox,
143
- misc.notEqual,
144
- geometry.congruentTo,
145
- geometry.notCongruentTo,
146
- geometry.parallelogram,
147
- geometry.circledDot
146
+ trigonometry.csc,
147
+ trigonometry.sec,
148
+ trigonometry.cot,
149
+ vars.theta,
150
+ subSup.subscript,
151
+ exponent.xToPowerOfN
148
152
  ],
149
153
  [
150
- misc.similar,
151
- misc.notSimilar,
152
- comparison.lessThanEqual,
153
- comparison.greaterThanEqual,
154
- vars.x,
155
- vars.y
154
+ geometry.overline,
155
+ geometry.overRightArrow,
156
+ geometry.overLeftRightArrow,
157
+ geometry.overArc,
158
+ geometry.perpindicular,
159
+ geometry.parallel
156
160
  ]
157
161
  ]
158
162
  },
159
163
  // {
164
+ // predicate: 'miscellaneous',
165
+ // set: [
166
+ // [
167
+ // subSup.superscript,
168
+ // subSup.subscript,
169
+ // fractions.blankOverBlank,
170
+ // misc.percentage,
171
+ // geometry.segment,
172
+ // geometry.parallel
173
+ // ],
174
+ // [
175
+ // exponent.squareRoot,
176
+ // exponent.nthRoot,
177
+ // misc.absValue,
178
+ // misc.parenthesis,
179
+ // geometry.perpindicular,
180
+ // geometry.angle
181
+ // ],
182
+ // [
183
+ // comparison.lessThan,
184
+ // comparison.greaterThan,
185
+ // geometry.degree,
186
+ // misc.approx,
187
+ // geometry.measureOfAngle,
188
+ // geometry.triangle
189
+ // ],
190
+ // [
191
+ // misc.nApprox,
192
+ // misc.notEqual,
193
+ // geometry.congruentTo,
194
+ // geometry.notCongruentTo,
195
+ // geometry.parallelogram,
196
+ // geometry.circledDot
197
+ // ],
198
+ // [
199
+ // misc.similar,
200
+ // misc.notSimilar,
201
+ // comparison.lessThanEqual,
202
+ // comparison.greaterThanEqual,
203
+ // vars.x,
204
+ // vars.y
205
+ // ]
206
+ // ]
207
+ // },
208
+ // {
160
209
  // predicate: 'everything',
161
210
  // set: [
162
211
  // [
@@ -208,6 +257,71 @@ export const gradeSets = [
208
257
  {
209
258
  predicate: 'statistics',
210
259
  set: statisticsSet
260
+ },
261
+ {
262
+ predicate: 'item-authoring',
263
+ set: [
264
+ [
265
+ basicOperators.divide,
266
+ fractions.blankOverBlank,
267
+ logic.longDivision,
268
+ constants.halfInfinity,
269
+ exponent.squared,
270
+ exponent.squareRoot,
271
+ geometry.overline,
272
+ geometry.overRightArrow,
273
+ geometry.overLeftRightArrow,
274
+ log.log
275
+ ],
276
+ [
277
+ basicOperators.multiply,
278
+ operators.circleDot,
279
+ { name: '', latex: '', write: '' },
280
+ subSup.subscript,
281
+ exponent.xToPowerOfN,
282
+ exponent.nthRoot,
283
+ geometry.perpindicular,
284
+ geometry.parallel,
285
+ geometry.overArc,
286
+ log.logSubscript
287
+ ],
288
+ [
289
+ misc.plusMinus,
290
+ constants.pi,
291
+ vars.theta,
292
+ geometry.degree,
293
+ geometry.angle,
294
+ geometry.leftArrow,
295
+ geometry.rightArrow,
296
+ geometry.triangle,
297
+ geometry.square,
298
+ log.ln
299
+ ],
300
+ [
301
+ misc.notEqual,
302
+ misc.absValue,
303
+ statistics.smallSigma,
304
+ statistics.mu,
305
+ logic.therefore,
306
+ statistics.sigma,
307
+ geometry.leftrightArrow,
308
+ trigonometry.sin,
309
+ trigonometry.cos,
310
+ trigonometry.tan
311
+ ],
312
+ [
313
+ comparison.lessThanEqual,
314
+ comparison.greaterThanEqual,
315
+ { name: '', latex: '', write: '' },
316
+ { name: '', latex: '', write: '' },
317
+ constants.infinity,
318
+ { name: '', latex: '', write: '' },
319
+ { name: '', latex: '', write: '' },
320
+ trigonometry.csc,
321
+ trigonometry.sec,
322
+ trigonometry.cot
323
+ ]
324
+ ]
211
325
  }
212
326
  ];
213
327
 
@@ -260,6 +374,6 @@ export const normalizeAdditionalKeys = additionalKeys => {
260
374
  latex === key.otherNotation
261
375
  );
262
376
 
263
- return predefinedKey || additionalkey;
377
+ return !latex ? additionalkey : predefinedKey || additionalkey;
264
378
  });
265
379
  };
package/src/keys/log.js CHANGED
@@ -12,7 +12,7 @@ export const logSubscript = set({
12
12
  name: 'Log with subscript',
13
13
  label: 'log s',
14
14
  latex: '\\log_{}',
15
- command: ['\\log', '_']
15
+ command: ['\\log', '_', ' ']
16
16
  });
17
17
  export const ln = set({
18
18
  name: 'Ln',
@@ -27,3 +27,10 @@ export const sigma = set({
27
27
  latex: '\\Sigma',
28
28
  write: '\\Sigma'
29
29
  });
30
+
31
+ export const smallSigma = set({
32
+ name: 'sigma',
33
+ label: '\\sigma',
34
+ latex: '\\sigma',
35
+ write: '\\sigma'
36
+ });