@hipay/hipay-material-ui 2.3.3 → 2.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/HiButton/HiButton.js +110 -15
  2. package/HiExpansionPanel/HiExpansionPanel.js +63 -98
  3. package/HiPaymentMeans/HiPaymentMeans.js +24 -12
  4. package/es/HiButton/HiButton.js +110 -15
  5. package/es/HiExpansionPanel/HiExpansionPanel.js +63 -98
  6. package/es/HiPaymentMeans/HiPaymentMeans.js +24 -12
  7. package/es/hi-svg-icons/HiAccount.js +8 -11
  8. package/es/hi-svg-icons/HiBilling.js +8 -11
  9. package/es/hi-svg-icons/HiCatalog.js +8 -11
  10. package/es/hi-svg-icons/HiCustomer.js +8 -11
  11. package/es/hi-svg-icons/HiFinance.js +8 -11
  12. package/es/hi-svg-icons/HiIntelligence.js +59 -0
  13. package/es/hi-svg-icons/HiOrder.js +74 -0
  14. package/es/hi-svg-icons/HiPaymentOrder.js +56 -0
  15. package/es/hi-svg-icons/HiPriceGrid.js +56 -0
  16. package/es/hi-svg-icons/HiRoute.js +8 -11
  17. package/es/hi-svg-icons/HiSettlement.js +8 -11
  18. package/es/hi-svg-icons/HiTransaction.js +8 -11
  19. package/es/hi-svg-icons/HiUser.js +8 -11
  20. package/es/hi-svg-icons/HiVendor.js +56 -0
  21. package/es/hi-svg-icons/HiWidget.js +8 -16
  22. package/es/hi-svg-icons/index.js +41 -1
  23. package/hi-svg-icons/HiAccount.js +8 -11
  24. package/hi-svg-icons/HiBilling.js +8 -11
  25. package/hi-svg-icons/HiCatalog.js +8 -11
  26. package/hi-svg-icons/HiCustomer.js +8 -11
  27. package/hi-svg-icons/HiFinance.js +8 -11
  28. package/hi-svg-icons/HiIntelligence.js +59 -0
  29. package/hi-svg-icons/HiOrder.js +74 -0
  30. package/hi-svg-icons/HiPaymentOrder.js +56 -0
  31. package/hi-svg-icons/HiPriceGrid.js +56 -0
  32. package/hi-svg-icons/HiRoute.js +8 -11
  33. package/hi-svg-icons/HiSettlement.js +8 -11
  34. package/hi-svg-icons/HiTransaction.js +8 -11
  35. package/hi-svg-icons/HiUser.js +8 -11
  36. package/hi-svg-icons/HiVendor.js +56 -0
  37. package/hi-svg-icons/HiWidget.js +8 -16
  38. package/hi-svg-icons/index.js +41 -1
  39. package/package.json +7 -6
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -9,7 +11,9 @@ exports.default = exports.useStyles = void 0;
9
11
 
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
13
17
 
14
18
  var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
15
19
 
@@ -35,12 +39,22 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
35
39
  }
36
40
  }
37
41
  };
42
+ } else if (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(props.color)) {
43
+ return {
44
+ color: props.disabled ? theme.palette.action.disabled : props.color,
45
+ "&:hover": {
46
+ backgroundColor: (0, _colorManipulator.fade)(props.color, theme.palette.action.hoverOpacity),
47
+ "@media (hover: none)": {
48
+ backgroundColor: "transparent"
49
+ }
50
+ }
51
+ };
38
52
  }
39
53
 
40
54
  return null;
41
55
  },
