@hipay/hipay-material-ui 1.0.0-beta.13 → 1.0.0-beta.15
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/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
@@ -53,20 +53,21 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
53
53
|
|
54
54
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
55
55
|
|
56
|
-
var styles = exports.styles =
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
56
|
+
var styles = exports.styles = {
|
57
|
+
icon: {
|
58
|
+
float: 'left'
|
59
|
+
},
|
60
|
+
label: {
|
61
|
+
margin: 5
|
62
|
+
},
|
63
|
+
wrapper: {
|
64
|
+
whiteSpace: 'nowrap',
|
65
|
+
overflow: 'hidden',
|
66
|
+
textOverflow: 'ellipsis'
|
67
|
+
},
|
68
|
+
nowrap: {
|
69
|
+
whiteSpace: 'nowrap'
|
70
|
+
}
|
70
71
|
};
|
71
72
|
|
72
73
|
/**
|
@@ -89,14 +90,15 @@ var CellIcon = function (_React$PureComponent) {
|
|
89
90
|
classes = _props.classes,
|
90
91
|
icon = _props.icon,
|
91
92
|
value = _props.value,
|
92
|
-
view = _props.view
|
93
|
+
view = _props.view,
|
94
|
+
color = _props.color;
|
93
95
|
|
94
96
|
|
95
|
-
var iconElement = icon !== '' ? _react2.default.createElement(_HiIconBuilder2.default, { className: classes.icon, icon: icon, size: 18 }) : '';
|
97
|
+
var iconElement = icon !== '' ? _react2.default.createElement(_HiIconBuilder2.default, { color: color, className: classes.icon, icon: icon, size: 18 }) : '';
|
96
98
|
|
97
99
|
var tooltipContent = _react2.default.createElement(
|
98
100
|
'div',
|
99
|
-
|
101
|
+
{ className: classes.nowrap },
|
100
102
|
iconElement,
|
101
103
|
_react2.default.createElement(
|
102
104
|
'span',
|
@@ -126,7 +128,8 @@ var CellIcon = function (_React$PureComponent) {
|
|
126
128
|
|
127
129
|
CellIcon.defaultProps = {
|
128
130
|
icon: '',
|
129
|
-
view: 'l'
|
131
|
+
view: 'l',
|
132
|
+
color: '#000'
|
130
133
|
};
|
131
134
|
CellIcon.propTypes = process.env.NODE_ENV !== "production" ? {
|
132
135
|
/**
|
@@ -134,7 +137,11 @@ CellIcon.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
134
137
|
*/
|
135
138
|
classes: _propTypes2.default.object,
|
136
139
|
/**
|
137
|
-
*
|
140
|
+
* Couleur de l'icône
|
141
|
+
*/
|
142
|
+
color: _propTypes2.default.string.isRequired,
|
143
|
+
/**
|
144
|
+
* Icon name [from material-design-icons](https://materialdesignicons.com/)
|
138
145
|
* used by HiIconBuilder
|
139
146
|
*/
|
140
147
|
icon: _propTypes2.default.string,
|
@@ -52,12 +52,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
52
52
|
var styles = exports.styles = function styles(theme) {
|
53
53
|
return {
|
54
54
|
img: {
|
55
|
-
width: 24,
|
56
55
|
height: 'auto',
|
57
56
|
float: 'left'
|
58
57
|
},
|
59
58
|
smallImg: {
|
60
|
-
width: 24,
|
61
59
|
height: 'auto'
|
62
60
|
},
|
63
61
|
label: {
|
@@ -66,20 +64,18 @@ var styles = exports.styles = function styles(theme) {
|
|
66
64
|
tooltipImg: {
|
67
65
|
width: 24,
|
68
66
|
height: 'auto',
|
69
|
-
float: 'left'
|
70
|
-
marginTop: 2
|
67
|
+
float: 'left'
|
71
68
|
},
|
72
69
|
tooltipLabel: {
|
73
70
|
marginLeft: 5,
|
74
|
-
position: 'relative',
|
75
|
-
bottom: 2,
|
76
71
|
verticalAlign: 'middle'
|
77
|
-
|
78
72
|
},
|
79
73
|
wrapper: {
|
74
|
+
display: 'flex',
|
75
|
+
alignItems: 'center',
|
80
76
|
whiteSpace: 'nowrap',
|
81
|
-
overflow:
|
82
|
-
textOverflow:
|
77
|
+
overflow: 'hidden',
|
78
|
+
textOverflow: 'ellipsis'
|
83
79
|
},
|
84
80
|
center: {
|
85
81
|
textAlign: 'center'
|
@@ -112,13 +108,14 @@ var CellImage = function (_React$PureComponent) {
|
|
112
108
|
classes = _props.classes,
|
113
109
|
path = _props.path,
|
114
110
|
value = _props.value,
|
115
|
-
view = _props.view
|
111
|
+
view = _props.view,
|
112
|
+
size = _props.size;
|
116
113
|
|
117
114
|
|
118
115
|
var tooltipContent = _react2.default.createElement(
|
119
116
|
'div',
|
120
117
|
{ className: classes.tooltipContainer },
|
121
|
-
_react2.default.createElement('img', { src: path, alt: value, className: classes.tooltipImg }),
|
118
|
+
_react2.default.createElement('img', { src: path, alt: value, className: classes.tooltipImg, width: size }),
|
122
119
|
_react2.default.createElement(
|
123
120
|
'span',
|
124
121
|
{ className: classes.tooltipLabel },
|
@@ -132,13 +129,13 @@ var CellImage = function (_React$PureComponent) {
|
|
132
129
|
innerCellElement = _react2.default.createElement(
|
133
130
|
'div',
|
134
131
|
{ className: classes.center },
|
135
|
-
_react2.default.createElement('img', { src: path, alt: value, className: classes.smallImg })
|
132
|
+
_react2.default.createElement('img', { src: path, alt: value, className: classes.smallImg, width: size })
|
136
133
|
);
|
137
134
|
} else {
|
138
135
|
innerCellElement = _react2.default.createElement(
|
139
136
|
'div',
|
140
137
|
{ className: classes.wrapper },
|
141
|
-
_react2.default.createElement('img', { src: path, alt: value, className: classes.img }),
|
138
|
+
_react2.default.createElement('img', { src: path, alt: value, className: classes.img, width: size }),
|
142
139
|
!!value && _react2.default.createElement(
|
143
140
|
'span',
|
144
141
|
{ className: classes.label },
|
@@ -173,6 +170,9 @@ var CellImage = function (_React$PureComponent) {
|
|
173
170
|
return CellImage;
|
174
171
|
}(_react2.default.PureComponent);
|
175
172
|
|
173
|
+
CellImage.defaultProps = {
|
174
|
+
size: 24
|
175
|
+
};
|
176
176
|
CellImage.propTypes = process.env.NODE_ENV !== "production" ? {
|
177
177
|
/**
|
178
178
|
* Useful to extend the style applied to components.
|
@@ -182,6 +182,10 @@ CellImage.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
182
182
|
* Image path
|
183
183
|
*/
|
184
184
|
path: _propTypes2.default.string,
|
185
|
+
/**
|
186
|
+
* Image path
|
187
|
+
*/
|
188
|
+
size: _propTypes2.default.number.isRequired,
|
185
189
|
/**
|
186
190
|
* Value
|
187
191
|
*/
|
@@ -79,7 +79,8 @@ var CellNumeric = function (_React$PureComponent) {
|
|
79
79
|
value = _props.value,
|
80
80
|
locale = _props.locale,
|
81
81
|
currency = _props.currency,
|
82
|
-
view = _props.view
|
82
|
+
view = _props.view,
|
83
|
+
precision = _props.precision;
|
83
84
|
|
84
85
|
|
85
86
|
var displayedValue = '';
|
@@ -93,7 +94,7 @@ var CellNumeric = function (_React$PureComponent) {
|
|
93
94
|
titleValue = (0, _hiHelpers.formatCurrencyAmount)(value, cst.VIEWS.LARGE, locale, currency);
|
94
95
|
}
|
95
96
|
} else {
|
96
|
-
displayedValue = (0, _hiHelpers.formatNumber)(value, view, locale);
|
97
|
+
displayedValue = (0, _hiHelpers.formatNumber)(value, view, locale, precision);
|
97
98
|
}
|
98
99
|
|
99
100
|
return _react2.default.createElement(
|
@@ -127,6 +128,10 @@ CellNumeric.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
127
128
|
* Code de la devise (ISO 4217)
|
128
129
|
*/
|
129
130
|
currency: _propTypes2.default.string,
|
131
|
+
/**
|
132
|
+
* Nombre de chiffres après la virgule
|
133
|
+
*/
|
134
|
+
precision: _propTypes2.default.number,
|
130
135
|
/**
|
131
136
|
* View (L/M/S)
|
132
137
|
*/
|
@@ -51,16 +51,17 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
51
51
|
|
52
52
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
53
53
|
|
54
|
-
var styles = exports.styles =
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
54
|
+
var styles = exports.styles = {
|
55
|
+
smartDecision: {
|
56
|
+
display: 'inline-block',
|
57
|
+
minWidth: 18
|
58
|
+
},
|
59
|
+
label: {
|
60
|
+
marginLeft: 2
|
61
|
+
},
|
62
|
+
nowrap: {
|
63
|
+
whiteSpace: 'nowrap'
|
64
|
+
}
|
64
65
|
};
|
65
66
|
|
66
67
|
/**
|
@@ -135,17 +136,17 @@ var CellSentinel = function (_React$PureComponent) {
|
|
135
136
|
null,
|
136
137
|
_react2.default.createElement(
|
137
138
|
'div',
|
138
|
-
|
139
|
+
{ className: classes.nowrap },
|
139
140
|
scoreLabel
|
140
141
|
),
|
141
142
|
_react2.default.createElement(
|
142
143
|
'div',
|
143
|
-
|
144
|
+
{ className: classes.nowrap },
|
144
145
|
fraudResult
|
145
146
|
),
|
146
147
|
!!smartDecision && automaticFraudReviewResult && _react2.default.createElement(
|
147
148
|
'div',
|
148
|
-
|
149
|
+
{ className: classes.nowrap },
|
149
150
|
'SD: ',
|
150
151
|
automaticFraudReviewResult
|
151
152
|
)
|
@@ -33,23 +33,24 @@ var _propTypes = require('prop-types');
|
|
33
33
|
|
34
34
|
var _propTypes2 = _interopRequireDefault(_propTypes);
|
35
35
|
|
36
|
+
var _mdiMaterialUi = require('mdi-material-ui');
|
37
|
+
|
36
38
|
var _Tooltip = require('../../Tooltip');
|
37
39
|
|
38
40
|
var _Tooltip2 = _interopRequireDefault(_Tooltip);
|
39
41
|
|
40
42
|
var _styles = require('../../styles');
|
41
43
|
|
42
|
-
var _mdiMaterialUi = require('mdi-material-ui');
|
43
|
-
|
44
44
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
45
45
|
|
46
|
-
var styles = exports.styles =
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
46
|
+
var styles = exports.styles = {
|
47
|
+
icon: {
|
48
|
+
width: 18,
|
49
|
+
height: 18
|
50
|
+
},
|
51
|
+
nowrap: {
|
52
|
+
whiteSpace: 'nowrap'
|
53
|
+
}
|
53
54
|
};
|
54
55
|
|
55
56
|
/**
|
@@ -84,26 +85,45 @@ var CellThirdPartySecurity = function (_React$PureComponent) {
|
|
84
85
|
var icon = null;
|
85
86
|
switch (value) {
|
86
87
|
case ECI_5:
|
87
|
-
icon = _react2.default.createElement(_mdiMaterialUi.Lock, {
|
88
|
+
icon = _react2.default.createElement(_mdiMaterialUi.Lock, {
|
89
|
+
className: classes.icon,
|
90
|
+
style: { color: theme.palette.positive.normal }
|
91
|
+
});
|
88
92
|
break;
|
89
93
|
case ECI_6:
|
90
|
-
icon = _react2.default.createElement(_mdiMaterialUi.LockOpen, {
|
94
|
+
icon = _react2.default.createElement(_mdiMaterialUi.LockOpen, {
|
95
|
+
className: classes.icon,
|
96
|
+
style: { color: theme.palette.middle.normal }
|
97
|
+
});
|
91
98
|
break;
|
92
99
|
case AUTH_1:
|
93
|
-
icon = _react2.default.createElement(_mdiMaterialUi.LockOpenOutline, {
|
100
|
+
icon = _react2.default.createElement(_mdiMaterialUi.LockOpenOutline, {
|
101
|
+
className: classes.icon,
|
102
|
+
style: { color: theme.palette.neutral.light }
|
103
|
+
});
|
94
104
|
break;
|
95
105
|
case AUTH_2:
|
96
|
-
icon = _react2.default.createElement(_mdiMaterialUi.LockOpen, {
|
106
|
+
icon = _react2.default.createElement(_mdiMaterialUi.LockOpen, {
|
107
|
+
className: classes.icon,
|
108
|
+
style: { color: theme.palette.neutral.light }
|
109
|
+
});
|
97
110
|
break;
|
98
111
|
case ECI_7:
|
99
112
|
case AUTH_0:
|
113
|
+
default:
|
100
114
|
icon = null;
|
101
115
|
break;
|
102
116
|
}
|
103
117
|
|
118
|
+
var tooltipContent = _react2.default.createElement(
|
119
|
+
'div',
|
120
|
+
{ className: classes.nowrap },
|
121
|
+
label
|
122
|
+
);
|
123
|
+
|
104
124
|
return _react2.default.createElement(
|
105
125
|
_Tooltip2.default,
|
106
|
-
{ title:
|
126
|
+
{ title: tooltipContent, placement: this.props.sticky ? 'right' : 'bottom' },
|
107
127
|
_react2.default.createElement(
|
108
128
|
'div',
|
109
129
|
null,
|
@@ -120,6 +140,14 @@ CellThirdPartySecurity.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
120
140
|
* Useful to extend the style applied to components.
|
121
141
|
*/
|
122
142
|
classes: _propTypes2.default.object,
|
143
|
+
/**
|
144
|
+
* Label
|
145
|
+
*/
|
146
|
+
label: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),
|
147
|
+
/**
|
148
|
+
* True si la colonne est sticky
|
149
|
+
*/
|
150
|
+
sticky: _propTypes2.default.bool,
|
123
151
|
/**
|
124
152
|
* Useful to extend the theme applied to components.
|
125
153
|
* Used theme props positive.normal, middle.normal, neutral.light
|
@@ -134,10 +162,6 @@ CellThirdPartySecurity.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
134
162
|
* AUTH_1 = 4; // ask for 3DS
|
135
163
|
* AUTH_2 = 5; // force 3DS
|
136
164
|
*/
|
137
|
-
value: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string])
|
138
|
-
/**
|
139
|
-
* Label
|
140
|
-
*/
|
141
|
-
label: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string])
|
165
|
+
value: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string])
|
142
166
|
} : {};
|
143
167
|
exports.default = (0, _styles.withStyles)(styles, { withTheme: true, name: 'HmuiCellThirdPartySecurity' })(CellThirdPartySecurity);
|
package/HiTable/HeaderCell.js
CHANGED
@@ -215,6 +215,7 @@ var HeaderCell = function (_React$PureComponent) {
|
|
215
215
|
classes = _props.classes,
|
216
216
|
type = _props.type,
|
217
217
|
title = _props.title,
|
218
|
+
smallTitle = _props.smallTitle,
|
218
219
|
selectable = _props.selectable,
|
219
220
|
selected = _props.selected,
|
220
221
|
onSelect = _props.onSelect,
|
@@ -321,7 +322,7 @@ var HeaderCell = function (_React$PureComponent) {
|
|
321
322
|
{
|
322
323
|
className: classes.labelContainer + (_sorted ? ' ' + classes.labelContainerOrdered : '')
|
323
324
|
},
|
324
|
-
title
|
325
|
+
view !== 's' ? title : smallTitle ? smallTitle : title
|
325
326
|
),
|
326
327
|
align !== 'right' && _icons
|
327
328
|
) : _react2.default.createElement(
|
@@ -338,7 +339,7 @@ var HeaderCell = function (_React$PureComponent) {
|
|
338
339
|
_react2.default.createElement(
|
339
340
|
'span',
|
340
341
|
{ className: classes.labelContainer, style: { width: '100%' } },
|
341
|
-
title
|
342
|
+
view !== 's' ? title : smallTitle ? smallTitle : title
|
342
343
|
)
|
343
344
|
)
|
344
345
|
),
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import _extends from 'babel-runtime/helpers/extends';
|
2
1
|
import React from 'react';
|
3
2
|
import PropTypes from 'prop-types';
|
4
3
|
import { withStyles } from '../styles';
|
@@ -6,17 +5,7 @@ import HiStepper from './HiStepper';
|
|
6
5
|
import HiStepLabel from './HiStepLabel';
|
7
6
|
import HiStep from './HiStep';
|
8
7
|
|
9
|
-
export const styles = theme => ({
|
10
|
-
label: _extends({
|
11
|
-
display: 'inline-block',
|
12
|
-
marginLeft: 12,
|
13
|
-
fontWeight: theme.typography.fontWeightRegular,
|
14
|
-
color: theme.palette.neutral.normal
|
15
|
-
}, theme.typography.body3),
|
16
|
-
active: {
|
17
|
-
fontWeight: theme.typography.fontWeightMedium
|
18
|
-
}
|
19
|
-
});
|
8
|
+
export const styles = theme => ({});
|
20
9
|
|
21
10
|
class HiBreadcrumb extends React.PureComponent {
|
22
11
|
constructor(...args) {
|
@@ -28,30 +17,35 @@ class HiBreadcrumb extends React.PureComponent {
|
|
28
17
|
}
|
29
18
|
|
30
19
|
render() {
|
31
|
-
const { activeStep, steps } = this.props;
|
20
|
+
const { activeStep, steps, type } = this.props;
|
32
21
|
|
33
22
|
return React.createElement(
|
34
23
|
HiStepper,
|
35
|
-
{ activeStep: activeStep },
|
24
|
+
{ activeStep: activeStep, type: type },
|
36
25
|
React.createElement(
|
37
26
|
'div',
|
38
27
|
null,
|
39
28
|
steps.map((step, index) => {
|
40
|
-
const validConnector = step.status === 'validated' && index < steps.length - 1 && steps[index + 1].status === 'validated';
|
29
|
+
const validConnector = step.status === 'validated' && index < steps.length - 1 && (steps[index + 1].status === 'validated' || steps[index + 1].status === 'active');
|
30
|
+
|
41
31
|
return React.createElement(
|
42
32
|
HiStep,
|
43
33
|
{
|
34
|
+
content: step.content,
|
44
35
|
key: step.id,
|
45
36
|
onClick: this.handleStep(index),
|
46
37
|
isLast: index === steps.length - 1,
|
47
|
-
validConnector: validConnector
|
38
|
+
validConnector: validConnector,
|
39
|
+
type: type,
|
40
|
+
steps: steps
|
48
41
|
},
|
49
42
|
React.createElement(
|
50
43
|
HiStepLabel,
|
51
44
|
{
|
52
45
|
active: activeStep === index,
|
53
46
|
status: step.status,
|
54
|
-
notificationNumber: step.notificationNumber
|
47
|
+
notificationNumber: step.notificationNumber,
|
48
|
+
type: type
|
55
49
|
},
|
56
50
|
step.label
|
57
51
|
)
|
@@ -63,11 +57,25 @@ class HiBreadcrumb extends React.PureComponent {
|
|
63
57
|
}
|
64
58
|
|
65
59
|
HiBreadcrumb.defaultProps = {
|
66
|
-
activeStep: 0
|
60
|
+
activeStep: 0,
|
61
|
+
type: 'back'
|
67
62
|
};
|
68
63
|
HiBreadcrumb.propTypes = process.env.NODE_ENV !== "production" ? {
|
64
|
+
/**
|
65
|
+
* Which step is the active one
|
66
|
+
*/
|
69
67
|
activeStep: PropTypes.number,
|
68
|
+
/**
|
69
|
+
* The collection of steps of the breadcrumb.
|
70
|
+
*/
|
70
71
|
steps: PropTypes.array.isRequired,
|
71
|
-
|
72
|
+
/**
|
73
|
+
* The callback function handling the flow from one step to another
|
74
|
+
*/
|
75
|
+
handleStep: PropTypes.func,
|
76
|
+
/**
|
77
|
+
* The Breadcrumb type
|
78
|
+
*/
|
79
|
+
type: PropTypes.oneOf(['back', 'front-dark', 'front-light'])
|
72
80
|
} : {};
|
73
81
|
export default withStyles(styles, { name: 'HmuiHiBreadcrumb' })(HiBreadcrumb);
|
@@ -1,53 +1,61 @@
|
|
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
|
-
import classNames from 'classnames';
|
6
4
|
import { withStyles } from '../styles';
|
5
|
+
import classNames from 'classnames';
|
7
6
|
import HiStepConnector from './HiStepConnector';
|
7
|
+
import HiStepContent from './HiStepContent';
|
8
8
|
|
9
9
|
export const styles = theme => ({
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
paddingRight: theme.spacing.unit,
|
14
|
-
'&:first-child': {
|
15
|
-
paddingLeft: 0
|
16
|
-
},
|
17
|
-
'&:last-child': {
|
18
|
-
paddingRight: 0
|
19
|
-
}
|
20
|
-
},
|
21
|
-
vertical: {}
|
10
|
+
lastStep: {
|
11
|
+
marginBottom: 40
|
12
|
+
}
|
22
13
|
});
|
23
14
|
|
24
|
-
|
25
|
-
const {
|
26
|
-
active,
|
27
|
-
children,
|
28
|
-
classes,
|
29
|
-
className: classNameProp,
|
30
|
-
index,
|
31
|
-
isLast,
|
32
|
-
orientation,
|
33
|
-
validConnector
|
34
|
-
} = props,
|
35
|
-
other = _objectWithoutProperties(props, ['active', 'children', 'classes', 'className', 'index', 'isLast', 'orientation', 'validConnector']);
|
36
|
-
|
37
|
-
const className = classNames(classes.root, classes[orientation], classNameProp);
|
15
|
+
class HiStep extends React.PureComponent {
|
38
16
|
|
39
|
-
|
40
|
-
|
41
|
-
_extends({ className: className }, other),
|
42
|
-
React.Children.map(children, child => React.cloneElement(child, _extends({
|
17
|
+
render() {
|
18
|
+
const {
|
43
19
|
active,
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
20
|
+
children,
|
21
|
+
classes,
|
22
|
+
content,
|
23
|
+
isLast,
|
24
|
+
onClick,
|
25
|
+
steps,
|
26
|
+
type,
|
27
|
+
validConnector
|
28
|
+
} = this.props;
|
29
|
+
|
30
|
+
return React.createElement(
|
31
|
+
'div',
|
32
|
+
{
|
33
|
+
className: classNames({ [classes.lastStep]: isLast && type !== 'back' }),
|
34
|
+
onClick: onClick
|
35
|
+
},
|
36
|
+
React.Children.map(children, child => React.cloneElement(child, _extends({
|
37
|
+
active
|
38
|
+
}, child.props))),
|
39
|
+
!isLast && React.createElement(HiStepConnector, {
|
40
|
+
validConnector: validConnector,
|
41
|
+
type: type,
|
42
|
+
steps: steps,
|
43
|
+
active: active,
|
44
|
+
content: content
|
45
|
+
}),
|
46
|
+
content && active && isLast && type === 'front-light' && React.createElement(HiStepContent, { content: content, isLast: true })
|
47
|
+
);
|
48
|
+
}
|
49
49
|
}
|
50
50
|
|
51
|
+
HiStep.defaultProps = {
|
52
|
+
active: false,
|
53
|
+
content: React.createElement('span', null),
|
54
|
+
isLast: false,
|
55
|
+
steps: [],
|
56
|
+
type: 'back',
|
57
|
+
validConnector: false
|
58
|
+
};
|
51
59
|
HiStep.propTypes = process.env.NODE_ENV !== "production" ? {
|
52
60
|
/**
|
53
61
|
* Sets the step as active. Is passed to child components.
|
@@ -58,36 +66,29 @@ HiStep.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
58
66
|
*/
|
59
67
|
children: PropTypes.node,
|
60
68
|
/**
|
61
|
-
*
|
69
|
+
* The content to be displayed in the case of front-light breadcrumb
|
62
70
|
*/
|
63
|
-
|
71
|
+
content: PropTypes.node,
|
64
72
|
/**
|
65
73
|
* @ignore
|
74
|
+
* Used to know which step is the last, to not put a HiStepConnector
|
66
75
|
*/
|
67
|
-
|
76
|
+
isLast: PropTypes.bool,
|
68
77
|
/**
|
69
|
-
*
|
70
|
-
* Used internally for numbering.
|
78
|
+
* Callback on step container click
|
71
79
|
*/
|
72
|
-
|
80
|
+
onClick: PropTypes.func,
|
73
81
|
/**
|
74
|
-
*
|
75
|
-
* Used to know which step is the last, to not put a HiStepConnector
|
82
|
+
* The collection of steps of the breadcrumb.
|
76
83
|
*/
|
77
|
-
|
84
|
+
steps: PropTypes.array,
|
78
85
|
/**
|
79
86
|
* @ignore
|
80
87
|
*/
|
81
|
-
|
88
|
+
type: PropTypes.oneOf(['back', 'front-light', 'front-dark']),
|
82
89
|
/**
|
83
90
|
* @ignore
|
84
91
|
*/
|
85
92
|
validConnector: PropTypes.bool
|
86
93
|
} : {};
|
87
|
-
|
88
|
-
HiStep.defaultProps = {
|
89
|
-
active: false,
|
90
|
-
validConnector: false
|
91
|
-
};
|
92
|
-
|
93
|
-
export default withStyles(styles, { name: 'MuiStep' })(HiStep);
|
94
|
+
export default withStyles(styles, { name: 'MuiHiStep' })(HiStep);
|