@hipay/hipay-material-ui 3.2.3 → 3.4.0

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 (47) hide show
  1. package/HiAlertModal/HiAlertModal.js +122 -138
  2. package/HiCell/CellNumeric.js +21 -2
  3. package/HiCell/CellRate.js +8 -4
  4. package/HiCell/CellText.js +10 -5
  5. package/HiCell/CellTextStyled.js +19 -2
  6. package/HiCheckbox/HiCheckbox.js +25 -10
  7. package/HiChip/HiChip.js +66 -37
  8. package/HiDatePicker/HiDateRangeSelector.js +10 -2
  9. package/HiExpansionPanel/HiExpansionPanel.js +4 -7
  10. package/HiForm/HiInput.js +21 -5
  11. package/HiIcon/HiIcon.js +1 -16
  12. package/HiIconButton/HiIconButton.js +31 -56
  13. package/HiListItemLink/HiListItemLink.js +106 -0
  14. package/HiListItemLink/index.js +15 -0
  15. package/HiSelectableList/HiSelectableListItem.js +33 -11
  16. package/HiStepper/DefaultIndicator.js +44 -0
  17. package/HiStepper/HiStep.js +13 -7
  18. package/HiStepper/HiStepper.js +1 -1
  19. package/HiTable/HiCellBuilder.js +136 -130
  20. package/HiTable/HiTableBody.js +2 -2
  21. package/HiTable/HiTableHeader.js +7 -3
  22. package/HiTable/HiTableRow.js +4 -2
  23. package/es/HiAlertModal/HiAlertModal.js +122 -138
  24. package/es/HiCell/CellNumeric.js +21 -2
  25. package/es/HiCell/CellRate.js +8 -4
  26. package/es/HiCell/CellText.js +10 -5
  27. package/es/HiCell/CellTextStyled.js +19 -2
  28. package/es/HiCheckbox/HiCheckbox.js +25 -10
  29. package/es/HiChip/HiChip.js +66 -37
  30. package/es/HiDatePicker/HiDateRangeSelector.js +10 -2
  31. package/es/HiExpansionPanel/HiExpansionPanel.js +4 -7
  32. package/es/HiForm/HiInput.js +21 -5
  33. package/es/HiIcon/HiIcon.js +1 -16
  34. package/es/HiIconButton/HiIconButton.js +31 -56
  35. package/es/HiListItemLink/HiListItemLink.js +106 -0
  36. package/es/HiListItemLink/index.js +15 -0
  37. package/es/HiSelectableList/HiSelectableListItem.js +33 -11
  38. package/es/HiStepper/DefaultIndicator.js +44 -0
  39. package/es/HiStepper/HiStep.js +13 -7
  40. package/es/HiStepper/HiStepper.js +1 -1
  41. package/es/HiTable/HiCellBuilder.js +136 -130
  42. package/es/HiTable/HiTableBody.js +2 -2
  43. package/es/HiTable/HiTableHeader.js +7 -3
  44. package/es/HiTable/HiTableRow.js +4 -2
  45. package/es/hi-svg-icons/HiLogoRounded.js +3 -2
  46. package/hi-svg-icons/HiLogoRounded.js +3 -2
  47. package/package.json +4 -3
package/HiChip/HiChip.js CHANGED
@@ -5,7 +5,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.styles = void 0;
8
+ exports.default = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
9
13
 
10
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
11
15
 
@@ -21,7 +25,7 @@ var _HiIcon = _interopRequireDefault(require("../HiIcon"));
21
25
 
22
26
  var _styles = require("@material-ui/core/styles");
23
27
 