42
56
  contained: function contained(props) {
43
- if (['neutral', 'positive', 'middle', 'negative'].includes(props.color)) {
57
+ if (props.variant === "contained" && ['neutral', 'positive', 'middle', 'negative'].includes(props.color)) {
44
58
  return {
45
59
  color: props.disabled ? theme.palette.neutral.contrastText : theme.palette[props.color].contrastText,
46
60
  backgroundColor: props.disabled ? theme.palette.neutral.main : theme.palette[props.color].main,
@@ -52,18 +66,67 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
52
66
  }
53
67
  }
54
68
  };
55
- }
69
+ } else if (props.variant === "contained" && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(props.color)) {
70
+ return {
71
+ color: props.disabled ? theme.palette.neutral.contrastText : theme.palette.getContrastText(props.color),
72
+ backgroundColor: props.disabled ? theme.palette.neutral.main : props.color,
73
+ "&:hover": {
74
+ backgroundColor: (0, _colorManipulator.darken)(props.color, theme.palette.tonalOffset * 1.5),
75
+ "@media (hover: none)": {
76
+ backgroundColor: props.color
77
+ }
78
+ }
79
+ };
80
+ } else if (props.variant === "containedLight" && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(props.color)) {
81
+ return {
82
+ color: props.disabled ? theme.palette.neutral.contrastText : props.color,
83
+ backgroundColor: (0, _colorManipulator.fade)(props.disabled ? theme.palette.neutral.main : props.color, theme.palette.action.hoverOpacity),
84
+ "&:hover": {
85
+ backgroundColor: (0, _colorManipulator.fade)(props.color, theme.palette.action.hoverOpacity + 0.1),
86
+ "@media (hover: none)": {
87
+ backgroundColor: (0, _colorManipulator.fade)(props.disabled ? theme.palette.neutral.main : props.color, theme.palette.action.hoverOpacity)
88
+ }
89
+ }
90
+ };
91
+ } else if (props.variant === "containedLight" // && is a palette color
92
+ ) {
93
+ return {
94
+ color: props.disabled ? theme.palette.neutral.contrastText : theme.palette[props.color].main,
95
+ backgroundColor: (0, _colorManipulator.fade)(props.disabled ? theme.palette.neutral.main : theme.palette[props.color].main, theme.palette.action.hoverOpacity),
96
+ '&:hover': {
97
+ backgroundColor: (0, _colorManipulator.fade)(theme.palette[props.color].main, theme.palette.action.hoverOpacity + 0.1),
98
+ // Reset on touch devices, it doesn't add specificity
99
+ '@media (hover: none)': {
100
+ backgroundColor: (0, _colorManipulator.fade)(props.disabled ? theme.palette.neutral.main : theme.palette[props.color].main, theme.palette.action.hoverOpacity)
101
+ }
102
+ }
103
+ };
104
+ }
56
105
 
57
106
  return null;
58
107
  },
59
108
  outlined: function outlined(props) {
60
- return ['neutral', 'positive', 'middle', 'negative'].includes(props.color) && {
61
- color: theme.palette[props.color].main,
62
- border: "1px solid ".concat((0, _colorManipulator.fade)(theme.palette[props.color].main, 0.5)),
63
- '&:hover': {
64
- border: "1px solid ".concat(theme.palette[props.color].main)
65
- }
66
- };
109
+ if (['neutral', 'positive', 'middle', 'negative'].includes(props.color)) {
110
+ return {
111
+ color: theme.palette[props.color].main,
112
+ border: "1px solid ".concat((0, _colorManipulator.fade)(theme.palette[props.color].main, 0.5)),
113
+ '&:hover': {
114
+ border: "1px solid ".concat(theme.palette[props.color].main),
115
+ backgroundColor: (0, _colorManipulator.fade)(theme.palette[props.color].main, theme.palette.action.hoverOpacity)
116
+ }
117
+ };
118
+ } else if (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(props.color)) {
119
+ return {
120
+ color: props.color,
121
+ border: "1px solid ".concat((0, _colorManipulator.fade)(props.color, 0.5)),
122
+ "&:hover": {
123
+ border: "1px solid ".concat(props.color),
124
+ backgroundColor: (0, _colorManipulator.fade)(props.color, theme.palette.action.hoverOpacity)
125
+ }
126
+ };
127
+ }
128
+
129
+ return null;
67
130
  }
68
131
  };
69
132
  });
@@ -75,16 +138,48 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
75
138
  exports.useStyles = useStyles;
76
139
 
