@pie-lib/math-input 6.28.6-esmbeta.2 → 6.29.0-mui-update.0

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 (76) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/horizontal-keypad.js +16 -44
  3. package/lib/horizontal-keypad.js.map +1 -1
  4. package/lib/index.js +3 -25
  5. package/lib/index.js.map +1 -1
  6. package/lib/keypad/index.js +233 -314
  7. package/lib/keypad/index.js.map +1 -1
  8. package/lib/keypad/keys-layout.js +2 -12
  9. package/lib/keypad/keys-layout.js.map +1 -1
  10. package/lib/keys/basic-operators.js +5 -13
  11. package/lib/keys/basic-operators.js.map +1 -1
  12. package/lib/keys/chars.js +5 -10
  13. package/lib/keys/chars.js.map +1 -1
  14. package/lib/keys/comparison.js +6 -16
  15. package/lib/keys/comparison.js.map +1 -1
  16. package/lib/keys/constants.js +4 -10
  17. package/lib/keys/constants.js.map +1 -1
  18. package/lib/keys/digits.js +1 -7
  19. package/lib/keys/digits.js.map +1 -1
  20. package/lib/keys/edit.js +1 -4
  21. package/lib/keys/edit.js.map +1 -1
  22. package/lib/keys/exponent.js +4 -10
  23. package/lib/keys/exponent.js.map +1 -1
  24. package/lib/keys/fractions.js +3 -8
  25. package/lib/keys/fractions.js.map +1 -1
  26. package/lib/keys/geometry.js +25 -54
  27. package/lib/keys/geometry.js.map +1 -1
  28. package/lib/keys/grades.js +10 -46
  29. package/lib/keys/grades.js.map +1 -1
  30. package/lib/keys/index.js +13 -32
  31. package/lib/keys/index.js.map +1 -1
  32. package/lib/keys/log.js +3 -8
  33. package/lib/keys/log.js.map +1 -1
  34. package/lib/keys/logic.js +2 -6
  35. package/lib/keys/logic.js.map +1 -1
  36. package/lib/keys/matrices.js +2 -6
  37. package/lib/keys/matrices.js.map +1 -1
  38. package/lib/keys/misc.js +10 -22
  39. package/lib/keys/misc.js.map +1 -1
  40. package/lib/keys/navigation.js +2 -7
  41. package/lib/keys/navigation.js.map +1 -1
  42. package/lib/keys/operators.js +1 -4
  43. package/lib/keys/operators.js.map +1 -1
  44. package/lib/keys/statistics.js +5 -12
  45. package/lib/keys/statistics.js.map +1 -1
  46. package/lib/keys/sub-sup.js +2 -6
  47. package/lib/keys/sub-sup.js.map +1 -1
  48. package/lib/keys/trigonometry.js +6 -14
  49. package/lib/keys/trigonometry.js.map +1 -1
  50. package/lib/keys/utils.js +7 -40
  51. package/lib/keys/utils.js.map +1 -1
  52. package/lib/keys/vars.js +3 -8
  53. package/lib/keys/vars.js.map +1 -1
  54. package/lib/math-input.js +52 -103
  55. package/lib/math-input.js.map +1 -1
  56. package/lib/mq/common-mq-styles.js +7 -18
  57. package/lib/mq/common-mq-styles.js.map +1 -1
  58. package/lib/mq/custom-elements.js +1 -4
  59. package/lib/mq/custom-elements.js.map +1 -1
  60. package/lib/mq/index.js +0 -4
  61. package/lib/mq/index.js.map +1 -1
  62. package/lib/mq/input.js +22 -75
  63. package/lib/mq/input.js.map +1 -1
  64. package/lib/mq/static.js +31 -92
  65. package/lib/mq/static.js.map +1 -1
  66. package/lib/shared/constants.js +3 -6
  67. package/lib/updateSpans.js +1 -5
  68. package/lib/updateSpans.js.map +1 -1
  69. package/package.json +9 -14
  70. package/src/keypad/index.jsx +151 -151
  71. package/src/math-input.jsx +35 -44
  72. package/src/mq/input.jsx +9 -9
  73. package/esm/index.css +0 -847
  74. package/esm/index.js +0 -60134
  75. package/esm/index.js.map +0 -1
  76. package/esm/package.json +0 -1
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { withStyles } from '@material-ui/core/styles';
4
- import classNames from 'classnames';
3
+ import { styled } from '@mui/material/styles';
5
4
  import * as mq from './mq';
6
5
  import { baseSet } from './keys';
7
6
  import KeyPad from './keypad';
@@ -9,9 +8,35 @@ import debug from 'debug';
9
8
 
10
9
  const log = debug('pie-lib:math-input');
11
10
 
