@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.
Files changed (53) hide show
  1. package/HiBreadcrumb/HiBreadcrumb.js +28 -22
  2. package/HiBreadcrumb/HiStep.js +96 -60
  3. package/HiBreadcrumb/HiStepConnector.js +91 -26
  4. package/HiBreadcrumb/HiStepContent.js +122 -0
  5. package/HiBreadcrumb/HiStepIcon.js +86 -29
  6. package/HiBreadcrumb/HiStepLabel.js +128 -62
  7. package/HiBreadcrumb/HiStepper.js +5 -24
  8. package/HiDatePicker/HiDateRangePicker.js +69 -28
  9. package/HiDatePicker/HiDateRangeSelector.js +14 -6
  10. package/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
  11. package/HiDatePicker/Overlays/Overlay.js +22 -4
  12. package/HiDatePicker/stylesheet.js +7 -0
  13. package/HiForm/HiInput.js +24 -11
  14. package/HiForm/HiSlider.js +399 -0
  15. package/HiForm/index.js +9 -0
  16. package/HiSelect/HiSelect.js +1 -1
  17. package/HiTable/BodyCellBuilder.js +3 -0
  18. package/HiTable/BodyCells/CellIcon.js +26 -19
  19. package/HiTable/BodyCells/CellImage.js +17 -13
  20. package/HiTable/BodyCells/CellNumeric.js +7 -2
  21. package/HiTable/BodyCells/CellSentinel.js +14 -13
  22. package/HiTable/BodyCells/CellThirdPartySecurity.js +43 -19
  23. package/HiTable/HeaderCell.js +3 -2
  24. package/es/HiBreadcrumb/HiBreadcrumb.js +27 -19
  25. package/es/HiBreadcrumb/HiStep.js +55 -54
  26. package/es/HiBreadcrumb/HiStepConnector.js +86 -26
  27. package/es/HiBreadcrumb/HiStepContent.js +63 -0
  28. package/es/HiBreadcrumb/HiStepIcon.js +103 -35
  29. package/es/HiBreadcrumb/HiStepLabel.js +106 -63
  30. package/es/HiBreadcrumb/HiStepper.js +5 -21
  31. package/es/HiDatePicker/HiDateRangePicker.js +65 -27
  32. package/es/HiDatePicker/HiDateRangeSelector.js +15 -7
  33. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
  34. package/es/HiDatePicker/Overlays/Overlay.js +18 -4
  35. package/es/HiDatePicker/stylesheet.js +7 -0
  36. package/es/HiForm/HiInput.js +19 -10
  37. package/es/HiForm/HiSlider.js +309 -0
  38. package/es/HiForm/index.js +1 -0
  39. package/es/HiSelect/HiSelect.js +1 -1
  40. package/es/HiTable/BodyCellBuilder.js +3 -0
  41. package/es/HiTable/BodyCells/CellIcon.js +15 -8
  42. package/es/HiTable/BodyCells/CellImage.js +16 -14
  43. package/es/HiTable/BodyCells/CellNumeric.js +6 -2
  44. package/es/HiTable/BodyCells/CellSentinel.js +8 -5
  45. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +40 -15
  46. package/es/HiTable/HeaderCell.js +3 -2
  47. package/es/utils/hiHelpers.js +4 -3
  48. package/index.es.js +1 -1
  49. package/index.js +1 -1
  50. package/package.json +43 -43
  51. package/umd/hipay-material-ui.development.js +7680 -7171
  52. package/umd/hipay-material-ui.production.min.js +5 -5
  53. 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 = function styles(theme) {
57
- return {
58
- icon: {
59
- float: 'left'
60
- },
61
- label: {
62
- margin: 5
63
- },
64
- wrapper: {
65
- whiteSpace: 'nowrap',
66
- overflow: 'hidden',
67
- textOverflow: 'ellipsis'
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
- null,
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
- * Icône name [from material-design-icons](https://materialdesignicons.com/)
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: "hidden",
82
- textOverflow: "ellipsis"
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 = function styles(theme) {
55
- return {
56
- smartDecision: {
57
- display: 'inline-block',
58
- minWidth: 18
59
- },
60
- label: {
61
- marginLeft: 2
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
- null,
139
+ { className: classes.nowrap },
139
140
  scoreLabel
140
141
  ),
141
142
  _react2.default.createElement(
142
143
  'div',
143
- null,
144
+ { className: classes.nowrap },
144
145
  fraudResult
145
146
  ),
146
147
  !!smartDecision && automaticFraudReviewResult && _react2.default.createElement(
147
148
  'div',
148
- null,
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 = function styles(theme) {
47
- return {
48
- icon: {
49
- width: 18,
50
- height: 18
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, { className: classes.icon, style: { color: theme.palette.positive.normal } });
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, { className: classes.icon, style: { color: theme.palette.middle.normal } });
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, { className: classes.icon, style: { color: theme.palette.neutral.light } });
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, { className: classes.icon, style: { color: theme.palette.neutral.light } });
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: label, placement: this.props.sticky ? 'right' : 'bottom' },
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);
@@ -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
- handleStep: PropTypes.func
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
- root: {},
11
- horizontal: {
12
- paddingLeft: theme.spacing.unit,
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
- function HiStep(props) {
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
- return React.createElement(
40
- 'div',
41
- _extends({ className: className }, other),
42
- React.Children.map(children, child => React.cloneElement(child, _extends({
17
+ render() {
18
+ const {
43
19
  active,
44
- icon: index + 1,
45
- orientation
46
- }, child.props))),
47
- !isLast && React.createElement(HiStepConnector, { orientation: 'vertical', validConnector: validConnector })
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
- * @ignore
69
+ * The content to be displayed in the case of front-light breadcrumb
62
70
  */
63
- classes: PropTypes.object.isRequired,
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
- className: PropTypes.string,
76
+ isLast: PropTypes.bool,
68
77
  /**
69
- * @ignore
70
- * Used internally for numbering.
78
+ * Callback on step container click
71
79
  */
72
- index: PropTypes.number,
80
+ onClick: PropTypes.func,
73
81
  /**
74
- * @ignore
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
- isLast: PropTypes.bool,
84
+ steps: PropTypes.array,
78
85
  /**
79
86
  * @ignore
80
87
  */
81
- orientation: PropTypes.oneOf(['horizontal', 'vertical']),
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);