77
140
  function HiButton(props) {
141
+ var disableElevation = props.disableElevation,
142
+ variant = props.variant,
143
+ color = props.color,
144
+ otherProps = (0, _objectWithoutProperties2.default)(props, ["disableElevation", "variant", "color"]);
78
145
  var classes = useStyles(props);
79
- var color = ['neutral', 'positive', 'middle', 'negative'].includes(props.color) ? 'inherit' : props.color;
146
+ var style = (0, _react.useMemo)(function () {
147
+ var style = {};
148
+
149
+ if (disableElevation) {
150
+ style.boxShadow = "none";
151
+ }
152
+
153
+ return style;
154
+ }, [disableElevation]);
155
+
156
+ var _color = (0, _react.useMemo)(function () {
157
+ if (['neutral', 'positive', 'middle', 'negative'].includes(color) || /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(color) // isHexColor
158
+ ) {
159
+ return "inherit";
160
+ }
161
+
162
+ return color;
163
+ }, [color]);
164
+
165
+ var _variant = (0, _react.useMemo)(function () {
166
+ if (variant === "containedLight") {
167
+ return "contained";
168
+ }
169
+
170
+ return variant;
171
+ }, [variant]);
172
+
80
173
  return _react.default.createElement(_Button.default, (0, _extends2.default)({
81
- classes: classes
82
- }, props, {
83
- color: color
84
- }));
174
+ style: style,
175
+ classes: classes,
176
+ color: _color,
177
+ variant: _variant
178
+ }, otherProps));
85
179
  }
86
180
 
87
181
  HiButton.defaultProps = {
182
+ disableElevation: false,
88
183
  variant: 'text',
89
184
  color: 'neutral'
90
185
  };
@@ -1,31 +1,25 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
- exports.default = exports.styles = void 0;
10
+ exports.default = void 0;
9
11
 
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
11
13
 
12
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
13
15
 
14
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
15
-
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
17
-
18
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
19
17
 
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/getPrototypeOf"));
23
-
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/inherits"));
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
25
19
 
26
20
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
27
21
 
28
- var _react = _interopRequireDefault(require("react"));
22
+ var _react = _interopRequireWildcard(require("react"));
29
23
 
30
24
  var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
31
25
 
@@ -39,7 +33,7 @@ var _styles = require("@material-ui/core/styles");
39
33
 
40
34
  var _classnames = _interopRequireDefault(require("classnames"));
41
35
 
42
- var styles = function styles(theme) {
36
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
43
37
  return {
44
38
  summaryContent: {
45
39
  display: 'flex',
@@ -114,105 +108,76 @@ var styles = function styles(theme) {
114
108
  right: 0
115
109
  }
116
110
  };
117
- };
111
+ });
118
112
  /**
119
113
  * HiExpansionPanel
120
114
  */
121
115
 
122
-
123
- exports.styles = styles;
124
-
125
116
  var _ref = _react.default.createElement(_HiIcon.default, {
126
117
  icon: "mdi_menu_up",
127
118
  size: 24
128
119
  });
129
120
 