11
+ const grey = 'rgba(0, 0, 0, 0.23)';
12
+
13
+ const MathInputContainer = styled('div')(({ theme, focused }) => ({
14
+ borderRadius: '4px',
15
+ border: `solid 1px ${focused ? theme.palette.primary.main : grey}`,
16
+ marginTop: theme.spacing(1),
17
+ marginBottom: theme.spacing(1),
18
+ transition: 'border 200ms linear',
19
+ }));
20
+
21
+ const PadContainer = styled('div')({
22
+ width: '100%',
23
+ display: 'flex',
24
+ });
25
+
26
+ const StyledMqInput = styled(mq.Input)(({ theme }) => ({
27
+ width: '100%',
28
+ border: `solid 0px ${theme.palette.primary.light}`,
29
+ transition: 'border 200ms linear',
30
+ padding: theme.spacing(1),
31
+ '&.mq-focused': {
32
+ outline: 'none',
33
+ boxShadow: 'none',
34
+ border: `solid 0px ${theme.palette.primary.dark}`,
35
+ },
36
+ }));
37
+
12
38
  export class MathInput extends React.Component {
13
39
  static propTypes = {
14
- classes: PropTypes.object.isRequired,
15
40
  className: PropTypes.string,
16
41
  keyset: PropTypes.array,
17
42
  displayMode: PropTypes.oneOf(['block', 'block-on-focus']),
@@ -67,15 +92,14 @@ export class MathInput extends React.Component {
67
92
  };
68
93
 
69
94
  render() {
70
- const { classes, className, keyset, latex } = this.props;
95
+ const { className, keyset, latex } = this.props;
71
96
  const { focused } = this.state;
72
97
 
73
98
  const showKeypad = true; // TODO: add support for different displayModes - displayMode === 'block' || focused;
74
99
 
75
100
  return (
76
- <div className={classNames(classes.mathInput, className, focused && classes.focused)}>
77
- <mq.Input
78
- className={classes.mqInput}
101
+ <MathInputContainer className={className} focused={focused}>
102
+ <StyledMqInput
79
103
  innerRef={(r) => (this.input = r)}
80
104
  onFocus={this.inputFocus}
81
105
  onBlur={this.inputBlur}
@@ -83,46 +107,13 @@ export class MathInput extends React.Component {
83
107
  onChange={this.changeLatex}
84
108
  />
85
109
  {showKeypad && (
86
- <div className={classes.pad}>
110
+ <PadContainer>
87
111
  <KeyPad baseSet={baseSet} additionalKeys={keyset} onPress={this.keypadPress} />
88
- </div>
112
+ </PadContainer>
89
113
  )}
90
- </div>
114
+ </MathInputContainer>
91
115
  );
92
116
  }
93
117
  }
94
118
 
95
- const grey = 'rgba(0, 0, 0, 0.23)';
96
- const styles = (theme) => ({
97
- formGroup: {
98
- display: 'flex',
99
- textAlign: 'right',
100
- float: 'right',
101
- },
102
- pad: {
103
- width: '100%',
104
- display: 'flex',
105
- },
106
- mathInput: {
107
- borderRadius: '4px',
108
- border: `solid 1px ${grey}`,
109
- marginTop: theme.spacing.unit,
110
- marginBottom: theme.spacing.unit,
111
- transition: 'border 200ms linear',
112
- },
113
- focused: {
114
- border: `solid 1px ${theme.palette.primary.main}`,
115
- },
116
- mqInput: {
117
- width: '100%',
118
- border: `solid 0px ${theme.palette.primary.light}`,
119
- transition: 'border 200ms linear',
120
- padding: theme.spacing.unit,
121
- '&.mq-focused': {
122
- outline: 'none',
123
- boxShadow: 'none',
124
- border: `solid 0px ${theme.palette.primary.dark}`,
125
- },
126
- },
127
- });
128
- export default withStyles(styles)(MathInput);
119
+ export default MathInput;
package/src/mq/input.jsx CHANGED
@@ -1,8 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { withStyles } from '@material-ui/core/styles';
3
+ import { styled } from '@mui/material/styles';
4
4
  import debug from 'debug';
5
- import classNames from 'classnames';
6
5
  import { registerLineBreak } from './custom-elements';
7
6
  import MathQuill from '@pie-framework/mathquill';
8
7
 
@@ -17,13 +16,16 @@ if (typeof window !== 'undefined') {
17
16
 
18
17
  const log = debug('math-input:mq:input');
19
18
 
19
+ const StyledSpan = styled('span')({
20
+ // No specific styles needed, but component is available for future styling
21
+ });
22
+
20
23
  /**
21
24
  * Wrapper for MathQuill MQ.MathField.
22
25
  */
23
26
  export class Input extends React.Component {
24
27
  static propTypes = {
25
28
  className: PropTypes.string,
26
- classes: PropTypes.object.isRequired,
27
29
  onClick: PropTypes.func,
28
30
  onChange: PropTypes.func,
29
31
  latex: PropTypes.string,
@@ -156,11 +158,11 @@ export class Input extends React.Component {
156
158
  }
157
159
 
158
160
  render() {
159
- const { onFocus, onBlur, classes, className } = this.props;
161
+ const { onFocus, onBlur, className } = this.props;
160
162
 
161
163
  return (
162
- <span
163
- className={classNames(classes.input, className)}
164
+ <StyledSpan
165
+ className={className}
164
166
  onKeyDown={this.onKeyPress}
165
167
  onClick={this.onClick}
166
168
  onFocus={onFocus}
@@ -171,6 +173,4 @@ export class Input extends React.Component {
171
173
  }
172
174
  }
173
175
 
174
- const styles = () => ({});
175
-
176
- export default withStyles(styles)(Input);
176
+ export default Input;