@hipay/hipay-material-ui 1.0.0-beta.13 → 1.0.0-beta.15
Sign up to get free protection for your applications and to get access to all the features.
- package/HiBreadcrumb/HiBreadcrumb.js +28 -22
- package/HiBreadcrumb/HiStep.js +96 -60
- package/HiBreadcrumb/HiStepConnector.js +91 -26
- package/HiBreadcrumb/HiStepContent.js +122 -0
- package/HiBreadcrumb/HiStepIcon.js +86 -29
- package/HiBreadcrumb/HiStepLabel.js +128 -62
- package/HiBreadcrumb/HiStepper.js +5 -24
- package/HiDatePicker/HiDateRangePicker.js +69 -28
- package/HiDatePicker/HiDateRangeSelector.js +14 -6
- package/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
- package/HiDatePicker/Overlays/Overlay.js +22 -4
- package/HiDatePicker/stylesheet.js +7 -0
- package/HiForm/HiInput.js +24 -11
- package/HiForm/HiSlider.js +399 -0
- package/HiForm/index.js +9 -0
- package/HiSelect/HiSelect.js +1 -1
- package/HiTable/BodyCellBuilder.js +3 -0
- package/HiTable/BodyCells/CellIcon.js +26 -19
- package/HiTable/BodyCells/CellImage.js +17 -13
- package/HiTable/BodyCells/CellNumeric.js +7 -2
- package/HiTable/BodyCells/CellSentinel.js +14 -13
- package/HiTable/BodyCells/CellThirdPartySecurity.js +43 -19
- package/HiTable/HeaderCell.js +3 -2
- package/es/HiBreadcrumb/HiBreadcrumb.js +27 -19
- package/es/HiBreadcrumb/HiStep.js +55 -54
- package/es/HiBreadcrumb/HiStepConnector.js +86 -26
- package/es/HiBreadcrumb/HiStepContent.js +63 -0
- package/es/HiBreadcrumb/HiStepIcon.js +103 -35
- package/es/HiBreadcrumb/HiStepLabel.js +106 -63
- package/es/HiBreadcrumb/HiStepper.js +5 -21
- package/es/HiDatePicker/HiDateRangePicker.js +65 -27
- package/es/HiDatePicker/HiDateRangeSelector.js +15 -7
- package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
- package/es/HiDatePicker/Overlays/Overlay.js +18 -4
- package/es/HiDatePicker/stylesheet.js +7 -0
- package/es/HiForm/HiInput.js +19 -10
- package/es/HiForm/HiSlider.js +309 -0
- package/es/HiForm/index.js +1 -0
- package/es/HiSelect/HiSelect.js +1 -1
- package/es/HiTable/BodyCellBuilder.js +3 -0
- package/es/HiTable/BodyCells/CellIcon.js +15 -8
- package/es/HiTable/BodyCells/CellImage.js +16 -14
- package/es/HiTable/BodyCells/CellNumeric.js +6 -2
- package/es/HiTable/BodyCells/CellSentinel.js +8 -5
- package/es/HiTable/BodyCells/CellThirdPartySecurity.js +40 -15
- package/es/HiTable/HeaderCell.js +3 -2
- package/es/utils/hiHelpers.js +4 -3
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +43 -43
- package/umd/hipay-material-ui.development.js +7680 -7171
- package/umd/hipay-material-ui.production.min.js +5 -5
- package/utils/hiHelpers.js +4 -2
@@ -4,31 +4,28 @@ import React from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
5
5
|
import classNames from 'classnames';
|
6
6
|
import { withStyles } from '../styles';
|
7
|
+
import HiStepContent from './HiStepContent';
|
7
8
|
|
8
9
|
export const styles = theme => ({
|
9
10
|
root: {
|
10
|
-
|
11
|
-
|
12
|
-
vertical: {
|
11
|
+
display: 'flex',
|
12
|
+
flex: '1 1 auto',
|
13
13
|
marginLeft: 13, // half icon
|
14
14
|
padding: `0 0 ${theme.spacing.unit}px`
|
15
15
|
},
|
16
16
|
line: {
|
17
17
|
display: 'block',
|
18
|
-
borderColor: theme.palette.grey[600]
|
19
|
-
},
|
20
|
-
lineHorizontal: {
|
21
|
-
borderTopStyle: 'solid',
|
22
|
-
borderTopWidth: 1
|
23
|
-
},
|
24
|
-
lineVertical: {
|
18
|
+
borderColor: theme.palette.grey[600],
|
25
19
|
borderLeftStyle: 'solid',
|
26
20
|
borderLeftWidth: 2,
|
27
21
|
minHeight: theme.spacing.unit * 3,
|
28
|
-
height:
|
22
|
+
height: 40
|
29
23
|
},
|
30
|
-
|
24
|
+
greenLine: {
|
31
25
|
borderColor: theme.palette.status[116]
|
26
|
+
},
|
27
|
+
lightLine: {
|
28
|
+
borderColor: '#FFFFFF'
|
32
29
|
}
|
33
30
|
});
|
34
31
|
|
@@ -36,32 +33,88 @@ export const styles = theme => ({
|
|
36
33
|
* @ignore - internal component.
|
37
34
|
*/
|
38
35
|
class HiStepConnector extends React.PureComponent {
|
36
|
+
|
37
|
+
constructor(props) {
|
38
|
+
super(props);
|
39
|
+
|
40
|
+
this.state = {
|
41
|
+
width: 1280,
|
42
|
+
height: 800
|
43
|
+
};
|
44
|
+
|
45
|
+
this.updateWindowDimensions = this.updateWindowDimensions.bind(this);
|
46
|
+
}
|
47
|
+
|
48
|
+
componentDidMount() {
|
49
|
+
this.updateWindowDimensions();
|
50
|
+
window.addEventListener('resize', this.updateWindowDimensions);
|
51
|
+
}
|
52
|
+
|
53
|
+
componentWillUnmount() {
|
54
|
+
window.removeEventListener('resize', this.updateWindowDimensions);
|
55
|
+
}
|
56
|
+
|
57
|
+
updateWindowDimensions() {
|
58
|
+
this.setState({ width: window.innerWidth, height: window.innerHeight });
|
59
|
+
}
|
60
|
+
|
39
61
|
render() {
|
40
62
|
const _props = this.props,
|
41
63
|
{
|
64
|
+
active,
|
42
65
|
className: classNameProp,
|
43
66
|
classes,
|
44
|
-
|
67
|
+
content,
|
68
|
+
steps,
|
69
|
+
type,
|
45
70
|
validConnector
|
46
71
|
} = _props,
|
47
|
-
other = _objectWithoutProperties(_props, ['className', 'classes', '
|
72
|
+
other = _objectWithoutProperties(_props, ['active', 'className', 'classes', 'content', 'steps', 'type', 'validConnector']);
|
48
73
|
|
49
|
-
const
|
74
|
+
const { width, height } = this.state;
|
75
|
+
|
76
|
+
const className = classNames(classes.root, classNameProp);
|
50
77
|
const lineClassName = classNames(classes.line, {
|
51
|
-
[classes.
|
52
|
-
[classes.
|
53
|
-
[classes.lineVerticalGreen]: orientation === 'vertical' && validConnector
|
78
|
+
[classes.greenLine]: validConnector,
|
79
|
+
[classes.lightLine]: type === 'front-light'
|
54
80
|
});
|
55
81
|
|
82
|
+
let lineHeight = 40;
|
83
|
+
|
84
|
+
if (type !== 'back') {
|
85
|
+
// Pour un breadcrumb Front, la tige du connector de la step active doit s'allonger en fonction de la hauteur de la page et du nombre de steps
|
86
|
+
lineHeight = height - 226 - 58 * (steps.length - 1);
|
87
|
+
if (lineHeight < 202) {
|
88
|
+
lineHeight = 202;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
let heightStyle = {};
|
93
|
+
if (active) {
|
94
|
+
heightStyle = { height: lineHeight };
|
95
|
+
}
|
96
|
+
|
56
97
|
return React.createElement(
|
57
98
|
'div',
|
58
99
|
_extends({ className: className }, other),
|
59
|
-
React.createElement('span', { className: lineClassName })
|
100
|
+
React.createElement('span', { className: lineClassName, style: heightStyle }),
|
101
|
+
type === 'front-light' && active && content && React.createElement(HiStepContent, { content: content })
|
60
102
|
);
|
61
103
|
}
|
62
104
|
}
|
63
105
|
|
106
|
+
HiStepConnector.defaultProps = {
|
107
|
+
active: false,
|
108
|
+
content: React.createElement('span', null),
|
109
|
+
steps: [],
|
110
|
+
type: 'back',
|
111
|
+
validConnector: false
|
112
|
+
};
|
64
113
|
HiStepConnector.propTypes = process.env.NODE_ENV !== "production" ? {
|
114
|
+
/**
|
115
|
+
* Used to know if the step it is connected to is active, and if so possibly adapt its height
|
116
|
+
*/
|
117
|
+
active: PropTypes.bool,
|
65
118
|
/**
|
66
119
|
* Useful to extend the style applied to the component.
|
67
120
|
*/
|
@@ -71,13 +124,20 @@ HiStepConnector.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
71
124
|
*/
|
72
125
|
className: PropTypes.string,
|
73
126
|
/**
|
74
|
-
*
|
127
|
+
* The content to be displayed in the case of front-light breadcrumb
|
128
|
+
*/
|
129
|
+
content: PropTypes.node,
|
130
|
+
/**
|
131
|
+
* The collection of steps of the breadcrumb.
|
75
132
|
*/
|
76
|
-
|
133
|
+
steps: PropTypes.array,
|
134
|
+
/**
|
135
|
+
* specifies which type of breadcrumb is used
|
136
|
+
*/
|
137
|
+
type: PropTypes.oneOf(['back', 'front-dark', 'front-light']),
|
138
|
+
/**
|
139
|
+
* Specifies if the connector should be displayed in green or its default color
|
140
|
+
*/
|
141
|
+
validConnector: PropTypes.bool
|
77
142
|
} : {};
|
78
|
-
|
79
|
-
HiStepConnector.defaultProps = {
|
80
|
-
orientation: 'vertical'
|
81
|
-
};
|
82
|
-
|
83
143
|
export default withStyles(styles, { name: 'MuiHiStepConnector' })(HiStepConnector);
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import PropTypes from 'prop-types';
|
3
|
+
import classNames from 'classnames';
|
4
|
+
import { withStyles } from '../styles';
|
5
|
+
import Paper from '../Paper';
|
6
|
+
|
7
|
+
export const styles = theme => ({
|
8
|
+
root: {
|
9
|
+
display: 'flex',
|
10
|
+
justifyContent: 'center',
|
11
|
+
alignItems: 'center'
|
12
|
+
},
|
13
|
+
contentContainer: {
|
14
|
+
height: 'fit-content',
|
15
|
+
maxHeight: 300,
|
16
|
+
maxWidth: 323,
|
17
|
+
marginTop: 35,
|
18
|
+
marginLeft: 24,
|
19
|
+
padding: 24,
|
20
|
+
textAlign: 'center',
|
21
|
+
fontFamily: 'Roboto, Regular, sans-serif',
|
22
|
+
color: '#737373',
|
23
|
+
fontSize: 14,
|
24
|
+
lineHeight: '20px',
|
25
|
+
borderRadius: 3
|
26
|
+
},
|
27
|
+
lastStep: {
|
28
|
+
marginLeft: 0,
|
29
|
+
marginTop: 20
|
30
|
+
}
|
31
|
+
});
|
32
|
+
|
33
|
+
class HiStepContent extends React.PureComponent {
|
34
|
+
|
35
|
+
render() {
|
36
|
+
const { content, classes, isLast } = this.props;
|
37
|
+
|
38
|
+
return React.createElement(
|
39
|
+
Paper,
|
40
|
+
{
|
41
|
+
square: true,
|
42
|
+
className: classNames(classes.contentContainer, {
|
43
|
+
[classes.lastStep]: isLast
|
44
|
+
})
|
45
|
+
},
|
46
|
+
React.createElement(
|
47
|
+
'div',
|
48
|
+
{ className: classes.root },
|
49
|
+
content
|
50
|
+
)
|
51
|
+
);
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
HiStepContent.defaultProps = {
|
56
|
+
content: React.createElement('span', null),
|
57
|
+
isLast: false
|
58
|
+
};
|
59
|
+
HiStepContent.propTypes = process.env.NODE_ENV !== "production" ? {
|
60
|
+
content: PropTypes.node,
|
61
|
+
isLast: PropTypes.bool
|
62
|
+
} : {};
|
63
|
+
export default withStyles(styles, { name: 'MuiHiStepContent' })(HiStepContent);
|
@@ -12,6 +12,56 @@ export const styles = theme => ({
|
|
12
12
|
marginLeft: 6,
|
13
13
|
display: 'inline-block'
|
14
14
|
},
|
15
|
+
dotAround: {
|
16
|
+
border: '2px solid ' + theme.palette.neutral.normal,
|
17
|
+
backgroundColor: 'transparent',
|
18
|
+
borderRadius: '100%',
|
19
|
+
width: 16,
|
20
|
+
height: 16,
|
21
|
+
marginLeft: 6,
|
22
|
+
'&:hover': {
|
23
|
+
transform: 'scale(1.2)'
|
24
|
+
}
|
25
|
+
},
|
26
|
+
dot: {
|
27
|
+
backgroundColor: theme.palette.neutral.normal,
|
28
|
+
borderRadius: '100%',
|
29
|
+
width: 6,
|
30
|
+
height: 6,
|
31
|
+
'&:hover': {
|
32
|
+
transform: 'scale(1.2)'
|
33
|
+
},
|
34
|
+
marginLeft: 8
|
35
|
+
},
|
36
|
+
activeStep: {
|
37
|
+
marginTop: 3,
|
38
|
+
marginLeft: 3,
|
39
|
+
width: 6,
|
40
|
+
height: 6,
|
41
|
+
'&:hover': {
|
42
|
+
transform: 'scale(1)'
|
43
|
+
}
|
44
|
+
},
|
45
|
+
dotValidated: {
|
46
|
+
backgroundColor: theme.palette.status[116],
|
47
|
+
border: '2px solid ' + theme.palette.status[116]
|
48
|
+
},
|
49
|
+
dotRefused: {
|
50
|
+
backgroundColor: theme.palette.error.main,
|
51
|
+
border: '2px solid ' + theme.palette.error.main
|
52
|
+
},
|
53
|
+
dotWarning: {
|
54
|
+
backgroundColor: theme.palette.middle.normal,
|
55
|
+
border: '2px solid ' + theme.palette.middle.normal
|
56
|
+
},
|
57
|
+
dotActive: {
|
58
|
+
backgroundColor: '#00ADE9',
|
59
|
+
border: '2px solid ' + '#00ADE9'
|
60
|
+
},
|
61
|
+
dotLight: {
|
62
|
+
backgroundColor: '#FFFFFF',
|
63
|
+
border: '2px solid ' + '#FFFFFF'
|
64
|
+
},
|
15
65
|
validated: {
|
16
66
|
border: 'solid 2px ' + theme.palette.status[116]
|
17
67
|
},
|
@@ -22,43 +72,62 @@ export const styles = theme => ({
|
|
22
72
|
border: 'solid 2px ' + theme.palette.middle.normal
|
23
73
|
},
|
24
74
|
active: {
|
25
|
-
border: '
|
26
|
-
backgroundClip: 'padding-box',
|
27
|
-
boxShadow: '0 0 0 1px ' + theme.palette.neutral.normal,
|
28
|
-
backgroundColor: theme.palette.neutral.normal
|
29
|
-
},
|
30
|
-
activeValidated: {
|
31
|
-
boxShadow: '0 0 0 1px ' + theme.palette.status[116],
|
32
|
-
backgroundColor: theme.palette.status[116]
|
75
|
+
border: 'solid 2px #00ADE9'
|
33
76
|
},
|
34
|
-
|
35
|
-
|
36
|
-
backgroundColor: theme.palette.negative.normal
|
37
|
-
},
|
38
|
-
activeWarning: {
|
39
|
-
boxShadow: '0 0 0 1px ' + theme.palette.middle.normal,
|
40
|
-
backgroundColor: theme.palette.middle.normal
|
77
|
+
light: {
|
78
|
+
border: 'solid 2px ' + '#FFFFFF'
|
41
79
|
}
|
42
80
|
});
|
43
81
|
|
44
82
|
class HiStepIcon extends React.PureComponent {
|
83
|
+
|
45
84
|
render() {
|
46
|
-
const { active, classes, status } = this.props;
|
85
|
+
const { active, classes, status, type } = this.props;
|
86
|
+
|
87
|
+
let dotAroundClass = classNames(classes.dotAround, {
|
88
|
+
[classes.validated]: status === 'validated',
|
89
|
+
[classes.refused]: status === 'refused',
|
90
|
+
[classes.warning]: status === 'warning',
|
91
|
+
[classes.active]: status === 'active',
|
92
|
+
[classes.light]: type === 'front-light'
|
93
|
+
});
|
94
|
+
|
95
|
+
let innerDotClass = classNames(classes.dot, {
|
96
|
+
[classes.activeStep]: active,
|
97
|
+
[classes.dotValidated]: status === 'validated',
|
98
|
+
[classes.dotRefused]: status === 'refused',
|
99
|
+
[classes.dotWarning]: status === 'warning',
|
100
|
+
[classes.dotActive]: status === 'active',
|
101
|
+
[classes.dotLight]: type === 'front-light'
|
102
|
+
});
|
47
103
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
[classes.refused]: status === 'refused',
|
55
|
-
[classes.validated]: status === 'validated',
|
56
|
-
[classes.warning]: status === 'warning'
|
57
|
-
})
|
104
|
+
let dotClassName = classNames(classes.circle, {
|
105
|
+
[classes.refused]: status === 'refused',
|
106
|
+
[classes.validated]: status === 'validated',
|
107
|
+
[classes.warning]: status === 'warning',
|
108
|
+
[classes.active]: status === 'active',
|
109
|
+
[classes.light]: type === 'front-light'
|
58
110
|
});
|
111
|
+
|
112
|
+
return React.createElement(
|
113
|
+
'div',
|
114
|
+
null,
|
115
|
+
active && React.createElement(
|
116
|
+
'div',
|
117
|
+
{ className: dotAroundClass },
|
118
|
+
React.createElement('div', { className: innerDotClass })
|
119
|
+
),
|
120
|
+
!active && React.createElement('div', { className: dotClassName })
|
121
|
+
);
|
59
122
|
}
|
60
123
|
}
|
61
124
|
|
125
|
+
HiStepIcon.defaultProps = {
|
126
|
+
active: false,
|
127
|
+
status: 'unreviewed',
|
128
|
+
type: 'back',
|
129
|
+
classes: {}
|
130
|
+
};
|
62
131
|
HiStepIcon.propTypes = process.env.NODE_ENV !== "production" ? {
|
63
132
|
/**
|
64
133
|
* Whether this step is active.
|
@@ -68,14 +137,13 @@ HiStepIcon.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
68
137
|
* Useful to extend the style applied to components.
|
69
138
|
*/
|
70
139
|
classes: PropTypes.object.isRequired,
|
71
|
-
|
72
|
-
|
140
|
+
/**
|
141
|
+
* The type of Breadcrumb used
|
142
|
+
*/
|
143
|
+
type: PropTypes.oneOf(['back', 'front-light', 'front-dark']),
|
144
|
+
/**
|
145
|
+
* The status of the step in case of back or front-dark type Breadcrumb
|
146
|
+
*/
|
147
|
+
status: PropTypes.oneOf(['refused', 'validated', 'warning', 'unreviewed', 'active'])
|
73
148
|
} : {};
|
74
|
-
|
75
|
-
HiStepIcon.defaultProps = {
|
76
|
-
active: false,
|
77
|
-
status: 'unreviewed',
|
78
|
-
classes: {}
|
79
|
-
};
|
80
|
-
|
81
149
|
export default withStyles(styles, { name: 'MuiHiStepIcon' })(HiStepIcon);
|
@@ -10,26 +10,45 @@ import HiPin from '../HiPins';
|
|
10
10
|
export const styles = theme => ({
|
11
11
|
root: {
|
12
12
|
display: 'flex',
|
13
|
-
alignItems: 'center'
|
13
|
+
alignItems: 'center',
|
14
|
+
marginTop: -11,
|
15
|
+
marginBottom: -5
|
14
16
|
},
|
15
|
-
|
16
|
-
|
17
|
+
frontRoot: {
|
18
|
+
marginTop: -12,
|
19
|
+
marginBottom: -7
|
17
20
|
},
|
18
|
-
|
19
|
-
marginTop: -
|
21
|
+
frontDarkRoot: {
|
22
|
+
marginTop: -13,
|
20
23
|
marginBottom: -6
|
21
24
|
},
|
25
|
+
hipin: {
|
26
|
+
marginLeft: 0
|
27
|
+
},
|
22
28
|
label: _extends({
|
23
29
|
display: 'inline-block',
|
24
30
|
marginLeft: 4,
|
25
31
|
fontWeight: theme.typography.fontWeightRegular,
|
26
32
|
color: theme.palette.neutral.normal,
|
27
|
-
marginBottom: -4
|
33
|
+
marginBottom: -4,
|
34
|
+
'&:hover': {
|
35
|
+
cursor: 'pointer'
|
36
|
+
}
|
28
37
|
}, theme.typography.body3),
|
29
38
|
labelContainer: {
|
30
|
-
marginBottom: 4
|
39
|
+
marginBottom: 4
|
40
|
+
},
|
41
|
+
largeLabelContainer: {
|
42
|
+
maxWidth: 300
|
43
|
+
},
|
44
|
+
shortLabelContainer: {
|
31
45
|
maxWidth: 160
|
32
46
|
},
|
47
|
+
frontLabel: {
|
48
|
+
fontSize: 18,
|
49
|
+
fontWeight: theme.typography.fontWeightLight,
|
50
|
+
marginLeft: 11
|
51
|
+
},
|
33
52
|
validated: {
|
34
53
|
color: theme.palette.status[116]
|
35
54
|
},
|
@@ -37,11 +56,17 @@ export const styles = theme => ({
|
|
37
56
|
color: theme.palette.negative.normal
|
38
57
|
},
|
39
58
|
active: {
|
59
|
+
color: '#00ADE9'
|
60
|
+
},
|
61
|
+
activeStep: {
|
40
62
|
fontWeight: theme.typography.fontWeightMedium
|
41
63
|
},
|
42
64
|
warning: {
|
43
65
|
color: theme.palette.middle.normal
|
44
66
|
},
|
67
|
+
light: {
|
68
|
+
color: '#FFFFFF'
|
69
|
+
},
|
45
70
|
pin: {
|
46
71
|
marginLeft: 4
|
47
72
|
},
|
@@ -61,64 +86,83 @@ export const styles = theme => ({
|
|
61
86
|
}
|
62
87
|
});
|
63
88
|
|
64
|
-
|
65
|
-
const {
|
66
|
-
active,
|
67
|
-
children,
|
68
|
-
classes,
|
69
|
-
className: classNameProp,
|
70
|
-
icon,
|
71
|
-
notificationNumber,
|
72
|
-
orientation,
|
73
|
-
status
|
74
|
-
} = props,
|
75
|
-
other = _objectWithoutProperties(props, ['active', 'children', 'classes', 'className', 'icon', 'notificationNumber', 'orientation', 'status']);
|
89
|
+
class HiStepLabel extends React.PureComponent {
|
76
90
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
91
|
+
render() {
|
92
|
+
const _props = this.props,
|
93
|
+
{
|
94
|
+
active,
|
95
|
+
children,
|
96
|
+
classes,
|
97
|
+
className: classNameProp,
|
98
|
+
notificationNumber,
|
99
|
+
status,
|
100
|
+
type
|
101
|
+
} = _props,
|
102
|
+
other = _objectWithoutProperties(_props, ['active', 'children', 'classes', 'className', 'notificationNumber', 'status', 'type']);
|
103
|
+
|
104
|
+
return React.createElement(
|
90
105
|
'span',
|
91
|
-
{
|
106
|
+
_extends({
|
107
|
+
className: classNames(classes.root, classNameProp, {
|
108
|
+
[classes.frontRoot]: type === 'front-light',
|
109
|
+
[classes.frontDarkRoot]: type === 'front-dark'
|
110
|
+
})
|
111
|
+
}, other),
|
92
112
|
React.createElement(
|
93
|
-
'
|
113
|
+
'span',
|
114
|
+
{ className: classes.iconContainer },
|
115
|
+
React.createElement(HiStepIcon, { active: active, status: status, type: type })
|
116
|
+
),
|
117
|
+
React.createElement(
|
118
|
+
'span',
|
94
119
|
{
|
95
|
-
className: classNames(classes.
|
96
|
-
[classes.
|
97
|
-
[classes.
|
98
|
-
[classes.warning]: status === 'warning',
|
99
|
-
[classes.active]: active,
|
100
|
-
[classes.shortEllipsis]: notificationNumber > 0,
|
101
|
-
[classes.longEllipsis]: notificationNumber === 0
|
120
|
+
className: classNames(classes.labelContainer, {
|
121
|
+
[classes.largeLabelContainer]: type !== 'back',
|
122
|
+
[classes.shortLabelContainer]: type === 'back'
|
102
123
|
})
|
103
124
|
},
|
104
|
-
children
|
105
|
-
),
|
106
|
-
notificationNumber > 0 && React.createElement(
|
107
|
-
'span',
|
108
|
-
{ className: classes.pin },
|
109
125
|
React.createElement(
|
110
|
-
|
126
|
+
'div',
|
111
127
|
{
|
112
|
-
|
113
|
-
|
128
|
+
className: classNames(classes.label, {
|
129
|
+
[classes.validated]: status === 'validated',
|
130
|
+
[classes.refused]: status === 'refused',
|
131
|
+
[classes.warning]: status === 'warning',
|
132
|
+
[classes.active]: status === 'active',
|
133
|
+
[classes.light]: type === 'front-light',
|
134
|
+
[classes.activeStep]: active,
|
135
|
+
[classes.frontLabel]: type !== 'back',
|
136
|
+
[classes.shortEllipsis]: notificationNumber > 0,
|
137
|
+
[classes.longEllipsis]: notificationNumber === 0 && type === 'back'
|
138
|
+
})
|
114
139
|
},
|
115
|
-
|
140
|
+
children
|
141
|
+
),
|
142
|
+
notificationNumber > 0 && React.createElement(
|
143
|
+
'span',
|
144
|
+
{ className: classes.pin },
|
145
|
+
React.createElement(
|
146
|
+
HiPin,
|
147
|
+
{
|
148
|
+
color: this.props.theme.palette.business.primary.normal,
|
149
|
+
className: classes.hipin
|
150
|
+
},
|
151
|
+
notificationNumber
|
152
|
+
)
|
116
153
|
)
|
117
154
|
)
|
118
|
-
)
|
119
|
-
|
155
|
+
);
|
156
|
+
}
|
120
157
|
}
|
121
158
|
|
159
|
+
HiStepLabel.defaultProps = {
|
160
|
+
active: false,
|
161
|
+
children: '',
|
162
|
+
notificationNumber: 0,
|
163
|
+
status: 'unreviewed',
|
164
|
+
type: 'back'
|
165
|
+
};
|
122
166
|
HiStepLabel.propTypes = process.env.NODE_ENV !== "production" ? {
|
123
167
|
/**
|
124
168
|
* @ignore
|
@@ -138,17 +182,16 @@ HiStepLabel.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
138
182
|
*/
|
139
183
|
className: PropTypes.string,
|
140
184
|
/**
|
141
|
-
*
|
185
|
+
* The value to be displayed in the HiPin on the right of the label
|
142
186
|
*/
|
143
|
-
|
144
|
-
|
145
|
-
|
187
|
+
notificationNumber: PropTypes.number,
|
188
|
+
/**
|
189
|
+
* 'Unreviewed', 'refused', 'validated' et 'warning' sont les statuts pour tous les types de breadcrumb. 'active' est spécifique au Front dark
|
190
|
+
*/
|
191
|
+
status: PropTypes.oneOf(['unreviewed', 'refused', 'validated', 'warning', 'active']),
|
192
|
+
/**
|
193
|
+
* The Breadcrumb type
|
194
|
+
*/
|
195
|
+
type: PropTypes.oneOf(['back', 'front-light', 'front-dark'])
|
146
196
|
} : {};
|
147
|
-
|
148
|
-
HiStepLabel.defaultProps = {
|
149
|
-
active: false,
|
150
|
-
status: 'unreviewed',
|
151
|
-
orientation: 'vertical'
|
152
|
-
};
|
153
|
-
|
154
197
|
export default withStyles(styles, { name: 'MuiHiStepLabel', withTheme: true })(HiStepLabel);
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import _extends from 'babel-runtime/helpers/extends';
|
2
|
-
import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
|
3
2
|
import React from 'react';
|
4
3
|
import PropTypes from 'prop-types';
|
5
4
|
import classNames from 'classnames';
|
@@ -8,21 +7,14 @@ import Paper from '../Paper';
|
|
8
7
|
|
9
8
|
export const styles = theme => ({
|
10
9
|
root: {
|
11
|
-
|
12
|
-
padding: theme.spacing.unit * 3,
|
13
|
-
maxWidth: 160,
|
14
|
-
flexDirection: 'column'
|
10
|
+
width: 340
|
15
11
|
}
|
16
12
|
});
|
17
13
|
|
18
14
|
class HiStepper extends React.PureComponent {
|
19
15
|
|
20
16
|
render() {
|
21
|
-
const
|
22
|
-
{ activeStep, children, classes, className: classNameProp } = _props,
|
23
|
-
other = _objectWithoutProperties(_props, ['activeStep', 'children', 'classes', 'className']);
|
24
|
-
|
25
|
-
const className = classNames(classes.root, classNameProp);
|
17
|
+
const { activeStep, children, classes } = this.props;
|
26
18
|
|
27
19
|
const childrenArray = React.Children.toArray(children.props.children);
|
28
20
|
|
@@ -31,8 +23,8 @@ class HiStepper extends React.PureComponent {
|
|
31
23
|
});
|
32
24
|
|
33
25
|
return React.createElement(
|
34
|
-
|
35
|
-
|
26
|
+
'div',
|
27
|
+
{ className: classes.root },
|
36
28
|
steps
|
37
29
|
);
|
38
30
|
}
|
@@ -49,14 +41,6 @@ HiStepper.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
49
41
|
/**
|
50
42
|
* Two or more `<Step />` components.
|
51
43
|
*/
|
52
|
-
children: PropTypes.node.isRequired
|
53
|
-
/**
|
54
|
-
* Useful to extend the style applied to components.
|
55
|
-
*/
|
56
|
-
classes: PropTypes.object.isRequired,
|
57
|
-
/**
|
58
|
-
* @ignore
|
59
|
-
*/
|
60
|
-
className: PropTypes.string
|
44
|
+
children: PropTypes.node.isRequired
|
61
45
|
} : {};
|
62
46
|
export default withStyles(styles, { name: 'MuiHiStepper' })(HiStepper);
|