130
- var HiExpansionPanel =
131
- /*#__PURE__*/
132
- function (_React$PureComponent) {
133
- (0, _inherits2.default)(HiExpansionPanel, _React$PureComponent);
134
-
135
- function HiExpansionPanel(props) {
136
- var _this;
137
-
138
- (0, _classCallCheck2.default)(this, HiExpansionPanel);
139
- _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiExpansionPanel).call(this, props));
140
- _this.state = {
141
- panelDetailsExited: !(props.collapseDisable || props.expanded)
142
- };
143
- return _this;
144
- }
145
-
146
- (0, _createClass2.default)(HiExpansionPanel, [{
147
- key: "render",
148
- value: function render() {
149
- var _this2 = this;
150
-
151
- var _this$props = this.props,
152
- disabled = _this$props.disabled,
153
- heading = _this$props.heading,
154
- secondaryHeading = _this$props.secondaryHeading,
155
- secondaryHeadingDisabled = _this$props.secondaryHeadingDisabled,
156
- secondaryHeadingIcon = _this$props.secondaryHeadingIcon,
157
- collapseDisable = _this$props.collapseDisable,
158
- children = _this$props.children,
159
- classes = _this$props.classes,
160
- expanded = _this$props.expanded,
161
- props = (0, _objectWithoutProperties2.default)(_this$props, ["disabled", "heading", "secondaryHeading", "secondaryHeadingDisabled", "secondaryHeadingIcon", "collapseDisable", "children", "classes", "expanded"]);
162
- var effectiveDisabled = disabled || !children;
163
- return _react.default.createElement(_ExpansionPanel.default, (0, _extends2.default)({
164
- disabled: effectiveDisabled,
165
- classes: {
166
- root: classes.panel,
167
- disabled: classes.disabledPanel
168
- },
169
- expanded: collapseDisable || expanded
170
- }, props, {
171
- TransitionProps: {
172
- onExited: function onExited() {
173
- _this2.setState({
174
- panelDetailsExited: true
175
- });
176
- },
177
- onEnter: function onEnter() {
178
- _this2.setState({
179
- panelDetailsExited: false
180
- });
181
- }
182
- }
183
- }), _react.default.createElement(_ExpansionPanelSummary.default, {
184
- classes: {
185
- root: classes.summaryRoot,
186
- content: classes.summaryContent,
187
- expanded: classes.expanded,
188
- expandIcon: classes.expandIcon
189
- },
190
- className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.collapseDisable, collapseDisable)),
191
- expandIcon: !collapseDisable && _ref
192
- }, _react.default.createElement("div", {
193
- className: classes.heading
194
- }, heading), _react.default.createElement("div", {
195
- className: classes.secondaryHeading
196
- }, _react.default.createElement("span", {
197
- className: classes.secondaryHeadingSpan
198
- }, !effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled), secondaryHeadingIcon)), !!children && _react.default.createElement(_ExpansionPanelDetails.default, {
199
- className: (0, _classnames.default)(classes.panelDetails, (0, _defineProperty2.default)({}, classes.panelDetailsExited, this.state.panelDetailsExited))
200
- }, children));
121
+ function HiExpansionPanel(props) {
122
+ var disabled = props.disabled,
123
+ heading = props.heading,
124
+ secondaryHeading = props.secondaryHeading,
125
+ secondaryHeadingDisabled = props.secondaryHeadingDisabled,
126
+ secondaryHeadingIcon = props.secondaryHeadingIcon,
127
+ collapseDisable = props.collapseDisable,
128
+ children = props.children,
129
+ expanded = props.expanded,
130
+ TransitionProps = props.TransitionProps,
131
+ others = (0, _objectWithoutProperties2.default)(props, ["disabled", "heading", "secondaryHeading", "secondaryHeadingDisabled", "secondaryHeadingIcon", "collapseDisable", "children", "expanded", "TransitionProps"]);
132
+ var classes = useStyles(props);
133
+
134
+ var _useState = (0, _react.useState)(!collapseDisable && !expanded),
135
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
136
+ panelDetailsExited = _useState2[0],
137
+ setPanelDetailsExited = _useState2[1];
138
+
139
+ var effectiveDisabled = disabled || !children;
140
+ return _react.default.createElement(_ExpansionPanel.default, (0, _extends2.default)({
141
+ disabled: effectiveDisabled,
142
+ expanded: collapseDisable || expanded,
143
+ TransitionProps: (0, _objectSpread2.default)({
144
+ onExited: function onExited() {
145
+ return setPanelDetailsExited(true);
146
+ },
147
+ onEnter: function onEnter() {
148
+ return setPanelDetailsExited(false);
149
+ }
150
+ }, TransitionProps)
151
+ }, others, {
152
+ classes: {
153
+ root: classes.panel,
154
+ disabled: classes.disabledPanel
201
155
  }
202
- }]);
203
- return HiExpansionPanel;
204
- }(_react.default.PureComponent);
156
+ }), _react.default.createElement(_ExpansionPanelSummary.default, {
157
+ classes: {
158
+ root: classes.summaryRoot,
159
+ content: classes.summaryContent,
160
+ expanded: classes.expanded,
161
+ expandIcon: classes.expandIcon
162
+ },
163
+ className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.collapseDisable, collapseDisable)),
164
+ expandIcon: !collapseDisable && _ref
165
+ }, _react.default.createElement("div", {
166
+ className: classes.heading
167
+ }, heading), _react.default.createElement("div", {
168
+ className: classes.secondaryHeading
169
+ }, _react.default.createElement("span", {
170
+ className: classes.secondaryHeadingSpan
171
+ }, !effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled), secondaryHeadingIcon)), !!children && _react.default.createElement(_ExpansionPanelDetails.default, {
172
+ className: (0, _classnames.default)(classes.panelDetails, (0, _defineProperty2.default)({}, classes.panelDetailsExited, panelDetailsExited))
173
+ }, children));
174
+ }
205
175
 
