@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.
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);