24
- var styles = function styles(theme) {
28
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
25
29
  return {
26
30
  root: (0, _objectSpread2.default)({}, theme.typography.b3, {
27
31
  display: 'inline-flex',
@@ -53,8 +57,12 @@ var styles = function styles(theme) {
53
57
  rightNavigation: {},
54
58
  deletable: {},
55
59
  leftIcon: {},
56
- icon: {
57
- marginRight: 4
60
+ icon: function icon(props) {
61
+ var fontSize = props.iconSize || 20;
62
+ return {
63
+ marginRight: 4,
64
+ fontSize: fontSize
65
+ };
58
66
  },
59
67
  iconClickable: {
60
68
  cursor: 'pointer',
@@ -105,9 +113,7 @@ var styles = function styles(theme) {
105
113
  paddingRight: '8px'
106
114
  }
107
115
  };
108
- };
109
-
110
- exports.styles = styles;
116
+ });
111
117
 
112
118
  var handleKeyDown = function handleKeyDown(e, fn) {
113
119
  if ((0, _keycode.default)(e) === 'space' || (0, _keycode.default)(e) === 'enter') {
@@ -116,11 +122,10 @@ var handleKeyDown = function handleKeyDown(e, fn) {
116
122
  }
117
123
  };
118
124
 
119
- function HiChip(props) {
120
- var _classNames;
125
+ var HiChip = function HiChip(props) {
126
+ var _classNames2;
121
127
 
122
128
  var className = props.className,
123
- classes = props.classes,
124
129
  fallbackImage = props.fallbackImage,
125
130
  icon = props.icon,
126
131
  _props$iconSize = props.iconSize,
@@ -143,27 +148,62 @@ function HiChip(props) {
143
148
  titleNext = props.titleNext,
144
149
  titlePrevious = props.titlePrevious,
145
150
  style = props.style;
151
+ var classes = useStyles(props);
152
+ var chipIcon;
153
+
154
+ if (icon) {
155
+ var iconProps = {
156
+ className: (0, _classnames.default)(classes.icon, (0, _defineProperty2.default)({}, classes.iconClickable, onIconClick)),
157
+ id: "".concat(id, "-icon"),
158
+ onClick: onIconClick,
159
+ onKeyDown: function onKeyDown(event) {
160
+ return handleKeyDown(event, onIconClick);
161
+ },
162
+ title: titleIcon,
163
+ tabIndex: onIconClick ? 0 : -1
164
+ };
165
+
166
+ if (typeof icon === 'string') {
167
+ chipIcon = _react.default.createElement(_HiIcon.default, (0, _extends2.default)({
168
+ icon: icon
169
+ }, iconProps));
170
+ } else if ((0, _typeof2.default)(icon) === 'object') {
171
+ chipIcon = (0, _objectSpread2.default)({}, icon);
172
+ chipIcon.props = (0, _objectSpread2.default)({}, iconProps);
173
+ }
174
+ }
175
+
176
+ var chipLabelIcon;
177
+
178
+ if (labelIcon) {
179
+ var _iconProps = {
180
+ className: classes.icon,
181
+ id: "".concat(id, "-labelIcon"),
182
+ size: iconSize,
183
+ title: titleIcon,
184
+ tabIndex: -1
185
+ };
186
+
187
+ if (typeof labelIcon === 'string') {
188
+ chipLabelIcon = _react.default.createElement(_HiIcon.default, (0, _extends2.default)({
189
+ icon: labelIcon
190
+ }, _iconProps));
191
+ } else if ((0, _typeof2.default)(labelIcon) === 'object') {
192
+ chipLabelIcon = (0, _objectSpread2.default)({}, labelIcon);
193
+ chipLabelIcon.props = (0, _objectSpread2.default)({}, _iconProps);
194
+ }
195
+ }
196
+
146
197
  return _react.default.createElement("div", {
147
198
  id: id,
148
199
  role: 'button',
149
- className: (0, _classnames.default)(classes.root, className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.leftNavigation, onPrevious), (0, _defineProperty2.default)(_classNames, classes.rightNavigation, onNext), (0, _defineProperty2.default)(_classNames, classes.deletable, onDelete), (0, _defineProperty2.default)(_classNames, classes.leftIcon, icon), _classNames)),
200
+ className: (0, _classnames.default)(classes.root, className, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.leftNavigation, onPrevious), (0, _defineProperty2.default)(_classNames2, classes.rightNavigation, onNext), (0, _defineProperty2.default)(_classNames2, classes.deletable, onDelete), (0, _defineProperty2.default)(_classNames2, classes.leftIcon, icon), _classNames2)),
150
201
  title: title,
151
202
  onClick: onClick,
152
203
  onKeyDown: onKeyDown,
153
204
  tabIndex: onKeyDown ? '0' : '-1',
154
205
  style: style
155
- }, icon && _react.default.createElement(_HiIcon.default, {
156
- className: (0, _classnames.default)(classes.icon, (0, _defineProperty2.default)({}, classes.iconClickable, onIconClick)),
157
- id: "".concat(id, "-icon"),
158
- icon: icon,
159
- size: iconSize,
160
- onClick: onIconClick,
161
- onKeyDown: function onKeyDown(event) {
162
- return handleKeyDown(event, onIconClick);
163
- },
164
- title: titleIcon,
165
- tabIndex: onIconClick ? 0 : -1
166
- }), prefix && _react.default.createElement("span", {
206
+ }, chipIcon, prefix && _react.default.createElement("span", {
167
207
  id: "".concat(id, "-prefix"),
168
208
  className: classes.prefix
169
209
  }, prefix), img && _react.default.createElement("img", {
@@ -179,14 +219,7 @@ function HiChip(props) {
179
219
  }
180
220
  },
181
221
  title: titleImg
182
- }), labelIcon && _react.default.createElement(_HiIcon.default, {
183
- className: (0, _classnames.default)(classes.icon),
184
- id: "".concat(id, "-labelIcon"),
185
- icon: labelIcon,
186
- size: iconSize,
187
- title: titleIcon,
188
- tabIndex: -1
189
- }), onPrevious && _react.default.createElement(_HiIcon.default, {
222
+ }), labelIcon && chipLabelIcon, onPrevious && _react.default.createElement(_HiIcon.default, {
190
223
  className: (0, _classnames.default)(classes.navigate),
191
224
  id: "".concat(id, "-previous"),
192
225
  icon: "arrow_left",
@@ -225,11 +258,7 @@ function HiChip(props) {
225
258
  title: titleDelete,
226
259
  tabIndex: 0
227
260
  }));
228
- }
229
-
230
- var _default = (0, _styles.withStyles)(styles, {
231
- hiComponent: true,
232
- name: 'HmuiHiChip'
233
- })(HiChip);
261
+ };
234
262
 
263
+ var _default = HiChip;
235
264
  exports.default = _default;
@@ -44,6 +44,10 @@ var _HiFormControl = _interopRequireDefault(require("../HiForm/HiFormControl"));
44
44
 
45
45
  var _reactDeviceDetect = require("react-device-detect");
46
46
 
47
+ var _Calendar = _interopRequireDefault(require("mdi-material-ui/Calendar"));
48
+
49
+ var _CalendarBlank = _interopRequireDefault(require("mdi-material-ui/CalendarBlank"));
50
+
47
51
  function findSeparator(format) {
48
52
  var str = '';
49
53
 
@@ -302,6 +306,10 @@ exports.styles = styles;
302
306
  var PRESET_PERIOD_LIST = ['cd', 'pd', 'cw', 'pw', 'cm', 'pm', 'cq', 'pq', 'cy', 'yy'];
303
307
  var CUSTOM_PERIOD_LIST = ['custom'];
304
308
 
309
+ var _ref2 = _react.default.createElement(_Calendar.default, null);
310
+
311
+ var _ref3 = _react.default.createElement(_CalendarBlank.default, null);
312
+
305
313
  var HiDateRangeSelector =
306
314
  /*#__PURE__*/
307
315
  function (_React$Component) {
@@ -402,7 +410,7 @@ function (_React$Component) {
402
410
  id: "preset_periods_subheader",
403
411
  type: PRESET_PERIOD_LIST.includes(selectedPreset) ? "primary-highlight" : "highlight",
404
412
  pinned: true,
405
- icon: "mdi_calendar",
413
+ icon: _ref2,
406
414
  label: translations.preset_periods
407
415
  });
408
416
  presetOptionsAvailable.forEach(function (option) {
@@ -417,7 +425,7 @@ function (_React$Component) {
417
425
  id: "custom_periods_subheader",
418
426
  type: CUSTOM_PERIOD_LIST.includes(selectedPreset) ? "primary-highlight" : "highlight",
419
427
  pinned: true,
420
- icon: "mdi_calendar_blank",
428
+ icon: _ref3,
421
429
  label: translations.custom_periods
422
430
  });
423
431
  customOptionsAvailable.forEach(function (option) {
@@ -27,12 +27,12 @@ var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/E
27
27
 
28
28
  var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
29
29
 
30
- var _HiIcon = _interopRequireDefault(require("./../HiIcon"));
31
-
32
30
  var _styles = require("@material-ui/core/styles");
33
31
 
34
32
  var _classnames = _interopRequireDefault(require("classnames"));
35
33
 
34
+ var _MenuUp = _interopRequireDefault(require("mdi-material-ui/MenuUp"));
35
+
36
36
  var useStyles = (0, _styles.makeStyles)(function (theme) {
37
37
  return {
38
38
  summaryContent: {
@@ -49,7 +49,7 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
49
49
  borderBottom: '1px solid #E3E6E7',
50
50
  height: 48,
51
51
  minHeight: 48,
52
- padding: '0 0 0 8px',
52
+ padding: 0,
53
53
  '&$expanded': {
54
54
  minHeight: 48
55
55
  }
@@ -113,10 +113,7 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
113
113
  * HiExpansionPanel
114
114
  */
115
115
 
116
- var _ref = _react.default.createElement(_HiIcon.default, {
117
- icon: "mdi_menu_up",
118
- size: 24
119
- });
116
+ var _ref = _react.default.createElement(_MenuUp.default, null);
120
117
 
121
118
  function HiExpansionPanel(props) {
122
119
  var disabled = props.disabled,
package/HiForm/HiInput.js CHANGED
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.styles = void 0;
9
9
 
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
13
+
10
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
11
15
 
12
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
@@ -86,6 +90,7 @@ var styles = function styles(theme) {
86
90
  borderRadius: 2
87
91
  },
88
92
  startAdornment: {
93
+ fontSize: 20,
89
94
  zIndex: 1,
90
95
  marginLeft: 0,
91
96
  marginRight: 8
@@ -100,6 +105,7 @@ var styles = function styles(theme) {
100
105
  color: theme.palette.neutral.light
101
106
  },
102
107
  rightIcon: {
108
+ fontSize: 20,
103
109
  width: 39,
104
110
  color: theme.palette.neutral.main
105
111
  },
@@ -355,16 +361,26 @@ function (_React$PureComponent) {
355
361
  });
356
362
  var leftIcon;
357
363
 
358
- if (startAdornment) {
364
+ if (!!startAdornment) {
359
365
  var _classNames2;
360
366
 
361
- leftIcon = _react.default.createElement(_HiIcon.default, {
362
- icon: startAdornment,
363
- size: 20,
367
+ var leftIconProps = {
364
368
  color: startAdornmentColor,
365
369
  onClick: this.props.onLeftIconClick,
366
370
  className: (0, _classnames.default)(classes.startAdornment, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.startAdornmentDefaultColor, !startAdornmentColor), (0, _defineProperty2.default)(_classNames2, classes.startAdornmentFocus, focused && !startAdornmentColor), (0, _defineProperty2.default)(_classNames2, classes.startAdornmentDisabled, disabled && !startAdornmentColor), (0, _defineProperty2.default)(_classNames2, classes.iconPointer, this.props.onLeftIconClick), _classNames2))
367
- });
371
+ };
372
+
373
+ if (typeof startAdornment === 'string') {
374
+ leftIcon = _react.default.createElement(_HiIcon.default, (0, _extends2.default)({
375
+ icon: startAdornment
376
+ }, leftIconProps));
377
+ } else if ((0, _typeof2.default)(startAdornment) === 'object') {
378
+ // Icon component as prop
379
+ leftIcon = (0, _objectSpread2.default)({}, startAdornment);
380
+ leftIcon.props = (0, _objectSpread2.default)({}, leftIcon.props, {}, leftIconProps, {
381
+ className: "".concat(leftIconProps.className, " ").concat(leftIcon.props.className)
382
+ });
383
+ }
368
384
  } // Build endAdornment with eraseIcon + endAdornmentProps
369
385
 
370
386
 
package/HiIcon/HiIcon.js CHANGED
@@ -27,8 +27,6 @@ var _helpers = require("../utils/helpers");
27
27
 
28
28
  var hiSvgIcons = _interopRequireWildcard(require("../hi-svg-icons"));
29
29
 
30
- var mdi = _interopRequireWildcard(require("mdi-material-ui"));
31
-
32
30
  var useStyles = (0, _styles.makeStyles)(function (theme) {
33
31
  return {
34
32
  /* Styles applied to the root element. */
@@ -56,15 +54,12 @@ var HiIcon = _react.default.forwardRef(function (props, ref) {
56
54
  color = props.color,
57
55
  other = (0, _objectWithoutProperties2.default)(props, ["children", "className", "icon", "size", "color"]);
58
56
  var classes = useStyles(props);
59
- var theme = (0, _styles.useTheme)();
60
57
  var iconName = icon !== null ? icon : children;
61
58
  var iconType = (0, _react.useMemo)(function () {
62
59
  if (iconName && iconName.indexOf('fa-') === 0) {
63
60
  return "line_awesome";
64
61
  } else if (iconName && iconName.indexOf('hi_') === 0) {
65
62
  return "hipay";
66
- } else if (iconName && iconName.indexOf('mdi_') === 0) {
67
- return "mdi";
68
63
  } else {
69
64
  return "mui";
70
65
  }
@@ -89,19 +84,9 @@ var HiIcon = _react.default.forwardRef(function (props, ref) {
89
84
  size: size
90
85
  }, other));
91
86
 
92
- case "mdi":
93
- var MdiIconName = mdi[(0, _helpers.capitalize)((0, _helpers.camelize)(iconName.slice(4)))];
94
- return _react.default.createElement(MdiIconName, (0, _extends2.default)({
95
- ref: ref,
96
- className: (0, _classnames.default)(className, (0, _defineProperty2.default)({}, classes.root, color !== "inherit")),
97
- color: "inherit",
98
- style: {
99
- fontSize: size
100
- }
101
- }, other));
102
-
103
87
  case "mui":
104
88
  default:
89
+ // console.log({ ...props });
105
90
  return _react.default.createElement(_Icon.default, (0, _extends2.default)({
106
91
  ref: ref,
107
92
  className: (0, _classnames.default)(className, (0, _defineProperty2.default)({}, classes.root, color !== "inherit")),
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.styles = void 0;
8
+ exports.default = exports.useStyles = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
11
11
 
@@ -24,81 +24,56 @@ var _colorManipulator = require("@material-ui/core/styles/colorManipulator");
24
24
  var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
25
25
 
26
26
  // @inheritedComponent IconButton
27
- var styles = function styles(theme) {
27
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
28
28
  return {
29
29
  label: {},
30
- positive: {
31
- color: theme.palette.positive.main,
32
- '&:hover': {
33
- backgroundColor: (0, _colorManipulator.fade)(theme.palette.positive.main, theme.palette.action.hoverOpacity),
34
- // Reset on touch devices, it doesn't add specificity
35
- '@media (hover: none)': {
36
- backgroundColor: 'transparent'
37
- }
38
- }
39
- },
40
- negative: {
41
- color: theme.palette.negative.main,
42
- '&:hover': {
43
- backgroundColor: (0, _colorManipulator.fade)(theme.palette.negative.main, theme.palette.action.hoverOpacity),
44
- // Reset on touch devices, it doesn't add specificity
45
- '@media (hover: none)': {
46
- backgroundColor: 'transparent'
47
- }
48
- }
49
- },
50
- middle: {
51
- color: theme.palette.middle.main,
52
- '&:hover': {
53
- backgroundColor: (0, _colorManipulator.fade)(theme.palette.middle.main, theme.palette.action.hoverOpacity),
54
- // Reset on touch devices, it doesn't add specificity
55
- '@media (hover: none)': {
56
- backgroundColor: 'transparent'
57
- }
30
+ rootCustomColor: function rootCustomColor(props) {
31
+ var color;
32
+
33
+ if (theme.palette[props.color]) {
34
+ color = theme.palette[props.color].main;
35
+ } else if (props.color.charAt(0) === "#") {
36
+ color = props.color;
58
37
  }
59
- },
60
- neutral: {
61
- color: theme.palette.neutral.main,
62
- '&:hover': {
63
- backgroundColor: (0, _colorManipulator.fade)(theme.palette.neutral.main, theme.palette.action.hoverOpacity),
64
- // Reset on touch devices, it doesn't add specificity
65
- '@media (hover: none)': {
66
- backgroundColor: 'transparent'
38
+
39
+ if (!color) return {};
40
+ return {
41
+ color: color,
42
+ '&:hover': {
43
+ backgroundColor: (0, _colorManipulator.fade)(color, theme.palette.action.hoverOpacity),
44
+ // Reset on touch devices, it doesn't add specificity
45
+ '@media (hover: none)': {
46
+ backgroundColor: 'transparent'
47
+ }
67
48
  }
68
- }
49
+ };
69
50
  }
70
51
  };
71
- };
72
-
73
- exports.styles = styles;
52
+ });
53
+ exports.useStyles = useStyles;
74
54
 
75
55
  function HiIconButton(props) {
76
- var _classNames;
77
-
78
56
  var children = props.children,
79
- classes = props.classes,
80
57
  className = props.className,
81
58
  color = props.color,
82
- other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "color"]);
83
- var hcolor = ['positive', 'negative', 'middle', 'neutral'].includes(color) ? 'inherit' : color;
84
- var buttonClassNames = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.positive, color === 'positive'), (0, _defineProperty2.default)(_classNames, classes.negative, color === 'negative'), (0, _defineProperty2.default)(_classNames, classes.middle, color === 'middle'), (0, _defineProperty2.default)(_classNames, classes.neutral, color === 'neutral'), _classNames));
59
+ other = (0, _objectWithoutProperties2.default)(props, ["children", "className", "color"]);
60
+ var classes = useStyles(props);
61
+ var isHexColor = color.charAt(0) === "#";
62
+ var isExtendedColor = ['positive', 'negative', 'middle', 'neutral'].includes(color);
63
+ var isCustomColor = isHexColor || isExtendedColor;
64
+ var rootClassNames = (0, _classnames.default)((0, _defineProperty2.default)({}, classes.rootCustomColor, isCustomColor));
85
65
  return _react.default.createElement(_IconButton.default, (0, _extends2.default)({
86
66
  className: className,
87
67
  classes: {
88
- root: buttonClassNames,
68
+ root: rootClassNames,
89
69
  label: classes.label
90
70
  },
91
- color: hcolor
71
+ color: isCustomColor ? 'inherit' : color
92
72
  }, other), children);
93
73
  }
94
74
 
95
75
  HiIconButton.defaultProps = {
96
76
  color: 'default'
97
77
  };
98
-
99
- var _default = (0, _styles.withStyles)(styles, {
100
- hiComponent: true,
101
- name: 'HmuiHiIconButton'
102
- })(HiIconButton);
103
-
78
+ var _default = HiIconButton;
104
79
  exports.default = _default;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _styles = require("@material-ui/core/styles");
17
+
18
+ var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
19
+
20
+ var _ArrowRight = _interopRequireDefault(require("@material-ui/icons/ArrowRight"));
21
+
22
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
23
+ return {
24
+ root: function root(props) {
25
+ return {
26
+ color: props.disabled ? theme.palette.neutral.light : "initial",
27
+ display: "flex",
28
+ height: 48,
29
+ padding: 12,
30
+ "&:hover": {
31
+ backgroundColor: props.disabled ? "none" : "#E6F9FD",
32
+ cursor: props.disabled ? "cursor" : "pointer"
33
+ },
34
+ "&:not(:last-child)": {
35
+ borderBottom: "1px solid #E0E0E0"
36
+ },
37
+ // margin between children (unless last span for ripple effect)
38
+ "& > :not(span)": {
39
+ marginLeft: 12
40
+ },
41
+ "& > div": {
42
+ display: "block",
43
+ overflow: "hidden",
44
+ textOverflow: "ellipsis",
45
+ whiteSpace: "nowrap",
46
+ alignSelf: "center",
47
+ minWidth: "5%"
48
+ }
49
+ };
50
+ },
51
+ primary: function primary(props) {
52
+ return {
53
+ fontSize: "14px",
54
+ textTransform: "uppercase",
55
+ flex: props.secondary ? "initial" : 1 // expand primary text unless there is secondary
56
+
57
+ };
58
+ },
59
+ secondary: {
60
+ alignSelf: "center",
61
+ color: theme.palette.neutral.light,
62
+ fontFamily: theme.typography.fontFamily,
63
+ fontSize: 11,
64
+ flex: 1
65
+ },
66
+ info: {
67
+ color: theme.palette.neutral.light,
68
+ fontFamily: theme.typography.fontFamily
69
+ }
70
+ };
71
+ });
72
+
73
+ var _ref = _react.default.createElement(_ArrowRight.default, null);
74
+
75
+ var HiListItemLink = _react.default.forwardRef(function (props, ref) {
76
+ var disabled = props.disabled,
77
+ info = props.info,
78
+ primary = props.primary,
79
+ secondary = props.secondary,
80
+ icon = props.icon,
81
+ others = (0, _objectWithoutProperties2.default)(props, ["disabled", "info", "primary", "secondary", "icon"]);
82
+ var classes = useStyles(props);
83
+ return _react.default.createElement(_ListItem.default, (0, _extends2.default)({
84
+ ref: ref,
85
+ className: classes.root,
86
+ button: true,
87
+ disableGutters: true,
88
+ disabled: disabled
89
+ }, others), _react.default.createElement("div", {
90
+ className: classes.primary
91
+ }, primary), secondary && _react.default.createElement("div", {
92
+ className: classes.secondary
93
+ }, secondary), info && _react.default.createElement("div", {
94
+ className: classes.info
95
+ }, info), icon, _ref);
96
+ });
97
+
98
+ HiListItemLink.defaultProps = {
99
+ disabled: false,
100
+ info: null,
101
+ onClick: null,
102
+ secondary: null,
103
+ icon: null
104
+ };
105
+ var _default = HiListItemLink;
106
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _HiListItemLink.default;
12
+ }
13
+ });
14
+
15
+ var _HiListItemLink = _interopRequireDefault(require("./HiListItemLink"));
@@ -11,6 +11,10 @@ exports.default = exports.useStyles = exports.useItemLabelStyles = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
13
13
 
14
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
15
+
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
17
+
14
18
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
15
19
 
16
20
  var _react = _interopRequireWildcard(require("react"));
@@ -206,10 +210,14 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
206
210
  margin: '1px 4px 3px 4px',
207
211
  verticalAlign: 'middle'
208
212
  },
209
- icon: {
210
- marginLeft: theme.spacing(1),
211
- marginRight: theme.spacing(1),
212
- verticalAlign: 'middle'
213
+ icon: function icon(props) {
214
+ return {
215
+ marginLeft: theme.spacing(1),
216
+ marginRight: theme.spacing(1),
217
+ verticalAlign: 'middle',
218
+ color: props.selected && props.color ? props.color : 'inherit',
219
+ fontSize: 20
220
+ };
213
221
  },
214
222
  labelContent: {
215
223
  display: '-webkit-flex',
@@ -273,7 +281,7 @@ function HiSelectableListItem(props) {
273
281
  item = props.item;
274
282
  var classes = useStyles(props);
275
283
  var ref = (0, _react.useRef)(null);
276
- var isHovering = (0, _reactUse.useHoverDirty)(ref);
284
+ var isHovering = !!hoverIcon ? (0, _reactUse.useHoverDirty)(ref) : false;
277
285
  var onKeyDown = (0, _react.useCallback)(function (_ref) {
278
286
  var code = _ref.code;
279
287
 
@@ -302,6 +310,24 @@ function HiSelectableListItem(props) {
302
310
  }
303
311
 
304
312
  var ListItemComponentName = pinned ? _ListSubheader.default : _ListItem.default;
313
+ var itemIcon;
314
+
315
+ if (displayedIcon) {
316
+ var iconProps = {
317
+ className: classes.icon,
318
+ color: selected && color ? color : 'inherit'
319
+ };
320
+
321
+ if (typeof displayedIcon === 'string') {
322
+ itemIcon = _react.default.createElement(_HiIcon.default, (0, _extends2.default)({
323
+ icon: displayedIcon
324
+ }, iconProps));
325
+ } else if ((0, _typeof2.default)(icon) === 'object') {
326
+ itemIcon = (0, _objectSpread2.default)({}, displayedIcon);
327
+ itemIcon.props = (0, _objectSpread2.default)({}, itemIcon.props, {}, iconProps);
328
+ }
329
+ }
330
+
305
331
  return _react.default.createElement(ListItemComponentName, {
306
332
  ref: ref,
307
333
  id: id,
@@ -327,7 +353,7 @@ function HiSelectableListItem(props) {
327
353
  checkedIcon: checkedIcon // color={disabled ? 'inherit' : 'primary'}
328
354
  ,
329
355
  disabled: disabled,
330
- icon: displayedIcon,
356
+ icon: itemIcon,
331
357
  indeterminate: indeterminate,
332
358
  indeterminateIcon: indeterminateIcon
333
359
  }), type === 'image' && img && _react.default.createElement("img", {
@@ -344,11 +370,7 @@ function HiSelectableListItem(props) {
344
370
  }), _react.default.createElement("div", {
345
371
  className: (0, _classnames.default)(classes.listItemContent, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.centered, centered), (0, _defineProperty2.default)(_classNames3, classes.highlight, type === 'highlight'), (0, _defineProperty2.default)(_classNames3, classes.primaryHighlight, type === 'primary-highlight'), (0, _defineProperty2.default)(_classNames3, classes.listItemContentSelected, selected && color), _classNames3)),
346
372
  "data-id": id
347
- }, icon && hideCheckbox && _react.default.createElement(_HiIcon.default, {
348
- icon: icon,
349
- className: classes.icon,
350
- color: selected && color ? color : 'inherit'
351
- }), _react.default.createElement(ItemLabel, {
373
+ }, itemIcon && hideCheckbox && itemIcon, _react.default.createElement(ItemLabel, {
352
374
  color: color,
353
375
  label: label,
354
376
  labelHighlight: labelHighlight,