206
176
  HiExpansionPanel.defaultProps = {
207
177
  disabled: false,
208
178
  secondaryHeading: '',
209
179
  secondaryHeadingIcon: '',
210
- secondaryHeadingDisabled: 'PAS ENCORE COMPLETE'
180
+ secondaryHeadingDisabled: ''
211
181
  };
212
-
213
- var _default = (0, _styles.withStyles)(styles, {
214
- hiComponent: true,
215
- name: 'HmuiHiExpansionPanel'
216
- })(HiExpansionPanel);
217
-
182
+ var _default = HiExpansionPanel;
218
183
  exports.default = _default;
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.styles = void 0;
9
9
 
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
11
+
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
11
13
 
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
@@ -226,7 +228,10 @@ var styles = function styles(theme) {
226
228
  display: 'block',
227
229
  fontFamily: theme.typography.fontFamily,
228
230
  fontSize: 13,
229
- color: '#FFFFFF'
231
+ color: '#FFFFFF',
232
+ overflow: "hidden",
233
+ whiteSpace: "nowrap",
234
+ textOverflow: "ellipsis"
230
235
  },
231
236
  userNameCard: {
232
237
  position: 'absolute',
@@ -386,7 +391,8 @@ function (_React$Component) {
386
391
  },
387
392
  className: classes.wallet
388
393
  }, _react.default.createElement("div", {
389
- className: (0, _classnames.default)(classes.labelLarge, classes.userNameWallet)
394
+ className: (0, _classnames.default)(classes.labelLarge, classes.userNameWallet),
395
+ title: username
390
396
  }, username), _react.default.createElement("span", {
391
397
  className: (0, _classnames.default)(classes.stripe, classes.stripeBottomLeft)
392
398
  }, imgComponent), _react.default.createElement("span", {
@@ -410,7 +416,8 @@ function (_React$Component) {
410
416
  }, formatNumber), cardNumber && _react.default.createElement("div", {
411
417
  className: (0, _classnames.default)(classes.labelMedium, classes.cardNumberLabel)
412
418
  }, "Card number"), _react.default.createElement("div", {
413
- className: (0, _classnames.default)(classes.labelLarge, classes.userNameCard)
419
+ className: (0, _classnames.default)(classes.labelLarge, classes.userNameCard),
420
+ title: username
414
421
  }, username), _react.default.createElement("div", {
415
422
  className: classes.dateValid
416
423
  }, cardValidity), cardValidity && _react.default.createElement("div", {
@@ -446,9 +453,11 @@ function (_React$Component) {
446
453
  }, cardValidity), cardValidity && _react.default.createElement("div", {
447
454
  className: classes.validThru
448
455
  }, "Valid Thru"), _react.default.createElement("div", {
449
- className: (0, _classnames.default)(classes.labelLarge, classes.userNameCorporate)
456
+ className: (0, _classnames.default)(classes.labelLarge, classes.userNameCorporate),
457
+ title: cardUser
450
458
  }, cardUser), _react.default.createElement("div", {
451
- className: (0, _classnames.default)(classes.labelLarge, classes.businessName)
459
+ className: (0, _classnames.default)(classes.labelLarge, classes.businessName),
460
+ title: businessName
452
461
  }, businessName));
453
462
  break;
454
463
 
@@ -470,7 +479,8 @@ function (_React$Component) {
470
479
  }, "IBAN"), _react.default.createElement("div", {
471
480
  className: (0, _classnames.default)(classes.number, classes.ibanNumber)
472
481
  }, formatNumber), _react.default.createElement("div", {
473
- className: (0, _classnames.default)(classes.labelLarge, classes.userNameSepa)
482
+ className: (0, _classnames.default)(classes.labelLarge, classes.userNameSepa),
483
+ title: username
474
484
  }, username), _react.default.createElement("div", {
475
485
  className: (0, _classnames.default)(classes.labelLarge, classes.labelDebitCredit)
476
486
  }, creditDebit));
