@pie-lib/config-ui 11.30.3-next.2 → 11.30.3-next.205
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -67
- package/lib/alert-dialog.js +35 -42
- package/lib/alert-dialog.js.map +1 -1
- package/lib/checkbox.js +56 -71
- package/lib/checkbox.js.map +1 -1
- package/lib/choice-configuration/feedback-menu.js +29 -64
- package/lib/choice-configuration/feedback-menu.js.map +1 -1
- package/lib/choice-configuration/index.js +202 -262
- package/lib/choice-configuration/index.js.map +1 -1
- package/lib/choice-utils.js +6 -18
- package/lib/choice-utils.js.map +1 -1
- package/lib/feedback-config/feedback-selector.js +79 -115
- package/lib/feedback-config/feedback-selector.js.map +1 -1
- package/lib/feedback-config/group.js +26 -40
- package/lib/feedback-config/group.js.map +1 -1
- package/lib/feedback-config/index.js +47 -90
- package/lib/feedback-config/index.js.map +1 -1
- package/lib/form-section.js +31 -33
- package/lib/form-section.js.map +1 -1
- package/lib/help.js +39 -80
- package/lib/help.js.map +1 -1
- package/lib/index.js +1 -31
- package/lib/index.js.map +1 -1
- package/lib/input.js +21 -54
- package/lib/input.js.map +1 -1
- package/lib/inputs.js +61 -95
- package/lib/inputs.js.map +1 -1
- package/lib/langs.js +58 -101
- package/lib/langs.js.map +1 -1
- package/lib/layout/config-layout.js +40 -70
- package/lib/layout/config-layout.js.map +1 -1
- package/lib/layout/index.js +0 -3
- package/lib/layout/index.js.map +1 -1
- package/lib/layout/layout-contents.js +72 -103
- package/lib/layout/layout-contents.js.map +1 -1
- package/lib/layout/settings-box.js +27 -56
- package/lib/layout/settings-box.js.map +1 -1
- package/lib/mui-box/index.js +41 -57
- package/lib/mui-box/index.js.map +1 -1
- package/lib/number-text-field-custom.js +79 -161
- package/lib/number-text-field-custom.js.map +1 -1
- package/lib/number-text-field.js +80 -114
- package/lib/number-text-field.js.map +1 -1
- package/lib/radio-with-label.js +30 -31
- package/lib/radio-with-label.js.map +1 -1
- package/lib/settings/display-size.js +16 -32
- package/lib/settings/display-size.js.map +1 -1
- package/lib/settings/index.js +14 -47
- package/lib/settings/index.js.map +1 -1
- package/lib/settings/panel.js +159 -229
- package/lib/settings/panel.js.map +1 -1
- package/lib/settings/settings-radio-label.js +28 -30
- package/lib/settings/settings-radio-label.js.map +1 -1
- package/lib/settings/toggle.js +35 -46
- package/lib/settings/toggle.js.map +1 -1
- package/lib/tabs/index.js +22 -57
- package/lib/tabs/index.js.map +1 -1
- package/lib/tags-input/index.js +50 -99
- package/lib/tags-input/index.js.map +1 -1
- package/lib/two-choice.js +46 -90
- package/lib/two-choice.js.map +1 -1
- package/lib/with-stateful-model.js +8 -31
- package/lib/with-stateful-model.js.map +1 -1
- package/package.json +12 -20
- package/src/__tests__/alert-dialog.test.jsx +283 -0
- package/src/__tests__/checkbox.test.jsx +249 -0
- package/src/__tests__/form-section.test.jsx +334 -0
- package/src/__tests__/help.test.jsx +184 -0
- package/src/__tests__/input.test.jsx +192 -0
- package/src/__tests__/langs.test.jsx +435 -15
- package/src/__tests__/number-text-field-custom.test.jsx +438 -0
- package/src/__tests__/number-text-field.test.jsx +295 -102
- package/src/__tests__/radio-with-label.test.jsx +259 -0
- package/src/__tests__/settings-panel.test.js +66 -83
- package/src/__tests__/settings.test.jsx +515 -0
- package/src/__tests__/tabs.test.jsx +193 -0
- package/src/__tests__/two-choice.test.js +104 -18
- package/src/__tests__/with-stateful-model.test.jsx +145 -0
- package/src/alert-dialog.jsx +21 -19
- package/src/checkbox.jsx +42 -46
- package/src/choice-configuration/__tests__/feedback-menu.test.jsx +157 -4
- package/src/choice-configuration/__tests__/index.test.jsx +198 -56
- package/src/choice-configuration/feedback-menu.jsx +6 -6
- package/src/choice-configuration/index.jsx +201 -203
- package/src/feedback-config/__tests__/feedback-config.test.jsx +130 -60
- package/src/feedback-config/__tests__/feedback-selector.test.jsx +81 -44
- package/src/feedback-config/feedback-selector.jsx +50 -55
- package/src/feedback-config/group.jsx +21 -22
- package/src/feedback-config/index.jsx +27 -29
- package/src/form-section.jsx +26 -18
- package/src/help.jsx +20 -28
- package/src/input.jsx +1 -1
- package/src/inputs.jsx +34 -50
- package/src/langs.jsx +41 -46
- package/src/layout/__tests__/config.layout.test.jsx +55 -38
- package/src/layout/config-layout.jsx +38 -32
- package/src/layout/layout-contents.jsx +38 -39
- package/src/layout/settings-box.jsx +16 -19
- package/src/mui-box/index.jsx +35 -43
- package/src/number-text-field-custom.jsx +30 -36
- package/src/number-text-field.jsx +45 -29
- package/src/radio-with-label.jsx +25 -13
- package/src/settings/display-size.jsx +12 -11
- package/src/settings/panel.jsx +97 -91
- package/src/settings/settings-radio-label.jsx +25 -13
- package/src/settings/toggle.jsx +30 -29
- package/src/tabs/index.jsx +8 -8
- package/src/tags-input/__tests__/index.test.jsx +88 -37
- package/src/tags-input/index.jsx +35 -38
- package/src/two-choice.jsx +15 -19
- package/esm/index.css +0 -847
- package/esm/index.js +0 -213950
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -3
- package/src/__tests__/__snapshots__/langs.test.jsx.snap +0 -32
- package/src/__tests__/__snapshots__/settings-panel.test.js.snap +0 -115
- package/src/__tests__/__snapshots__/two-choice.test.js.snap +0 -171
- package/src/choice-configuration/__tests__/__snapshots__/feedback-menu.test.jsx.snap +0 -51
- package/src/choice-configuration/__tests__/__snapshots__/index.test.jsx.snap +0 -519
- package/src/feedback-config/__tests__/__snapshots__/feedback-config.test.jsx.snap +0 -27
- package/src/feedback-config/__tests__/__snapshots__/feedback-selector.test.jsx.snap +0 -38
- package/src/layout/__tests__/__snapshots__/config.layout.test.jsx.snap +0 -59
- package/src/tags-input/__tests__/__snapshots__/index.test.jsx.snap +0 -170
package/src/mui-box/index.jsx
CHANGED
|
@@ -1,61 +1,53 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import {
|
|
3
|
+
import { styled } from '@mui/material/styles';
|
|
4
4
|
import debug from 'debug';
|
|
5
|
-
import classNames from 'classnames';
|
|
6
5
|
|
|
7
6
|
const log = debug('pie-elements:config-ui:mui-box');
|
|
8
7
|
|
|
9
|
-
const
|
|
10
|
-
const light = theme.palette.
|
|
8
|
+
const StyledMuiBox = styled('div')(({ theme, focused }) => {
|
|
9
|
+
const light = theme.palette.mode === 'light';
|
|
11
10
|
const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
|
|
12
11
|
|
|
13
|
-
log(theme.palette.primary[theme.palette.
|
|
12
|
+
log(theme.palette.primary[theme.palette.mode || 'light']);
|
|
14
13
|
|
|
15
14
|
return {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
backgroundColor: bottomLineColor,
|
|
30
|
-
},
|
|
31
|
-
'&:hover:before': {
|
|
32
|
-
height: '2px',
|
|
33
|
-
},
|
|
34
|
-
'&:after': {
|
|
35
|
-
left: 0,
|
|
36
|
-
right: 0,
|
|
37
|
-
bottom: 0,
|
|
38
|
-
height: '2px',
|
|
39
|
-
content: '""',
|
|
40
|
-
position: 'absolute',
|
|
41
|
-
transform: 'scaleX(0)',
|
|
42
|
-
transition: 'transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms',
|
|
43
|
-
pointerEvents: 'none',
|
|
44
|
-
backgroundColor: theme.palette.primary[theme.palette.type], //'#304ffe'
|
|
45
|
-
},
|
|
15
|
+
paddingTop: theme.spacing(1),
|
|
16
|
+
paddingBottom: theme.spacing(1),
|
|
17
|
+
position: 'relative',
|
|
18
|
+
'&:before': {
|
|
19
|
+
left: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
bottom: 0,
|
|
22
|
+
height: '1px',
|
|
23
|
+
content: '""',
|
|
24
|
+
position: 'absolute',
|
|
25
|
+
transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',
|
|
26
|
+
pointerEvents: 'none',
|
|
27
|
+
backgroundColor: bottomLineColor,
|
|
46
28
|
},
|
|
47
|
-
|
|
48
|
-
'
|
|
49
|
-
|
|
50
|
-
|
|
29
|
+
'&:hover:before': {
|
|
30
|
+
height: '2px',
|
|
31
|
+
},
|
|
32
|
+
'&:after': {
|
|
33
|
+
left: 0,
|
|
34
|
+
right: 0,
|
|
35
|
+
bottom: 0,
|
|
36
|
+
height: '2px',
|
|
37
|
+
content: '""',
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
transform: focused ? 'scaleX(1)' : 'scaleX(0)',
|
|
40
|
+
transition: 'transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms',
|
|
41
|
+
pointerEvents: 'none',
|
|
42
|
+
backgroundColor: theme.palette.primary[theme.palette.mode], //'#304ffe'
|
|
51
43
|
},
|
|
52
44
|
};
|
|
53
|
-
})(({ children, classes, focused }) => {
|
|
54
|
-
const names = classNames(classes.muiBox, focused && classes.focused);
|
|
55
|
-
|
|
56
|
-
return <div className={names}>{children}</div>;
|
|
57
45
|
});
|
|
58
46
|
|
|
47
|
+
const MuiBox = ({ children, focused }) => {
|
|
48
|
+
return <StyledMuiBox focused={focused}>{children}</StyledMuiBox>;
|
|
49
|
+
};
|
|
50
|
+
|
|
59
51
|
MuiBox.propTypes = {
|
|
60
52
|
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
|
|
61
53
|
focused: PropTypes.bool.isRequired,
|
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import TextField from '@material
|
|
4
|
-
import
|
|
5
|
-
import { withStyles } from '@material-ui/core/styles';
|
|
3
|
+
import TextField from '@mui/material/TextField';
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
6
5
|
import isFinite from 'lodash/isFinite';
|
|
7
|
-
import IconButton from '@material
|
|
8
|
-
import InputAdornment from '@material
|
|
9
|
-
import Remove from '@
|
|
10
|
-
import Add from '@
|
|
6
|
+
import IconButton from '@mui/material/IconButton';
|
|
7
|
+
import InputAdornment from '@mui/material/InputAdornment';
|
|
8
|
+
import Remove from '@mui/icons-material/Remove';
|
|
9
|
+
import Add from '@mui/icons-material/Add';
|
|
11
10
|
import * as math from 'mathjs';
|
|
12
11
|
|
|
13
|
-
const
|
|
14
|
-
input: {
|
|
15
|
-
|
|
16
|
-
'-moz-appearance': 'textfield',
|
|
17
|
-
},
|
|
18
|
-
'& input[type=number]::-webkit-outer-spin-button': {
|
|
19
|
-
'-webkit-appearance': 'none',
|
|
20
|
-
margin: 0,
|
|
21
|
-
},
|
|
22
|
-
'& input[type=number]::-webkit-inner-spin-button': {
|
|
23
|
-
'-webkit-appearance': 'none',
|
|
24
|
-
margin: 0,
|
|
25
|
-
},
|
|
12
|
+
const StyledTextField = styled(TextField)(() => ({
|
|
13
|
+
'& input[type=number]': {
|
|
14
|
+
MozAppearance: 'textfield',
|
|
26
15
|
},
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
'& input[type=number]::-webkit-outer-spin-button': {
|
|
17
|
+
WebkitAppearance: 'none',
|
|
18
|
+
margin: 0,
|
|
29
19
|
},
|
|
30
|
-
|
|
20
|
+
'& input[type=number]::-webkit-inner-spin-button': {
|
|
21
|
+
WebkitAppearance: 'none',
|
|
22
|
+
margin: 0,
|
|
23
|
+
},
|
|
24
|
+
}));
|
|
25
|
+
|
|
26
|
+
const StyledIconButton = styled(IconButton)(() => ({
|
|
27
|
+
padding: '2px',
|
|
28
|
+
}));
|
|
31
29
|
|
|
32
30
|
const fallbackNumber = (min, max) => {
|
|
33
31
|
if (!isFinite(min) && !isFinite(max)) {
|
|
@@ -45,7 +43,6 @@ const fallbackNumber = (min, max) => {
|
|
|
45
43
|
|
|
46
44
|
export class NumberTextFieldCustom extends React.Component {
|
|
47
45
|
static propTypes = {
|
|
48
|
-
classes: PropTypes.object.isRequired,
|
|
49
46
|
className: PropTypes.string,
|
|
50
47
|
customValues: PropTypes.array,
|
|
51
48
|
disabled: PropTypes.bool,
|
|
@@ -242,7 +239,6 @@ export class NumberTextFieldCustom extends React.Component {
|
|
|
242
239
|
render() {
|
|
243
240
|
const {
|
|
244
241
|
className,
|
|
245
|
-
classes,
|
|
246
242
|
label,
|
|
247
243
|
disabled,
|
|
248
244
|
error,
|
|
@@ -257,7 +253,7 @@ export class NumberTextFieldCustom extends React.Component {
|
|
|
257
253
|
type = 'number',
|
|
258
254
|
} = this.props;
|
|
259
255
|
const { value } = this.state;
|
|
260
|
-
const names =
|
|
256
|
+
const names = className;
|
|
261
257
|
//Logic to disable the increment and decrement buttons
|
|
262
258
|
let disabledStart = false;
|
|
263
259
|
let disabledEnd = false;
|
|
@@ -270,7 +266,7 @@ export class NumberTextFieldCustom extends React.Component {
|
|
|
270
266
|
}
|
|
271
267
|
|
|
272
268
|
return (
|
|
273
|
-
<
|
|
269
|
+
<StyledTextField
|
|
274
270
|
variant={variant}
|
|
275
271
|
inputRef={(ref) => (this.inputRef = ref)}
|
|
276
272
|
disabled={disabled}
|
|
@@ -303,24 +299,22 @@ export class NumberTextFieldCustom extends React.Component {
|
|
|
303
299
|
disableUnderline: disableUnderline,
|
|
304
300
|
startAdornment: (
|
|
305
301
|
<InputAdornment position="start">
|
|
306
|
-
<
|
|
307
|
-
className={classes.iconButton}
|
|
302
|
+
<StyledIconButton
|
|
308
303
|
disabled={disabled ? disabled : disabledStart}
|
|
309
304
|
onClick={(e) => this.changeValue(e, -1, true)}
|
|
310
|
-
|
|
305
|
+
size="large">
|
|
311
306
|
<Remove fontSize="small" />
|
|
312
|
-
</
|
|
307
|
+
</StyledIconButton>
|
|
313
308
|
</InputAdornment>
|
|
314
309
|
),
|
|
315
310
|
endAdornment: (
|
|
316
311
|
<InputAdornment position="end">
|
|
317
|
-
<
|
|
318
|
-
className={classes.iconButton}
|
|
312
|
+
<StyledIconButton
|
|
319
313
|
disabled={disabled ? disabled : disabledEnd}
|
|
320
314
|
onClick={(e) => this.changeValue(e, 1, true)}
|
|
321
|
-
|
|
315
|
+
size="large">
|
|
322
316
|
<Add fontSize="small" />
|
|
323
|
-
</
|
|
317
|
+
</StyledIconButton>
|
|
324
318
|
</InputAdornment>
|
|
325
319
|
),
|
|
326
320
|
}}
|
|
@@ -334,4 +328,4 @@ export class NumberTextFieldCustom extends React.Component {
|
|
|
334
328
|
}
|
|
335
329
|
}
|
|
336
330
|
|
|
337
|
-
export default
|
|
331
|
+
export default NumberTextFieldCustom;
|
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import TextField from '@material
|
|
4
|
-
import
|
|
5
|
-
import { withStyles } from '@material-ui/core/styles';
|
|
3
|
+
import TextField from '@mui/material/TextField';
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
6
5
|
import debug from 'debug';
|
|
7
6
|
import isFinite from 'lodash/isFinite';
|
|
8
|
-
import InputAdornment from '@material
|
|
7
|
+
import InputAdornment from '@mui/material/InputAdornment';
|
|
9
8
|
const log = debug('@pie-lib:config-ui:number-text-field');
|
|
10
9
|
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
const StyledTextField = styled(TextField)(({ theme }) => ({
|
|
11
|
+
marginRight: theme.spacing(1),
|
|
12
|
+
'& .MuiInputLabel-root': {
|
|
13
|
+
width: 'auto',
|
|
14
|
+
minWidth: 'max-content',
|
|
15
|
+
maxWidth: 'none',
|
|
16
|
+
whiteSpace: 'nowrap',
|
|
17
|
+
overflow: 'visible',
|
|
18
|
+
transform: 'translate(0, 8px) scale(0.75)',
|
|
19
|
+
transformOrigin: 'top left',
|
|
20
|
+
position: 'relative',
|
|
21
|
+
},
|
|
22
|
+
'& .MuiInputBase-root, & .MuiInput-root, & .MuiFilledInput-root, & .MuiOutlinedInput-root': {
|
|
23
|
+
height: 'auto',
|
|
24
|
+
minHeight: 'auto',
|
|
25
|
+
},
|
|
26
|
+
'& .MuiInputBase-input': {
|
|
27
|
+
height: 'auto',
|
|
28
|
+
minHeight: 'auto',
|
|
29
|
+
padding: '8px 12px',
|
|
30
|
+
},
|
|
31
|
+
'& .MuiInput-root, & .MuiFilledInput-root': {
|
|
32
|
+
'&:before, &:after, &:hover:not(.Mui-disabled):before': {
|
|
33
|
+
display: 'none',
|
|
16
34
|
},
|
|
17
35
|
},
|
|
18
|
-
});
|
|
36
|
+
}));
|
|
19
37
|
|
|
20
38
|
const fallbackNumber = (min, max) => {
|
|
21
39
|
if (!isFinite(min) && !isFinite(max)) {
|
|
@@ -33,7 +51,6 @@ const fallbackNumber = (min, max) => {
|
|
|
33
51
|
export class NumberTextField extends React.Component {
|
|
34
52
|
static propTypes = {
|
|
35
53
|
disabled: PropTypes.bool,
|
|
36
|
-
classes: PropTypes.object.isRequired,
|
|
37
54
|
className: PropTypes.string,
|
|
38
55
|
inputClassName: PropTypes.string,
|
|
39
56
|
onChange: PropTypes.func.isRequired,
|
|
@@ -146,7 +163,6 @@ export class NumberTextField extends React.Component {
|
|
|
146
163
|
render() {
|
|
147
164
|
const {
|
|
148
165
|
className,
|
|
149
|
-
classes,
|
|
150
166
|
label,
|
|
151
167
|
disabled,
|
|
152
168
|
suffix,
|
|
@@ -157,41 +173,41 @@ export class NumberTextField extends React.Component {
|
|
|
157
173
|
showErrorWhenOutsideRange,
|
|
158
174
|
variant,
|
|
159
175
|
} = this.props;
|
|
160
|
-
const names = classNames(classes.root, className);
|
|
161
176
|
|
|
162
177
|
const error = showErrorWhenOutsideRange && this.getError();
|
|
163
178
|
return (
|
|
164
|
-
<
|
|
165
|
-
variant={variant || 'standard'}
|
|
179
|
+
<StyledTextField
|
|
180
|
+
variant={disableUnderline ? 'filled' : (variant || 'standard')}
|
|
166
181
|
inputRef={(ref) => {
|
|
167
182
|
this.inputRef = ref;
|
|
168
183
|
}}
|
|
169
184
|
disabled={disabled}
|
|
170
185
|
label={label}
|
|
186
|
+
InputLabelProps={{
|
|
187
|
+
shrink: true,
|
|
188
|
+
}}
|
|
171
189
|
value={this.state.value}
|
|
172
190
|
error={!!error}
|
|
173
191
|
helperText={error}
|
|
174
192
|
onChange={this.onChange}
|
|
175
193
|
onBlur={this.onBlur}
|
|
176
|
-
|
|
194
|
+
onKeyDown={(e) => {
|
|
177
195
|
// once the Enter key is pressed, we force input blur
|
|
178
196
|
if (e.key === 'Enter' && this.inputRef) {
|
|
179
197
|
this.inputRef.blur();
|
|
180
198
|
}
|
|
181
199
|
}}
|
|
182
200
|
type="number"
|
|
183
|
-
className={
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
min,
|
|
194
|
-
max,
|
|
201
|
+
className={className}
|
|
202
|
+
slotProps={{
|
|
203
|
+
input: {
|
|
204
|
+
endAdornment: suffix && <InputAdornment position="end">{suffix}</InputAdornment>,
|
|
205
|
+
className: inputClassName,
|
|
206
|
+
inputProps: {
|
|
207
|
+
min,
|
|
208
|
+
max,
|
|
209
|
+
},
|
|
210
|
+
},
|
|
195
211
|
}}
|
|
196
212
|
margin="normal"
|
|
197
213
|
/>
|
|
@@ -199,4 +215,4 @@ export class NumberTextField extends React.Component {
|
|
|
199
215
|
}
|
|
200
216
|
}
|
|
201
217
|
|
|
202
|
-
export default
|
|
218
|
+
export default NumberTextField;
|
package/src/radio-with-label.jsx
CHANGED
|
@@ -1,22 +1,34 @@
|
|
|
1
|
-
import FormControlLabel from '@material
|
|
2
|
-
import Radio from '@material
|
|
1
|
+
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
2
|
+
import Radio from '@mui/material/Radio';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import { styled } from '@mui/material/styles';
|
|
5
6
|
import { color } from '@pie-lib/render-ui';
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
label: {
|
|
8
|
+
const StyledFormControlLabel = styled(FormControlLabel)(() => ({
|
|
9
|
+
'& .MuiFormControlLabel-label': {
|
|
9
10
|
left: '-5px',
|
|
10
11
|
position: 'relative',
|
|
11
12
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
const StyledRadio = styled(Radio)(() => ({
|
|
16
|
+
color: `${color.tertiary()} !important`,
|
|
17
|
+
}));
|
|
18
|
+
|
|
19
|
+
const RadioWithLabel = ({ label, value, checked, onChange }) => (
|
|
20
|
+
<StyledFormControlLabel
|
|
17
21
|
value={value}
|
|
18
|
-
|
|
19
|
-
control={<Radio className={classes.customColor} checked={checked} onChange={onChange} />}
|
|
22
|
+
control={<StyledRadio checked={checked} onChange={onChange} />}
|
|
20
23
|
label={label}
|
|
21
24
|
/>
|
|
22
|
-
)
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
RadioWithLabel.propTypes = {
|
|
28
|
+
label: PropTypes.string,
|
|
29
|
+
value: PropTypes.string,
|
|
30
|
+
checked: PropTypes.bool,
|
|
31
|
+
onChange: PropTypes.func,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export default RadioWithLabel;
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import Typography from '@material
|
|
4
|
-
import {
|
|
3
|
+
import Typography from '@mui/material/Typography';
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
5
5
|
import NumberTextField from '../number-text-field';
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
const StyledDisplaySize = styled('div')(({ theme }) => ({
|
|
8
|
+
display: 'flex',
|
|
9
|
+
paddingTop: theme.spacing(1),
|
|
10
|
+
}));
|
|
11
|
+
|
|
12
|
+
const DisplaySize = ({ size, label, onChange }) => {
|
|
13
13
|
const updateSize = (key, v) => {
|
|
14
14
|
onChange({ ...size, [key]: v });
|
|
15
15
|
};
|
|
16
|
+
|
|
16
17
|
return (
|
|
17
18
|
<div>
|
|
18
19
|
<Typography>{label}</Typography>
|
|
19
|
-
<
|
|
20
|
+
<StyledDisplaySize>
|
|
20
21
|
<NumberTextField
|
|
21
22
|
label="Width"
|
|
22
23
|
type="number"
|
|
@@ -35,10 +36,10 @@ const DisplaySize = withStyles((theme) => ({
|
|
|
35
36
|
value={size.height}
|
|
36
37
|
onChange={(e, v) => updateSize('height', v)}
|
|
37
38
|
/>
|
|
38
|
-
</
|
|
39
|
+
</StyledDisplaySize>
|
|
39
40
|
</div>
|
|
40
41
|
);
|
|
41
|
-
}
|
|
42
|
+
};
|
|
42
43
|
|
|
43
44
|
DisplaySize.propTypes = {
|
|
44
45
|
size: PropTypes.shape({
|