@@ -514,7 +524,8 @@ function (_React$Component) {
514
524
  }, cardNumber), cardNumber && _react.default.createElement("div", {
515
525
  className: (0, _classnames.default)(classes.labelMedium, classes.cardNumberLabel)
516
526
  }, "Card number"), _react.default.createElement("div", {
517
- className: (0, _classnames.default)(classes.labelLarge, classes.userNameCard)
527
+ className: (0, _classnames.default)(classes.labelLarge, classes.userNameCard),
528
+ title: username
518
529
  }, username), _react.default.createElement("div", {
519
530
  className: classes.dateValid
520
531
  }, cardValidity), cardValidity && _react.default.createElement("div", {
@@ -537,12 +548,13 @@ function (_React$Component) {
537
548
  return cardNumber;
538
549
  };
539
550
 
540
- _this.formatIBANNumber = function (cardNumber) {
541
- if (cardNumber.search(' ') < 0) {
542
- cardNumber = "".concat(cardNumber.substring(0, 4), " ").concat(cardNumber.substring(4, 8), " ").concat(cardNumber.substring(8, 12), "\n ").concat(cardNumber.substring(12, 16), " ").concat(cardNumber.substring(16, 20), " ").concat(cardNumber.substring(20, 26));
543
- }
551
+ _this.formatIBANNumber = function (iban) {
552
+ // 1) remove spaces
553
+ var res = iban.replace(/\s/g, ''); // 2) add space each 4 chars
544
554
 
545
- return cardNumber;
555
+ return (0, _toConsumableArray2.default)(res).map(function (char, index) {
556
+ return index > 0 && index % 4 === 0 ? ' ' + char : char;
557
+ }).join('');
546
558
  };
547
559
 
548
560
  return _this;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -9,7 +11,9 @@ exports.default = exports.useStyles = void 0;
9
11
 
10
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
11
13
 
12
- var _react = _interopRequireDefault(require("react"));
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
13
17
 
14
18
  var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
15
19
 
@@ -35,12 +39,22 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
35
39
  }
36
40
  }
37
41
  };
42
+ } else if (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(props.color)) {
43
+ return {
44
+ color: props.disabled ? theme.palette.action.disabled : props.color,
45
+ "&:hover": {
46
+ backgroundColor: (0, _colorManipulator.fade)(props.color, theme.palette.action.hoverOpacity),
47
+ "@media (hover: none)": {
48
+ backgroundColor: "transparent"
49
+ }
50
+ }
51
+ };
38
52
  }
39
53
 
40
54
  return null;
41
55
  },
42
56
  contained: function contained(props) {
43
- if (['neutral', 'positive', 'middle', 'negative'].includes(props.color)) {
57
+ if (props.variant === "contained" && ['neutral', 'positive', 'middle', 'negative'].includes(props.color)) {
44
58
  return {
45
59
  color: props.disabled ? theme.palette.neutral.contrastText : theme.palette[props.color].contrastText,
46
60
  backgroundColor: props.disabled ? theme.palette.neutral.main : theme.palette[props.color].main,
@@ -52,18 +66,67 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
52
66
  }
53
67
  }
54
68
  };
55
- }
69
+ } else if (props.variant === "contained" && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(props.color)) {
70
+ return {
71
+ color: props.disabled ? theme.palette.neutral.contrastText : theme.palette.getContrastText(props.color),
72
+ backgroundColor: props.disabled ? theme.palette.neutral.main : props.color,
73
+ "&:hover": {
74
+ backgroundColor: (0, _colorManipulator.darken)(props.color, theme.palette.tonalOffset * 1.5),
75
+ "@media (hover: none)": {
76
+ backgroundColor: props.color
77
+ }
78
+ }
79
+ };
80
+ } else if (props.variant === "containedLight" && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(props.color)) {
81
+ return {
82
+ color: props.disabled ? theme.palette.neutral.contrastText : props.color,
83
+ backgroundColor: (0, _colorManipulator.fade)(props.disabled ? theme.palette.neutral.main : props.color, theme.palette.action.hoverOpacity),
84
+ "&:hover": {
85
+ backgroundColor: (0, _colorManipulator.fade)(props.color, theme.palette.action.hoverOpacity + 0.1),
86
+ "@media (hover: none)": {
87
+ backgroundColor: (0, _colorManipulator.fade)(props.disabled ? theme.palette.neutral.main : props.color, theme.palette.action.hoverOpacity)
88
+ }
89
+ }
90
+ };
91
+ } else if (props.variant === "containedLight" // && is a palette color
92
+ ) {
93
+ return {
94
+ color: props.disabled ? theme.palette.neutral.contrastText : theme.palette[props.color].main,
95
+ backgroundColor: (0, _colorManipulator.fade)(props.disabled ? theme.palette.neutral.main : theme.palette[props.color].main, theme.palette.action.hoverOpacity),
96
+ '&:hover': {
97
+ backgroundColor: (0, _colorManipulator.fade)(theme.palette[props.color].main, theme.palette.action.hoverOpacity + 0.1),
98
+ // Reset on touch devices, it doesn't add specificity
99
+ '@media (hover: none)': {
100
+ backgroundColor: (0, _colorManipulator.fade)(props.disabled ? theme.palette.neutral.main : theme.palette[props.color].main, theme.palette.action.hoverOpacity)
101
+ }
102
+ }
103
+ };
104
+ }
56
105
 
57
106
  return null;
58
107
  },
59
108
  outlined: function outlined(props) {
60
- return ['neutral', 'positive', 'middle', 'negative'].includes(props.color) && {
61
- color: theme.palette[props.color].main,
62
- border: "1px solid ".concat((0, _colorManipulator.fade)(theme.palette[props.color].main, 0.5)),
63
- '&:hover': {
64
- border: "1px solid ".concat(theme.palette[props.color].main)
65
- }
66
- };
109
+ if (['neutral', 'positive', 'middle', 'negative'].includes(props.color)) {
110
+ return {
111
+ color: theme.palette[props.color].main,
112
+ border: "1px solid ".concat((0, _colorManipulator.fade)(theme.palette[props.color].main, 0.5)),
113
+ '&:hover': {
114
+ border: "1px solid ".concat(theme.palette[props.color].main),
115
+ backgroundColor: (0, _colorManipulator.fade)(theme.palette[props.color].main, theme.palette.action.hoverOpacity)
116
+ }
117
+ };
118
+ } else if (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(props.color)) {
119
+ return {
120
+ color: props.color,
121
+ border: "1px solid ".concat((0, _colorManipulator.fade)(props.color, 0.5)),
122
+ "&:hover": {
123
+ border: "1px solid ".concat(props.color),
124
+ backgroundColor: (0, _colorManipulator.fade)(props.color, theme.palette.action.hoverOpacity)
125
+ }
126
+ };
127
+ }
128
+
129
+ return null;
67
130
  }
68
131
  };
69
132
  });
@@ -75,16 +138,48 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
75
138
  exports.useStyles = useStyles;
76
139
 
77
140
  function HiButton(props) {
141
+ var disableElevation = props.disableElevation,
142
+ variant = props.variant,
143
+ color = props.color,
144
+ otherProps = (0, _objectWithoutProperties2.default)(props, ["disableElevation", "variant", "color"]);
78
145
  var classes = useStyles(props);
79
- var color = ['neutral', 'positive', 'middle', 'negative'].includes(props.color) ? 'inherit' : props.color;
146
+ var style = (0, _react.useMemo)(function () {
147
+ var style = {};
148
+
149
+ if (disableElevation) {
150
+ style.boxShadow = "none";
151
+ }
152
+
153
+ return style;
154
+ }, [disableElevation]);
155
+
156
+ var _color = (0, _react.useMemo)(function () {
157
+ if (['neutral', 'positive', 'middle', 'negative'].includes(color) || /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(color) // isHexColor
158
+ ) {
159
+ return "inherit";
160
+ }
161
+
162
+ return color;
163
+ }, [color]);
164
+
165
+ var _variant = (0, _react.useMemo)(function () {
166
+ if (variant === "containedLight") {
167
+ return "contained";
168
+ }
169
+
170
+ return variant;
171
+ }, [variant]);
172
+
80
173
  return _react.default.createElement(_Button.default, (0, _extends2.default)({
81
- classes: classes
82
- }, props, {
83
- color: color
84
- }));
174
+ style: style,
175
+ classes: classes,
176
+ color: _color,
177
+ variant: _variant
178
+ }, otherProps));
85
179
  }
86
180
 
87
181
  HiButton.defaultProps = {
182
+ disableElevation: false,
88
183
  variant: 'text',
89
184
  color: 'neutral'
90
185
  };